@font-face{
  font-family: Roboto;
  font-style: italic;
  font-weight: 100;
  src: local("Roboto Thin Italic"),local(Roboto-ThinItalic),url(//fonts.gstatic.com/s/roboto/v16/12mE4jfMSBTmg-81EiS-YVQlYEbsez9cZjKsNMjLOwM.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/12mE4jfMSBTmg-81EiS-Yfk_vArhqVIZ0nv9q090hN8.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/12mE4jfMSBTmg-81EiS-YRsxEYwM7FgeyaSgU71cLG0.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: italic;
  font-weight: 300;
  src: local("Roboto Light Italic"),local(Roboto-LightItalic),url(//fonts.gstatic.com/s/roboto/v16/7m8l7TlFO-S3VkhHuR0at2fQcKutQXcIrRfyR5jdjY8.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/7m8l7TlFO-S3VkhHuR0at44P5ICox8Kq3LLUNMylGO4.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/7m8l7TlFO-S3VkhHuR0at4bN6UDyHWBl620a-IRfuBk.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: italic;
  font-weight: 400;
  src: local("Roboto Italic"),local(Roboto-Italic),url(//fonts.gstatic.com/s/roboto/v16/OiNnAEwKzzJkQCr4qZmeq_esZW2xOQ-xsNqO47m55DA.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/vPcynSL0qHq_6dX7lKVByfesZW2xOQ-xsNqO47m55DA.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/1pO9eUAp8pSF8VnRTP3xnvesZW2xOQ-xsNqO47m55DA.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: italic;
  font-weight: 500;
  src: local("Roboto Medium Italic"),local(Roboto-MediumItalic),url(//fonts.gstatic.com/s/roboto/v16/OLffGBTaF0XFOW1gnuHF0WfQcKutQXcIrRfyR5jdjY8.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/OLffGBTaF0XFOW1gnuHF0Y4P5ICox8Kq3LLUNMylGO4.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/OLffGBTaF0XFOW1gnuHF0YbN6UDyHWBl620a-IRfuBk.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: italic;
  font-weight: 700;
  src: local("Roboto Bold Italic"),local(Roboto-BoldItalic),url(//fonts.gstatic.com/s/roboto/v16/t6Nd4cfPRhZP44Q5QAjcC2fQcKutQXcIrRfyR5jdjY8.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/t6Nd4cfPRhZP44Q5QAjcC44P5ICox8Kq3LLUNMylGO4.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/t6Nd4cfPRhZP44Q5QAjcC4bN6UDyHWBl620a-IRfuBk.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: italic;
  font-weight: 900;
  src: local("Roboto Black Italic"),local(Roboto-BlackItalic),url(//fonts.gstatic.com/s/roboto/v16/bmC0pGMXrhphrZJmniIZpWfQcKutQXcIrRfyR5jdjY8.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/bmC0pGMXrhphrZJmniIZpY4P5ICox8Kq3LLUNMylGO4.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/bmC0pGMXrhphrZJmniIZpYbN6UDyHWBl620a-IRfuBk.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: normal;
  font-weight: 100;
  src: local("Roboto Thin"),local(Roboto-Thin),url(//fonts.gstatic.com/s/roboto/v16/PP2U5prMl9yvKSWVu6DtvPesZW2xOQ-xsNqO47m55DA.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/2tsd397wLxj96qwHyNIkxPesZW2xOQ-xsNqO47m55DA.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/vzIUHo9z-oJ4WgkpPOtg1_esZW2xOQ-xsNqO47m55DA.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: normal;
  font-weight: 300;
  src: local("Roboto Light"),local(Roboto-Light),url(//fonts.gstatic.com/s/roboto/v16/Hgo13k-tfSpn0qi1SFdUffY6323mHUZFJMgTvxaG2iE.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/Hgo13k-tfSpn0qi1SFdUfVtXRa8TVwTICgirnJhmVJw.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/Hgo13k-tfSpn0qi1SFdUfT8E0i7KZn-EPnyo3HZu7kw.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: normal;
  font-weight: 400;
  src: local(Roboto),local(Roboto-Regular),url(//fonts.gstatic.com/s/roboto/v16/5YB-ifwqHP20Yn46l_BDhA.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/CWB0XYA8bzo0kSThX0UTuA.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/2UX7WLTfW3W8TclTUvlFyQ.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: normal;
  font-weight: 500;
  src: local("Roboto Medium"),local(Roboto-Medium),url(//fonts.gstatic.com/s/roboto/v16/RxZJdnzeo3R5zSexge8UUfY6323mHUZFJMgTvxaG2iE.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/RxZJdnzeo3R5zSexge8UUT8E0i7KZn-EPnyo3HZu7kw.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: normal;
  font-weight: 700;
  src: local("Roboto Bold"),local(Roboto-Bold),url(//fonts.gstatic.com/s/roboto/v16/d-6IYplOFocCacKzxwXSOPY6323mHUZFJMgTvxaG2iE.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/d-6IYplOFocCacKzxwXSOFtXRa8TVwTICgirnJhmVJw.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/d-6IYplOFocCacKzxwXSOD8E0i7KZn-EPnyo3HZu7kw.woff) format("woff"); }
@font-face{
  font-family: Roboto;
  font-style: normal;
  font-weight: 900;
  src: local("Roboto Black"),local(Roboto-Black),url(//fonts.gstatic.com/s/roboto/v16/mnpfi9pxYH-Go5UiibESIvY6323mHUZFJMgTvxaG2iE.eot?#) format("eot"),url(//fonts.gstatic.com/s/roboto/v16/mnpfi9pxYH-Go5UiibESIltXRa8TVwTICgirnJhmVJw.woff2) format("woff2"),url(//fonts.gstatic.com/s/roboto/v16/mnpfi9pxYH-Go5UiibESIj8E0i7KZn-EPnyo3HZu7kw.woff) format("woff"); }
@charset "UTF-8";
.row.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0; }

.products.col, .products[class^="col-"], .products[class*=" col-"] {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0; }

.flex-shrink-1 {
  -ms-flex-negative: 1;
      flex-shrink: 1; }

.hr .jxml-html-title {
  display: none; }

.jxml-banner-title, .jxml-slider-title {
  display: none; }

.top-banner .jxml-html-title {
  display: none; }

.parallax-content {
  padding: 12.66667rem 3.33333rem;
  text-align: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .parallax-content .jxml-html-title {
    display: none; }
  .parallax-content .jxml-html-description {
    padding: 2rem;
    background: rgba(255, 255, 255, 0.8); }
  @media (max-width: 991.98px) {
    .parallax-content {
      padding: 8rem 2rem; }
      .parallax-content .jxml-html-description {
        padding: 1.33333rem; } }
  @media (max-width: 991.98px) {
    .parallax-content {
      padding: 4.66667rem 1.33333rem; }
      .parallax-content .jxml-html-description {
        padding: 1rem; } }

.extra-slider > h3 {
  display: none; }

.extra-slider .swiper-wrapper .swiper-slide {
  background: #f8f8f8;
  height: auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .extra-slider .swiper-wrapper .swiper-slide:nth-child(odd) {
    background: #e7e7e7; }

.extra-slider .jxml-banner-description {
  position: absolute;
  left: 10%;
  top: 10%; }
  .extra-slider .jxml-banner-description h2 {
    margin-bottom: 0;
    font-weight: bold; }
  .extra-slider .jxml-banner-description h3 {
    text-transform: none;
    font-weight: bold; }
  .extra-slider .jxml-banner-description p {
    color: #252a33; }

.extra-slider .bp-miniature .bp-miniature-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 52%;
            flex: 0 0 52%; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    .extra-slider .bp-miniature .bp-miniature-container .bp-info .bp-name {
      line-height: 1.1; }

.extra-slider .product-miniature {
  margin: 0; }
  .extra-slider .product-miniature .product-miniature-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-thumbnail {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 40%;
              flex: 0 0 40%; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; }
      .extra-slider .product-miniature .product-miniature-container .product-miniature-information h1.product-title {
        line-height: 1.1; }
      .extra-slider .product-miniature .product-miniature-container .product-miniature-information .daydeal-box {
        position: absolute;
        right: 0;
        top: 0;
        border: none;
        background: rgba(37, 42, 51, 0.8);
        color: white;
        margin: 0; }

@media (max-width: 575.98px) {
  .extra-slider .product-miniature .product-miniature-container .product-miniature-thumbnail {
    padding: 10px 0 10px 10px; }
  .extra-slider .product-miniature .product-miniature-container .product-miniature-information {
    padding: 10px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information h1.product-title {
      font-size: 15px;
      margin-bottom: 5px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-description-short {
      display: none; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-prices-md {
      margin-bottom: 10px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .daydeal-box {
      font-size: 8px; }
      .extra-slider .product-miniature .product-miniature-container .product-miniature-information .daydeal-box span span {
        font-size: 12px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a {
        margin: 0 0 0 10px;
        line-height: 18px; }
        .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a i {
          margin: 0;
          font-size: 16px;
          line-height: 18px; }
        .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:first-child {
          margin-left: 0; }
        .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a span {
          display: none; }
        .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a.add-to-cart, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a.view-product, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a.customize {
          background: none;
          border: none;
          padding: 0;
          color: #252a33;
          font-weight: normal; }
          .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a.add-to-cart i, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a.view-product i, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a.customize i {
            display: block; }
        .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:hover.add-to-cart, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:hover.view-product, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:hover.customize, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:hover i, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:focus.add-to-cart, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:focus.view-product, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:focus.customize, .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-buttons a:focus i {
          color: #13a1f4; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-thumbnail {
    padding: 10px; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-info {
    padding: 10px 10px 10px 0; }
    .extra-slider .bp-miniature .bp-miniature-container .bp-info .bp-name {
      font-size: 18px;
      margin-bottom: 5px; }
    .extra-slider .bp-miniature .bp-miniature-container .bp-info .post-meta {
      margin: 0 0 5px; }
  .extra-slider .jxml-banner-description h2 {
    font-size: 2rem;
    line-height: 1; }
  .extra-slider .jxml-banner-description h3 {
    font-size: 1.33333rem;
    margin: 0; }
  .extra-slider .jxml-banner-description p {
    font-size: 0.93333rem; } }

@media (min-width: 576px) and (max-width: 1199.98px) {
  .extra-slider .product-miniature .product-miniature-container .product-miniature-thumbnail {
    padding: 20px 0 20px 20px; }
  .extra-slider .product-miniature .product-miniature-container .product-miniature-information {
    padding: 20px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information h1.product-title {
      font-size: 20px;
      margin-bottom: 10px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-description-short {
      display: none; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-prices-md {
      margin-bottom: 15px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .daydeal-box {
      font-size: 8px; }
      .extra-slider .product-miniature .product-miniature-container .product-miniature-information .daydeal-box span span {
        font-size: 14px; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-thumbnail {
    padding: 30px; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-info {
    padding: 30px 30px 30px 0; }
    .extra-slider .bp-miniature .bp-miniature-container .bp-info .bp-name {
      font-size: 25px;
      margin-bottom: 10px; }
  .extra-slider .jxml-banner-description h2 {
    font-size: 4rem;
    line-height: 1; }
  .extra-slider .jxml-banner-description h3 {
    font-size: 2.66667rem; }
  .extra-slider .jxml-banner-description p {
    font-size: 1.06667rem; } }

@media (min-width: 1200px) {
  .extra-slider .product-miniature .product-miniature-container .product-miniature-thumbnail {
    padding: 40px 0 40px 40px; }
  .extra-slider .product-miniature .product-miniature-container .product-miniature-information {
    padding: 40px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information h1.product-title {
      font-size: 40px;
      margin-bottom: 20px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-description-short {
      font-size: 16px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .product-prices-md {
      margin-bottom: 25px; }
    .extra-slider .product-miniature .product-miniature-container .product-miniature-information .daydeal-box {
      font-size: 10px; }
      .extra-slider .product-miniature .product-miniature-container .product-miniature-information .daydeal-box span span {
        font-size: 18px; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-thumbnail {
    padding: 50px; }
  .extra-slider .bp-miniature .bp-miniature-container .bp-info {
    padding: 50px 50px 50px 0; }
    .extra-slider .bp-miniature .bp-miniature-container .bp-info .bp-name {
      font-size: 30px;
      margin-bottom: 20px; }
    .extra-slider .bp-miniature .bp-miniature-container .bp-info .bp-short-description {
      display: block; }
  .extra-slider .jxml-banner-description h2 {
    font-size: 5.33333rem; }
  .extra-slider .jxml-banner-description h3 {
    font-size: 3.33333rem; }
  .extra-slider .jxml-banner-description p {
    font-size: 1.33333rem; } }

@media (min-width: 992px) {
  html .layout-full-width .custom_count .products article.product-miniature {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; } }

@media (max-width: 1649px) and (min-width: 1200px) {
  html .layout-full-width .custom_count .products article.product-miniature {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; } }

@media (min-width: 1650px) {
  html .layout-full-width .custom_count .products article.product-miniature {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66%;
            flex: 0 0 16.66%;
    max-width: 16.66%; } }

html .layout-full-width .custom_count .products article.product-miniature .product-thumbnail {
  padding: 0; }

html .layout-full-width .custom_count .products article.product-miniature .product-miniature-thumbnail {
  background: #fcfcfd; }

html .layout-full-width .custom_count .products article.product-miniature .product-description-short {
  display: none; }

.custom-tabs .custom-tab-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 1.33333rem; }
  .custom-tabs .custom-tab-links > div {
    margin: 0 1.66667rem;
    cursor: pointer; }
    @media (max-width: 991.98px) {
      .custom-tabs .custom-tab-links > div {
        margin: 0 1rem; }
        .custom-tabs .custom-tab-links > div .jxml-html-title {
          font-size: 1.2rem; } }
    @media (max-width: 767.98px) {
      .custom-tabs .custom-tab-links > div {
        margin: 0 0.66667rem; }
        .custom-tabs .custom-tab-links > div .jxml-html-title {
          font-size: 1.06667rem; } }
    .custom-tabs .custom-tab-links > div .jxml-html-title {
      -webkit-transition: color 0.3s ease;
      transition: color 0.3s ease;
      margin: 0; }
    .custom-tabs .custom-tab-links > div.active .jxml-html-title, .custom-tabs .custom-tab-links > div:hover .jxml-html-title {
      color: #13a1f4; }

.custom-tabs .custom-tab-contents > div:not(.active) {
  height: 0;
  opacity: 0;
  overflow: hidden; }

.custom-tabs .custom-tab-contents > div.active {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }

.custom-tabs .featured-products > h1, .custom-tabs .jxml-slider-title {
  display: none; }

.custom-tabs.vertical-custom-tabs .custom-tab-links {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  padding-bottom: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .custom-tabs.vertical-custom-tabs .custom-tab-links > div {
    margin: 0 0 0.33333rem;
    padding: 0.66667rem 1.33333rem;
    background: #f8f8f8; }
    .custom-tabs.vertical-custom-tabs .custom-tab-links > div .jxml-html-title {
      font-size: 1.33333rem;
      text-transform: uppercase; }
    .custom-tabs.vertical-custom-tabs .custom-tab-links > div.active, .custom-tabs.vertical-custom-tabs .custom-tab-links > div:hover {
      background: #3a3a3a; }
      .custom-tabs.vertical-custom-tabs .custom-tab-links > div.active .jxml-html-title, .custom-tabs.vertical-custom-tabs .custom-tab-links > div:hover .jxml-html-title {
        color: white; }
  @media (max-width: 767.98px) {
    .custom-tabs.vertical-custom-tabs .custom-tab-links {
      display: block;
      text-align: center; }
      .custom-tabs.vertical-custom-tabs .custom-tab-links > div {
        margin: 0 0.13333rem 0.2rem;
        padding: 0.2rem 0.46667rem;
        display: inline-block; }
        .custom-tabs.vertical-custom-tabs .custom-tab-links > div .jxml-html-title {
          font-size: 0.93333rem; } }

.banner-type-1 {
  position: relative; }
  .banner-type-1 .jxml-banner-link:after {
    position: absolute;
    right: 0.66667rem;
    bottom: 0.66667rem;
    font-family: 'FontAwesome';
    content: "\F101";
    font-size: 2rem;
    line-height: 2.66667rem;
    color: white;
    border-radius: 100%;
    width: 2.66667rem;
    height: 2.66667rem;
    background: #13a1f4;
    -webkit-box-shadow: 0 0.33333rem 2.86667rem rgba(0, 0, 0, 0.11);
            box-shadow: 0 0.33333rem 2.86667rem rgba(0, 0, 0, 0.11);
    text-align: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0; }
  .banner-type-1 .jxml-banner-link:hover:after {
    opacity: 1; }
  .banner-type-1 .jxml-banner-description {
    position: absolute;
    color: white;
    top: 10%;
    left: 0;
    right: 0;
    text-align: center; }
    .banner-type-1 .jxml-banner-description h2 {
      font-size: 1.6rem;
      font-weight: 300;
      color: white;
      text-transform: none; }
    .banner-type-1 .jxml-banner-description p.banner-type-1-price {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-weight: bold;
      line-height: 1; }
      .banner-type-1 .jxml-banner-description p.banner-type-1-price em {
        font-size: 8.66667rem;
        letter-spacing: -0.65867rem;
        font-style: normal;
        margin-right: 0.66667rem; }
      .banner-type-1 .jxml-banner-description p.banner-type-1-price span {
        font-size: 4.8rem;
        font-weight: 300;
        line-height: 1; }
        .banner-type-1 .jxml-banner-description p.banner-type-1-price span > strong {
          font-size: 2.4rem;
          line-height: 1;
          display: block;
          text-transform: uppercase; }

.banner-type-2 {
  position: relative; }
  .banner-type-2 .jxml-banner-description {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }

.banner-type-3 .jxml-banner-description {
  display: block;
  position: absolute;
  z-index: 2;
  font-size: 1.6rem;
  text-shadow: none;
  top: 50%;
  left: 8%;
  right: 8%;
  padding: 0.66667rem 1.33333rem;
  margin: 0;
  max-width: none;
  color: #262626;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
  @media (min-width: 768px) {
    .banner-type-3 .jxml-banner-description {
      left: 22%;
      right: 22%; } }
  .banner-type-3 .jxml-banner-description h2 {
    font-size: 10rem;
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1; }
  .banner-type-3 .jxml-banner-description h4 {
    font-size: 4rem;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .025em;
    margin: 0;
    text-transform: none; }
  .banner-type-3 .jxml-banner-description * + p {
    margin-top: 2.13333rem; }
  @media (max-width: 1542.98px) {
    .banner-type-3 .jxml-banner-description {
      font-size: 1.6rem; }
      .banner-type-3 .jxml-banner-description h2 {
        font-size: 7.33333rem; }
      .banner-type-3 .jxml-banner-description h4 {
        font-size: 3rem; }
      .banner-type-3 .jxml-banner-description * + p {
        margin-top: 1.66667rem; } }
  @media (max-width: 1199.98px) {
    .banner-type-3 .jxml-banner-description {
      font-size: 1.33333rem; }
      .banner-type-3 .jxml-banner-description h2 {
        font-size: 6rem; }
      .banner-type-3 .jxml-banner-description h4 {
        font-size: 2.53333rem; }
      .banner-type-3 .jxml-banner-description * + p {
        margin-top: 1.33333rem; } }
  @media (max-width: 991.98px) {
    .banner-type-3 .jxml-banner-description {
      font-size: 1.2rem; }
      .banner-type-3 .jxml-banner-description h2 {
        font-size: 4.66667rem; }
      .banner-type-3 .jxml-banner-description h4 {
        font-size: 2rem; }
      .banner-type-3 .jxml-banner-description * + p {
        margin-top: 1rem; } }
  @media (max-width: 767.98px) {
    .banner-type-3 .jxml-banner-description {
      font-size: 0.93333rem; }
      .banner-type-3 .jxml-banner-description h2 {
        font-size: 2.66667rem; }
      .banner-type-3 .jxml-banner-description h4 {
        font-size: 1.33333rem; }
      .banner-type-3 .jxml-banner-description * + p {
        margin-top: 0.66667rem; } }
  @media (max-width: 575.98px) {
    .banner-type-3 .jxml-banner-description {
      font-size: 0.86667rem; }
      .banner-type-3 .jxml-banner-description h2 {
        font-size: 2rem; }
      .banner-type-3 .jxml-banner-description h4 {
        font-size: 1.13333rem; }
      .banner-type-3 .jxml-banner-description * + p {
        margin-top: 0.33333rem; } }

.banner-type-4 a.jxml-banner-link {
  display: block;
  position: relative; }
  .banner-type-4 a.jxml-banner-link:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: white;
    z-index: 1;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s; }
  .banner-type-4 a.jxml-banner-link:hover:after {
    opacity: 0.7; }

.banner-type-4 .jxml-banner-description {
  position: absolute;
  left: 12%;
  width: 50%;
  top: 50%;
  max-width: 14rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  color: #252a33; }
  .banner-type-4 .jxml-banner-description h2 {
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .025em;
    margin: 0;
    text-transform: uppercase; }
  .banner-type-4 .jxml-banner-description h3 {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .025em;
    margin: 0;
    text-transform: uppercase; }
  .banner-type-4 .jxml-banner-description h4 {
    font-size: 2.4rem;
    font-weight: 300;
    letter-spacing: .025em;
    margin: 0;
    text-transform: uppercase; }
  .banner-type-4 .jxml-banner-description h5 {
    margin-top: 1.26667rem; }
  .banner-type-4 .jxml-banner-description p {
    font-size: 0.93333rem;
    line-height: 1.57143;
    margin-top: 0.73333rem; }
  @media (max-width: 1199.98px) {
    .banner-type-4 .jxml-banner-description h2 {
      font-size: 2.66667rem; }
    .banner-type-4 .jxml-banner-description h3 {
      font-size: 1.86667rem; }
    .banner-type-4 .jxml-banner-description h4 {
      font-size: 1.73333rem; }
    .banner-type-4 .jxml-banner-description h5 {
      margin-top: 0.66667rem; }
    .banner-type-4 .jxml-banner-description p {
      font-size: 0.8rem;
      margin-top: 0.33333rem; } }
  @media (max-width: 767.98px) {
    .banner-type-4 .jxml-banner-description h2 {
      font-size: 2rem; }
    .banner-type-4 .jxml-banner-description h3 {
      font-size: 1.33333rem; }
    .banner-type-4 .jxml-banner-description h4 {
      font-size: 1.06667rem; }
    .banner-type-4 .jxml-banner-description h5 {
      margin-top: 0.33333rem; }
    .banner-type-4 .jxml-banner-description p {
      font-size: 0.8rem;
      margin-top: 0; } }
  @media (max-width: 575.98px) {
    .banner-type-4 .jxml-banner-description p {
      display: none; } }

.slider1 .jxml-banner-description {
  padding: 1rem;
  cursor: pointer;
  position: absolute;
  left: 50%;
  top: 50%;
  background: white;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .slider1 .jxml-banner-description .item_wrapper {
    width: 100%; }
  @media (min-width: 576px) {
    .slider1 .jxml-banner-description {
      width: 25.33333rem; } }
  @media (min-width: 768px) {
    .slider1 .jxml-banner-description {
      width: 28rem;
      height: 18.66667rem; } }
  @media (min-width: 992px) {
    .slider1 .jxml-banner-description {
      width: 33.33333rem;
      padding: 3.33333rem; } }
  @media (min-width: 1200px) {
    .slider1 .jxml-banner-description {
      width: 50.66667rem;
      height: 26.66667rem; } }
  .slider1 .jxml-banner-description h2 {
    position: relative;
    font-family: "Roboto", sans-serif;
    font-size: 3.86667rem;
    font-weight: 300;
    line-height: 1.13636;
    color: #252a33;
    margin-top: 0.33333rem;
    margin-bottom: 0;
    font-size: 2.13333rem; }
    @media (min-width: 1200px) {
      .slider1 .jxml-banner-description h2 {
        font-size: 3.86667rem; } }
    @media (max-width: 600px) {
      .slider1 .jxml-banner-description h2 {
        font-size: 1.06667rem;
        margin-bottom: 0.33333rem; } }
  .slider1 .jxml-banner-description h5 {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.26em;
    color: #878787;
    text-transform: uppercase;
    font-size: 1rem; }
    @media (max-width: 600px) {
      .slider1 .jxml-banner-description h5 {
        font-size: 0.66667rem;
        text-transform: none; } }
  .slider1 .jxml-banner-description p {
    font-size: 1rem;
    line-height: 1.4;
    position: relative;
    margin: 0; }
    .slider1 .jxml-banner-description p:last-child {
      display: block; }
  .slider1 .jxml-banner-description .btn {
    min-width: 12.66667rem;
    margin-top: 2.13333rem;
    overflow: hidden;
    font-size: 1rem; }
    @media (min-width: 992px) {
      .slider1 .jxml-banner-description .btn {
        margin-top: 2.13333rem; } }
    @media (max-width: 600px) {
      .slider1 .jxml-banner-description .btn {
        margin-top: 1rem; } }
  .slider1 .jxml-banner-description button {
    position: relative; }
  .slider1 .jxml-banner-description * + p {
    margin-top: 0.2rem; }

@media (max-width: 600px) {
  .slider1 .jxml-banner-img {
    min-height: 14rem; } }

@media (max-width: 1200px) {
  .slider2 {
    margin-top: 1.86667rem; } }

.slider2 .jxml-banner-description {
  padding: 1rem;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 50%;
  background: none;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
  max-width: 35%;
  padding-right: 5%; }
  @media (max-width: 767px) {
    .slider2 .jxml-banner-description {
      right: 0.66667rem;
      max-width: 45%; } }
  @media (max-width: 550px) {
    .slider2 .jxml-banner-description {
      right: 1.66667rem; } }
  .slider2 .jxml-banner-description h2 {
    font-size: 3.8rem;
    line-height: 4.93333rem;
    font-weight: 300; }
    @media (max-width: 1200px) {
      .slider2 .jxml-banner-description h2 {
        font-size: 2rem;
        line-height: 2.26667rem; } }
    @media (max-width: 767px) {
      .slider2 .jxml-banner-description h2 {
        font-size: 1.33333rem;
        line-height: 1.6rem;
        margin-bottom: 0.66667rem; } }
  .slider2 .jxml-banner-description h4 {
    font-size: 0.93333rem;
    line-height: 1.33333rem;
    font-weight: 400; }
    @media (max-width: 767px) {
      .slider2 .jxml-banner-description h4 {
        margin-bottom: 0.66667rem; } }
    @media (max-width: 550px) {
      .slider2 .jxml-banner-description h4 {
        display: none; } }
  .slider2 .jxml-banner-description .btn-primary {
    min-width: 12.33333rem;
    font-weight: 400;
    padding: 1rem 1.66667rem; }
    @media (max-width: 767px) {
      .slider2 .jxml-banner-description .btn-primary {
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
        min-width: auto; } }
    @media (max-width: 550px) {
      .slider2 .jxml-banner-description .btn-primary {
        display: none; } }

.contact-info {
  padding-top: 1.33333rem;
  margin-bottom: 1rem; }
  .contact-info .jxml-html-title {
    display: none; }
  .contact-info p {
    display: inline-block;
    margin-right: 1.4rem;
    margin-bottom: 0;
    position: relative;
    padding-left: 1.8rem;
    color: #878787; }
    .contact-info p:last-child {
      margin-right: 0; }
    .contact-info p i {
      position: absolute;
      left: 0;
      top: 0;
      font-size: 1.06667rem;
      color: #13a1f4; }
    .contact-info p a {
      color: #252a33; }
      .contact-info p a:hover {
        color: #13a1f4; }

@media (max-width: 767px) {
  #header .logo_wrapper {
    padding-top: 1.33333rem;
    padding-bottom: 3.33333rem;
    text-align: center; }
    #header .logo_wrapper .jxml-logo {
      display: inline-block; } }

#header .nav-section {
  position: relative;
  background: #eeeeee;
  padding-top: 1rem;
  padding-bottom: 1rem; }
  @media (max-width: 767px) {
    #header .nav-section {
      display: none; } }
  #header .nav-section.dark-nav {
    background: #252a33; }
    #header .nav-section.dark-nav:before, #header .nav-section.dark-nav:after {
      background: #252a33; }
    #header .nav-section.dark-nav .separator-list li a {
      color: #13a1f4; }
      #header .nav-section.dark-nav .separator-list li a:hover {
        color: white; }
    #header .nav-section.dark-nav .currency-selector,
    #header .nav-section.dark-nav .language-selector {
      color: #13a1f4; }
      #header .nav-section.dark-nav .currency-selector:hover, #header .nav-section.dark-nav .currency-selector.show,
      #header .nav-section.dark-nav .language-selector:hover,
      #header .nav-section.dark-nav .language-selector.show {
        color: white; }
  #header .nav-section:before {
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    bottom: 0;
    content: '';
    width: 100%;
    margin-left: -100%;
    background: #eeeeee; }
  #header .nav-section:after {
    position: absolute;
    display: block;
    right: 0;
    top: 0;
    bottom: 0;
    content: '';
    width: 100%;
    margin-right: -100%;
    background: #eeeeee; }
  #header .nav-section .separator-list li {
    border-right: none; }
    #header .nav-section .separator-list li a {
      font-size: 0.93333rem;
      line-height: 1.46667rem;
      text-decoration: none;
      text-transform: capitalize;
      color: #5d5d5d; }
      #header .nav-section .separator-list li a:hover {
        color: #13a1f4; }
  #header .nav-section .currency-selector,
  #header .nav-section .language-selector {
    position: relative;
    display: block;
    font-size: 0.93333rem;
    line-height: 1.46667rem;
    font-weight: 400;
    cursor: pointer;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease; }
    #header .nav-section .currency-selector:hover, #header .nav-section .currency-selector.show,
    #header .nav-section .language-selector:hover,
    #header .nav-section .language-selector.show {
      color: #13a1f4; }
    #header .nav-section .currency-selector .dropdown-menu,
    #header .nav-section .language-selector .dropdown-menu {
      padding: 2.26667rem 2.6rem 2rem;
      margin-top: 1.53333rem; }
  #header .nav-section .currency-selector {
    margin-right: 2.4rem; }
    @media (min-width: 1200px) {
      #header .nav-section .currency-selector {
        margin-right: 1.26667rem; } }
    @media (min-width: 1360px) {
      #header .nav-section .currency-selector {
        margin-right: 2rem; } }

#header .wishlist-button,
#header .compare-button {
  text-align: center; }
  #header .wishlist-button i,
  #header .compare-button i {
    font-size: 3.13333rem;
    display: block; }

#header .wishlist-button,
#header .compare-button,
#header .cart-button {
  text-align: center;
  margin-left: 3.53333rem;
  display: inline-block;
  position: static;
  vertical-align: top;
  padding-top: 0.66667rem; }

#header .wishlist-button {
  margin-left: 0; }

#header .cart-button .blockcart {
  position: relative; }

#header .static-search {
  display: block; }

#footer .bg-dark {
  position: relative;
  border-bottom: 0.06667rem solid #333945; }
  #footer .bg-dark:before {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: -0.06667rem;
    left: 0.66667rem;
    margin-left: -100%;
    background: #252a33;
    content: ''; }
  #footer .bg-dark:after {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: -0.06667rem;
    right: 0.66667rem;
    margin-right: -100%;
    background: #252a33;
    content: ''; }
  #footer .bg-dark .newsletter-primary h3 {
    color: white !important; }
  #footer .bg-dark .newsletter-primary .form-control {
    background: #303640;
    color: #757a82; }

#footer .bd_none {
  border-bottom: none; }

#footer .inset-2 {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media (min-width: 768px) {
    #footer .inset-2 {
      padding-top: 3.33333rem;
      padding-bottom: 3.33333rem; } }

.cms_block {
  position: relative;
  padding-top: 0.66667rem;
  padding-bottom: 2.66667rem; }
  @media (min-width: 768px) {
    .cms_block {
      padding-top: 1.33333rem;
      padding-bottom: 3.6rem; } }
  .cms_block .jxml-html-title {
    display: none; }
  .cms_block .jxml-html-description {
    margin-top: 2rem; }
  .cms_block .item {
    position: relative;
    padding-left: 3.33333rem;
    padding-top: 0.26667rem; }
    @media (min-width: 1200px) {
      .cms_block .item {
        padding-left: 4.93333rem; } }
    .cms_block .item h4 {
      font-size: 1.06667rem;
      line-height: 1.3;
      font-weight: 400;
      margin: 0; }
      .cms_block .item h4:before {
        position: absolute;
        left: 0;
        top: 0;
        font-size: 2.66667rem;
        line-height: 1; }
        @media (min-width: 1200px) {
          .cms_block .item h4:before {
            font-size: 3.33333rem; } }
      @media (min-width: 1200px) {
        .cms_block .item h4 {
          font-size: 1.33333rem; } }
    .cms_block .item p {
      font-size: 0.86667rem;
      line-height: 1.4;
      color: #878787;
      margin-bottom: 0; }

.paiement_logo_wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 991px) {
    .paiement_logo_wrapper {
      display: none; } }
  .paiement_logo_wrapper .jxml-html-title {
    display: none; }
  .paiement_logo_wrapper #paiement_logo_block_left {
    text-align: right; }
    .paiement_logo_wrapper #paiement_logo_block_left img + img {
      margin-left: 1.93333rem; }

#footer .newsletter-primary .newsletter_conditions {
  display: none; }

#footer .newsletter-primary .alert {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin-top: 1.66667rem;
  margin-bottom: 0; }

#footer .newsletter-primary .block-newsletter {
  padding: 0.6rem 0;
  margin: 0; }
  @media (min-width: 768px) {
    #footer .newsletter-primary .block-newsletter {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding-bottom: 0.73333rem; } }
  @media (max-width: 767px) {
    #footer .newsletter-primary .block-newsletter {
      text-align: center; } }
  #footer .newsletter-primary .block-newsletter h3 {
    background: none;
    padding: 0;
    font-size: 1.33333rem;
    line-height: 2.13333rem;
    letter-spacing: 0px;
    font-weight: 400;
    border: none;
    margin-bottom: 0.53333rem;
    color: #252a33; }
    @media (min-width: 768px) {
      #footer .newsletter-primary .block-newsletter h3 {
        margin: 0 2.53333rem 0 0; } }
    @media (max-width: 767px) {
      #footer .newsletter-primary .block-newsletter h3 {
        margin: 0 0 1rem; } }
  #footer .newsletter-primary .block-newsletter form {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    margin: 0; }
    #footer .newsletter-primary .block-newsletter form .form-control {
      border: none;
      height: 3.33333rem;
      line-height: 2rem;
      border-top-left-radius: 0.13333rem;
      border-bottom-left-radius: 0.13333rem;
      padding: 0.33333rem 2rem;
      display: block;
      -webkit-box-shadow: none;
              box-shadow: none; }
      @media (min-width: 768px) {
        #footer .newsletter-primary .block-newsletter form .form-control {
          width: auto;
          -webkit-box-flex: 1;
              -ms-flex: 1 1 auto;
                  flex: 1 1 auto; } }
      @media (max-width: 767px) {
        #footer .newsletter-primary .block-newsletter form .form-control {
          width: 100%;
          text-align: center;
          margin-bottom: 1rem; } }
    #footer .newsletter-primary .block-newsletter form .input-group-btn {
      position: relative;
      overflow: hidden;
      margin-left: 0; }
      @media (max-width: 767px) {
        #footer .newsletter-primary .block-newsletter form .input-group-btn {
          margin: 0 auto; } }
      #footer .newsletter-primary .block-newsletter form .input-group-btn .btn {
        white-space: nowrap;
        padding: 1.06667rem 1.66667rem 1rem;
        font-weight: 400; }
        @media (min-width: 480px) {
          #footer .newsletter-primary .block-newsletter form .input-group-btn .btn {
            min-width: 8rem; } }
        @media (min-width: 1200px) {
          #footer .newsletter-primary .block-newsletter form .input-group-btn .btn {
            min-width: 11.33333rem; } }
        @media (max-width: 767px) {
          #footer .newsletter-primary .block-newsletter form .input-group-btn .btn {
            display: block;
            padding: 1.06667rem 1.66667rem 1rem; } }
      #footer .newsletter-primary .block-newsletter form .input-group-btn .btn_bg {
        content: "";
        position: absolute;
        z-index: 0;
        top: 0.13333rem;
        bottom: 0.13333rem;
        left: 0.06667rem;
        right: 0.06667rem;
        background: #13a1f4;
        opacity: 1;
        -webkit-transform: scaleY(2);
                transform: scaleY(2);
        -webkit-transition: 0.3s all ease-in;
        transition: 0.3s all ease-in; }
      #footer .newsletter-primary .block-newsletter form .input-group-btn:hover .btn_bg {
        -webkit-transform: scaleY(0);
                transform: scaleY(0);
        opacity: 0; }

#footer .gray_wrapper.border_bottom {
  border-bottom: 0.06667rem solid #e1e1e1; }
  #footer .gray_wrapper.border_bottom:before, #footer .gray_wrapper.border_bottom:after {
    border-bottom: 0.06667rem solid #e1e1e1;
    bottom: -0.06667rem; }

#footer .gray_wrapper.light_footer {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 3.33333rem; }
  @media (min-width: 1200px) {
    #footer .gray_wrapper.light_footer {
      padding-top: 5.2rem;
      padding-bottom: 6.2rem; } }
  #footer .gray_wrapper.light_footer .block-newsletter h3 {
    font-size: 1.53333rem;
    margin-top: 0.46667rem;
    margin-bottom: 0.46667rem; }
  #footer .gray_wrapper.light_footer .block-newsletter .newsletter_conditions {
    margin-bottom: 1.66667rem; }
  #footer .gray_wrapper.light_footer .block-newsletter form {
    margin: 0 auto; }
    @media (min-width: 992px) {
      #footer .gray_wrapper.light_footer .block-newsletter form {
        max-width: 59rem; } }
    #footer .gray_wrapper.light_footer .block-newsletter form .form-control {
      height: 4rem;
      line-height: 2rem;
      background: white;
      border: 0.06667rem solid #e1e1e1;
      border-radius: 0.13333rem;
      padding: 0.33333rem 2rem;
      display: block;
      -webkit-box-shadow: none;
              box-shadow: none;
      color: #878787;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    #footer .gray_wrapper.light_footer .block-newsletter form .input-group-btn {
      position: relative;
      overflow: hidden;
      margin-left: 0; }
      #footer .gray_wrapper.light_footer .block-newsletter form .input-group-btn:before {
        content: "";
        position: absolute;
        z-index: 0;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: #13a1f4;
        opacity: 1;
        -webkit-transform: scaleY(2);
                transform: scaleY(2);
        -webkit-transition: 0.3s all ease-in;
        transition: 0.3s all ease-in; }
      #footer .gray_wrapper.light_footer .block-newsletter form .input-group-btn:hover {
        color: #13a1f4; }
        #footer .gray_wrapper.light_footer .block-newsletter form .input-group-btn:hover:before {
          -webkit-transform: scaleY(0);
                  transform: scaleY(0);
          opacity: 0; }
    #footer .gray_wrapper.light_footer .block-newsletter form .btn {
      position: relative;
      color: white;
      background: none;
      -webkit-box-shadow: inset 0 0 0 0.13333rem #13a1f4;
              box-shadow: inset 0 0 0 0.13333rem #13a1f4;
      border: none;
      font-weight: 400;
      overflow: hidden;
      padding: 1.33333rem 1.66667rem; }
      #footer .gray_wrapper.light_footer .block-newsletter form .btn:hover {
        color: #13a1f4; }
      @media (min-width: 480px) {
        #footer .gray_wrapper.light_footer .block-newsletter form .btn {
          min-width: 8rem; } }
      @media (min-width: 1200px) {
        #footer .gray_wrapper.light_footer .block-newsletter form .btn {
          min-width: 18rem; } }
  #footer .gray_wrapper.light_footer .block-newsletter .alert-danger {
    margin-top: 1.66667rem; }
    @media (min-width: 992px) {
      #footer .gray_wrapper.light_footer .block-newsletter .alert-danger {
        margin-left: auto;
        margin-right: auto;
        max-width: 59rem; } }

#footer .light_footer.copyright_wrapper {
  position: relative;
  background: #f2f2f2; }
  #footer .light_footer.copyright_wrapper:before {
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    margin-left: -100%;
    background: #f2f2f2;
    content: ''; }
  #footer .light_footer.copyright_wrapper:after {
    display: block;
    position: absolute;
    width: 100%;
    right: 0;
    top: 0;
    bottom: 0;
    margin-right: -100%;
    background: #f2f2f2;
    content: ''; }

#footer .light_footer .jxml-copyright {
  background: none; }
  #footer .light_footer .jxml-copyright ._blank {
    font-size: 0.86667rem; }
    #footer .light_footer .jxml-copyright ._blank:hover {
      color: #252a33; }
  #footer .light_footer .jxml-copyright:before, #footer .light_footer .jxml-copyright:after {
    display: none; }

@media (max-width: 1200px) {
  .simple_search .jxsearch-wrapper #jxsearchblock {
    padding-left: 0;
    padding-right: 0; } }

@media (max-width: 991px) {
  .simple_search .jxsearch-wrapper #jxsearchblock {
    margin-bottom: 2rem; } }

@media (max-width: 991px) {
  .logo_wrapper {
    padding-top: 3.33333rem;
    padding-bottom: 3.33333rem;
    text-align: center; } }

@media (min-width: 991px) and (max-width: 1200px) {
  .inline-menu {
    margin-top: 2.33333rem; } }

@media (max-width: 1200px) {
  .inline-menu {
    margin-bottom: 2.33333rem; } }

@media (max-width: 767px) {
  .inline-menu {
    display: none; } }

@media (max-width: 1200px) {
  .inline-menu .default-menu {
    padding-top: 0.66667rem;
    padding-left: 0.33333rem;
    display: inline-block;
    position: relative; } }

@media (max-width: 1200px) {
  .inline-menu .default-menu .megamenu-col {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

@media (max-width: 1200px) {
  .inline-menu .menu-title {
    display: inline-block; } }

@media (min-width: 991px) and (max-width: 1200px) {
  .simple-header-height .wishlist-button,
  .simple-header-height .compare-button,
  .simple-header-height .cart-button {
    margin-top: 2.33333rem; } }

@media (max-width: 1200px) {
  .simple-header-height .wishlist-button,
  .simple-header-height .compare-button,
  .simple-header-height .cart-button {
    margin-bottom: 2.33333rem; } }

@media (max-width: 767px) {
  .simple-header-height .wishlist-button,
  .simple-header-height .compare-button,
  .simple-header-height .cart-button {
    display: none; } }

@media (max-width: 1200px) {
  #header .logo_wrapper {
    padding-top: 3.46667rem;
    padding-bottom: 3rem;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    text-align: center; } }

@media (max-width: 1200px) {
  #header .group_ha_search {
    max-width: 8.33333rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

@media (max-width: 767px) {
  #header .group_ha_search {
    display: none; } }

@media (min-width: 1200px) {
  #header .group_ha_search .jx-header-account {
    margin-right: 2.6rem; } }

@media (min-width: 1360px) {
  #header .group_ha_search .jx-header-account {
    margin-right: 3.46667rem; } }

@media (max-width: 1200px) {
  #header .group_ha_search .jx-header-account {
    margin-right: 2rem; } }

#header .group_ha_search .jx-header-account > a {
  position: relative;
  color: #878787;
  padding-left: 2.2rem; }
  #header .group_ha_search .jx-header-account > a:hover {
    color: #252a33; }
  #header .group_ha_search .jx-header-account > a i {
    display: block;
    font-size: 1.06667rem;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -0.53333rem; }
  @media (max-width: 1200px) {
    #header .group_ha_search .jx-header-account > a span {
      display: none; } }

#header .group_ha_search .jxsearch-wrapper .icon-toggle {
  font-size: 1.06667rem;
  line-height: 1.46667rem;
  color: #878787; }
  #header .group_ha_search .jxsearch-wrapper .icon-toggle:hover {
    color: #252a33; }

@media (max-width: 1200px) {
  #header .group_wl_cart {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    max-width: 8.33333rem; } }

@media (max-width: 767px) {
  #header .group_wl_cart {
    display: none; } }

#header .group_wl_cart .wishlist-button {
  padding-top: 0;
  margin-left: 0; }
  @media (min-width: 1200px) {
    #header .group_wl_cart .wishlist-button {
      padding-top: 1.66667rem;
      padding-left: 1.53333rem; } }
  #header .group_wl_cart .wishlist-button .jxwishlist-link i {
    display: inline-block;
    font-size: 1.4rem; }
    @media (min-width: 1200px) {
      #header .group_wl_cart .wishlist-button .jxwishlist-link i {
        margin-top: -0.2rem; } }
  #header .group_wl_cart .wishlist-button .jxwishlist-link span {
    display: inline-block;
    margin: 0 0 0 0.73333rem;
    line-height: 1.66667rem;
    vertical-align: top;
    font-size: 0.93333rem; }
    @media (max-width: 1200px) {
      #header .group_wl_cart .wishlist-button .jxwishlist-link span {
        display: none; } }

@media (max-width: 1200px) {
  #header .group_wl_cart .cart-button {
    padding-top: 0; } }

@media (max-width: 1200px) {
  #header .group_wl_cart .cart-button .clone-slidebar-toggle {
    font-size: 1.6rem; } }

#header .group_wl_cart .cart-button .cart-products-label,
#header .group_wl_cart .cart-button .cart-products-count {
  display: none; }

@media (max-width: 1200px) {
  #header .menu_holder {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    max-width: 4.33333rem; } }

@media (max-width: 767px) {
  #header .menu_holder {
    display: none; } }

@media (max-width: 1200px) {
  #header .menu_holder .inline-menu {
    margin: 0;
    padding-right: 2rem; } }

@media (max-width: 1200px) {
  #header .menu_holder .inline-menu .default-menu {
    padding: 0; } }

@media (max-width: 1199px) and (min-width: 767px) {
  #header .menu_holder .inline-menu ul.menu {
    left: 0;
    right: auto;
    -webkit-transform: translate(-13%, 0);
            transform: translate(-13%, 0); } }

@media (min-width: 1200px) {
  #header .no_text_icons {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

@media (max-width: 1200px) {
  #header .no_text_icons {
    max-width: 17.66667rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#header .no_text_icons #jx-header-account-link {
  display: block;
  color: #878787;
  margin-right: 3.66667rem; }
  #header .no_text_icons #jx-header-account-link:hover {
    color: #252a33; }
  #header .no_text_icons #jx-header-account-link span {
    display: none; }

#header .no_text_icons .jxsearch-wrapper .icon-toggle {
  font-size: 1.06667rem;
  line-height: 1.46667rem;
  color: #878787; }
  #header .no_text_icons .jxsearch-wrapper .icon-toggle:hover {
    color: #252a33; }

#header .no_text_icons .wishlist-button {
  padding-top: 0; }
  #header .no_text_icons .wishlist-button .jxwishlist-link a i {
    font-size: 1.6rem;
    line-height: 1.46667rem;
    color: #878787; }
    #header .no_text_icons .wishlist-button .jxwishlist-link a i:hover {
      color: #252a33; }
  #header .no_text_icons .wishlist-button .jxwishlist-link a span {
    display: none; }

#header .no_text_icons .cart-button {
  padding-top: 0; }
  #header .no_text_icons .cart-button .blockcart .cart-products-count,
  #header .no_text_icons .cart-button .blockcart .cart-products-label {
    display: none; }
  @media (max-width: 1200px) {
    #header .no_text_icons .cart-button .clone-slidebar-toggle {
      font-size: 1.6rem; } }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9FdmVwcmVzdF9TUF90ZXN0L3RoZW1lcy90aGVtZTE1MTQvX2Rldi88bm8gc291cmNlPiIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9FdmVwcmVzdF9TUF90ZXN0L3RoZW1lcy90aGVtZTE1MTQvX2Rldi9qeG1lZ2FsYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9FdmVwcmVzdF9TUF90ZXN0L3RoZW1lcy90aGVtZTE1MTQvX2Rldi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvanhtZWdhbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvRXZlcHJlc3RfU1BfdGVzdC90aGVtZXMvdGhlbWUxNTE0L19kZXYvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9FdmVwcmVzdF9TUF90ZXN0L3RoZW1lcy90aGVtZTE1MTQvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlc19jb2xvci5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L0V2ZXByZXN0X1NQX3Rlc3QvdGhlbWVzL3RoZW1lMTUxNC9fZGV2L2Nzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvRXZlcHJlc3RfU1BfdGVzdC90aGVtZXMvdGhlbWUxNTE0L19kZXYvY3NzL3BhcnRpYWxzL192YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUNBQSxpQkFBaUI7QUNFakI7RUFDRSxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2YsaUJBQWdCLEVBQ2pCOztBQUVEO0VBRUksZUFBYztFQUNkLGdCQUFlO0VBQ2YsZ0JBQWU7RUFDZixpQkFBZ0IsRUFDakI7O0FBS0g7RUFDRSxxQkFBYztNQUFkLGVBQWMsRUFDZjs7QUFFRDtFQUVJLGNBQWEsRUFDZDs7QUFHSDtFQUNFLGNBQWEsRUFDZDs7QUFFRDtFQUVJLGNBQWEsRUFDZDs7QUFHSDtFQUNFLGdDQUFtQjtFQUNuQixrQkFBaUI7RUFDakIscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixzQkFBeUI7TUFBekIsbUJBQXlCO1VBQXpCLDBCQUF5QixFQW9CMUI7RUF4QkQ7SUFNSSxjQUFhLEVBQ2Q7RUFQSDtJQVNJLGNBQWE7SUFDYixxQ0FBc0IsRUFDdkI7RUNzQkM7SURqQ0o7TUFhSSxtQkFBbUIsRUFXdEI7TUF4QkQ7UUFlTSxvQkFB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bWVnYWxheW91dFxcdmlld3NcXGNzc1xcanhtZWdhbGF5b3V0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLnJvdy5jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnByb2R1Y3RzLmNvbCwgLnByb2R1Y3RzW2NsYXNzXj1cImNvbC1cIl0sIC5wcm9kdWN0c1tjbGFzcyo9XCIgY29sLVwiXSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uZmxleC1zaHJpbmstMSB7XG4gIGZsZXgtc2hyaW5rOiAxOyB9XG5cbi5ociAuanhtbC1odG1sLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uanhtbC1iYW5uZXItdGl0bGUsIC5qeG1sLXNsaWRlci10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRvcC1iYW5uZXIgLmp4bWwtaHRtbC10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhcmFsbGF4LWNvbnRlbnQge1xuICBwYWRkaW5nOiAxOTBweCA1MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAucGFyYWxsYXgtY29udGVudCAuanhtbC1odG1sLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYXJhbGxheC1jb250ZW50IC5qeG1sLWh0bWwtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5wYXJhbGxheC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDEyMHB4IDMwcHg7IH1cbiAgICAgIC5wYXJhbGxheC1jb250ZW50IC5qeG1sLWh0bWwtZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnBhcmFsbGF4LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogNzBweCAyMHB4OyB9XG4gICAgICAucGFyYWxsYXgtY29udGVudCAuanhtbC1odG1sLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTVweDsgfSB9XG5cbi5leHRyYS1zbGlkZXIgPiBoMyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmV4dHJhLXNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5leHRyYS1zbGlkZXIgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNlN2U3ZTc7IH1cblxuLmV4dHJhLXNsaWRlciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDEwJTtcbiAgdG9wOiAxMCU7IH1cbiAgLmV4dHJhLXNsaWRlciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmV4dHJhLXNsaWRlciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5leHRyYS1zbGlkZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHAge1xuICAgIGNvbG9yOiAjMjUyYTMzOyB9XG5cbi5leHRyYS1zbGlkZXIgLmJwLW1pbmlhdHVyZSAuYnAtbWluaWF0dXJlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC10aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCA1MiU7IH1cbiAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC1pbmZvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgIC5leHRyYS1zbGlkZXIgLmJwLW1pbmlhdHVyZSAuYnAtbWluaWF0dXJlLWNvbnRhaW5lciAuYnAtaW5mbyAuYnAtbmFtZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLXRodW1ibmFpbCB7XG4gICAgICBmbGV4OiAwIDAgNDAlOyB9XG4gICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24ge1xuICAgICAgZmxleDogMSAxIGF1dG87IH1cbiAgICAgIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIGgxLnByb2R1Y3QtdGl0bGUge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gICAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAuZGF5ZGVhbC1ib3gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzNywgNDIsIDUxLCAwLjgpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtdGh1bWJuYWlsIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAxMHB4OyB9XG4gIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gaDEucHJvZHVjdC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1kZXNjcmlwdGlvbi1zaG9ydCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtcHJpY2VzLW1kIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAuZGF5ZGVhbC1ib3gge1xuICAgICAgZm9udC1zaXplOiA4cHg7IH1cbiAgICAgIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIC5kYXlkZWFsLWJveCBzcGFuIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGEge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gICAgICAgIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIC5wcm9kdWN0LWJ1dHRvbnMgYSBpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gICAgICAgIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIC5wcm9kdWN0LWJ1dHRvbnMgYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtYnV0dG9ucyBhIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtYnV0dG9ucyBhLmFkZC10by1jYXJ0LCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGEudmlldy1wcm9kdWN0LCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGEuY3VzdG9taXplIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGNvbG9yOiAjMjUyYTMzO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGEuYWRkLXRvLWNhcnQgaSwgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtYnV0dG9ucyBhLnZpZXctcHJvZHVjdCBpLCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGEuY3VzdG9taXplIGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtYnV0dG9ucyBhOmhvdmVyLmFkZC10by1jYXJ0LCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGE6aG92ZXIudmlldy1wcm9kdWN0LCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGE6aG92ZXIuY3VzdG9taXplLCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGE6aG92ZXIgaSwgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtYnV0dG9ucyBhOmZvY3VzLmFkZC10by1jYXJ0LCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGE6Zm9jdXMudmlldy1wcm9kdWN0LCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGE6Zm9jdXMuY3VzdG9taXplLCAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1idXR0b25zIGE6Zm9jdXMgaSB7XG4gICAgICAgICAgY29sb3I6ICMxM2ExZjQ7IH1cbiAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC10aHVtYm5haWwge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC1pbmZvIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAwOyB9XG4gICAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC1pbmZvIC5icC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5leHRyYS1zbGlkZXIgLmJwLW1pbmlhdHVyZSAuYnAtbWluaWF0dXJlLWNvbnRhaW5lciAuYnAtaW5mbyAucG9zdC1tZXRhIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAuZXh0cmEtc2xpZGVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5leHRyYS1zbGlkZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5leHRyYS1zbGlkZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS10aHVtYm5haWwge1xuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7IH1cbiAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24ge1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiBoMS5wcm9kdWN0LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAucHJvZHVjdC1kZXNjcmlwdGlvbi1zaG9ydCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtcHJpY2VzLW1kIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAuZGF5ZGVhbC1ib3gge1xuICAgICAgZm9udC1zaXplOiA4cHg7IH1cbiAgICAgIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIC5kYXlkZWFsLWJveCBzcGFuIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC10aHVtYm5haWwge1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC1pbmZvIHtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMzBweCAwOyB9XG4gICAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC1pbmZvIC5icC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmV4dHJhLXNsaWRlciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDIge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZXh0cmEtc2xpZGVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMyB7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9XG4gIC5leHRyYS1zbGlkZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtdGh1bWJuYWlsIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNDBweCA0MHB4OyB9XG4gIC5leHRyYS1zbGlkZXIgLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIHtcbiAgICBwYWRkaW5nOiA0MHB4OyB9XG4gICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gaDEucHJvZHVjdC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtZGVzY3JpcHRpb24tc2hvcnQge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmV4dHJhLXNsaWRlciAucHJvZHVjdC1taW5pYXR1cmUgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24gLnByb2R1Y3QtcHJpY2VzLW1kIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAuZGF5ZGVhbC1ib3gge1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgICAuZXh0cmEtc2xpZGVyIC5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiAuZGF5ZGVhbC1ib3ggc3BhbiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5leHRyYS1zbGlkZXIgLmJwLW1pbmlhdHVyZSAuYnAtbWluaWF0dXJlLWNvbnRhaW5lciAuYnAtdGh1bWJuYWlsIHtcbiAgICBwYWRkaW5nOiA1MHB4OyB9XG4gIC5leHRyYS1zbGlkZXIgLmJwLW1pbmlhdHVyZSAuYnAtbWluaWF0dXJlLWNvbnRhaW5lciAuYnAtaW5mbyB7XG4gICAgcGFkZGluZzogNTBweCA1MHB4IDUwcHggMDsgfVxuICAgIC5leHRyYS1zbGlkZXIgLmJwLW1pbmlhdHVyZSAuYnAtbWluaWF0dXJlLWNvbnRhaW5lciAuYnAtaW5mbyAuYnAtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmV4dHJhLXNsaWRlciAuYnAtbWluaWF0dXJlIC5icC1taW5pYXR1cmUtY29udGFpbmVyIC5icC1pbmZvIC5icC1zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZXh0cmEtc2xpZGVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiA4MHB4OyB9XG4gIC5leHRyYS1zbGlkZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgzIHtcbiAgICBmb250LXNpemU6IDUwcHg7IH1cbiAgLmV4dHJhLXNsaWRlciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gcCB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIGh0bWwgLmxheW91dC1mdWxsLXdpZHRoIC5jdXN0b21fY291bnQgLnByb2R1Y3RzIGFydGljbGUucHJvZHVjdC1taW5pYXR1cmUge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTY0OXB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGh0bWwgLmxheW91dC1mdWxsLXdpZHRoIC5jdXN0b21fY291bnQgLnByb2R1Y3RzIGFydGljbGUucHJvZHVjdC1taW5pYXR1cmUge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY1MHB4KSB7XG4gIGh0bWwgLmxheW91dC1mdWxsLXdpZHRoIC5jdXN0b21fY291bnQgLnByb2R1Y3RzIGFydGljbGUucHJvZHVjdC1taW5pYXR1cmUge1xuICAgIGZsZXg6IDAgMCAxNi42NiU7XG4gICAgbWF4LXdpZHRoOiAxNi42NiU7IH0gfVxuXG5odG1sIC5sYXlvdXQtZnVsbC13aWR0aCAuY3VzdG9tX2NvdW50IC5wcm9kdWN0cyBhcnRpY2xlLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuaHRtbCAubGF5b3V0LWZ1bGwtd2lkdGggLmN1c3RvbV9jb3VudCAucHJvZHVjdHMgYXJ0aWNsZS5wcm9kdWN0LW1pbmlhdHVyZSAucHJvZHVjdC1taW5pYXR1cmUtdGh1bWJuYWlsIHtcbiAgYmFja2dyb3VuZDogI2ZjZmNmZDsgfVxuXG5odG1sIC5sYXlvdXQtZnVsbC13aWR0aCAuY3VzdG9tX2NvdW50IC5wcm9kdWN0cyBhcnRpY2xlLnByb2R1Y3QtbWluaWF0dXJlIC5wcm9kdWN0LWRlc2NyaXB0aW9uLXNob3J0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAuY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3MgPiBkaXYge1xuICAgIG1hcmdpbjogMCAyNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgICAgLmN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzID4gZGl2IHtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7IH1cbiAgICAgICAgLmN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzID4gZGl2IC5qeG1sLWh0bWwtdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAuY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3MgPiBkaXYge1xuICAgICAgICBtYXJnaW46IDAgMTBweDsgfVxuICAgICAgICAuY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3MgPiBkaXYgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAuY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3MgPiBkaXYgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3MgPiBkaXYuYWN0aXZlIC5qeG1sLWh0bWwtdGl0bGUsIC5jdXN0b20tdGFicyAuY3VzdG9tLXRhYi1saW5rcyA+IGRpdjpob3ZlciAuanhtbC1odG1sLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMTNhMWY0OyB9XG5cbi5jdXN0b20tdGFicyAuY3VzdG9tLXRhYi1jb250ZW50cyA+IGRpdjpub3QoLmFjdGl2ZSkge1xuICBoZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWNvbnRlbnRzID4gZGl2LmFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG5cbi5jdXN0b20tdGFicyAuZmVhdHVyZWQtcHJvZHVjdHMgPiBoMSwgLmN1c3RvbS10YWJzIC5qeG1sLXNsaWRlci10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmN1c3RvbS10YWJzLnZlcnRpY2FsLWN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzIHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmN1c3RvbS10YWJzLnZlcnRpY2FsLWN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzID4gZGl2IHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cbiAgICAuY3VzdG9tLXRhYnMudmVydGljYWwtY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3MgPiBkaXYgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmN1c3RvbS10YWJzLnZlcnRpY2FsLWN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzID4gZGl2LmFjdGl2ZSwgLmN1c3RvbS10YWJzLnZlcnRpY2FsLWN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzID4gZGl2OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzYTNhM2E7IH1cbiAgICAgIC5jdXN0b20tdGFicy52ZXJ0aWNhbC1jdXN0b20tdGFicyAuY3VzdG9tLXRhYi1saW5rcyA+IGRpdi5hY3RpdmUgLmp4bWwtaHRtbC10aXRsZSwgLmN1c3RvbS10YWJzLnZlcnRpY2FsLWN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzID4gZGl2OmhvdmVyIC5qeG1sLWh0bWwtdGl0bGUge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmN1c3RvbS10YWJzLnZlcnRpY2FsLWN1c3RvbS10YWJzIC5jdXN0b20tdGFiLWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY3VzdG9tLXRhYnMudmVydGljYWwtY3VzdG9tLXRhYnMgLmN1c3RvbS10YWItbGlua3MgPiBkaXYge1xuICAgICAgICBtYXJnaW46IDAgMnB4IDNweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDdweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5jdXN0b20tdGFicy52ZXJ0aWNhbC1jdXN0b20tdGFicyAuY3VzdG9tLXRhYi1saW5rcyA+IGRpdiAuanhtbC1odG1sLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4uYmFubmVyLXR5cGUtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFubmVyLXR5cGUtMSAuanhtbC1iYW5uZXItbGluazphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJvdHRvbTogMTBweDtcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBjb250ZW50OiBcIu+EgVwiO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogIzEzYTFmNDtcbiAgICBib3gtc2hhZG93OiAwIDVweCA0M3B4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmJhbm5lci10eXBlLTEgLmp4bWwtYmFubmVyLWxpbms6aG92ZXI6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJhbm5lci10eXBlLTEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRvcDogMTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmJhbm5lci10eXBlLTEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5iYW5uZXItdHlwZS0xIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBwLmJhbm5lci10eXBlLTEtcHJpY2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0xIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBwLmJhbm5lci10eXBlLTEtcHJpY2UgZW0ge1xuICAgICAgICBmb250LXNpemU6IDEzMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTkuODhweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0xIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBwLmJhbm5lci10eXBlLTEtcHJpY2Ugc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgLmJhbm5lci10eXBlLTEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHAuYmFubmVyLXR5cGUtMS1wcmljZSBzcGFuID4gc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYmFubmVyLXR5cGUtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFubmVyLXR5cGUtMiAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogOCU7XG4gIHJpZ2h0OiA4JTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgY29sb3I6ICMyNjI2MjY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgICAgbGVmdDogMjIlO1xuICAgICAgcmlnaHQ6IDIyJTsgfSB9XG4gIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiAxNTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmJhbm5lci10eXBlLTMgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gKiArIHAge1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE1NDIuOThweCkge1xuICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTEwcHg7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDVweDsgfVxuICAgICAgLmJhbm5lci10eXBlLTMgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uICogKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDIge1xuICAgICAgICBmb250LXNpemU6IDkwcHg7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDsgfVxuICAgICAgLmJhbm5lci10eXBlLTMgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uICogKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNzBweDsgfVxuICAgICAgLmJhbm5lci10eXBlLTMgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gKiArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmJhbm5lci10eXBlLTMgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgLmJhbm5lci10eXBlLTMgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4OyB9XG4gICAgICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDQge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAqICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAuYmFubmVyLXR5cGUtMyAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgIC5iYW5uZXItdHlwZS0zIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAgICAgLmJhbm5lci10eXBlLTMgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uICogKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH1cblxuLmJhbm5lci10eXBlLTQgYS5qeG1sLWJhbm5lci1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFubmVyLXR5cGUtNCBhLmp4bWwtYmFubmVyLWxpbms6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IDAuM3M7IH1cbiAgLmJhbm5lci10eXBlLTQgYS5qeG1sLWJhbm5lci1saW5rOmhvdmVyOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLmJhbm5lci10eXBlLTQgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMiU7XG4gIHdpZHRoOiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXgtd2lkdGg6IDIxMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjMjUyYTMzOyB9XG4gIC5iYW5uZXItdHlwZS00IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMjVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYmFubmVyLXR5cGUtNCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDMge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmJhbm5lci10eXBlLTQgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5iYW5uZXItdHlwZS00IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoNSB7XG4gICAgbWFyZ2luLXRvcDogMTlweDsgfVxuICAuYmFubmVyLXR5cGUtNCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3MTQzO1xuICAgIG1hcmdpbi10b3A6IDExcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAgIC5iYW5uZXItdHlwZS00IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgICBmb250LXNpemU6IDQwcHg7IH1cbiAgICAuYmFubmVyLXR5cGUtNCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDMge1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9XG4gICAgLmJhbm5lci10eXBlLTQgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuICAgIC5iYW5uZXItdHlwZS00IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoNSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmJhbm5lci10eXBlLTQgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHAge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmJhbm5lci10eXBlLTQgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgIC5iYW5uZXItdHlwZS00IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMyB7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAuYmFubmVyLXR5cGUtNCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDQge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmJhbm5lci10eXBlLTQgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgIC5iYW5uZXItdHlwZS00IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAuYmFubmVyLXR5cGUtNCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZzogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5pdGVtX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5zbGlkZXIxIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogMzgwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2xpZGVyMSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IDQyMHB4O1xuICAgICAgaGVpZ2h0OiAyODBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zbGlkZXIxIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBwYWRkaW5nOiA1MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5zbGlkZXIxIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogNzYwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9IH1cbiAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiA1OHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTM2MzY7XG4gICAgY29sb3I6ICMyNTJhMzM7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA1OHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5zbGlkZXIxIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg1IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjZlbTtcbiAgICBjb2xvcjogIzg3ODc4NztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfSB9XG4gIC5zbGlkZXIxIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpZGVyMSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLmJ0biB7XG4gICAgbWluLXdpZHRoOiAxOTBweDtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuc2xpZGVyMSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLmJ0biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgLnNsaWRlcjEgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZXIxIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAqICsgcCB7XG4gICAgbWFyZ2luLXRvcDogM3B4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuc2xpZGVyMSAuanhtbC1iYW5uZXItaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAyMTBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNsaWRlcjIge1xuICAgIG1hcmdpbi10b3A6IDI4cHg7IH0gfVxuXG4uc2xpZGVyMiAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiAxNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogbGVmdDtcbiAgbWF4LXdpZHRoOiAzNSU7XG4gIHBhZGRpbmctcmlnaHQ6IDUlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5zbGlkZXIyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIG1heC13aWR0aDogNDUlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgLnNsaWRlcjIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICAgIHJpZ2h0OiAyNXB4OyB9IH1cbiAgLnNsaWRlcjIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgyIHtcbiAgICBmb250LXNpemU6IDU3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDc0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5zbGlkZXIyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnNsaWRlcjIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5zbGlkZXIyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoNCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5zbGlkZXIyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgLnNsaWRlcjIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zbGlkZXIyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAuYnRuLXByaW1hcnkge1xuICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5zbGlkZXIyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAuYnRuLXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgLnNsaWRlcjIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5idG4tcHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY29udGFjdC1pbmZvIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmNvbnRhY3QtaW5mbyAuanhtbC1odG1sLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb250YWN0LWluZm8gcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMjFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gICAgY29sb3I6ICM4Nzg3ODc7IH1cbiAgICAuY29udGFjdC1pbmZvIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY29udGFjdC1pbmZvIHAgaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICMxM2ExZjQ7IH1cbiAgICAuY29udGFjdC1pbmZvIHAgYSB7XG4gICAgICBjb2xvcjogIzI1MmEzMzsgfVxuICAgICAgLmNvbnRhY3QtaW5mbyBwIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzEzYTFmNDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI2hlYWRlciAubG9nb193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjaGVhZGVyIC5sb2dvX3dyYXBwZXIgLmp4bWwtbG9nbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4jaGVhZGVyIC5uYXYtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNoZWFkZXIgLm5hdi1zZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjaGVhZGVyIC5uYXYtc2VjdGlvbi5kYXJrLW5hdiB7XG4gICAgYmFja2dyb3VuZDogIzI1MmEzMzsgfVxuICAgICNoZWFkZXIgLm5hdi1zZWN0aW9uLmRhcmstbmF2OmJlZm9yZSwgI2hlYWRlciAubmF2LXNlY3Rpb24uZGFyay1uYXY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzI1MmEzMzsgfVxuICAgICNoZWFkZXIgLm5hdi1zZWN0aW9uLmRhcmstbmF2IC5zZXBhcmF0b3ItbGlzdCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMTNhMWY0OyB9XG4gICAgICAjaGVhZGVyIC5uYXYtc2VjdGlvbi5kYXJrLW5hdiAuc2VwYXJhdG9yLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICNoZWFkZXIgLm5hdi1zZWN0aW9uLmRhcmstbmF2IC5jdXJyZW5jeS1zZWxlY3RvcixcbiAgICAjaGVhZGVyIC5uYXYtc2VjdGlvbi5kYXJrLW5hdiAubGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICAgICAgY29sb3I6ICMxM2ExZjQ7IH1cbiAgICAgICNoZWFkZXIgLm5hdi1zZWN0aW9uLmRhcmstbmF2IC5jdXJyZW5jeS1zZWxlY3Rvcjpob3ZlciwgI2hlYWRlciAubmF2LXNlY3Rpb24uZGFyay1uYXYgLmN1cnJlbmN5LXNlbGVjdG9yLnNob3csXG4gICAgICAjaGVhZGVyIC5uYXYtc2VjdGlvbi5kYXJrLW5hdiAubGFuZ3VhZ2Utc2VsZWN0b3I6aG92ZXIsXG4gICAgICAjaGVhZGVyIC5uYXYtc2VjdGlvbi5kYXJrLW5hdiAubGFuZ3VhZ2Utc2VsZWN0b3Iuc2hvdyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAjaGVhZGVyIC5uYXYtc2VjdGlvbjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7IH1cbiAgI2hlYWRlciAubmF2LXNlY3Rpb246YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgYmFja2dyb3VuZDogI2VlZWVlZTsgfVxuICAjaGVhZGVyIC5uYXYtc2VjdGlvbiAuc2VwYXJhdG9yLWxpc3QgbGkge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxuICAgICNoZWFkZXIgLm5hdi1zZWN0aW9uIC5zZXBhcmF0b3ItbGlzdCBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBjb2xvcjogIzVkNWQ1ZDsgfVxuICAgICAgI2hlYWRlciAubmF2LXNlY3Rpb24gLnNlcGFyYXRvci1saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzEzYTFmNDsgfVxuICAjaGVhZGVyIC5uYXYtc2VjdGlvbiAuY3VycmVuY3ktc2VsZWN0b3IsXG4gICNoZWFkZXIgLm5hdi1zZWN0aW9uIC5sYW5ndWFnZS1zZWxlY3RvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlOyB9XG4gICAgI2hlYWRlciAubmF2LXNlY3Rpb24gLmN1cnJlbmN5LXNlbGVjdG9yOmhvdmVyLCAjaGVhZGVyIC5uYXYtc2VjdGlvbiAuY3VycmVuY3ktc2VsZWN0b3Iuc2hvdyxcbiAgICAjaGVhZGVyIC5uYXYtc2VjdGlvbiAubGFuZ3VhZ2Utc2VsZWN0b3I6aG92ZXIsXG4gICAgI2hlYWRlciAubmF2LXNlY3Rpb24gLmxhbmd1YWdlLXNlbGVjdG9yLnNob3cge1xuICAgICAgY29sb3I6ICMxM2ExZjQ7IH1cbiAgICAjaGVhZGVyIC5uYXYtc2VjdGlvbiAuY3VycmVuY3ktc2VsZWN0b3IgLmRyb3Bkb3duLW1lbnUsXG4gICAgI2hlYWRlciAubmF2LXNlY3Rpb24gLmxhbmd1YWdlLXNlbGVjdG9yIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBhZGRpbmc6IDM0cHggMzlweCAzMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjNweDsgfVxuICAjaGVhZGVyIC5uYXYtc2VjdGlvbiAuY3VycmVuY3ktc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1yaWdodDogMzZweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICNoZWFkZXIgLm5hdi1zZWN0aW9uIC5jdXJyZW5jeS1zZWxlY3RvciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTlweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjBweCkge1xuICAgICAgI2hlYWRlciAubmF2LXNlY3Rpb24gLmN1cnJlbmN5LXNlbGVjdG9yIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9IH1cblxuI2hlYWRlciAud2lzaGxpc3QtYnV0dG9uLFxuI2hlYWRlciAuY29tcGFyZS1idXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2hlYWRlciAud2lzaGxpc3QtYnV0dG9uIGksXG4gICNoZWFkZXIgLmNvbXBhcmUtYnV0dG9uIGkge1xuICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4jaGVhZGVyIC53aXNobGlzdC1idXR0b24sXG4jaGVhZGVyIC5jb21wYXJlLWJ1dHRvbixcbiNoZWFkZXIgLmNhcnQtYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogNTNweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4jaGVhZGVyIC53aXNobGlzdC1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4jaGVhZGVyIC5jYXJ0LWJ1dHRvbiAuYmxvY2tjYXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNoZWFkZXIgLnN0YXRpYy1zZWFyY2gge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jZm9vdGVyIC5iZy1kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMzk0NTsgfVxuICAjZm9vdGVyIC5iZy1kYXJrOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgYmFja2dyb3VuZDogIzI1MmEzMztcbiAgICBjb250ZW50OiAnJzsgfVxuICAjZm9vdGVyIC5iZy1kYXJrOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICByaWdodDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIGJhY2tncm91bmQ6ICMyNTJhMzM7XG4gICAgY29udGVudDogJyc7IH1cbiAgI2Zvb3RlciAuYmctZGFyayAubmV3c2xldHRlci1wcmltYXJ5IGgzIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAjZm9vdGVyIC5iZy1kYXJrIC5uZXdzbGV0dGVyLXByaW1hcnkgLmZvcm0tY29udHJvbCB7XG4gICAgYmFja2dyb3VuZDogIzMwMzY0MDtcbiAgICBjb2xvcjogIzc1N2E4MjsgfVxuXG4jZm9vdGVyIC5iZF9ub25lIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4jZm9vdGVyIC5pbnNldC0yIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNmb290ZXIgLmluc2V0LTIge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG5cbi5jbXNfYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY21zX2Jsb2NrIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDU0cHg7IH0gfVxuICAuY21zX2Jsb2NrIC5qeG1sLWh0bWwtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNtc19ibG9jayAuanhtbC1odG1sLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5jbXNfYmxvY2sgLml0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5jbXNfYmxvY2sgLml0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDc0cHg7IH0gfVxuICAgIC5jbXNfYmxvY2sgLml0ZW0gaDQge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jbXNfYmxvY2sgLml0ZW0gaDQ6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIC5jbXNfYmxvY2sgLml0ZW0gaDQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5jbXNfYmxvY2sgLml0ZW0gaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgLmNtc19ibG9jayAuaXRlbSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBjb2xvcjogIzg3ODc4NztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhaWVtZW50X2xvZ29fd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLnBhaWVtZW50X2xvZ29fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnBhaWVtZW50X2xvZ29fd3JhcHBlciAuanhtbC1odG1sLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWllbWVudF9sb2dvX3dyYXBwZXIgI3BhaWVtZW50X2xvZ29fYmxvY2tfbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAucGFpZW1lbnRfbG9nb193cmFwcGVyICNwYWllbWVudF9sb2dvX2Jsb2NrX2xlZnQgaW1nICsgaW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyOXB4OyB9XG5cbiNmb290ZXIgLm5ld3NsZXR0ZXItcHJpbWFyeSAubmV3c2xldHRlcl9jb25kaXRpb25zIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmFsZXJ0IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI2Zvb3RlciAubmV3c2xldHRlci1wcmltYXJ5IC5ibG9jay1uZXdzbGV0dGVyIHtcbiAgcGFkZGluZzogOXB4IDA7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNmb290ZXIgLm5ld3NsZXR0ZXItcHJpbWFyeSAuYmxvY2stbmV3c2xldHRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgaDMge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgY29sb3I6ICMyNTJhMzM7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICNmb290ZXIgLm5ld3NsZXR0ZXItcHJpbWFyeSAuYmxvY2stbmV3c2xldHRlciBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAzOHB4IDAgMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4OyB9IH1cbiAgI2Zvb3RlciAubmV3c2xldHRlci1wcmltYXJ5IC5ibG9jay1uZXdzbGV0dGVyIGZvcm0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1hcmdpbjogMDsgfVxuICAgICNmb290ZXIgLm5ld3NsZXR0ZXItcHJpbWFyeSAuYmxvY2stbmV3c2xldHRlciBmb3JtIC5mb3JtLWNvbnRyb2wge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgICBwYWRkaW5nOiA1cHggMzBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNmb290ZXIgLm5ld3NsZXR0ZXItcHJpbWFyeSAuYmxvY2stbmV3c2xldHRlciBmb3JtIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gICAgI2Zvb3RlciAubmV3c2xldHRlci1wcmltYXJ5IC5ibG9jay1uZXdzbGV0dGVyIGZvcm0gLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuaW5wdXQtZ3JvdXAtYnRuIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuaW5wdXQtZ3JvdXAtYnRuIC5idG4ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDI1cHggMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuaW5wdXQtZ3JvdXAtYnRuIC5idG4ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuaW5wdXQtZ3JvdXAtYnRuIC5idG4ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNzBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICNmb290ZXIgLm5ld3NsZXR0ZXItcHJpbWFyeSAuYmxvY2stbmV3c2xldHRlciBmb3JtIC5pbnB1dC1ncm91cC1idG4gLmJ0biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjVweCAxNXB4OyB9IH1cbiAgICAgICNmb290ZXIgLm5ld3NsZXR0ZXItcHJpbWFyeSAuYmxvY2stbmV3c2xldHRlciBmb3JtIC5pbnB1dC1ncm91cC1idG4gLmJ0bl9iZyB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxM2ExZjQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLWluOyB9XG4gICAgICAjZm9vdGVyIC5uZXdzbGV0dGVyLXByaW1hcnkgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuaW5wdXQtZ3JvdXAtYnRuOmhvdmVyIC5idG5fYmcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuXG4jZm9vdGVyIC5ncmF5X3dyYXBwZXIuYm9yZGVyX2JvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxOyB9XG4gICNmb290ZXIgLmdyYXlfd3JhcHBlci5ib3JkZXJfYm90dG9tOmJlZm9yZSwgI2Zvb3RlciAuZ3JheV93cmFwcGVyLmJvcmRlcl9ib3R0b206YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxO1xuICAgIGJvdHRvbTogLTFweDsgfVxuXG4jZm9vdGVyIC5ncmF5X3dyYXBwZXIubGlnaHRfZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICNmb290ZXIgLmdyYXlfd3JhcHBlci5saWdodF9mb290ZXIge1xuICAgICAgcGFkZGluZy10b3A6IDc4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTNweDsgfSB9XG4gICNmb290ZXIgLmdyYXlfd3JhcHBlci5saWdodF9mb290ZXIgLmJsb2NrLW5ld3NsZXR0ZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gICNmb290ZXIgLmdyYXlfd3JhcHBlci5saWdodF9mb290ZXIgLmJsb2NrLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXJfY29uZGl0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAjZm9vdGVyIC5ncmF5X3dyYXBwZXIubGlnaHRfZm9vdGVyIC5ibG9jay1uZXdzbGV0dGVyIGZvcm0ge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAjZm9vdGVyIC5ncmF5X3dyYXBwZXIubGlnaHRfZm9vdGVyIC5ibG9jay1uZXdzbGV0dGVyIGZvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDg4NXB4OyB9IH1cbiAgICAjZm9vdGVyIC5ncmF5X3dyYXBwZXIubGlnaHRfZm9vdGVyIC5ibG9jay1uZXdzbGV0dGVyIGZvcm0gLmZvcm0tY29udHJvbCB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICM4Nzg3ODc7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgI2Zvb3RlciAuZ3JheV93cmFwcGVyLmxpZ2h0X2Zvb3RlciAuYmxvY2stbmV3c2xldHRlciBmb3JtIC5pbnB1dC1ncm91cC1idG4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAjZm9vdGVyIC5ncmF5X3dyYXBwZXIubGlnaHRfZm9vdGVyIC5ibG9jay1uZXdzbGV0dGVyIGZvcm0gLmlucHV0LWdyb3VwLWJ0bjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogIzEzYTFmNDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMik7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2UtaW47IH1cbiAgICAgICNmb290ZXIgLmdyYXlfd3JhcHBlci5saWdodF9mb290ZXIgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuaW5wdXQtZ3JvdXAtYnRuOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMxM2ExZjQ7IH1cbiAgICAgICAgI2Zvb3RlciAuZ3JheV93cmFwcGVyLmxpZ2h0X2Zvb3RlciAuYmxvY2stbmV3c2xldHRlciBmb3JtIC5pbnB1dC1ncm91cC1idG46aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgI2Zvb3RlciAuZ3JheV93cmFwcGVyLmxpZ2h0X2Zvb3RlciAuYmxvY2stbmV3c2xldHRlciBmb3JtIC5idG4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjMTNhMWY0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgICAgICNmb290ZXIgLmdyYXlfd3JhcHBlci5saWdodF9mb290ZXIgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuYnRuOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMxM2ExZjQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgICAgICAjZm9vdGVyIC5ncmF5X3dyYXBwZXIubGlnaHRfZm9vdGVyIC5ibG9jay1uZXdzbGV0dGVyIGZvcm0gLmJ0biB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMjBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICNmb290ZXIgLmdyYXlfd3JhcHBlci5saWdodF9mb290ZXIgLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAuYnRuIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDI3MHB4OyB9IH1cbiAgI2Zvb3RlciAuZ3JheV93cmFwcGVyLmxpZ2h0X2Zvb3RlciAuYmxvY2stbmV3c2xldHRlciAuYWxlcnQtZGFuZ2VyIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAjZm9vdGVyIC5ncmF5X3dyYXBwZXIubGlnaHRfZm9vdGVyIC5ibG9jay1uZXdzbGV0dGVyIC5hbGVydC1kYW5nZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDg4NXB4OyB9IH1cblxuI2Zvb3RlciAubGlnaHRfZm9vdGVyLmNvcHlyaWdodF93cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gICNmb290ZXIgLmxpZ2h0X2Zvb3Rlci5jb3B5cmlnaHRfd3JhcHBlcjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29udGVudDogJyc7IH1cbiAgI2Zvb3RlciAubGlnaHRfZm9vdGVyLmNvcHlyaWdodF93cmFwcGVyOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29udGVudDogJyc7IH1cblxuI2Zvb3RlciAubGlnaHRfZm9vdGVyIC5qeG1sLWNvcHlyaWdodCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgI2Zvb3RlciAubGlnaHRfZm9vdGVyIC5qeG1sLWNvcHlyaWdodCAuX2JsYW5rIHtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAjZm9vdGVyIC5saWdodF9mb290ZXIgLmp4bWwtY29weXJpZ2h0IC5fYmxhbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMyNTJhMzM7IH1cbiAgI2Zvb3RlciAubGlnaHRfZm9vdGVyIC5qeG1sLWNvcHlyaWdodDpiZWZvcmUsICNmb290ZXIgLmxpZ2h0X2Zvb3RlciAuanhtbC1jb3B5cmlnaHQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuc2ltcGxlX3NlYXJjaCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hibG9jayB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnNpbXBsZV9zZWFyY2ggLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmxvZ29fd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5pbmxpbmUtbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmlubGluZS1tZW51IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5pbmxpbmUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmlubGluZS1tZW51IC5kZWZhdWx0LW1lbnUge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5pbmxpbmUtbWVudSAuZGVmYXVsdC1tZW51IC5tZWdhbWVudS1jb2wge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmlubGluZS1tZW51IC5tZW51LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkxcHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNpbXBsZS1oZWFkZXItaGVpZ2h0IC53aXNobGlzdC1idXR0b24sXG4gIC5zaW1wbGUtaGVhZGVyLWhlaWdodCAuY29tcGFyZS1idXR0b24sXG4gIC5zaW1wbGUtaGVhZGVyLWhlaWdodCAuY2FydC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5zaW1wbGUtaGVhZGVyLWhlaWdodCAud2lzaGxpc3QtYnV0dG9uLFxuICAuc2ltcGxlLWhlYWRlci1oZWlnaHQgLmNvbXBhcmUtYnV0dG9uLFxuICAuc2ltcGxlLWhlYWRlci1oZWlnaHQgLmNhcnQtYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zaW1wbGUtaGVhZGVyLWhlaWdodCAud2lzaGxpc3QtYnV0dG9uLFxuICAuc2ltcGxlLWhlYWRlci1oZWlnaHQgLmNvbXBhcmUtYnV0dG9uLFxuICAuc2ltcGxlLWhlYWRlci1oZWlnaHQgLmNhcnQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAjaGVhZGVyIC5sb2dvX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICAgIG9yZGVyOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgI2hlYWRlciAuZ3JvdXBfaGFfc2VhcmNoIHtcbiAgICBtYXgtd2lkdGg6IDEyNXB4O1xuICAgIG9yZGVyOiAyOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNoZWFkZXIgLmdyb3VwX2hhX3NlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgI2hlYWRlciAuZ3JvdXBfaGFfc2VhcmNoIC5qeC1oZWFkZXItYWNjb3VudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzOXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjBweCkge1xuICAjaGVhZGVyIC5ncm91cF9oYV9zZWFyY2ggLmp4LWhlYWRlci1hY2NvdW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDUycHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICNoZWFkZXIgLmdyb3VwX2hhX3NlYXJjaCAuangtaGVhZGVyLWFjY291bnQge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDsgfSB9XG5cbiNoZWFkZXIgLmdyb3VwX2hhX3NlYXJjaCAuangtaGVhZGVyLWFjY291bnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzg3ODc4NztcbiAgcGFkZGluZy1sZWZ0OiAzM3B4OyB9XG4gICNoZWFkZXIgLmdyb3VwX2hhX3NlYXJjaCAuangtaGVhZGVyLWFjY291bnQgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzI1MmEzMzsgfVxuICAjaGVhZGVyIC5ncm91cF9oYV9zZWFyY2ggLmp4LWhlYWRlci1hY2NvdW50ID4gYSBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLThweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgI2hlYWRlciAuZ3JvdXBfaGFfc2VhcmNoIC5qeC1oZWFkZXItYWNjb3VudCA+IGEgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI2hlYWRlciAuZ3JvdXBfaGFfc2VhcmNoIC5qeHNlYXJjaC13cmFwcGVyIC5pY29uLXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGNvbG9yOiAjODc4Nzg3OyB9XG4gICNoZWFkZXIgLmdyb3VwX2hhX3NlYXJjaCAuanhzZWFyY2gtd3JhcHBlciAuaWNvbi10b2dnbGU6aG92ZXIge1xuICAgIGNvbG9yOiAjMjUyYTMzOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgI2hlYWRlciAuZ3JvdXBfd2xfY2FydCB7XG4gICAgb3JkZXI6IDM7XG4gICAgbWF4LXdpZHRoOiAxMjVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAjaGVhZGVyIC5ncm91cF93bF9jYXJ0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI2hlYWRlciAuZ3JvdXBfd2xfY2FydCAud2lzaGxpc3QtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAjaGVhZGVyIC5ncm91cF93bF9jYXJ0IC53aXNobGlzdC1idXR0b24ge1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7IH0gfVxuICAjaGVhZGVyIC5ncm91cF93bF9jYXJ0IC53aXNobGlzdC1idXR0b24gLmp4d2lzaGxpc3QtbGluayBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAyMXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgI2hlYWRlciAuZ3JvdXBfd2xfY2FydCAud2lzaGxpc3QtYnV0dG9uIC5qeHdpc2hsaXN0LWxpbmsgaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7IH0gfVxuICAjaGVhZGVyIC5ncm91cF93bF9jYXJ0IC53aXNobGlzdC1idXR0b24gLmp4d2lzaGxpc3QtbGluayBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMCAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgI2hlYWRlciAuZ3JvdXBfd2xfY2FydCAud2lzaGxpc3QtYnV0dG9uIC5qeHdpc2hsaXN0LWxpbmsgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICNoZWFkZXIgLmdyb3VwX3dsX2NhcnQgLmNhcnQtYnV0dG9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgI2hlYWRlciAuZ3JvdXBfd2xfY2FydCAuY2FydC1idXR0b24gLmNsb25lLXNsaWRlYmFyLXRvZ2dsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9IH1cblxuI2hlYWRlciAuZ3JvdXBfd2xfY2FydCAuY2FydC1idXR0b24gLmNhcnQtcHJvZHVjdHMtbGFiZWwsXG4jaGVhZGVyIC5ncm91cF93bF9jYXJ0IC5jYXJ0LWJ1dHRvbiAuY2FydC1wcm9kdWN0cy1jb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAjaGVhZGVyIC5tZW51X2hvbGRlciB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWF4LXdpZHRoOiA2NXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNoZWFkZXIgLm1lbnVfaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAjaGVhZGVyIC5tZW51X2hvbGRlciAuaW5saW5lLW1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAjaGVhZGVyIC5tZW51X2hvbGRlciAuaW5saW5lLW1lbnUgLmRlZmF1bHQtbWVudSB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAjaGVhZGVyIC5tZW51X2hvbGRlciAuaW5saW5lLW1lbnUgdWwubWVudSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTMlLCAwKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgI2hlYWRlciAubm9fdGV4dF9pY29ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgI2hlYWRlciAubm9fdGV4dF9pY29ucyB7XG4gICAgbWF4LXdpZHRoOiAyNjVweDtcbiAgICBvcmRlcjogMjsgfSB9XG5cbiNoZWFkZXIgLm5vX3RleHRfaWNvbnMgI2p4LWhlYWRlci1hY2NvdW50LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4Nzg3ODc7XG4gIG1hcmdpbi1yaWdodDogNTVweDsgfVxuICAjaGVhZGVyIC5ub190ZXh0X2ljb25zICNqeC1oZWFkZXItYWNjb3VudC1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzI1MmEzMzsgfVxuICAjaGVhZGVyIC5ub190ZXh0X2ljb25zICNqeC1oZWFkZXItYWNjb3VudC1saW5rIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI2hlYWRlciAubm9fdGV4dF9pY29ucyAuanhzZWFyY2gtd3JhcHBlciAuaWNvbi10b2dnbGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBjb2xvcjogIzg3ODc4NzsgfVxuICAjaGVhZGVyIC5ub190ZXh0X2ljb25zIC5qeHNlYXJjaC13cmFwcGVyIC5pY29uLXRvZ2dsZTpob3ZlciB7XG4gICAgY29sb3I6ICMyNTJhMzM7IH1cblxuI2hlYWRlciAubm9fdGV4dF9pY29ucyAud2lzaGxpc3QtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgI2hlYWRlciAubm9fdGV4dF9pY29ucyAud2lzaGxpc3QtYnV0dG9uIC5qeHdpc2hsaXN0LWxpbmsgYSBpIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgY29sb3I6ICM4Nzg3ODc7IH1cbiAgICAjaGVhZGVyIC5ub190ZXh0X2ljb25zIC53aXNobGlzdC1idXR0b24gLmp4d2lzaGxpc3QtbGluayBhIGk6aG92ZXIge1xuICAgICAgY29sb3I6ICMyNTJhMzM7IH1cbiAgI2hlYWRlciAubm9fdGV4dF9pY29ucyAud2lzaGxpc3QtYnV0dG9uIC5qeHdpc2hsaXN0LWxpbmsgYSBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNoZWFkZXIgLm5vX3RleHRfaWNvbnMgLmNhcnQtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgI2hlYWRlciAubm9fdGV4dF9pY29ucyAuY2FydC1idXR0b24gLmJsb2NrY2FydCAuY2FydC1wcm9kdWN0cy1jb3VudCxcbiAgI2hlYWRlciAubm9fdGV4dF9pY29ucyAuY2FydC1idXR0b24gLmJsb2NrY2FydCAuY2FydC1wcm9kdWN0cy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgI2hlYWRlciAubm9fdGV4dF9pY29ucyAuY2FydC1idXR0b24gLmNsb25lLXNsaWRlYmFyLXRvZ2dsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvRXZlcHJlc3RfU1BfdGVzdC90aGVtZXMvdGhlbWUxNTE0L19kZXYvanhtZWdhbGF5b3V0LnNjc3MiLCJAaW1wb3J0IFwiY3NzL3BhcnRpYWxzL192YXJpYWJsZXNcIjtcclxuLy9tZWdhbGF5b3V0IHN0eWxlIGV4dGVuc2lvbnNcbi5yb3cuY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ucHJvZHVjdHMge1xuICAmLmNvbCwgJltjbGFzc149XCJjb2wtXCJdLCAmW2NsYXNzKj1cIiBjb2wtXCJdIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy9tZWdhbGF5b3V0IGN1c3RvbSBzdHlsZXNcblxuLmZsZXgtc2hyaW5rLTEge1xuICBmbGV4LXNocmluazogMTtcbn1cblxuLmhyIHtcbiAgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uanhtbC1iYW5uZXItdGl0bGUsIC5qeG1sLXNsaWRlci10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b3AtYmFubmVyIHtcbiAgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucGFyYWxsYXgtY29udGVudCB7XG4gIHBhZGRpbmc6IDE5MHB4IDUwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAuanhtbC1odG1sLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5qeG1sLWh0bWwtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSh3aGl0ZSwgMC44KTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBwYWRkaW5nOiAxMjBweCAzMHB4O1xuICAgIC5qeG1sLWh0bWwtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgcGFkZGluZzogNzBweCAyMHB4O1xuICAgIC5qeG1sLWh0bWwtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLmV4dHJhLXNsaWRlciB7XG4gID4gaDMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LTIwMDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXktMzAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMCU7XG4gICAgdG9wOiAxMCU7XG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkZ3JheS05MDA7XG4gICAgfVxuICB9XG4gIC5icC1taW5pYXR1cmUge1xuICAgIC5icC1taW5pYXR1cmUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLmJwLXRodW1ibmFpbCB7XG4gICAgICAgIGZsZXg6IDAgMCA1MiU7XG4gICAgICB9XG4gICAgICAuYnAtaW5mbyB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAuYnAtbmFtZSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJvZHVjdC1taW5pYXR1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgICAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLnByb2R1Y3QtbWluaWF0dXJlLXRodW1ibmFpbCB7XG4gICAgICAgIGZsZXg6IDAgMCA0MCU7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgaDEucHJvZHVjdC10aXRsZSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgfVxuICAgICAgICAuZGF5ZGVhbC1ib3gge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyYXktOTAwLCAwLjgpO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgLnByb2R1Y3QtbWluaWF0dXJlIHtcbiAgICAgIC5wcm9kdWN0LW1pbmlhdHVyZS1jb250YWluZXIge1xuICAgICAgICAucHJvZHVjdC1taW5pYXR1cmUtdGh1bWJuYWlsIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LW1pbmlhdHVyZS1pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICBoMS5wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24tc2hvcnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3QtcHJpY2VzLW1kIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kYXlkZWFsLWJveCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgICAgIHNwYW4gc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3QtYnV0dG9ucyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5hZGQtdG8tY2FydCwgJi52aWV3LXByb2R1Y3QsICYuY3VzdG9taXplIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS05MDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAmLmFkZC10by1jYXJ0LCAmLnZpZXctcHJvZHVjdCwgJi5jdXN0b21pemUsIGkge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnAtbWluaWF0dXJlIHtcbiAgICAgIC5icC1taW5pYXR1cmUtY29udGFpbmVyIHtcbiAgICAgICAgLmJwLXRodW1ibmFpbCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAuYnAtaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcbiAgICAgICAgICAuYnAtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wb3N0LW1ldGEge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbihzbSwgbGcpIHtcbiAgICAucHJvZHVjdC1taW5pYXR1cmUge1xuICAgICAgLnByb2R1Y3QtbWluaWF0dXJlLWNvbnRhaW5lciB7XG4gICAgICAgIC5wcm9kdWN0LW1pbmlhdHVyZS10aHVtYm5haWwge1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtbWluaWF0dXJlLWluZm9ybWF0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgIGgxLnByb2R1Y3QtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24tc2hvcnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2R1Y3QtcHJpY2VzLW1kIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kYXlkZWFsLWJveCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgICAgIHNwYW4gc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJwLW1pbmlhdHVyZSB7XG4gICAgICAuYnAtbWluaWF0dXJlLWNvbnRhaW5lciB7XG4gICAgICAgIC5icC10aHVtYm5haWwge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJwLWluZm8ge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDA7XG4gICAgICAgICAgLmJwLW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIC5wcm9kdWN0LW1pbmlhdHVyZSB7XG4gICAgICAucHJvZHVjdC1taW5pYXR1cmUtY29udGFpbmVyIHtcbiAgICAgICAgLnByb2R1Y3QtbWluaWF0dXJlLXRodW1ibmFpbCB7XG4gICAgICAgICAgcGFkZGluZzogNDBweCAwIDQwcHggNDBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1taW5pYXR1cmUtaW5mb3JtYXRpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgaDEucHJvZHVjdC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbi1zaG9ydCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wcm9kdWN0LXByaWNlcy1tZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZGF5ZGVhbC1ib3gge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgc3BhbiBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnAtbWluaWF0dXJlIHtcbiAgICAgIC5icC1taW5pYXR1cmUtY29udGFpbmVyIHtcbiAgICAgICAgLmJwLXRodW1ibmFpbCB7XG4gICAgICAgICAgcGFkZGluZzogNTBweDtcbiAgICAgICAgfVxuICAgICAgICAuYnAtaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA1MHB4IDUwcHggMDtcbiAgICAgICAgICAuYnAtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuYnAtc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaHRtbCB7XG5cbiAgLmxheW91dC1mdWxsLXdpZHRoIHtcblxuICAgIC5jdXN0b21fY291bnQge1xuXG4gICAgICAucHJvZHVjdHMge1xuICAgICAgICBhcnRpY2xlLnByb2R1Y3QtbWluaWF0dXJlIHtcblxuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE2NDlweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjUwcHgpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxNi42NiU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE2LjY2JTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZHVjdC10aHVtYm5haWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZHVjdC1taW5pYXR1cmUtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTM1MDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbi1zaG9ydCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4uY3VzdG9tLXRhYnMge1xuICAuY3VzdG9tLXRhYi1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luOiAwIDI1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgIC5qeG1sLWh0bWwtdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAuanhtbC1odG1sLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5qeG1sLWh0bWwtdGl0bGUge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b20tdGFiLWNvbnRlbnRzIHtcbiAgICA+IGRpdiB7XG4gICAgICAmOm5vdCguYWN0aXZlKSB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mZWF0dXJlZC1wcm9kdWN0cyA+IGgxLCAuanhtbC1zbGlkZXItdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi52ZXJ0aWNhbC1jdXN0b20tdGFicyB7XG4gICAgLmN1c3RvbS10YWItbGlua3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTIwMDtcbiAgICAgICAgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUsICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTgwMDtcbiAgICAgICAgICAuanhtbC1odG1sLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDJweCAzcHg7XG4gICAgICAgICAgcGFkZGluZzogM3B4IDdweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5iYW5uZXItdHlwZS0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuanhtbC1iYW5uZXItbGluayB7XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIEBpbmNsdWRlIGFkZEljb24oJ1xcZjEwMScsIDMwcHgsIDQwcHgsIHdoaXRlLCBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB2ZXJ0aWNhbC1hbGlnbik7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgIGJveC1zaGFkb3c6ICRkcm9wZG93bi1ib3gtc2hhZG93O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdG9wOiAxMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgICBwLmJhbm5lci10eXBlLTEtcHJpY2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTMwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtOS44OHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDcycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICA+IHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJhbm5lci10eXBlLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5iYW5uZXItdHlwZS0zIHtcbiAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogOCU7XG4gICAgcmlnaHQ6IDglO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBsZWZ0OiAyMiU7XG4gICAgICByaWdodDogMjIlO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDE1MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgKiArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhsKSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTEwcHg7XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIH1cbiAgICAgICogKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTBweDtcbiAgICAgIH1cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgfVxuICAgICAgKiArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICB9XG4gICAgICAqICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cbiAgICAgICogKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIH1cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgfVxuICAgICAgKiArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5iYW5uZXItdHlwZS00IHtcbiAgYS5qeG1sLWJhbm5lci1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgfVxuICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgfVxuICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMiU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDIxMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkZ3JheS05MDA7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMjVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMjVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDE5cHg7XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTcxNDM7XG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgICBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zbGlkZXIxIHtcblxuICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuaXRlbV93cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIHdpZHRoOiAzODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICB3aWR0aDogNDIwcHg7XG4gICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgd2lkdGg6IDc2MHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6ICg3NSAvIDY2KTtcbiAgICAgIGNvbG9yOiAkZ3JheS05MDA7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhzKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4yNmVtO1xuICAgICAgY29sb3I6ICRncmF5LTYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHMpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6ICgyMSAvIDE1KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgbWluLXdpZHRoOiAxOTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhzKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cblxuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAqICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgfVxuICB9XG5cbiAgLmp4bWwtYmFubmVyLWltZyB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uc2xpZGVyMiB7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gIH1cblxuICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xuICAgIG1heC13aWR0aDogMzUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIG1heC13aWR0aDogNDUlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiA1N3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDc0cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJ0bi1wcmltYXJ5IHtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4uY29udGFjdC1pbmZvIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICAgIGNvbG9yOiAkZ3JheS02MDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5LTkwMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2hlYWRlciB7XG5cbiAgLmxvZ29fd3JhcHBlciB7XG5cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuanhtbC1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLm5hdi1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGdyYXktNDAwO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuZGFyay1uYXYge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktOTAwO1xuXG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS05MDA7XG4gICAgICB9XG5cbiAgICAgIC5zZXBhcmF0b3ItbGlzdCBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY3VycmVuY3ktc2VsZWN0b3IsXG4gICAgICAubGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICAgICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktNDAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktNDAwO1xuICAgIH1cblxuICAgIC5zZXBhcmF0b3ItbGlzdCBsaSB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBjb2xvcjogIzVkNWQ1ZDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5jdXJyZW5jeS1zZWxlY3RvcixcbiAgICAubGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuXG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDM0cHggMzlweCAzMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXJyZW5jeS1zZWxlY3RvciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM2cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2MHB4KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2lzaGxpc3QtYnV0dG9uLFxuICAuY29tcGFyZS1idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiA0N3B4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cblxuXG4gIC53aXNobGlzdC1idXR0b24sXG4gIC5jb21wYXJlLWJ1dHRvbixcbiAgLmNhcnQtYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDUzcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxuXG4gIC53aXNobGlzdC1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmNhcnQtYnV0dG9uIHtcbiAgICAuYmxvY2tjYXJ0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAuc3RhdGljLXNlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4jZm9vdGVyIHtcblxuICAuYmctZGFyayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS03NTA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS05MDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktOTAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXItcHJpbWFyeSB7XG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXktNzYwO1xuICAgICAgICBjb2xvcjogJGdyYXktNTYwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iZF9ub25lIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgLmluc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi5jbXNfYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTRweDtcbiAgfVxuXG5cbiAgLmp4bWwtaHRtbC10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG5cbiAgLmp4bWwtaHRtbC1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC5pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDc0cHg7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLnBhaWVtZW50X2xvZ29fd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5qeG1sLWh0bWwtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAjcGFpZW1lbnRfbG9nb19ibG9ja19sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIGltZyArIGltZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMjlweDtcbiAgICB9XG4gIH1cbn1cblxuI2Zvb3RlciB7XG5cbiAgLm5ld3NsZXR0ZXItcHJpbWFyeSB7XG5cbiAgICAubmV3c2xldHRlcl9jb25kaXRpb25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFsZXJ0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ld3NsZXR0ZXIge1xuICAgICAgcGFkZGluZzogOXB4IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMXB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIG1hcmdpbjogMCAzOHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBmb3JtIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDMwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtZ3JvdXAtYnRuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAyNXB4IDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjVweCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idG5fYmcge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1pbjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgLmJ0bl9iZyB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmdyYXlfd3JhcHBlciB7XG5cbiAgICAmLmJvcmRlcl9ib3R0b20ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTQ1MDtcblxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTQ1MDtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubGlnaHRfZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDc4cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5M3B4O1xuICAgICAgfVxuXG4gICAgICAuYmxvY2stbmV3c2xldHRlciB7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NsZXR0ZXJfY29uZGl0aW9ucyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg4NXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTQ1MDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LTYwMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgyKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1pbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAkYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyNXB4O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydC1kYW5nZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4ODVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGlnaHRfZm9vdGVyIHtcblxuICAgICYuY29weXJpZ2h0X3dyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktNDMwO1xuXG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5LTQzMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS00MzA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qeG1sLWNvcHlyaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAuX2JsYW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheS05MDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpbXBsZV9zZWFyY2gge1xuICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hibG9jayB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cbn1cblxuLmxvZ29fd3JhcHBlciB7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5pbmxpbmUtbWVudSB7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5kZWZhdWx0LW1lbnUge1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cblxuICAgIC5tZWdhbWVudS1jb2wge1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGl0bGUge1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uc2ltcGxlLWhlYWRlci1oZWlnaHQge1xuXG4gIC53aXNobGlzdC1idXR0b24sXG4gIC5jb21wYXJlLWJ1dHRvbixcbiAgLmNhcnQtYnV0dG9uIHtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTFweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4jaGVhZGVyIHtcblxuICAubG9nb193cmFwcGVyIHtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gICAgICBvcmRlcjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuXG4gIC5ncm91cF9oYV9zZWFyY2gge1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgbWF4LXdpZHRoOiAxMjVweDtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuangtaGVhZGVyLWFjY291bnQge1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzlweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjBweCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUycHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgfVxuXG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzNweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgLmp4c2VhcmNoLXdyYXBwZXIge1xuXG4gICAgICAuaWNvbi10b2dnbGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheS05MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3JvdXBfd2xfY2FydCB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIG1heC13aWR0aDogMTI1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC53aXNobGlzdC1idXR0b24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xuICAgICAgfVxuXG4gICAgICAuanh3aXNobGlzdC1saW5rIHtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1idXR0b24ge1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2xvbmUtc2xpZGViYXItdG9nZ2xlIHtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYXJ0LXByb2R1Y3RzLWxhYmVsLFxuICAgICAgLmNhcnQtcHJvZHVjdHMtY291bnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLm1lbnVfaG9sZGVyIHtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgbWF4LXdpZHRoOiA2NXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuaW5saW5lLW1lbnUge1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgIH1cblxuICAgICAgLmRlZmF1bHQtbWVudSB7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwubWVudSB7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTMlLCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLm5vX3RleHRfaWNvbnMge1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDI2NXB4O1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG5cbiAgICAjangtaGVhZGVyLWFjY291bnQtbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDU1cHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanhzZWFyY2gtd3JhcHBlciB7XG5cbiAgICAgIC5pY29uLXRvZ2dsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRncmF5LTkwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53aXNobGlzdC1idXR0b24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgIC5qeHdpc2hsaXN0LWxpbmsge1xuICAgICAgICBhIHtcblxuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmF5LTkwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAuYmxvY2tjYXJ0IHtcblxuICAgICAgICAuY2FydC1wcm9kdWN0cy1jb3VudCxcbiAgICAgICAgLmNhcnQtcHJvZHVjdHMtbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsb25lLXNsaWRlYmFyLXRvZ2dsZSB7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvRXZlcHJlc3RfU1BfdGVzdC90aGVtZXMvdGhlbWUxNTE0L19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL2p4bWVnYWxheW91dC5zY3NzIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMnB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvRXZlcHJlc3RfU1BfdGVzdC90aGVtZXMvdGhlbWUxNTE0L19kZXYvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG4kd2hpdGU6ICAjZmZmO1xuJGdyYXktMTAwOiAjZmFmYWZhO1xuJGdyYXktMjAwOiAjZjhmOGY4O1xuJGdyYXktMzAwOiAjZTdlN2U3O1xuJGdyYXktMzUwOiAjZmNmY2ZkO1xuJGdyYXktMzYwOiAjZjZmOGY5O1xuJGdyYXktNDAwOiAjZWVlZWVlO1xuJGdyYXktNDMwOiAjZjJmMmYyO1xuJGdyYXktNDQwOiAjZjZmNmY2O1xuJGdyYXktNDUwOiAjZTFlMWUxO1xuJGdyYXktNDYwOiAjYzFjN2NiO1xuJGdyYXktNTAwOiAjYWJhYmFiO1xuJGdyYXktNTUwOiAjZWJlYmViO1xuJGdyYXktNTYwOiAjNzU3YTgyO1xuJGdyYXktNjAwOiAjODc4Nzg3O1xuJGdyYXktNjUwOiAjNWQ1ZDVkO1xuJGdyYXktNzAwOiAjNTU1NTU1O1xuJGdyYXktNzMwOiAjNWU2NDZjO1xuJGdyYXktNzUwOiAjMzMzOTQ1O1xuJGdyYXktNzYwOiAjMzAzNjQwO1xuJGdyYXktODAwOiAjM2EzYTNhO1xuJGdyYXktOTAwOiAjMjUyYTMzO1xuJGdyYXktOTUwOiAjMjAyNTJlO1xuJGJsYWNrOiAgIzAwMDtcblxuJGJyYW5kLWRhbmdlcjogI2ZmNGMzOTtcblxuJGdyYXlzOiAoXG4gIDEwMDogJGdyYXktMTAwLFxuICAyMDA6ICRncmF5LTIwMCxcbiAgMzAwOiAkZ3JheS0zMDAsXG4gIDQwMDogJGdyYXktNDAwLFxuICA1MDA6ICRncmF5LTUwMCxcbiAgNjAwOiAkZ3JheS02MDAsXG4gIDcwMDogJGdyYXktNzAwLFxuICA4MDA6ICRncmF5LTgwMCxcbiAgOTAwOiAkZ3JheS05MDBcbik7XG5cbiRibHVlOiAgICAjMTNhMWY0O1xuJGluZGlnbzogICM2NjEwZjI7XG4kcHVycGxlOiAgIzZmNDJjMTtcbiRwaW5rOiAgICAjZGU2ZDZkO1xuJHJlZDogICAgICNmZjRjMzk7XG4kb3JhbmdlOiAgI2ZlYjM4MDtcbiR5ZWxsb3c6ICAjZmZmMWJjO1xuJGdyZWVuOiAgICM1MmI5OGU7XG4kdGVhbDogICAgIzUyYjk4ZTtcbiRjeWFuOiAgICAjYzVmMmZkO1xuXG4kY29sb3JzOiAoXG4gIGJsdWU6ICRibHVlLFxuICBpbmRpZ286ICRpbmRpZ28sXG4gIHB1cnBsZTogJHB1cnBsZSxcbiAgcGluazogJHBpbmssXG4gIHJlZDogJHJlZCxcbiAgb3JhbmdlOiAkb3JhbmdlLFxuICB5ZWxsb3c6ICR5ZWxsb3csXG4gIGdyZWVuOiAkZ3JlZW4sXG4gIHRlYWw6ICR0ZWFsLFxuICBjeWFuOiAkY3lhbixcbiAgd2hpdGU6ICR3aGl0ZSxcbiAgZ3JheTogJGdyYXktNjAwLFxuICBncmF5LWRhcms6ICRncmF5LTgwMCxcbiAgZ3JheS1kYXJrZXI6ICRncmF5LTkwMCxcbiAgZ3JheS1saWdodDogJGdyYXktMjAwLFxuICBncmF5LWxpZ2h0ZXI6ICRncmF5LTEwMFxuKTtcblxuJHRoZW1lLWNvbG9yczogKFxuICBwcmltYXJ5OiAkcGluayxcbiAgc2Vjb25kYXJ5OiAkZ3JheS04MDAsXG4gIHN1Y2Nlc3M6ICRncmVlbixcbiAgaW5mbzogJGN5YW4sXG4gIHdhcm5pbmc6ICRvcmFuZ2UsXG4gIGRhbmdlcjogJHBpbmssXG4gIGxpZ2h0OiAkZ3JheS0yMDAsXG4gIGRhcms6ICRncmF5LTkwMCxcbiAgd2hpdGU6ICR3aGl0ZVxuKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9FdmVwcmVzdF9TUF90ZXN0L3RoZW1lcy90aGVtZTE1MTQvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlc19jb2xvci5zY3NzIiwiLy9taXhpbiBmb3IgaWNvbnMgLSBAaW5jbHVkZSBhZGRJY29uKCdcXGYwMjEnLCBmb250LXNpemUsIGxpbmUtaGVpZ2h0LCBjb2xvciwgbWFyZ2luLWxlZnQsIG1hcmdpbi1yaWdodCwgdmVydGljYWwtYWxpZ24pXG5AbWl4aW4gYWRkSWNvbigkY29udGVudCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkY29sb3IsICRtYXJnaW4tbGVmdCwgJG1hcmdpbi1yaWdodCwgJHZlcnRpY2FsLWFsaWduKSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiAkY29udGVudDtcbiAgQGlmICRmb250LXNpemUgIT0gZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cbiAgQGlmICRsaW5lLWhlaWdodCAhPSBsaW5lLWhlaWdodCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuICBAaWYgJGNvbG9yICE9IGNvbG9yIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIEBpZiAkbWFyZ2luLWxlZnQgIT0gbWFyZ2luLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XG4gIH1cbiAgQGlmICRtYXJnaW4tcmlnaHQgIT0gbWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gIH1cbiAgQGlmICR2ZXJ0aWNhbC1hbGlnbiAhPSB2ZXJ0aWNhbC1hbGlnbiB7XG4gICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L0V2ZXByZXN0X1NQX3Rlc3QvdGhlbWVzL3RoZW1lMTUxNC9fZGV2L2Nzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJAaW1wb3J0IFwidmFyaWFibGVzX2NvbG9yXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4vL21haW4gY29sb3JzXG4kYnJhbmQtcHJpbWFyeTogJGJsdWU7XG4kYnJhbmQtc2Vjb25kYXJ5OiAkZ3JheS02MDA7XG4kYnJhbmQtc3VjY2VzczogJGdyZWVuO1xuJGJyYW5kLWluZm86ICRjeWFuO1xuJGJyYW5kLXdhcm5pbmc6ICRvcmFuZ2U7XG4kYnJhbmQtZGFuZ2VyOiAkcmVkO1xuJGJvZHktY29sb3I6ICRncmF5LTYwMDtcbiRib2R5LWJnOiB3aGl0ZTtcblxuLy9mb250c1xuJGZvbnQtZmFtaWx5LWJhc2U6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG5cbi8vTGlua3NcbiRsaW5rLWNvbG9yOiAkZ3JheS04MDA7XG4kbGluay1ob3Zlci1jb2xvcjogJGdyYXktNjAwO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZTtcblxuLy9mb250IHNpemVcbiRmb250LXNpemUtYmFzZTogMXJlbTtcbiRmb250LXNpemUtbGc6IDEuMjVyZW07XG4kZm9udC1zaXplLXNtOiAwLjc1cmVtO1xuJGZvbnQtd2VpZ2h0LWJhc2U6IDQwMDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjI4NjtcbiRoMS1mb250LXNpemU6IDIuNXJlbTtcbiRoMi1mb250LXNpemU6IDEuNzUwcmVtO1xuJGgzLWZvbnQtc2l6ZTogMS41cmVtO1xuJGg0LWZvbnQtc2l6ZTogMS41cmVtO1xuJGg1LWZvbnQtc2l6ZTogMS4xMjVyZW07XG4kaDYtZm9udC1zaXplOiAxLjEyNXJlbTtcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAyN3B4O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBib2xkO1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjU7XG4kaGVhZGluZ3MtY29sb3I6ICRncmF5LTgwMDtcblxuLy9idXR0b25zXG4kYnRuLWZvbnQtd2VpZ2h0OiBib2xkO1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAwO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAwO1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAwO1xuJGJ0bi1ib3gtc2hhZG93OiBub25lO1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiBub25lO1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogbm9uZTtcblxuLy9TcGFjaW5nXG4kYm9yZGVyLXJhZGl1czogMDtcbiRib3JkZXItcmFkaXVzLXNtOiAwO1xuJGJvcmRlci1yYWRpdXMtbGc6IDA7XG4kc3BhY2VyOiAycmVtO1xuJGV4dHJhLXNtYWxsLXNwYWNlOiAkc3BhY2VyICogLjI1O1xuJHNtYWxsLXNwYWNlOiAkc3BhY2VyICogLjU7XG4kbWVkaXVtLXNwYWNlOiAkc3BhY2VyO1xuJGxhcmdlLXNwYWNlOiAkc3BhY2VyICogMS41O1xuJGV4dHJhLWxhcmdlLXNwYWNlOiAkc3BhY2VyICogMztcblxuLy9mb3Jtc1xuJGlucHV0LWJnOiAkZ3JheS0yMDA7XG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogMXB4O1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGdyYXktMjAwO1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogJGdyYXktMzAwO1xuJGlucHV0LWZvY3VzLWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRncmF5LTU2MDtcbiRpbnB1dC1ib3gtc2hhZG93OiBub25lO1xuJGlucHV0LWdyb3VwLWJ0bi1ib3JkZXItY29sb3I6IGluaXRpYWw7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAxLjU7XG4kaW5wdXQtYnRuLXBhZGRpbmcteTogMC42MjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogMS4xMjVyZW07XG5cbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206IDEuNTtcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAwLjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogMXJlbTtcblxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogMS41O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6IDEuMTVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogMi40cmVtO1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lcjogKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4vL2N1c3RvbSBmb3Jtc1xuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogMjdweDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogMjBweDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogMS40MjlyZW07XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiB0cmFuc3BhcmVudDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRncmF5LTQwMDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICRncmF5LTIwMDtcbiRjdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbi1kaXNhYmxlZC1jb2xvcjogJGdyYXktMjAwO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAkZ3JheS04MDA7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkZ3JheS04MDA7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogJGdyYXktODAwO1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmODtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJaWEp6YVc5dVBTSXhMakVpSUhacFpYZENiM2c5SWpBZ01DQXhNamtnTVRJNUlpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQXhNamtnTVRJNUlpQjNhV1IwYUQwaU1UWndlQ0lnYUdWcFoyaDBQU0l4Tm5CNElqNEtJQ0E4Wno0S0lDQWdJRHh3WVhSb0lHUTlJbTB4TWpFdU15d3pOQzQyWXkweExqWXRNUzQyTFRRdU1pMHhMall0TlM0NExEQnNMVFV4TERVeExqRXROVEV1TVMwMU1TNHhZeTB4TGpZdE1TNDJMVFF1TWkweExqWXROUzQ0TERBdE1TNDJMREV1TmkweExqWXNOQzR5SURBc05TNDRiRFV6TGprc05UTXVPV013TGpnc01DNDRJREV1T0N3eExqSWdNaTQ1TERFdU1pQXhMREFnTWk0eExUQXVOQ0F5TGprdE1TNHliRFV6TGprdE5UTXVPV014TGpjdE1TNDJJREV1TnkwMExqSWdNQzR4TFRVdU9Ib2lJR1pwYkd3OUlpTXdNREF3TURBaUx6NEtJQ0E4TDJjK0Nqd3ZjM1puUGdvPVwiKTtcbiRjdXN0b20tc2VsZWN0LWJnOiAkZ3JheS0yMDA7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogJGdyYXktNjAwO1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiBub25lO1xuXG4vL21vZGFsc1xuJG1vZGFsLWxnOiAxNDUwcHg7XG4kbW9kYWwtbWQ6IDEyODBweDtcbiRtb2RhbC1zbTogNTAwcHg7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6IDMwcHg7XG4kbW9kYWwtaW5uZXItcGFkZGluZzogMzBweDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6IG5vbmU7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiBub25lO1xuXG4vL2Ryb3Bkb3duc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd24tcGFkZGluZy15OiA1cHg7XG4kZHJvcGRvd24tc3BhY2VyOiAwO1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogMDtcbiRkcm9wZG93bi1iZzogd2hpdGU7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggNDNweCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuJGVuYWJsZS1zaGFkb3dzOiB0cnVlO1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAxMHB4O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAxNXB4O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICRncmF5LTYwMDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiB0cmFuc3BhcmVudDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6IHRyYW5zcGFyZW50O1xuXG4vL2dyaWQgZXhhbXBsZVxuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDIwcHg7XG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIC8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4gIHhzOiAwLFxuICAvLyBTbWFsbCBzY3JlZW4gLyBwaG9uZVxuICBzbTogNTc2cHgsXG4gIC8vIE1lZGl1bSBzY3JlZW4gLyB0YWJsZXRcbiAgbWQ6IDc2OHB4LFxuICAvLyBMYXJnZSBzY3JlZW4gLyBkZXNrdG9wXG4gIGxnOiA5OTJweCxcbiAgLy8gRXh0cmEgbGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4gIHhsOiAxMjAwcHgsXG4gIC8vIEV4dHJhIGxhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuICB4eGw6IDE1NDNweFxuKTtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA2MTBweCxcbiAgbWQ6IDc2MHB4LFxuICBsZzogOTkwcHgsXG4gIHhsOiAxMTcwcHgsXG4gIHh4bDogMTU0M3B4XG4pO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L0V2ZXByZXN0X1NQX3Rlc3QvdGhlbWVzL3RoZW1lMTUxNC9fZGV2L2Nzcy9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiXSwic291cmNlUm9vdCI6IiJ9*/