﻿@charset "UTF-8";
@import url("../../../../../css2");

* {
  margin: 0;
  padding: 0;
  outline: none;
}

html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
em,
img,
strong,
sub,
sup,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
table,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 100%;
}

header,
nav,
section,
article,
aside,
footer {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
  font-family: "Montserrat", sans-serif;
  color: #000;
  font-weight: normal;
  font-style: normal;
  background: #FFF;
  font-size: 16px;
  line-height: 1.5;
}

body *,
body *:before,
body *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  border: none;
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  margin: 0;
  padding: 0;
}

.clear {
  clear: both;
  height: 0;
  overflow: hidden;
  font-size: 0;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.container {
  width: 100%;
  max-width: 1520px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media screen and (max-width: 1699.98px) {
  .container {
    max-width: 1300px;
  }
}

@media screen and (max-width: 1339.98px) {
  .container {
    max-width: 1170px;
  }
}

@media screen and (max-width: 1199.98px) {
  .container {
    max-width: 960px;
  }
}

@media screen and (max-width: 1023.98px) {
  .container {
    max-width: 720px;
  }
}

@media screen and (max-width: 767.98px) {
  .container {
    max-width: 100%;
    padding: 0 16px;
  }

  body .promo__item {
    /*height: 800px;*/
    height: auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    justify-content: start;
    /*padding: 0 20px;*/
    padding: 0;
  }

  .promo__item-description {
    padding: 0 16px;
  }
}

@media screen and (max-width: 360px) {
  .container {
    padding: 0 15px;
  }
}

.wrapper {
  min-height: 100%;
  width: 100%;
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
}

.content__wrapper {
  flex: 1 0 auto;
}

@media (max-width: 1699.98px) {
  .hide-desktop-lg {
    display: none !important;
  }
}

@media (max-width: 1199.98px) {
  .hide-desktop {
    display: none !important;
  }
}

@media (max-width: 1023.98px) {
  .hide-tablet {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  .hide-tablet-sm {
    display: none !important;
  }
}

@media (max-width: 609.98px) {
  .hide-mobile-lg {
    display: none !important;
  }
}

@media (max-width: 478.98px) {
  .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .show-desktop {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .show-tablet {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .show-tablet-sm {
    display: none !important;
  }
}

@media (min-width: 610px) {
  .show-mobile-lg {
    display: none !important;
  }
}

@media (min-width: 479px) {
  .show-mobile {
    display: none !important;
  }
}

.content__text {
  font-size: 16px;
  line-height: 1.4;
  color: #404040;
}

.content__text>* {
  margin-bottom: 20px;
}

.content__text a {
  text-decoration: underline;
  cursor: pointer;
}

.content__text a:hover {
  text-decoration: none;
}

.content__text a.orange_btn {
  text-decoration: none;
}

.content__text h1,
.content__text h2,
.content__text h3,
.content__text h4,
.content__text h5,
.content__text h6 {
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  color: #171717;
}

.content__text h1 {
  font-size: 56px;
}

.content__text h2 {
  font-size: 48px;
  margin-top: 36px;
}

.content__text h3 {
  font-size: 40px;
  margin-top: 36px;
}

.content__text h4 {
  font-size: 30px;
  margin-top: 36px;
}

.content__text h5 {
  font-size: 24px;
  margin-top: 36px;
}

.content__text ul {
  padding-left: 26px;
}

.content__text ol {
  list-style-type: none;
  counter-reset: num;
}

.content__text li {
  position: relative;
  margin-top: 20px;
}

.content__text ul li:before {
  position: absolute;
  top: 0px;
  right: 100%;
  margin-right: 11px;
  color: #000;
  font-size: 16px;
  content: "•";
}

.content__text ol li:before {
  content: counter(num) ".";
  counter-increment: num;
  display: inline-block;
  margin-right: 8px;
}

.content__text img {
  margin: 40px 0;
}

.content__text table {
  border-collapse: collapse;
}

.content__text table td {
  border: 1px solid #000;
  padding: 6px;
}

@media (max-width: 1699.98px) {
  .content__text {
    font-size: 18px;
  }

  .content__text>* {
    margin-bottom: 15px;
  }

  .content__text h1 {
    font-size: 48px;
  }

  .content__text h2 {
    font-size: 40px;
  }

  .content__text h3 {
    font-size: 34px;
  }

  .content__text h4 {
    font-size: 28px;
  }

  .content__text h5 {
    font-size: 20px;
  }
}

@media (max-width: 1023.98px) {
  .content__text h1 {
    font-size: 40px;
  }

  .content__text h2 {
    font-size: 36px;
  }

  .content__text h3 {
    font-size: 30px;
  }

  .content__text h4 {
    font-size: 26px;
  }

  .content__text h5 {
    font-size: 18px;
  }
}

@media (max-width: 767.98px) {
  .content__text>* {
    margin-bottom: 15px;
  }

  .content__text h1 {
    font-size: 36px;
  }

  .content__text h2 {
    font-size: 30px;
  }

  .content__text h3 {
    font-size: 30px;
  }

  .content__text h4 {
    font-size: 24px;
  }

  .content__text h5 {
    font-size: 18px;
  }

  .content__text img {
    margin: 30px 0;
  }

  .content__text li {
    position: relative;
    margin-top: 15px;
  }
}

@media (max-width: 360px) {
  .content__text {
    font-size: 16px;
  }
}

.noscroll {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.phead {
  margin-bottom: 100px;
}

.phead+* {
  margin-top: 0 !important;
}

.phead__title {
  font-size: 56px;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
}

.phead__desc {
  max-width: 720px;
  margin-top: 50px;
  font-size: 18px;
  color: #404040;
  line-height: 1.5555555556;
}

.phead__btn {
  flex-shrink: 0;
  margin-top: 50px;
}

.service-intro {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: space-between;
}

@media (max-width: 1699.98px) {
  .phead+.blogd {
    margin-top: -40px !important;
  }

  .phead__title {
    font-size: 48px;
  }
}

@media (max-width: 1199.98px) {
  .phead__btn {
    margin-top: 0;
  }
}

@media (max-width: 1023.98px) {
  .phead__title {
    font-size: 40px;
  }

  .phead__desc {
    margin-top: 32px;
  }
}

@media (max-width: 767.98px) {
  .phead {
    margin-bottom: 80px;
    margin-bottom: 60px;
  }

  .phead+.blogd {
    margin-top: -50px;
  }

  .phead__title {
    font-size: 36px;
    line-height: 1.1111111111;
  }

  .phead__desc {
    font-size: 16px;
    line-height: 1.5;
  }
}

@media (max-width: 360px) {
  .phead__title {
    font-size: 32px;
  }
}

.section__head {
  margin-bottom: 80px;
  text-align: center;
}

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

.section__title {
  font-size: 56px;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
}

.section__title--md {
  font-size: 40px;
  line-height: 1.2;
}

.section__desc {
  color: #404040;
  font-size: 18px;
  line-height: 1.5555555556;
  margin-top: 40px;
}

.section__buttons {
  display: flex;
  justify-content: center;
  margin-top: 64px;
  padding-bottom: 25px;
}

.section__mg {
  margin: 160px 0;
}

.section__mg--md {
  margin: 120px 0;
}

.section__mgb {
  margin-bottom: 160px;
}

.section__mgb--md {
  margin-bottom: 120px;
}

.section__pd {
  padding: 100px 0;
}

.section__pdt {
  padding-top: 70px;
}

@media (max-width: 1699.98px) {
  .section__head {
    margin-bottom: 60px;
  }

  .section__title {
    font-size: 48px;
  }

  .section__title--md {
    font-size: 40px;
  }

  .section__buttons {
    margin-top: 45px;
  }

  .section__mg {
    margin: 120px 0;
  }

  .section__mg--md {
    margin-bottom: 100px;
  }

  .section__pd {
    padding: 60px 0;
  }
}

@media (max-width: 1023.98px) {
  .section__head {
    margin-bottom: 50px;
  }

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

  .section__title {
    font-size: 40px;
  }

  .section__title--md {
    font-size: 32px;
  }

  .section__mg {
    margin: 100px 0;
  }

  .section__mg--md {
    margin-bottom: 80px;
  }
}

@media (max-width: 767.98px) {
  .section__head {
    margin-bottom: 40px;
  }

  .section__title {
    font-size: 36px;
    line-height: 1.1111111111;
  }

  .section__title--md {
    font-size: 24px;
    line-height: 1.3333333333;
  }

  .section__desc {
    margin-top: 32px;
    font-size: 16px;
    line-height: 1.5;
  }

  .section__buttons {
    margin-top: 40px;
  }

  .section__pd {
    padding: 40px 0;
  }
}

@media (max-width: 360px) {
  .section__title {
    font-size: 32px;
  }

  .section__title--md {
    font-size: 22px;
  }
}

.title {
  font-size: 56px;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
}

.title--md {
  font-family: "Cormorant Garamond", serif;
  color: #171717;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 600;
}

.title--sm {
  font-family: "Cormorant Garamond", serif;
  color: #171717;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 600;
}

.title--sm a {
  color: #171717;
  transition: all 0.3s ease-in-out;
}

.title--sm a:hover {
  color: #8E6A20;
}

@media (max-width: 1699.98px) {
  .title {
    font-size: 48px;
  }
}

@media (max-width: 1199.98px) {
  .title {
    font-size: 40px;
  }
}

@media (max-width: 1023.98px) {
  .title--md {
    font-size: 30px;
  }

  .title--sm {
    font-size: 26px;
  }
}

@media (max-width: 767.98px) {
  .title {
    font-size: 36px;
    line-height: 1.1111111111;
  }

  .title--md {
    font-size: 24px;
    line-height: 120%;
  }

  .title--sm {
    font-size: 24px;
    line-height: 120%;
  }
}

@media (max-width: 360px) {
  .title {
    font-size: 32px;
  }

  .title--sm {
    font-size: 22px;
  }
}

.text {
  font-size: 20px;
  line-height: 1.4;
  color: #404040;
}

.text--md {
  font-size: 24px;
  line-height: 1.3333333333;
  color: #404040;
}

.text--sm {
  color: #404040;
  font-size: 18px;
  line-height: 1.5555555556;
}

@media (max-width: 1699.98px) {
  .text {
    font-size: 18px;
  }

  .text--md {
    font-size: 22px;
    line-height: 1.3333333333;
  }
}

@media (max-width: 1199.98px) {
  .text--md {
    font-size: 20px;
  }
}

@media (max-width: 767.98px) {
  .text--md {
    font-size: 18px;
  }

  .text--sm {
    font-size: 14px;
    line-height: 1.4;
  }
}

@media (max-width: 360px) {
  .text {
    font-size: 16px;
  }

  .text--md {
    font-size: 16px;
  }
}

.mb {
  margin-bottom: 24px;
}

.link {
  position: relative;
  transition: all 0.3s ease-in-out;
  display: inline-flex;
  align-items: center;
}

.link .icon {
  width: 20px;
  height: 20px;
  margin-left: 8px;
}

.link:hover .icon {
  transform: translateX(4px);
}

.link__bd {
  display: inline-block;
  position: relative;
  color: #171717;
  font-size: 16px;
  line-height: 1.5;
  transition: all 0.3s ease-in-out;
}

.link__bd:after {
  position: absolute;
  bottom: -22px;
  right: 0;
  width: 100%;
  height: 1px;
  background: #8E6A20;
  content: "";
  transition: all 0.3s ease-in-out;
}

.link__bd:hover {
  color: #8E6A20;
}

.link__bd:hover:after {
  width: 0;
}

@media (max-width: 1699.98px) {
  .link__bd:after {
    bottom: -15px;
  }
}

.parallax-img {
  transition: all 0.2s cubic-bezier(0, 0, 0, 1);
  height: 110% !important;
}

.list li {
  position: relative;
  padding-left: 25px;
}

.list li+li {
  margin-top: 25px;
}

.list li:before {
  position: absolute;
  left: 9px;
  top: 0px;
  content: "•";
}

@media (max-width: 767.98px) {
  .list li+li {
    margin-top: 20px;
  }
}

.icon {
  stroke: currentColor;
  fill: none;
  color: inherit;
  font-size: inherit;
  transition: all 0.3s ease-in-out;
  flex: 0 0 auto;
}

.icon--fill {
  fill: currentColor;
  stroke: initial;
}

.icon path {
  stroke: currentColor;
  color: inherit;
  font-size: inherit;
  transition: all 0.3s ease-in-out;
}

.social {
  display: flex;
  align-items: center;
  gap: 16px;
}

.social a {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #737373;
  transition: all 0.3s ease-in-out;
}

.social a:hover {
  color: #8E6A20;
}

.social .icon {
  width: 24px;
  height: 24px;
}

.rating {
  margin: 0 auto;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 0 -2px;
}

.rating span {
  position: relative;
  top: -1px;
  width: 19px;
  height: 18px;
  margin: 0 2px;
  background: url(../images/icons/star.svg) no-repeat;
  background-size: cover !important;
}

.rating span.active {
  background: url(../images/icons/star-active.svg) no-repeat;
}

.link__more {
  margin: 10px auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #8E6A20;
  font-size: 16px;
  line-height: 1.5;
}

.link__more .close_t {
  display: none;
}

.link__more.opened .open_t {
  display: none;
}

.link__more.opened .close_t {
  display: block;
}

.link__more .icon {
  width: 24px;
  height: 24px;
  margin-top: 4px;
}

.link__more.opened .icon {
  transform: rotate(180deg);
}

@media (max-width: 767.98px) {
  .link__more.opened {
    display: none;
  }
}

.content__toggle>* {
  display: none;
}

.content__toggle> :nth-child(1),
.content__toggle> :nth-child(2),
.content__toggle> :nth-child(3) {
  display: block;
}

.content__toggle.opened>* {
  display: block !important;
}

.content__toggle--mobile>* {
  display: block;
}

@media (max-width: 767.98px) {
  .content__toggle>* {
    display: none !important;
  }

  .content__toggle> :nth-child(1) {
    display: block !important;
  }
}

/**************************************************************
swiper
**************************************************************/
.swiper-slide {
  height: auto;
}

.swiper-fraction {
  font-family: "Cormorant Garamond", serif;
}

.swiper-pagination {
  position: static;
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.swiper-pagination-bullet {
  margin: 0 4px !important;
  width: 12px;
  height: 12px;
  border: 1px solid #525252;
  background: none;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: #8E6A20;
  border-color: #8E6A20;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-button {
  flex: 0 0 auto;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: black;
  background: #fff;
  border-radius: 100%;
  transition: all 0.3s ease-in-out;
  transform: translateY(-50%);
}

.swiper-button:after {
  display: none;
}

.swiper-button .icon {
  width: 50%;
  height: 50%;
}

.swiper-button:hover {
  color: #8E6A20;
}

.swiper-button-next {
  padding-left: 2px;
  right: 0;
}

.swiper-button-prev {
  padding-right: 2px;
  left: 0;
}

.swiper-scrollbar {
  background: none;
}

@media (max-width: 1699.98px) {
  .swiper-button {
    width: 60px;
    height: 60px;
  }
}

@media (max-width: 1023.98px) {
  .swiper-button {
    width: 56px;
    height: 56px;
  }

  .swiper-pagination {
    margin-top: 32px;
  }
}

@media (max-width: 609.98px) {
  .swiper-button {
    width: 48px;
    height: 48px;
  }
}

/**************************************************************
forms
**************************************************************/
.input::-webkit-input-placeholder {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input::-o-input-placeholder {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input::-moz-input-placeholder {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input:-moz-input-placeholder {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input::-ms-input-placeholder {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input input-placeholder {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input::placeholder {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input:placeholder-shown {
  color: rgb(115, 115, 115);
  opacity: 1;
}

.input:focus::-webkit-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-o-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-moz-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus:-moz-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus::-ms-input-placeholder {
  color: transparent;
  opacity: 0;
}

.input:focus:input-placeholder {
  color: transparent;
  opacity: 0;
}

input[placeholder] {
  text-overflow: ellipsis;
}

input::-moz-placeholder {
  text-overflow: ellipsis;
}

input:-moz-placeholder {
  text-overflow: ellipsis;
}

input:-ms-input-placeholder {
  text-overflow: ellipsis;
}

.btn,
input[type=submit] {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

input,
button {
  -webkit-appearance: none;
}

.form__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0 40px;
}

.form__labin {
  margin-bottom: 20px;
  font-weight: 600;
}

.form__input {
  margin-bottom: 40px;
}

.form__title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
}

.form__label {
  min-height: 20px;
}

.form__polit {
  display: flex;
  text-align: left;
  color: #737373;
  margin-top: -8px;
  gap: 12px;
}

.form__polit a {
  color: #171717;
  text-decoration: none;
}

.form__polit a:hover {
  text-decoration: underline;
}

.form__btn {
  display: flex;
  align-items: center;
  gap: 45px;
}

.form__submit {
  margin-top: 64px;
}

.form__label {
  cursor: pointer;
}

@media (max-width: 1339.98px) {
  .form__cols {
    grid-gap: 0 25px;
  }

  .form__input {
    margin-bottom: 24px;
  }

  .form__btn {
    gap: 25px;
  }

  .form__polit {
    margin-top: 0;
  }
}

@media (max-width: 1199.98px) {
  .form__cols {
    grid-gap: 0 20px;
  }

  .form__polit {
    margin-top: 0;
    font-size: 12px;
    line-height: 1.1;
  }

  .form__submit {
    margin-top: 32px;
  }
}

@media (max-width: 767.98px) {
  .form__cols {
    grid-template-columns: 1fr;
  }

  .form__btn {
    width: 100%;
    align-items: initial;
    gap: 24px;
    flex-direction: column;
  }

  .form__btn .form__polit {
    order: -1;
  }
}

.label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  grid-gap: 12px;
  cursor: pointer;
}

.input {
  width: 100%;
  height: 45px;
  line-height: 45px;
  padding: 0 0 12px;
  border: none;
  border-bottom: 1px solid #E5E5E5;
  background: none;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  font-size: 24px;
  color: #171717;
  transition: all 0.2s ease-in-out;
  outline: none;
}

.input:hover {
  border-color: #171717;
}

.input:focus:not(:read-only) {
  border-color: #171717;
}

.input.error {
  border-color: #D60000;
  color: #D60000;
}

.input.error::-webkit-input-placeholder {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

.input.error::-o-input-placeholder {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

.input.error::-moz-input-placeholder {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

.input.error:-moz-input-placeholder {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

.input.error::-ms-input-placeholder {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

.input.error input-placeholder {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

.input.error::placeholder {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

.input.error:placeholder-shown {
  color: rgba(214, 0, 0, 0.7);
  opacity: 1;
}

@media (max-width: 1199.98px) {
  .input {
    font-size: 20px;
  }
}

textarea.input {
  line-height: normal;
  padding: 15px 24px;
  resize: none;
  height: 140px;
}

textarea.h--md {
  height: 100px;
}

.btn {
  display: inline-block;
  position: relative;
  font-family: "Montserrat", sans-serif;
  color: #171717;
  font-size: 16px;
  line-height: 1.5;
  padding-bottom: 22px;
  background: none;
  border: none;
  transition: all 0.3s ease-in-out;
  outline: none;
  cursor: pointer;
}

.btn:after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background: #8E6A20;
  content: "";
  transition: all 0.3s ease-in-out;
}

.btn:hover {
  color: #8E6A20;
}

.btn:hover:after {
  width: 0;
}

.jq-checkbox {
  border: 1px solid #E5E5E5;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.jq-checkbox:hover,
.form__label:hover .jq-checkbox,
.label:hover .jq-checkbox {
  border-color: #8E6A20;
}

.jq-checkbox.checked {
  background: url(../images/icons/check.svg) no-repeat center center;
  background-color: #8E6A20;
  border-color: #8E6A20 !important;
}

/**************************************************************
header
**************************************************************/
.header {
  position: relative;
  z-index: 99;
}

.load .header {
  animation: fadeInDownBig 1s cubic-bezier(0.35, 0, 0, 1.01);
  animation-delay: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.header__inner {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 9px;
  padding-bottom: 9px;
}

.header__logo {
  /*height: 100%;*/
  max-height: 100%;
  display: flex;
}

.header__logo img {
  max-height: 100%;
  height: auto;
  max-width: 100px;
}

.header__menu-bg {
  position: fixed;
  bottom: 0;
  left: 0;
  height: calc(100vh - 100px);
  width: 100%;
  background: rgba(23, 23, 23, 0.5);
  content: "";
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}

.header__menu-bg.active {
  opacity: 1;
  visibility: visible;
}

.header__menu ul {
  display: flex;
  align-items: center;
}

.header__menu li {
  margin: 0 16px;
  position: relative;
}

.header__menu-link {
  height: 20px;
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #171717;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}

.header__menu-link:hover {
  color: #8E6A20;
}

.header__menu-link:after,
.header__menu-link:before {
  position: absolute;
  bottom: -12px;
  width: 0;
  border-bottom: 1px solid #8E6A20;
  max-width: 41px;
  content: "";
  left: 50%;
  transition: all 0.3s ease-in-out;
}

.header__menu-link:before {
  left: auto;
  right: 50%;
}

.header__menu-link:hover:before,
.header__menu-link:hover:after {
  width: 45%;
}

.header__menu-opendrop {
  display: none;
}

.header__menu-drop {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding-top: 40px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}

.header__menu-drop__head {
  display: none;
}

.header__menu-drop ul {
  position: absolute;
  left: 50%;
  top: 40px;
  transform: translateX(-50%);
  z-index: 1;
  flex-direction: column;
  align-items: center;
  padding: 4px 0px;
  background: #FFF;
  border: 1px solid #E7E5E4;
}

.header__menu-drop li {
  text-align: center;
  /*padding: 0 !important;*/
  padding: 16px 0;
  white-space: nowrap;
  margin: 0;
}

.header__menu-drop li+li {
  /*margin-top: 32px;*/
}

.header__menu-drop li a {
  justify-content: center;
  padding: 0 40px;
}

.header__menu-drop li a:after,
.header__menu-drop li a:before {
  display: none;
}

li:hover>.header__menu-drop {
  opacity: 1;
  visibility: visible;
}

/*Меню 3-го уровня*/
.header__menu-drop .header__menu-drop {
  position: absolute;
  top: -5px;
  left: 100%;
  width: auto;
  padding-top: 0;
}

.header__menu-drop .header__menu-drop ul {
  position: static;
  transform: none;
  align-items: start;
  padding-top: 12px;
  padding-bottom: 12px;
  border-left: 0;
}

.header__menu-drop .header__menu-drop ul li {
  padding: 0;
}

.header__menu-drop .header__menu-drop ul .header__menu-link {
  height: auto;
  font-size: 14px;
  font-weight: 400;
  line-height: 36.4px;
  text-align: left;
  text-transform: none;
  background: url('../images/menu-arrow.svg') no-repeat left 20px center / 7px auto;
  padding-left: 44px;
}

.header__contacts {
  display: flex;
  align-items: center;
}

.header__phones {
  display: flex;
}

.header__phone {
  white-space: nowrap;
  color: #171717;
  font-size: 20px;
  font-weight: 600;
}

.header__phone+.header__phone {
  margin-left: 40px;
}

.header__social {
  margin-left: 24px;
}

.header__burger {
  display: none;
}

@media (max-width: 1699.98px) {
  .header__menu li {
    margin: 0 12px;
  }

  .header__menu-link {
    height: 20px;
    font-size: 14px;
  }

  .header__menu-link:after,
  .header__menu-link:before {
    bottom: -10px;
  }

  .header__menu-drop li+li {
    /*margin-top: 25px;*/
  }

  .header__phone {
    font-size: 18px;
  }

  .header__phone+.header__phone {
    margin-left: 20px;
  }

  .header__social {
    margin-left: 20px;
  }
}

@media (max-width: 1339.98px) {
  .header__phones {
    flex-direction: column;
    align-items: flex-end;
  }

  .header__phone {
    font-size: 16px;
  }

  .header__phone+.header__phone {
    margin: 3px 0 0 0;
  }
}

@media (max-width: 1199.98px) {
  .header__contacts {
    margin-left: auto;
  }

  .header__phones {
    flex-direction: row;
    align-items: center;
  }

  .header__phone+.header__phone {
    margin: 0 0 0 16px;
  }

  .header__burger {
    display: block;
    flex-shrink: 0;
    margin-left: 28px;
    width: 32px;
    height: 32px;
    position: relative;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
  }

  .header__burger img,
  .header__burger svg {
    transition: all 0.3s ease-in-out;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .header__burger .icon-close {
    opacity: 0;
    visibility: hidden;
  }

  .header__burger.active .icon-close {
    opacity: 1;
    visibility: visible;
  }

  .header__burger.active .icon-open {
    opacity: 0;
    visibility: hidden;
  }

  .header__menu ul {
    display: block;
  }

  .header__menu li {
    position: static;
    margin: 0 0 32px;
  }

  .header__menu-link {
    color: #171717;
    font-size: 16px;
    line-height: 1.25;
    text-transform: uppercase;
  }

  .header__menu-link::before,
  .header__menu-link::after {
    display: none;
  }

  .header__menu-linkdrop {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
  }

  .header__menu-linkdrop::after {
    display: block !important;
    position: static !important;
    width: 20px !important;
    height: 20px !important;
    background: url(../images/icons/menu-linkdrop.svg) no-repeat center center;
    border: none !important;
    content: "";
  }

  .header__menu-pos {
    position: relative;
  }

  .header__menu-opendrop {
    display: block;
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none;
    border: none;
    outline: none;
  }

  .header__menu-drop {
    max-height: calc(100vh - 80px);
    overflow: hidden;
    z-index: 99;
    opacity: 0 !important;
    visibility: hidden !important;
    top: 0;
    left: 0;
    min-height: 100%;
    width: 100%;
    padding: 0 40px;
    background: #fff;
    display: flex;
    flex-direction: column;
  }

  .header__menu-drop.opened {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .header__menu-drop::before {
    display: none;
  }

  .header__menu-drop__head {
    display: block;
    margin-bottom: 40px;
  }

  .header__menu-drop ul {
    position: static;
    padding: 0;
    border: none;
    transform: translateX(0);
  }

  .header__menu-drop li a {
    justify-content: flex-start;
  }

  .header__menu-linkarr {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #8E6A20;
    font-size: 16px;
    line-height: 1.25;
    text-transform: none !important;
  }

  .header__menu-linkarr:after {
    width: 20px;
    height: 20px;
    background: url(../images/icons/menu-link-arr.svg) no-repeat center;
    transform: rotate(180deg);
    content: "";
  }

  .header__menu-prev {
    margin-bottom: 8px;
  }

  .header__menu-prev::after {
    transform: rotate(0);
    order: -1;
  }

  .header__menu-title {
    color: black;
    font-size: 36px;
    line-height: 1.1111111111;
    font-family: "Cormorant Garamond", serif;
  }

  .header__menu-drop .header__menu-drop {
    display: none !important;
  }

  .opened .header__menu-opendrop {
    display: none !important;
  }

}

@media (max-width: 1023.98px) {
  .header:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    border-bottom: 1px solid #F5F5F5;
    content: "";
  }

  .header__inner {
    height: 80px;
  }
}

.navfix {
  display: none;
  position: fixed;
  top: 100px;
  left: 0;
  width: 100%;
  height: calc(100vh - 100px);
  background: #fff;
  z-index: 999;
  padding: 40px 0 0;
  margin: 0;
  overflow: auto;
}

.navfix__title {
  font-size: 36px;
  line-height: 1.1111111111;
  font-family: "Cormorant Garamond", serif;
  color: black;
  margin-bottom: 40px;
}

.navfix__contacts {
  margin-top: 40px;
  font-size: 14px;
  color: #737373;
}

.navfix__contacts-row {
  display: flex;
  align-items: center;
  gap: 24px;
}

.navfix__contacts-row+.navfix__contacts-row {
  margin-top: 16px;
}

.navfix__phone {
  font-size: 20px;
  color: #171717;
  font-weight: 600;
  line-height: 1.4;
}

@media (max-width: 1023.98px) {
  .navfix {
    top: 80px;
    height: calc(100vh - 80px);
  }
}

/**************************************************************
footer
**************************************************************/
.footer {
  background: #000;
}

.footer__top {
  padding: 56px 0 64px;
  display: flex;
  justify-content: space-between;
  gap: 50px;
}

.footer__menu {
  max-width: 920px;
  flex: 1 0 0;
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

.footer__menu-title {
  font-family: "Cormorant Garamond", serif;
  color: #A3A3A3;
  font-size: 24px;
  line-height: 1.3333333333;
  margin-bottom: 24px;
}

.footer__menu li {
  margin-bottom: 17px;
}

.footer__menu li:last-child {
  margin-bottom: 0;
}

.footer__menu li a {
  color: #D4D4D4;
  font-size: 18px;
  line-height: 1.5555555556;
  transition: all 0.3s ease-in-out;
}

.footer__menu li a:hover {
  color: #fff;
}

.footer__menu-link {
  display: inline-block;
  margin-top: 25px;
  font-family: "Cormorant Garamond", serif;
  color: #FFFFFF;
  font-size: 24px;
  line-height: 1.3333333333;
  transition: all 0.3s ease-in-out;
}

.footer__menu-link:hover {
  text-decoration: underline;
}

.footer__contacts {
  text-align: right;
}

.footer__contacts-row {
  margin-bottom: 24px;
}

.footer__phone {
  color: #fff;
  font-size: 24px;
  line-height: 1.3333333333;
}

.footer__social {
  margin-top: 32px;
  justify-content: flex-end;
}

.footer__social a {
  width: 48px;
  height: 48px;
  color: #E5E5E5 !important;
  border: 1px solid #525252;
  border-radius: 100%;
  transition: all 0.3s ease-in-out;
}

.footer__social a:hover {
  background: #525252;
}

.footer__bottom {
  padding: 24px 0 32px;
  border-top: 1px solid #404040;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  grid-gap: 30px;
  font-size: 14px;
  color: #737373;
}

.footer__bottom a {
  color: #737373;
  transition: all 0.3s ease-in-out;
}

.footer__bottom a:hover {
  color: #fff;
}

.footer__policy {
  margin: 0 auto;
}

@media (max-width: 1699.98px) {
  .footer__top {
    padding: 50px 0 56px;
    gap: 50px;
  }

  .footer__logo {
    max-width: 120px;
    display: block;
  }

  .footer__menu {
    max-width: 750px;
  }

  .footer__menu-title {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .footer__menu li {
    margin-bottom: 15px;
  }

  .footer__menu li a {
    font-size: 16px;
  }

  .footer__menu-link {
    margin-top: 20px;
    font-size: 20px;
  }

  .footer__contacts-row {
    margin-bottom: 20px;
  }

  .footer__phone {
    font-size: 20px;
  }

  .footer__social {
    margin-top: 30px;
  }

  .footer__social a {
    width: 40px;
    height: 40px;
  }

  .footer__social .icon {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 1199.98px) {
  .footer__top {
    flex-wrap: wrap;
  }

  .footer__menu {
    order: 2;
    width: 100%;
    flex: 0 0 auto;
    max-width: 100%;
  }

  .footer__bottom {
    grid-template-columns: 1fr;
    grid-gap: 24px;
  }
}

@media (max-width: 767.98px) {
  .footer__menu {
    flex-wrap: wrap;
  }

  .footer__menu-col {
    width: calc((100% - 30px) / 2);
  }
}

@media (max-width: 478.98px) {
  .footer__top {
    padding: 40px 0 24px;
    gap: 40px;
    flex-direction: column;
  }

  .footer__logo {
    max-width: 75px;
  }

  .footer__menu {
    order: initial;
    gap: 40px;
  }

  .footer__menu-col {
    width: 100%;
  }

  .footer__menu-link {
    margin-top: 32px;
    display: block;
    text-decoration: none !important;
  }

  .footer__contacts {
    text-align: left;
  }

  .footer__contacts-row {
    margin-bottom: 16px;
  }

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

  .footer__bottom {
    padding-bottom: 24px;
  }
}

/**************************************************************
.promo
**************************************************************/
.promo {
  margin-bottom: 130px;
}

.promo+* {
  margin-top: 0;
}

.load .promo__slider {
  animation: fadeIn 1s cubic-bezier(0.35, 0, 0, 1.01);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0.5s;
}

.promo__slider-nav {
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #171717;
  font-size: 48px;
}

.load .promo__slider-nav {
  animation: fadeIn 1s cubic-bezier(0.35, 0, 0, 1.01);
  animation-delay: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.promo__slider .swiper-button {
  position: static;
  background: none;
  border: 1px solid #000;
  transform: inherit;
}

.promo__slider .swiper-button:hover {
  background: #fff;
  border-color: #fff;
}

.promo__item {
  height: 700px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  padding: 80px;
}

.promo__item-title {
  font-size: 56px;
  line-height: 1.1;
  font-family: "Cormorant Garamond", serif;
}

.load .promo__item-title {
  animation: fadeInUp 1s cubic-bezier(0.35, 0, 0, 1.01);
  animation-delay: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.promo__item-link {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  color: #000000;
  font-size: 20px;
  line-height: 1.4;
  font-family: "Cormorant Garamond", serif;
  text-align: center;
}

.load .promo__item-link {
  animation: fadeInUp 1s cubic-bezier(0.35, 0, 0, 1.01);
  animation-delay: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.promo__item-link img {
  margin-top: 10px;
  transition: all 0.3s ease-in-out;
  position: relative;
  top: 0;
}

.promo__item-link:hover img {
  top: -5px;
}

.promo__item-img {
  width: 100%;
  height: auto;
  display: none;
  margin-bottom: 18px;
}

@media (max-width: 1699.98px) {
  .promo {
    margin-bottom: 100px;
  }

  .promo__slider-nav {
    bottom: 30px;
    right: 30px;
    font-size: 34px;
  }

  .promo__item {
    height: 550px;
    padding: 40px;
  }

  .promo__item-title {
    font-size: 43px;
  }

  .promo__item-link {
    bottom: 50px;
    font-size: 18px;
  }

  .promo__item-link img {
    max-width: 25px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {}

@media (max-width: 1023.98px) {

  .promo__item {
    height: 550px;
    padding: 20px 20px 240px;
  }

  .promo__item-title {
    font-size: 44px;
  }

  .promo__item-link {
    bottom: 40px;
    font-size: 20px;
  }

  .promo__item-link img {
    max-width: 30px;
  }
}

@media (max-width: 767.98px) {
  .promo {
    margin-bottom: 50px;
  }

  .promo__slider {
    /*margin: 0 -40px;*/
  }

  .promo__slider-nav {
    bottom: 0;
    left: auto;
    right: 40px;
    top: auto;
    font-size: 20px;
    gap: 10px;
  }

  .promo__slider-nav .swiper-button {
    width: 36px;
    height: 36px;
  }

  body .promo__item {
    /*height: 550px;*/
    /*padding-left: 40px;
    padding-right: 40px;*/
    background-image: none !important;
  }

  .promo__item-title {
    font-size: 26px;
    line-height: 1.1111111111;
  }

  .promo__item-img {
    display: block;
    width: 50%;
  }

  .promo_head_btn .orange_btn {
    padding: 12px 15px;
    font-size: 14px;
  }
}

@media (max-width: 600px) {
  .promo__slider-nav {
    top: auto;
  }
}

@media(max-width: 575px) {
  .promo__item-title {
    font-size: 20px;
  }

  .promo_head_btn .orange_btn {
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.1111111111;
  }

  .promo__slider-nav {
    display: flex;
    justify-content: space-between;
    position: static;
  }

  .promo__slider-nav .swiper-button {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .promo__slider-nav .swiper-fraction {
    display: none;
  }

}

@media(max-width: 480px) {
  .promo__item-img {
    height: 100%;
    object-fit: cover;
  }

  .promo__item-description {
    padding: 0 4px;
    margin-top: 9px;
  }

  .promo__item-title {
    font-size: 14px;
    line-height: 16px;
  }

  .promo_head_btn .orange_btn {
    padding: 8px 4px;
    font-size: 10px;
    width: auto;
  }
}

@media (max-width: 450px) {
  .promo__slider-nav {
    top: 27%;
  }

  /*.promo__item-title {
    font-size: 20px;
    line-height: 24px;
  }*/
}

@media (max-width: 360px) {
  .promo__slider {
    /*margin: 0 -20px;*/
  }

  .promo__slider-nav {
    right: 40px;
    top: 50%;
  }
}

/**************************************************************
.about
**************************************************************/
.about {
  overflow: hidden;
}

.about__head {
  /*text-align: left;*/
  margin-bottom: 130px;
  display: none;
}

.about__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.about__photo {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.about__photo:after {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 1000px;
  background: linear-gradient(90deg, #E5E9EC 29.43%, rgba(229, 233, 236, 0) 35.46%, rgba(229, 233, 236, 0) 81.05%, #DEE0E4 88.53%);
  background: #e5e9ec;
  content: "";
  z-index: -1;
}

.about__info {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  position: relative;
  z-index: 1;
  padding: 110px 0 40px 40px;
}

.about__info:after {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 1000px;
  background-color: #F5F5F5;
  content: "";
  z-index: -1;
}

.about__name {
  font-family: "Cormorant Garamond", serif;
  color: #8E6A20;
}

.about__work {
  margin-top: 15px;
  color: #737373;
  font-size: 18px;
  line-height: 1.5555555556;
}

.about__desc {
  margin-top: 40px;
  color: #404040;
  font-size: 18px;
  line-height: 1.5555555556;
}

.about__desc p {
  margin-bottom: 20px;
}

.about__desc ul {
  list-style-type: disc;
  padding-left: 16px;
  margin-bottom: 20px;
}

.about__more {
  margin-top: 30px;
}

.about__content {
  margin: 140px auto 0;
  /*max-width: 720px;*/
  text-align: center;
  position: relative;
}

.about__content:before {
  position: absolute;
  top: -32px;
  left: 50%;
  width: 80px;
  transform: translateX(-50%);
  border-top: 1px solid #8E6A20;
  content: "";
}

@media (max-width: 1699.98px) {
  .about__head {
    margin-bottom: 90px;
  }

  .about__photo {
    display: flex;
    justify-content: flex-end;
  }

  .about__photo img {
    /*max-height: 650px;*/
  }

  .about__info {
    padding: 80px 0 20px 40px;
  }

  .about__info:after {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 1000px;
    background-color: #F5F5F5;
    content: "";
    z-index: -1;
  }

  .about__work {
    margin-top: 10px;
    font-size: 16px;
  }

  .about__desc {
    margin-top: 30px;
    font-size: 16px;
  }

  .about__more {
    margin-top: 30px;
  }
}

@media (max-width: 1023.98px) {
  .about__head {
    display: block;
  }

  .about__inner {
    display: block;
  }

  .about__photo {
    padding-bottom: 100%;
  }

  .about__photo::after {
    display: none;
  }

  .about__photo img {
    max-height: initial;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

  .about__info {
    background: #F5F5F5;
    padding: 40px;
  }

  .about__info::after {
    display: none;
  }

  .about__name {
    display: none;
  }

  .about__work {
    margin-top: 16px;
    font-size: 18px;
  }

  .about__desc {
    margin-top: 32px;
    font-size: 18px;
  }

  .about__content {
    margin-top: 80px;
  }
}

@media (max-width: 767.98px) {
  .about__inner {
    margin: 0 -40px;
  }
}

@media (max-width: 360px) {
  .about__work {
    font-size: 16px;
  }

  .about__desc {
    font-size: 16px;
  }
}

/**************************************************************
.popular
**************************************************************/
.popular__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 72px 80px;
}

.popular__item {
  position: relative;
  color: #fff;
  overflow: hidden;
}

.popular__item-photo {
  position: relative;
  padding-bottom: 60%;
  overflow: hidden;
}

.popular__item-photo:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #171717;
  opacity: 0.3;
  content: "";
  transition: all 0.6s ease-in-out;
  z-index: 1;
}

.popular__item-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.popular__item:hover .popular__item-photo:before {
  opacity: 0.5;
}

.popular__item-info {
  position: absolute;
  left: 0;
  top: calc(100% - 72px);
  width: 100%;
  z-index: 2;
  padding: 0 60px;
  transition: all 0.6s ease-in-out;
}

.popular__item:hover .popular__item-info {
  top: 80px;
}

.popular__item-title {
  transform: translateY(-100%);
  transition: all 0.6s ease-in-out;
}

.popular__item:hover .popular__item-title {
  transform: translateY(0);
}

.popular__item-op {
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease-in-out;
}

.popular__item:hover .popular__item-op {
  opacity: 1;
  visibility: visible;
  transition: all 0.6s ease-in-out;
}

.popular__item-desc {
  margin-top: 40px;
  color: #fff;
  transform: translateY(-100%);
  transition: all 0.6s ease-in-out;
}

.popular__item:hover .popular__item-desc {
  transform: translateY(0);
}

.popular__item-link {
  margin-top: 32px;
  color: #fff !important;
  transform: translateY(-100%);
  transition: all 0.6s ease-in-out;
}

.popular__item-link:after {
  background: #fff;
}

.popular__item:hover .popular__item-link {
  transform: translateY(0);
}

@media (max-width: 1699.98px) {
  .popular__items {
    grid-gap: 60px 60px;
  }

  .popular__item-info {
    left: 0;
    top: calc(100% - 72px);
    padding: 0 40px;
  }

  .popular__item:hover .popular__item-info {
    top: 50px;
  }

  .popular__item-desc {
    margin-top: 30px;
  }

  .popular__item-link {
    margin-top: 25px;
  }
}

@media (max-width: 1199.98px) {
  .popular__items {
    grid-gap: 40px;
  }

  .popular__item-info {
    left: 0;
    top: calc(100% - 40px);
    padding: 0 20px;
  }

  .popular__item:hover .popular__item-info {
    top: 40px;
  }

  .popular__item-desc {
    margin-top: 20px;
  }

  .popular__item-link {
    margin-top: 25px;
  }
}

@media (max-width: 1023.98px) {
  .popular__items {
    grid-gap: 20px;
  }

  .popular__item-info {
    left: 0;
    top: auto !important;
    bottom: 24px !important;
    padding: 0 20px;
  }

  .popular__item-title {
    transform: translateY(0%);
  }

  .popular__item-op {
    display: none;
  }
}

@media (max-width: 767.98px) {

  /*.popular__items {
    grid-template-columns: 1fr;
    grid-gap: 40px;
  }*/
  .popular__item-info {
    padding: 0 12px;
  }

  .popular__item-title {
    font-size: 28px;
  }
}

@media (max-width: 575px) {
  .popular__items {
    grid-gap: 10px;
  }

  .popular__item-info {
    padding: 0 8px;
  }

  .popular__item-title {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .popular__items {
    grid-gap: 5px;
  }

  .popular__item-info {
    padding: 0 4px;
  }

  .popular__item-title {
    font-size: 16px;
  }
}

/**************************************************************
.results
**************************************************************/
.results {
  overflow: hidden;
}

.results__carousel {
  overflow: initial;
}

.results__carousel .swiper-slide {
  opacity: 0.6;
  transition: all 0.3s ease-in-out;
}

.results__carousel .swiper-slide-active {
  opacity: 1;
}

.results__slider {
  position: relative;
  width: 53%;
  max-width: 800px;
  padding: 0 40px;
  margin: 0 auto;
}

.results__slider .swiper-button {
  margin-top: -20px;
  border: 1px solid #94A3B8;
}

.results__slider .swiper-button:hover {
  border-color: #8E6A20;
}

.results__item {
  padding-bottom: 90%;
  overflow: hidden;
  position: relative;
}

.results__slider .results__item {
  padding-bottom: 83%;
}

.results__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.results__item-label {
  position: absolute;
  top: 32px;
  font-size: 16px;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 80px;
  padding: 11px 29px 13px 24px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  z-index: 2;
  display: none;
}

.swiper-slide-active .results__item-label {
  opacity: 1;
  visibility: visible;
}

.results__item-label--before {
  left: 32px;
}

.results__item-label--after {
  right: 32px;
}

.results__box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 80px;
  align-items: center;
}

.results__box+.results__box {
  margin-top: 120px;
}

.results__box-desc {
  margin-top: 32px;
}

.results__box-slider {
  min-width: 1px;
}

.results__box .results__slider {
  width: auto;
  margin: 0 -40px;
}

@media (max-width: 1699.98px) {
  .results__slider {
    padding: 0 30px;
  }

  .results__box .results__slider {
    margin: 0 -30px;
  }
}

@media (max-width: 1199.98px) {
  .results__item-label {
    top: 16px;
    font-size: 14px;
    padding: 6px 18px 6px 18px;
  }

  .results__item-label--before {
    left: 16px;
  }

  .results__item-label--after {
    right: 16px;
  }
}

@media (max-width: 1023.98px) {
  .results__slider {
    padding: 0 30px;
    max-width: 500px;
    width: auto;
  }

  .results__box {
    grid-template-columns: 1fr;
    grid-gap: 24px;
  }

  .results__box+.results__box {
    margin-top: 60px;
  }

  .results__box-desc {
    margin-top: 20px;
  }

  .results__box .results__slider {
    margin: 0 -28px;
  }
}

@media (max-width: 767.98px) {
  .results__item-label {
    top: 16px;
    font-size: 12px;
    padding: 4px 12px 4px 12px;
  }

  .results__item-label--before {
    left: 16px;
  }

  .results__item-label--after {
    right: 16px;
  }

  .results__box+.results__box {
    margin-top: 40px;
  }
}

@media (max-width: 609.98px) {
  .results__box .results__slider {
    margin: 0 -24px;
  }
}

@media (max-width: 478.98px) {
  .results__slider {
    padding: 0 24px;
    margin: 0 -24px;
  }
}

@media (max-width: 360px) {
  .results__slider .swiper-button-next {
    right: 12px;
  }

  .results__slider .swiper-button-prev {
    left: 12px;
  }

  .results__item-label {
    top: 10px;
    font-size: 10px;
    padding: 3px 10px 3px 10px;
  }

  .results__item-label--before {
    left: 10px;
  }

  .results__item-label--after {
    right: 10px;
  }
}

/**************************************************************
.reviews
**************************************************************/
.reviews {
  overflow: hidden;
}

.reviews__title {
  position: relative;
}

.reviews__title:after {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: 97px;
  height: 88px;
  transform: translateX(-55%);
  background: url(../images/icons/kav-title.svg) no-repeat;
  content: "";
}

.reviews__carousel {
  overflow: initial;
}

.reviews__carousel .swiper-slide {
  opacity: 0.6;
  transition: all 0.3s ease-in-out;
}

.reviews__carousel .swiper-slide-active {
  opacity: 1;
}

.reviews__carousel .swiper-button {
  top: 80px;
  border: 1px solid #000;
}

.reviews__carousel .swiper-button:hover {
  border-color: #8E6A20;
}

.reviews__carousel .swiper-button-prev {
  left: 21%;
}

.reviews__carousel .swiper-button-next {
  right: 21%;
}

.reviews__item {
  text-align: center;
}

.reviews__item-name {
  color: #171717;
  margin-bottom: 24px;
}

.reviews__item-text {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  color: #404040;
  margin-top: 24px;
}

@media (max-width: 1699.98px) {
  .reviews__title:after {
    width: 76px;
    height: 74px;
    background-size: 100%;
  }
}

@media (max-width: 1023.98px) {
  .reviews__title {
    padding-top: 10px;
  }

  .reviews__item-name {
    color: #171717;
    margin-bottom: 24px;
  }

  .reviews__item-text {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    color: #404040;
    margin-top: 24px;
  }
}

/**************************************************************
.breadcrumbs
**************************************************************/
.breadcrumbs {
  overflow: hidden;
  padding: 40px 0 0;
  margin-bottom: 40px;
}

.breadcrumbs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumbs__item {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #8E6A20;
  line-height: 1.5;
}

.breadcrumbs__item:not(:last-child):after {
  margin: 0 16px;
  color: #737373;
  content: "—";
}

.breadcrumbs__link {
  color: #737373;
  transition: all 0.3s ease-in-out;
}

.breadcrumbs__link:hover {
  color: #8E6A20;
  text-decoration: none;
}

@media (max-width: 1023.98px) {
  .breadcrumbs {
    padding-top: 32px;
    margin-bottom: 70px;
  }
}

@media (max-width: 767.98px) {
  .breadcrumbs__list {
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow: auto;
    margin: 0 -40px 0;
    padding-left: 40px;
    padding-bottom: 5px;
  }

  .breadcrumbs__item:last-child {
    margin-right: 40px;
  }
}

/**************************************************************
.docs
**************************************************************/
.docs__carousel .swiper-button {
  top: 32%;
}

.docs__carousel .swiper-button-next {
  right: 40px;
}

.docs__carousel .swiper-button-prev {
  left: 40px;
}

.docs__item-photo {
  background: #F5F5F5;
  padding-bottom: 75%;
  position: relative;
  margin-bottom: 30px;
}

.docs__item-photo img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 84%;
  max-height: 84%;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.58)) drop-shadow(8px 12px 24px rgba(0, 0, 0, 0.25));
  border-radius: 2px;
}

.docs__item-more {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(23, 23, 23, 0.6);
  font-size: 18px;
  line-height: 1.5555555556;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}

.docs__item-more:before {
  width: 48px;
  height: 48px;
  background: url(../images/icons/lupe.svg) no-repeat center center;
  margin-bottom: 4px;
  content: "";
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition: all 0.3s ease-in-out;
}

.docs__item-more span {
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition: all 0.3s ease-in-out;
}

.docs__item-photo:hover .docs__item-more {
  opacity: 1;
  visibility: visible;
}

.docs__item-photo:hover .docs__item-more:before,
.docs__item-photo:hover .docs__item-more span {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.docs__item-info {
  padding: 0 8%;
}

.docs__item-date {
  display: inline-block;
  padding: 5px 16px;
  background: #E5E5E5;
  border-radius: 18px;
  color: #525252;
  font-size: 14px;
  line-height: 1.4285714286;
  margin-bottom: 20px;
}

.docs__item-name {
  color: #404040;
  font-size: 18px;
  line-height: 1.5555555556;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 1023.98px) {
  .docs__carousel {
    overflow: initial;
  }
}

@media (max-width: 767.98px) {
  .docs__item-photo {
    margin-bottom: 24px;
  }

  .docs__item-info {
    padding: 0;
  }

  .docs__item-date {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .docs__item-name {
    font-size: 16px;
  }
}

/**************************************************************
.blog
**************************************************************/
.blog__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 40px;
}

.blog__item {

  transition: all 0.3s ease-in-out;
  height: 100%;
  min-width: 0px;
}

.blog__item-photo {
  margin-top: auto;
  padding-bottom: 85%;
  overflow: hidden;
  position: relative;
  margin-bottom: 24px;
}

.blog__item-photo img {
  transition: all 0.3s ease-in-out;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.blog__item-more {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(23, 23, 23, 0.6);
  font-size: 18px;
  line-height: 1.5555555556;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}

.blog__item-more span {
  transition: all 0.3s ease-in-out;
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
}

.blog__item-photo:hover .blog__item-more {
  opacity: 1;
  visibility: visible;
}

.blog__item-photo:hover .blog__item-more span {
  transform: translateY(0%);
  opacity: 1;
  visibility: visible;
}

.blog__item-date {
  color: #525252;
  margin-bottom: 16px;
}

.blog__item-title {
  transition: all 0.3s ease-in-out;
  color: #171717;
  font-weight: 600;
}

.blog__item-title a {
  color: #171717;
}

.blog__item-title a:hover {
  color: #8E6A20;
}

.blog__item-desc {
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #525252;
  margin-top: 24px;
}

.blog__publication {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 50px;
  color: #525252;
}

.blog__publication-link:after {
  bottom: -10px;
}

.blog__publication-link .up {
  display: none;
}

.blog__publication-link.sortUp .down {
  display: none;
}

.blog__publication-link.sortUp .up {
  display: block;
}

@media (max-width: 1199.98px) {
  .blog__items {
    grid-gap: 30px;
  }

  .blog__carousel {
    overflow: initial;
  }
}

@media (max-width: 1023.98px) {
  .blog__items {
    grid-template-columns: 1fr 1fr;
    grid-gap: 32px 20px;
  }

  .blog__item-more {
    background: none;
    opacity: 1;
    visibility: visible;
  }

  .blog__item-more span {
    display: none;
  }

  .blog__item-photo {
    margin-bottom: 16px;
  }

  .blog__item-date {
    margin-bottom: 8px;
  }

  .blog__item-desc {
    margin-top: 16px;
  }
}

@media (max-width: 767.98px) {
  .blog__publication {
    display: none;
  }
}

@media (max-width: 609.98px) {
  .blog__items {
    grid-template-columns: 1fr;
  }
}

/**************************************************************
.blogd
**************************************************************/
.blogd__cols {
  display: grid;
  grid-template-columns: 1fr 2.3fr 1fr;
  grid-gap: 80px;
  position: relative;
  padding-top: 40px;
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-top: 1px solid #E5E5E5;
  border-bottom: 1px solid #E5E5E5;
}

.blogd__prev {
  margin-bottom: 18px;
}

.blogd__prev a {
  color: #44403C;
  gap: 12px;
}

.blogd__prev .icon {
  width: 24px;
  height: 24px;
}

.blogd__date {
  color: #404040;
}

.blogd__date>* {
  margin-bottom: 7px;
}

.blogd__date-d {
  color: #8E6A20;
}

.blogd__photo {
  margin-bottom: 96px;
  padding-bottom: 60%;
  overflow: hidden;
  position: relative;
}

.blogd__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width: 1199.98px) {
  .blogd__cols {
    grid-template-columns: 1fr;
    padding-top: 25px;
    grid-gap: 32px;
  }

  .blogd__left {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .blogd__photo {
    margin-bottom: 40px;
  }

  .blogd__prev {
    margin-bottom: 15px;
  }

  .blogd__date-t {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .blogd__photo {
    margin: 0 -40px 32px;
  }
}

.share {
  color: #404040;
  text-align: left;
}

.share__title {
  margin-bottom: 13px;
}

.share__list .icon {
  width: 22px;
  height: 22px;
}

.share__list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.share__list li a {
  width: 48px;
  height: 48px;
  background: #FAFAFA;
  border: 1px solid #E5E5E5;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  color: #737373;
  transition: all 0.3s ease-in-out;
}

.share__list li a:hover {
  background: #E5E5E5;
}

.share__copy {
  margin-top: 28px;
  padding-bottom: 12px;
  border-bottom: 1px solid #D9D9D9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.share__copy-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.share__copy-link {
  display: flex;
  color: #737373;
}

.share__copy-link:hover {
  color: #8E6A20;
}

.share__copy-link .icon {
  width: 24px;
  height: 24px;
}

.share__popup .popup__content {
  background: none;
}

.share__popup .popup__container {
  max-width: 300px;
  padding: 24px;
}

.share__popup .popup__close {
  top: 13px;
}

.share__popup .share__title {
  font-size: 24px;
  line-height: 1.3333333333;
  font-family: "Cormorant Garamond", serif;
  margin-bottom: 22px;
}

/**************************************************************
.pagination 
**************************************************************/
.pagination {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #E5E5E5;
  position: relative;
}

.pagination__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pagination__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
}

.pagination__item--next {}

.pagination__item--prev {}

.pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 36px;
  height: 36px;
  border-radius: 100%;
  color: #0F172A;
  transition: all 0.3s ease-in-out;
  background: none;
}

.pagination__link .icon {
  width: 24px;
  height: 24px;
}

.pagination__link:hover {
  background: #E5E5E5;
}

.pagination__link.current {
  color: #E5E5E5;
  background: #8E6A20;
}

.pagination__item--next .pagination__link,
.pagination__item--prev .pagination__link {
  border-radius: none !important;
  background: none !important;
  border: none !important;
  color: #404040;
}

.pagination__item--next .pagination__link .hover,
.pagination__item--prev .pagination__link .hover {
  transform: translateX(100%);
  transition: all 0.3s ease-in-out;
  color: #8E6A20 !important;
}

.pagination__item--next .pagination__link .active,
.pagination__item--prev .pagination__link .active {
  transition: all 0.3s ease-in-out;
  color: #404040 !important;
}

.pagination__item--next .pagination__link:hover,
.pagination__item--prev .pagination__link:hover {
  color: #8E6A20;
}

.pagination__item--next .pagination__link:hover .hover,
.pagination__item--prev .pagination__link:hover .hover {
  transform: translateX(0%);
}

.pagination__item--next .pagination__link:hover .active,
.pagination__item--prev .pagination__link:hover .active {
  transform: translateX(-100%);
}

.pagination__item--next .pagination__link .hover {
  transform: translateX(-100%);
}

.pagination__item--next .pagination__link:hover .active {
  transform: translateX(100%);
}

.pagination__tshown {
  margin-bottom: 32px;
  text-align: center;
  color: #404040;
  font-size: 16px;
  line-height: 1.5;
}

@media (max-width: 1023.98px) {
  .pagination {
    margin-top: 32px;
    padding-top: 24px;
  }

  .pagination__tshown {
    margin-bottom: 24px;
  }

  .pagination__item--next span,
  .pagination__item--prev span {
    display: none;
  }
}

@media (max-width: 609.98px) {
  .pagination__list {
    gap: 8px;
  }

  .pagination__item {
    display: none;
  }

  .pagination__item:nth-child(1),
  .pagination__item:nth-child(2),
  .pagination__item:nth-child(3),
  .pagination__item:nth-last-child(1),
  .pagination__item:nth-last-child(2),
  .pagination__item-separator {
    display: flex;
  }
}

/**************************************************************
.catalog
**************************************************************/
.catalog__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 60px 80px;
}

.catalog__item {
  text-align: center;
}

.catalog__item-link {
  display: inline-block;
  padding-bottom: 12px;
  position: relative;
}

.catalog__item-link:before,
.catalog__item-link:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  border-bottom: 1px solid #8E6A20;
  width: 0;
  transition: all 0.3s ease-in-out;
  bottom: 0;
  content: "";
}

.catalog__item-link:after {
  left: auto;
  right: 50%;
}

.catalog__item-link:hover:before,
.catalog__item-link:hover:after {
  width: 45px;
}

.catalog__item-photo {
  width: 160px;
  height: 160px;
  margin: 0 auto 20px;
  position: relative;
  border-radius: 100%;
  border: 18px solid #fff;
  box-shadow: 0 0 0 1px #E5E5E5;
  transition: all 0.3s ease-in-out;
}

.catalog__item-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 100%;
  z-index: 5;
}

.catalog__item-circle {
  width: 160px;
  height: 160px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  fill: none;
  stroke: #8E6A20;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-dasharray: 505;
  stroke-dashoffset: 505;
  transition: all 0.5s ease-in-out;
}

.catalog__item-link:hover .catalog__item-circle {
  stroke-dashoffset: 0;
}

.catalog__item-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 24px;
  color: #404040;
  line-height: 1.3333333333;
  transition: all 0.3s ease-in-out;
}

.catalog__item-title a {
  color: #404040;
}

.catalog__item-link:hover .catalog__item-title {
  color: #8E6A20;
}

.catalog__item-desc {
  color: #737373;
}

@media (max-width: 1339.98px) {
  .catalog__items {
    grid-gap: 32px 40px;
  }
}

@media (max-width: 1199.98px) {
  .catalog__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1023.98px) {
  .catalog__items {
    grid-template-columns: repeat(2, 1fr);
  }

  .catalog__item-photo {
    margin-bottom: 15px;
  }
}

@media (max-width: 609.98px) {
  .catalog__items {
    grid-template-columns: 1fr;
  }
}

/**************************************************************
.detail
**************************************************************/
.detail__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 80px;
}

.detail__cols+.detail__cols {
  margin-top: 60px;
}

.detail__title {
  margin-top: 20px;
}

.detail__desc {
  margin: 64px 0 46px;
}

.detail__desc p {
  margin-bottom: 16px;
  margin-top: 16px;
}

.detail__desc ul {
  list-style: disc;
  padding-left: 15px;
  margin-top: 12px;
}

.detail__desc ul li {
  margin-bottom: 16px;
}

@media (max-width: 1339.98px) {
  .detail__cols {
    grid-gap: 20px;
  }

  .detail__cols+.detail__cols {
    margin-top: 40px;
  }

  .detail__title {
    margin-top: 20px;
  }

  .detail__desc {
    margin: 32px 0 40px;
  }
}

@media (max-width: 1199.98px) {
  .detail__cols {
    grid-template-columns: 1fr;
    grid-gap: 40px;
  }

  .detail__title {
    margin-top: 0;
  }

  .detail__photo {
    max-width: 800px;
  }
}

@media (max-width: 767.98px) {
  .detail__photo {
    margin-left: -40px;
    margin-right: -40px;
  }
}

/**************************************************************
.indication
**************************************************************/
.indication {
  overflow: hidden;
}

.indication__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.indication__item {
  position: relative;
  padding: 100px 0 65px;
  color: #404040;
  font-size: 18px;
  line-height: 1.5555555556;
}

.indication__item:before {
  position: absolute;
  top: 0;
  width: 1000px;
  height: 100%;
  content: "";
  z-index: -1;
}

.indication__item--pl {
  padding-right: 40px;
  background: #F5F5F5;
}

.indication__item--pl:before {
  right: 0;
  background: #F5F5F5;
}

.indication__item--mn {
  padding-left: 40px;
  background: #404040;
  color: #F5F5F5;
}

.indication__item--mn:before {
  left: 0;
  background: #404040;
}

.indication__item-head {
  color: #171717;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #A1A1AA;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.indication__item-head .icon {
  color: #525252;
  width: 36px;
  height: 36px;
  margin: 6px;
}

.indication__item--mn .indication__item-head {
  color: #fff;
  border-color: #A1A1AA;
}

.indication__item--mn .indication__item-head .icon {
  color: #D4D4D4;
}

.indication__item--mn .indication__item-title {
  color: #fff;
}

@media (max-width: 1339.98px) {
  .indication__item {
    font-size: 16px;
    padding-top: 70px;
  }
}

@media (max-width: 1199.98px) {
  .indication__item {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .indication__item-head {
    padding-bottom: 16px;
    margin-bottom: 24px;
    gap: 16px;
  }

  .indication__item-head .icon {
    width: 30px;
    height: 30px;
    margin: 5px;
  }
}

@media (max-width: 767.98px) {
  .indication__cols {
    grid-template-columns: 1fr;
  }

  .indication__item {
    padding: 40px 40px !important;
    margin: 0 -40px;
  }
}

/**************************************************************
.stages
**************************************************************/
.stages {
  background: #F5F5F5;
}

.stages__head {
  text-align: left;
}

.stages__hlink {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 45px;
}

.stages__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 60px 80px;
}

.stages__item-numb {
  width: 80px;
  height: 80px;
  background: #E5E5E5;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-family: "Cormorant Garamond", serif;
  color: #8E6A20;
  margin-bottom: 24px;
  padding-bottom: 7px;
}

.stages__item-title {
  margin-bottom: 16px;
}

@media (max-width: 1339.98px) {
  .stages__items {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px 40px;
  }
}

@media (max-width: 1023.98px) {
  .stages__hlink {
    justify-content: center;
    margin-bottom: 50px;
  }

  .stages__items {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px 40px;
  }

  .stages__item {
    text-align: center;
  }

  .stages__item-numb {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 16px;
  }
}

@media (max-width: 767.98px) {
  .stages__items {
    /*grid-template-columns: 1fr;*/
    grid-gap: 32px;
  }

  .stages__item-numb {
    width: 50px;
    height: 50px;
    font-size: 30px;
    margin-bottom: 10px;
  }

  .stages__item-title {
    margin-bottom: 10px;
    line-height: 100%;
  }
}

/**************************************************************
.prices
**************************************************************/
.prices__mw {
  /*max-width: 720px;*/
  max-width: 850px;
  margin: 0 auto;
}

.prices__cols {
  display: flex;
  gap: 80px;
}

.prices__navs {
  width: 300px;
  flex: 0 0 auto;
}

.prices__navs li {
  margin-bottom: 20px;
}

.prices__navs li a {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-family: "Cormorant Garamond", serif;
  font-size: 30px;
  line-height: 1.3;
  color: black;
  transition: all 0.3s ease-in-out;
}

.prices__navs li a .icon {
  width: 40px;
  height: 40px;
  border-radius: 100%;
  border: 1px solid #E5E5E5;
  color: #737373;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prices__navs li a .icon svg {
  width: 24px;
  height: 24px;
}

.prices__navs li a .icon .hover {
  transform: translateX(-100%);
  transition: all 0.3s ease-in-out;
  color: black;
}

.prices__navs li a .icon .active {
  transition: all 0.3s ease-in-out;
  color: #737373;
}

.prices__navs li a:hover .hover {
  transform: translateX(0%);
}

.prices__navs li a:hover .active {
  transform: translateX(100%);
}

.prices__navs li a.active {
  color: #8E6A20;
}

.prices__navs li a.active .icon {
  color: #8E6A20;
  border-color: #8E6A20;
}

.prices__navs li a.active .hover {
  display: none;
}

.prices__navs li a.active .active {
  transform: translateX(0%) !important;
  color: #8E6A20;
}

.prices__content {
  max-width: 720px;
  width: 100%;
}

.prices__text {
  text-align: center;
  margin-top: 64px;
}

.prices__row {
  position: relative;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
  grid-gap: 16px;
  font-size: 24px;
  line-height: 1.25;

}

.prices__row-wrapper {
  margin-top: 32px;
}

.prices__row-wrapper:first-of-type {
  margin-top: 0;
}

.prices__row:after {
  position: absolute;
  top: -5px;
  left: 0;
  height: 30px;
  width: 100%;
  background: url(../images/icons/dotted.svg) repeat-x bottom;
  z-index: -1;
  content: "";
}

.prices__row-label {
  max-width: 400px;
  position: relative;
  color: #171717;
}

.prices__row-label span {
  background: #fff;
  position: relative;
}

.prices__row-label span:before {
  width: 16px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 100%;
  content: "";
}

.prices__row--sale .prices__row-label span:after {
  position: relative;
  left: 7px;
  display: inline-flex;
  width: 32px;
  height: 32px;
  background: url(../images/icons/sale.svg) no-repeat center center;
  content: "";
  vertical-align: bottom;
}

.prices__row-val {
  padding-left: 16px;
  background: #fff;
  color: #8E6A20;
  display: flex;
  gap: 12px;
}

@media (max-width: 1699.98px) {
  .prices__cols {
    gap: 40px;
  }
}

@media (max-width: 1199.98px) {
  .prices__text {
    text-align: center;
    margin-top: 45px;
  }

  .prices__row {
    grid-gap: 12px;
    font-size: 20px;
  }

  .prices__row-wrapper {
    margin-top: 20px;
  }

  .prices__row-label span:before {
    width: 12px;
  }

  .prices__row--sale .prices__row-label span:after {
    width: 24px;
    height: 24px;
    background-size: 100%;
  }

  .prices__row-val {
    padding-left: 12px;
  }
}

@media (max-width: 1023.98px) {
  .prices__cols {
    flex-direction: column;
  }

  .prices__navs {
    width: 100%;
    position: relative;
  }

  .prices__navs:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    border-bottom: 1px solid #E5E5E5;
    content: "";
  }

  .prices__navs ul {
    display: flex;
    padding-bottom: 12px;
    overflow: auto;
    overflow-y: hidden;
  }

  .prices__navs li {
    margin: 0 16px 0 0;
  }

  .prices__navs li a {
    position: relative;
    font-size: 30px;
  }

  .prices__navs li a .icon {
    display: none;
  }

  .prices__navs li a.active:after {
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 100%;
    border-bottom: 1px solid #8E6A20;
    content: "";
    z-index: 2;
  }
}

@media (max-width: 767.98px) {
  .prices__text {
    margin-top: 32px;
  }

  .prices__navs ul {
    margin: 0 -40px;
    padding-left: 40px;
  }

  .prices__navs li a {
    font-size: 24px;
  }

  .prices__row {
    grid-template-columns: 1fr;
    grid-gap: 4px;
    font-size: 18px;
    line-height: 1.5555555556;

  }

  .prices__row:after {
    display: none;
  }

  .prices__row-wrapper {
    margin-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #E5E5E5;
  }

  .prices__row-label:before {
    display: none;
  }

  .prices__row-val {
    padding: 0;
  }
}

.prices__row-sale .prices__row-val-price {
  position: relative;
  white-space: nowrap;
}

.prices__row-sale .prices__row-val-price::after {
  position: absolute;
  top: 16px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  content: '';
}

.prices__row-val-sale {
  color: #DD2F2F;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.25;
  white-space: nowrap;
}

a.prices__row-val-sale span,
a.prices__row-val-sale:focus span {
  color: #DD2F2F;
  border-bottom: 1px solid currentColor;
  cursor: pointer;
}

a.prices__row-val-sale:hover span {
  color: #DD2F2F;
  border-bottom-color: transparent;
}

.prices__row-val-old {
  color: #8e6a20;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.25;
  white-space: nowrap;
  text-decoration: line-through;
}

.prices__row-note {
  color: #8E6A20;
  font-size: 22px;
  font-weight: 400;
  line-height: 17.6px;
  margin-top: 4px;
}

.prices__row-val-percent {
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 13.2px;
  text-align: center;
  background: #DD2F2F;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: -5px;
}

@media (max-width: 1199.98px) {

  .prices__row-val-sale,
  .prices__row-val-old {
    font-size: 20px;
  }

  .prices__row-sale .prices__row-val-price::after {
    top: 13px;
  }
}

@media (max-width: 767px) {
  .prices__row-sale .prices__row-val-price {
    font-size: 18px;
    font-weight: 400;
    line-height: 21.6px;
  }

  .prices__row-val-sale,
  .prices__row-val-old {
    font-size: 18px;
    line-height: 21.6px;
  }

  .prices__row-val-percent {
    top: -10px;
  }
}

.sale__item .prices__row-val,
.prices__row-val.action-item {
  padding-left: 0;
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid #E5E5E5;
}

/**************************************************************
.sale
**************************************************************/
.sale__carousel .swiper-button {
  top: 35%;
}

.sale__carousel .swiper-button-prev {
  left: 40px;
}

.sale__carousel .swiper-button-next {
  right: 40px;
}

.sale__carousel .swiper-pagination {
  margin-top: 64px;
}

.sale__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 60px 40px;
}

.sale__item-photo {
  position: relative;
  overflow: hidden;
  padding-bottom: 84%;
  margin-bottom: 24px;
}

.sale__item-photo img {
  transition: all 0.3s ease-in-out;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.sale__item-value {
  color: #fff;
  font-size: 116px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: all 0.3s ease-in-out;
}

.sale__item-more {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(23, 23, 23, 0.6);
  font-size: 18px;
  line-height: 1.5555555556;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}

.sale__item-more span {
  transition: all 0.3s ease-in-out;
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
}

.sale__item-photo:hover .sale__item-more {
  opacity: 1;
  visibility: visible;
}

.sale__item-photo:hover .sale__item-more span {
  transform: translateY(0%);
  opacity: 1;
  visibility: visible;
}

.sale__item-desc {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.5;
  color: #525252;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 1199.98px) {
  .sale__items {
    grid-gap: 30px 30px;
  }

  .sale__item-value {
    font-size: 96px;
  }
}

@media (max-width: 1023.98px) {
  .sale__carousel {
    overflow: initial;
  }

  .sale__carousel .swiper-pagination {
    margin-top: 45px;
  }

  .sale__items {
    grid-template-columns: 1fr 1fr;
    grid-gap: 32px 20px;
  }

  .sale__item-value {
    transform: scale(1) translate(-50%, -50%) !important;
    font-size: 96px;
  }

  .sale__item-more {
    display: none;
  }
}

@media (max-width: 609.98px) {
  .sale__carousel .swiper-pagination {
    margin-top: 32px;
  }

  .sale__items {
    grid-template-columns: 1fr;
  }

  .sale__item-photo {
    margin-bottom: 16px;
  }

  .sale__item-desc {
    margin-top: 16px;
  }
}

/**************************************************************
.saled
**************************************************************/
.saled__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 80px;
}

.saled__cols+.saled__cols {
  margin-top: 60px;
}

.saled__desc {
  margin: 48px 0 48px;
}

.saled__photo {
  position: relative;
}

/*.saled__value {
  color: #fff;
  font-size: 116px;
  font-weight: bold;
  font-family: "Cormorant Garamond", serif;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}*/

.saled__value {
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 17.6px;
  position: absolute;
  left: 30px;
  top: 30px;
  transform: none;
  text-align: center;
  background: #dd2f2f;
  border-radius: 50%;
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 1199px) {
  .saled__value {
    font-size: 16px;
    line-height: 17.6px;
    width: 60px;
    height: 60px;
  }
}

.sale__item-title a {
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 120%;
  text-align: left;
  color: #171717;
  transition: all .3s ease-in-out;
}

.sale__item-title a:hover {
  color: #8e6a20;
  transition: all .3s ease-in-out;
}

@media (max-width: 1199.98px) {
  .sale__item-title a {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .sale__item-title a {
    font-size: 18px;
  }
}

.saled__box {
  margin-top: 120px;
}

@media (max-width: 1699.98px) {
  .saled__cols {
    grid-gap: 40px;
  }
}

@media (max-width: 1339.98px) {
  .saled__cols {
    grid-gap: 20px;
  }

  .saled__cols+.saled__cols {
    margin-top: 40px;
  }

  .saled__desc {
    margin: 32px 0 40px;
  }

  .saled__box {
    margin-top: 80px;
  }
}

@media (max-width: 1199.98px) {
  .saled__cols {
    grid-template-columns: 1fr;
    grid-gap: 32px;
  }

  .saled__right {
    order: -1;
  }

  .saled__title {
    margin-bottom: 32px;
  }

  .saled__desc {
    margin-top: 0;
  }

  .saled__photo {
    max-width: 800px;
    max-height: 500px;
    display: inline-block;
  }

  .saled__photo img {
    max-height: 500px;
  }
}

@media (max-width: 1023.98px) {
  .saled__photo {
    padding-bottom: 50%;
    overflow: hidden;
    max-width: initial;
    max-height: initial;
    position: relative;
    width: 100%;
  }

  .saled__photo img {
    max-height: initial;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media (max-width: 767.98px) {
  .saled__photo {
    width: calc(100% + 80px);
    /*margin-left: -40px;
    margin-right: -40px;*/
  }
}

@media (max-width: 609.98px) {
  .saled__photo {
    padding-bottom: 90%;
  }

  /*  .saled__value {
    font-size: 96px;
  }*/
}

/**************************************************************
.
**************************************************************/
.analyses__content {
  /*text-align: center;*/
  /*max-width: 720px;*/
  /*margin: 0 auto;*/
}

.analyses__content-intro {
  max-width: 720px;
}

.analyses__content-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.analyses__content-section-col {
  flex-basis: calc(50% - 16px);
  display: flex;
  flex-direction: column;
}

.analyses__content-section {
  border: 2px solid #ffab00;
  padding: 16px 24px;
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
}

.analyses__hdown {
  margin-bottom: 70px;
  text-align: center;
}

.analyses__download {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #404040;
  font-size: 18px;
  line-height: 1.5555555556;
  transition: all 0.3s ease-in-out;
}

.analyses__download .icon {
  color: #525252;
  width: 40px;
  height: 40px;
}

.analyses__download:hover {
  color: #8E6A20;
}

.analyses__download:hover .icon {
  color: #8E6A20;
}

.analyses__download:hover .icon rect {
  opacity: 0;
}

@media (max-width: 767.98px) {
  .analyses__content-inner {
    gap: 0;
  }

  .analyses__content-section-col {
    flex-basis: 100%;
  }

  .analyses__content-section {
    padding: 16px;
  }

  .analyses__hdown {
    margin-bottom: 32px;
  }
}

/**************************************************************
.faq
**************************************************************/
.faq__items {
  max-width: 800px;
  margin: 0 auto;
}

.faq__item {
  padding-bottom: 32px;
  border-bottom: 1px solid #D4D4D4;
}

.faq__item+.faq__item {
  margin-top: 24px;
}

.faq__item-head {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 30px;
  transition: all 0.3s ease-in-out;
  color: #404040;
}

.faq__item:hover .faq__item-title {
  color: #8E6A20;
}

.faq__item-plus {
  width: 32px;
  height: 32px;
  padding: 6px;
  transition: all 0.3s ease-in-out;
}

.faq__item-plus .icon {
  width: 100%;
  height: 100%;
}

.faq__item-head:hover .faq__item-plus {
  color: #8E6A20;
}

.faq__item.opened .faq__item-plus {
  transform: rotate(45deg);
}

.faq__item-body {
  display: none;
  padding-top: 24px;
  padding-right: 64px;
}

@media (max-width: 767.98px) {
  .faq__item {
    padding-bottom: 16px;
  }

  .faq__item+.faq__item {
    margin-top: 20px;
  }

  .faq__item-plus {
    width: 24px;
    height: 24px;
    padding: 5px;
  }

  .faq__item-body {
    font-size: 16px;
    padding-top: 16px;
    padding-right: 0;
  }
}

/**************************************************************
.contacts
**************************************************************/
.contacts__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 80px;
}

.contacts__item {
  overflow: hidden;
}

.contacts__item--call {
  padding-top: 35px;
}

.contacts__item-label {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E5E5E5;
  background: #fff;
  position: relative;
  z-index: 5;
  font-family: "Cormorant Garamond", serif;
  color: #404040;
  font-size: 20px;
  line-height: 1.4;
}

.contacts__item-val {
  font-size: 18px;
  color: #404040;
  line-height: 1.5555555556;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
}

.contacts__item-val+.contacts__item-val {
  margin-top: 8px;
}

.contacts__item-val a {
  color: #404040;
  transition: all 0.3s ease-in-out;
}

.contacts__item-val a:hover {
  color: #8E6A20;
}

.contacts__item-phone {
  font-weight: 600;
  color: #171717;
}

.contacts__item-phone a {
  color: #171717;
}

.contacts__map {
  height: 450px;
  margin-top: 80px;
}

.contacts__map .ymaps-2-1-79-ground-pane {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

@media (max-width: 1339.98px) {
  .contacts__items {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px 60px;
  }
}

@media (max-width: 1023.98px) {
  .contacts__items {
    grid-template-columns: repeat(2, 1fr);
  }

  .contacts__item-label {
    margin-bottom: 8px;
    padding-bottom: 8px;
  }

  .contacts__item-val {
    font-size: 16px;
    gap: 8px;
  }

  .contacts__item-val+.contacts__item-val {
    margin-top: 6px;
  }
}

@media (max-width: 767.98px) {
  .contacts__items {
    grid-template-columns: 1fr;
    grid-gap: 40px;
  }

  .contacts__item--call {
    padding-top: 0;
  }

  .contacts__map {
    margin: 80px -40px 0;
  }
}

@media (max-width: 360px) {
  .contacts__map {
    margin: 60px -15px 0;
  }
}

/**************************************************************
.error404
**************************************************************/
.error404 {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 20px 100px;
}

.error404__logo img {
  width: 140px;
}

.error404__cont {
  margin-top: 60px;
  max-width: 540px;
}

.error404__numb {
  font-family: "Cormorant Garamond", serif;
  font-size: 128px;
  color: #8E6A20;
  line-height: 1;
  margin-bottom: 60px;
}

.error404__text {
  font-size: 16px;
  color: #404040;
  line-height: 1.5;
}

.error404__buttons {
  margin-top: 70px;
}

@media (min-width: 1024px) and (max-height: 700px) {
  .error404 {
    padding: 20px 20px;
  }

  .error404__logo img {
    width: 100px;
  }

  .error404__cont {
    margin-top: 30px;
  }

  .error404__numb {
    font-size: 110px;
    margin-bottom: 40px;
  }

  .error404__buttons {
    margin-top: 50px;
  }
}

@media (max-width: 1023.98px) {
  .error404 {
    padding: 20px 40px;
  }

  .error404__logo img {
    width: 100px;
  }

  .error404__cont {
    margin-top: 20px;
  }

  .error404__numb {
    font-size: 96px;
    margin-bottom: 32px;
  }

  .error404__buttons {
    margin-top: 50px;
  }
}

/**************************************************************
.preloader
**************************************************************/
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.preloader path {
  fill: #737373;
}

.preloader svg {
  vertical-align: bottom;
}

.preloader__anim {
  position: relative;
}

.preloader__anim-hidden {
  overflow: hidden;
  position: absolute;
  height: 0;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  animation: preloader 2s infinite ease-in-out;
}

.preloader__anim-hidden path {
  fill: #0D0802;
}

@keyframes preloader {
  0% {
    height: 0;
  }

  100% {
    height: 100%;
  }
}

/**************************************************************
popup
**************************************************************/
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  display: none;
  z-index: 9999;
}

.popup__content {
  width: 100%;
  min-height: 100%;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  padding: 15px;
  background: #fff;
}

.popup__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 0.6;
}

.popup__container {
  position: relative;
  width: 100%;
  max-width: 920px;
  padding: 60px 30px 70px;
  background: #fff;
}

.popup__close {
  position: absolute;
  right: 13px;
  top: 0;
  /*top: -60px;*/
  width: 34px;
  height: 34px;
  color: #A3A3A3;
  cursor: pointer;
  z-index: 99;
}

.popup__close:hover {
  color: #8E6A20;
}

.popup__close .icon {
  width: 34px;
  height: 34px;
}

.popup__body {
  max-width: 720px;
  margin: 0 auto;
}

.popup__head {
  margin-bottom: 50px;
}

.popup__iconthank {
  margin-bottom: 50px;
}

.popup-thank .popup__title {
  margin-bottom: 0;
}

@media (max-width: 1699.98px) {
  .popup__close {
    top: 0;
    /*top: -20px;*/
  }

  .popup__head {
    /*margin-bottom: 80px;*/
  }

  .popup__body {
    max-width: 660px;
  }
}

@media (max-height: 650px) and (min-width: 1024px) {
  .popup__close {
    top: 13px;
  }

  .popup__head {
    /*margin-bottom: 60px;*/
  }
}

@media (max-width: 1023.98px) {
  .popup__close {
    top: 13px;
  }

  .popup__head {
    /*margin-bottom: 60px;*/
  }
}

@media (max-width: 767px) {
  .popup__container {
    padding-left: 0;
    padding-right: 0;
  }
}



.pagination__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 36px;
  height: 36px;
  border-radius: 100%;
  color: #0F172A;
  transition: all 0.3s ease-in-out;
  background: none;
}

.page-numbers.current {
  color: #E5E5E5;
  background: #8E6A20;
}

.pagination__item--prev {}

.pagination__item.no_prev,
.pagination__item.no_next {
  opacity: 0;
}


.pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 36px;
  height: 36px;
  border-radius: 100%;
  color: #0F172A;
  transition: all 0.3s ease-in-out;
  background: none;
}


.pagination__item--next .pagination__link,
.pagination__item--prev .pagination__link {
  border-radius: none !important;
  background: none !important;
  border: none !important;
  color: #404040;
}

.blogd__content.content__text img {
  width: 100%;
  height: 100%;
}

.saled__photo img {
  width: 100%;
  height: 100%;
}

.breadcrumbs__item a {
  color: #737373;
  transition: all 0.3s ease-in-out;
}


.popup[data-popup="thank"] .popup__head {
  text-align: center;
}

.popup[data-popup="thank"] .popup__title {
  font-size: 46px;
  font-weight: 700;
  margin-bottom: 10px;
}

.pagination__item .icon {
  width: 24px;
  height: 24px;
}

.pagination__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 36px;
  height: 36px;
  border-radius: 100%;
  color: #404040;
  transition: all 0.3s ease-in-out;
  background: none;
}

.pagination__item--next a .active,
.pagination__item--prev a .active {
  transition: all 0.3s ease-in-out;
  color: #404040 !important;
}

.pagination__item--next a .hover,
.pagination__item--prev a .hover {
  transform: translateX(100%);
  transition: all 0.3s ease-in-out;
  color: #8E6A20 !important;
}

.pagination__item--next a .hover {
  transform: translateX(-100%);
}

.pagination__item--next a,
.pagination__item--prev a {
  border-radius: none !important;
  background: none !important;
  border: none !important;
  color: #404040;
}

.pagination__item--next a:hover,
.pagination__item--prev a:hover {
  color: #8E6A20;
}


.pagination__item--next a:hover .active,
.pagination__item--prev a:hover .active {
  transform: translateX(-100%);
}

.pagination__item--next a:hover .active {
  transform: translateX(100%);
}

.pagination__item--next a:hover .hover,
.pagination__item--prev a:hover .hover {
  transform: translateX(0%);
}

a.page-numbers:hover {
  background: #E5E5E5;
}

a.page-numbers.current {
  color: #E5E5E5;
  background: #8E6A20;
}

.page-numbers.dots {
  cursor: default;
}

.breadcrumbs__item a:hover {
  color: #8E6A20;
  text-decoration: none;
}

.pagination_section {
  display: flex;
  gap: 12px;
}

.vi_vi {
  position: absolute;
  opacity: 0;
  left: -3000px;
}

.vi_checkbox_styler .wpcf7-list-item-label {
  display: none;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0;
}

.vi_popular_mob_url {
  color: #fff;
  display: none;
}

.results,
.sale,
.blog,
.docs {
  overflow: hidden;
}


@media (max-width: 1023.98px) {
  .popular__item-info .popular__item-title.title {
    display: none;
  }

  .popular__item-info .popular__item-title.title.vi_popular_mob_url {
    display: block;
  }
}



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9mb250cy5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJpbmMvX3ZhcnMuc2NzcyIsIl9jb21tb24uc2NzcyIsIl9lbGVtZW50cy5zY3NzIiwiX2xpYnMuc2NzcyIsIl9mb3Jtcy5zY3NzIiwiaW5jL19taXhpbnMuc2NzcyIsIl9oZWFkZXIuc2NzcyIsIl9mb290ZXIuc2NzcyIsInN0eWxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBUTtBQ0dSO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0EsYUM3Qkc7RUQ4QkgsT0N6QlM7RUQwQlQ7RUFDQTtFQUNBLFlDOUJNO0VEK0JOO0VBQ0E7OztBQUVKO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0k7RUFDQTtFQUFXOzs7QUV4RGY7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQSxXREhjO0VDSWQ7RUFBbUI7RUFDbkI7O0FBQ0E7RUFMSjtJQU1TOzs7QUFFTDtFQVJKO0lBU1M7OztBQUVMO0VBWEo7SUFZUzs7O0FBRUw7RUFkSjtJQWVROzs7QUFFSjtFQWpCSjtJQWtCUTtJQUNBOzs7QUFFSjtFQXJCSjtJQXNCUTs7OztBQU1SO0VBQ0k7RUFBa0I7RUFDbEI7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQU1BO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7SUFFUTs7OztBQUlKO0VBREo7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O0FBRUo7RUFDSTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFJWjtFQUNJO0VBQ0E7RUFDQSxhUDdDSztFTzhDTDtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUlaO0VBQ0k7O0FBQ0E7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUNBO0VBQ0k7O0FBSVo7RUFDSTs7QUFHSjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7RUFDQTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7RUFDQTtJQUNJOztFQUdSO0lBQ0k7SUFDQTs7RUFJSjtJQUNJOztFQUdSO0lBQ0k7O0VBR0o7SUFDSTs7RUFDQTtJQUNJO0lBQWE7O0VBRWpCO0lBQ0k7SUFBYTs7O0FBS3pCO0VBQ0k7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBR1I7RUFDSTtJQUNJOztFQUNBO0lBQ0k7OztBQUlaO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTs7RUFHUjtJQUNJOztFQUNBO0lBQ0k7O0VBR1I7SUFDSTs7RUFFSjtJQUNJOzs7O0FDaE1aO0FBQUE7QUFBQTtBQUdBO0VBQ0k7O0FBQ0E7RUFDSTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUFjO0VBQ2Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7O0FBSVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQSxhUmxFSzs7QVFvRUw7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFBYztFQUNkO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYVJsRks7RVFtRkw7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBS1o7RUF2Rko7SUF3RlE7O0VBRUk7SUFDSTtJQUFjO0lBQ2Q7O0VBR1I7SUFDSTtJQUNBOztFQUNBO0lBQ0k7O0VBRUo7SUFDSTtJQUNBOztFQUNBO0lBQ0k7OztBQUtoQjtFQUVRO0lBQ0k7SUFBZTtJQUNmO0lBQ0E7O0VBR1I7SUFDSTtJQUNBOztFQUNBO0lBQ0k7O0VBRUo7SUFDSTtJQUNBOztFQUNBO0lBQ0k7OztBQUtoQjtFQUNJO0lBQ0k7O0VBQ0E7SUFDSSxNUjdJRDs7RVFnSlA7SUFDSTtJQUNBLGNSbEpHO0lRbUpILGVSbkpHOztFUW9KSDtJQUNJO0lBQ0E7Ozs7QUFTaEI7QUFBQTtBQUFBO0FBR0E7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFBVTtFQUNWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUFTO0VBQ1Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJLGFSM05TO0VRNE5ULE9Sck5LOztBUXVOVDtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUFZO0VBQ1o7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtJQUNJOztFQUVKO0lBQ0k7SUFDQTs7RUFDQTtJQUNJOztFQUdSO0lBQ0k7O0VBQ0E7SUFDSTtJQUNBO0lBQVM7SUFDVDtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdSO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUVKO0lBQ0k7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJO0lIL1FaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUc4UUk7SUFDSTtJQUNBOztFQUNBO0lBQ0k7O0VBR1I7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7OztBQUdSO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7O0FBUVo7QUFBQTtBQUFBO0FBSUk7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQVE7RUFDUjtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFSG5WUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FHa1ZJO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQVM7RUFDVDtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFBWTtFQUNaOztBQUVKO0VBQ0k7RUFBWTtFQUNaOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBR1I7RUFDSTs7QUFJUjtFQUNJO0lBQ0k7O0VBR0E7SUFDSTtJQUFTO0lBQ1Q7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBQUtaO0VBQ0k7SUFDSTs7RUFHQTtJQUNJO0lBQVM7SUFDVDs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7O0FBSVo7RUFDSTtJQUVJOztFQUdBO0lBQ0k7SUFBUztJQUNUO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7QUFLWjtFQUNJO0lBQ0k7SUFDQTs7OztBQU9aO0FBQUE7QUFBQTtBQUdBO0VBQ0k7O0FBQ0E7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QUFJWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUNBO0VBQ0ksY1IvZkg7O0FRbWdCVDtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VIdGZKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUdvZkk7RUFDSTtFQUNBO0VBQ0E7RUFBaUI7RUFDakI7RUFDQTtFQUNBO0VBQ0E7RUFBWTtFQUNaO0VBQ0E7O0FBQ0E7RUFDSTtFQUFZOztBQUVoQjtFQUNJOztBQUVKO0VBQ0k7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBRVE7SUFDSTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJOzs7QUFLaEI7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJOztFQU1SO0lBQ0k7OztBQUdSO0VBRVE7SUFDSTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJOztFQUtSO0lBQ0k7OztBQUlaO0VBRUk7SUFDSTs7O0FBR1I7RUFDSTtJQUNJO0lBQ0E7OztBQUdSO0VBRVE7SUFDSTs7RUFFSjtJQUNJOztFQUlKO0lBQ0k7SUFDQTtJQUNBOztFQUNBO0lBQ0k7O0VBRUo7SUFDSTs7OztBQVNwQjtBQUFBO0FBQUE7QUFHQTtFQUNJOztBQUNBO0VBQ0k7O0FBQ0E7RUFDSTtFQUNBO0VBQVE7RUFDUjtFQUNBO0VBQWE7RUFDYjtFQUNBO0VBQ0E7O0FBR1I7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSSxjUjlyQkg7O0FRZ3NCRDtFQUNJOztBQUVKO0VBQ0k7O0FBSVo7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSSxhUnR0Qks7RVF1dEJMO0VBQ0E7RUFDQTs7QUFJUjtFQUVRO0lBQ0k7SUFBYTtJQUNiOzs7QUFLWjtFQUNJO0lBQ0k7O0VBTUE7SUFDSTtJQUNBOztFQUVKO0lBQ0ksYVJudkJDO0lRb3ZCRDtJQUNBO0lBQ0E7Ozs7QUFRaEI7QUFBQTtBQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFBaUIsT1J0d0JaO0VRdXdCTDs7QUFDQTtFQUNJO0VBQ0EsT1Izd0JFO0VRNHdCRjs7QUFJUjtFQUNJLE9SanhCTTtFUWt4Qk47O0FBQ0E7RUFDSSxPUm54QkM7RVFveEJEOztBQVdSO0VBckNKO0lBc0NRO0lBQ0E7OztBQUVKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGNScnlCRztJUXN5Qkg7O0VBR0o7SUFDSSxjUjF5Qkc7OztBUTR6QmY7QUFBQTtBQUFBO0FBS1E7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFBVTtFQUNWO0VBQ0E7RUFBZ0I7RUFDaEI7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFBUTtFQUNSO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQVk7O0FBQ1o7RUFDSTtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQ0E7RUFBWTtFQUNaO0VBQ0E7O0FBRUo7RUFDSTtFQUFZO0VBQ1o7RUFDQTs7QUFHUjtFQUNJO0VBQVk7O0FBQ1o7QUFBQTtFQUVJO0VBQVk7RUFDWjs7QUFHUjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7SUFDSTs7O0FBR1I7RUFFUTtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7Ozs7QUFRaEI7QUFBQTtBQUFBO0FBS0k7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VIejdCWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FHMjdCSTtFQUNJO0VBQ0E7RUFBUTtFQUNSO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQVk7O0FBQ1o7RUFDSTtFQUNBO0VBQ0E7RUFBWTs7QUFHcEI7RUFFSTtFQUFZOztBQUNaO0VBQ0k7RUFDQTtFQUFZOztBQUdwQjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFDQTtFQUNJLE9SNy9CUDs7QVFpZ0NMO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVJO0VBQ0k7O0FBRUo7RUFDSTs7QUFHQTtFQUNJOztBQUVKO0VBQ0k7O0FBTWhCO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFHQTtJQUNJO0lBQ0E7SUFBWTs7RUFDWjtJQUNJOztFQUdSO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7QUFJWjtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7O0FBYVo7QUFBQTtBQUFBO0FBSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FBS0o7RUFDSTtFQUFhOztBQUdyQjtFQUNJOztBQUNBO0VBQ0k7O0FBRUo7RUFDSSxPUjNuQ0M7O0FROG5DVDtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VIL21DSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FHOG1DQTtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFHQTtJQUNJOzs7QUFJWjtFQUNJO0lBQ0k7Ozs7QUFNWjtFQUNJLE9SenFDUztFUTBxQ1Q7O0FBQ0E7RUFDSTs7QUFHQTtFQUNJO0VBQWE7O0FBRWpCO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFBYTtFQUNiO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1IvckNFO0VRZ3NDRjs7QUFDQTtFQUNJOztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBLE9SdHRDRTs7QVF1dENGO0VBQ0ksT1J2dENIOztBUXl0Q0Q7RUFDSTtFQUFhOztBQUtyQjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBLGFSbnZDSztFUW92Q0w7O0FBU1o7QUFBQTtBQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFpQjs7QUFDakI7RUFDSTs7QUFHSjtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFpQjtFQUNqQjtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQWE7O0FBRWpCO0VBQ0k7O0FBRUo7RUFDSTtFQUNBLFlScnlDQzs7QVF3eUNUO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0ksT1J4ekNDOztBUXl6Q0Q7RUFDSTs7QUFFSjtFQUNJOztBQUtSO0VBQ0k7O0FBR0E7RUFDSTs7QUFJWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBT0o7RUE5Rko7SUErRlE7SUFDQTs7RUFDQTtJQUNJOztFQUdBO0lBRUk7OztBQU9aO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBTUk7OztBQWdCWjtBQUFBO0FBQUE7QUFJSTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUFXO0VBRVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQVk7O0FBRWhCO0VBRUk7O0FBR1I7RUFDSTtFQUFjO0VBQ2Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VIejVDUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUdzNUNZO0VBQ0E7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFFSOTdDQztFUSs3Q0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0ksYVJoOUNLO0VRaTlDTDtFQUFpQixPUjU4Q2hCO0VRNjhDRDtFQUNBOztBQUNBO0VBQ0ksT1JoOUNIOztBUW85Q0w7RUFDSSxPUm45Q0M7O0FRcTlDTDtFQUNJLE9SdjlDRTs7QVEyOUNWO0VBQ0k7SUFDSTs7O0FBR1I7RUFDSTtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7O0VBR0E7SUFDSTs7O0FBSVo7RUFDSTtJQUNJOzs7O0FBU1o7QUFBQTtBQUFBO0FBSUk7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHUjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTtJQUNJOztFQUNBO0lBQ0k7O0VBR1I7SUFDSTs7RUFFSjtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBQ0k7SUFDSTtJQUNBOzs7O0FBUVo7QUFBQTtBQUFBO0FBR0E7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0EsT1I5akRLO0VRK2pETDtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQWU7RUFDZjtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7O0FBR1I7RUFDSTtFQUNBLFlSbGxEQztFUW1sREQ7O0FBQ0E7RUFDSTtFQUNBLFlSdGxESDs7QVF5bERMO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFBYTtFQUNiOztBQUdSO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUdSO0VBQ0k7O0FBR1I7RUFDSTtJQUNJO0lBQ0E7OztBQUdSO0VBQ0k7SUFDSTtJQUNBOztFQUNBO0lBQ0k7SUFDQTtJQUNBOztFQUNBO0lBQ0k7SUFBYTtJQUNiOzs7QUFLaEI7RUFDSTtJQUNJOztFQUVKO0lBQ0k7SUFDQTs7OztBQVNaO0FBQUE7QUFBQTtBQUdBO0VBQ0k7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhUnZyREs7RVF3ckRMLE9SanJEQztFUWtyREQ7RUFDQTs7QUFFSjtFQUNJOztBQUlSO0VBQ0k7SUFDSTtJQUNBOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7RUFDQTtJQUNJO0lBQ0E7SUFDQTs7O0FBSVo7RUFDSTtJQUNJO0lBQ0E7Ozs7QUFRWjtBQUFBO0FBQUE7QUFJSTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFDQTtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsYVJ6dkRDO0VRMHZERDtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQWE7RUFDYjtFQUNBO0VBQ0EsT1I1dkROO0VRNnZETTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUFhOztBQUVqQjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0EsT1Ixd0RWOztBUWl4RE07RUFDSTs7QUFFSjtFQUNJOztBQUdSO0VBQ0ksT1J4eERQOztBUXl4RE87RUFDSSxPUjF4RFg7RVEyeERXLGNSM3hEWDs7QVE2eERPO0VBQ0k7O0FBRUo7RUFDSTtFQUNBLE9SbHlEWDs7QVF3eURUO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUFXO0VBQ1g7RUFBYztFQUNkO0VBRUE7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQVE7RUFDUjs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQWE7RUFDYjtFQUNBO0VBQ0E7O0FBSVo7RUFDSTtFQUNBO0VBQ0EsT1JuMkRDOztBUXUyRFQ7RUFDSTtJQUNJOzs7QUFHUjtFQUVJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBQ0E7SUFDSTs7RUFHQTtJQUNJOztFQUVKO0lBQ0k7SUFBYTtJQUNiOztFQUdSO0lBQ0k7OztBQUlaO0VBQ0k7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBO0lBQVc7SUFDWDtJQUNBO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFFSjtJQUNJOztFQUNBO0lBQ0k7SUFDQTs7RUFDQTtJQUNJOztFQUdBO0lBQ0k7SUFDQTtJQUFlO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7OztBQU94QjtFQUVJO0lBQ0k7O0VBR0E7SUFDSTtJQUNBLGNScDdERDs7RVFzN0RIO0lBQ0k7O0VBR1I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJOztFQUdBO0lBQ0k7O0VBR1I7SUFDSTs7OztBQVVoQjtBQUFBO0FBQUE7QUFLUTtFQUNJOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFHUjtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFSHIrRFo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBR3UrREk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxhUjNnRUs7RVE0Z0VMO0VBQ0E7RUFBVztFQUNYO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7RUFBUTtFQUNSO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQVk7O0FBRVo7RUFDSTtFQUNBO0VBQ0E7RUFBWTs7QUFHcEI7RUFFSTtFQUFZOztBQUNaO0VBQ0k7RUFDQTtFQUFZOztBQU1wQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTtJQUNJOztFQUdBO0lBQ0k7OztBQUlaO0VBQ0k7SUFDSTs7RUFDQTtJQUNJOztFQUdSO0lBQ0k7SUFDQTs7RUFHQTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7O0FBSVo7RUFFUTtJQUNJOztFQUdSO0lBQ0k7O0VBR0E7SUFDSTs7RUFFSjtJQUNJOzs7O0FBUWhCO0FBQUE7QUFBQTtBQUlJO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBR1I7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsYVI1b0VTO0VRNm9FVDtFQUNBO0VBQVc7RUFDWDtFQUNBOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7O0VBQ0E7SUFDSTs7RUFHUjtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7SUFDQTtJQUNBOztFQUNBO0lBQ0k7OztBQUlaO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJSDdxRVo7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUc2cUVBO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7OztBQUdSO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7O0FBUVo7QUFBQTtBQUFBO0FBSUk7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsT1I3dUVLO0VROHVFTDtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQWE7O0FBRWpCO0VBQ0ksT1JwdkVDOztBUXF2RUQ7RUFDSSxPUnR2RUg7O0FRdXZFRztFQUNJOztBQUtoQjtFQUNJO0lBQ0k7Ozs7QUFVWjtBQUFBO0FBQUE7QUFJSTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9SOXhFQzs7QVFneUVMO0VBQ0ksT1IveEVDOztBUWl5RUw7RUFDSTtFQUFhO0VBQ2I7RUFDQTs7QUFDQTtFQUNJO0VBQWE7O0FBR3JCO0VBQ0ksT1IxeUVDOztBUTR5RUw7RUFDQzs7QUFFRDtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0lBQ0k7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJO0lBQWE7SUFDYjs7RUFFSjtJQUNJO0lBQ0E7SUFDQTs7OztBQVFoQjtBQUFBO0FBQUE7QUFLSTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhUngyRUs7RVF5MkVMLE9ScDJFQztFUXEyRUQ7RUFBaUI7O0FBRXJCO0VBQ0k7RUFBaUIsT1J4MkVoQjtFUXkyRUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBRUo7RUFDSSxPUm4zRUg7RVFvM0VHOztBQUNBO0VBQ0ksT1JwM0VQOztBUXczRUw7RUFDSTtFQUNBOztBQUNBO0VBQ0k7O0FBSVo7RUFDSTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0lBQ0k7SUFDQTs7O0FBR1I7RUFDSTtJQUNJOztFQUdBO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBQ0E7SUFDSTs7O0FBS2hCO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7O0FBR1I7RUFDSTtJQUNJOzs7O0FBT1o7QUFBQTtBQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJLGFSajlFUztFUWs5RVQ7RUFBa0IsT1IzOEViO0VRNDhFTDtFQUNBOztBQUVKO0VBQ0k7RUFBaUIsT1JsOUVaO0VRbTlFTDs7QUFFSjtFQUNJOztBQUVKO0VBN0JKO0lBOEJROztFQUNBO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7O0FBSVI7RUE5Q0o7SUErQ1E7O0VBQ0E7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOzs7QUFXWjtBQUFBO0FBQUE7QUFHQTtFQUNJO0VBQ0E7RUFBUTtFQUNSO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7O0FBTWhCO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7QUFNUjtBQUFBO0FBQUE7QUFHQTtFQUNJO0VBQ0E7RUFBUTtFQUNSO0VBQWE7RUFDYjtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFBYTtFQUNiO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQWE7RUFDYjtFQUFhO0VBQ2I7RUFDQTtFQUNBOztBQUNBO0VBQ0ksT1JqbUZDOztBUW1tRkw7RUFDSTtFQUFhOztBQUdyQjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFNSjtFQUNJOztBQUVKO0VBQ0k7O0FBSUo7RUFDSTtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBQ0k7SUFDSTs7RUFFSjtJQUNJIiwiZmlsZSI6InN0eWxlcy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q29ybW9yYW50K0dhcmFtb25kOml0YWwsd2dodEAwLDQwMDswLDYwMDswLDcwMDsxLDQwMDsxLDcwMCZmYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDQwMDs2MDAmZGlzcGxheT1zd2FwJyk7IiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG5cbioge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGVtLCBpbWcsIHN0cm9uZywgc3ViLCBzdXAsIGIsIHUsIGksICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIHRhYmxlLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDEwMCU7XG59XG5oZWFkZXIsIG5hdiwgc2VjdGlvbiwgYXJ0aWNsZSwgYXNpZGUsIGZvb3RlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5odG1sIHsgIFxuICAgIGhlaWdodDoxMDAlOyBcbn1cbmJvZHkgeyAgXG4gICAgcG9zaXRpb246cmVsYXRpdmU7IFxuICAgIGhlaWdodDoxMDAlOyBcbiAgICBmb250LWZhbWlseTogJGZvbnQ7IFxuICAgIGNvbG9yOiAkY29sb3ItYm9keTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmctYm9keTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IGxoKDI0LCAxNik7XG59XG5ib2R5ICosXG5ib2R5ICo6YmVmb3JlLFxuYm9keSAqOmFmdGVyIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IFxufVxuXG5pbWcgeyBcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYSB7IFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXG4gICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xufVxuIiwiJGZvbnQ6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuJGZvbnQtY29ybW9yYW50OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7XHJcblxyXG4kYmctYm9keTogI0ZGRjtcclxuXHJcbiRjb2xvci1ib2R5OiAjMDAwO1xyXG4kY29sb3ItdGV4dDogIzQwNDA0MDtcclxuJGNvbG9yLWljb25zOiAjNzM3MzczO1xyXG4kY29sb3ItZ29sZDogIzhFNkEyMDtcclxuXHJcblxyXG4kd2lkdGgtY29udGFpbmVyOiAxNTIwcHg7XHJcbiRwZC1jb250YWluZXI6IDQwcHg7XHJcbiRwZC1jb250YWluZXItc206IDE1cHg7XHJcblxyXG4kbWQtZGVza3RvcC1sZzogMTY5OS45OHB4O1xyXG4kbWQtZGVza3RvcC1tZDogMTMzOS45OHB4O1xyXG4kbWQtZGVza3RvcDogMTE5OS45OHB4O1xyXG4kbWQtdGFibGV0OiAxMDIzLjk4cHg7XHJcbiRtZC10YWJsZXQtc206IDc2Ny45OHB4O1xyXG4kbWQtbW9iaWxlLWxnOiA2MDkuOThweDtcclxuJG1kLW1vYmlsZTogNDc4Ljk4cHg7XHJcbiRtZC1tb2JpbGUtc206IDM5OS45OHB4O1xyXG4kbWQtbW9iaWxlLXNteDogMzYwcHg7XHJcblxyXG4kaGVhZGVyLWg6IDEwMHB4O1xyXG4kaGVhZGVyLWgtbTogODBweDsiLCJcbi5jbGVhciB7IFxuICAgIGNsZWFyOiBib3RoOyBcbiAgICBoZWlnaHQ6IDA7IFxuICAgIG92ZXJmbG93OiBoaWRkZW47IFxuICAgIGZvbnQtc2l6ZTogMDtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJHdpZHRoLWNvbnRhaW5lcjsgXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcbiAgICAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIH1cdFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XG4gICAgICAgICBtYXgtd2lkdGg6IDExNzBweDtcbiAgICB9XHRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuICAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICB9XHRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgfVx0XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgJHBkLWNvbnRhaW5lcjtcbiAgICB9XHRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkge1xuICAgICAgICBwYWRkaW5nOiAwICRwZC1jb250YWluZXItc207XG4gICAgfVx0XG59XG5cblxuXG4ud3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7ICBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgIHotaW5kZXg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uY29udGVudF9fd3JhcHBlciB7XG4gICAgZmxleDogMSAwIGF1dG87XG59XG5cblxuXG4uaGlkZS1kZXNrdG9wLWxnIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5oaWRlLWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtdGFibGV0IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtdGFibGV0LXNtIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtbW9iaWxlLWxnIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmhpZGUtbW9iaWxlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnNob3ctZGVza3RvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC1kZXNrdG9wKyAwLjAycHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5zaG93LXRhYmxldCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC10YWJsZXQrIDAuMDJweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnNob3ctdGFibGV0LXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1kLXRhYmxldC1zbSsgMC4wMnB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uc2hvdy1tb2JpbGUtbGcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWQtbW9iaWxlLWxnKyAwLjAycHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5zaG93LW1vYmlsZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC1tb2JpbGUrIDAuMDJweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi5jb250ZW50X190ZXh0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgPiAqIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIFxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzE3MTcxNztcbiAgICB9XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgfVxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyBcbiAgICAgICAgY291bnRlci1yZXNldDogbnVtO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgdWwgbGk6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDExcHg7IFxuICAgICAgY29sb3I6ICRjb2xvci1ib2R5O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29udGVudDogJ+KAoic7XG4gICAgfVxuICAgIG9sIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBjb3VudGVyKG51bSkgJy4nOyBcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBudW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgIHRvcDogMHB4O1xuICAgIC8vICAgcmlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgXG4gICAgLy8gICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLWxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB9XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIH1cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG59XG5cblxuLm5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi5waGVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgJiArICoge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA1NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvcm1vcmFudDtcbiAgICB9XG4gICAgJl9fZGVzYyB7XG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgICBsaW5lLWhlaWdodDogbGgoMjgsMTgpO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcbiAgICAgICAgJiArIC5ibG9nZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVzYyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICYgKyAuYmxvZ2Qge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDQwLCAzNik7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVzYyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoMjQsMTYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkge1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uIHtcbiAgICAmX19oZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmLS10eHRsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xuICAgICAgICAmLS1tZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Rlc2Mge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI4LCAxOCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgfVxuICAgICZfX21nIHtcbiAgICAgICAgbWFyZ2luOiAxNjBweCAwO1xuICAgICAgICAmLS1tZCB7XG4gICAgICAgICAgICBtYXJnaW46IDEyMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbWdiIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTYwcHg7XG4gICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3BkIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICB9XG4gICAgJl9fcGR0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLWxnKSB7XG4gICAgICAgICZfX2hlYWQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICAmLS1tZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2ludHJvIHtcbiAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9ucyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgICB9XG4gICAgICAgICZfX21nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTIwcHggMDtcbiAgICAgICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19wZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcbiAgICAgICAgJl9faGVhZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgJi0tdHh0bCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faW50cm8ge1xuICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAmX19tZyB7XG4gICAgICAgICAgICBtYXJnaW46IDEwMHB4IDA7XG4gICAgICAgICAgICAmLS1tZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgICAmX19oZWFkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDQwLCAzNik7XG4gICAgICAgICAgICAmLS1tZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgzMiwgMjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2Rlc2Mge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgyNCwgMTYpO1xuICAgICAgICB9XG4gICAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICAmX19wZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDU2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWNvcm1vcmFudDtcbiAgICAmLS1tZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XG4gICAgICAgIGNvbG9yOiAjMTcxNzE3O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBsaCg0OCwgNDApO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBcbiAgICB9XG4gICAgJi0tc20ge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xuICAgICAgICBjb2xvcjogIzE3MTcxNztcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogbGgoMzYsIDMwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XG4gICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDsgXG4gICAgICAgIH1cbiAgICAgICAgJi0tc20ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDQwLCAzNik7XG4gICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgzMiwgMjQpO1xuICAgICAgICB9XG4gICAgICAgICYtLXNtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgzMiwgMjQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgfVxufVxuLnRleHQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAmLS1tZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDMyLCAyNCk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICB9XG4gICAgJi0tc20ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI4LCAxOCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICYtLW1kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgzMiwgMjQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuICAgICAgICBcbiAgICAgICAgJi0tbWQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG4gICAgICAgIFxuICAgICAgICAmLS1tZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi0tc20ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI0LCAxNik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc214KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgJi0tbWQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLm1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG5cbi5saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICMxNzE3MTc7IGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI0LCAxNik7XG4gICAgICAgIC8vcGFkZGluZy1ib3R0b206IDIycHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTIycHg7IHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdvbGQ7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgLy8gb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xuICAgICAgICAmX19iZCB7XG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhcmFsbGF4LWltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xuICAgIGhlaWdodDogMTEwJSAhaW1wb3J0YW50O1xufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbSkge1xuXG59IiwiLmxpc3Qge1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgICYgKyBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDlweDsgdG9wOiAwcHg7XG4gICAgICAgICAgICBjb250ZW50OiAnXFwyMDIyJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgICBsaSArIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmljb24ge1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgIGZpbGw6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICYtLWZpbGwge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHN0cm9rZTogaW5pdGlhbDtcbiAgICB9XG4gICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG59XG5cbi5zb2NpYWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE2cHg7XG4gICAgYSB7XG4gICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzczNzM3MztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICM4RTZBMjA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcbiAgICAgICAgLy8gYSB7XG4gICAgICAgIC8vICAgICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIC5pY29uIHtcbiAgICAgICAgLy8gICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIC8vIH1cbiAgICB9XG59ICAgXG5cblxuLnJhdGluZyB7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbjogMCAtMnB4O1xuICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgd2lkdGg6IDE5cHg7IGhlaWdodDogMThweDtcbiAgICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9zdGFyLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3Rhci1hY3RpdmUuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4ubGlua19fbW9yZSB7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJGNvbG9yLWdvbGQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiBsaCgyNCwgMTYpO1xuICAgIC5jbG9zZV90IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5vcGVuZWQgLm9wZW5fdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICYub3BlbmVkIC5jbG9zZV90IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBcbiAgICB9XG4gICAgLmljb24ge1xuICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuICAgICYub3BlbmVkIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xuICAgICAgICAmLm9wZW5lZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGVudF9fdG9nZ2xlIHtcbiAgICA+ICoge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmID4gOm50aC1jaGlsZCgxKSxcbiAgICAmID4gOm50aC1jaGlsZCgyKSxcbiAgICAmID4gOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLm9wZW5lZCA+ICoge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmID4gOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XG5cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNtKSB7XG5cbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbnN3aXBlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc3dpcGVyIHtcbn1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnN3aXBlci1mcmFjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICYtYnVsbGV0IHtcbiAgICBtYXJnaW46IDAgNHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MjUyNTI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgJi1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdvbGQ7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvci1nb2xkO1xuICAgIH1cbiAgfVxuXG4gICYtY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uc3dpcGVyLWJ1dHRvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5pY29uIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNTAlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1nb2xkO1xuICB9XG5cbiAgJi1uZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gICYtcHJldiB7XG4gICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLnN3aXBlci1zY3JvbGxiYXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcbiAgLnN3aXBlci1idXR0b24ge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcbiAgLnN3aXBlci1idXR0b24ge1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XG4gIC5zd2lwZXItYnV0dG9uIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gIH1cbn1cblxuXG5cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZm9ybXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIoJy5pbnB1dCcsIHJnYmEoMTE1LCAxMTUsIDExNSwgMSksIDEpO1xuXG4uaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG4uaW5wdXQ6Zm9jdXM6Oi1vLWlucHV0LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDt9XG4uaW5wdXQ6Zm9jdXM6Oi1tb3otaW5wdXQtcGxhY2Vob2xkZXIgeyAgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cbi5pbnB1dDpmb2N1czotbW96LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cbi5pbnB1dDpmb2N1czo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cbi5pbnB1dDpmb2N1czppbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6IHRyYW5zcGFyZW50OyBvcGFjaXR5OiAwO31cblxuaW5wdXRbcGxhY2Vob2xkZXJdICAgICAgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO31cbmlucHV0OjotbW96LXBsYWNlaG9sZGVyICAgICB7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9IFxuaW5wdXQ6LW1vei1wbGFjZWhvbGRlciAgICAgIHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO30gXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fVxuXG5cblxuLmJ0bixcbmlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyk7XG59XG5pbnB1dCwgYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO31cblxuXG5cbi5mb3JtIHtcbiAgICAmX19jb2xzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBncmlkLWdhcDogMCA0MHB4O1xuICAgIH1cbiAgICAmX19sYWJpbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgICZfX2lucHV0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgICZfX3BvbGl0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1pY29ucztcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgZ2FwOiAxMnB4OyBcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2J0biB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNDVweDtcbiAgICB9XG4gICAgJl9fc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICB9XG4gICAgJl9fbGFiZWwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICBcblxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLW1kKSB7XG5cbiAgICAgICAgJl9fY29scyB7XG4gICAgICAgICAgICBncmlkLWdhcDogMCAyNXB4O1xuICAgICAgICB9XG4gICAgICAgICZfX2lucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYnRuIHtcbiAgICAgICAgICAgIGdhcDogMjVweDtcbiAgICAgICAgfVxuICAgICAgICAmX19wb2xpdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XG4gICAgICAgICZfX2NvbHMge1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgICAgfVxuICAgICAgICAmX19wb2xpdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJtaXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xuXG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XG4gICAgICAgICZfX2NvbHMge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGluaXRpYWw7XG4gICAgICAgICAgICBnYXA6IDI0cHg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLmZvcm1fX3BvbGl0IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcblxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xuXG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNtKSB7XG5cbiAgICB9XG59XG5cbi5sYWJlbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC1nYXA6IDEycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi5pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NXB4OyBsaW5lLWhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nOiAwIDAgMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNUU1RTU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBcbiAgICBmb250LWZhbWlseTogJGZvbnQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAyNHB4OyBjb2xvcjogIzE3MTcxNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNzE3MTc7XG4gICAgfVxuICAgICY6Zm9jdXM6bm90KDpyZWFkLW9ubHkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTcxNzE3O1xuICAgIH1cbiAgICAmLmVycm9yIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRDYwMDAwO1xuICAgICAgICBjb2xvcjogI0Q2MDAwMDtcbiAgICAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIoJyYnLCByZ2JhKDIxNCwgMCwgMCwgMC43KSwgMSk7XG4gICAgfSAgICAgXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbn1cbnRleHRhcmVhLmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDE1cHggMjRweDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgaGVpZ2h0OiAxNDBweDtcbn1cbnRleHRhcmVhLmgtLW1kIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xufVxuXG5cbi5idG4ge1xuICBcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udDtcbiAgICBjb2xvcjogIzE3MTcxNzsgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiBsaCgyNCwgMTYpO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMnB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDsgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdvbGQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAvLyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi5qcS1jaGVja2JveCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0U1RTVFNTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgJjpob3ZlcixcbiAgICAuZm9ybV9fbGFiZWw6aG92ZXIgJixcbiAgICAubGFiZWw6aG92ZXIgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdvbGQ7XG4gICAgfVxuICAgICYuY2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvY2hlY2suc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdvbGQ7XG4gICAgICAgIC8vIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZGRkZGLCAwcHggMHB4IDBweCA0cHggIzBFQTVFOTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ29sZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLmNoZWNrZWQgJl9fZGl2IHtcbiAgICAgICAgXG4gICAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIoJGNsYXNzLCAkY29sb3IsICRvcGFjaXR5OjAuNikge1xyXG4gICAgI3skY2xhc3N9Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTo6LW8taW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306Oi1tb3otaW5wdXQtcGxhY2Vob2xkZXJ7IGNvbG9yOiAkY29sb3I7b3BhY2l0eTogJG9wYWNpdHk7fVxyXG4gICAgI3skY2xhc3N9Oi1tb3otaW5wdXQtcGxhY2Vob2xkZXJ7ICBjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyeyAgY29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc30gaW5wdXQtcGxhY2Vob2xkZXIgeyAgY29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbiAgICAjeyRjbGFzc306OnBsYWNlaG9sZGVyIHtjb2xvcjogJGNvbG9yO29wYWNpdHk6ICRvcGFjaXR5O31cclxuICAgICN7JGNsYXNzfTpwbGFjZWhvbGRlci1zaG93biB7Y29sb3I6ICRjb2xvcjtvcGFjaXR5OiAkb3BhY2l0eTt9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5KSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgLW1zLXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0eSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAgJHByb3BlcnR5IGVhc2UtaW4tb3V0O1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAgJHByb3BlcnR5IGVhc2UtaW4tb3V0O1xyXG4gICAgLW8tdHJhbnNpdGlvbjogICRwcm9wZXJ0eSBlYXNlLWluLW91dDtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAgJHByb3BlcnR5IGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbjogICRwcm9wZXJ0eSBlYXNlLWluLW91dDsgIFxyXG59XHJcblxyXG5AbWl4aW4gcGhvdG8tY292ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBsaCgkbGgsICRmcykge1xyXG4gICAgQHJldHVybiAje21hdGguZGl2KCRsaCwgJGZzKX07XHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuaGVhZGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgLmxvYWQgJiB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5Eb3duQmlnIDFzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLCAxLjAxKTtcclxuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDJzO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgfVxyXG5cdCZfX2lubmVyIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItaDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA5cHg7IHBhZGRpbmctYm90dG9tOiA5cHg7XHJcbiAgICB9XHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbWVudSB7XHJcbiAgICAgICAgJi1iZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgYm90dG9tOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAkaGVhZGVyLWgpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMywyMywyMywgMC41KTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEycHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDsgXHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQxcHg7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87IHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ1JTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLW9wZW5kcm9wIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1kcm9wIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwMCU7IGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygkaGVhZGVyLWggLyAyIC0gMjBweCAvIDIpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlOyB0b3A6IGNhbGMoJGhlYWRlci1oIC8gMiAtIDIwcHggLyAyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1ib2R5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U3RTVFNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgJiArIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaTpob3ZlciAmLWRyb3Age1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmX19waG9uZXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAmX19waG9uZSB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3NvY2lhbCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAmX19idXJnZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLWxnKSB7XHJcbiAgICAgICAgJl9fbWVudSB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWRyb3Age1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICYgKyBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob25lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19zb2NpYWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICAmX19waG9uZXMge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob25lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDNweCAwIDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob25lcyB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob25lIHtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J1cmdlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjhweDtcclxuICAgICAgICAgICAgd2lkdGg6IDMycHg7IGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgaW1nLCBzdmcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pY29uLWNsb3NlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmljb24tY2xvc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pY29uLW9wZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tZW51IHsgICBcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgyMCwgMTYpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1saW5rZHJvcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGlua2Ryb3A6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL21lbnUtbGlua2Ryb3Auc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXBvcyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1vcGVuZHJvcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1kcm9wIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAmLm9wZW5lZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1saW5rYXJyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDIwLCAxNik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvbWVudS1saW5rLWFyci5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtcHJldiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1wcmV2OjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCg0MCwgMzYpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvcm1vcmFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkgeyAgICAgICAgXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGNUY1RjU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1oLW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5uYXZmaXgge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogJGhlYWRlci1oOyBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogY2FsYygxMDB2aCAtICRoZWFkZXItaCk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgcGFkZGluZzogNDBweCAwIDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIFxyXG4gICAgXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBsaCg0MCwgMzYpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XHJcbiAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBjb2xvcjogIzczNzM3MztcclxuICAgICAgICAmLXJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1yb3cgKyAmLXJvdyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcGhvbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7ICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgdG9wOiAkaGVhZGVyLWgtbTtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAkaGVhZGVyLWgtbSk7XHJcbiAgICB9XHJcbn0iLCJcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbmZvb3RlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmZvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMjYyNjI2O1xyXG4gICAgJl9fdG9wIHtcclxuICAgICAgICBwYWRkaW5nOiA1NnB4IDAgNjRweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IDUwcHg7XHJcbiAgICB9XHJcbiAgICAmX19tZW51IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDkyMHB4O1xyXG4gICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICAmLWNvbCB7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvcm1vcmFudDtcclxuICAgICAgICAgICAgY29sb3I6ICNBM0EzQTM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDMyLCAyNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI0Q0RDRENDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgyOCwgMTgpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWxpbmsge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgzMiwgMjQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAmLXJvdyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcGhvbmUge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMzIsIDI0KTtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgICZfX3NvY2lhbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogNDhweDsgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI0U1RTVFNSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTI1MjUyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNTI1MjUyO1xyXG4gICAgICAgICAgICAgICAgLy9ib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiAjMjYyNjI2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbiAgICAmX19ib3R0b20ge1xyXG4gICAgICAgIHBhZGRpbmc6IDI0cHggMCAzMnB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNDA0MDQwO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDMwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNzM3MzczO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogIzczNzM3MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19wb2xpY3kge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgICZfX3RvcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCA1NnB4O1xyXG4gICAgICAgICAgICBnYXA6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xvZ28ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbWVudSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUwcHg7XHJcbiAgICAgICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnRhY3RzIHtcclxuICAgICAgICAgICAgJi1yb3cge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19waG9uZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICZfX3NvY2lhbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX190b3Age1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX21lbnUge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2JvdHRvbSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX21lbnUge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICYtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XHJcbiAgICAgICAgJl9fdG9wIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwIDI0cHg7XHJcbiAgICAgICAgICAgIGdhcDogNDBweDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbG9nbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbWVudSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiBpbml0aWFsO1xyXG4gICAgICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgICAgICYtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jb250YWN0cyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICYtcm93IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fc29jaWFsIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib3R0b20ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCBcImluYy9jb3JlXCI7XHJcblxyXG5AaW1wb3J0IFwiZm9udHNcIjtcclxuQGltcG9ydCBcInJlc2V0XCI7XHJcbkBpbXBvcnQgXCJjb21tb25cIjtcclxuQGltcG9ydCBcImVsZW1lbnRzXCI7XHJcbkBpbXBvcnQgXCJsaWJzXCI7XHJcbkBpbXBvcnQgXCJmb3Jtc1wiO1xyXG5AaW1wb3J0IFwiaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJmb290ZXJcIjtcclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5wcm9tb1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnByb21vIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEzMHB4O1xyXG4gICAgJiArICoge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAmX19zbGlkZXIge1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5sb2FkICYge1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGZhZGVJbiAxcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMCwgMS4wMSk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLW5hdiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAzMHB4OyByaWdodDogMzBweDtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0OHB4OyBcclxuICAgICAgICAgICAgLmxvYWQgJiB7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGZhZGVJbiAxcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMCwgMS4wMSk7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDJzO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpcGVyLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogaW5oZXJpdDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgaGVpZ2h0OiA3MDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogODBweDtcclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA1NnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5sb2FkICYge1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMCwgMS4wMSk7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWxpbmsge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNTBweDsgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgICAgICAgIC5sb2FkICYge1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAxcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMCwgMS4wMSk7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuNXM7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciBpbWcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgICAgICZfX3NsaWRlciB7XHJcbiAgICAgICAgICAgICYtbmF2IHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMzBweDsgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fc2xpZGVyIHtcclxuICAgICAgICAgICAgJi1uYXYge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxNzBweDsgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjQwcHg7XHJcbiAgICAgICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fc2xpZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0xKiRwZC1jb250YWluZXI7XHJcbiAgICAgICAgICAgICYtbmF2IHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICRwZC1jb250YWluZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoNDAsIDM2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5hYm91dFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmFib3V0IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzMHB4O1xyXG4gICAgfVxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgfVxyXG4gICAgJl9fcGhvdG8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6ICBmbGV4LWVuZDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDsgdG9wOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0U1RTlFQyAyOS40MyUsIHJnYmEoMjI5LCAyMzMsIDIzNiwgMCkgMzUuNDYlLCByZ2JhKDIyOSwgMjMzLCAyMzYsIDApIDgxLjA1JSwgI0RFRTBFNCA4OC41MyUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlOWVjO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogIGZsZXgtc3RhcnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBwYWRkaW5nOiAxMTBweCAwIDQwcHggNDBweDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX25hbWUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgfVxyXG4gICAgJl9fd29yayB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICBjb2xvcjogIzczNzM3MztcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI4LCAxOCk7XHJcbiAgICB9XHJcbiAgICAmX19kZXNjIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNDA0MDQwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMjgsIDE4KTtcclxuICAgIH1cclxuICAgICZfX21vcmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBtYXJnaW46IDE0MHB4IGF1dG8gMDtcclxuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTMycHg7IGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDgwcHg7IFxyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2NTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pbmZvIHtcclxuICAgICAgICAgICAgcGFkZGluZzogODBweCAwIDIwcHggNDBweDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fd29yayB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZGVzYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbW9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2luZm8ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3dvcmsge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2Rlc2Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faW5uZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHtcclxuICAgICAgICAmX193b3JrIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19kZXNjIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5wb3B1bGFyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucG9wdWxhciB7XHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDcycHggODBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDsgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTcxNzE3O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi1waG90bzpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDsgdG9wOiBjYWxjKDEwMCUgLSA3MnB4KTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNjBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi1pbmZvIHtcclxuICAgICAgICAgICAgdG9wOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1vcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgJi1vcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRlc2Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgICYtZGVzYyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1saW5rIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyICAmLWxpbmsge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDYwcHggNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IGNhbGMoMTAwJSAtIDcycHgpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIgJi1pbmZvIHtcclxuICAgICAgICAgICAgICAgIHRvcDogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWRlc2Mge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgJi1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7IHRvcDogY2FsYygxMDAlIC0gNDBweCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciAmLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtZGVzYyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwOyB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLW9wIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnJlc3VsdHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5yZXN1bHRzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmX19jYXJvdXNlbCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICAgICAgLnN3aXBlci1zbGlkZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICYtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19zbGlkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogNTMlO1xyXG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIC5zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5NEEzQjg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5MCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLnJlc3VsdHNfX3NsaWRlciAmIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDgzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMzJweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDI5cHggMTNweCAyNHB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi0tYmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi0tYWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYm94IHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICBncmlkLWdhcDogODBweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGVzYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtc2xpZGVyIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZXN1bHRzX19zbGlkZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC00MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcclxuICAgICAgICAmX19zbGlkZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2JveCAucmVzdWx0c19fc2xpZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0zMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMTZweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxOHB4IDZweCAxOHB4O1xyXG4gICAgICAgICAgICAgICAgJi0tYmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi0tYWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19zbGlkZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib3gge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDI0cHg7XHJcbiAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1kZXNjIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlc3VsdHNfX3NsaWRlciAge1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2JveCAucmVzdWx0c19fc2xpZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0yOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDEycHggNHB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICAmLS1iZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLS1hZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYm94IHtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLWxnKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJl9fYm94IC5yZXN1bHRzX19zbGlkZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUpIHtcclxuICAgICAgICAmX19zbGlkZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbXgpIHtcclxuICAgICAgICAmX19zbGlkZXIge1xyXG4gICAgICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgJi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMTBweCAzcHggMTBweDtcclxuICAgICAgICAgICAgICAgICYtLWJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtLWFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnJldmlld3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5yZXZpZXdzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDsgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgd2lkdGg6IDk3cHg7IGhlaWdodDogODhweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01NSUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL2thdi10aXRsZS5zdmcpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY2Fyb3VzZWwge1xyXG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xyXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAmLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgdG9wOiA4MHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1wcmV2IHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDIxJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLW5leHQge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIxJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmLW5hbWUge1xyXG4gICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvcm1vcmFudDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICBjb2xvcjogIzQwNDA0MDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wLWxnKSB7XHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NnB4OyBoZWlnaHQ6IDc0cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01NSUsIC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMxNzE3MTc7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM0MDQwNDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4uYnJlYWRjcnVtYnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5icmVhZGNydW1icyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogNDBweCAwIDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMjQsIDE2KTtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pY29ucztcclxuICAgICAgICAgICAgY29udGVudDogJ+KAlCc7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItaWNvbnM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgIFxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2xpc3Qge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMSokcGQtY29udGFpbmVyIDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW06bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG5cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlKSB7XHJcblxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtc20pIHtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLmRvY3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5kb2NzIHtcclxuICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICAuc3dpcGVyLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHRvcDogMzIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgICAgICBsZWZ0OiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTsgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg0JTsgbWF4LWhlaWdodDogODQlO1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNTgpKSBkcm9wLXNoYWRvdyg4cHggMTJweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbW9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzLCAyMywgMjMsIDAuNik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI4LCAxOCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvbHVwZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtcGhvdG86aG92ZXIgJi1tb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWluZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDglO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRhdGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRTVFNUU1O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzUyNTI1MjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoMjAsIDE0KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9ICAgXHJcbiAgICAgICAgJi1uYW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICM0MDQwNDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI4LCAxOCk7IFxyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgJi1waG90byB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtZGF0ZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAmLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5ibG9nXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYmxvZyB7XHJcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICBncmlkLWdhcDogNDBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwcHg7XHJcbiAgICAgICAgJi1waG90byB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4NSU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciBpbWcge1xyXG4gICAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLW1vcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDsgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMywgMjMsIDIzLCAwLjYpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgyOCwgMTgpO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtcGhvdG86aG92ZXIgJi1tb3JlIHtcclxuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRhdGUge1xyXG4gICAgICAgICAgICBjb2xvcjogIzUyNTI1MjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzE3MTcxNztcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRlc2Mge1xyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6MztcclxuICAgICAgICAgICAgZGlzcGxheTotd2Via2l0LWJveDtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTI1MjUyO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH0gICBcclxuICAgICZfX3B1YmxpY2F0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNTI1MjUyO1xyXG4gICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudXAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNvcnRVcCB7XHJcbiAgICAgICAgICAgICAgICAuZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC51cCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDMycHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1waG90byB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtZGF0ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1kZXNjIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX3B1YmxpY2F0aW9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUtbGcpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZSkge1xyXG5cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNtKSB7XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5ibG9nZFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmJsb2dkIHtcclxuICAgICZfX2NvbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMi4zZnIgMWZyO1xyXG4gICAgICAgIGdyaWQtZ2FwOiA4MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFNUU1O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFNUU1O1xyXG5cclxuICAgIH1cclxuICAgICZfX3ByZXYge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNDQ0MDNDO1xyXG4gICAgICAgICAgICBnYXA6IDEycHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fZGF0ZSB7XHJcbiAgICAgICAgY29sb3I6ICAjNDA0MDQwO1xyXG4gICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1kIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3Bob3RvIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2xlZnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcHJldiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2RhdGUge1xyXG4gICAgICAgICAgICAmLXQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lciAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zaGFyZSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7IFxyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xyXG4gICAgfVxyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZBRkFGQTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U1RTVFNTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pY29ucztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0U1RTVFNTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvcHkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEOUQ5RDk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaWNvbnM7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19wb3B1cCB7XHJcbiAgICAgICAgLnBvcHVwX19jb250ZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvcHVwX19jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucG9wdXBfX2Nsb3NlIHtcclxuICAgICAgICAgICAgdG9wOiAxM3B4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2hhcmVfX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoMzIsIDI0KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvcm1vcmFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4ucGFnaW5hdGlvbiBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wYWdpbmF0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFNUU1O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEycHg7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1pbi13aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICYtLW5leHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXByZXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICBtaW4td2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIGNvbG9yOiAjMEYxNzJBO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI0U1RTVFNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jdXJyZW50IHtcclxuICAgICAgICAgICAgY29sb3I6ICNFNUU1RTU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2l0ZW0tLW5leHQgJl9fbGluayxcclxuICAgICZfX2l0ZW0tLXByZXYgJl9fbGluayB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzQwNDA0MDtcclxuICAgICAgICAuaG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdvbGQgIWltcG9ydGFudDsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY3RpdmUge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgY29sb3I6ICM0MDQwNDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgLmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faXRlbS0tbmV4dCAmX19saW5rIHtcclxuICAgICAgICAuaG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX190c2hvd24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiAjNDA0MDQwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMjQsIDE2KTtcclxuICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgJl9fdHNob3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtLW5leHQgc3BhbixcclxuICAgICAgICAgICAgJi0tcHJldiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2xpc3Qge1xyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW06bnRoLWNoaWxkKDEpLFxyXG4gICAgICAgICZfX2l0ZW06bnRoLWNoaWxkKDIpLFxyXG4gICAgICAgICZfX2l0ZW06bnRoLWNoaWxkKDMpLFxyXG4gICAgICAgICZfX2l0ZW06bnRoLWxhc3QtY2hpbGQoMSksXHJcbiAgICAgICAgJl9faXRlbTpudGgtbGFzdC1jaGlsZCgyKSxcclxuICAgICAgICAmX19pdGVtLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1tb2JpbGUpIHtcclxuXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1zbSkge1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLmNhdGFsb2dcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jYXRhbG9nIHtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDYwcHggODBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmLWxpbmsge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDsgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvOyByaWdodDogNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7IGhlaWdodDogMTYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxOHB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjRTVFNUU1O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBob3RvLWNvdmVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1saW5rOmhvdmVyICYtcGhvdG8ge1xyXG4gICAgICAgICAgICAvLyBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtY2lyY2xlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgICAgICBmaWxsOiBub25lO1xyXG4gICAgICAgICAgICBzdHJva2U6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xyXG4gICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5OiA1MDU7XHJcbiAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA1MDU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWxpbms6aG92ZXIgJi1jaXJjbGUge1xyXG4gICAgICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoMzIsIDI0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1saW5rOmhvdmVyICYtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGVzYyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaWNvbnM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDMycHggNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLXBob3RvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5kZXRhaWxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5kZXRhaWwge1xyXG4gICAgJl9fY29scyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDgwcHg7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJl9fZGVzYyB7XHJcbiAgICAgICAgbWFyZ2luOiA2NHB4IDAgNDZweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2Rlc2Mge1xyXG4gICAgICAgICAgICBtYXJnaW46IDMycHggMCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcCkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEqJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMSokcGQtY29udGFpbmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5pbmRpY2F0aW9uXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaW5kaWNhdGlvbiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJl9fY29scyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICB9XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMTAwcHggMCA2NXB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI4LCAxOCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDsgXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwcHg7IGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1wbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNUY1RjU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y1RjVGNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1tbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjRjVGNUY1O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1oZWFkIHtcclxuICAgICAgICAgICAgY29sb3I6ICMxNzE3MTc7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ExQTFBQTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNTI1MjUyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7IGhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLW1uICYtaGVhZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNBMUExQUE7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjRDRENEQ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLW1uICYtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICAmLWhlYWQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggJHBkLWNvbnRhaW5lciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLTEqJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnN0YWdlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnN0YWdlcyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xyXG4gICAgJl9faGVhZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgICZfX2hsaW5rIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDYwcHggODBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICYtbnVtYiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4OyBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFNUU1RTU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1tZCkge1xyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDQwcHggNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2hsaW5rIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW1zIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDQwcHggNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgJi1udW1iIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnByaWNlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnByaWNlcyB7XHJcbiAgICAmX19tdyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICAgICZfX2NvbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA4MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fbmF2cyB7XHJcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTVFNUU1O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICAkY29sb3ItaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5ob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgIH1cclxuICAgICZfX3JvdyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMzAsIDI0KTtcclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTVweDsgbGVmdDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4OyB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9kb3R0ZWQuc3ZnKSByZXBlYXQteCBib3R0b207XHJcblxyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMTcxNzE3O1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xyXG4gICAgICAgICAgICAvLyBncmlkLWdhcDogMTZweDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwOyBsZWZ0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnByaWNlc19fcm93LS1zYWxlICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7IGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3NhbGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICZfX3RleHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3JvdyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAxMnB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBzcGFuOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucHJpY2VzX19yb3ctLXNhbGUgJiBzcGFuOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLXZhbCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19uYXZzIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7IGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFNUU1O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xMnB4OyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldC1zbSkge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAmX190ZXh0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbmF2cyB7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMSokcGQtY29udGFpbmVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGQtY29udGFpbmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3JvdyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogNHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBsaCgyOCwgMTgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNUU1RTU7XHJcbiAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi12YWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4uc2FsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnNhbGUge1xyXG4gICAgJl9fY2Fyb3VzZWwge1xyXG4gICAgICAgIC5zd2lwZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgdG9wOiAzNSU7XHJcbiAgICAgICAgICAgICYtcHJldntcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1uZXh0IHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICBncmlkLWdhcDogNjBweCA0MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgJi1waG90byB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDg0JTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGhvdG8tY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciBpbWcge1xyXG4gICAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXZhbHVlIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTsgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1waG90bzpob3ZlciAmLXZhbHVlIHtcclxuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbW9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzLCAyMywgMjMsIDAuNik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI4LCAxOCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgwKSByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1waG90bzpob3ZlciAmLW1vcmUge1xyXG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1kZXNjIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoMjQsIDE2KTtcclxuICAgICAgICAgICAgY29sb3I6ICM1MjUyNTI7XHJcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDozO1xyXG4gICAgICAgICAgICBkaXNwbGF5Oi13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3ApIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMHB4IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLXZhbHVlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0KSB7XHJcbiAgICAgICAgJl9fY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcclxuICAgICAgICAgICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMnB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLXZhbHVlIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDk2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1tb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICAgICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbXMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgICYtcGhvdG8ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWRlc2Mge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnNhbGVkXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uc2FsZWQge1xyXG4gICAgJl9fY29scyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDgwcHg7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2Rlc2Mge1xyXG4gICAgICAgIG1hcmdpbjogNDhweCAwIDQ4cHg7XHJcbiAgICB9XHJcbiAgICAmX19waG90byB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgJl9fdmFsdWUge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvcm1vcmFudDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlOyB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgJl9fYm94IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtZGVza3RvcC1sZykge1xyXG4gICAgICAgICZfX2NvbHMge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICAmX19jb2xzIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZGVzYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzJweCAwIDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2JveCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC1kZXNrdG9wKSB7XHJcbiAgICAgICAgJl9fY29scyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fcmlnaHQge1xyXG4gICAgICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fZGVzYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19waG90byB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwaG90by1jb3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9fcGhvdG8ge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMiokcGQtY29udGFpbmVyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xKiRwZC1jb250YWluZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEqJHBkLWNvbnRhaW5lcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLW1vYmlsZS1sZykge1xyXG4gICAgICAgICZfX3Bob3RvIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDkwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fdmFsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDk2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmFuYWx5c2VzIHtcclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJl9faGRvd24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgJl9fZG93bmxvYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGgoMjgsIDE4KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTI1MjUyO1xyXG4gICAgICAgICAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgICAgICAgICByZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faGRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4uZmFxXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZmFxIHtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNENEQ0RDQ7XHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWhlYWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMzBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAmLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXBsdXMge1xyXG4gICAgICAgICAgICB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaGVhZDpob3ZlciAmLXBsdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub3BlbmVkICYtcGx1cyB7XHJcbiAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICAgICAgJl9faXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtcGx1cyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtYm9keSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbi5jb250YWN0c1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNvbnRhY3RzIHtcclxuXHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG4gICAgICAgIGdyaWQtZ2FwOiA4MHB4O1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAmLS1jYWxsIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyBcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFNUU1O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb3Jtb3JhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXZhbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbGgoMjgsIDE4KTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogMTZweDtcclxuICAgICAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdvbGQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1waG9uZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMTcxNzE3O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMTcxNzE3O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbWFwIHtcclxuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgLnltYXBzLTItMS03OS1ncm91bmQtcGFuZSB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbWQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0MHB4IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtdmFsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgXHJcbiAgICAgICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogICRtZC10YWJsZXQtc20pIHtcclxuICAgICAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faXRlbS0tY2FsbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19tYXAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDgwcHggLTEqJHBkLWNvbnRhaW5lciAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtbW9iaWxlLXNteCkge1xyXG4gICAgICAgICZfX21hcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNjBweCAtMSokcGQtY29udGFpbmVyLXNtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4uZXJyb3I0MDRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5lcnJvcjQwNCB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogNDBweCAyMHB4IDEwMHB4O1xyXG5cclxuICAgICZfX2xvZ28gaW1nIHtcclxuICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICB9XHJcbiAgICAmX19jb250IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICB9XHJcbiAgICAmX19udW1iIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtY29ybW9yYW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTI4cHg7IGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gICAgfVxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxoKDI0LCAxNik7XHJcbiAgICB9XHJcbiAgICAmX19idXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZC10YWJsZXQrMC4wMnB4KSBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4OyAgICAgIFxyXG4gICAgICAgICZfX2xvZ28gaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19jb250IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbnVtYiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLXRhYmxldCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDsgICAgICBcclxuICAgICAgICAmX19sb2dvIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fY29udCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX251bWIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDk2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQtdGFibGV0LXNtKSB7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuLnByZWxvYWRlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnByZWxvYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5OTk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhdGgge1xyXG4gICAgICAgIGZpbGw6ICM3MzczNzM7XHJcbiAgICB9XHJcbiAgICBzdmcge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICB9XHJcbiAgICAmX19hbmltIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJi1oaWRkZW4ge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHJlbG9hZGVyIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0OyBcclxuICAgICAgICAgICAgcGF0aCB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiAjMEQwODAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiAgICAgICAgICAgXHJcbkBrZXlmcmFtZXMgcHJlbG9hZGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn0gIFxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxucG9wdXBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5wb3B1cCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgJl9fYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB9XHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA5MjBweDtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDMwcHggNzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgICZfX2Nsb3NlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDEzcHg7IHRvcDogLTYwcHg7XHJcbiAgICAgICAgd2lkdGg6IDM0cHg7IGhlaWdodDogMzRweDtcclxuICAgICAgICBjb2xvcjogI0EzQTNBMztcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ29sZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2JvZHkge1xyXG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmX19oZWFkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgXHJcbiAgICAmX19pY29udGhhbmsge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgICAmLXRoYW5rICZfX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1kLWRlc2t0b3AtbGcpIHtcclxuICAgICAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgICAgIHRvcDogLTIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZfX2hlYWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19ib2R5IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC1oZWlnaHQ6IDY1MHB4KSBhbmQgKG1pbi13aWR0aDogJG1kLXRhYmxldCswLjAycHgpIHtcclxuICAgICAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgICAgIHRvcDogMTNweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZC10YWJsZXQpIHtcclxuICAgICAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgICAgIHRvcDogMTNweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9faGVhZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSJdfQ== */


.prices__row-label span:before {
  width: 16px;
  height: 100%;
  background: none;
  position: absolute;
  top: 0;
  left: 100%;
  content: "";
}


.single-services .big_btn_orange,
.single-promo .link__bd,
.orange_btn {
  display: inline-block;
  position: relative;
  color: #171717;
  font-size: 16px;
  line-height: 1.5;
  transition: all 0.3s ease-in-out;
  border: 2px solid #ffab00;
  padding: 20px 30px;
  cursor: pointer;
}

.single-services .big_btn_orange:after,
.single-promo .link__bd:after,
.orange_btn:after {
  content: none;
}

.single-services .big_btn_orange:hover,
.single-promo .link__bd:hover,
.orange_btn:hover {
  background: #ffab00;
  color: #000000 !important;
}

.promo_head_btn {
  bottom: 30px;
  width: 100%;
  margin-top: 30px;
}

@media(max-width: 575px) {
  .promo_head_btn {
    margin-top: 20px;
  }
}

@media (max-width: 450px) {
  .promo_head_btn {
    margin-top: 16px;
  }

  /*.promo_head_btn .orange_btn {
    padding: 14px 4px;
    width: 100%;
    text-align: center;
  }*/
}

.promo__item {
  height: 700px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: flex-start;
  padding: 80px;
  flex-direction: column;
  justify-content: center;
}

.show-more-pubs-wrapper {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

.show-more-pubs {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 18px;
  line-height: 1.5555555556;
  flex-wrap: wrap;
  text-align: center;
  border: 2px solid #ffab00;
  padding: 10px;
}

.show-more-pubs-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.show-more-pubs-link {
  width: 48px;
  height: 48px;
  color: #e5e5e5 !important;
  border: 1px solid #525252;
  border-radius: 100%;
  transition: all .3s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.show-more-pubs-link:hover {
  background: rgba(0, 0, 0, 0.2);
  transition: all .3s ease-in-out;
}

.show-more-pubs-link .icon {
  width: 24px;
  height: 24px;
}

.show-more-pubs-link .icon--fill {
  fill: #525252;
}

/*.icon--youtube {
  stroke: unset;
}
.icon--youtube path {
  stroke: unset;
  !*fill: #737373;*!
  fill: red;
}*/
.contacts__item-val a:hover .icon--youtube path,
.social a:hover .icon--youtube path {
  fill: #8e6a20;
}

.icon--youtube-footer path {
  fill: #fff;
}

@media (max-width: 1699.98px) {
  .show-more-pubs-link {
    width: 40px;
    height: 40px;
  }

  .show-more-pubs-link .icon {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 480px) {
  .show-more-pubs-link {
    width: 40px;
    height: 40px;
  }

  .show-more-pubs-link .icon {
    width: 16px;
    height: 16px;
  }
}

.orange_btn__invert {
  background: #ffab00;
}

.orange_btn__invert:hover {
  background: transparent;
}

.embed-responsive.embed-responsive-9by16 {
  padding-bottom: 177.25%;
}

.embed-responsive.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}

.embed-responsive.embed-responsive-4by3 {
  padding-bottom: 75%;
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
  width: 100%;
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 991px) {
  .results__carousel.shorts-carousel .swiper-slide {
    opacity: 1;
  }
}

.form__text {
  font-size: 24px;
  line-height: 120%;
  color: #737373;
  margin-bottom: 20px;
}

.radio-custom .wpcf7-list-item {
  position: relative;
  margin-bottom: 5px;
  display: block;
  overflow: hidden;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid-column;
}

.radio-custom .input {
  -webkit-appearance: auto;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.radio-custom .wpcf7-list-item-label {
  position: relative;
  padding-left: 26px;
  font-size: 18px;
  line-height: 23px;
  color: #000000;
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
}

.radio-custom .wpcf7-list-item-label::before {
  position: absolute;
  top: 3px;
  left: 0;
  display: block;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  content: " ";
  border: 2px solid #8e6a20;
  border-radius: 50%;
}

.radio-custom input:checked+.wpcf7-list-item-label::before {
  background: radial-gradient(circle, #8e6a20, #8e6a20 3px, white 4px, white 16px);
  border: 1px solid #8e6a20;
}

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

.centered-btn-block {
  text-align: center;
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mobile-wa-btn {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 10;
}

.mobile-wa-btn {
  width: 54px;
}

.mobile-wa-btn-img {
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .mobile-wa-btn {
    display: block;
  }
}

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

.morecontent span {
  display: none;
}

.morecontent-btn {
  color: #8e6a20;
  white-space: nowrap;
  text-decoration: underline dashed currentColor;
}

/*Плитка тегов*/
.tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  height: 45px;
  overflow: hidden;
}

.active .tags-list {
  height: auto;
}

.tags-list-btn {
  cursor: pointer;
  color: #404040;
  border-bottom: 1px dashed currentColor;
}

.active .tags-list-btn {
  display: none;
}

.tags-list-item {
  border: 1px solid #d4d4d4;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  padding: 0 12px;
  text-decoration: none;
  color: #404040;
  font-size: 14px;
  transition: .3s;
}

.tags-list-item:focus {
  border-color: #d4d4d4;
  color: #404040;
}

.tags-list-item:hover {
  border-color: #ffab00;
  background: #ffab00;
  color: #404040;
  transition: .3s;
}

@media (max-width: 767px) {
  .tags-list {
    height: 40px;
  }

  .tags-list-item {
    height: 36px;
    padding: 0 10px;
    font-size: 12px;
  }
}

/*END Плитка тегов*/

.w-100 {
  width: 100%;
}

.works-video {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 16px;
  display: block;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.play-block {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.play-block::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 9;
  width: 64px;
  height: 64px;
  content: '';
  background: url(../images/play-btn.svg) no-repeat;
  background-size: 100% auto;
  transform: translate(-50%, -50%);
}

.play-block-bg {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  z-index: -1;
}

.btn-note {
  color: #737373;
  font-size: 14px;
  line-height: 120%;
  max-width: 300px;
  margin-top: 8px;
}

.btn-note a,
.btn-note a:focus {
  color: #737373;
  text-decoration: underline;
}

.btn-note a:hover {
  color: #737373;
  text-decoration: none;
}

.header__contacts-separator {
  margin-right: 20px;
}

@media (max-width: 767px) {
  .btn-note {
    font-size: 12px;
  }

  .header__contacts-separator {
    margin-right: 0;
  }
}

@media(max-width: 480px) {
  .promo_head_btn .btn-note {
    font-size: 10px;
  }
}

.header__social-wa.icon--fill {
  fill: #00A356;
}

.header__social-tg.icon--fill {
  fill: #5DBEF3;
}

.header__social-tg-canal.icon--fill {
  fill: #1A67FF;
}

/*Слайдер в услугах*/

.detail__col .section__title {
  margin-top: 20px;
}

@media (max-width: 1199.98px) {
  .detail__cols {
    display: block;
  }
}

@media (min-width: 1200px) {
  .detail__col .results__slider {
    width: auto;
  }
}

@media (max-width: 1199.98px) {
  .detail__col {
    max-width: 100%;
    margin-bottom: 32px;
  }
}

@media (max-width: 767.98px) {
  .detail__col {
    margin-left: 0;
    margin-right: 0;
  }
}

/*END Слайдер в услугах*/

.modal-mess {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
}

.modal-mess-btn {
  gap: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  line-height: 120%;
  color: #000;
}

.modal-mess-3-items .modal-mess-btn {
  font-size: 16px;
}

.modal-mess-btn img {
  width: 32px;
}

/*@media (max-width: 767px) {
  .modal-mess-3-items {
    flex-direction: column;
    align-items: start;
    gap: 20px;
  }
}*/
@media (max-width: 767px) {
  .modal-mess {
    /*flex-direction: column;
    align-items: start;*/
    justify-content: center;
    gap: 20px;
  }
}

.saled__col .prices__row-wrapper {
  display: none;
}

.visible-xx {
  display: none;
}

.visible-xs {
  display: none;
}

@media (max-width: 575px) {
  .hidden-xx {
    display: none;
  }

  .visible-xx {
    display: block;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none;
  }

  .visible-xs {
    display: block;
  }
}

.patients-info .accord-toggle {
  border-bottom: 1px solid #000;
  cursor: pointer;
  transition: 0.1s;
}

.patients-info .accord-toggle:hover {
  border-bottom-color: transparent;
  transition: 0.1s;
}

.patients-info .accord-body {
  display: none;
}

.footer__menu-title.accord-toggle {
  pointer-events: none;
}

@media (max-width: 767px) {
  .footer__top {
    padding-bottom: 26px;
  }

  .footer__menu {
    gap: 0;
  }

  .footer__menu-col.accord-item.opened {
    margin-bottom: 30px;
  }

  .footer__menu-title.accord-toggle {
    pointer-events: auto;
  }

  .footer__menu-col .accord-body {
    display: none;
  }

  .footer__menu-title.address {
    font-size: 15px;
  }
}

@media (max-width: 575px) {
  .footer__menu-title.address {
    font-size: 11px;
  }
}

@media (max-width: 478.98px) {
  .footer__top {
    gap: 20px;
  }

  .footer__menu {
    margin-top: 20px;
  }

  .footer__menu-title.address {
    font-size: 12px;
  }
}

.results-tabs {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 35px;
}

.results-tab {
  padding: 8px 16px;
  border: 1px solid #8e6a20;
  font-weight: 500;
  font-size: 16px;
  line-height: 131%;
  color: #171717;
  border-radius: 4px;
  cursor: pointer;
  margin-right: 10px;
  margin-bottom: 10px;
}

.results-tab.active {
  background-color: #8e6a20;
  color: #ffffff;
}

.results-tab a {
  color: inherit;
}

.results-block {
  position: relative;
  z-index: 1;
}

.results__work .results__item {
  border-radius: 10px;
  box-shadow: 0px 4px 6px rgba(102, 102, 102, 0.4);
  cursor: pointer;
}

.results__work .results__item-label {
  display: none;
}

.results__work .swiper-button {
  width: 60px;
  height: 60px;
}

.results-carousel-work.swiper {
  position: initial;
  opacity: 0;
}

.results-carousel-work.swiper.swiper-initialized {
  opacity: 1;
}

.results-carousel-work .swiper-button-prev {
  left: -30px;
}

.results-carousel-work .swiper-button-next {
  right: -30px;
}

.results-popup-swiper.swiper {
  position: inherit;
}

.results-popup-swiper .swiper-button,
.results-carousel-work .swiper-button {
  border: 1px solid black;
}

.results-popup-swiper .swiper-button:hover,
.results-carousel-work .swiper-button:hover {
  border-color: #8e6a20;
}

@media(max-width: 1399px) {
  .results__work .swiper-button {
    width: 40px;
    height: 40px;
  }

  .results-carousel-work .swiper-button-prev {
    left: 0;
  }

  .results-carousel-work .swiper-button-next {
    right: 0;
  }
}

@media(max-width: 1199px) {
  .results-carousel-work .swiper-button-prev {
    left: -20px;
  }

  .results-carousel-work .swiper-button-next {
    right: -20px;
  }
}

@media(max-width: 767px) {
  .results-carousel-work.swiper {
    height: 350px;
  }

  .results-carousel-work .swiper-slide {
    height: calc((100% - 20px) / 3);
  }

  .results-carousel-work .results__item,
  .results-carousel-work .embed-responsive.embed-responsive-9by16 {
    padding-bottom: 0;
    height: 100%;
  }

  .results-carousel-work .swiper-button-prev {
    left: 0;
  }

  .results-carousel-work .swiper-button-next {
    right: 0;
  }
}

.photos-carousel-wrap {
  position: relative;
}

.photos-carousel.swiper {
  position: initial;
}

.photos-carousel .results__item {
  padding-bottom: 0;
  min-height: 475px;
  -webkit-box-shadow: 0 10px 21px -17px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0 10px 21px -17px rgba(0, 0, 0, 0.75);
  box-shadow: 0 10px 21px -17px rgba(0, 0, 0, 0.75);
  border-radius: 5px;
}

.photos-carousel .swiper-button {
  width: 60px;
  height: 60px;
  border: 1px solid black;
}

.photos-carousel .swiper-button:hover {
  border-color: #8e6a20;
}

.photos-carousel .swiper-button-prev {
  left: -30px;
}

.photos-carousel .swiper-button-next {
  right: -30px;
}

@media(max-width: 1399px) {
  .photos-carousel .swiper-button {
    width: 40px;
    height: 40px;
  }

  .photos-carousel .swiper-button-prev {
    left: 0;
  }

  .photos-carousel .swiper-button-next {
    right: 0;
  }
}

@media(max-width: 1199px) {
  .photos-carousel .swiper-button-prev {
    left: -20px;
  }

  .photos-carousel .swiper-button-next {
    right: -20px;
  }
}

@media(max-width: 767px) {
  .photos-carousel .swiper-button-prev {
    left: 0;
  }

  .photos-carousel .swiper-button-next {
    right: 0;
  }
}

.reviews-one-carousel .swiper-button {
  border: 1px solid black;
  top: 0;
  transform: translateY(0);
}

.reviews-one-carousel .swiper-button:hover {
  border-color: #8e6a20;
}

@media(max-width: 575px) {
  .reviews-one-carousel .swiper-button {
    top: 40px;
  }
}

.about__links {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.about__links__item {
  padding: 8px 16px;
  border: 1px solid #8e6a20;
  font-weight: 500;
  font-size: 16px;
  line-height: 131%;
  color: #171717;
  border-radius: 4px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.about__links__item a {
  color: #171717;
}

.about__links__item:hover {
  background-color: #8e6a20;
  color: #fff;
}

.about__links__item:hover a {
  color: #fff;
}