/* Reset and base styles  */
* {
  padding: 0px;
  margin: 0px;
  border: none;
}

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

/* Links */
a, a:link, a:visited {
  color: inherit;
  text-decoration: none;
}

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

/* Common */
aside, nav, footer, header, section, main {
  display: block;
}

h1, h2, h3, h4, h5, h6, p {
  font-size: inherit;
  font-weight: inherit;
}

ul, ul li {
  list-style: none;
}

img {
  vertical-align: top;
}

img, svg {
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

/* Form */
input, textarea, button, select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
}

input::-ms-clear {
  display: none;
}

button, input[type=submit] {
  display: inline-block;
  box-shadow: none;
  background-color: transparent;
  background: none;
  cursor: pointer;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  cursor: pointer;
}

legend {
  display: block;
}

@font-face {
  font-family: "Rubik-Light";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/Rubik-Light.ttf) format("truetype");
}
@font-face {
  font-family: "Rubik-Regular";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/Rubik-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "Rubik-Medium";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/Rubik-Medium.ttf) format("truetype");
}
@font-face {
  font-family: "Rubik-Bold";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/Rubik-Bold.ttf) format("truetype");
}
* {
  scroll-behavior: smooth;
}

.container {
  width: 100%;
  max-width: 1470px;
  padding: 0 15px;
  margin: 0 auto;
}
@media (max-width: 1440px) {
  .container {
    max-width: 1270px;
  }
}
@media (max-width: 1200px) {
  .container {
    max-width: 1040px;
  }
}
@media (max-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (max-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (max-width: 576px) {
  .container {
    max-width: 540px;
  }
}

.title {
  font-family: "Rubik-Bold", sans-serif;
  font-weight: normal;
  font-size: 36px;
  color: #131313;
  line-height: 43px;
}
@media (max-width: 1200px) {
  .title {
    font-size: 32px;
    line-height: 38.44px;
  }
}
@media (max-width: 992px) {
  .title {
    font-size: 24px;
    line-height: 28.44px;
  }
}

.text {
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #565656;
  line-height: 36px;
}
@media (max-width: 1200px) {
  .text {
    font-size: 16px;
    line-height: 32px;
  }
}
@media (max-width: 768px) {
  .text {
    font-size: 12px;
    line-height: 24px;
  }
}

header {
  width: 100%;
  position: fixed;
  padding: 50px 0;
  transition: 0.3s all ease;
  z-index: 999;
}
@media (max-width: 992px) {
  header {
    padding: 20px 0;
    height: 82px;
  }
}
header.sticky {
  background-color: #fff;
  box-shadow: 0 5px 20px rgba(140, 140, 140, 0.25);
  padding: 20px 0;
}

.logo-wrap {
  padding-right: 20px;
  z-index: 1;
}
@media (max-width: 992px) {
  .logo-wrap {
    padding-right: 40px;
  }
}

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

.top-menu {
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 16px;
  color: #565656;
}
.top-menu__list {
  display: flex;
  justify-content: flex-end;
  transition: 0.3s all ease;
}
@media (max-width: 992px) {
  .top-menu__list {
    display: none;
  }
}
.top-menu__list.active {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  overflow: hidden;
}
.top-menu__list.active li {
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 20px;
  color: #565656;
  padding: 15px 0;
}
.top-menu__item:not(:last-child) {
  margin-right: 60px;
}
@media (max-width: 1440px) {
  .top-menu__item:not(:last-child) {
    margin-right: 20px;
  }
}
.top-menu__link {
  transition: 0.3s all ease;
}
.top-menu__link:hover {
  opacity: 0.7;
}
.top-menu .hamburger {
  display: none;
}
@media (max-width: 992px) {
  .top-menu .hamburger {
    display: block;
  }
}

.language-toggler {
  position: relative;
}
.language-toggler__btn {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}
.language-toggler__btn:hover {
  opacity: 0.7;
}
.language-toggler svg {
  transition: 0.3s all ease;
  transform: rotate(180deg);
}
.language-toggler span {
  width: 50px;
  transition: 0.3s all ease;
}
.language-toggler_open svg {
  transform: rotate(0deg);
}
.language-toggler_open > .language-dropdown {
  display: flex;
  width: 80px;
  visibility: visible;
  transition: 0.3s all ease;
}

.language-dropdown {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  display: none;
  flex-direction: column;
  position: absolute;
  right: 0;
  margin-top: 10px;
  box-shadow: 0px 0px 10px rgba(140, 140, 140, 0.25);
  border-radius: 4px;
  padding: 0px 10px;
  width: 80px;
  transition: 0.3s all ease;
}
.language-dropdown__item {
  width: 100%;
  text-align: center;
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 16px;
  color: #565656;
  line-height: 24px;
  padding: 6px 0;
  cursor: pointer;
}
.language-dropdown__item:hover {
  opacity: 0.7;
}
.language-dropdown__item:not(:last-child) {
  border-bottom: 1px solid rgba(38, 38, 38, 0.1);
}
.language-dropdown__item.active {
  opacity: 0.7;
}

.hero {
  height: 100vh;
  background-image: url("/assets/img/hero-violet.png");
  background-repeat: no-repeat;
  background-position: right 165px;
  background-size: 40% 100%;
}
@media (max-width: 1200px) {
  .hero {
    background-size: 50% 100%;
  }
}
@media (max-width: 992px) {
  .hero {
    background-size: 30% 100%;
  }
}
@media (max-width: 576px) {
  .hero {
    padding-top: 102px;
    background-size: 80% 299px;
    background-position: right 102px;
    height: 90vh;
  }
}
.hero-square {
  position: absolute;
  top: 110px;
  left: 0;
  filter: blur(11px);
}
@media (max-width: 576px) {
  .hero-square {
    display: none;
  }
}
.hero-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  position: relative;
}
@media (max-width: 576px) {
  .hero-row {
    flex-direction: column-reverse;
    justify-content: flex-end;
  }
}
.hero-heading {
  padding-right: 20px;
  max-width: 525px;
}
@media (max-width: 1200px) {
  .hero-heading {
    max-width: 363px;
  }
}
@media (max-width: 576px) {
  .hero-heading {
    text-align: center;
    padding-right: 0;
  }
}
.hero-heading__title {
  font-family: "Rubik-Bold", sans-serif;
  font-weight: normal;
  font-size: 48px;
  color: #131313;
  line-height: 56.88px;
  padding-bottom: 45px;
}
@media (max-width: 1200px) {
  .hero-heading__title {
    font-size: 32px;
    line-height: 38.44px;
    padding-bottom: 38px;
  }
}
@media (max-width: 992px) {
  .hero-heading__title {
    font-size: 24px;
    line-height: 28.44px;
    padding-bottom: 22px;
  }
}
.hero-heading__title span {
  display: inline-block;
  color: #7421B0;
  background-image: url("/assets/img/click-bg.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 0 8px;
  margin-left: -8px;
}
.hero-heading__subtitle {
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #565656;
  line-height: 36px;
  padding-bottom: 70px;
}
@media (max-width: 1200px) {
  .hero-heading__subtitle {
    font-size: 16px;
    line-height: 21.6px;
    padding-bottom: 50px;
  }
}
@media (max-width: 992px) {
  .hero-heading__subtitle {
    font-size: 12px;
    line-height: 21.44px;
    padding-bottom: 30px;
  }
}
.hero-image {
  position: relative;
  z-index: 2;
}
@media (max-width: 576px) {
  .hero-image {
    padding-top: 30px;
    margin-bottom: 162px;
  }
}
.hero-image figcaption {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 282px;
  height: 108px;
  right: 200px;
  bottom: -72px;
  background: url("/assets/img/img-caption-bg.png");
  color: #fff;
  border-radius: 10px;
  font-family: "Rubik-Light", sans-serif;
  font-weight: normal;
  font-size: 16px;
  color: #fff;
  line-height: 25.6px;
  padding: 28px 50px;
}
@media (max-width: 992px) {
  .hero-image figcaption {
    right: 20px;
    font-size: 12px;
    line-height: 19.2px;
    width: 186px;
    height: 80px;
    bottom: -52px;
    padding: 15px 25px;
  }
}
@media (max-width: 576px) {
  .hero-image figcaption {
    left: calc(50% - 93px);
  }
}
.hero-arrow {
  width: 46px;
  height: 46px;
  position: absolute;
  bottom: 0;
}
.hero-arrow:hover {
  opacity: 0.7;
}
@media (max-width: 576px) {
  .hero-arrow {
    display: none;
  }
}
.hero .big-line {
  position: absolute;
  top: 50%;
  pointer-events: none;
  width: 100%;
}
@media (max-width: 576px) {
  .hero .big-line {
    top: 40%;
  }
}

.welcome {
  padding-top: 160px;
  padding-bottom: 80px;
}
@media (max-width: 1200px) {
  .welcome {
    padding-top: 60px;
    padding-bottom: 30px;
  }
}

.capture {
  position: relative;
  z-index: 5;
}
.capture-square {
  object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.capture-line {
  width: 100%;
  max-height: 260px;
  object-fit: cover;
  position: absolute;
  top: 0px;
  right: 0;
  z-index: -2;
}
.capture-blur {
  object-fit: contain;
  position: absolute;
  top: 150px;
  left: 0;
  z-index: -1;
}
@media (max-width: 1200px) {
  .capture-blur {
    top: 50px;
  }
}

.click {
  position: relative;
}
.click-bg {
  position: absolute;
  right: 0;
  top: -50px;
  z-index: -1;
}
@media (max-width: 1200px) {
  .click-bg {
    width: 60%;
    top: 0;
  }
}

.link {
  position: relative;
}
.link-bg {
  position: absolute;
  left: 0;
  top: -100px;
  z-index: -1;
}
@media (max-width: 1200px) {
  .link-bg {
    width: 60%;
    top: 0;
  }
}
.link-image {
  position: relative;
}
.link-image .image-description {
  position: absolute;
  left: 122px;
  bottom: -80px;
  max-width: 461px;
  padding: 30px;
  background: rgba(196, 196, 196, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(20px);
  border-radius: 16px;
}
@media (max-width: 1200px) {
  .link-image .image-description {
    bottom: 0;
    padding: 15px;
    border-radius: 10px;
  }
}
@media (max-width: 768px) {
  .link-image .image-description {
    width: 70%;
    max-width: max-content;
    margin: 0 auto;
    left: 0;
    right: 0;
  }
}
.link-image .image-description strong {
  color: #131313;
}
.link-image .image-description__text {
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 16px;
  color: #565656;
  line-height: 170%;
}
@media (max-width: 1200px) {
  .link-image .image-description__text {
    font-size: 12px;
  }
}
@media (max-width: 1200px) {
  .link-heading {
    margin-top: 30px;
  }
}

.editor {
  position: relative;
}
.editor-bg {
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
@media (max-width: 1200px) {
  .editor-bg {
    width: 60%;
    top: 0;
  }
}
.editor-line {
  position: absolute;
  right: 0;
  left: 0;
  bottom: -250px;
  z-index: -1;
  width: 100%;
  pointer-events: none;
}
@media (max-width: 1440px) {
  .editor-line {
    bottom: -150px;
  }
}
@media (max-width: 1200px) {
  .editor-line {
    bottom: -100px;
  }
}

.features {
  padding-top: 250px;
  padding-bottom: 100px;
}
@media (max-width: 1440px) {
  .features {
    padding-top: 150px;
  }
}
@media (max-width: 768px) {
  .features {
    padding-top: 150px;
  }
}
.features-list {
  padding-bottom: 90px;
}
@media (max-width: 992px) {
  .features-list {
    padding-bottom: 60px;
  }
}
.features-row {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.functions {
  position: relative;
  z-index: 3;
  min-height: 300px;
  padding-bottom: 60px;
}
@media (max-width: 992px) {
  .functions {
    padding-bottom: 45px;
  }
}
@media (max-width: 576px) {
  .functions {
    padding-bottom: 30px;
  }
}
.functions::before {
  content: "";
  position: absolute;
  left: 2%;
  right: 2%;
  top: 0;
  bottom: 0;
  z-index: -1;
  background: linear-gradient(45deg, rgba(215, 211, 221, 0.1) 14%, rgba(223, 212, 238, 0.1));
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 30px;
  backdrop-filter: blur(20px);
}
@media (max-width: 576px) {
  .functions::before {
    left: 0;
    right: 0;
    border-radius: 0;
  }
}
.functions-ball {
  position: absolute;
  right: 8%;
  top: -100px;
  bottom: 0;
  z-index: -2;
  pointer-events: none;
}
@media (max-width: 992px) {
  .functions-ball {
    max-width: 151px;
    top: -60px;
  }
}
.functions-cylinder {
  position: absolute;
  left: 0;
  top: 300px;
  bottom: 0;
  z-index: -2;
  pointer-events: none;
}
@media (max-width: 992px) {
  .functions-cylinder {
    max-width: 151px;
  }
}
.functions-cylinder-right {
  position: absolute;
  right: 0;
  top: 50%;
  bottom: 0;
  z-index: -2;
  pointer-events: none;
}
@media (max-width: 992px) {
  .functions-cylinder-right {
    max-width: 50%;
  }
}
.functions-line {
  position: absolute;
  bottom: 18%;
  width: 100%;
  pointer-events: none;
}
@media (max-width: 992px) {
  .functions-line {
    display: none;
  }
}
.functions-title {
  padding: 100px 0;
}
.functions-title span {
  color: #7421B0;
}
@media (max-width: 992px) {
  .functions-title {
    padding: 75px 0;
  }
}
@media (max-width: 576px) {
  .functions-title {
    text-align: center;
    padding: 30px 0;
  }
}
.functions-list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 30px;
  margin-bottom: 200px;
}
@media (max-width: 992px) {
  .functions-list {
    margin-bottom: 100px;
  }
}
@media (max-width: 576px) {
  .functions-list {
    padding: 0;
    margin-bottom: 60px;
  }
}
.functions-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  width: 30%;
}
@media (max-width: 992px) {
  .functions-item {
    width: 100%;
    flex-direction: row;
    margin-bottom: 60px;
  }
}
@media (max-width: 576px) {
  .functions-item {
    width: 100%;
    flex-direction: column;
    margin-bottom: 40px;
  }
}
.functions-item .item-icon {
  margin-bottom: 40px;
}
@media (max-width: 992px) {
  .functions-item .item-icon {
    margin-bottom: 0;
    margin-right: 60px;
  }
}
@media (max-width: 576px) {
  .functions-item .item-icon {
    margin: 0 auto 30px;
  }
}
.functions-item .item-icon__image {
  max-height: 111px;
  object-fit: cover;
}
@media (max-width: 1200px) {
  .functions-item .item-icon__image {
    max-width: 80px;
  }
}
@media (max-width: 576px) {
  .functions-item .item-text {
    text-align: center;
  }
}
.functions-item .item-text .text-title {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 60px;
}
@media (max-width: 992px) {
  .functions-item .item-text .text-title {
    padding-bottom: 30px;
  }
}
@media (max-width: 576px) {
  .functions-item .item-text .text-title {
    padding-bottom: 20px;
    justify-content: center;
    text-align: center;
  }
}
.functions-item .item-text .text-title__number {
  font-family: "Rubik-Bold", sans-serif;
  font-weight: normal;
  font-size: 36px;
  color: #7421B0;
  padding-right: 50px;
}
@media (max-width: 992px) {
  .functions-item .item-text .text-title__number {
    padding-right: 30px;
    font-size: 20px;
  }
}
.functions-item .item-text .text-title__title {
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 24px;
  color: #131313;
  max-width: 100px;
}
@media (max-width: 992px) {
  .functions-item .item-text .text-title__title {
    font-size: 18px;
  }
}
@media (max-width: 576px) {
  .functions-item .item-text .text-title__title {
    max-width: max-content;
  }
}
.functions-item .item-text__description {
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #565656;
  line-height: 200%;
  padding-right: 15px;
}
@media (max-width: 992px) {
  .functions-item .item-text__description {
    font-size: 14px;
  }
}
@media (max-width: 576px) {
  .functions-item .item-text__description {
    font-size: 12px;
    padding-left: 15px;
  }
}
.functions-item .item-text__description:not(:last-child) {
  padding-bottom: 30px;
}
.functions-steps__title {
  margin-bottom: 100px;
}
@media (max-width: 992px) {
  .functions-steps__title {
    margin-bottom: 60px;
  }
}
@media (max-width: 576px) {
  .functions-steps__title {
    margin-bottom: 30px;
    text-align: center;
  }
}
.functions-steps__title span {
  color: #7421B0;
}
.functions-steps .steps-list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-grow: 0;
  flex-shrink: 0;
  margin-bottom: 60px;
  padding: 0 20px;
}
@media (max-width: 576px) {
  .functions-steps .steps-list {
    margin-bottom: 40px;
    padding: 0;
  }
}
.functions-steps .steps-item {
  width: 32%;
}
@media (max-width: 992px) {
  .functions-steps .steps-item {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .functions-steps .steps-item:not(:last-child) {
    margin-bottom: 60px;
  }
}
@media (max-width: 576px) {
  .functions-steps .steps-item:not(:last-child) {
    margin-bottom: 30px;
  }
}
.functions-steps .steps-item__title {
  color: #7421B0;
  margin-bottom: 60px;
}
@media (max-width: 992px) {
  .functions-steps .steps-item__title {
    margin-bottom: 30px;
    font-size: 18px;
  }
}
.functions-steps .steps-item .item-image {
  position: relative;
  background: #FFFFFF;
  box-shadow: 0 18px 45px -10px rgba(0, 0, 0, 0.13);
  border-radius: 10px;
  width: 100%;
  max-width: 460px;
  height: 200px;
  margin: 0 auto 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all ease 0.1s;
}
@media (max-width: 992px) {
  .functions-steps .steps-item .item-image {
    height: 192px;
    margin: 0 auto 30px;
  }
}
@media (max-width: 576px) {
  .functions-steps .steps-item .item-image {
    max-width: 345px;
    height: 150px;
    margin: 0 auto 20px;
  }
}
.functions-steps .steps-item .item-image__description {
  position: absolute;
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 12.5px;
  color: rgba(116, 33, 176, 0.3);
  line-height: 180%;
  transition: all ease 0.1s;
}
.functions-steps .steps-item .item-image__button {
  position: absolute;
  visibility: hidden;
  transition: all ease 0.1s;
}
.functions-steps .steps-item .item-image:hover .item-image__description {
  opacity: 0;
}
.functions-steps .steps-item .item-image:hover .item-image__button {
  visibility: initial;
}
.functions-steps .steps-item .item-description {
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #565656;
  line-height: 180%;
}
@media (max-width: 992px) {
  .functions-steps .steps-item .item-description {
    font-size: 14px;
  }
}
@media (max-width: 576px) {
  .functions-steps .steps-item .item-description {
    font-size: 12px;
  }
}
.functions-steps .steps-item .item-description strong {
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: inherit;
  color: #7421B0;
  display: block;
}
@media (max-width: 992px) {
  .functions-steps .steps-item .item-description strong {
    display: inline;
  }
}
.functions-row {
  display: flex;
  align-items: center;
  justify-content: center;
}

.useful {
  padding-top: 334px;
  padding-bottom: 200px;
}
@media (max-width: 992px) {
  .useful {
    padding-top: 234px;
    padding-bottom: 100px;
  }
}
@media (max-width: 576px) {
  .useful {
    padding-top: 155px;
    padding-bottom: 60px;
  }
}
.useful-title {
  position: relative;
}
.useful-title__cloud {
  position: absolute;
  left: 15%;
  top: -120px;
  padding: 40px 24px 8px;
  max-width: 228px;
  height: 114px;
  background: url("/assets/img/useful/union.png") no-repeat center/contain;
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 16px;
  color: #565656;
  line-height: 160%;
}

.faq {
  position: relative;
  padding-top: 100px;
  padding-bottom: 173px;
  overflow: hidden;
}
@media (max-width: 992px) {
  .faq {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.faq::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  background: linear-gradient(45deg, rgba(215, 211, 221, 0.1) 14%, rgba(223, 212, 238, 0.1));
}
.faq-wrapper {
  position: relative;
}
.faq-wrapper__cone {
  position: absolute;
  top: 90px;
  left: -150px;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 992px) {
  .faq-wrapper__cone {
    max-width: 200px;
    top: 130px;
    left: -120px;
  }
}
.faq-wrapper__cylinder {
  position: absolute;
  max-width: 200px;
  top: 300px;
  right: 250px;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 992px) {
  .faq-wrapper__cylinder {
    max-width: 100px;
    top: 320px;
  }
}
@media (max-width: 576px) {
  .faq-wrapper__cylinder {
    right: 40px;
  }
}
.faq-wrapper__sphere {
  position: absolute;
  max-width: 150px;
  top: 684px;
  right: -60px;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 992px) {
  .faq-wrapper__sphere {
    right: 60px;
  }
}
.faq-wrapper__sphere-small {
  position: absolute;
  max-width: 150px;
  top: 587px;
  right: -130px;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 992px) {
  .faq-wrapper__sphere-small {
    top: 610px;
    right: 15px;
  }
}
.faq-title {
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 60px;
  font-size: 48px;
  line-height: 57px;
}
@media (max-width: 992px) {
  .faq-title {
    font-size: 24px;
    line-height: 28px;
  }
}
.faq-list {
  width: 100%;
}
.faq-list .faq-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-grow: 0;
  flex-shrink: 0;
  background: rgba(196, 196, 196, 0.1);
  border: 4px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: 50px;
}
@media (max-width: 576px) {
  .faq-list .faq-item {
    padding: 30px 40px;
  }
}
.faq-list .faq-item:not(:last-child) {
  margin-bottom: 40px;
}
@media (max-width: 992px) {
  .faq-list .faq-item:not(:last-child) {
    margin-bottom: 20px;
  }
}
.faq-list .faq-item__toggler {
  cursor: pointer;
  transition: 0.3s all ease;
}
.faq-list .faq-item__toggler:hover {
  opacity: 0.7;
}
.faq-list .faq-item__toggler.active {
  transform: rotate(135deg);
}
.faq-list .faq-item__content {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 80%;
  gap: 50px;
}
@media (max-width: 576px) {
  .faq-list .faq-item__content {
    flex-direction: column;
    gap: 20px;
  }
}
.faq-list .faq-item__content .content__number {
  color: #7421B0;
}
.faq-list .faq-item__content .content-row__title {
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 24px;
  color: #131313;
  margin-bottom: 20px;
}
@media (max-width: 576px) {
  .faq-list .faq-item__content .content-row__title {
    font-size: 20px;
  }
}
.faq-list .faq-item__content .content-row__description {
  visibility: hidden;
  height: auto;
  max-height: 0;
  overflow: hidden;
  transition: 0.3s all ease;
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #565656;
  line-height: 32.4px;
}
@media (max-width: 992px) {
  .faq-list .faq-item__content .content-row__description {
    font-size: 14px;
    line-height: 25.2px;
  }
}
@media (max-width: 576px) {
  .faq-list .faq-item__content .content-row__description {
    font-size: 12px;
    line-height: 21.6px;
  }
}
.faq-list .faq-item__content .content-row__description.active {
  visibility: visible;
  height: auto;
  max-height: 500px;
}

.join {
  position: relative;
  padding: 200px 0;
}
@media (max-width: 992px) {
  .join {
    padding-bottom: 100px;
  }
}
@media (max-width: 576px) {
  .join {
    padding-bottom: 60px;
  }
}
.join-line {
  position: absolute;
  width: 100%;
  top: -120px;
  pointer-events: none;
}
@media (max-width: 992px) {
  .join-line {
    top: 0;
  }
}
.join-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.join-image {
  position: relative;
  width: 40%;
  height: 210px;
  background-image: url("/assets/img/join/bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  border: 3px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
}
@media (max-width: 1440px) {
  .join-image {
    width: 80%;
    margin-bottom: 50px;
  }
}
@media (max-width: 992px) {
  .join-image {
    width: 100%;
  }
}
.join-image__cone {
  position: absolute;
  top: -90px;
  right: 24%;
  z-index: -1;
}
.join-image__diskette {
  position: absolute;
  bottom: -20px;
  right: 5%;
  z-index: 1;
}
.join-description {
  width: 50%;
  padding: 0 30px 0 150px;
}
@media (max-width: 1440px) {
  .join-description {
    width: 100%;
    padding: 0 30px;
    justify-self: center;
    text-align: center;
    margin: 0 auto;
  }
}
.join-description__text {
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 36px;
  color: #131313;
  line-height: 140%;
  margin-bottom: 60px;
  max-width: 700px;
}
@media (max-width: 1440px) {
  .join-description__text {
    width: 100%;
    padding: 0 30px;
    justify-self: center;
    text-align: center;
    margin: 0 auto 60px;
  }
}
@media (max-width: 992px) {
  .join-description__text {
    font-size: 24px;
    margin-bottom: 30px;
  }
}
@media (max-width: 576px) {
  .join-description__text {
    font-size: 18px;
  }
}

.footer {
  background-color: #fafafa;
  padding: 60px 0;
}
@media (max-width: 992px) {
  .footer {
    padding: 50px 0;
  }
}
@media (max-width: 576px) {
  .footer {
    padding: 30px 0;
  }
}
.footer-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer-menu {
  width: 70%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 992px) {
  .footer-menu {
    width: 100%;
    margin-top: 30px;
  }
}
.footer-list {
  padding-bottom: 20px;
}
.footer-list:not(:last-child) {
  padding-right: 30px;
}
.footer-list__item {
  font-family: "Rubik-Regular", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #565656;
  line-height: 200%;
}
.footer-list__item a:hover {
  opacity: 0.7;
}
@media (max-width: 992px) {
  .footer-list__item {
    font-size: 14px;
  }
}
@media (max-width: 576px) {
  .footer-list__item {
    font-size: 12px;
  }
}
.footer-list__item_heading {
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 20px;
  color: #131313;
  padding-bottom: 15px;
}
@media (max-width: 992px) {
  .footer-list__item_heading {
    font-size: 18px;
  }
}
@media (max-width: 576px) {
  .footer-list__item_heading {
    font-size: 14px;
  }
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 0px 0px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #131313;
}

.hamburger-box {
  width: 30px;
  height: 18px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 30px;
  height: 2px;
  background-color: #131313;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -8px;
}
.hamburger-inner::after {
  bottom: -8px;
}

/*
 * 3DX
 */
.hamburger--3dx .hamburger-box {
  perspective: 60px;
}
.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(180deg);
}
.hamburger--3dx.is-active .hamburger-inner::before {
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--3dx.is-active .hamburger-inner::after {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
}

/*
 * 3DX Reverse
 */
.hamburger--3dx-r .hamburger-box {
  perspective: 60px;
}
.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(-180deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
}

/*
 * 3DY
 */
.hamburger--3dy .hamburger-box {
  perspective: 60px;
}
.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(-180deg);
}
.hamburger--3dy.is-active .hamburger-inner::before {
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--3dy.is-active .hamburger-inner::after {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
}

/*
 * 3DY Reverse
 */
.hamburger--3dy-r .hamburger-box {
  perspective: 60px;
}
.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
}

/*
 * 3DXY
 */
.hamburger--3dxy .hamburger-box {
  perspective: 60px;
}
.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg);
}
.hamburger--3dxy.is-active .hamburger-inner::before {
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--3dxy.is-active .hamburger-inner::after {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
}

/*
 * 3DXY Reverse
 */
.hamburger--3dxy-r .hamburger-box {
  perspective: 60px;
}
.hamburger--3dxy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
}
.hamburger--3dxy-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--3dxy-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
}

/*
 * Arrow
 */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-6px, 0, 0) rotate(-45deg) scale(0.7, 1);
}
.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-6px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Arrow Right
 */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(6px, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(6px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Alt
 */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-6px, -7.5px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-6px, 7.5px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Alt Right
 */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(6px, -7.5px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(6px, 7.5px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Turn
 */
.hamburger--arrowturn.is-active .hamburger-inner {
  transform: rotate(-180deg);
}
.hamburger--arrowturn.is-active .hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrowturn.is-active .hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Turn Right
 */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  transform: rotate(-180deg);
}
.hamburger--arrowturn-r.is-active .hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}
.hamburger--arrowturn-r.is-active .hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Boring
 */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none;
}
.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg);
}
.hamburger--boring.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--boring.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse .hamburger-inner::after {
  top: -16px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Collapse Reverse
 */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r .hamburger-inner::after {
  top: -16px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse-r .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -8px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Elastic
 */
.hamburger--elastic .hamburger-inner {
  top: 1px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic .hamburger-inner::before {
  top: 8px;
  transition: opacity 0.125s 0.275s ease;
}
.hamburger--elastic .hamburger-inner::after {
  top: 16px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 8px, 0) rotate(135deg);
  transition-delay: 0.075s;
}
.hamburger--elastic.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic.is-active .hamburger-inner::after {
  transform: translate3d(0, -16px, 0) rotate(-270deg);
  transition-delay: 0.075s;
}

/*
 * Elastic Reverse
 */
.hamburger--elastic-r .hamburger-inner {
  top: 1px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r .hamburger-inner::before {
  top: 8px;
  transition: opacity 0.125s 0.275s ease;
}
.hamburger--elastic-r .hamburger-inner::after {
  top: 16px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 8px, 0) rotate(-135deg);
  transition-delay: 0.075s;
}
.hamburger--elastic-r.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -16px, 0) rotate(270deg);
  transition-delay: 0.075s;
}

/*
 * Emphatic
 */
.hamburger--emphatic {
  overflow: hidden;
}
.hamburger--emphatic .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}
.hamburger--emphatic .hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}
.hamburger--emphatic .hamburger-inner::after {
  top: 8px;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}
.hamburger--emphatic.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}
.hamburger--emphatic.is-active .hamburger-inner::before {
  left: -60px;
  top: -60px;
  transform: translate3d(60px, 60px, 0) rotate(45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic.is-active .hamburger-inner::after {
  right: -60px;
  top: -60px;
  transform: translate3d(-60px, 60px, 0) rotate(-45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Emphatic Reverse
 */
.hamburger--emphatic-r {
  overflow: hidden;
}
.hamburger--emphatic-r .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}
.hamburger--emphatic-r .hamburger-inner::before {
  left: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}
.hamburger--emphatic-r .hamburger-inner::after {
  top: 8px;
  right: 0;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}
.hamburger--emphatic-r.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent !important;
}
.hamburger--emphatic-r.is-active .hamburger-inner::before {
  left: -60px;
  top: 60px;
  transform: translate3d(60px, -60px, 0) rotate(-45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic-r.is-active .hamburger-inner::after {
  right: -60px;
  top: 60px;
  transform: translate3d(-60px, -60px, 0) rotate(45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Minus
 */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}
.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}
.hamburger--minus.is-active .hamburger-inner::before {
  top: 0;
}
.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0;
}

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
  top: 1px;
}
.hamburger--slider .hamburger-inner::before {
  top: 8px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}
.hamburger--slider .hamburger-inner::after {
  top: 16px;
}
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-4.2857142857px, -6px, 0);
  opacity: 0;
}
.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, -16px, 0) rotate(-90deg);
}

/*
 * Slider Reverse
 */
.hamburger--slider-r .hamburger-inner {
  top: 1px;
}
.hamburger--slider-r .hamburger-inner::before {
  top: 8px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}
.hamburger--slider-r .hamburger-inner::after {
  top: 16px;
}
.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 8px, 0) rotate(-45deg);
}
.hamburger--slider-r.is-active .hamburger-inner::before {
  transform: rotate(45deg) translate3d(4.2857142857px, -6px, 0);
  opacity: 0;
}
.hamburger--slider-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -16px, 0) rotate(90deg);
}

/*
 * Spin
 */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spin Reverse
 */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin-r .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spring
 */
.hamburger--spring .hamburger-inner {
  top: 1px;
  transition: background-color 0s 0.13s linear;
}
.hamburger--spring .hamburger-inner::before {
  top: 8px;
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring .hamburger-inner::after {
  top: 16px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important;
}
.hamburger--spring.is-active .hamburger-inner::before {
  top: 0;
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 8px, 0) rotate(45deg);
}
.hamburger--spring.is-active .hamburger-inner::after {
  top: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 8px, 0) rotate(-45deg);
}

/*
 * Spring Reverse
 */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r .hamburger-inner::after {
  top: -16px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}
.hamburger--spring-r .hamburger-inner::before {
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spring-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
}
.hamburger--spring-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand
 */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}
.hamburger--stand .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}
.hamburger--stand.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand Reverse
 */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}
.hamburger--stand-r .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}
.hamburger--stand-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
  background: linear-gradient(100deg, #131313, #131313);
  background-size: 75%;
  background-repeat: no-repeat;
  background-position: right;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  background: linear-gradient(100deg, #131313, #131313);
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: right;
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Vortex
 */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}
.hamburger--vortex .hamburger-inner::before {
  transition-property: top, opacity;
}
.hamburger--vortex .hamburger-inner::after {
  transition-property: bottom, transform;
}
.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
  transition-delay: 0s;
}
.hamburger--vortex.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
}

/*
 * Vortex Reverse
 */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}
.hamburger--vortex-r .hamburger-inner::before {
  transition-property: top, opacity;
}
.hamburger--vortex-r .hamburger-inner::after {
  transition-property: bottom, transform;
}
.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
  transition-delay: 0s;
}
.hamburger--vortex-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

.btn {
  width: 100%;
  max-width: 235px;
  height: 70px;
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 16px;
  color: #fff;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
}
@media (max-width: 992px) {
  .btn {
    max-width: 170px;
    font-size: 12px;
    height: 44px;
  }
}
.btn:hover {
  opacity: 0.7;
}
.btn_violet {
  background: linear-gradient(97.02deg, #7421B0 28.9%, #D08EFF 139.98%);
}
.btn_black {
  background: #131313;
}

.section-content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 260px;
}
@media (max-width: 1200px) {
  .section-content {
    flex-direction: column;
    padding-top: 100px;
  }
}
.section-image {
  max-width: 705px;
}
.section-image_right {
  margin-left: 153px;
}
@media (max-width: 1200px) {
  .section-image_right {
    margin-left: 0;
    width: 100%;
  }
}
.section-image_left {
  margin-right: 153px;
}
@media (max-width: 1200px) {
  .section-image_left {
    margin-right: 0;
    width: 100%;
  }
}
.section-heading {
  max-width: 460px;
}
@media (max-width: 1200px) {
  .section-heading {
    order: 2;
  }
}
@media (max-width: 1200px) {
  .section-heading {
    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media (max-width: 576px) {
  .section-heading {
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
  }
}
.section-heading__title {
  margin-bottom: 40px;
}
@media (max-width: 1200px) {
  .section-heading__title {
    padding-right: 20px;
  }
}
.section-subheading {
  max-width: 422px;
}
.section-subheading__subtitle {
  margin-bottom: 40px;
}
@media (max-width: 1200px) {
  .section-subheading__subtitle {
    margin-bottom: 20px;
  }
}
.section-subheading span {
  color: #7421B0;
}

.section-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 80px;
}
@media (max-width: 768px) {
  .section-row {
    flex-direction: column;
  }
}
.section-row__title {
  margin-right: 96px;
  width: 100%;
  max-width: 520px;
}
@media (max-width: 768px) {
  .section-row__title {
    max-width: 100%;
    text-align: center;
    padding-bottom: 20px;
  }
}
.section-row__title span {
  color: #7421B0;
}
.section-row__subtitle {
  width: 100%;
  max-width: 580px;
}
@media (max-width: 768px) {
  .section-row__subtitle {
    max-width: 100%;
    text-align: center;
  }
}
.section-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 1200px) {
  .section-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .section-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.section-item {
  box-shadow: 0px 18px 45px -10px rgba(0, 0, 0, 0.13);
  border-radius: 10px;
  padding: 40px;
}
@media (max-width: 576px) {
  .section-item {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 20px;
  }
}
.section-item__image {
  width: 80px;
  height: 80px;
  margin-bottom: 40px;
  margin-right: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.3s all ease;
}
.section-item__image_arrow {
  background-image: url("/assets/img/welcome/arrow.webp");
}
.section-item__image_diskette {
  background-image: url("/assets/img/welcome/diskette.webp");
}
.section-item__image_puzzle {
  background-image: url("/assets/img/welcome/puzzle.webp");
}
.section-item__image_heart {
  background-image: url("/assets/img/welcome/heart.webp");
}
.section-item__image_pencil {
  background-image: url("/assets/img/features/pencil.webp");
}
.section-item__image_arrows {
  background-image: url("/assets/img/features/arrows.webp");
}
.section-item__image_cubic {
  background-image: url("/assets/img/features/cubic.webp");
}
.section-item__image_drop {
  background-image: url("/assets/img/features/drop.webp");
}
.section-item__image_star {
  background-image: url("/assets/img/useful/star.webp");
}
.section-item__image_shield {
  background-image: url("/assets/img/useful/shield.webp");
}
.section-item__image_cubes {
  background-image: url("/assets/img/useful/cubes.webp");
}
.section-item__image_cloud {
  background-image: url("/assets/img/useful/cloud.webp");
}
@media (max-width: 576px) {
  .section-item__image {
    margin-bottom: 0;
  }
}
.section-item__title {
  font-family: "Rubik-Medium", sans-serif;
  font-weight: normal;
  font-size: 20px;
  color: #131313;
  line-height: 168%;
}
@media (max-width: 1200px) {
  .section-item__title {
    font-size: 18px;
    line-height: 28.8px;
  }
}
@media (max-width: 768px) {
  .section-item__title {
    font-size: 14px;
    line-height: 18.62px;
  }
}
.section-item:hover {
  background-color: #7421B0;
  box-shadow: 0px 26px 48px -23px #7421B0;
}
.section-item:hover .section-item__image_arrow {
  background-image: url("/assets/img/welcome/arrow-hover.webp");
}
.section-item:hover .section-item__image_heart {
  background-image: url("/assets/img/welcome/heart-hover.webp");
}
.section-item:hover .section-item__image_pencil {
  background-image: url("/assets/img/features/pencil-hover.webp");
}
.section-item:hover .section-item__image_arrows {
  background-image: url("/assets/img/features/arrows-hover.webp");
}
.section-item:hover .section-item__image_star {
  background-image: url("/assets/img/useful/star-hover.webp");
}
.section-item:hover .section-item__image_cloud {
  background-image: url("/assets/img/useful/cloud-hover.webp");
}
.section-item:hover .section-item__title {
  color: #fff;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9yZXNldC5zY3NzIiwiX2ZvbnRzLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfcGFydHMvX2hlYWRlci5zY3NzIiwiX3BhcnRzL19zZWN0aW9uLWhlcm8uc2NzcyIsIl9wYXJ0cy9fc2VjdGlvbi13ZWxjb21lLnNjc3MiLCJfcGFydHMvX3NlY3Rpb24tY2FwdHVyZS5zY3NzIiwiX3BhcnRzL19zZWN0aW9uLWNsaWNrLnNjc3MiLCJfcGFydHMvX3NlY3Rpb24tbGluay5zY3NzIiwiX3BhcnRzL19zZWN0aW9uLWVkaXRvci5zY3NzIiwiX3BhcnRzL19zZWN0aW9uLWZlYXR1cmVzLnNjc3MiLCJfcGFydHMvX3NlY3Rpb24tZnVuY3Rpb25zLnNjc3MiLCJfcGFydHMvX3NlY3Rpb24tdXNlZnVsLnNjc3MiLCJfcGFydHMvX3NlY3Rpb24tZmFxLnNjc3MiLCJfcGFydHMvX3NlY3Rpb24tam9pbi5zY3NzIiwiX3BhcnRzL19mb290ZXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycy5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL18zZHgtci5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL18zZHktci5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fM2R4eS1yLnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19hcnJvdy5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3ctci5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93YWx0LXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3d0dXJuLXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2JvcmluZy5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fY29sbGFwc2Uuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2VsYXN0aWMuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2VsYXN0aWMtci5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX2VtcGhhdGljLXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX21pbnVzLnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX3NsaWRlci1yLnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zcGluLnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zcGluLXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwcmluZy5zY3NzIiwiX2NvbXBvbmVudHMvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLXIuc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zdGFuZC1yLnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL19zcXVlZXplLnNjc3MiLCJfY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXguc2NzcyIsIl9jb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvX3ZvcnRleC1yLnNjc3MiLCJfY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiX2NvbXBvbmVudHMvX3NlY3Rpb24tZ3JpZC5zY3NzIiwiX2NvbXBvbmVudHMvX3NlY3Rpb24tbGlzdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7OztBQUdEO0FBQUE7QUFBQTtFQUdDOzs7QUFHRDtBQUNBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUNBO0VBQ0M7OztBQUdEO0VBQ0k7RUFDSDs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQztFQUNBOzs7QUFHRDtFQUNFOzs7QUFHRjtBQUNBO0VBQ0M7RUFDRztFQUNBO0VBQ0E7OztBQUdKO0VBQ0M7OztBQUdEO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDQztFQUNBOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDOzs7QUNsRkQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3hCSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBTko7SUFPUTs7O0FBRUo7RUFUSjtJQVVROzs7QUFFSjtFQVpKO0lBYVE7OztBQUVKO0VBZko7SUFnQlE7OztBQUVKO0VBbEJKO0lBbUJROzs7O0FBS1I7RUM3Qkk7RUFDQSxhRDZCNEI7RUM1QjVCLFdENEJvQztFQzNCcEMsT0NnQlM7RUZZVDs7QUFHQTtFQUxKO0lBTVE7SUFDQTs7O0FBR0o7RUFWSjtJQVdRO0lBQ0E7Ozs7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RjtFQUNFOzs7QUM1QlI7QUFBQTtBQUFBO0FBS0k7RUFDRTs7QUFHRjtFQUNFOzs7QUNWTjtBQUFBO0FBQUE7QUFLSTtFQUNFOztBQUdGO0VBQ0U7OztBQ1ZOO0FBQUE7QUFBQTtBQUtJO0VBQ0U7O0FBSUY7RUFDRTs7QUFPQTtFQUNFO0VBQ0E7RUFDQTs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FDNUJSO0FBQUE7QUFBQTtBQUtJO0VBQ0U7O0FBSUY7RUFDRTs7QUFPQTtFQUNFO0VBQ0E7RUFDQTs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FDNUJSO0FBQUE7QUFBQTtBQUlFO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUNaTjtBQUFBO0FBQUE7QUFJRTtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7O0FDWk47QUFBQTtBQUFBO0FBS0k7RUFHRTs7QUFLRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQ3ZCUjtBQUFBO0FBQUE7QUFJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUlGO0VBQ0U7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQ3ZDUjtBQUFBO0FBQUE7QUFJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUlGO0VBQ0U7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQ3JDUjtBQUFBO0FBQUE7QUFJRTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUtGO0VBR0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUNsQ1I7QUFBQTtBQUFBO0FBSUU7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFLRjtFQUdFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FDcENSO0FBQUE7QUFBQTtBQUdBO0VBQ0U7O0FBRUE7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUM1Q1I7QUFBQTtBQUFBO0FBR0E7RUFDRTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFLRjtFQUNFO0VBQ0E7RUFDQTs7QUFPRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQzVDUjtBQUFBO0FBQUE7QUFLSTtFQUVFOztBQVFBO0VBRUU7RUFDQTs7QUFJRjtFQUNFOztBQUdGO0VBQ0U7OztBQ3pCUjtBQUFBO0FBQUE7QUFJRTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLRjtFQUdFOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUMvQlI7QUFBQTtBQUFBO0FBSUU7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBS0Y7RUFHRTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7O0FDakNSO0FBQUE7QUFBQTtBQUlFO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUlGO0VBQ0U7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQ25DUjtBQUFBO0FBQUE7QUFJRTtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFJRjtFQUNFOztBQU1GO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUNqQ1I7QUFBQTtBQUFBO0FBSUU7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFJRjtFQUNFO0VBQ0E7O0FBTUY7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUVBOztBQUdGO0VBQ0U7RUFDQTtFQUVBOzs7QUN2Q1I7QUFBQTtBQUFBO0FBSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFJRjtFQUNFOztBQU1GO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUN2Q1I7QUFBQTtBQUFBO0FBSUU7RUFDRTs7QUFHQTtFQUNFOztBQUlGO0VBQ0U7O0FBTUY7RUFDRTtFQUNBO0VBRUE7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQ3JDUjtBQUFBO0FBQUE7QUFJRTtFQUNFOztBQUdBO0VBQ0U7O0FBSUY7RUFDRTs7QUFNRjtFQUNFO0VBQ0E7RUFFQTs7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FDckNSO0FBQUE7QUFBQTtBQUlFO0VBQ0U7RUFDQTs7QUFHQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUtGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUM1Q1I7QUFBQTtBQUFBO0FBSUU7RUFDRTtFQUNBOztBQUVBO0VBRUU7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFO0VBQ0E7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUN6Q1I7QUFBQTtBQUFBO0FBSUU7RUFDRTtFQUNBOztBQUVBO0VBRUU7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFO0VBQ0E7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUN4Q1Y7RUFDSTtFQUNBO0VBQ0E7RWhESkE7RUFDQSxhZ0RJOEI7RWhESDlCLFdnREdzQztFaERGdEMsT2dERTRDO0VBQzVDO0VBQ0E7O0FBRUE7RUFSSjtJQVNRO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0ksWS9DTEs7OztBZ0RqQlg7RWpES0U7RUFDQSxhaURMYztFakRNZCxpQmlETnNCO0VBQ3RCOztBQUVBO0VBSkY7SUFLSTtJQUNBOzs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7O0FBRUE7RUFIRjtJQUlJO0lBQ0E7OztBQUlKO0VBQ0U7O0FBRUE7RUFIRjtJQUlJO0lBQ0E7OztBQU1OO0VBQ0U7O0FBRUE7RUFIRjtJQUlJOzs7QUFHRjtFQVBGO0lBUUk7SUFDQTtJakRyQ0Y7SUFDQSxhaURxQ2dCO0lqRHBDaEIsaUJpRG9DNEI7OztBQUc1QjtFQWJGO0lBY0k7SUFDQTtJQUNBO0lBQ0E7OztBQUdGO0VBQ0U7O0FBRUE7RUFIRjtJQUlJOzs7QUFNTjtFQUNFOztBQUVBO0VBQ0U7O0FBRUE7RUFIRjtJQUlJOzs7QUFJSjtFQUNFLE9oRDNEUzs7O0FpRGZiO0VsRElFO0VBQ0EsYWtESmM7RWxES2QsaUJrREwwQjtFQUMxQjs7QUFFQTtFQUpGO0lBS0k7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBTEY7SUFNSTtJQUNBO0lBQ0E7OztBQUdGO0VBQ0UsT2pETE87O0FpRFNYO0VBQ0U7RUFDQTs7QUFFQTtFQUpGO0lBS0k7SUFDQTs7O0FBSU47RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFMRjtJQU1JOzs7QUFFRjtFQVJGO0lBU0k7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBTEY7SWxEM0NFO0lBQ0EsYWtEZ0RnQjtJbEQvQ2hCLGlCa0QrQ3dCO0lBQ3RCOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWWpENUNPOztBaUQ4Q1A7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUExREY7SUEyREk7OztBQUtKO0VsRDVIQTtFQUNBLGFrRDRIZ0M7RWxEM0hoQyxXa0QySHdDO0VsRDFIeEMsT0NnQlM7RWlEMkdQOztBQUVBO0VBSkY7SUFLSTtJQUNBOzs7QUFHRjtFQVRGO0lBVUk7SUFDQTs7O0FBSUo7RUFDRSxrQmpEMUhTO0VpRDJIVDs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBSZXNldCBhbmQgYmFzZSBzdHlsZXMgICovXG4qIHtcblx0cGFkZGluZzogMHB4O1xuXHRtYXJnaW46IDBweDtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBMaW5rcyAqL1xuYSwgYTpsaW5rLCBhOnZpc2l0ZWQgIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmhvdmVyICB7XG4gICAgY29sb3I6IGluaGVyaXQ7IFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogQ29tbW9uICovXG5hc2lkZSwgbmF2LCBmb290ZXIsIGhlYWRlciwgc2VjdGlvbiwgbWFpbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG51bCwgdWwgbGkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5pbWcge1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5pbWcsIHN2ZyB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiBGb3JtICovXG5pbnB1dCwgdGV4dGFyZWEsIGJ1dHRvbiwgc2VsZWN0IHtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5pbnB1dDo6LW1zLWNsZWFyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuYnV0dG9uLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG59XG5cbmxhYmVsIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5sZWdlbmQge1xuXHRkaXNwbGF5OiBibG9jaztcbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1J1YmlrLUxpZ2h0JztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiB1cmwoLi4vZm9udHMvUnViaWstTGlnaHQudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1J1YmlrLVJlZ3VsYXInO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybCguLi9mb250cy9SdWJpay1SZWd1bGFyLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSdWJpay1NZWRpdW0nO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybCguLi9mb250cy9SdWJpay1NZWRpdW0udHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1J1YmlrLUJvbGQnO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybCguLi9mb250cy9SdWJpay1Cb2xkLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuICAiLCJAdXNlIFwic2FzczptYXBcIjtcblxuKiB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTQ3MHB4O1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeHhsKSkge1xuICAgICAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCB4eGwpO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuICAgICAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCB4bCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgIG1heC13aWR0aDogbWFwLmdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIGxnKTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBtZCkpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBtYXAuZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgbWQpO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBzbSk7XG4gICAgfVxufVxuXG5cbi50aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udCgnUnViaWstQm9sZCcsIG5vcm1hbCwgMzZweCwgJGNvbG9yLWRhcmspO1xuICAgIGxpbmUtaGVpZ2h0OiA0M3B4O1xuXG4gICAgXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzguNDRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOC40NHB4O1xuICAgIH1cbn1cblxuLnRleHQge1xuICAgIEBpbmNsdWRlIGZvbnQoJ1J1YmlrLVJlZ3VsYXInLCBub3JtYWwsIDE4cHgsICRjb2xvci1ncmF5KTtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBtZCkpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG59IiwiQG1peGluIGZvbnQgKCRmb250LCAkd2VpZ2h0LCAkc2l6ZSwgJGNvbG9yKSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250ICwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICBmb250LXNpemU6ICRzaXplO1xuICAgIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmbGV4KCRhbGlnbi1pdGVtczogY2VudGVyLCAkanVzdGlmeS1jb250ZW50OiBjZW50ZXIpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiAkYWxpZ24taXRlbXM7XG4gICAganVzdGlmeS1jb250ZW50OiAgJGp1c3RpZnktY29udGVudDtcbn0iLCIvL2JyZWFrcG9pbnRzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgICAgICAgc206IDU0MHB4LFxuICAgICAgICBtZDogNzIwcHgsXG4gICAgICAgIGxnOiA5NjBweCxcbiAgICAgICAgeGw6IDEwNDBweCxcbiAgICAgICAgeHhsOiAxMjcwcHhcbikgIWRlZmF1bHQ7XG5cbiRzY3JlZW4tbWF4LXdpZHRoczogKFxuICAgICAgICBzbTogNTc2cHgsXG4gICAgICAgIG1kOiA3NjhweCxcbiAgICAgICAgbGc6IDk5MnB4LFxuICAgICAgICB4bDogMTIwMHB4LFxuICAgICAgICB4eGw6IDE0NDBweFxuKSAhZGVmYXVsdDtcblxuXG4vL2NvbG9yXG4kYWNjZW50LWNvbG9yOiAjNzQyMUIwO1xuJGNvbG9yLWRhcms6ICMxMzEzMTM7XG4kY29sb3ItZ3JheTogIzU2NTY1NjtcbiRjb2xvci1saWdodGdyZXk6ICM4MjgyODI7XG5cbi8vdHJhbnNpdGlvbnNcbiR0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlOyIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5oZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpICB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgaGVpZ2h0OiA4MnB4O1xuICAgICB9XG5cbiAgICAmLnN0aWNreSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxNDAsIDE0MCwgMTQwLCAwLjI1KTtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cbn1cblxuLmxvZ28td3JhcCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpICB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgIH1cbn1cblxuLmhlYWRlci10b3B7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxufVxuXG4udG9wLW1lbnUge1xuXG4gICAgQGluY2x1ZGUgZm9udCgnUnViaWstTWVkaXVtJywgbm9ybWFsLCAxNnB4LCAkY29sb3ItZ3JheSk7XG4gICAgXG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvL9C80L7QsdC40LvRjNC90L7QtSDQvNC10L3RjlxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1NZWRpdW0nLCBub3JtYWwsIDIwcHgsICRjb2xvci1ncmF5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHh4bCkpICB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5sYW5ndWFnZS10b2dnbGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19idG4ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgICZfb3BlbiB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4ubGFuZ3VhZ2UtZHJvcGRvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGFuZ3VhZ2UtZHJvcGRvd24ge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IHJnYmEoMTQwLCAxNDAsIDE0MCwgMC4yNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuXG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgnUnViaWstUmVndWxhcicsIG5vcm1hbCwgMTZweCwgJGNvbG9yLWdyYXkpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgcGFkZGluZzogNnB4IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM4LCAzOCwgMzgsIDAuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICB9XG4gfSIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4uaGVybyB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2hlcm8tdmlvbGV0LnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTY1cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MCUgMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIDEwMCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMCUgMTAwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlIDI5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMDJweDtcbiAgICAgICAgaGVpZ2h0OiA5MHZoO1xuICAgICAgICBcbiAgICB9XG5cblxuICAgICYtc3F1YXJlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDExMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMTFweCk7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYtcm93IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH1cbiBcbiAgICAmLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDUyNXB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM2M3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJ1J1YmlrLUJvbGQnLCBub3JtYWwsIDQ4cHgsICRjb2xvci1kYXJrKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1Ni44OHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7ICBcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM4LjQ0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDM4cHg7IFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjguNDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjJweDsgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2NsaWNrLWJnLnBuZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1SZWd1bGFyJywgbm9ybWFsLCAxOHB4LCAkY29sb3ItZ3JheSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4OyBcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIxLjZweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgXG4gICAgICAgICAgICB9XG4gXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjEuNDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTYycHg7XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjgycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwOHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAtNzJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWcvaW1nLWNhcHRpb24tYmcucG5nJyk7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1MaWdodCcsIG5vcm1hbCwgMTZweCwgI2ZmZik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjUuNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjhweCA1MHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTkuMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxODZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNTJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxODZweCAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1hcnJvdyB7XG4gICAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmlnLWxpbmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbi53ZWxjb21lIHtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cblxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbi5jYXB0dXJlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuXG4gICAgJi1zcXVhcmUge1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJi1saW5lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI2MHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0yO1xuICAgIH1cblxuICAgICYtYmx1cntcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE1MHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIFxuXG5cbn0iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLmNsaWNrIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgJi1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogLTUwcHg7XG4gICAgei1pbmRleDogLTE7XG5cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgdG9wOjA7XG4gICAgfVxuICB9XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbi5saW5rIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICYtYmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTEwMHB4O1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIHRvcDowO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pbWFnZS1kZXNjcmlwdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxMjJweDtcbiAgICAgIGJvdHRvbTogLTgwcHg7XG4gICAgICBtYXgtd2lkdGg6IDQ2MXB4O1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk2LCAxOTYsIDE5NiwgMC4xKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbWQpKSB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XG4gICAgICB9XG5cbiAgICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1SZWd1bGFyJywgbm9ybWFsLCAxNnB4LCAkY29sb3ItZ3JheSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuXG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG5cbn0iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLmVkaXRvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLWJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB0b3A6MDtcbiAgICB9XG4gIH1cblxuICAmLWxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLTI1MHB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4eGwpKSB7XG4gICAgICBib3R0b206IC0xNTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuICAgICAgYm90dG9tOiAtMTAwcHg7XG4gICAgfVxuXG4gIH1cbn0iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLmZlYXR1cmVzIHtcbiAgcGFkZGluZy10b3A6IDI1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4eGwpKSB7XG4gICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBtZCkpIHtcbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gIH1cblxuICAmLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gICYtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gIH1cbn0iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLmZ1bmN0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgbWluLWhlaWdodDogMzAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMiU7XG4gICAgcmlnaHQ6IDIlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDIxNSwgMjExLCAyMjEsIDAuMSkgMTQlLCByZ2JhKDIyMywgMjEyLCAyMzgsIDAuMSkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMiAgICAgICAgKTtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtYmFsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4JTtcbiAgICB0b3A6IC0xMDBweDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogLTI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgbWF4LXdpZHRoOiAxNTFweDtcbiAgICAgIHRvcDogLTYwcHg7XG4gICAgfVxuICB9XG5cbiAgJi1jeWxpbmRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAzMDBweDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogLTI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgbWF4LXdpZHRoOiAxNTFweDtcbiAgICB9XG4gIH1cblxuICAmLWN5bGluZGVyLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cblxuICAmLWxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE4JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3I7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgIH1cbiAgfVxuXG4gICYtbGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBzcGFjZS1iZXR3ZWVuKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG4gIH1cblxuICAmLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMzAlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICB9XG5cbiAgICAuaXRlbS1pY29uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgICAgfVxuXG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDExMXB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXRleHQge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAudGV4dC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX251bWJlciB7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udCgnUnViaWstQm9sZCcsIG5vcm1hbCwgMzZweCwgJGFjY2VudC1jb2xvcik7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1NZWRpdW0nLCBub3JtYWwsIDI0cHgsICRjb2xvci1kYXJrKTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgnUnViaWstUmVndWxhcicsIG5vcm1hbCwgMThweCwgJGNvbG9yLWdyYXkpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zdGVwcyB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVwcy1saXN0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgc3BhY2UtYmV0d2Vlbik7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuc3RlcHMtaXRlbSB7XG4gICAgICB3aWR0aDogMzIlO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pdGVtLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBib3gtc2hhZG93OiAwIDE4cHggNDVweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsY2VudGVyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4xcztcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgIGhlaWdodDogMTkycHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzNDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJ1J1YmlrLU1lZGl1bScsIG5vcm1hbCwgMTIuNXB4LCByZ2JhKCRhY2NlbnQtY29sb3IsIDAuMykpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxODAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMXM7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4xcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC5pdGVtLWltYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pdGVtLWltYWdlX19idXR0b24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLml0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1SZWd1bGFyJywgbm9ybWFsLCAxOHB4LCAkY29sb3ItZ3JheSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxODAlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1NZWRpdW0nLCBub3JtYWwsIGluaGVyaXQsICRhY2NlbnQtY29sb3IpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cbn0iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLnVzZWZ1bCB7XG4gIHBhZGRpbmctdG9wOiAzMzRweDtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgcGFkZGluZy10b3A6IDIzNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgcGFkZGluZy10b3A6IDE1NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fY2xvdWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTUlO1xuICAgICAgdG9wOiAtMTIwcHg7XG4gICAgICBwYWRkaW5nOiA0MHB4IDI0cHggOHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMjhweDtcbiAgICAgIGhlaWdodDogMTE0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaW1nL3VzZWZ1bC91bmlvbi5wbmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgIEBpbmNsdWRlIGZvbnQoJ1J1YmlrLVJlZ3VsYXInLCBub3JtYWwsIDE2cHgsICRjb2xvci1ncmF5KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIH1cbiAgfVxufSIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4uZmFxIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNzNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyMTUsIDIxMSwgMjIxLCAwLjEpIDE0JSwgcmdiYSgyMjMsIDIxMiwgMjM4LCAwLjEpKTtcbiAgfVxuXG4gICYtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fY29uZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDkwcHg7XG4gICAgICBsZWZ0OiAtMTUwcHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIHRvcDogMTMwcHg7XG4gICAgICAgIGxlZnQ6IC0xMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jeWxpbmRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgdG9wOiAzMDBweDtcbiAgICAgIHJpZ2h0OiAyNTBweDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIHRvcDogMzIwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGhlcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIHRvcDogNjg0cHg7XG4gICAgICByaWdodDogLTYwcHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICByaWdodDogNjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGhlcmUtc21hbGwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIHRvcDogNTg3cHg7XG4gICAgICByaWdodDogLTEzMHB4O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgICAgdG9wOiA2MTBweDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDU3cHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5mYXEtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQsIHNwYWNlLWJldHdlZW4pO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE5NiwgMTk2LCAxOTYsIDAuMSk7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgcGFkZGluZzogNTBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgICAgIH1cblxuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdG9nZ2xlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIGdhcDogNTBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnRfX251bWJlciB7XG4gICAgICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC1yb3cge1xuICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJ1J1YmlrLU1lZGl1bScsIG5vcm1hbCwgMjRweCwgJGNvbG9yLWRhcmspO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1SZWd1bGFyJywgbm9ybWFsLCAxOHB4LCAkY29sb3ItZ3JheSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzIuNHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNS4ycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMS42cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbi5qb2luIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyMDBweCAwO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cblxuICAmLWxpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IC0xMjBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgc3BhY2UtYmV0d2Vlbik7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgaGVpZ2h0OiAyMTBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2pvaW4vYmcud2VicCcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHh4bCkpIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbGcpKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19jb25lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTkwcHg7XG4gICAgICByaWdodDogMjQlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJl9fZGlza2V0dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIHJpZ2h0OiA1JTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCAxNTBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeHhsKSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgQGluY2x1ZGUgZm9udCAoJ1J1YmlrLVJlZ3VsYXInLCBub3JtYWwsIDM2cHgsICRjb2xvci1kYXJrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIG1heC13aWR0aDogNzAwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeHhsKSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIHBhZGRpbmc6IDYwcHggMDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG5cbiAgJi1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCxzcGFjZS1iZXR3ZWVuKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAmLW1lbnUge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LHNwYWNlLWJldHdlZW4pO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuXG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmb250KCdSdWJpay1SZWd1bGFyJywgbm9ybWFsLCAxOHB4LCAkY29sb3ItZ3JheSk7XG4gICAgICBsaW5lLWhlaWdodDogMjAwJTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG5cbiAgICAgICZfaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoJ1J1YmlrLU1lZGl1bScsIG5vcm1hbCwgMjBweCwgJGNvbG9yLWRhcmspO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIGxnKSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgIDogMHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgIDogMHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDJweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICRjb2xvci1kYXJrICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgIDogMC43ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3IgIDogJGhhbWJ1cmdlci1sYXllci1jb2xvciAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAhZGVmYXVsdDtcblxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgIWRlZmF1bHQ7XG5cbi8vIFR5cGVzIChSZW1vdmUgb3IgY29tbWVudCBvdXQgd2hhdCB5b3UgZG9u4oCZdCBuZWVkKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItdHlwZXM6IChcbiAgM2R4LFxuICAzZHgtcixcbiAgM2R5LFxuICAzZHktcixcbiAgM2R4eSxcbiAgM2R4eS1yLFxuICBhcnJvdyxcbiAgYXJyb3ctcixcbiAgYXJyb3dhbHQsXG4gIGFycm93YWx0LXIsXG4gIGFycm93dHVybixcbiAgYXJyb3d0dXJuLXIsXG4gIGJvcmluZyxcbiAgY29sbGFwc2UsXG4gIGNvbGxhcHNlLXIsXG4gIGVsYXN0aWMsXG4gIGVsYXN0aWMtcixcbiAgZW1waGF0aWMsXG4gIGVtcGhhdGljLXIsXG4gIG1pbnVzLFxuICBzbGlkZXIsXG4gIHNsaWRlci1yLFxuICBzcGluLFxuICBzcGluLXIsXG4gIHNwcmluZyxcbiAgc3ByaW5nLXIsXG4gIHN0YW5kLFxuICBzdGFuZC1yLFxuICBzcXVlZXplLFxuICB2b3J0ZXgsXG4gIHZvcnRleC1yXG4pICFkZWZhdWx0O1xuXG4vLyBCYXNlIEhhbWJ1cmdlciAoV2UgbmVlZCB0aGlzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi8vIEhhbWJ1cmdlciB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJ0eXBlcy8zZHhcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xuQGltcG9ydCBcInR5cGVzLzNkeVwiO1xuQGltcG9ydCBcInR5cGVzLzNkeS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eVwiO1xuQGltcG9ydCBcInR5cGVzLzNkeHktclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93dHVyblwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93dHVybi1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYm9yaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL21pbnVzXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XG5AaW1wb3J0IFwidHlwZXMvc3Bpbi1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZFwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4XCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4LXJcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvb2tpbmcgdXAgYWRkaXRpb25hbCB0eXBlczpcbi8vXG4vLyBUaGUgU2FzcyBmb3IgZWFjaCBoYW1idXJnZXIgdHlwZSBzaG91bGQgYmUgbmVzdGVkXG4vLyBpbnNpZGUgYW4gQGlmIGRpcmVjdGl2ZSB0byBjaGVjayB3aGV0aGVyIG9yIG5vdFxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxuLy8gaW5jbHVkZWQgdHlwZXMgYXJlIGdlbmVyYXRlZC5cbi8vXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3Ncbi8vXG4vLyBAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbmV3LXR5cGUpIHtcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xuLy8gICAgIC4uLlxuLy8gICB9XG4vLyB9XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJjpob3ZlciB7XG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgICBmaWx0ZXI6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogbWF0aC5kaXYoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIC0yKTtcbiAgO1xuXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG5cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHgpIHtcbiAgLypcbiAgICogM0RYXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHgge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeC1yKSB7XG4gIC8qXG4gICAqIDNEWCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHgtciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeSkge1xuICAvKlxuICAgKiAzRFlcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeS1yKSB7XG4gIC8qXG4gICAqIDNEWSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHktciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4eSkge1xuICAvKlxuICAgKiAzRFhZXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHh5IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4eS1yKSB7XG4gIC8qXG4gICAqIDNEWFkgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4eS1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVaKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdykge1xuICAvKlxuICAgKiBBcnJvd1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3cuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93LXIpIHtcbiAgLypcbiAgICogQXJyb3cgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd2FsdCkge1xuICAvKlxuICAgKiBBcnJvdyBBbHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yNSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQtcikge1xuICAvKlxuICAgKiBBcnJvdyBBbHQgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3d0dXJuKSB7XG4gIC8qXG4gICAqIEFycm93IFR1cm5cbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93dHVybi5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3d0dXJuLXIpIHtcbiAgLypcbiAgICogQXJyb3cgVHVybiBSaWdodFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYm9yaW5nKSB7XG4gIC8qXG4gICAqIEJvcmluZ1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYm9yaW5nIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICYsXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2UpIHtcbiAgLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2Utcikge1xuICAvKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZWxhc3RpYykge1xuICAvKlxuICAgKiBFbGFzdGljXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogbWF0aC5kaXYoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIDIpO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoLTI3MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbGFzdGljLXIpIHtcbiAgLypcbiAgICogRWxhc3RpYyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBtYXRoLmRpdigkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMik7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMjVzIDAuMjc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbXBoYXRpYykge1xuICAvKlxuICAgKiBFbXBoYXRpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljLXIpIHtcbiAgLypcbiAgICogRW1waGF0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbWludXMpIHtcbiAgLypcbiAgICogTWludXNcbiAgICovXG4gIC5oYW1idXJnZXItLW1pbnVzIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIDBzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgMHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wOHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjA4cyBsaW5lYXI7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXIpIHtcbiAgLypcbiAgICogU2xpZGVyXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zbGlkZXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBtYXRoLmRpdigkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMik7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKG1hdGguZGl2KCRoYW1idXJnZXItbGF5ZXItd2lkdGgsIC03KSwgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlci1yKSB7XG4gIC8qXG4gICAqIFNsaWRlciBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zbGlkZXItciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IG1hdGguZGl2KCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAyKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QobWF0aC5kaXYoJGhhbWJ1cmdlci1sYXllci13aWR0aCwgNyksICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluKSB7XG4gIC8qXG4gICAqIFNwaW5cbiAgICovXG4gIC5oYW1idXJnZXItLXNwaW4ge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluLXIpIHtcbiAgLypcbiAgICogU3BpbiBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcGluLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4xMnMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZykge1xuICAvKlxuICAgKiBTcHJpbmdcbiAgICovXG4gIC5oYW1idXJnZXItLXNwcmluZyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IG1hdGguZGl2KCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAyKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMHMgMC4xM3MgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNwcmluZy1yKSB7XG4gIC8qXG4gICAqIFNwcmluZyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmctciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kKSB7XG4gIC8qXG4gICAqIFN0YW5kXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzdGFuZC1yKSB7XG4gIC8qXG4gICAqIFN0YW5kIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNxdWVlemUpIHtcbiAgLypcbiAgICogU3F1ZWV6ZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMDc1cyBlYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTAwZGVnLCAjMTMxMzEzICwgIzEzMTMxMyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsgXG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTAwZGVnLCAjMTMxMzEzICwgIzEzMTMxMyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCB2b3J0ZXgpIHtcbiAgLypcbiAgICogVm9ydGV4XG4gICAqL1xuICAuaGFtYnVyZ2VyLS12b3J0ZXgge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNzY1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHZvcnRleC1yKSB7XG4gIC8qXG4gICAqIFZvcnRleCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzY1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4uYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDIzNXB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBAaW5jbHVkZSBmb250KCdSdWJpay1NZWRpdW0nLCBub3JtYWwsIDE2cHgsICNmZmYpO1xuICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBsZykpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG5cbiAgICAmX3Zpb2xldCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5Ny4wMmRlZywgIzc0MjFCMCAyOC45JSwgI0QwOEVGRiAxMzkuOTglKTtcbiAgICB9XG5cbiAgICAmX2JsYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmsgO1xuICAgIH1cbn0gICAgICAgICIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4uc2VjdGlvbiB7XG4gICYtY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4gICAgcGFkZGluZy10b3A6IDI2MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA3MDVweDtcblxuICAgICZfcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1M3B4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTUzcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIG1heC13aWR0aDogNDYwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZmxleChmbGV4LXN0YXJ0LCBzcGFjZS1iZXR3ZWVuKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHNtKSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIHhsKSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJi1zdWJoZWFkaW5nIHtcbiAgICBtYXgtd2lkdGg6IDQyMnB4O1xuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yO1xuICAgIH1cbiAgfVxufSIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4uc2VjdGlvbiB7XG5cbiAgJi1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIG1kKSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDk2cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNTIwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgbWQpKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIH1cblxuICAgICAgc3BhbntcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDU4MHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkc2NyZWVuLW1heC13aWR0aHMsIG1kKSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiAyMHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCB4bCkpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDE4cHggNDVweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogNDBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgc20pKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgc3BhY2UtYXJvdW5kKTtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuXG4gICAgICAmX2Fycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy93ZWxjb21lL2Fycm93LndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgJl9kaXNrZXR0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvd2VsY29tZS9kaXNrZXR0ZS53ZWJwJyk7XG4gICAgICB9XG5cbiAgICAgICZfcHV6emxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy93ZWxjb21lL3B1enpsZS53ZWJwJyk7XG4gICAgICB9XG5cbiAgICAgICZfaGVhcnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL3dlbGNvbWUvaGVhcnQud2VicCcpO1xuICAgICAgfVxuXG4gICAgICAmX3BlbmNpbCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvZmVhdHVyZXMvcGVuY2lsLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgJl9hcnJvd3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2ZlYXR1cmVzL2Fycm93cy53ZWJwJyk7XG4gICAgICB9XG5cbiAgICAgICZfY3ViaWMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2ZlYXR1cmVzL2N1YmljLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgJl9kcm9wIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy9mZWF0dXJlcy9kcm9wLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgJl9zdGFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy91c2VmdWwvc3Rhci53ZWJwJyk7XG4gICAgICB9XG5cbiAgICAgICZfc2hpZWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy91c2VmdWwvc2hpZWxkLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgJl9jdWJlcyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvdXNlZnVsL2N1YmVzLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgJl9jbG91ZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvdXNlZnVsL2Nsb3VkLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBzbSkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoJ1J1YmlrLU1lZGl1bScsIG5vcm1hbCwgMjBweCwgJGNvbG9yLWRhcmspO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2OCU7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRzY3JlZW4tbWF4LXdpZHRocywgeGwpKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4LjhweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJHNjcmVlbi1tYXgtd2lkdGhzLCBtZCkpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTguNjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAwcHggMjZweCA0OHB4IC0yM3B4ICM3NDIxQjA7XG5cbiAgICAgIC5zZWN0aW9uLWl0ZW1fX2ltYWdlX2Fycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy93ZWxjb21lL2Fycm93LWhvdmVyLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24taXRlbV9faW1hZ2VfaGVhcnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL3dlbGNvbWUvaGVhcnQtaG92ZXIud2VicCcpO1xuICAgICAgfVxuXG4gICAgICAuc2VjdGlvbi1pdGVtX19pbWFnZV9wZW5jaWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2ZlYXR1cmVzL3BlbmNpbC1ob3Zlci53ZWJwJyk7XG4gICAgICB9XG5cbiAgICAgIC5zZWN0aW9uLWl0ZW1fX2ltYWdlX2Fycm93cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvZmVhdHVyZXMvYXJyb3dzLWhvdmVyLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24taXRlbV9faW1hZ2Vfc3RhciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvdXNlZnVsL3N0YXItaG92ZXIud2VicCcpO1xuICAgICAgfVxuXG4gICAgICAuc2VjdGlvbi1pdGVtX19pbWFnZV9jbG91ZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvdXNlZnVsL2Nsb3VkLWhvdmVyLndlYnAnKTtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24taXRlbV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */
