/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
.btn {
  border: 2px solid;
  display: inline-block;
  text-transform: uppercase;
  text-decoration: none;
  background-color: transparent;
  font-size: 1.5rem;
  line-height: 1.25;
  padding-top: 15.5px;
  padding-bottom: 15.5px;
  padding-left: 17.5px;
  padding-right: 17.5px;
  font-weight: 600;
  text-align: center;
  transition: 0.21s opacity, 0.21s color, 0.21s border-color, 0.21s background-color;
}
.btn:not(:disabled) {
  cursor: pointer;
}
.btn:focus-visible {
  outline: none;
}
.btn--white:not(:hover), .btn--white:disabled {
  background-color: #fff;
  border-color: #fff;
}
@media (hover: none) {
  .btn--white {
    background-color: #fff;
    border-color: #fff;
  }
}
@media (hover: hover) {
  .btn--white:hover:not(:disabled) {
    color: #fff;
    background-color: #0095d6;
    border-color: #0095d6;
  }
}
.btn--black {
  border-color: #55565a;
}
.btn--black:not(:hover), .btn--black:disabled {
  background-color: #55565a;
  color: #fff;
}
@media (hover: none) {
  .btn--black {
    background-color: #55565a;
    color: #fff;
  }
}
@media (hover: hover) {
  .btn--black:hover:not(:disabled) {
    color: #55565a;
    border-color: #55565a;
  }
}
.btn--black:disabled {
  opacity: 0.4;
}
.btn--blue:not(:hover), .btn--blue:disabled {
  background-color: #0095d6;
  border-color: #0095d6;
  color: #fff;
}
@media (hover: none) {
  .btn--blue {
    background-color: #0095d6;
    border-color: #0095d6;
    color: #fff;
  }
}
@media (hover: hover) {
  .btn--blue:hover:not(:disabled) {
    background-color: #fff;
    color: #0095d6;
  }
  .btn--blue:hover:not(:disabled):not(.btn--border) {
    border-color: #fff;
  }
}
.btn--blue:disabled {
  opacity: 0.7;
}
.btn--transparent:not(:hover) {
  background-color: transparent;
}
.btn--no-word-transposition {
  white-space: nowrap;
}
.btn--right-arrow {
  display: inline-flex;
  align-items: center;
}
.btn--right-arrow::after {
  content: "";
  display: inline-block;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 11px solid;
  margin-left: 10px;
  transition: 0.21s transform;
}

.btn-link {
  padding: 0;
  background-color: transparent;
  border: none;
  display: inline;
}

.btn-close {
  width: 65px;
  height: 65px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  border: 2px solid;
  border-color: #c7c7c8;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
}
.btn-close::before, .btn-close::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 18px;
  background: #55565a;
}
.btn-close::before {
  transform: rotate(45deg);
}
.btn-close::after {
  transform: rotate(-45deg);
}

.btn-decoration--dotted-line {
  background: repeating-linear-gradient(90deg, transparent 0 4px, #0aa0df 4px 8px);
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.btn-decoration--dotted-line::before, .btn-decoration--dotted-line::after {
  background-color: #0aa0df;
  content: "";
  clip-path: polygon(0 0, 100% 40%, 100% 60%, 0 100%);
  height: 12px;
  width: 10px;
}
.btn-decoration--dotted-line::after {
  transform: rotate(180deg);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMuc2NzcyIsImJ0bi5zY3NzIiwiX2Z1bmN0aW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FDOUVBO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQ0ZBO0VBQ0E7RURJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7QUFHQTtFQUNJOztBQUdKO0VBQ0k7O0FBTUE7RUFFSSxrQkRkSjtFQ2VJLGNEZko7O0FDa0JBO0VBUEo7SUFRUSxrQkRuQko7SUNvQkksY0RwQko7OztBQ3VCQTtFQUNJO0lBQ0ksT0R6QlI7SUMwQlEsa0JENUJQO0lDNkJPLGNEN0JQOzs7QUN1RUw7RUFDSSxjRDVGSzs7QUM4Rkw7RUFFSSxrQkRoR0M7RUNpR0QsT0QzRUo7O0FDOEVBO0VBVEo7SUFVUSxrQkRyR0M7SUNzR0QsT0RoRko7OztBQ21GQTtFQUNJO0lBQ0ksT0QzR0g7SUM0R0csY0Q1R0g7OztBQ2lITDtFQUNJOztBQU9KO0VBRUksa0JEdkdIO0VDd0dHLGNEeEdIO0VDeUdHLE9EdkdKOztBQzBHQTtFQVJKO0lBU1Esa0JEN0dIO0lDOEdHLGNEOUdIO0lDK0dHLE9EN0dKOzs7QUNnSEE7RUFDSTtJQUNJLGtCRGxIUjtJQ21IUSxPRHJIUDs7RUN3SEc7SUFDSSxjRHZIUjs7O0FDMkhBO0VBQ0k7O0FBT0o7RUFDSTs7QUFNUjtFQUNJOztBQUtKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0R2TEs7RUN3TEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWURsTks7O0FDcU5UO0VBQ0k7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1KO0VBQ0kiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuODtcbiRmb250LXNpemUtbWFpbjogMTY7XG4kY29sb3ItYmFzZTogIzU1NTY1YTtcbiRiYWNrZ3JvdW5kLWJhc2UtY29sb3I6ICNmN2Y3Zjc7XG5cbiRwcm9kdWN0LWdyYXktY29sb3I6ICNlNmU2ZTY7XG5cbiRyZWQ6ICNlNjM4MTY7XG5cblxuJGVycm9yOiAkcmVkO1xuJHN1Y2Nlc3M6ICMyOGE3NDU7XG5cblxuJGZvcm0tYm9yZGVyLXJhZGl1czogMzJweDtcblxuJGdyYXktMTogIzY1NjU2NTtcbiRncmF5LTI6ICNjN2M3Yzg7XG4kZ3JheS0zOiAjOWQ5ZDlkO1xuJGdyYXktNDogI2E2YTdhOTtcblxuXG4kYmx1ZS0xOiAjMDA5NWQ2O1xuXG4kd2hpdGU6ICNmZmY7XG5cblxuXG5cblxuJGJhY2tncm91bmQtYmFzZS1jb2xvcjogI2Y5ZjlmOTtcbi8vJGJsdWUtMTogIzAwNzdBQjtcbi8vJGdyYXktNDogIzZDNkQ2RTtcbi8vJHJlZDogI0NGMzIxNDtcblxuJGNvbnRyYXN0LWJsdWUtMTogIzAwNzdBQjtcbiRjb250cmFzdC1ncmF5LTM6ICM2RTZFNkU7XG4kY29udHJhc3QtZ3JheS00OiAjNkM2RDZFO1xuJGNvbnRyYXN0LXJlZDogI0NGMzIxNDtcblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LFxuaW5saW5lLWZsZXggIWRlZmF1bHQ7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRtYWluLWNvbnRhaW5lci1tYXgtd2lkaHQ6IDE2NzJweDtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJG1lZGlhLXh4bDogMTkyMHB4OyAvLyBmdWxsIGhkXG4kbWVkaWEteGw6IDE1MDBweDsgLy8gbGFwdG9wIDxcbiRtZWRpYS1tZDogMTIwMHB4OyAvLyB0YWJsZXQgPFxuJG1lZGlhLXNtOiA2MDBweDsgLy8gbW9iaWxlIDxcblxuJGZvbnQtbWVkaWEteHhsOiAxOTIwcHg7IC8vIGZ1bGwgaGRcbiRmb250LW1lZGlhLXhsOiAxNDIwcHg7IC8vIGxhcHRvcCA8XG4kZm9udC1tZWRpYS1tZDogNzY4cHg7IC8vIHRhYmxldCA8XG4kZm9udC1tZWRpYS1zbTogMzc1cHg7IC8vIG1vYmlsZSA8XG5cbiRjb250YWluZXItcGFkZGluZy14eGwtbC1yOiAzMnB4O1xuJGNvbnRhaW5lci1wYWRkaW5nLXhsLWwtcjogMzJweDtcbiRjb250YWluZXItcGFkZGluZy1tZC1sLXI6IDMycHg7XG4kY29udGFpbmVyLXBhZGRpbmctc20tbC1yOiAxNXB4O1xuXG4kY29udGFpbmVyLXh4bDogJG1haW4tY29udGFpbmVyLW1heC13aWRodCArICRjb250YWluZXItcGFkZGluZy14eGwtbC1yICogMjtcbiRjb250YWluZXIteGw6ICRtZWRpYS14bCAtICRjb250YWluZXItcGFkZGluZy14bC1sLXIgKiAyO1xuJGNvbnRhaW5lci1tZDogJG1lZGlhLW1kIC0gJGNvbnRhaW5lci1wYWRkaW5nLW1kLWwtciAqIDI7XG4kY29udGFpbmVyLXNtOiAkbWVkaWEtc20gLSAkY29udGFpbmVyLXBhZGRpbmctc20tbC1yICogMjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLy8g0JTQsNC90L3Ri9C1INC00LvRjyDQsdC70L7QutCwINCz0LDQu9C10YDQtdC5XG5cbiRnYWxsZXJ5TmF2QnV0dG9uV2lkdGg6IDE2MHB4O1xuJGdhbGxlcnlJdGVtUGFkZGluZzogMjJweDtcbiRnYWxsZXJ5V2lkdGhBYnM6IDE0NjhweDtcbiRnYWxsZXJ5V2lkdGhJbWdIb3I6IDcxMnB4O1xuJGdhbGxlcnlXaWR0aEltZ1ZlcjogMzM0cHg7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4iLCJAaW1wb3J0IFwiYm9vdHN0cmFwLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC12YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJmb250LXN0eWxlXCI7XG5cbi8vIC5idG5cblxuLmJ0biB7XG4gICAgYm9yZGVyOiAycHggc29saWQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBAaW5jbHVkZSBGU0woMjQsIDMwKTtcbiAgICBwYWRkaW5nLXRvcDogMTUuNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNS41cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNy41cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTcuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG5cbiAgICB0cmFuc2l0aW9uOiAwLjIxcyBvcGFjaXR5LCAwLjIxcyBjb2xvciwgMC4yMXMgYm9yZGVyLWNvbG9yLFxuICAgIDAuMjFzIGJhY2tncm91bmQtY29sb3I7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gLmJ0bi0td2hpdGVcblxuICAgICYtLXdoaXRlIHtcbiAgICAgICAgJjpub3QoOmhvdmVyKSxcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRibHVlLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5idG4tLXJlZFxuXG4gICAgJi0tcmVkIHtcbiAgICAgICAgJjpub3QoOmhvdmVyKSxcbiAgICAgICAgJjpkaXNhYmxlZCB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJ0bi0taG92ZXItd2hpdGU6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmJ0bi0tZ3JheVxuXG4gICAgJi0tZ3JheSB7XG4gICAgICAgICY6bm90KDpob3ZlciksXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5idG4tLWJsYWNrXG5cbiAgICAmLS1ibGFjayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJhc2U7XG5cbiAgICAgICAgJjpub3QoOmhvdmVyKSxcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iYXNlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuYnRuLS1ibHVlXG5cbiAgICAmLS1ibHVlIHtcbiAgICAgICAgJjpub3QoOmhvdmVyKSxcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS0xO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLTE7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRibHVlLTE7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoLmJ0bi0tYm9yZGVyKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmJ0bi0tdHJhbnNwYXJlbnRcblxuICAgICYtLXRyYW5zcGFyZW50IHtcbiAgICAgICAgJjpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5idG4tLW5vLXdvcmQtdHJhbnNwb3NpdGlvblxuXG4gICAgJi0tbm8td29yZC10cmFuc3Bvc2l0aW9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyAuYnRuLS1yaWdodC1hcnJvd1xuXG4gICAgJi0tcmlnaHQtYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxMXB4IHNvbGlkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMjFzIHRyYW5zZm9ybTtcblxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuLWxpbmsge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmJ0bi1jbG9zZSB7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTI7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFzZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuLmJ0bi1kZWNvcmF0aW9uLS1kb3R0ZWQtbGluZSB7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQgMCA0cHgsICMwYWEwZGYgNHB4IDhweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGFhMGRmO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDQwJSwgMTAwJSA2MCUsIDAgMTAwJSk7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG4vLyDQn9C10YDQtdCy0L7QtNC40YLRjCDRgNCw0LfQvNC10YAg0LjQtyDQv9C40LrRgdC10LvQtdC5INCyIHJlbSDQvtGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LHQsNC30L7QstC+0LPQviDRgNCw0YnQvNC10YDQsCDRiNGA0LjRhNGC0L7QsiDQsiDQsdGA0LDRg9C30LXRgNC1XG5AZnVuY3Rpb24gcmVtRlMoJGZvbnQtc2l6ZSkge1xuICAgICRmb250LXNpemUtcHg6ICRmb250LXNpemUgKiAxcHg7XG4gICAgJGZvbnQtc2l6ZS1tYWluLXB4OiAkZm9udC1zaXplLW1haW4gKiAxcHg7XG4gICAgQHJldHVybiAoJGZvbnQtc2l6ZS1weC8kZm9udC1zaXplLW1haW4tcHgpICogMXJlbTtcbn1cblxuLy8g0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0YDQsNC30LzQtdGA0Ysg0YjRgNC40YTRgtCwINC4INCy0YvRgdC+0YLRiyDRiNGA0LjRhNGC0LBcbi8vIEBpbmNsdWRlIEZTTCgyMCwgMzIpO1xuQG1peGluIEZTTCgkZm9udC1zaXplLCAkZm9udC1saW5lLWhlaWdodCkge1xuICAgIGZvbnQtc2l6ZTogcmVtRlMoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICgkZm9udC1saW5lLWhlaWdodC8kZm9udC1zaXplKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1zbSArIDFweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXNtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIH1cbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1zbSArIDFweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXNtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbn1cblxuQG1peGluIG1hcmdpbi10b3AtYm90dG9tKCkge1xuICAgIEBpbmNsdWRlIG1hcmdpbi10b3AoKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4tYm90dG9tKCk7XG59XG5cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICAgIEBpZiB0eXBlLW9mKCRudW1iZXIpID09IFwibnVtYmVyXCIgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIGNhbGNGbHVpZEZvbnRTaXplKCR3LW1heCwgJHctbWluLCAkZi1tYXgsICRmLW1pbiwgJHVuaXRzOiBweCkge1xuICAgICRmLW1pbjogc3RyaXAtdW5pdCgkZi1taW4pO1xuICAgICRmLW1heDogc3RyaXAtdW5pdCgkZi1tYXgpO1xuICAgICR3LW1pbjogc3RyaXAtdW5pdCgkdy1taW4pO1xuICAgICR3LW1heDogc3RyaXAtdW5pdCgkdy1tYXgpO1xuXG4gICAgJGs6ICgkZi1tYXggLSAkZi1taW4pLyAoJHctbWF4IC0gJHctbWluKTtcbiAgICAkYjogJGYtbWluIC0gJGsgKiAkdy1taW47XG5cbiAgICAkYjogJGIgKyAkdW5pdHM7XG5cbiAgICBAcmV0dXJuIGNhbGMoI3ska30gKiAxMDB2dyArICN7JGJ9KTtcbn1cblxuLy9cblxuQG1peGluIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aF9fdjIoXG4gICAgJG1lZGlhX21heCxcbiAgICAkbWVkaWFfbWluLFxuICAgICRmb250X25hbWVfbWF4LFxuICAgICRmb250X25hbWVfbWluLFxuICAgICRpc19tZWRpYV9taW5cbikge1xuICAgICRtZWRpYV9tYXg6IHN0cmlwLXVuaXQoJG1lZGlhX21heCk7XG4gICAgJG1lZGlhX21pbjogc3RyaXAtdW5pdCgkbWVkaWFfbWluKTtcbiAgICAkZm9udF9uYW1lX21heDogc3RyaXAtdW5pdCgkZm9udF9uYW1lX21heCk7XG4gICAgJGZvbnRfbmFtZV9taW46IHN0cmlwLXVuaXQoJGZvbnRfbmFtZV9taW4pO1xuXG4gICAgJGs6ICgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfbWluKS8gKCRtZWRpYV9tYXggLSAkbWVkaWFfbWluKTtcbiAgICAkYjogJGZvbnRfbmFtZV9taW4gLSAkayAqICRtZWRpYV9taW47XG5cbiAgICAkYjogJGIgLyAkZm9udC1zaXplLW1haW4gKiAxcmVtO1xuXG4gICAgJG1lZGlhX21heF9weDogJG1lZGlhX21heCAqIDFweDtcblxuICAgIEBpZiAkaXNfbWVkaWFfbWluID09IDEge1xuICAgICAgICAkbWVkaWFfbWluX3B4OiAkbWVkaWFfbWluICogMXB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWFfbWF4X3B4KSBhbmQgKG1pbi13aWR0aDogJG1lZGlhX21pbl9weCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKCN7JGt9ICogMTAwdncgKyAjeyRifSk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYV9tYXhfcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRrfSAqIDEwMHZ3ICsgI3skYn0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBAaW5jbHVkZSBtZWRpYV9mb250X3NpemVfd2lkdGgoOTAwLCAzMjAsIDgwLCA1OCwgMCk7XG5AbWl4aW4gbWVkaWFfZm9udF9zaXplX3dpZHRoKFxuICAgICRtZWRpYV9tYXgsXG4gICAgJG1lZGlhX21pbixcbiAgICAkZm9udF9uYW1lX21heCxcbiAgICAkZm9udF9uYW1lX21pbixcbiAgICAkaXNfbWluX21lZGlhXG4pIHtcbiAgICAkcmF6bjogJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX21pbjtcblxuICAgIEBmb3IgJGZvbnRfbmFtZV9pIGZyb20gMSB0aHJvdWdoICRyYXpuIHtcbiAgICAgICAgJG1lZGlhOiAkbWVkaWFfbWF4LyRmb250X25hbWVfbWF4O1xuXG4gICAgICAgICRtZWRpYV9jb2VmOiAoJG1lZGlhX21heCAtICRtZWRpYV9taW4pIC9cbiAgICAgICAgICAgICgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfbWluKTtcblxuICAgICAgICBAaWYgJGlzX21pbl9tZWRpYSA9PSAxIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoJG1lZGlhX21heCAtICgoJGZvbnRfbmFtZV9pIC0gMSkgKiAkbWVkaWFfY29lZikpICogMXB4KSBhbmQgKG1pbi13aWR0aDogJG1lZGlhX21pbiAqIDFweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW4pICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkZm9udF9tYXhfbWVkaWE6ICRtZWRpYV9tYXggLVxuICAgICAgICAgICAgICAgIGZsb29yKCgkZm9udF9uYW1lX2kgLSAxKSAqICRtZWRpYV9jb2VmKSAqXG4gICAgICAgICAgICAgICAgMXB4O1xuXG4gICAgICAgICAgICAkZm9udF9taW5fbWVkaWE6ICRtZWRpYV9tYXggLVxuICAgICAgICAgICAgICAgIGZsb29yKCgkZm9udF9uYW1lX2kpICogJG1lZGlhX2NvZWYpICpcbiAgICAgICAgICAgICAgICAxcHg7XG5cbiAgICAgICAgICAgIEBpZiAkZm9udF9taW5fbWVkaWEgPiAkbWVkaWFfbWluIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGZvbnRfbWF4X21lZGlhKSBhbmQgKG1pbi13aWR0aDogKCRmb250X21pbl9tZWRpYSArIDFweCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9pKSAvICRmb250LXNpemUtbWFpblxuICAgICAgICAgICAgICAgICAgICAgICAgKSAqIDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRmb250X21heF9tZWRpYSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluXG4gICAgICAgICAgICAgICAgICAgICAgICApICogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aCg5MDAsIDMyMCwgODAsIDU4LCAwKTtcbi8vIEBtaXhpbiBtZWRpYV9mb250X3NpemVfd2lkdGgoXG4vLyAgICAgJG1lZGlhX21heCxcbi8vICAgICAkbWVkaWFfbWluLFxuLy8gICAgICRmb250X25hbWVfbWF4LFxuLy8gICAgICRmb250X25hbWVfbWluLFxuLy8gICAgICRpc19taW5fbWVkaWFcbi8vICkge1xuLy8gICAgICRyYXpuOiAkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfbWluO1xuXG4vLyAgICAgQGZvciAkZm9udF9uYW1lX2kgZnJvbSAxIHRocm91Z2ggJHJhem4ge1xuLy8gICAgICAgICAkbWVkaWE6ICRtZWRpYV9tYXgvJGZvbnRfbmFtZV9tYXg7XG5cbi8vICAgICAgICAgJG1lZGlhX2NvZWY6ICgkbWVkaWFfbWF4IC0gJG1lZGlhX21pbikgL1xuLy8gICAgICAgICAgICAgKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW4pO1xuXG4vLyAgICAgICAgIEBpZiAkaXNfbWluX21lZGlhID09IDEge1xuLy8gICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9uYW1lX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIGFuZCAobWluLXdpZHRoOiAkbWVkaWFfbWluICogMXB4KSB7XG4vLyAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9pKSAvICRmb250LXNpemUtbWFpbikgKlxuLy8gICAgICAgICAgICAgICAgICAgICAxcmVtO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9IEBlbHNlIHtcbi8vICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoJG1lZGlhX21heCAtICgoJGZvbnRfbmFtZV9pIC0gMSkgKiAkbWVkaWFfY29lZikpICogMXB4KSB7XG4vLyAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9pKSAvICRmb250LXNpemUtbWFpbikgKlxuLy8gICAgICAgICAgICAgICAgICAgICAxcmVtO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuXG4vLyBAaW5jbHVkZSBtZWRpYV9mb250X3NpemVfaGVpZ2h0KDkwMCwgMzIwLCA4MCwgNTgsIDApO1xuQG1peGluIG1lZGlhX2ZvbnRfc2l6ZV9oZWlnaHQoXG4gICAgJG1lZGlhX21heCxcbiAgICAkbWVkaWFfbWluLFxuICAgICRmb250X3NpemVfbWF4LFxuICAgICRmb250X3NpemVfbWluLFxuICAgICRpc19taW5fbWVkaWFcbikge1xuICAgICRyYXpuOiAkZm9udF9zaXplX21heCAtICRmb250X3NpemVfbWluO1xuXG4gICAgQGZvciAkZm9udF9zaXplX2kgZnJvbSAxIHRocm91Z2ggJHJhem4ge1xuICAgICAgICAkbWVkaWE6ICRtZWRpYV9tYXgvJGZvbnRfc2l6ZV9tYXg7XG5cbiAgICAgICAgJG1lZGlhX2NvZWY6ICgkbWVkaWFfbWF4IC0gJG1lZGlhX21pbikgL1xuICAgICAgICAgICAgKCRmb250X3NpemVfbWF4IC0gJGZvbnRfc2l6ZV9taW4pO1xuXG4gICAgICAgIEBpZiAkaXNfbWluX21lZGlhID09IDEge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiAoJG1lZGlhX21heCAtICgoJGZvbnRfc2l6ZV9pIC0gMSkgKiAkbWVkaWFfY29lZikpICogMXB4KSBhbmQgKG1pbi1oZWlnaHQ6ICRtZWRpYV9taW4gKiAxcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfc2l6ZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiAoJG1lZGlhX21heCAtICgoJGZvbnRfc2l6ZV9pIC0gMSkgKiAkbWVkaWFfY29lZikpICogMXB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoKCRmb250X3NpemVfbWF4IC0gJGZvbnRfc2l6ZV9pKSAvICRmb250LXNpemUtbWFpbikgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJG1lZGlhLWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICAgQGlmICRtaW4ge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gc2xpY2tEb3RzKCkge1xuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogKCRtZWRpYS14bCsxKSkge1xuICAgICAgICAgICAgYm90dG9tOiA2NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS14bCkgYW5kIChtaW4td2lkdGg6ICgkbWVkaWEtbWQrMSkpIHtcbiAgICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtbWQpIGFuZCAobWluLXdpZHRoOiAoJG1lZGlhLXNtKzEpKSB7XG4gICAgICAgICAgICBib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXNtKSB7XG4gICAgICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3LjVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNy41cHg7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjIxcyBiYWNrZ3JvdW5kLWNvbG9yLCAwLjIxcyB3aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgMC4yMXMgaGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguc2xpY2stYWN0aXZlKSBidXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBzbGlja0JpZ0Fycm93cygpIHtcbiAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICB3aWR0aDogNjVweDtcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xuXG4gICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXh4bCArIDFweCkge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXh4bCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYS14bCArIDFweCkge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXhsKSB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS14eGwgKyAxcHgpIHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS14eGwpIGFuZCAobWluLXdpZHRoOiAkbWVkaWEteGwgKyAxcHgpIHtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS14bCkge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vLyDQktC+0LfQstGA0LDRidCw0LXRgiBDU1Mt0LLRi9GA0LDQttC10L3QuNC1INCy0LjQtNCwXG4vLy8gbWluKGNhbGMoKDEwMHZ3IC0gY29udGFpbmVyIC0gbmF2IC0gaXRlbXMgLSBzY3JvbGxiYXIpICogKHdpZHRoWCAvIHRvdGFsV2lkdGgpKSwgd2lkdGhYKVxuQGZ1bmN0aW9uIGZsdWlkLW1heCgkd2lkdGhYcHgpIHtcbiAgICAkdW5pdGxlc3NYOiAkd2lkdGhYcHggICAgICAgICAgLyAxcHg7XG4gICAgJHVuaXRsZXNzVG90YWw6ICRnYWxsZXJ5V2lkdGhBYnMgICAvIDFweDtcblxuICAgIC8vINCS0YvQsdC40YDQsNC10Lwg0L3Rg9C20L3Rg9GOINGE0YPQvdC60YbQuNGOOiDQtdGB0LvQuCDQvtGC0YDQuNGG0LDRgtC10LvRjNC90L7QtSDigJQgbWF4LCDQuNC90LDRh9C1IG1pblxuICAgICRmbjogaWYoJHVuaXRsZXNzWCA8IDAsIFwibWF4XCIsIFwibWluXCIpO1xuXG4gICAgQHJldHVybiB1bnF1b3RlKFxuICAgICAgICAgICAgICAgICAgICBcIiN7JGZufShjYWxjKCgxMDB2dyAtICN7JGNvbnRhaW5lci1wYWRkaW5nLXh4bC1sLXIgKiAyfSAtICN7JGdhbGxlcnlOYXZCdXR0b25XaWR0aH0gLSAjeyRnYWxsZXJ5SXRlbVBhZGRpbmcgKiAyfSAtIHZhcigtLXNjcm9sbEJhcikpICogKCN7JHVuaXRsZXNzWH0gLyAjeyR1bml0bGVzc1RvdGFsfSkpLCAjeyR3aWR0aFhweH0pXCJcbiAgICApO1xuXG59XG4iXSwiZmlsZSI6ImJ0bi5jc3MifQ== */
