.row.full-width {
  margin-left: auto;
  margin-right: auto; }

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

.pt-mod-3 {
  padding-top: 4.0625rem; }

.center_menu > div {
  border-top: 0.0625rem solid #dddddd;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem; }

.center_menu .default-menu > ul {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

@media (min-width: 768px) {
  .absolute_search .jxsearch_toggle {
    position: absolute;
    right: 8%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); } }

.banner-top a,
.banner-home a {
  position: relative;
  display: block;
  z-index: 2; }
  .banner-top a > h3,
  .banner-home a > h3 {
    display: none; }
  @media (min-width: 1200px) {
    .banner-top a:before, .banner-top a:after,
    .banner-home a:before,
    .banner-home a:after {
      position: absolute;
      top: 0.8125rem;
      right: 0.8125rem;
      bottom: 0.8125rem;
      left: 0.8125rem;
      content: '';
      opacity: 0;
      -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
      transition: opacity 0.35s, -webkit-transform 0.35s;
      transition: opacity 0.35s, transform 0.35s;
      transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s; }
    .banner-top a::before,
    .banner-home a::before {
/*MODIFICADO PARA CAMBIAR BORDE A COLOR ROJO Y AUMENTAR GROSOR
      border-top: 0.0625rem solid #fff;
      border-bottom: 0.0625rem solid #fff;*/
      border-top: 0.2rem solid #f00;
      border-bottom: 0.2rem solid #f00;
      -webkit-transform: scale(0, 1);
              transform: scale(0, 1); }
    .banner-top a::after,
    .banner-home a::after {
/*MODIFICADO PARA CAMBIAR BORDE A COLOR ROJO Y AUMENTAR GROSOR
      border-right: 0.0625rem solid #fff;
      border-left: 0.0625rem solid #fff;*/
      border-right: 0.2rem solid #f00;
      border-left: 0.2rem solid #f00;
      -webkit-transform: scale(1, 0);
              transform: scale(1, 0); }
    .banner-top a:hover:before, .banner-top a:hover:after,
    .banner-home a:hover:before,
    .banner-home a:hover:after {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1); } }
  .banner-top a img + div,
  .banner-home a img + div {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    color: #fff;
    text-transform: uppercase; }

.banner-home a h2, .banner-home a h3, .banner-home a p {
  color: #fff;
  line-height: 1; }

.banner-home a img + div {
  left: 0;
  right: 0; }
  .banner-home a img + div > div.content-center {
    text-align: center; }
    .banner-home a img + div > div.content-center h2 {
      font-size: 2.5rem;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      margin-bottom: 0; }
      .banner-home a img + div > div.content-center h2 + p {
        font-size: 1.125rem;
        margin-top: 0.4375rem;
        line-height: 1;
        font-weight: normal; }
    @media (min-width: 1200px) {
      .banner-home a img + div > div.content-center h2 {
        font-size: 4.5rem; }
        .banner-home a img + div > div.content-center h2 + p {
          font-size: 2.5rem; } }
  .banner-home a img + div > div.content-left {
    text-align: left;
    float: left;
    margin-left: 8%; }
    @media (min-width: 1200px) {
      .banner-home a img + div > div.content-left {
        text-align: center; } }
    .banner-home a img + div > div.content-left h2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      font-weight: bold;
      line-height: 1;
      margin-bottom: 0; }
      .banner-home a img + div > div.content-left h2 > span {
        font-size: 3.75rem; }
        .banner-home a img + div > div.content-left h2 > span + span {
          font-size: 1.875rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          line-height: 1; }
          .banner-home a img + div > div.content-left h2 > span + span > span {
            font-size: 1.125rem; }
      @media (min-width: 768px) and (max-width: 2550px) {
        .banner-home a img + div > div.content-left h2 > span {
          font-size: 10vw;
          line-height: 1; }
          .banner-home a img + div > div.content-left h2 > span + span {
            font-size: 5.2vw; }
            .banner-home a img + div > div.content-left h2 > span + span > span {
              font-size: 3.3vw; } }
      @media (max-width: 1635.98px) {
        .banner-home a img + div > div.content-left h2 + button.btn {
          padding: 0.3125rem 0.6875rem;
          font-size: 0.75rem;
          margin-top: 0.9375rem; } }

.banner-top {
  margin-top: 2.5rem; }
  @media (min-width: 768px) {
    .banner-top {
      margin-top: 0;
      margin-bottom: 1.25rem; } }
  @media (max-width: 575.98px) {
    .banner-top {
      max-width: 18.75rem;
      margin-left: auto;
      margin-right: auto; } }
  .banner-top a img + div {
    right: auto;
    left: 5%; }
    .banner-top a img + div h2 {
      font-size: 2.5rem;
      color: #fff;
      font-weight: bold;
      line-height: 1;
      margin-bottom: 0; }
      .banner-top a img + div h2 + p {
        font-size: 1.125rem;
        margin-top: 0.4375rem;
        line-height: 1;
        font-weight: normal; }
    @media (min-width: 1200px) {
      .banner-top a img + div h2 {
        font-size: 4.5rem; }
        .banner-top a img + div h2 + p {
          font-size: 2.5rem; } }

@media (min-width: 768px) {
  #header .header-nav.isMegaheader3:after {
    display: none; } }

@media (max-width: 767.98px) {
  #index .header-top {
    display: none; } }

@media (min-width: 768px) {
  #header .pos_submenu_mod .default-menu li.simple ul.is-simplemenu ul {
    right: 100%;
    left: auto; } }

@media (max-width: 767.98px) {
  #header .pos_submenu_mod.header-nav {
    padding: 0; } }

#header .pos_submenu_mod.header-top {
  position: relative; }

.pay_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -0.625rem;
  margin-bottom: 0; }
  .pay_box > li {
    margin-left: 0.625rem;
    margin-top: 0.1875rem; }

@media (min-width: 768px) {
  .pay_box_mode .pay_box {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.bottom-footer + .jxml-html .pay_box {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

@media (min-width: 768px) {
  #footer .block-contact ul#contact-info-block {
    margin-bottom: 0.9375rem; } }

@media (min-width: 768px) {
  #footer .block_inline .link-block > h3,
  #footer .block_inline .block_myaccount_infos > h3,
  #footer .block_inline .block-newsletter > h3,
  #footer .block_inline .block-contact > h3,
  #footer .block_inline .block-social > h3 {
    display: none !important; } }

@media (min-width: 768px) {
  #footer .block_inline .separator-list-footer {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0.3125rem; }
    #footer .block_inline .separator-list-footer > *:not(:last-child) {
      border-right: 0.0625rem solid #3a3a3a;
      margin-right: 0.9375rem;
      padding-right: 0.9375rem; } }

#footer .block_inline .block-newsletter {
  margin-bottom: 0; }
  @media (max-width: 1199.98px) {
    #footer .block_inline .block-newsletter {
      margin-bottom: 1.875rem; } }

@media (min-width: 768px) {
  #footer .footer-center .block-newsletter {
    margin: 0 auto; }
  #footer .footer-center .bottom-footer {
    text-align: center; }
  #footer .footer-center .separator-list-footer,
  #footer .footer-center .block-social > ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  #footer .footer-center .block-contact {
    margin-bottom: 1.25rem; }
  #footer .footer-center .block-social {
    margin-top: 2.1875rem; } }

#footer .full-width-newsletter .block-newsletter {
  margin-bottom: 2.8125rem;
  max-width: 100%; }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9jbGFzc2ljL3RoZW1lcy90aGVtZV8xNTAyL19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9qeG1lZ2FsYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9jbGFzc2ljL3RoZW1lcy90aGVtZV8xNTAyL19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L2Nzcy9wYXJ0aWFscy9fdmFyaWFibGVzX2NvbG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L2NsYXNzaWMvdGhlbWVzL3RoZW1lXzE1MDIvX2Rldi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0Usa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLGNBQWEsRUFDZDs7QUFFRDtFQUNFLHVCQUFpQixFQUNsQjs7QUFFRDtFQUVJLG9DQ1JjO0VEU2QsdUJBQWlCO0VBQ2pCLDBCQUFvQixF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c1xcY3NzXFxqeG1lZ2FsYXlvdXQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImNzcy9wYXJ0aWFscy9fdmFyaWFibGVzXCI7XHJcbi5yb3cuZnVsbC13aWR0aCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5qeG1sLWh0bWwtdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHQtbW9kLTMge1xuICBwYWRkaW5nLXRvcDogNjVweDtcbn1cblxuLmNlbnRlcl9tZW51IHtcbiAgPiBkaXYge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS00MDA7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbiAgLmRlZmF1bHQtbWVudSA+IHVsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uYWJzb2x1dGVfc2VhcmNoIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5qeHNlYXJjaF90b2dnbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDglO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG59XG5cbi5iYW5uZXItdG9wLFxuLmJhbm5lci1ob21lIHtcbiAgYSB7XG4gICAgPiBoMyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMjtcbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgcmlnaHQ6IDEzcHg7XG4gICAgICAgIGJvdHRvbTogMTNweDtcbiAgICAgICAgbGVmdDogMTNweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAwKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaW1nICsgZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG5cbi5iYW5uZXItaG9tZSB7XG4gIGEge1xuICAgIGgyLCBoMywgcCB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIGltZyArIGRpdiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICA+IGRpdiB7XG4gICAgICAgICYuY29udGVudC1jZW50ZXIge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICArIHAge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiA3MnB4O1xuICAgICAgICAgICAgICArIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRlbnQtbGVmdCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogOCU7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMjU1MHB4KSB7XG4gICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHZ3O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDUuMnZ3O1xuICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjN2dztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICsgYnV0dG9uLmJ0biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4bCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5iYW5uZXItdG9wIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICBcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgXG4gIGEge1xuICAgIGltZyArIGRpdiB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDUlO1xuICAgICAgXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICArIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDcycHg7XG4gICAgICAgICAgKyBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdi5pc01lZ2FoZWFkZXIzIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuI2luZGV4IHtcbiAgLmhlYWRlci10b3Age1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuI2hlYWRlciAucG9zX3N1Ym1lbnVfbW9kIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5kZWZhdWx0LW1lbnUge1xuICAgICAgbGkuc2ltcGxlIHtcbiAgICAgICAgdWwuaXMtc2ltcGxlbWVudSB1bCB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmhlYWRlci1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgJi5oZWFkZXItdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLnBheV9ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgXG4gID4gbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxufVxuXG4ucGF5X2JveF9tb2RlIHtcbiAgLnBheV9ib3gge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG59XG5cbi5ib3R0b20tZm9vdGVyICsgLmp4bWwtaHRtbCAucGF5X2JveCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4jZm9vdGVyIHtcbiAgXG4gIC5ibG9jay1jb250YWN0IHtcbiAgICB1bCNjb250YWN0LWluZm8tYmxvY2sge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmJsb2NrX2lubGluZSB7XG4gICAgLmxpbmstYmxvY2ssXG4gICAgLmJsb2NrX215YWNjb3VudF9pbmZvcyxcbiAgICAuYmxvY2stbmV3c2xldHRlcixcbiAgICAuYmxvY2stY29udGFjdCxcbiAgICAuYmxvY2stc29jaWFsIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgPiBoMyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zZXBhcmF0b3ItbGlzdC1mb290ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyYXktNzAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ibG9jay1uZXdzbGV0dGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvb3Rlci1jZW50ZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIC5ibG9jay1uZXdzbGV0dGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgICAuYm90dG9tLWZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5zZXBhcmF0b3ItbGlzdC1mb290ZXIsXG4gICAgICAuYmxvY2stc29jaWFsID4gdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5ibG9jay1jb250YWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIC5ibG9jay1zb2NpYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmZ1bGwtd2lkdGgtbmV3c2xldHRlciB7XG4gICAgLmJsb2NrLW5ld3NsZXR0ZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L2NsYXNzaWMvdGhlbWVzL3RoZW1lXzE1MDIvX2Rldi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvanhtZWdhbGF5b3V0LnNjc3MiLCIvL1xyXG4vLyBDb2xvciBzeXN0ZW1cclxuLy9cclxuJHdoaXRlOiAgI2ZmZiAhZGVmYXVsdDtcclxuJGdyYXktMTAwOiAjZmFmYWZhICAhZGVmYXVsdDtcclxuJGdyYXktMTUwOiAjZjlmOWY5O1xyXG4kZ3JheS0yMDA6ICNmMWYxZjEgIWRlZmF1bHQ7XHJcbiRncmF5LTMwMDogI2U1ZTVlNSAhZGVmYXVsdDtcclxuJGdyYXktNDAwOiAjZGRkZGRkICFkZWZhdWx0O1xyXG4kZ3JheS01MDA6ICNhYmFiYWIgIWRlZmF1bHQ7XHJcbiRncmF5LTYwMDogIzg4ODg4OCAhZGVmYXVsdDtcclxuJGdyYXktNzAwOiAjM2EzYTNhICFkZWZhdWx0O1xyXG4kZ3JheS04MDA6ICMzMzMzMzMgIWRlZmF1bHQ7XHJcbiRncmF5LTkwMDogIzE0MTQxNCAhZGVmYXVsdDtcclxuJGJsYWNrOiAgIzAwMCAhZGVmYXVsdDtcclxuJGRhcms6ICAjMDAwICFkZWZhdWx0O1xyXG4kZ3JheXM6IChcclxuICAxMDA6ICRncmF5LTEwMCxcclxuICAyMDA6ICRncmF5LTIwMCxcclxuICAzMDA6ICRncmF5LTMwMCxcclxuICA0MDA6ICRncmF5LTQwMCxcclxuICA1MDA6ICRncmF5LTUwMCxcclxuICA2MDA6ICRncmF5LTYwMCxcclxuICA3MDA6ICRncmF5LTcwMCxcclxuICA4MDA6ICRncmF5LTgwMCxcclxuICA5MDA6ICRncmF5LTkwMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJsdWU6ICAgICM0ZmE4ZjYgIWRlZmF1bHQ7XHJcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xyXG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcclxuJHBpbms6ICAgICNkZTZkNmQgIWRlZmF1bHQ7XHJcbiRyZWQ6ICAgICAjZmY0MTMyICFkZWZhdWx0O1xyXG4kb3JhbmdlOiAgI2YyYTY3MiAhZGVmYXVsdDtcclxuJHllbGxvdzogICNmZmYxYmMgIWRlZmF1bHQ7XHJcbiRncmVlbjogICAjN2NkMjJmICFkZWZhdWx0O1xyXG4kdGVhbDogICAgIzZmYjViZiAhZGVmYXVsdDtcclxuJGN5YW46ICAgICNjNWYyZmQgIWRlZmF1bHQ7XHJcblxyXG4kY29sb3JzOiAoXHJcbiAgYmx1ZTogJGJsdWUsXHJcbiAgaW5kaWdvOiAkaW5kaWdvLFxyXG4gIHB1cnBsZTogJHB1cnBsZSxcclxuICBwaW5rOiAkcGluayxcclxuICByZWQ6ICRyZWQsXHJcbiAgb3JhbmdlOiAkb3JhbmdlLFxyXG4gIHllbGxvdzogJHllbGxvdyxcclxuICBncmVlbjogJGdyZWVuLFxyXG4gIHRlYWw6ICR0ZWFsLFxyXG4gIGN5YW46ICRjeWFuLFxyXG4gIHdoaXRlOiAkd2hpdGUsXHJcbiAgZ3JheTogJGdyYXktNjAwLFxyXG4gIGdyYXktZGFyazogJGdyYXktODAwLFxyXG4gIGdyYXktZGFya2VyOiAkZ3JheS05MDAsXHJcbiAgZ3JheS1saWdodDogJGdyYXktMjAwLFxyXG4gIGdyYXktbGlnaHRlcjogJGdyYXktMTAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgcHJpbWFyeTogJHRlYWwsXHJcbiAgc2Vjb25kYXJ5OiAkZ3JheS04MDAsXHJcbiAgc3VjY2VzczogJGdyZWVuLFxyXG4gIGluZm86ICRjeWFuLFxyXG4gIHdhcm5pbmc6ICRvcmFuZ2UsXHJcbiAgZGFuZ2VyOiAkcmVkLFxyXG4gIGxpZ2h0OiAkZ3JheS0yMDAsXHJcbiAgd2hpdGU6ICR3aGl0ZVxyXG4pICFkZWZhdWx0O1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L2NsYXNzaWMvdGhlbWVzL3RoZW1lXzE1MDIvX2Rldi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9jbGFzc2ljL3RoZW1lcy90aGVtZV8xNTAyL19kZXYvY3NzL3BhcnRpYWxzL192YXJpYWJsZXNfY29sb3Iuc2NzcyIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9jbGFzc2ljL3RoZW1lcy90aGVtZV8xNTAyL19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlUm9vdCI6IiJ9*/
