@charset "UTF-8";
/*
 * Importation de la base du site
 */
/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.color-primary {
  color: #bc9f57;
}

.color-grey {
  color: #8d8d8d;
}

.color-light-grey {
  color: #CCC;
}

.italic {
  font-style: italic;
}

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

.line-through {
  text-decoration: line-through !important;
}

.norm {
  font-weight: normal;
}

.bold {
  font-weight: bold;
}

.font-stelvio {
  font-family: Stelvio,Arial,sans-serif;
}

h2 {
  font-size: 1.5em;
  font-weight: 400;
}

h3 {
  font-size: 1.2em;
  font-weight: 400;
}

p {
  line-height: 1.3em;
}

a {
  color: #212529;
  transition: color .3s ease-in-out;
}

a:hover {
  color: #212529;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.btn {
  border-radius: 0 !important;
  padding: 10px 20px;
}

.btn-black {
  color: #FFF !important;
  background-color: #343434;
  transition: background-color .2s ease-in-out;
}

.btn-black:hover {
  background-color: #1b1b1b;
}

.btn-classic {
  color: #212529;
  border: 1px solid #212529;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.arrow-left, .arrow-right {
  padding: 7px 0;
  height: 1px;
  transition: transform .4s ease;
}

.arrow-left > .shaft, .arrow-right > .shaft {
  background-color: #212529;
  display: block;
  height: 1px;
  width: 50px;
  position: relative;
}

.arrow-left > .shaft:before, .arrow-left > .shaft:after, .arrow-right > .shaft:before, .arrow-right > .shaft:after {
  background-color: #212529;
  content: "";
  display: block;
  height: 1px;
  width: 10px;
  position: absolute;
  top: 0;
}

@media (min-width: 576px) {
  .arrow-left:hover {
    transform: translateX(-15px);
  }
}

.arrow-left > .shaft:before {
  transform: rotate(40deg);
  transform-origin: top left;
  left: 0;
}

.arrow-left > .shaft:after {
  transform: rotate(-40deg);
  transform-origin: bottom left;
  left: 0;
}

@media (min-width: 576px) {
  .arrow-right:hover {
    transform: translateX(15px);
  }
}

.arrow-right > .shaft:before {
  transform: rotate(40deg);
  transform-origin: top right;
  right: 0;
}

.arrow-right > .shaft:after {
  transform: rotate(-40deg);
  transform-origin: bottom right;
  right: 0;
}

.scroll-animation {
  /*
   * Scroll Animations FadeIn
   */
  /*
   * Déplacement venant du bas
   */
}

@keyframes opacityAnimation {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.scroll-animation.animation-fadein {
  opacity: 0;
}

.scroll-animation.animation-fadein.active-element {
  opacity: 1;
  animation: opacityAnimation 3s;
}

.scroll-animation.animation-fadein-slow {
  opacity: 0;
}

.scroll-animation.animation-fadein-slow.active-element {
  opacity: 1;
  animation: opacityAnimation 4s;
}

.scroll-animation.animation-fadein-fast {
  opacity: 0;
}

.scroll-animation.animation-fadein-fast.active-element {
  opacity: 1;
  transition: opacity 2.5s ease;
}

.scroll-animation.animation-come-in-bottom {
  opacity: 0;
  transform: translateY(70px);
  transition: transform 500ms ease, opacity 1.7s ease;
}

.scroll-animation.animation-come-in-bottom.active-element {
  opacity: 1;
  transform: translateX(0);
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
#search-app {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  padding: 50px;
  z-index: 50;
  overflow-y: scroll;
  display: none;
}

#search-app.visible {
  display: block;
}

@media (max-width: 991px) {
  #search-app .close {
    position: fixed;
    top: 25px;
    right: 28px;
    width: 30px;
    z-index: 50;
  }
  #search-app .close .line {
    position: absolute;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #212529;
  }
  #search-app .close .line.first-line {
    top: 10px;
    transform: rotate(45deg);
  }
  #search-app .close .line.second-line {
    top: 10px;
    transform: rotate(-45deg);
  }
  #search-app .close .action-click {
    position: absolute;
    margin-top: -10px;
    height: 50px;
    width: 100%;
    cursor: pointer;
  }
}

@media (min-width: 992px) {
  #search-app .close {
    position: fixed;
    top: 40px;
    right: 20px;
    width: 50px;
  }
  #search-app .close .line {
    position: absolute;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #212529;
  }
  #search-app .close .line.first-line {
    top: 10px;
    transform: rotate(45deg);
  }
  #search-app .close .line.second-line {
    top: 10px;
    transform: rotate(-45deg);
  }
  #search-app .close .action-click {
    position: absolute;
    margin-top: -10px;
    height: 50px;
    width: 100%;
    cursor: pointer;
  }
}

#search-app .input__element {
  position: absolute;
  transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (max-width: 599px) {
  #search-app .input__element {
    width: 100%;
    padding-right: 50px;
    padding-left: 50px;
  }
}

@media (min-width: 600px) {
  #search-app .input__element {
    width: 500px;
  }
}

#search-app .input__element:not(.top-position) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#search-app .input__element.top-position {
  top: 70px;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 599px) {
  #search-app .input__element input {
    font-size: 1.3em;
  }
}

@media (min-width: 600px) {
  #search-app .input__element input {
    font-size: 2em;
  }
}

#search-app .input__element input::placeholder {
  color: #CCC;
}

#search-app .search__container {
  position: absolute;
  top: 130px;
  left: 50%;
  transform: translateX(-50%);
  padding: 15px 50px 50px 50px;
}

@media (max-width: 991px) {
  #search-app .search__container {
    width: 100%;
  }
}

@media (min-width: 992px) {
  #search-app .search__container {
    width: 800px;
  }
}

#search-app .search__container .item {
  display: inline-block;
  cursor: pointer;
  transition: all .3s ease-in-out;
  padding: 15px;
  margin-bottom: 15px;
}

#search-app .search__container .item:hover {
  background: #fafafa;
}

#search-app .search__container .item__image {
  width: 20%;
  float: left;
}

#search-app .search__container .item__content {
  width: 80%;
  float: left;
  padding-left: 15px;
}

#search-app .search__container .item__content h1 {
  font-size: 1.4em;
  padding-bottom: 7px;
}

#search-app .search__container .item__content .eyebrow {
  color: #8d8d8d;
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 500;
  transition: color 1s cubic-bezier(0, 1, 0.5, 1);
  padding-bottom: 10px;
}

#search-app .search__container .item__content .date {
  color: #CCC;
  font-family: "Stelvio", Arial, sans-serif;
  padding-bottom: 5px;
}

#search-app .search__container .item__content .description {
  font-size: 0.95em;
  line-height: 1.6em;
  padding-bottom: 10px;
}

#search-app .search__container .item__content .group {
  font-size: .875em;
  color: #CCC;
  font-style: italic;
  line-height: 1.5em;
}

@media (max-width: 767px) {
  #search-app .search__container .item__content .group {
    display: block;
    width: 100%;
  }
}

@media (min-width: 768px) {
  #search-app .search__container .item__content .group {
    margin-right: 15px;
  }
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.back-to-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: #212529;
  cursor: pointer;
  transform: translateY(70px);
  transition: transform .4s ease;
}

.back-to-top.active {
  transform: translateY(0);
}

.back-to-top.active:hover {
  transform: translateY(-5px);
}

.back-to-top .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  transform: translateY(-50%);
}

.back-to-top .arrow > .shaft {
  background-color: #FFF;
  display: block;
  height: 20px;
  width: 1px;
  position: relative;
}

.back-to-top .arrow > .shaft:before, .back-to-top .arrow > .shaft:after {
  background-color: #FFF;
  content: "";
  display: block;
  height: 12px;
  width: 1px;
  position: absolute;
  top: 0;
}

.back-to-top .arrow > .shaft:before {
  transform: rotate(40deg);
  transform-origin: top left;
  left: 0;
}

.back-to-top .arrow > .shaft:after {
  transform: rotate(-40deg);
  transform-origin: top right;
  left: 0;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.form-group label {
  font-size: 0.9em;
  letter-spacing: 0.4px;
}

.form-group input, .form-group textarea, .form-group select {
  border-radius: 0;
  border-top: none;
  border-left: none;
  border-right: none;
  padding-top: 10px;
  padding-left: 0;
  font-style: italic;
  font-size: 1.1em;
  color: #8d8d8d;
  border-color: #CCC;
  outline: none;
  box-shadow: none !important;
}

.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
  border-color: #212529;
}

/*
 * Importation du header et du footer
 */
/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
/*
 * Base
 */
html, body {
  height: 100%;
  padding: 0;
  font-family: Raleway,Arial,sans-serif;
  font-size: 14px;
  color: #212529;
}

@media (max-width: 575px) {
  .container {
    padding: 0 20px !important;
  }
}

section.content {
  position: relative;
  display: block;
}

/*
 * Notification
 */
.notification {
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2000;
  border-radius: 10px;
  text-align: center;
  padding: 20px;
  display: none;
}

.notification.notification-success {
  background-color: #2a9d8f;
  color: #FFF;
}

.notification.notification-error {
  background-color: #b15257;
  color: #FFF;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
header {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 30;
  background-color: #FFF;
}

header .menu__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}

header .menu__wrapper .menu__logo-min img {
  width: 100px;
}

@media (max-width: 991px) {
  header .menu__wrapper .search-mobile {
    position: absolute;
    right: 90px;
  }
  header .menu__wrapper .search-mobile .action-click {
    position: absolute;
    top: -13px;
    left: -20px;
    height: 35px;
    width: 40px;
    cursor: pointer;
  }
  header .menu__wrapper .search-mobile .circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 20px;
    width: 20px;
    border-radius: 50%;
    border: 1px solid #212529;
  }
  header .menu__wrapper .search-mobile .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: rotate(-45deg);
    margin-top: 10px;
    margin-left: -15px;
    width: 10px;
    border-bottom: 1px solid #212529;
  }
  header .menu__wrapper .menu__hamburger {
    position: absolute;
    top: 25px;
    right: 28px;
    width: 30px;
    z-index: 100;
  }
  header .menu__wrapper .menu__hamburger .line {
    position: absolute;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #212529;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
  }
  header .menu__wrapper .menu__hamburger:not(.close) .line.first-line {
    top: 0;
  }
  header .menu__wrapper .menu__hamburger:not(.close) .line.second-line {
    top: 15px;
  }
  header .menu__wrapper .menu__hamburger.close {
    position: fixed;
  }
  header .menu__wrapper .menu__hamburger.close .first-line {
    top: 10px;
    transform: rotate(45deg);
  }
  header .menu__wrapper .menu__hamburger.close .second-line {
    top: 10px;
    transform: rotate(-45deg);
  }
  header .menu__wrapper .menu__hamburger .action-click {
    position: absolute;
    height: 30px;
    width: 100%;
    cursor: pointer;
  }
  header .menu__wrapper .menu__container {
    display: none;
  }
  header .menu__wrapper .menu__container.open {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #FFF;
    z-index: 20;
    align-items: center;
    justify-content: center;
  }
  header .menu__wrapper .menu__container.open li {
    text-align: center;
    letter-spacing: .5px;
    opacity: 0;
    transform: translateY(10px);
  }
}

@media (max-width: 991px) and (max-width: 575px) {
  header .menu__wrapper .menu__container.open li {
    padding: 20px 0;
    font-size: 1.2em;
  }
}

@media (max-width: 991px) and (min-width: 576px) {
  header .menu__wrapper .menu__container.open li {
    padding: 25px 0;
    font-size: 1.5em;
  }
}

@media (max-width: 991px) {
  @keyframes menuLiAnimation {
    0% {
      opacity: 0;
      transform: translateY(10px);
    }
    25% {
      transform: translateY(0);
    }
    100% {
      opacity: 1;
    }
  }
  header .menu__wrapper .menu__container.open li.visible {
    opacity: 1;
    transform: translateY(0);
    animation: menuLiAnimation 2s 1;
  }
  header .menu__wrapper .menu__container.open li.search {
    display: none;
  }
  header .menu__wrapper .menu__container.open li.social-medias a {
    color: #e6e6e6;
    font-size: 1.3em;
  }
}

@media (min-width: 992px) {
  header .menu__wrapper .search-mobile, header .menu__wrapper .menu__hamburger {
    display: none;
  }
  header .menu__wrapper ul.menu__items {
    display: flex;
    margin-top: 3px;
    align-items: center;
  }
  header .menu__wrapper ul.menu__items li.item {
    font-size: 1em;
    padding: 0 15px;
    float: left;
  }
  header .menu__wrapper ul.menu__items li.item a {
    position: relative;
    text-transform: uppercase;
    letter-spacing: .4px;
    font-weight: 500;
    color: #212529;
    transition: color .2s ease-out;
  }
  header .menu__wrapper ul.menu__items li.item a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -9px;
    left: 0;
    width: 0;
    height: 1px;
    background: #222a36;
    pointer-events: none;
    z-index: 1;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
  }
  header .menu__wrapper ul.menu__items li.item a:hover::before, header .menu__wrapper ul.menu__items li.item a.active::before {
    width: 100%;
  }
  header .menu__wrapper ul.menu__items li.item a:hover {
    color: #222a36;
  }
  header .menu__wrapper ul.menu__items li.search {
    margin-left: 13px;
    width: 30px;
    position: relative;
  }
  header .menu__wrapper ul.menu__items li.search .action-click {
    position: absolute;
    top: -10px;
    height: 30px;
    width: 100%;
    cursor: pointer;
  }
  header .menu__wrapper ul.menu__items li.search .circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 20px;
    width: 20px;
    border-radius: 50%;
    border: 1px solid #212529;
  }
  header .menu__wrapper ul.menu__items li.search .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: rotate(-45deg);
    margin-top: 10px;
    margin-left: -15px;
    width: 10px;
    border-bottom: 1px solid #212529;
  }
  header .menu__wrapper ul.menu__items li.social-medias {
    font-size: 1em;
    padding-left: 25px;
    float: left;
    margin-top: -2px;
  }
  header .menu__wrapper ul.menu__items li.social-medias a {
    color: #CCC;
  }
  header .menu__wrapper ul.menu__items li.social-medias a:hover {
    color: #212529;
  }
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
footer {
  padding-top: 50px;
  padding-bottom: 20px;
}

footer .footer__content {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #212529;
  padding-top: 30px;
}

footer .footer__content .footer__left-block .footer__logo {
  position: relative;
}

footer .footer__content .footer__left-block .footer__logo img {
  width: 170px;
  padding-bottom: 15px;
}

footer .footer__content .footer__left-block .footer__logo:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20px;
  border-bottom: 1px solid #212529;
}

footer .footer__content .footer__right-block p {
  text-align: end;
}

footer .footer__content .footer__right-block .social-medias {
  font-size: 0.9em;
}

footer .footer__content .footer__right-block .social-medias a {
  color: #000;
  text-shadow: none;
  border: 1px solid #000;
  display: block;
  position: relative;
  border-radius: 40px;
  height: 40px;
  width: 40px;
  padding-right: 13px;
  padding-top: 12px;
  transition: all .2s linear;
}

footer .footer__content .footer__right-block .social-medias a:hover {
  color: #FFF;
  background-color: #212529;
}

/*
 * Importation des pages du site
 */
/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.home-introduction {
  height: 100%;
  position: relative;
  background: #000;
}

.home-introduction .logo__container img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}

@media (max-width: 767px) {
  .home-introduction .logo__container img {
    width: 200px;
  }
}

@media (min-width: 768px) {
  .home-introduction .logo__container img {
    width: 400px;
  }
}

.home-introduction .logo__container img.animation-start {
  opacity: 1;
}

@media (min-width: 768px) {
  .home-introduction .slideshow-desktop {
    display: block;
  }
}

@media (max-width: 767px) {
  .home-introduction .slideshow-desktop {
    display: none;
  }
}

@media (min-width: 768px) {
  .home-introduction .slideshow-mobile {
    display: none;
  }
}

@media (max-width: 767px) {
  .home-introduction .slideshow-mobile {
    display: block;
  }
}

.home-introduction .image-cover {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}

.home-introduction .image-cover.visible {
  opacity: 0.3;
}

.home-introduction .home-menu {
  opacity: 0;
  transition: opacity 1.7s ease-in-out;
}

@media (max-width: 767px) and (max-height: 499px) {
  .home-introduction .home-menu {
    display: none;
  }
}

@media (max-width: 767px) and (min-height: 500px) {
  .home-introduction .home-menu {
    position: absolute;
    z-index: 10;
    bottom: 90px;
    width: 100%;
  }
  .home-introduction .home-menu li.show-mobile {
    text-align: center;
    font-size: 1em;
    font-weight: 600;
    padding: 10px;
  }
  .home-introduction .home-menu li.show-mobile a {
    color: #FFF;
    letter-spacing: 1.2px;
  }
  .home-introduction .home-menu li:not(.show-mobile) {
    display: none;
  }
}

@media (min-width: 768px) {
  .home-introduction .home-menu {
    position: absolute;
    z-index: 10;
    left: 50%;
    top: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 140px;
  }
  .home-introduction .home-menu li {
    float: left;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .home-introduction .home-menu li {
    font-size: 0.9em;
    padding: 0 10px;
  }
}

@media (min-width: 768px) and (min-width: 768px) {
  .home-introduction .home-menu li {
    font-size: 1em;
    padding: 0 15px;
  }
}

@media (min-width: 768px) {
  .home-introduction .home-menu li a {
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-weight: 400;
    color: #FFF;
  }
  .home-introduction .home-menu li a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -9px;
    left: 0;
    width: 0;
    height: 1px;
    background: #FFF;
    pointer-events: none;
    z-index: 1;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
  }
  .home-introduction .home-menu li a:hover::before {
    width: 100%;
  }
}

.home-introduction .home-menu.animation-start {
  opacity: 1;
}

.home-introduction .home-menu.hide-scroll-down {
  transition-duration: .4s !important;
  opacity: 0 !important;
}

.home-introduction .text-arrow-down {
  position: absolute;
  z-index: 2;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  color: #FFF;
  opacity: 0;
  transition: opacity 1.7s ease-in-out;
}

.home-introduction .text-arrow-down.animation-start {
  opacity: 1;
}

.home-introduction .text-arrow-down.hide-scroll-down {
  transition-duration: .6s !important;
  opacity: 0 !important;
}

.home-introduction .arrow-down {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  opacity: 0;
  transition: opacity 1.7s ease-in-out;
}

.home-introduction .arrow-down.animation-start {
  opacity: 1;
}

.home-introduction .arrow-down.hide-scroll-down {
  transition-duration: .6s !important;
  opacity: 0 !important;
}

.home-introduction .arrow-down img {
  width: 50px;
  height: 50px;
}

@media (max-width: 991px) {
  .home-content h1.home-list {
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-weight: 300;
    font-size: 1.7em;
    padding-bottom: 10px;
    text-align: center;
  }
}

@media (min-width: 992px) {
  .home-content h1.home-list {
    display: none;
  }
}

.home-content .masonry-container .item {
  padding: 9px 9px 3px;
}

@media (max-width: 575px) {
  .home-content .masonry-container .item {
    width: 100%;
  }
}

@media (min-width: 576px) {
  .home-content .masonry-container .item {
    width: 50%;
  }
}

@media (max-width: 991px) {
  .home-content .masonry-container .item .project__wrapper .project__info {
    position: relative;
  }
  .home-content .masonry-container .item .project__wrapper .project__info__title {
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 300;
    font-size: 1.4em;
  }
  .home-content .masonry-container .item .project__wrapper .project__info__description {
    margin-top: 5px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 0.9em;
    letter-spacing: 1px;
  }
  .home-content .masonry-container .item .project__wrapper .project__info__description::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid #212529;
    width: 100px;
  }
}

@media (min-width: 992px) {
  .home-content .masonry-container .item .project__wrapper {
    position: relative;
    overflow: hidden;
  }
  .home-content .masonry-container .item .project__wrapper img {
    transition: transform 1s cubic-bezier(0, 1, 0.5, 1);
    margin-bottom: 0;
  }
  .home-content .masonry-container .item .project__wrapper:hover img {
    transform: scale(1.1);
  }
  .home-content .masonry-container .item .project__wrapper .project__bg {
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 6px;
    left: 0;
    opacity: 0;
    transition: opacity .3s ease-in-out;
  }
  .home-content .masonry-container .item .project__wrapper:hover .project__bg {
    opacity: 1;
  }
  .home-content .masonry-container .item .project__wrapper .project__info {
    position: absolute;
    width: 100%;
    padding: 15px;
    top: 50%;
    text-align: center;
    color: #FFF;
    transition: transform 1s cubic-bezier(0, 1, 0.5, 1), opacity 1s cubic-bezier(0, 1, 0.5, 1);
    transform: translateY(-50%) perspective(1px) scale(0.8);
    opacity: 0;
  }
  .home-content .masonry-container .item .project__wrapper .project__info__title {
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-weight: 300;
    font-size: 1.7em;
  }
  .home-content .masonry-container .item .project__wrapper .project__info__description {
    margin-top: 10px;
    font-size: 1em;
    letter-spacing: 1.1px;
  }
  .home-content .masonry-container .item .project__wrapper:hover .project__info {
    transform: translateY(-50%) scale(1);
    opacity: 1;
  }
  .home-content .masonry-container .item .project__wrapper:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border: 4px solid #FFF;
  }
}

.home-content .masonry-container .item .news__wrapper {
  background: #fafafa;
  padding: 40px 40px 37px;
  border-bottom: 5px solid #FFF;
}

@media (min-width: 992px) {
  .home-content .masonry-container .item .news__wrapper {
    display: flex;
  }
}

.home-content .masonry-container .item .news__wrapper .news__image {
  position: relative;
  overflow: hidden;
}

@media (max-width: 991px) {
  .home-content .masonry-container .item .news__wrapper .news__image {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .home-content .masonry-container .item .news__wrapper .news__image {
    width: 50%;
  }
}

.home-content .masonry-container .item .news__wrapper .news__image img {
  transition: transform 1s cubic-bezier(0, 1, 0.5, 1);
  margin-bottom: 0;
}

.home-content .masonry-container .item .news__wrapper .news__image:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border: 4px solid #fafafa;
}

.home-content .masonry-container .item .news__wrapper .news__content {
  padding-top: 30px;
  padding-left: 15px;
}

@media (max-width: 991px) {
  .home-content .masonry-container .item .news__wrapper .news__content {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .home-content .masonry-container .item .news__wrapper .news__content {
    width: 50%;
  }
}

.home-content .masonry-container .item .news__wrapper .news__content .news__eyebrow {
  color: #8d8d8d;
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 500;
  transition: color 1s cubic-bezier(0, 1, 0.5, 1);
}

.home-content .masonry-container .item .news__wrapper .news__content h2.news__title {
  font-size: 1.4em;
  margin-top: 20px;
}

.home-content .masonry-container .item .news__wrapper .news__content .news__description {
  font-size: 0.95em;
  line-height: 1.6em;
  margin-top: 20px;
  border-left: 1px solid #212529;
  padding-left: 10px;
}

.home-content .masonry-container .item .news__wrapper .news__content .news__read-more {
  margin-top: 30px;
  padding-bottom: 7px;
  width: 120px;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 2px;
  border-bottom: 1px solid #343434;
  transition: all .4s ease-in-out;
}

.home-content .masonry-container .item .news__wrapper:hover .news__image img {
  transform: scale(1.1);
}

.home-content .masonry-container .item .news__wrapper:hover .news__eyebrow {
  color: #bc9f57;
}

.home-content .masonry-container .item .news__wrapper:hover .news__read-more {
  border-bottom-color: #cbb47b;
  color: #bc9f57;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
@media (max-width: 991px) {
  h1.news-list {
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-weight: 300;
    font-size: 1.7em;
    padding-bottom: 10px;
    text-align: center;
  }
}

@media (min-width: 992px) {
  h1.news-list {
    display: none;
  }
}

.news__wrapper .masonry-container .item {
  padding: 9px 9px 3px;
}

@media (max-width: 575px) {
  .news__wrapper .masonry-container .item {
    width: 100%;
  }
}

@media (min-width: 576px) {
  .news__wrapper .masonry-container .item {
    width: 50%;
  }
}

.news__wrapper .masonry-container .item .news__wrapper {
  background: #fafafa;
  padding: 40px 40px 37px;
  border-bottom: 5px solid #FFF;
}

@media (min-width: 992px) {
  .news__wrapper .masonry-container .item .news__wrapper {
    display: flex;
  }
}

.news__wrapper .masonry-container .item .news__wrapper .news__image {
  position: relative;
  overflow: hidden;
}

@media (max-width: 991px) {
  .news__wrapper .masonry-container .item .news__wrapper .news__image {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .news__wrapper .masonry-container .item .news__wrapper .news__image {
    width: 50%;
  }
}

.news__wrapper .masonry-container .item .news__wrapper .news__image img {
  transition: transform 1s cubic-bezier(0, 1, 0.5, 1);
  margin-bottom: 0;
}

.news__wrapper .masonry-container .item .news__wrapper .news__image:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border: 4px solid #fafafa;
}

.news__wrapper .masonry-container .item .news__wrapper .news__content {
  padding-top: 30px;
  padding-left: 15px;
}

@media (max-width: 991px) {
  .news__wrapper .masonry-container .item .news__wrapper .news__content {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .news__wrapper .masonry-container .item .news__wrapper .news__content {
    width: 50%;
  }
}

.news__wrapper .masonry-container .item .news__wrapper .news__content .news__eyebrow {
  color: #8d8d8d;
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 500;
  transition: color 1s cubic-bezier(0, 1, 0.5, 1);
}

.news__wrapper .masonry-container .item .news__wrapper .news__content h2.news__title {
  font-size: 1.4em;
  margin-top: 20px;
}

.news__wrapper .masonry-container .item .news__wrapper .news__content .news__description {
  font-size: 0.95em;
  line-height: 1.6em;
  margin-top: 20px;
  border-left: 1px solid #212529;
  padding-left: 10px;
}

.news__wrapper .masonry-container .item .news__wrapper .news__content .news__date {
  font-size: 0.95em;
  line-height: 1.6em;
  margin-top: 10px;
  color: #8d8d8d;
}

.news__wrapper .masonry-container .item .news__wrapper .news__content .news__read-more {
  margin-top: 30px;
  padding-bottom: 7px;
  width: 120px;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 2px;
  border-bottom: 1px solid #343434;
  transition: all .4s ease-in-out;
}

.news__wrapper .masonry-container .item .news__wrapper:hover .news__image img {
  transform: scale(1.1);
}

.news__wrapper .masonry-container .item .news__wrapper:hover .news__eyebrow {
  color: #bc9f57;
}

.news__wrapper .masonry-container .item .news__wrapper:hover .news__read-more {
  border-bottom-color: #cbb47b;
  color: #bc9f57;
}

@media (min-width: 768px) {
  .news__wrapper {
    padding: 0 20px;
  }
}

@media (min-width: 992px) {
  .news__wrapper {
    padding: 0 50px;
  }
}

.news__wrapper .news-listing .item.news-listing__item {
  width: 100%;
  padding: 0;
  margin-bottom: 0;
}

.news__wrapper .news-listing .news-card {
  display: block;
  text-decoration: none;
  color: #212529;
  padding: 0 0 55px;
  margin-bottom: 55px;
  border-bottom: 1px solid #ececec;
}

@media (min-width: 992px) {
  .news__wrapper .news-listing .news-card {
    display: flex;
    align-items: flex-start;
    gap: 38px;
  }
}

.news__wrapper .news-listing .news-card .news-card__media-wrapper {
  width: 100%;
}

@media (max-width: 991px) {
  .news__wrapper .news-listing .news-card .news-card__media-wrapper {
    margin-bottom: 28px;
  }
}

@media (min-width: 992px) {
  .news__wrapper .news-listing .news-card .news-card__media-wrapper {
    width: 36%;
    flex: 0 0 36%;
    margin-bottom: 0;
  }
}

.news__wrapper .news-listing .news-card .news-card__media-wrapper .news-card__media {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-image: var(--news-image-mobile);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.news__wrapper .news-listing .news-card .news-card__media-wrapper .news-card__media:before {
  content: "";
  display: block;
  padding-top: 66.666%;
}

@media (min-width: 992px) {
  .news__wrapper .news-listing .news-card .news-card__media-wrapper .news-card__media {
    background-image: var(--news-image-desktop);
  }
}

.news__wrapper .news-listing .news-card .news-card__content {
  width: 100%;
  min-width: 0;
}

@media (min-width: 992px) {
  .news__wrapper .news-listing .news-card .news-card__content {
    flex: 1 1 0;
    padding-top: 2px;
  }
}

.news__wrapper .news-listing .news-card .news-card__content .news-card__title {
  font-size: 1.6em;
  line-height: 1.15em;
  font-weight: 500;
  margin-bottom: 18px;
}

@media (max-width: 991px) {
  .news__wrapper .news-listing .news-card .news-card__content .news-card__title {
    font-size: 1.4em;
    margin-bottom: 14px;
  }
}

.news__wrapper .news-listing .news-card .news-card__content .news-card__date {
  margin-bottom: 18px;
  font-size: 1.15em;
  line-height: 1.3em;
  font-weight: 600;
  color: #bc9f57;
  letter-spacing: 0.02em;
}

@media (max-width: 991px) {
  .news__wrapper .news-listing .news-card .news-card__content .news-card__date {
    font-size: 1.05em;
    margin-bottom: 16px;
  }
}

.news__wrapper .news-listing .news-card .news-card__content .news-card__description {
  font-size: 1.05em;
  line-height: 1.65em;
  color: #212529;
  overflow-wrap: break-word;
  word-break: break-word;
}

.news__wrapper .news-listing .news-card .news-card__content .news-card__description p {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .news__wrapper .news-listing .news-card .news-card__content .news-card__description {
    font-size: 1em;
    line-height: 1.6em;
  }
}

.news__wrapper .news-listing .news-card .news-card__content .news-card__link {
  display: inline-block;
  margin-top: 24px;
  font-size: 0.95em;
  line-height: 1.2em;
  font-weight: 600;
  color: #212529;
  position: relative;
  transition: color .25s ease-in-out;
}

.news__wrapper .news-listing .news-card:hover .news-card__link {
  color: #bc9f57;
}

.news__wrapper .news-listing .news-card:hover .news-card__link:after {
  color: #bc9f57;
  transform: translateX(4px);
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.news-view__wrapper {
  position: relative;
}

@media (min-width: 576px) {
  .news-view__wrapper .news-view__top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}

.news-view__wrapper .news-view__top .news-view__title {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 500;
  font-size: 1.7em;
  padding-bottom: 10px;
}

.news-view__wrapper .news-view__top .news-view__title:after {
  content: "";
  position: absolute;
  width: 150px;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid #212529;
}

.news-view__wrapper .news-view__top .news-view__date {
  margin-top: 15px;
  font-size: 1em;
  letter-spacing: 1.1px;
}

.news-view__wrapper .news-view__top .news-view__navigation {
  display: flex;
}

@media (min-width: 576px) {
  .news-view__wrapper .news-view__top .news-view__navigation {
    justify-content: flex-end;
  }
}

@media (max-width: 575px) {
  .news-view__wrapper .news-view__top .news-view__navigation {
    justify-content: center;
    margin-bottom: 40px;
  }
}

.news-view__wrapper .news-view__video {
  overflow: hidden;
  padding-bottom: 56.25%;
  margin-bottom: 40px;
  position: relative;
  height: 0;
}

.news-view__wrapper .news-view__video iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.news-view__wrapper .news-view__content p {
  color: #212529;
  font-size: 0.95em;
  line-height: 1.9em;
  max-width: 800px;
}

.news-view__wrapper .news-view__content a {
  color: #495b75;
  text-decoration: underline;
}

@media (min-width: 576px) {
  .news-view__wrapper .news-view__image {
    margin-bottom: 1.5rem !important;
    max-width: 800px;
  }
}

@media (max-width: 575px) {
  .news-view__wrapper .news-view__image {
    margin-bottom: .5rem !important;
  }
}

.news-view__wrapper .news-view__share {
  padding-top: 30px;
}

.news-view__wrapper .news-view__share a {
  font-size: 1.7em;
  margin-right: 10px;
  color: #CCC;
  transition: color .2s linear;
}

.news-view__wrapper .news-view__share a:hover {
  color: #212529;
}

.news-view__wrapper .news-view__last-news {
  font-size: 0.95em;
  line-height: 1.6em;
  margin-top: 20px;
  border-left: 1px solid #212529;
  padding-left: 10px;
  margin-bottom: 1.5rem;
}

.news-view__wrapper .news-view__last-news__title {
  margin-bottom: 5px;
  transition: all .3s ease;
}

.news-view__wrapper .news-view__last-news__date {
  color: #CCC;
  transition: all .3s ease;
}

.news-view__wrapper .news-view__last-news:hover {
  border-left-color: #bc9f57;
}

.news-view__wrapper .news-view__last-news:hover .news-view__last-news__title {
  transform: translateX(5px);
}

.news-view__wrapper .news-view__last-news:hover .news-view__last-news__date {
  transform: translateX(5px);
  color: #c1b085;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
@media (max-width: 767px) {
  h1.projects-group-name {
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-weight: 300;
    font-size: 1.7em;
    padding-bottom: 10px;
    text-align: center;
  }
}

@media (min-width: 768px) {
  h1.projects-group-name {
    display: none;
  }
}

@media (max-width: 767px) {
  .mobile-select-group-btn {
    text-align: center;
  }
}

@media (min-width: 768px) {
  .mobile-select-group-btn {
    display: none;
  }
}

ul.projects-groups {
  text-align: center;
  width: 100%;
}

@media (max-width: 767px) {
  ul.projects-groups:not(.mobile-open) {
    display: none;
  }
  ul.projects-groups.mobile-open li {
    padding: 10px;
  }
  ul.projects-groups li a {
    font-style: italic;
  }
  ul.projects-groups li a.active {
    color: #8d8d8d;
  }
}

@media (min-width: 768px) {
  ul.projects-groups {
    width: 100%;
    display: inline-block;
    padding: 0;
    text-align: center;
  }
  ul.projects-groups li {
    display: inline-block;
    padding: 15px;
    position: relative;
    letter-spacing: 0.5px;
    font-size: 0.97em;
  }
  ul.projects-groups li a {
    cursor: pointer;
    position: relative;
  }
  ul.projects-groups li a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 1px;
    background: #222a36;
    pointer-events: none;
    z-index: 1;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
  }
  ul.projects-groups li a.active::before {
    width: 100%;
  }
  ul.projects-groups li a:hover::before {
    width: 100%;
  }
  ul.projects-groups li a:hover {
    color: #222a36;
  }
  ul.projects-groups li:not(:last-child):after {
    content: "";
    position: absolute;
    top: 10px;
    right: -5px;
    height: 25px;
    border-right: 1px solid #212529;
    transform: rotate(20deg);
  }
}

ul.projects-build-status {
  margin-top: 25px;
  background: #f7f7f7;
  padding: 0 8px;
  border-radius: 50px;
  display: inline-block;
  text-align: center;
}

ul.projects-build-status li {
  display: inline-block;
  position: relative;
  letter-spacing: 0.5px;
  font-size: 0.97em;
}

@media (max-width: 767px) {
  ul.projects-build-status li {
    padding: 15px 7px;
  }
}

@media (min-width: 768px) {
  ul.projects-build-status li {
    padding: 15px;
  }
}

ul.projects-build-status li a {
  cursor: pointer;
  position: relative;
}

ul.projects-build-status li a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background: #222a36;
  pointer-events: none;
  z-index: 1;
  -webkit-transition: all .2s linear;
  transition: all .2s linear;
}

ul.projects-build-status li a.active::before {
  width: 100%;
}

ul.projects-build-status li a:hover::before {
  width: 100%;
}

ul.projects-build-status li a:hover {
  color: #222a36;
}

.projects__wrapper .masonry-container .item {
  padding: 9px 9px 3px;
}

@media (max-width: 575px) {
  .projects__wrapper .masonry-container .item {
    width: 100%;
  }
}

@media (min-width: 576px) {
  .projects__wrapper .masonry-container .item {
    width: 50%;
  }
}

@media (max-width: 991px) {
  .projects__wrapper .masonry-container .item .project__wrapper .project__info {
    position: relative;
  }
  .projects__wrapper .masonry-container .item .project__wrapper .project__info__title {
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 300;
    font-size: 1.4em;
  }
  .projects__wrapper .masonry-container .item .project__wrapper .project__info__description {
    margin-top: 5px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 0.9em;
    letter-spacing: 1px;
  }
  .projects__wrapper .masonry-container .item .project__wrapper .project__info__description::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid #212529;
    width: 100px;
  }
}

@media (min-width: 992px) {
  .projects__wrapper .masonry-container .item .project__wrapper {
    position: relative;
    overflow: hidden;
  }
  .projects__wrapper .masonry-container .item .project__wrapper img {
    transition: transform 1s cubic-bezier(0, 1, 0.5, 1);
    margin-bottom: 0;
  }
  .projects__wrapper .masonry-container .item .project__wrapper:hover img {
    transform: scale(1.1);
  }
  .projects__wrapper .masonry-container .item .project__wrapper .project__bg {
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 6px;
    left: 0;
    opacity: 0;
    transition: opacity .3s ease-in-out;
  }
  .projects__wrapper .masonry-container .item .project__wrapper:hover .project__bg {
    opacity: 1;
  }
  .projects__wrapper .masonry-container .item .project__wrapper .project__info {
    position: absolute;
    width: 100%;
    padding: 15px;
    top: 50%;
    text-align: center;
    color: #FFF;
    transition: transform 1s cubic-bezier(0, 1, 0.5, 1), opacity 1s cubic-bezier(0, 1, 0.5, 1);
    transform: translateY(-50%) perspective(1px) scale(0.8);
    opacity: 0;
  }
  .projects__wrapper .masonry-container .item .project__wrapper .project__info__title {
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-weight: 300;
    font-size: 1.7em;
  }
  .projects__wrapper .masonry-container .item .project__wrapper .project__info__description {
    margin-top: 10px;
    font-size: 1em;
    letter-spacing: 1.1px;
  }
  .projects__wrapper .masonry-container .item .project__wrapper:hover .project__info {
    transform: translateY(-50%) scale(1);
    opacity: 1;
  }
  .projects__wrapper .masonry-container .item .project__wrapper:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border: 4px solid #FFF;
  }
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.project-view__wrapper {
  position: relative;
}

@media (max-width: 991px) {
  .project-view__wrapper .project-view__groups {
    padding-bottom: 50px;
  }
  .project-view__wrapper .project-view__groups ul {
    display: inline-block;
  }
  .project-view__wrapper .project-view__groups ul li {
    padding: 0 15px 0 0;
    font-size: 0.8em;
    line-height: 2.5em;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #d6d6d6;
    float: left;
  }
}

@media (min-width: 992px) {
  .project-view__wrapper .project-view__groups {
    position: absolute;
  }
}

@media (min-width: 992px) and (min-width: 1400px) {
  .project-view__wrapper .project-view__groups {
    top: 770px;
    right: 680px;
  }
}

@media (min-width: 992px) and (min-width: 1200px) and (max-width: 1399px) {
  .project-view__wrapper .project-view__groups {
    top: 680px;
    right: 580px;
  }
}

@media (min-width: 992px) and (min-width: 992px) and (max-width: 1199px) {
  .project-view__wrapper .project-view__groups {
    top: 590px;
    right: 490px;
  }
}

@media (min-width: 992px) {
  .project-view__wrapper .project-view__groups ul {
    position: relative;
    display: flex;
    transform: rotate(-90deg);
    justify-content: flex-end;
  }
  .project-view__wrapper .project-view__groups ul li {
    padding: 0 15px;
    font-size: 0.8em;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #d6d6d6;
  }
  .project-view__wrapper .project-view__groups ul li:first-child::before {
    content: "";
    position: absolute;
    top: 5px;
    margin-left: -135px;
    width: 100px;
    border-bottom: 1px solid #dbdbdb;
  }
}

@media (min-width: 576px) {
  .project-view__wrapper .project-view__top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}

.project-view__wrapper .project-view__top .project-view__heading {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 500;
  padding-bottom: 10px;
}

@media (max-width: 575px) {
  .project-view__wrapper .project-view__top .project-view__heading {
    font-size: 1.4em;
  }
}

@media (min-width: 576px) {
  .project-view__wrapper .project-view__top .project-view__heading {
    font-size: 1.7em;
  }
}

.project-view__wrapper .project-view__top .project-view__heading:after {
  content: "";
  position: absolute;
  width: 150px;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid #212529;
}

.project-view__wrapper .project-view__top .project-view__name {
  margin-top: 15px;
  font-size: 1em;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.project-view__wrapper .project-view__top .project-view__project-owner {
  margin-top: 5px;
  font-size: 1em;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.project-view__wrapper .project-view__top .project-view__navigation {
  display: flex;
}

@media (min-width: 576px) {
  .project-view__wrapper .project-view__top .project-view__navigation {
    justify-content: flex-end;
  }
}

@media (max-width: 575px) {
  .project-view__wrapper .project-view__top .project-view__navigation {
    justify-content: center;
    margin-bottom: 40px;
  }
}

@media (min-width: 576px) {
  .project-view__wrapper .project-view__top .project-view__video {
    margin-top: 20px;
  }
}

@media (max-width: 575px) {
  .project-view__wrapper .project-view__top .project-view__video {
    margin-bottom: 20px;
  }
}

@media (min-width: 576px) {
  .project-view__wrapper .project-view__image {
    margin-bottom: 1.5rem !important;
  }
}

@media (max-width: 575px) {
  .project-view__wrapper .project-view__image {
    margin-bottom: .5rem !important;
  }
}

.project-view__wrapper .project-view__features .row {
  border-bottom: 1px solid #e6e6e6;
  padding: 15px 0;
  margin-left: 0;
  margin-right: 0;
}

.project-view__wrapper .project-view__features .row .col-6:first-child {
  padding-left: 0;
}

.project-view__wrapper .project-view__features .row .col-6:last-child {
  padding-right: 0;
}

.project-view__wrapper .project-view__features p {
  font-size: 0.95em;
  line-height: 1.9em;
}

.project-view__wrapper .project-view__description p {
  color: #212529;
  font-size: 0.95em;
  line-height: 1.9em;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
@media (max-width: 575px) {
  .agency-quote {
    margin: 50px auto;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .agency-quote {
    width: 80%;
    margin: 50px auto;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .agency-quote {
    width: 70%;
    margin: 80px auto;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .agency-quote {
    width: 50%;
    margin: 80px auto;
  }
}

@media (min-width: 1200px) {
  .agency-quote {
    width: 50%;
    margin: 120px auto;
  }
}

.agency-quote p {
  font-size: 1.1em;
  line-height: 1.6em;
  letter-spacing: 1.1px;
  font-weight: 300;
  text-align: center;
  font-style: italic;
}

.agency-top-image {
  width: 66%;
  margin: 50px auto;
}

.agency-presentation__wrapper .agency-presentation__heading {
  position: relative;
  margin-bottom: 20px;
}

@media (max-width: 991px) {
  .agency-presentation__wrapper .agency-presentation__heading {
    margin-bottom: 40px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .agency-presentation__wrapper .agency-presentation__heading {
    padding-left: 60px;
  }
}

@media (min-width: 1200px) {
  .agency-presentation__wrapper .agency-presentation__heading {
    padding-left: 75px;
  }
}

.agency-presentation__wrapper .agency-presentation__heading .agency-presentation__heading__title {
  position: relative;
  padding-bottom: 20px;
}

.agency-presentation__wrapper .agency-presentation__heading .agency-presentation__heading__title h1 {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 300;
  padding-bottom: 10px;
}

.agency-presentation__wrapper .agency-presentation__heading .agency-presentation__heading__title p {
  font-size: 1em;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.agency-presentation__wrapper .agency-presentation__heading .agency-presentation__heading__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10px;
  width: 150px;
  border-bottom: 1px solid #212529;
}

@media (max-width: 767px) {
  .agency-presentation__wrapper .agency-presentation__content__image {
    width: 100%;
    padding-bottom: 30px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .agency-presentation__wrapper .agency-presentation__content__image {
    height: 580px;
    transform: translate(-130px, 8px);
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .agency-presentation__wrapper .agency-presentation__content__image {
    width: 300px;
    transform: translateX(-160px);
  }
}

@media (min-width: 1200px) {
  .agency-presentation__wrapper .agency-presentation__content__image {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .agency-presentation__wrapper .agency-presentation__content {
    padding-bottom: 30px;
  }
}

.agency-presentation__wrapper .agency-presentation__content p {
  margin-bottom: 30px;
  line-height: 2em;
}

@media (min-width: 992px) {
  .agency-presentation__wrapper .agency-presentation__content p {
    padding-left: 50px;
  }
}

@media (min-width: 768px) {
  .agency-background-mobile {
    display: none;
  }
}

@media (max-width: 767px) {
  .agency-background-mobile {
    margin-top: 50px;
    width: 100%;
    background-position: top var(--parallaxY, 0px) center;
    background-repeat: no-repeat;
    height: 300px;
  }
}

@media (max-width: 767px) {
  .agency-background-desktop {
    display: none;
  }
}

@media (min-width: 768px) {
  .agency-background-desktop {
    margin-top: 50px;
    width: 100%;
    background-position: top var(--parallaxY, 0px) center;
    background-repeat: no-repeat;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .agency-background-desktop {
    height: 350px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .agency-background-desktop {
    height: 420px;
  }
}

@media (min-width: 992px) {
  .agency-background-desktop {
    height: 500px;
  }
}

.agency-team__wrapper {
  min-height: 400px;
}

.agency-team__wrapper h1 {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 300;
  padding-top: 40px;
  padding-bottom: 10px;
}

.agency-team__wrapper h2 {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 400;
  padding-top: 40px;
  padding-bottom: 10px;
}

.agency-team__wrapper .agency-team__item {
  padding-bottom: 20px;
}

.agency-team__wrapper .agency-team__item .agency-team__person {
  text-align: center;
  margin-top: 10px;
}

@media (max-width: 575px) {
  .agency-team__wrapper .agency-team__item .agency-team__person {
    font-size: .9em;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .agency-team__wrapper .agency-team__item .agency-team__person {
    font-size: .9em;
  }
}

.agency-team__wrapper .team-separator {
  width: 100px;
  margin-top: 30px;
  margin-bottom: 60px;
  border-bottom: 1px solid #212529;
}

@media (max-width: 767px) {
  .agency-team__wrapper .team-separator {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 768px) {
  .agency-team__wrapper .team-separator {
    margin-left: 1px;
  }
}

.agency-team__wrapper .former-collaborators {
  margin-top: 20px;
  font-style: italic;
  line-height: 1.9em;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.publications__container .publications__navigation {
  width: 100%;
  display: inline-block;
  padding: 0;
  text-align: center;
  margin-top: 30px;
}

.publications__container .publications__navigation li {
  display: inline-block;
  padding: 15px;
  position: relative;
  letter-spacing: 0.5px;
}

.publications__container .publications__navigation li a {
  cursor: pointer;
  position: relative;
}

.publications__container .publications__navigation li a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background: #222a36;
  pointer-events: none;
  z-index: 1;
  -webkit-transition: all .2s linear;
  transition: all .2s linear;
}

.publications__container .publications__navigation li a.active::before {
  width: 100%;
}

@media (min-width: 992px) {
  .publications__container .publications__navigation li a:hover::before {
    width: 100%;
  }
}

.publications__container .publications__navigation li a:hover {
  color: #222a36;
}

.publications__container .publications__navigation li:not(:last-child):after {
  content: "";
  position: absolute;
  top: 10px;
  right: -5px;
  height: 25px;
  border-right: 1px solid #212529;
  transform: rotate(20deg);
}

.publications__container h1 {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 300;
  padding-top: 40px;
  padding-bottom: 40px;
}

.publications__container .publication__wrapper {
  background: #fafafa;
  padding: 20px;
  margin-bottom: 20px;
}

.publications__container .publication__wrapper h2.publication__name {
  margin-top: 20px;
  font-size: 1.2em;
}

.publications__container .publication__wrapper .publication__description {
  margin-top: 20px;
  font-size: 0.95em;
  line-height: 1.6em;
  font-style: italic;
}

.publications__container .publication__wrapper h2.publication__name, .publications__container .publication__wrapper .publication__description {
  position: relative;
  padding-bottom: 20px;
}

.publications__container .publication__wrapper h2.publication__name:after, .publications__container .publication__wrapper .publication__description:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  border-bottom: 1px solid #212529;
}

.publications__container .publication__wrapper .publication__link {
  margin-top: 20px;
  font-size: 0.95em;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.videos__wrapper h1 {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 300;
  padding-top: 40px;
}

@media (min-width: 576px) {
  .videos__wrapper h1 {
    padding-bottom: 40px;
  }
}

.videos__wrapper .video__item {
  margin-top: 20px;
}

@media (max-width: 575px) {
  .videos__wrapper .video__item {
    position: relative;
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 40px;
    margin-top: 40px !important;
  }
  .videos__wrapper .video__item:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    height: 1px;
    width: 70px;
    transform: translateX(-50%);
    border-top: 1px solid #212529;
  }
}

.videos__wrapper .video__item .video__embed {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}

.videos__wrapper .video__item .video__embed iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.contact__wrapper h1, .contact__wrapper h2 {
  position: relative;
  letter-spacing: 1.4px;
  font-weight: 300;
  margin-top: 40px;
  margin-bottom: 10px;
  font-size: 1.5em;
}

.contact__wrapper .agency-info {
  border-left: 1px solid #212529;
  padding-left: 15px;
}

.contact__wrapper .contact-image {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .contact__wrapper .contact-image img {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .contact__wrapper .contact-image img {
    width: 260px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .contact__wrapper .contact-image img {
    width: 300px;
  }
}

@media (min-width: 1200px) {
  .contact__wrapper .contact-image img {
    width: 400px;
  }
}

.contact__wrapper .gpdr-mention {
  font-size: 0.875em;
  line-height: 1.9em;
}

.contact__wrapper .recaptcha-no-valid-message {
  display: none;
}

.contact__wrapper .sent-message {
  display: none;
}

@media (min-width: 768px) {
  .contact-background-mobile {
    display: none;
  }
}

@media (max-width: 767px) {
  .contact-background-mobile {
    width: 100%;
    background-position: center var(--parallaxY, 0px) center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 300px;
  }
}

@media (max-width: 767px) {
  .contact-background-desktop {
    display: none;
  }
}

@media (min-width: 768px) {
  .contact-background-desktop {
    width: 100%;
    background-position: top var(--parallaxY, 0px) center;
    background-repeat: no-repeat;
    background-size: cover;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .contact-background-desktop {
    height: 350px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .contact-background-desktop {
    height: 420px;
  }
}

@media (min-width: 992px) {
  .contact-background-desktop {
    height: 500px;
  }
}

.grecaptcha-badge {
  visibility: hidden !important;
}

/*
 * Bootstrap responsive
 */
/*
 * Couleurs
 */
.page-content__wrapper {
  padding-top: 40px;
}

.page-content__wrapper h1 {
  position: relative;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 300;
  padding-bottom: 10px;
}

.page-content__wrapper h2 {
  position: relative;
  letter-spacing: 1.4px;
  font-weight: 400;
  margin-top: 40px;
  margin-bottom: 10px;
  font-size: 1.5em;
  line-height: 1.7em;
  padding-bottom: 20px;
}

.page-content__wrapper p {
  line-height: 1.9em;
}

.page-content__wrapper .ql-align-center {
  text-align: center;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly8vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZS9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZS9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZS9fYXJyb3dzLnNjc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9fYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy9sYXlvdXQvX3NlYXJjaC5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZS9fYmFjay10by10b3Auc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGUvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vbGF5b3V0L19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL19ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL19uZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL19uZXdzX3Bvc3Quc2NzcyIsIndlYnBhY2s6Ly8vcGFnZXMvX3Byb2plY3RzLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL19wcm9qZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL19hZ2VuY3kuc2NzcyIsIndlYnBhY2s6Ly8vcGFnZXMvX3B1YmxpY2F0aW9ucy5zY3NzIiwid2VicGFjazovLy9wYWdlcy9fdmlkZW9zLnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL19jb250YWN0LnNjc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL19hbm5leC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUFoQjs7RUFHRTtBQ0hGOztFRE1FO0FDUUY7O0VETEU7QUVQRjtFQUNFLGNEa0JxQjtBRFR2Qjs7QUVOQTtFQUNFLGNEV2tCO0FERnBCOztBRU5BO0VBQ0UsV0RRcUI7QURDdkI7O0FFTkE7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Z0JBQWdCO0VBQ2hCLG9CQUFvQjtBckJ1eEZ4Qjs7QXFCL3hGQTtFQVlJLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixvQkFBb0I7QXJCdXhGeEI7O0FxQjF5RkE7RUF1Qkksa0JBQWtCO0FyQnV4RnRCOztBcUI5eUZBO0VBMkJJLGtCQUFrQjtBckJ1eEZ0QiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogSW1wb3J0YXRpb24gZGUgbGEgYmFzZSBkdSBzaXRlXG4gKi9cbkBpbXBvcnQgXCJ0ZW1wbGF0ZS90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidGVtcGxhdGUvYnV0dG9uc1wiO1xuQGltcG9ydCBcInRlbXBsYXRlL2Fycm93c1wiO1xuQGltcG9ydCBcImxheW91dC9hbmltYXRpb25zXCI7XG5AaW1wb3J0IFwibGF5b3V0L3NlYXJjaFwiO1xuQGltcG9ydCBcInRlbXBsYXRlL2JhY2stdG8tdG9wXCI7XG5AaW1wb3J0IFwidGVtcGxhdGUvZm9ybVwiO1xuXG4vKlxuICogSW1wb3J0YXRpb24gZHUgaGVhZGVyIGV0IGR1IGZvb3RlclxuICovXG5AaW1wb3J0IFwibGF5b3V0L2Jhc2VcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyXCI7XG5AaW1wb3J0IFwibGF5b3V0L2Zvb3RlclwiO1xuXG4vKlxuICogSW1wb3J0YXRpb24gZGVzIHBhZ2VzIGR1IHNpdGVcbiAqL1xuQGltcG9ydCBcInBhZ2VzL2hvbWVcIjtcbkBpbXBvcnQgXCJwYWdlcy9uZXdzXCI7XG5AaW1wb3J0IFwicGFnZXMvbmV3c19wb3N0XCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvamVjdHNcIjtcbkBpbXBvcnQgXCJwYWdlcy9wcm9qZWN0XCI7XG5AaW1wb3J0IFwicGFnZXMvYWdlbmN5XCI7XG5AaW1wb3J0IFwicGFnZXMvcHVibGljYXRpb25zXCI7XG5AaW1wb3J0IFwicGFnZXMvdmlkZW9zXCI7XG5AaW1wb3J0IFwicGFnZXMvY29udGFjdFwiO1xuQGltcG9ydCBcInBhZ2VzL2FubmV4XCI7XG4iLCIvKlxuICogQm9vdHN0cmFwIHJlc3BvbnNpdmVcbiAqL1xuJHJlc3BvbnNpdmVfeHhsX21pbjogMTQwMHB4O1xuJHJlc3BvbnNpdmVfeGxfbWF4OiAxMzk5cHg7XG4kcmVzcG9uc2l2ZV94bF9taW46IDEyMDBweDtcbiRyZXNwb25zaXZlX2xnX21heDogMTE5OXB4O1xuJHJlc3BvbnNpdmVfbGdfbWluOiA5OTJweDtcbiRyZXNwb25zaXZlX21kX21heDogOTkxcHg7XG4kcmVzcG9uc2l2ZV9tZF9taW46IDc2OHB4O1xuJHJlc3BvbnNpdmVfc21fbWF4OiA3NjdweDtcbiRyZXNwb25zaXZlX3NtX21pbjogNTc2cHg7XG4kcmVzcG9uc2l2ZV94c19tYXg6IDU3NXB4O1xuXG4vKlxuICogQ291bGV1cnNcbiAqL1xuJGNvbG9yX2Jhc2U6ICMyMTI1Mjk7XG4kY29sb3JfZ3JleTogIzhkOGQ4ZDtcbiRjb2xvcl9saWdodF9ncmV5OiAjQ0NDO1xuXG4kY29sb3JfcHJpbWFyeTogI2JjOWY1NztcbiRjb2xvcl9zZWNvbmRhcnk6ICMyMjJhMzY7XG5cbiRjb2xvcl9zdWNjZXNzOiAjMmE5ZDhmO1xuJGNvbG9yX2RhbmdlcjogI2IxNTI1NztcbiIsIkBpbXBvcnQgXCIuLi9fdmFyaWFibGVzXCI7XG5cbi5jb2xvci1wcmltYXJ5IHtcbiAgY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xufVxuXG4uY29sb3ItZ3JleSB7XG4gIGNvbG9yOiAkY29sb3JfZ3JleTtcbn1cblxuLmNvbG9yLWxpZ2h0LWdyZXkge1xuICBjb2xvcjogJGNvbG9yX2xpZ2h0X2dyZXk7XG59XG5cbi5pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi51bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG4ubGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbn1cblxuLm5vcm0ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZm9udC1zdGVsdmlvIHtcbiAgZm9udC1mYW1pbHk6IFN0ZWx2aW8sQXJpYWwsc2Fucy1zZXJpZjtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbnAge1xuICBsaW5lLWhlaWdodDogMS4zZW07XG59XG5cbmEge1xuICBjb2xvcjogJGNvbG9yX2Jhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yX2Jhc2U7XG4gIH1cbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbi5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbn1cblxuJGJ0bl9ibGFjazogIzM0MzQzNDtcbi5idG4tYmxhY2sge1xuICBjb2xvcjogI0ZGRiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuX2JsYWNrO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJ0bl9ibGFjaywgMTAlKTtcbiAgfVxuXG59XG5cbi5idG4tY2xhc3NpYyB7XG4gIGNvbG9yOiAkY29sb3JfYmFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2Jhc2U7XG59IiwiQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4uYXJyb3ctbGVmdCwgLmFycm93LXJpZ2h0IHtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGhlaWdodDogMXB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2U7XG5cbiAgPiAuc2hhZnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYXNlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYXNlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5hcnJvdy1sZWZ0IHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfc21fbWluKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1cHgpO1xuICAgIH1cbiAgfVxuXG4gID4gLnNoYWZ0OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5zaGFmdDphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbn1cblxuLmFycm93LXJpZ2h0IHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfc21fbWluKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCk7XG4gICAgfVxuICB9XG5cbiAgPiAuc2hhZnQ6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgPiAuc2hhZnQ6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbn0iLCIuc2Nyb2xsLWFuaW1hdGlvbiB7XG5cbiAgLypcbiAgICogU2Nyb2xsIEFuaW1hdGlvbnMgRmFkZUluXG4gICAqL1xuICBAa2V5ZnJhbWVzIG9wYWNpdHlBbmltYXRpb24ge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTUlICB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICB9XG5cbiAgJi5hbmltYXRpb24tZmFkZWluIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJi5hY3RpdmUtZWxlbWVudCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYW5pbWF0aW9uOiBvcGFjaXR5QW5pbWF0aW9uIDNzO1xuICAgIH1cblxuICB9XG5cbiAgJi5hbmltYXRpb24tZmFkZWluLXNsb3cge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmFjdGl2ZS1lbGVtZW50IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBhbmltYXRpb246IG9wYWNpdHlBbmltYXRpb24gNHM7XG4gICAgfVxuXG4gIH1cblxuICAmLmFuaW1hdGlvbi1mYWRlaW4tZmFzdCB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuYWN0aXZlLWVsZW1lbnQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMi41cyBlYXNlO1xuICAgIH1cblxuICB9XG5cbiAgLypcbiAgICogRMOpcGxhY2VtZW50IHZlbmFudCBkdSBiYXNcbiAgICovXG4gICYuYW5pbWF0aW9uLWNvbWUtaW4tYm90dG9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZSwgb3BhY2l0eSAxLjdzIGVhc2U7XG5cbiAgICAmLmFjdGl2ZS1lbGVtZW50IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gIH1cblxufSIsIkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuI3NlYXJjaC1hcHAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgcGFkZGluZzogNTBweDtcbiAgei1pbmRleDogNTA7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLnZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuXG4gICAgLmNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMjVweDtcbiAgICAgIHJpZ2h0OiAyOHB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICB6LWluZGV4OiA1MDtcblxuICAgICAgLmxpbmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9iYXNlO1xuXG4gICAgICAgICYuZmlyc3QtbGluZSB7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2Vjb25kLWxpbmUge1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi1jbGljayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuXG4gICAgLmNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDUwcHg7XG5cbiAgICAgIC5saW5lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcblxuICAgICAgICAmLmZpcnN0LWxpbmUge1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlY29uZC1saW5lIHtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5hY3Rpb24tY2xpY2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC5pbnB1dF9fZWxlbWVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHMgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgfVxuXG4gICAgJjpub3QoLnRvcC1wb3NpdGlvbikge1xuICAgICB0b3A6IDUwJTtcbiAgICAgbGVmdDogNTAlO1xuICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG5cbiAgICAmLnRvcC1wb3NpdGlvbiB7XG4gICAgICB0b3A6IDcwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICB9XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodF9ncmV5O1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAuc2VhcmNoX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEzMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgcGFkZGluZzogMTVweCA1MHB4IDUwcHggNTBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWF4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuICAgICAgd2lkdGg6IDgwMHB4O1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICB9XG5cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZXllYnJvdyB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9ncmV5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9saWdodF9ncmV5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlN0ZWx2aW9cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyb3VwIHtcbiAgICAgICAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX2xpZ2h0X2dyZXk7XG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9tYXgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbi5iYWNrLXRvLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzBweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgZWFzZTtcblxuICAmLmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgJi5hY3RpdmU6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgID4gLnNoYWZ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbi5mb3JtLWdyb3VwIHtcblxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gIH1cblxuICBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgY29sb3I6ICRjb2xvcl9ncmV5O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2xpZ2h0X2dyZXk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX2Jhc2U7XG4gICAgfVxuXG4gIH1cblxufSIsIkBpbXBvcnQgXCIuLi9fdmFyaWFibGVzXCI7XG5cbi8qXG4gKiBCYXNlXG4gKi9cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBSYWxld2F5LEFyaWFsLHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICRjb2xvcl9iYXNlO1xufVxuXG4uY29udGFpbmVyIHtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfeHNfbWF4KSB7XG4gICAgcGFkZGluZzogMCAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG5zZWN0aW9uLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogTm90aWZpY2F0aW9uXG4gKi9cbi5ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDIwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweDtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLm5vdGlmaWNhdGlvbi1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc3VjY2VzcztcbiAgICBjb2xvcjogI0ZGRjtcbiAgfVxuXG4gICYubm90aWZpY2F0aW9uLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjE1MjU3O1xuICAgIGNvbG9yOiAjRkZGO1xuICB9XG5cbn0iLCJAaW1wb3J0IFwiLi4vX3ZhcmlhYmxlc1wiO1xuXG5oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMzA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cbiAgLm1lbnVfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIC5tZW51X19sb2dvLW1pbiBpbWcge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9tYXgpIHtcblxuICAgICAgLnNlYXJjaC1tb2JpbGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA5MHB4O1xuXG4gICAgICAgIC5hY3Rpb24tY2xpY2sge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC0xM3B4O1xuICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2Jhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5tZW51X19oYW1idXJnZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgcmlnaHQ6IDI4cHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLmxpbmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2Jhc2U7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5jbG9zZSkgLmxpbmUge1xuXG4gICAgICAgICAgJi5maXJzdC1saW5lIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnNlY29uZC1saW5lIHtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2xvc2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgICAgICAgIC5maXJzdC1saW5lIHtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc2Vjb25kLWxpbmUge1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tY2xpY2sge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLm1lbnVfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgICAgICAgICAgLy90cmFuc2l0aW9uOiBvcGFjaXR5IDJzIGVhc2UsIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfc21fbWluKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGtleWZyYW1lcyBtZW51TGlBbmltYXRpb24ge1xuICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgMjUlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbjogbWVudUxpQW5pbWF0aW9uIDJzIDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaS5zZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaS5zb2NpYWwtbWVkaWFzIGEge1xuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yX2xpZ2h0X2dyZXksIDEwJSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcblxuICAgICAgLnNlYXJjaC1tb2JpbGUsIC5tZW51X19oYW1idXJnZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICB1bC5tZW51X19pdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBsaS5pdGVtIHtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2Jhc2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZS1vdXQ7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtOXB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGxpbmVhcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGE6aG92ZXI6OmJlZm9yZSwgYS5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgbGkuc2VhcmNoIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTNweDtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAuYWN0aW9uLWNsaWNrIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9iYXNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNvY2lhbC1tZWRpYXMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2xpZ2h0X2dyZXk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2Jhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufSIsIkBpbXBvcnQgXCIuLi9fdmFyaWFibGVzLnNjc3NcIjtcblxuZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gIC5mb290ZXJfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgIC5mb290ZXJfX2xlZnQtYmxvY2sge1xuXG4gICAgICAuZm9vdGVyX19sb2dvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2Jhc2U7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fcmlnaHQtYmxvY2sge1xuXG4gICAgICBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgfVxuXG4gICAgICAuc29jaWFsLW1lZGlhcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTNweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGxpbmVhcjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59IiwiQGltcG9ydCBcIi4uL192YXJpYWJsZXNcIjtcblxuLmhvbWUtaW50cm9kdWN0aW9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG5cbiAgLmxvZ29fX2NvbnRhaW5lciBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgIH1cblxuICAgICYuYW5pbWF0aW9uLXN0YXJ0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gIH1cblxuICAuc2xpZGVzaG93LWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9taW4pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zbGlkZXNob3ctbW9iaWxlIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaW1hZ2UtY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cblxuICB9XG5cbiAgLmhvbWUtbWVudSB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSBhbmQgKG1heC1oZWlnaHQ6IDQ5OXB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9tYXgpIGFuZCAobWluLWhlaWdodDogNTAwcHgpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgYm90dG9tOiA5MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGxpLnNob3ctbW9iaWxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4ycHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBsaTpub3QoLnNob3ctbW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSB7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDE0MHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9tYXgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9taW4pIHtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtOXB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjdzIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5hbmltYXRpb24tc3RhcnQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLmhpZGUtc2Nyb2xsLWRvd24ge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjRzICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cblxuICAudGV4dC1hcnJvdy1kb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBib3R0b206IDUwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuN3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLmFuaW1hdGlvbi1zdGFydCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYuaGlkZS1zY3JvbGwtZG93biB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNnMgIWltcG9ydGFudDtcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYXJyb3ctZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjdzIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5hbmltYXRpb24tc3RhcnQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLmhpZGUtc2Nyb2xsLWRvd24ge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICB9XG5cbn1cblxuLmhvbWUtY29udGVudCB7XG5cbiAgaDEuaG9tZS1saXN0IHtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9tYXgpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gIH1cblxuICAubWFzb25yeS1jb250YWluZXIge1xuXG4gICAgLml0ZW0ge1xuICAgICAgcGFkZGluZzogOXB4IDlweCAzcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9taW4pIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuXG4gICAgICAgIC5wcm9qZWN0X193cmFwcGVyIC5wcm9qZWN0X19pbmZvIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fZGVzY3JpcHRpb246OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9iYXNlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuXG4gICAgICAgIC5wcm9qZWN0X193cmFwcGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvamVjdF9fYmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciAucHJvamVjdF9fYmcge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvamVjdF9faW5mbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpLCBvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHBlcnNwZWN0aXZlKDFweCkgc2NhbGUoMC44KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4xcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIC5wcm9qZWN0X19pbmZvIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucHJvamVjdF9fd3JhcHBlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI0ZGRjtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5uZXdzX193cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4IDM3cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjRkZGO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NfX2ltYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9tYXgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMSwgMC41LCAxKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI2ZhZmFmYTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzX19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWF4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uZXdzX19leWVicm93IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ3JleTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAxcyBjdWJpYy1iZXppZXIoMCwgMSwgMC41LCAxKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMi5uZXdzX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmV3c19fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmV3c19fcmVhZC1tb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzNDM0MzQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAubmV3c19faW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmV3c19fZXllYnJvdyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5ld3NfX3JlYWQtbW9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBsaWdodGVuKCRjb2xvcl9wcmltYXJ5LCAxMCUpO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cblxufVxuXG4iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cblxuaDEubmV3cy1saXN0IHtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWF4KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbi5uZXdzX193cmFwcGVyIHtcblxuICAubWFzb25yeS1jb250YWluZXIge1xuXG4gICAgLml0ZW0ge1xuICAgICAgcGFkZGluZzogOXB4IDlweCAzcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9taW4pIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgLm5ld3NfX3dyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHggMzdweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNGRkY7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAubmV3c19faW1hZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjZmFmYWZhO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NfX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9tYXgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5ld3NfX2V5ZWJyb3cge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDFzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgyLm5ld3NfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uZXdzX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvcl9iYXNlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uZXdzX19kYXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfZ3JleTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmV3c19fcmVhZC1tb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzNDM0MzQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAubmV3c19faW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmV3c19fZXllYnJvdyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5ld3NfX3JlYWQtbW9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBsaWdodGVuKCRjb2xvcl9wcmltYXJ5LCAxMCUpO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuLm5ld3NfX3dyYXBwZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgfVxuXG4gIC5uZXdzLWxpc3Rpbmcge1xuXG4gICAgLml0ZW0ubmV3cy1saXN0aW5nX19pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm5ld3MtY2FyZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkY29sb3JfYmFzZTtcbiAgICAgIHBhZGRpbmc6IDAgMCA1NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWNlY2VjO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDM4cHg7XG4gICAgICB9XG5cbiAgICAgIC5uZXdzLWNhcmRfX21lZGlhLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWF4KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcbiAgICAgICAgICB3aWR0aDogMzYlO1xuICAgICAgICAgIGZsZXg6IDAgMCAzNiU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLWNhcmRfX21lZGlhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1uZXdzLWltYWdlLW1vYmlsZSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNjYuNjY2JTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1uZXdzLWltYWdlLWRlc2t0b3ApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubmV3cy1jYXJkX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSB7XG4gICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLWNhcmRfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3MtY2FyZF9fZGF0ZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTVlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNWVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmV3cy1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjA1ZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjVlbTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX2Jhc2U7XG4gICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9tYXgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLWNhcmRfX2xpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmFzZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcblxuICAgICAgICAubmV3cy1jYXJkX19saW5rIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnk7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLm5ld3Mtdmlld19fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubmV3cy12aWV3X190b3Age1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX3NtX21pbikge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLm5ld3Mtdmlld19fdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2Jhc2U7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAubmV3cy12aWV3X19kYXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjFweDtcbiAgICB9XG5cbiAgICAubmV3cy12aWV3X19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9taW4pIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAubmV3cy12aWV3X192aWRlbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMDtcblxuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm5ld3Mtdmlld19fY29udGVudCB7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOWVtO1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvcl9zZWNvbmRhcnksIDIwJSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgfVxuXG4gIC5uZXdzLXZpZXdfX2ltYWdlIHtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9taW4pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfeHNfbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG5cbiAgLm5ld3Mtdmlld19fc2hhcmUge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6ICRjb2xvcl9saWdodF9ncmV5O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGxpbmVhcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfYmFzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5uZXdzLXZpZXdfX2xhc3QtbmV3cyB7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMjEyNTI5O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgJl9fZGF0ZSB7XG4gICAgICBjb2xvcjogJGNvbG9yX2xpZ2h0X2dyZXk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yX3ByaW1hcnk7XG5cbiAgICAgIC5uZXdzLXZpZXdfX2xhc3QtbmV3c19fdGl0bGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcbiAgICAgIH1cblxuICAgICAgLm5ld3Mtdmlld19fbGFzdC1uZXdzX19kYXRlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgICAgIGNvbG9yOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG9yX3ByaW1hcnksIDEwJSksIDEwJSk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59IiwiQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5oMS5wcm9qZWN0cy1ncm91cC1uYW1lIHtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbi5tb2JpbGUtc2VsZWN0LWdyb3VwLWJ0biB7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3NtX21heCkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9taW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cblxudWwucHJvamVjdHMtZ3JvdXBzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSB7XG5cbiAgICAmOm5vdCgubW9iaWxlLW9wZW4pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5tb2JpbGUtb3BlbiBsaSB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuICAgIGxpIGEge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfZ3JleTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICBmb250LXNpemU6IDAuOTdlbTtcblxuICAgICAgYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICBhOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICBhLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGE6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG51bC5wcm9qZWN0cy1idWlsZC1zdGF0dXMge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvcl9saWdodF9ncmV5LCAxNyUpO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45N2VtO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3NtX21heCkge1xuICAgICAgcGFkZGluZzogMTVweCA3cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikge1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBhOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuICAgIH1cblxuICAgIGEuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbn1cblxuLnByb2plY3RzX193cmFwcGVyIHtcblxuICAubWFzb25yeS1jb250YWluZXIge1xuXG4gICAgLml0ZW0ge1xuICAgICAgcGFkZGluZzogOXB4IDlweCAzcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9taW4pIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuXG4gICAgICAgIC5wcm9qZWN0X193cmFwcGVyIC5wcm9qZWN0X19pbmZvIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fZGVzY3JpcHRpb246OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9iYXNlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuXG4gICAgICAgIC5wcm9qZWN0X193cmFwcGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvamVjdF9fYmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDZweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciAucHJvamVjdF9fYmcge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvamVjdF9faW5mbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpLCBvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLCAxLCAwLjUsIDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHBlcnNwZWN0aXZlKDFweCkgc2NhbGUoMC44KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4xcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIC5wcm9qZWN0X19pbmZvIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucHJvamVjdF9fd3JhcHBlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI0ZGRjtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59IiwiQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4ucHJvamVjdC12aWV3X193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5wcm9qZWN0LXZpZXdfX2dyb3VwcyB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWF4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi41ZW07XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yX2xpZ2h0X2dyZXksIDQlKTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV94eGxfbWluKSB7XG4gICAgICAgIHRvcDogNzcwcHg7XG4gICAgICAgIHJpZ2h0OiA2ODBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX3hsX21pbikgYW5kIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3hsX21heCkge1xuICAgICAgICB0b3A6IDY4MHB4O1xuICAgICAgICByaWdodDogNTgwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIGFuZCAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19tYXgpIHtcbiAgICAgICAgdG9wOiA1OTBweDtcbiAgICAgICAgcmlnaHQ6IDQ5MHB4O1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNXB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yX2xpZ2h0X2dyZXksIDQlKTtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEzNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yX2xpZ2h0X2dyZXksIDYlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC5wcm9qZWN0LXZpZXdfX3RvcCB7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfc21fbWluKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAucHJvamVjdC12aWV3X19oZWFkaW5nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX3NtX21pbikge1xuICAgICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9iYXNlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnByb2plY3Qtdmlld19fbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4xcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wcm9qZWN0LXZpZXdfX3Byb2plY3Qtb3duZXIge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4xcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wcm9qZWN0LXZpZXdfX25hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX3NtX21pbikge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3hzX21heCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvamVjdC12aWV3X192aWRlbyB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfc21fbWluKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfeHNfbWF4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAucHJvamVjdC12aWV3X19pbWFnZSB7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfc21fbWluKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfeHNfbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG5cbiAgLnByb2plY3Qtdmlld19fZmVhdHVyZXMge1xuXG4gICAgLnJvdyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRlbigkY29sb3JfbGlnaHRfZ3JleSwgMTAlKTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAuY29sLTY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jb2wtNjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS45ZW07XG4gICAgfVxuXG4gIH1cblxuICAucHJvamVjdC12aWV3X19kZXNjcmlwdGlvbiB7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOWVtO1xuICAgIH1cblxuICB9XG5cbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbi5hZ2VuY3ktcXVvdGUge1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9taW4pIGFuZCAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9tYXgpIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogNTBweCBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikgYW5kIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luOiA4MHB4IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSBhbmQgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWF4KSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDgwcHggYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV94bF9taW4pIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogMTIwcHggYXV0bztcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjFweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxufVxuXG4uYWdlbmN5LXRvcC1pbWFnZSB7XG4gIHdpZHRoOiA2NiU7XG4gIG1hcmdpbjogNTBweCBhdXRvO1xufVxuXG4uYWdlbmN5LXByZXNlbnRhdGlvbl9fd3JhcHBlciB7XG5cbiAgLmFnZW5jeS1wcmVzZW50YXRpb25fX2hlYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSBhbmQgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWF4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX3hsX21pbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICAgIH1cblxuICAgIC5hZ2VuY3ktcHJlc2VudGF0aW9uX19oZWFkaW5nX190aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgaDEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFnZW5jeS1wcmVzZW50YXRpb25fX2hlYWRpbmdfX3RpdGxlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICB9XG5cbiAgfVxuXG4gIC5hZ2VuY3ktcHJlc2VudGF0aW9uX19jb250ZW50X19pbWFnZSB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9taW4pIGFuZCAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9tYXgpIHtcbiAgICAgIGhlaWdodDogNTgwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTMwcHgsIDhweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikgYW5kIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX2xnX21heCkge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNjBweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX3hsX21pbikge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSBhbmQgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWF4KSB7XG4gICAgLmFnZW5jeS1wcmVzZW50YXRpb25fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLmFnZW5jeS1wcmVzZW50YXRpb25fX2NvbnRlbnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMmVtO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX2xnX21pbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIH1cblxuICB9XG5cbn1cblxuLmFnZW5jeS1iYWNrZ3JvdW5kLW1vYmlsZSB7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfc21fbWF4KSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgdmFyKC0tcGFyYWxsYXhZLCAwcHgpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cblxufVxuXG4uYWdlbmN5LWJhY2tncm91bmQtZGVza3RvcCB7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3NtX21heCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgdmFyKC0tcGFyYWxsYXhZLCAwcHgpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikgYW5kIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuICAgIGhlaWdodDogMzUwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSBhbmQgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWF4KSB7XG4gICAgaGVpZ2h0OiA0MjBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICB9XG5cbn1cblxuLmFnZW5jeS10ZWFtX193cmFwcGVyIHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG5cbiAgaDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmFnZW5jeS10ZWFtX19pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgIC5hZ2VuY3ktdGVhbV9fcGVyc29uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV94c19tYXgpIHtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfeGxfbWluKSBhbmQgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfeGxfbWF4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgLnRlYW0tc2VwYXJhdG9yIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9tYXgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9tZF9taW4pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgfVxuXG4gIH1cblxuICAuZm9ybWVyLWNvbGxhYm9yYXRvcnMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgfVxuXG59XG5cbiIsIkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLnB1YmxpY2F0aW9uc19fY29udGFpbmVyIHtcblxuICAucHVibGljYXRpb25zX19uYXZpZ2F0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG5cbiAgICAgIGEge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgYTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgYS5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSB7XG4gICAgICAgIGE6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5O1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yX2Jhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgaDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgLnB1YmxpY2F0aW9uX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIGgyLnB1YmxpY2F0aW9uX19uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cblxuICAgIC5wdWJsaWNhdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIGgyLnB1YmxpY2F0aW9uX19uYW1lLCAucHVibGljYXRpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGgyLnB1YmxpY2F0aW9uX19uYW1lOmFmdGVyLCAucHVibGljYXRpb25fX2Rlc2NyaXB0aW9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yX2Jhc2U7XG4gICAgfVxuXG4gICAgLnB1YmxpY2F0aW9uX19saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICB9XG5cbiAgfVxuXG59IiwiQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4udmlkZW9zX193cmFwcGVyIHtcblxuICBoMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX3NtX21pbikge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgLnZpZGVvX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3hzX21heCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC52aWRlb19fZW1iZWQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbi5jb250YWN0X193cmFwcGVyIHtcblxuICBoMSwgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuXG4gIC5hZ2VuY3ktaW5mbyB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3JfYmFzZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cblxuICAuY29udGFjdC1pbWFnZXtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3NtX21heCkge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikgYW5kIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIGFuZCAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19tYXgpIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfeGxfbWluKSB7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuZ3Bkci1tZW50aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuOWVtO1xuICB9XG5cbiAgLnJlY2FwdGNoYS1uby12YWxpZC1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNlbnQtbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbi5jb250YWN0LWJhY2tncm91bmQtbW9iaWxlIHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkcmVzcG9uc2l2ZV9zbV9tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdmFyKC0tcGFyYWxsYXhZLCAwcHgpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxuXG59XG5cbi5jb250YWN0LWJhY2tncm91bmQtZGVza3RvcCB7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX3NtX21heCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbWRfbWluKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHZhcigtLXBhcmFsbGF4WSwgMHB4KSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRyZXNwb25zaXZlX21kX21pbikgYW5kIChtYXgtd2lkdGg6ICRyZXNwb25zaXZlX21kX21heCkge1xuICAgIGhlaWdodDogMzUwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWluKSBhbmQgKG1heC13aWR0aDogJHJlc3BvbnNpdmVfbGdfbWF4KSB7XG4gICAgaGVpZ2h0OiA0MjBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkcmVzcG9uc2l2ZV9sZ19taW4pIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICB9XG5cbn1cblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn0iLCJAaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbi5wYWdlLWNvbnRlbnRfX3dyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcblxuICBoMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cblxuICBoMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgfVxuXG4gIC5xbC1hbGlnbi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59Il0sInNvdXJjZVJvb3QiOiIifQ==*/