.jxhtmlcontent-top {
  margin-bottom: 0;
  background: #000; }
  .jxhtmlcontent-top > li {
    text-align: center;
    color: #fff;
    padding-top: 1rem;
    padding-bottom: 1.125rem; }
    .jxhtmlcontent-top > li .item-html p {
      font-size: 0.875rem;
      margin-bottom: 0; }
      .jxhtmlcontent-top > li .item-html p > em {
        font-weight: bold;
        font-style: normal;
        color: #6fb5bf; }
    .jxhtmlcontent-top > li p > a {
      text-transform: uppercase;
      color: #f2a672;
      vertical-align: 0.125rem; }
      @media (max-width: 575.98px) {
        .jxhtmlcontent-top > li p > a {
          display: block; } }
      .jxhtmlcontent-top > li p > a > span {
        text-decoration: underline; }
      .jxhtmlcontent-top > li p > a > i {
        margin-left: 0.3125rem; }
      .jxhtmlcontent-top > li p > a > i, .jxhtmlcontent-top > li p > a > span {
        display: inline-block;
        vertical-align: middle; }
      .jxhtmlcontent-top > li p > a:hover span {
        text-decoration: none; }

#jxhtmlcontent_topColumn {
  margin-top: 1.875rem; }
  @media (min-width: 992px) {
    #jxhtmlcontent_topColumn {
      margin-top: 3.75rem;
      margin-bottom: 0.625rem; } }
  #jxhtmlcontent_topColumn > ul {
    margin-bottom: 0; }
    @media (max-width: 767.98px) {
      #jxhtmlcontent_topColumn > ul {
        margin-left: -0.3125rem;
        margin-right: -0.3125rem; } }
    #jxhtmlcontent_topColumn > ul > li {
      position: relative; }
      @media (max-width: 767.98px) {
        #jxhtmlcontent_topColumn > ul > li {
          padding-left: 0.3125rem;
          padding-right: 0.3125rem; } }
      @media (max-width: 575.98px) {
        #jxhtmlcontent_topColumn > ul > li {
          width: 100%; }
          #jxhtmlcontent_topColumn > ul > li + li {
            margin-top: 1.875rem; } }
      #jxhtmlcontent_topColumn > ul > li .item-html {
        font-size: 0.875rem; }
        #jxhtmlcontent_topColumn > ul > li .item-html h3 {
          font-size: 1.25rem;
          font-weight: 400;
          letter-spacing: 0.06em;
          color: #141414;
          text-transform: uppercase;
          margin: 0; }
          @media (max-width: 767.98px) {
            #jxhtmlcontent_topColumn > ul > li .item-html h3 {
              font-size: 1rem; } }
          @media (min-width: 1200px) {
            #jxhtmlcontent_topColumn > ul > li .item-html h3 {
              font-size: 1.5rem;
              width: 56%;
              line-height: 1; } }
          @media (min-width: 1636px) {
            #jxhtmlcontent_topColumn > ul > li .item-html h3 {
              font-size: 1.875rem; } }
          @media (min-width: 1700px) {
            #jxhtmlcontent_topColumn > ul > li .item-html h3 {
              font-size: 2.5rem; } }
        #jxhtmlcontent_topColumn > ul > li .item-html a:hover {
          color: #141414; }
        #jxhtmlcontent_topColumn > ul > li .item-html .btn-link {
          margin-top: 1.25rem; }
          @media (min-width: 576px) and (max-width: 991px) {
            #jxhtmlcontent_topColumn > ul > li .item-html .btn-link {
              padding: 0.625rem;
              background: #fff; } }
        @media (min-width: 576px) and (max-width: 991px) {
          #jxhtmlcontent_topColumn > ul > li .item-html ul {
            display: none; } }
        #jxhtmlcontent_topColumn > ul > li .item-html * + ul {
          margin-top: 0.625rem; }
          @media (min-width: 1200px) {
            #jxhtmlcontent_topColumn > ul > li .item-html * + ul {
              margin-top: 1.5625rem; } }
        #jxhtmlcontent_topColumn > ul > li .item-html li + li {
          margin-top: 0.25rem; }
          @media (min-width: 1200px) {
            #jxhtmlcontent_topColumn > ul > li .item-html li + li {
              margin-top: 0.4375rem; } }
          @media (min-width: 1636px) {
            #jxhtmlcontent_topColumn > ul > li .item-html li + li {
              margin-top: 0.75rem; } }
      #jxhtmlcontent_topColumn > ul > li img + .item-html {
        position: absolute;
        top: 0;
        left: 0.9375rem;
        right: 0.9375rem;
        bottom: 0;
        padding: 1.25rem 1.5625rem 2.8125rem; }
        @media (max-width: 767.98px) {
          #jxhtmlcontent_topColumn > ul > li img + .item-html {
            padding: 0.5rem 0.3125rem; } }
        @media (min-width: 1200px) {
          #jxhtmlcontent_topColumn > ul > li img + .item-html {
            left: 1.25rem;
            right: 1.25rem; } }
        @media (min-width: 1636px) {
          #jxhtmlcontent_topColumn > ul > li img + .item-html {
            padding: 1.9375rem 2.5rem 3.75rem; } }
        #jxhtmlcontent_topColumn > ul > li img + .item-html .btn-link {
          position: absolute;
          left: 1.5625rem;
          bottom: 1.5625rem;
          color: #141414; }
          @media (min-width: 1636px) {
            #jxhtmlcontent_topColumn > ul > li img + .item-html .btn-link {
              left: 2.375rem;
              bottom: 2.375rem; } }
          @media (max-width: 767.98px) {
            #jxhtmlcontent_topColumn > ul > li img + .item-html .btn-link {
              display: none; } }
          @media (max-width: 767.98px) {
            #jxhtmlcontent_topColumn > ul > li img + .item-html .btn-link {
              left: 0.3125rem;
              bottom: 0.625rem; } }
          #jxhtmlcontent_topColumn > ul > li img + .item-html .btn-link:after {
            display: none; }
          #jxhtmlcontent_topColumn > ul > li img + .item-html .btn-link:hover {
            color: #6fb5bf; }

#jxhtmlcontent_home {
  overflow: hidden; }
  #jxhtmlcontent_home img + .item-html {
    position: absolute;
    top: 0;
    left: 0;
    padding: 6% 8%;
    color: #fff; }
  @media (min-width: 1200px) {
    #jxhtmlcontent_home .item-link:before, #jxhtmlcontent_home .item-link:after {
      position: absolute;
      top: 0.9375rem;
      right: 0.9375rem;
      bottom: 0.9375rem;
      left: 1.875rem;
      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; }
    #jxhtmlcontent_home .item-link::before {
      border-top: 0.0625rem solid #fff;
      border-bottom: 0.0625rem solid #fff;
      -webkit-transform: scale(0, 1);
              transform: scale(0, 1); }
    #jxhtmlcontent_home .item-link::after {
      border-right: 0.0625rem solid #fff;
      border-left: 0.0625rem solid #fff;
      -webkit-transform: scale(1, 0);
              transform: scale(1, 0); }
    #jxhtmlcontent_home .item-link:hover:before, #jxhtmlcontent_home .item-link:hover:after {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1); } }
  #jxhtmlcontent_home h2, #jxhtmlcontent_home h3, #jxhtmlcontent_home h4 {
    color: #fff; }
    @media (max-width: 991.98px) {
      #jxhtmlcontent_home h2, #jxhtmlcontent_home h3, #jxhtmlcontent_home h4 {
        margin-bottom: 0.3125rem;
        margin-top: 0.3125rem; } }
  #jxhtmlcontent_home h4 {
    font-size: 0.875rem;
    line-height: 1; }
    @media (min-width: 768px) {
      #jxhtmlcontent_home h4 {
        font-size: 1.25rem; } }
  #jxhtmlcontent_home h3 {
    line-height: 1; }
    @media (min-width: 768px) and (max-width: 2550px) {
      #jxhtmlcontent_home h3 {
        font-size: 3.3vw; } }
  #jxhtmlcontent_home .btn-link {
    color: #fff; }
  @media (max-width: 991.98px) {
    #jxhtmlcontent_home img {
      max-width: 100%;
      height: auto; }
    #jxhtmlcontent_home > ul {
      margin: 0; }
      #jxhtmlcontent_home > ul li {
        padding-left: 0;
        padding-right: 0; } }
  #jxhtmlcontent_home h2 {
    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;
    margin-bottom: 0; }
    #jxhtmlcontent_home h2 > span {
      font-size: 3.75rem; }
      #jxhtmlcontent_home 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; }
        #jxhtmlcontent_home h2 > span + span > span {
          font-size: 1.125rem; }
    @media (min-width: 768px) and (max-width: 2550px) {
      #jxhtmlcontent_home h2 > span {
        font-size: 10vw;
        line-height: 1; }
        #jxhtmlcontent_home h2 > span + span {
          font-size: 5.2vw; }
          #jxhtmlcontent_home h2 > span + span > span {
            font-size: 3.3vw; } }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4aHRtbGNvbnRlbnQvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L21vZHVsZXMvanhodG1sY29udGVudC9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9jbGFzc2ljL3RoZW1lcy90aGVtZV8xNTAyL19kZXYvbW9kdWxlcy9qeGh0bWxjb250ZW50L2Nzcy9qeGh0bWxjb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeGh0bWxjb250ZW50L2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L2NsYXNzaWMvdGhlbWVzL3RoZW1lXzE1MDIvX2Rldi9tb2R1bGVzL2p4aHRtbGNvbnRlbnQvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L2Nzcy9wYXJ0aWFscy9fdmFyaWFibGVzX2NvbG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeGh0bWxjb250ZW50L2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L2NsYXNzaWMvdGhlbWVzL3RoZW1lXzE1MDIvX2Rldi9tb2R1bGVzL2p4aHRtbGNvbnRlbnQvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxpQkFBZ0I7RUFDaEIsaUJDV1UsRUQ0Qlg7RUF6Q0Q7SUFLSSxtQkFBa0I7SUFDbEIsWUNMUztJRE1ULGtCQUFpQjtJQUNqQix5QkFBb0IsRUFnQ3JCO0lBeENIO01BV00sb0JBQWU7TUFDZixpQkFBZ0IsRUFNakI7TUFsQkw7UUFjUSxrQkFBaUI7UUFDakIsbUJB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NE5WO0lFdEpDO01GbUdKO1FBZ0RNLHlCQUFrQjtRQUNsQixzQkFBZSxFQUVsQjtFQW5ESDtJQXNESSxvQkFBZTtJQUNmLGVBQWMsRUFJZjtJRTNLQztNRmdISjtRQXlETSxtQkFBZSxFQUVsQjtFQTNESDtJQThESSxlQUFjLEVBSWY7SUFIQztNQS9ESjtRQWdFTSxpQkFBZ0IsRUFFbkI7RUFsRUg7SUFxRUksWUM5T1MsRUQrT1Y7RUV6S0M7SUZtR0o7TUEwRU0sZ0JBQWU7TUFDZixhQUFZLEVBQ2I7SUE1RUw7TUErRU0sVUFBUyxFQUtWO01BcEZMO1FBaUZRLGdCQUFlO1FBQ2YsaUJBQWdCLEVBQ2pCO0VBbkZQO0lBd0ZJLHFCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsMEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIseUJBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsa0JBQWlCO0lBQ2pCLGVBQWM7SUFDZCxpQkFBZ0IsRUEwQmpCO0lBdkhIO01BK0ZNLG1CQUFlLEVBVWhCO01BekdMO1FBaUdRLG9CQUFlO1FBQ2YscUJBQWE7UUFBYixxQkFBYTtRQUFiLGNBQWE7UUFDYiw2QkFBc0I7UUFBdEIsOEJBQXNCO1lBQXRCLDJCQUFzQjtnQkFBdEIsdUJBQXNCO1FBQ3RCLGVBQWMsRUFJZjtRQXhHUDtVQXNHVSxvQkFBZSxFQUNoQjtJQUlMO01BM0dKO1FBNkdRLGdCQUFlO1FBQ2YsZUFBYyxFQU9mO1FBckhQO1VBZ0hVLGlCQUFnQixFQUlqQjtVQXBIVDtZQWtIWSxpQkFBZ0IsRUFDakIiLCJmaWxlIjoiLi5cXG1vZHVsZXNcXGp4aHRtbGNvbnRlbnRcXGNzc1xcanhodG1sY29udGVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiY3NzL3BhcnRpYWxzL192YXJpYWJsZXNcIjtcclxuXHJcbi5qeGh0bWxjb250ZW50LXRvcCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAkZGFyaztcclxuICBcclxuICA+IGxpIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xyXG4gICAgXHJcbiAgICAuaXRlbS1odG1sIHAge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgID4gZW0ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHAgPiBhIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgY29sb3I6ICRicmFuZC13YXJuaW5nO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMnB4O1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgICA+IHNwYW4ge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICAgID4gaSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgfVxyXG4gICAgICA+IGksID4gc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciBzcGFuIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNqeGh0bWxjb250ZW50X3RvcENvbHVtbiB7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbiAgPiB1bCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oeHMsIHNtKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XHJcbiAgICB9XHJcbiAgICA+IGxpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oeHMsIHNtKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICYgKyBsaSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaXRlbS1odG1sIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XHJcbiAgICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2Vlbih4cywgc20pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1NiU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE3MDBweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGE6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ0bi1saW5rIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgIHtcclxuICAgICAgICAgICAgcGFkZGluZzoxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSAge1xyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAqICsgdWwge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkgKyBsaSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGltZyArIC5pdGVtLWh0bWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMTVweDtcclxuICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyNXB4IDQ1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKHhzLCBzbSkge1xyXG4gICAgICAgICAgcGFkZGluZzogOHB4IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICAgICAgbGVmdDogMjBweDtcclxuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICAgICAgcGFkZGluZzogMzFweCA0MHB4IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idG4tbGluayB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgY29sb3I6ICRncmF5LTkwMDtcclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDM4cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMzhweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2Vlbih4cywgc20pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2Vlbih4cywgc20pIHtcclxuICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4janhodG1sY29udGVudF9ob21lIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGltZyArIC5pdGVtLWh0bWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBhZGRpbmc6IDYlIDglO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbiAgXHJcbiAgLml0ZW0tbGluayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICY6YmVmb3JlLFxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGJvdHRvbTogMTVweDtcclxuICAgICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMSk7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDApO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgaDIsIGgzLCBoNCB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBoNCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBoMyB7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDI1NTBweCkge1xyXG4gICAgICBmb250LXNpemU6IDMuM3Z3O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuYnRuLWxpbmsge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbiAgXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIFxyXG4gICAgPiB1bCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIGgyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgID4gc3BhbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgKyBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDI1NTBweCkge1xyXG4gICAgICA+IHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTB2dztcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiA1LjJ2dztcclxuICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4zdnc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeGh0bWxjb250ZW50L2Nzcy9EOi9PU1BhbmVsL2RvbWFpbnMvbG9jYWxob3N0L2NsYXNzaWMvdGhlbWVzL3RoZW1lXzE1MDIvX2Rldi9tb2R1bGVzL2p4aHRtbGNvbnRlbnQvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L21vZHVsZXMvanhodG1sY29udGVudC9jc3MvanhodG1sY29udGVudC5zY3NzIiwiLy9cclxuLy8gQ29sb3Igc3lzdGVtXHJcbi8vXHJcbiR3aGl0ZTogICNmZmYgIWRlZmF1bHQ7XHJcbiRncmF5LTEwMDogI2ZhZmFmYSAgIWRlZmF1bHQ7XHJcbiRncmF5LTE1MDogI2Y5ZjlmOTtcclxuJGdyYXktMjAwOiAjZjFmMWYxICFkZWZhdWx0O1xyXG4kZ3JheS0zMDA6ICNlNWU1ZTUgIWRlZmF1bHQ7XHJcbiRncmF5LTQwMDogI2RkZGRkZCAhZGVmYXVsdDtcclxuJGdyYXktNTAwOiAjYWJhYmFiICFkZWZhdWx0O1xyXG4kZ3JheS02MDA6ICM4ODg4ODggIWRlZmF1bHQ7XHJcbiRncmF5LTcwMDogIzNhM2EzYSAhZGVmYXVsdDtcclxuJGdyYXktODAwOiAjMzMzMzMzICFkZWZhdWx0O1xyXG4kZ3JheS05MDA6ICMxNDE0MTQgIWRlZmF1bHQ7XHJcbiRibGFjazogICMwMDAgIWRlZmF1bHQ7XHJcbiRkYXJrOiAgIzAwMCAhZGVmYXVsdDtcclxuJGdyYXlzOiAoXHJcbiAgMTAwOiAkZ3JheS0xMDAsXHJcbiAgMjAwOiAkZ3JheS0yMDAsXHJcbiAgMzAwOiAkZ3JheS0zMDAsXHJcbiAgNDAwOiAkZ3JheS00MDAsXHJcbiAgNTAwOiAkZ3JheS01MDAsXHJcbiAgNjAwOiAkZ3JheS02MDAsXHJcbiAgNzAwOiAkZ3JheS03MDAsXHJcbiAgODAwOiAkZ3JheS04MDAsXHJcbiAgOTAwOiAkZ3JheS05MDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRibHVlOiAgICAjNGZhOGY2ICFkZWZhdWx0O1xyXG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcclxuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XHJcbiRwaW5rOiAgICAjZGU2ZDZkICFkZWZhdWx0O1xyXG4kcmVkOiAgICAgI2ZmNDEzMiAhZGVmYXVsdDtcclxuJG9yYW5nZTogICNmMmE2NzIgIWRlZmF1bHQ7XHJcbiR5ZWxsb3c6ICAjZmZmMWJjICFkZWZhdWx0O1xyXG4kZ3JlZW46ICAgIzdjZDIyZiAhZGVmYXVsdDtcclxuJHRlYWw6ICAgICM2ZmI1YmYgIWRlZmF1bHQ7XHJcbiRjeWFuOiAgICAjYzVmMmZkICFkZWZhdWx0O1xyXG5cclxuJGNvbG9yczogKFxyXG4gIGJsdWU6ICRibHVlLFxyXG4gIGluZGlnbzogJGluZGlnbyxcclxuICBwdXJwbGU6ICRwdXJwbGUsXHJcbiAgcGluazogJHBpbmssXHJcbiAgcmVkOiAkcmVkLFxyXG4gIG9yYW5nZTogJG9yYW5nZSxcclxuICB5ZWxsb3c6ICR5ZWxsb3csXHJcbiAgZ3JlZW46ICRncmVlbixcclxuICB0ZWFsOiAkdGVhbCxcclxuICBjeWFuOiAkY3lhbixcclxuICB3aGl0ZTogJHdoaXRlLFxyXG4gIGdyYXk6ICRncmF5LTYwMCxcclxuICBncmF5LWRhcms6ICRncmF5LTgwMCxcclxuICBncmF5LWRhcmtlcjogJGdyYXktOTAwLFxyXG4gIGdyYXktbGlnaHQ6ICRncmF5LTIwMCxcclxuICBncmF5LWxpZ2h0ZXI6ICRncmF5LTEwMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIHByaW1hcnk6ICR0ZWFsLFxyXG4gIHNlY29uZGFyeTogJGdyYXktODAwLFxyXG4gIHN1Y2Nlc3M6ICRncmVlbixcclxuICBpbmZvOiAkY3lhbixcclxuICB3YXJuaW5nOiAkb3JhbmdlLFxyXG4gIGRhbmdlcjogJHJlZCxcclxuICBsaWdodDogJGdyYXktMjAwLFxyXG4gIHdoaXRlOiAkd2hpdGVcclxuKSAhZGVmYXVsdDtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4aHRtbGNvbnRlbnQvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L21vZHVsZXMvanhodG1sY29udGVudC9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9jbGFzc2ljL3RoZW1lcy90aGVtZV8xNTAyL19kZXYvY3NzL3BhcnRpYWxzL192YXJpYWJsZXNfY29sb3Iuc2NzcyIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4aHRtbGNvbnRlbnQvY3NzL0Q6L09TUGFuZWwvZG9tYWlucy9sb2NhbGhvc3QvY2xhc3NpYy90aGVtZXMvdGhlbWVfMTUwMi9fZGV2L21vZHVsZXMvanhodG1sY29udGVudC9jc3MvRDovT1NQYW5lbC9kb21haW5zL2xvY2FsaG9zdC9jbGFzc2ljL3RoZW1lcy90aGVtZV8xNTAyL19kZXYvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/