footer {
  border-top: 3px solid #23a7e2;
  border-bottom: 4px solid #23a7e2;
}
footer .testemonials {
  vertical-align: top;
  background: #2e3131 url("/static/img/static-temp/bg-testimonial.jpg") no-repeat;
  background-size: 100%;
  background-position: center center;
  
}
@media only screen and (max-width: 768px) {
  footer .testemonials {
    background: #2e3131 url("/static/img/static-temp/bg-testimonial.jpg") no-repeat;
    background-size: 100%;
  }
}
footer .testemonials .testemonials-i {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  padding: 30px 60px;
}
footer .testemonials .testemonials-i:before {
  content: '';
  display: table;
}
footer .testemonials .testemonials-i:after {
  content: '';
  display: table;
  clear: both;
}
@media only screen and (max-width: 1250px) {
  footer .testemonials .testemonials-i {
    width: 94%;
  }
}
@media only screen and (max-width: 560px) {
  footer .testemonials .testemonials-i {
    padding: 30px 40px;
  }
}
@media only screen and (max-width: 400px) {
  footer .testemonials .testemonials-i {
    padding: 20px 25px;
  }
}
footer .testemonials .testemonials-i .testemonial {
  text-align: center;
}
footer .testemonials .testemonials-i .testemonial .fas {
  font-size: 28px;
  color: #8ba3cf;
  margin-bottom: 7px;
}
footer .testemonials .testemonials-i .testemonial .testemonial-title {
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 17px;
  margin-bottom: 15px;
}
footer .testemonials .testemonials-i .testemonial .testemonial-content,
footer .testemonials .testemonials-i .testemonial .testemonial-content a {
  color: #c4c4c4;
  font-weight: lighter;
  font-size: 16px;
  line-height: 24px;
}
@media only screen and (max-width: 1020px) {
  footer .testemonials .testemonials-i .testemonial .testemonial-content,
  footer .testemonials .testemonials-i .testemonial .testemonial-content a {
    font-size: 14px;
  }
}
footer .testemonials .testemonials-i .testemonial .testemonial-content {
  height: 90px;
}
@media only screen and (max-width: 840px) {
  footer .testemonials .testemonials-i .testemonial .testemonial-content {
    height: 130px;
  }
}
@media only screen and (max-width: 768px) {
  footer .testemonials .testemonials-i .testemonial .testemonial-content {
    height: 150px;
  }
}
@media only screen and (max-width: 680px) {
  footer .testemonials .testemonials-i .testemonial .testemonial-content {
    height: 180px;
  }
}
@media only screen and (max-width: 560px) {
  footer .testemonials .testemonials-i .testemonial .testemonial-content {
    height: 220px;
  }
}
@media only screen and (max-width: 450px) {
  footer .testemonials .testemonials-i .testemonial .testemonial-content {
    height: 290px;
  }
}
@media only screen and (max-width: 400px) {
  footer .testemonials .testemonials-i .testemonial .testemonial-content {
    height: 340px;
  }
}
footer .testemonials .testemonials-i .testemonial .testemonial-name {
  color: #23a7e2;
  font-style: italic;
  font-size: 16px;
}
footer .testemonials .testemonials-i .slick-next,
footer .testemonials .testemonials-i .slick-prev {
  top: 50%;
  background: none;
}
footer .testemonials .testemonials-i .slick-next:before,
footer .testemonials .testemonials-i .slick-prev:before {
  color: #fff;
}
@media only screen and (max-width: 770px) {
  footer .testemonials .testemonials-i .slick-prev {
    left: -13px;
  }
  footer .testemonials .testemonials-i .slick-next {
    right: -13px;
  }
}
footer .footer {
  background: #002656;
}
footer .footer .footer-i {
  display: -ms-flexbox;
  display: flex;
  height: 250px;
}
@media only screen and (max-width: 1020px) {
  footer .footer .footer-i {
    -ms-flex-direction: column;
        flex-direction: column;
    height: auto;
  }
}
footer .footer .footer-i .links,
footer .footer .footer-i .sacs,
footer .footer .footer-i .newsletter {
  -ms-flex-direction: column;
      flex-direction: column;
}
@media only screen and (max-width: 1100px) {
  footer .footer .footer-i .links,
  footer .footer .footer-i .sacs,
  footer .footer .footer-i .newsletter {
    padding: 0 15px;
  }
}
footer .footer .footer-i .links .link,
footer .footer .footer-i .sacs .link,
footer .footer .footer-i .newsletter .link,
footer .footer .footer-i .links .sac p,
footer .footer .footer-i .sacs .sac p,
footer .footer .footer-i .newsletter .sac p {
  color: #fff;
  font-size: 14px;
  font-weight: lighter;
  margin: 0;
}
@media only screen and (max-width: 1100px) {
  footer .footer .footer-i .links .link,
  footer .footer .footer-i .sacs .link,
  footer .footer .footer-i .newsletter .link,
  footer .footer .footer-i .links .sac p,
  footer .footer .footer-i .sacs .sac p,
  footer .footer .footer-i .newsletter .sac p {
    font-size: 13px;
  }
}
footer .footer .footer-i .links-title,
footer .footer .footer-i .sacs-title,
footer .footer .footer-i .newsletter-title {
  color: #fff;
  margin-bottom: 20px;
  padding-top: 25px;
}
@media only screen and (max-width: 1020px) {
  footer .footer .footer-i .links-title,
  footer .footer .footer-i .sacs-title,
  footer .footer .footer-i .newsletter-title {
    padding-top: 0;
  }
}
@media only screen and (max-width: 1100px) {
  footer .footer .footer-i .links-title,
  footer .footer .footer-i .sacs-title,
  footer .footer .footer-i .newsletter-title {
    margin-bottom: 5px;
  }
}
footer .footer .footer-i .links-w,
footer .footer .footer-i .sacs-w,
footer .footer .footer-i .newsletter-w {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: justify;
      justify-content: space-between;
  height: 140px;
}
footer .footer .footer-i .links-sacs {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: 65.4%;
}
@media only screen and (max-width: 1020px) {
  footer .footer .footer-i .links-sacs {
    width: 100%;
    padding: 30px 0;
  }
}
@media only screen and (max-width: 560px) {
  footer .footer .footer-i .links-sacs {
    display: block;
    padding: 0;
  }
}
footer .footer .footer-i .links-sacs .logo,
footer .footer .footer-i .links-sacs .links,
footer .footer .footer-i .links-sacs .sacs {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding-right: 20px;
}
footer .footer .footer-i .links-sacs .logo {
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: start;
      justify-content: flex-start;
  width: 29%;
}
@media only screen and (max-width: 770px) {
  footer .footer .footer-i .links-sacs .logo {
    display: none;
  }
}
footer .footer .footer-i .links-sacs .links {
  width: 29%;
}
@media only screen and (max-width: 770px) {
  footer .footer .footer-i .links-sacs .links {
    width: 50%;
    padding-left: 50px;
  }
}
@media only screen and (max-width: 670px) {
  footer .footer .footer-i .links-sacs .links {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 560px) {
  footer .footer .footer-i .links-sacs .links {
    width: 100%;
    text-align: center;
    background: #1b2942;
    padding: 20px 0;
  }
  footer .footer .footer-i .links-sacs .links .links-w {
    -ms-flex-align: center;
        align-items: center;
  }
}
footer .footer .footer-i .links-sacs .sacs {
  width: 42%;
}
@media only screen and (max-width: 770px) {
  footer .footer .footer-i .links-sacs .sacs {
    width: 50%;
    padding-left: 50px;
  }
}
@media only screen and (max-width: 670px) {
  footer .footer .footer-i .links-sacs .sacs {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 560px) {
  footer .footer .footer-i .links-sacs .sacs {
    width: 100%;
    text-align: center;
    padding: 20px 0;
  }
  footer .footer .footer-i .links-sacs .sacs .sacs-w {
    -ms-flex-align: center;
        align-items: center;
  }
}
footer .footer .footer-i .links-sacs .sacs .fas,
footer .footer .footer-i .links-sacs .sacs .sac-txt {
  float: left;
}
footer .footer .footer-i .links-sacs .sacs .fas {
  color: #8ba3cf;
  margin-right: 8px;
  line-height: 21px;
}
footer .footer .footer-i .social-newsletter {
  display: -ms-flexbox;
  display: flex;
  width: 34.6%;
}
@media only screen and (max-width: 1020px) {
  footer .footer .footer-i .social-newsletter {
    width: 100%;
    background: #1b2942;
  }
}
@media only screen and (max-width: 700px) {
  footer .footer .footer-i .social-newsletter {
    display: block;
  }
}
footer .footer .footer-i .social-newsletter .social {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: 24%;
  height: 100%;
  padding: 30px 0;
}
@media only screen and (max-width: 1020px) {
  footer .footer .footer-i .social-newsletter .social {
    width: 50%;
    -ms-flex-direction: row;
        flex-direction: row;
    height: auto;
    -ms-flex-pack: center;
        justify-content: center;
  }
  footer .footer .footer-i .social-newsletter .social .social-icon {
    margin: 0 10px;
  }
}
@media only screen and (max-width: 700px) {
  footer .footer .footer-i .social-newsletter .social {
    width: 100%;
    padding: 20px 0;
  }
}
footer .footer .footer-i .social-newsletter .social .social-icon {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  background: #8ba3cf;
  width: 34px;
  height: 34px;
}
footer .footer .footer-i .social-newsletter .social .social-icon .fab {
  color: #fff;
  font-size: 18px;
}
footer .footer .footer-i .social-newsletter .newsletter {
  width: 76%;
  padding-left: 20px;
}
@media only screen and (max-width: 1100px) {
  footer .footer .footer-i .social-newsletter .newsletter {
    width: 75%;
  }
}
@media only screen and (max-width: 1020px) {
  footer .footer .footer-i .social-newsletter .newsletter {
    width: 50%;
    padding: 20px 30px;
  }
}
@media only screen and (max-width: 700px) {
  footer .footer .footer-i .social-newsletter .newsletter {
    width: 100%;
    background: #283958;
  }
}
footer .footer .footer-i .social-newsletter .newsletter .newsletter-title .fas {
  color: #8ba3cf;
}
footer .footer .footer-i .social-newsletter .newsletter .newsletter-w .newsletter-footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: end;
      align-items: flex-end;
  height: 40px;
}
footer .footer .footer-i .social-newsletter .newsletter .newsletter-w .newsletter-footer .newsletter-footer-txt {
  width: 70%;
  margin: 0;
  color: #fff;
  font-weight: lighter;
  padding-right: 5px;
  font-size: 13px;
  line-height: 14px;
}
@media only screen and (max-width: 1100px) {
  footer .footer .footer-i .social-newsletter .newsletter .newsletter-w .newsletter-footer .newsletter-footer-txt {
    font-size: 13px;
  }
}
footer .footer .footer-i .social-newsletter .newsletter .newsletter-w .newsletter-footer .btn {
  font-weight: bold;
}
footer .copyright-w .copyright-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding: 20px 0;
}
@media only screen and (max-width: 800px) {
  footer .copyright-w .copyright-content {
    display: block;
    padding: 10px 0;
  }
}
footer .copyright-w .copyright-content .copyright-title {
  margin: 0;
  font-size: 10px;
  font-weight: lighter;
  color: #949494;
}
@media only screen and (max-width: 800px) {
  footer .copyright-w .copyright-content {
    text-align: center;
  }
}
footer .copyright-w .copyright-content .img-w {
  height: 55px;
  padding: 10px 0;
}
@media only screen and (max-width: 440px) {
  footer .copyright-w .copyright-content .img-w {
    height: 40px;
  }
}
footer .copyright-w .copyright-content .img-w img {
  height: 100%;
  margin-right: 10px;
}
@media only screen and (max-width: 600px) {
  footer .copyright-w .copyright-content .img-w img {
    height: 80%;
  }
}
@media only screen and (max-width: 440px) {
  footer .copyright-w .copyright-content .img-w img {
    height: 100%;
  }
}
@media only screen and (max-width: 360px) {
  footer .copyright-w .copyright-content .img-w img {
    height: 90%;
  }
}
@media only screen and (max-width: 800px) {
  footer .copyright-w .copyright-content .payment-methods,
  footer .copyright-w .copyright-content .security {
    padding: 10px 0 5px;
  }
}
@media only screen and (max-width: 800px) and (max-width: 440px) {
  footer .copyright-w .copyright-content .payment-methods,
  footer .copyright-w .copyright-content .security {
    padding: 0;
  }
}
footer .copyright-w .copyright {
  border-top: 1px solid #cfcfcf;
  font-size: 13px;
  color: #949494;
  font-weight: lighter;
  margin: 0;
  text-align: center;
  padding: 20px 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5zdHlsIiwiZm9vdGVyLmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ydXB0dXJlL3J1cHR1cmUvaW5kZXguc3R5bCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNJLDhCQUFBO0VBQ0EsaUNBQUE7Q0NESDtBREVHO0VBQ0ksb0JBQUE7RUFDQSxnRkFBQTtFQUNBLG1DQUFBO0NDQVA7QUN1SVU7RUFBQTtJRnJJQyxvQkFBQTtHQ0VUO0NBQ0Y7QURGTztFQUNJLGtCQUFBO0VBQUEsa0JBQUE7RUFBQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtDQ0lYO0FEUE87RUFDSSxZQUFBO0VBQUEsZUFBQTtDQ01YO0FEUE87RUFDSSxZQUFBO0VBQUEsZUFBQTtFQUFBLFlBQUE7Q0NNWDtBQzZIVTtFQUFBO0lGL0hLLFdBQUE7R0NNYjtDQUNGO0FDd0hVO0VBQUE7SUY3SEssbUJBQUE7R0NTYjtDQUNGO0FDbUhVO0VBQUE7SUYzSEssbUJBQUE7R0NZYjtDQUNGO0FEWlc7RUFDSSxtQkFBQTtDQ2NmO0FEYmU7RUFDSSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtDQ2VuQjtBRGRlO0VBQ0ksWUFBQTtFQUNBLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0NDZ0JuQjtBRGZlOztFQUVJLGVBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7Q0NpQm5CO0FDd0ZVO0VBQUE7O0lGdkdhLGdCQUFBO0dDb0JyQjtDQUNGO0FEcEJlO0VBQ0ksYUFBQTtDQ3NCbkI7QUMrRVU7RUFBQTtJRm5HYSxjQUFBO0dDd0JyQjtDQUNGO0FDMEVVO0VBQUE7SUZqR2EsY0FBQTtHQzJCckI7Q0FDRjtBQ3FFVTtFQUFBO0lGL0ZhLGNBQUE7R0M4QnJCO0NBQ0Y7QUNnRVU7RUFBQTtJRjdGYSxjQUFBO0dDaUNyQjtDQUNGO0FDMkRVO0VBQUE7SUYzRmEsY0FBQTtHQ29DckI7Q0FDRjtBQ3NEVTtFQUFBO0lGekZhLGNB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O0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0NDNEtuQjtBQ25SVTtFQUFBO0lGeUdhLFlBQUE7R0M4S3JCO0NBQ0Y7QUN4UlU7RUFBQTtJRjJHYSxhQUFBO0dDaUxyQjtDQUNGO0FDN1JVO0VBQUE7SUY2R2EsWUFBQTtHQ29MckI7Q0FDRjtBQ2xTVTtFQUFBOztJRmdIUyxvQkFBQTtHQ3VMakI7Q0FDRjtBQ3hTVTtFQUFBOztJRmtIYSxXQUFBO0dDMkxyQjtDQUNGO0FEMUxPO0VBQ0ksOEJBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0NDNExYIiwiZmlsZSI6ImZvb3Rlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiLi4vZ2xvYmFsL19fX3ZhcmlhYmxlc1wiXG5cbmZvb3RlclxuICAgIGJvcmRlci10b3AgM3B4IHNvbGlkIGNvbG9ydFxuICAgIGJvcmRlci1ib3R0b20gNHB4IHNvbGlkIGNvbG9ydFxuICAgIC50ZXN0ZW1vbmlhbHNcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcFxuICAgICAgICBiYWNrZ3JvdW5kOiAjMmUzMTMxIHVybCgvc3RhdGljL2ltZy9zdGF0aWMtdGVtcC9iZy10ZXN0aW1vbmlhbC5qcGcpIG5vLXJlcGVhdFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyXG4gICAgICAgICtiZWxvdyg3NjhweClcbiAgICAgICAgICAgIGJhY2tncm91bmQgIzJlMzEzMVxuICAgICAgICAudGVzdGVtb25pYWxzLWlcbiAgICAgICAgICAgIGxvc3QtY2VudGVyIDExNDBweFxuICAgICAgICAgICAgaGVpZ2h0IDEwMCVcbiAgICAgICAgICAgIHBhZGRpbmcgMzBweCA2MHB4XG4gICAgICAgICAgICArYmVsb3coMTI1MHB4KVxuICAgICAgICAgICAgICAgIHdpZHRoIDk0JVxuICAgICAgICAgICAgK2JlbG93KDU2MHB4KVxuICAgICAgICAgICAgICAgIHBhZGRpbmcgMzBweCA0MHB4XG4gICAgICAgICAgICArYmVsb3coNDAwcHgpXG4gICAgICAgICAgICAgICAgcGFkZGluZyAyMHB4IDI1cHhcbiAgICAgICAgICAgIC50ZXN0ZW1vbmlhbFxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gY2VudGVyXG4gICAgICAgICAgICAgICAgLmZhc1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemUgMjhweFxuICAgICAgICAgICAgICAgICAgICBjb2xvciBjb2xvcnNcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA3cHhcbiAgICAgICAgICAgICAgICAudGVzdGVtb25pYWwtdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgY29sb3Igd2hpdGVcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0IGJvbGRcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDE3cHhcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSAxNXB4XG4gICAgICAgICAgICAgICAgLnRlc3RlbW9uaWFsLWNvbnRlbnRcbiAgICAgICAgICAgICAgICAudGVzdGVtb25pYWwtY29udGVudCBhXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yIHdoaXRlIC0gMjMlXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0IGxpZ2h0ZXJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDE2cHhcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQgMjRweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coMTAyMHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDE0cHhcbiAgICAgICAgICAgICAgICAudGVzdGVtb25pYWwtY29udGVudFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgOTBweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coODQwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgMTMwcHhcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDc2OHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDE1MHB4XG4gICAgICAgICAgICAgICAgICAgICtiZWxvdyg2ODBweClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAxODBweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNTYwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgMjIwcHhcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDQ1MHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDI5MHB4XG4gICAgICAgICAgICAgICAgICAgICtiZWxvdyg0MDBweClcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAzNDBweFxuICAgICAgICAgICAgICAgIC50ZXN0ZW1vbmlhbC1uYW1lXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yIGNvbG9ydFxuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWNcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDE2cHhcbiAgICAgICAgICAgIC5zbGljay1uZXh0LCAuc2xpY2stcHJldlxuICAgICAgICAgICAgICAgIHRvcCA1MCVcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIG5vbmVcbiAgICAgICAgICAgICAgICAmOmJlZm9yZVxuICAgICAgICAgICAgICAgICAgICBjb2xvciB3aGl0ZVxuICAgICAgICAgICAgK2JlbG93KDc3MHB4KVxuICAgICAgICAgICAgICAgIC5zbGljay1wcmV2XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgLTEzcHhcbiAgICAgICAgICAgICAgICAuc2xpY2stbmV4dFxuICAgICAgICAgICAgICAgICAgICByaWdodCAtMTNweFxuXG4gICAgLmZvb3RlclxuICAgICAgICBiYWNrZ3JvdW5kIGNvbG9ycVxuICAgICAgICAuZm9vdGVyLWlcbiAgICAgICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICAgICAgaGVpZ2h0IDI1MHB4XG4gICAgICAgICAgICArYmVsb3coMTAyMHB4KVxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cbiAgICAgICAgICAgICAgICBoZWlnaHQgYXV0b1xuICAgICAgICAgICAgLmxpbmtzLCAuc2FjcywgLm5ld3NsZXR0ZXJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uXG4gICAgICAgICAgICAgICAgK2JlbG93KDExMDBweClcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAwIDE1cHhcbiAgICAgICAgICAgICAgICAubGluaywgLnNhYyBwXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yIHdoaXRlXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSAxNHB4XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0IGxpZ2h0ZXJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDBcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDExMDBweClcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSAxM3B4XG4gICAgICAgICAgICAubGlua3MtdGl0bGUsIC5zYWNzLXRpdGxlLCAubmV3c2xldHRlci10aXRsZVxuICAgICAgICAgICAgICAgIGNvbG9yIHdoaXRlXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSAyMHB4XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3AgMjVweFxuICAgICAgICAgICAgICAgICtiZWxvdygxMDIwcHgpXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wIDBcbiAgICAgICAgICAgICAgICArYmVsb3coMTEwMHB4KVxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tIDVweFxuICAgICAgICAgICAgLmxpbmtzLXcsIC5zYWNzLXcsIC5uZXdzbGV0dGVyLXdcbiAgICAgICAgICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAgICAgICAgICAgICBoZWlnaHQgMTQwcHhcbiAgICAgICAgICAgIC5saW5rcy1zYWNzXG4gICAgICAgICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgICAgICAgICAgIHdpZHRoIDY1LjQlXG4gICAgICAgICAgICAgICAgK2JlbG93KDEwMjBweClcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggMTAwJVxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDMwcHggMFxuICAgICAgICAgICAgICAgICtiZWxvdyg1NjBweClcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDBcbiAgICAgICAgICAgICAgICAubG9nbywgLmxpbmtzLCAuc2Fjc1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGZsZXhcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDEwMCVcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodCAyMHB4XG4gICAgICAgICAgICAgICAgLmxvZ29cbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgZmxleC1zdGFydFxuICAgICAgICAgICAgICAgICAgICB3aWR0aCAyOSVcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDc3MHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBub25lXG4gICAgICAgICAgICAgICAgLmxpbmtzXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDI5JVxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNzcwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA1MCVcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdCA1MHB4XG4gICAgICAgICAgICAgICAgICAgICtiZWxvdyg2NzBweClcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdCAzMHB4XG4gICAgICAgICAgICAgICAgICAgICtiZWxvdyg1NjBweClcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDEwMCVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gY2VudGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICMxQjI5NDJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgMjBweCAwXG4gICAgICAgICAgICAgICAgICAgICAgICAubGlua3Mtd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcbiAgICAgICAgICAgICAgICAuc2Fjc1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA0MiVcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDc3MHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggNTAlXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQgNTBweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNjcwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQgMzBweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNTYwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAxMDAlXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAyMHB4IDBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zYWNzLXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICAgICAgICAgICAgICAgIC5mYXMsIC5zYWMtdHh0XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBsZWZ0XG4gICAgICAgICAgICAgICAgICAgIC5mYXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yIGNvbG9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDhweFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQgMjFweFxuICAgICAgICAgICAgLnNvY2lhbC1uZXdzbGV0dGVyXG4gICAgICAgICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICAgICAgICAgd2lkdGggMzQuNiVcbiAgICAgICAgICAgICAgICArYmVsb3coMTAyMHB4KVxuICAgICAgICAgICAgICAgICAgICB3aWR0aCAxMDAlXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgIzFCMjk0MlxuICAgICAgICAgICAgICAgICtiZWxvdyg3MDBweClcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgICAgICAgIC5zb2NpYWxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxuICAgICAgICAgICAgICAgICAgICB3aWR0aCAyNCVcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDEwMCVcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAzMHB4IDBcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDEwMjBweClcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDUwJVxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IGF1dG9cbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudCBjZW50ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zb2NpYWwtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiAwIDEwcHhcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDcwMHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggMTAwJVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAyMHB4IDBcbiAgICAgICAgICAgICAgICAgICAgLnNvY2lhbC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGlubGluZS1mbGV4XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtcyBjZW50ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudCBjZW50ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgY29sb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAzNHB4XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgMzRweFxuICAgICAgICAgICAgICAgICAgICAgICAgLmZhYlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yIHdoaXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDE4cHhcbiAgICAgICAgICAgICAgICAubmV3c2xldHRlclxuICAgICAgICAgICAgICAgICAgICB3aWR0aCA3NiVcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDIwcHhcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDExMDBweClcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDc1JVxuICAgICAgICAgICAgICAgICAgICArYmVsb3coMTAyMHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggNTAlXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDIwcHggMzBweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNzAwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAxMDAlXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICMyODM5NThcbiAgICAgICAgICAgICAgICAgICAgLm5ld3NsZXR0ZXItdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mYXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciBjb2xvcnNcbiAgICAgICAgICAgICAgICAgICAgLm5ld3NsZXR0ZXItd1xuICAgICAgICAgICAgICAgICAgICAgICAgLm5ld3NsZXR0ZXItZm9vdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBmbGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgNDBweFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdzbGV0dGVyLWZvb3Rlci10eHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggNzAlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yIHdoaXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0IGxpZ2h0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodCA1cHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDEzcHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQgMTRweFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArYmVsb3coMTEwMHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplIDEzcHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYnRuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0IGJvbGRcblxuICAgIC5jb3B5cmlnaHQtd1xuICAgICAgICAuY29weXJpZ2h0LWNvbnRlbnRcbiAgICAgICAgICAgIGRpc3BsYXkgZmxleFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cbiAgICAgICAgICAgIHBhZGRpbmcgMjBweCAwXG4gICAgICAgICAgICArYmVsb3coODAwcHgpXG4gICAgICAgICAgICAgICAgZGlzcGxheSBibG9ja1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgMTBweCAwXG4gICAgICAgICAgICAuY29weXJpZ2h0LXRpdGxlXG4gICAgICAgICAgICAgICAgbWFyZ2luIDBcbiAgICAgICAgICAgICAgICBmb250LXNpemUgMTBweFxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0IGxpZ2h0ZXJcbiAgICAgICAgICAgICAgICBjb2xvciB0ZXh0czIgKyAzMCVcbiAgICAgICAgICAgICtiZWxvdyg4MDBweClcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIGNlbnRlclxuICAgICAgICAgICAgLmltZy13XG4gICAgICAgICAgICAgICAgaGVpZ2h0IDU1cHhcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDEwcHggMFxuICAgICAgICAgICAgICAgICtiZWxvdyg0NDBweClcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDQwcHhcbiAgICAgICAgICAgICAgICBpbWdcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDEwMCVcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0IDEwcHhcbiAgICAgICAgICAgICAgICAgICAgK2JlbG93KDYwMHB4KVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDgwJVxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNDQwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgMTAwJVxuICAgICAgICAgICAgICAgICAgICArYmVsb3coMzYwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgOTAlXG4gICAgICAgICAgICAucGF5bWVudC1tZXRob2RzLCAuc2VjdXJpdHlcbiAgICAgICAgICAgICAgICArYmVsb3coODAwcHgpXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgMTBweCAwIDVweFxuICAgICAgICAgICAgICAgICAgICArYmVsb3coNDQwcHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDBcblxuICAgICAgICAuY29weXJpZ2h0XG4gICAgICAgICAgICBib3JkZXItdG9wIDFweCBzb2xpZCBjaW56YSAtIDE1JVxuICAgICAgICAgICAgZm9udC1zaXplIDEzcHhcbiAgICAgICAgICAgIGNvbG9yIHRleHRzMiArIDMwJVxuICAgICAgICAgICAgZm9udC13ZWlnaHQgbGlnaHRlclxuICAgICAgICAgICAgbWFyZ2luIDBcbiAgICAgICAgICAgIHRleHQtYWxpZ24gY2VudGVyXG4gICAgICAgICAgICBwYWRkaW5nIDIwcHggMFxuIiwiZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICMyM2E3ZTI7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMjNhN2UyO1xufVxuZm9vdGVyIC50ZXN0ZW1vbmlhbHMge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBiYWNrZ3JvdW5kOiAjMmUzMTMxIHVybChcIi9zdGF0aWMvaW1nL3N0YXRpYy10ZW1wL2JnLXRlc3RpbW9uaWFsLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGZvb3RlciAudGVzdGVtb25pYWxzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmUzMTMxO1xuICB9XG59XG5mb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkge1xuICBsb3N0LWNlbnRlcjogMTE0MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDMwcHggNjBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gIGZvb3RlciAudGVzdGVtb25pYWxzIC50ZXN0ZW1vbmlhbHMtaSB7XG4gICAgd2lkdGg6IDk0JTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NjBweCkge1xuICBmb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkge1xuICAgIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICBmb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkge1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgfVxufVxuZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC50ZXN0ZW1vbmlhbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmZvb3RlciAudGVzdGVtb25pYWxzIC50ZXN0ZW1vbmlhbHMtaSAudGVzdGVtb25pYWwgLmZhcyB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgY29sb3I6ICM4YmEzY2Y7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cbmZvb3RlciAudGVzdGVtb25pYWxzIC50ZXN0ZW1vbmlhbHMtaSAudGVzdGVtb25pYWwgLnRlc3RlbW9uaWFsLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE3cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5mb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkgLnRlc3RlbW9uaWFsIC50ZXN0ZW1vbmlhbC1jb250ZW50LFxuZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC50ZXN0ZW1vbmlhbCAudGVzdGVtb25pYWwtY29udGVudCBhIHtcbiAgY29sb3I6ICNjNGM0YzQ7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIwcHgpIHtcbiAgZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC50ZXN0ZW1vbmlhbCAudGVzdGVtb25pYWwtY29udGVudCxcbiAgZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC50ZXN0ZW1vbmlhbCAudGVzdGVtb25pYWwtY29udGVudCBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbmZvb3RlciAudGVzdGVtb25pYWxzIC50ZXN0ZW1vbmlhbHMtaSAudGVzdGVtb25pYWwgLnRlc3RlbW9uaWFsLWNvbnRlbnQge1xuICBoZWlnaHQ6IDkwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg0MHB4KSB7XG4gIGZvb3RlciAudGVzdGVtb25pYWxzIC50ZXN0ZW1vbmlhbHMtaSAudGVzdGVtb25pYWwgLnRlc3RlbW9uaWFsLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTMwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC50ZXN0ZW1vbmlhbCAudGVzdGVtb25pYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICBmb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkgLnRlc3RlbW9uaWFsIC50ZXN0ZW1vbmlhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gIGZvb3RlciAudGVzdGVtb25pYWxzIC50ZXN0ZW1vbmlhbHMtaSAudGVzdGVtb25pYWwgLnRlc3RlbW9uaWFsLWNvbnRlbnQge1xuICAgIGhlaWdodDogMjIwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC50ZXN0ZW1vbmlhbCAudGVzdGVtb25pYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAyOTBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICBmb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkgLnRlc3RlbW9uaWFsIC50ZXN0ZW1vbmlhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDM0MHB4O1xuICB9XG59XG5mb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkgLnRlc3RlbW9uaWFsIC50ZXN0ZW1vbmlhbC1uYW1lIHtcbiAgY29sb3I6ICMyM2E3ZTI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC5zbGljay1uZXh0LFxuZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC5zbGljay1wcmV2IHtcbiAgdG9wOiA1MCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5mb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkgLnNsaWNrLW5leHQ6YmVmb3JlLFxuZm9vdGVyIC50ZXN0ZW1vbmlhbHMgLnRlc3RlbW9uaWFscy1pIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICBmb290ZXIgLnRlc3RlbW9uaWFscyAudGVzdGVtb25pYWxzLWkgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0xM3B4O1xuICB9XG4gIGZvb3RlciAudGVzdGVtb25pYWxzIC50ZXN0ZW1vbmlhbHMtaSAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0xM3B4O1xuICB9XG59XG5mb290ZXIgLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwMDI2NTY7XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDI1MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIwcHgpIHtcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcyxcbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc2FjcyxcbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubmV3c2xldHRlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzLFxuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNhY3MsXG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubmV3c2xldHRlciB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzIC5saW5rLFxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5zYWNzIC5saW5rLFxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5uZXdzbGV0dGVyIC5saW5rLFxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcyAuc2FjIHAsXG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNhY3MgLnNhYyBwLFxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5uZXdzbGV0dGVyIC5zYWMgcCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzIC5saW5rLFxuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNhY3MgLmxpbmssXG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubmV3c2xldHRlciAubGluayxcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcyAuc2FjIHAsXG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc2FjcyAuc2FjIHAsXG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubmV3c2xldHRlciAuc2FjIHAge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy10aXRsZSxcbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc2Fjcy10aXRsZSxcbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubmV3c2xldHRlci10aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjVweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3MtdGl0bGUsXG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc2Fjcy10aXRsZSxcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5uZXdzbGV0dGVyLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy10aXRsZSxcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5zYWNzLXRpdGxlLFxuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLm5ld3NsZXR0ZXItdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy13LFxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5zYWNzLXcsXG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLm5ld3NsZXR0ZXItdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxNDBweDtcbn1cbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA2NS40JTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy1zYWNzIC5sb2dvLFxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy1zYWNzIC5saW5rcyxcbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyAuc2FjcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyAubG9nbyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDI5JTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy1zYWNzIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzLXNhY3MgLmxpbmtzIHtcbiAgd2lkdGg6IDI5JTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy1zYWNzIC5saW5rcyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjcwcHgpIHtcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy1zYWNzIC5saW5rcyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyAubGlua3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjMWIyOTQyO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgfVxuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzLXNhY3MgLmxpbmtzIC5saW5rcy13IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzLXNhY3MgLnNhY3Mge1xuICB3aWR0aDogNDIlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzLXNhY3MgLnNhY3Mge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyAuc2FjcyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyAuc2FjcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgfVxuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzLXNhY3MgLnNhY3MgLnNhY3MtdyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5saW5rcy1zYWNzIC5zYWNzIC5mYXMsXG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLmxpbmtzLXNhY3MgLnNhY3MgLnNhYy10eHQge1xuICBmbG9hdDogbGVmdDtcbn1cbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAubGlua3Mtc2FjcyAuc2FjcyAuZmFzIHtcbiAgY29sb3I6ICM4YmEzY2Y7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBsaW5lLWhlaWdodDogMjFweDtcbn1cbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc29jaWFsLW5ld3NsZXR0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMzQuNiU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjBweCkge1xuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMWIyOTQyO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc29jaWFsLW5ld3NsZXR0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIC5zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAyNCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIwcHgpIHtcbiAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5zb2NpYWwtbmV3c2xldHRlciAuc29jaWFsIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc29jaWFsLW5ld3NsZXR0ZXIgLnNvY2lhbCAuc29jaWFsLWljb24ge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc29jaWFsLW5ld3NsZXR0ZXIgLnNvY2lhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIC5zb2NpYWwgLnNvY2lhbC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjOGJhM2NmO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xufVxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5zb2NpYWwtbmV3c2xldHRlciAuc29jaWFsIC5zb2NpYWwtaWNvbiAuZmFiIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc29jaWFsLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXIge1xuICB3aWR0aDogNzYlO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIC5uZXdzbGV0dGVyIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjBweCkge1xuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIC5uZXdzbGV0dGVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIC5uZXdzbGV0dGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMjgzOTU4O1xuICB9XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIC5uZXdzbGV0dGVyIC5uZXdzbGV0dGVyLXRpdGxlIC5mYXMge1xuICBjb2xvcjogIzhiYTNjZjtcbn1cbmZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc29jaWFsLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXItdyAubmV3c2xldHRlci1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1pIC5zb2NpYWwtbmV3c2xldHRlciAubmV3c2xldHRlciAubmV3c2xldHRlci13IC5uZXdzbGV0dGVyLWZvb3RlciAubmV3c2xldHRlci1mb290ZXItdHh0IHtcbiAgd2lkdGg6IDcwJTtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIGZvb3RlciAuZm9vdGVyIC5mb290ZXItaSAuc29jaWFsLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXItdyAubmV3c2xldHRlci1mb290ZXIgLm5ld3NsZXR0ZXItZm9vdGVyLXR4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG5mb290ZXIgLmZvb3RlciAuZm9vdGVyLWkgLnNvY2lhbC1uZXdzbGV0dGVyIC5uZXdzbGV0dGVyIC5uZXdzbGV0dGVyLXcgLm5ld3NsZXR0ZXItZm9vdGVyIC5idG4ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIGZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cbn1cbmZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IC5jb3B5cmlnaHQtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIGNvbG9yOiAjOTQ5NDk0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICBmb290ZXIgLmNvcHlyaWdodC13IC5jb3B5cmlnaHQtY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5mb290ZXIgLmNvcHlyaWdodC13IC5jb3B5cmlnaHQtY29udGVudCAuaW1nLXcge1xuICBoZWlnaHQ6IDU1cHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgZm9vdGVyIC5jb3B5cmlnaHQtdyAuY29weXJpZ2h0LWNvbnRlbnQgLmltZy13IHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbn1cbmZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IC5pbWctdyBpbWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgZm9vdGVyIC5jb3B5cmlnaHQtdyAuY29weXJpZ2h0LWNvbnRlbnQgLmltZy13IGltZyB7XG4gICAgaGVpZ2h0OiA4MCU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgZm9vdGVyIC5jb3B5cmlnaHQtdyAuY29weXJpZ2h0LWNvbnRlbnQgLmltZy13IGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gIGZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IC5pbWctdyBpbWcge1xuICAgIGhlaWdodDogOTAlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIGZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IC5wYXltZW50LW1ldGhvZHMsXG4gIGZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IC5zZWN1cml0eSB7XG4gICAgcGFkZGluZzogMTBweCAwIDVweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gIGZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IC5wYXltZW50LW1ldGhvZHMsXG4gIGZvb3RlciAuY29weXJpZ2h0LXcgLmNvcHlyaWdodC1jb250ZW50IC5zZWN1cml0eSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuZm9vdGVyIC5jb3B5cmlnaHQtdyAuY29weXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZmNmY2Y7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM5NDk0OTQ7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAwO1xufVxuIiwiYmFzZS1mb250LXNpemUgPz0gMTZweFxucmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXMgPz0gZmFsc2VcblxucnVwdHVyZSA9IHtcbiAgcmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXM6IHJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzXG4gIG1vYmlsZS1jdXRvZmY6IDQwMHB4XG4gIGRlc2t0b3AtY3V0b2ZmOiAxMDUwcHhcbiAgaGQtY3V0b2ZmOiAxODAwcHhcbiAgZW5hYmxlLWVtLWJyZWFrcG9pbnRzOiBmYWxzZVxuICBiYXNlLWZvbnQtc2l6ZTogYmFzZS1mb250LXNpemVcbiAgYW50aS1vdmVybGFwOiBmYWxzZVxuICBkZW5zaXR5LXF1ZXJpZXM6ICdkcHB4JyAnd2Via2l0JyAnbW96JyAnZHBpJ1xuICByZXRpbmEtZGVuc2l0eTogMS41XG4gIHVzZS1kZXZpY2Utd2lkdGg6IGZhbHNlXG59XG5ydXB0dXJlLnNjYWxlID0gMCAocnVwdHVyZS5tb2JpbGUtY3V0b2ZmKSA2MDBweCA4MDBweCAocnVwdHVyZS5kZXNrdG9wLWN1dG9mZikgKHJ1cHR1cmUuaGQtY3V0b2ZmKVxucnVwdHVyZS5zY2FsZS1uYW1lcyA9ICd4cycgJ3MnICdtJyAnbCcgJ3hsJyAnaGQnXG5cbi1pcy1zdHJpbmcodmFsKVxuICBpZiB0eXBlb2YodmFsKSBpcyBub3QgJ3VuaXQnXG4gICAgaWYgdmFsIGlzIGEgJ3N0cmluZycgb3IgdmFsIGlzIGEgJ2lkZW50J1xuICAgICAgdHJ1ZVxuICAgIGVsc2VcbiAgICAgIGZhbHNlXG4gIGVsc2VcbiAgICBmYWxzZVxuXG4tZ2V0LXNjYWxlLW51bWJlcihzY2FsZS1uYW1lKVxuICBmb3IgbGlzdC1pdGVtLCBpIGluIHJ1cHR1cmUuc2NhbGUtbmFtZXNcbiAgICBpZiBsaXN0LWl0ZW0gaXMgc2NhbGUtbmFtZVxuICAgICAgcmV0dXJuIGkgKyAxXG4gIHJldHVybiBmYWxzZVxuXG4tY29udmVydC10byh0by11bml0LCB2YWx1ZSwgY29udGV4dCA9IHJ1cHR1cmUuYmFzZS1mb250LXNpemUpXG4gIGZyb20tdW5pdCA9IHVuaXQodmFsdWUpXG4gIHJldHVybiB2YWx1ZSBpZiB0by11bml0IGlzIGZyb20tdW5pdFxuICBpZiB0by11bml0IGluICgnZW0nICdyZW0nKVxuICAgIHJldHVybiB2YWx1ZSBpZiBmcm9tLXVuaXQgaW4gKCdlbScgJ3JlbScpXG4gICAgcmV0dXJuIHVuaXQoKHZhbHVlIC8gY29udGV4dCksIHRvLXVuaXQpXG4gIGlmIHRvLXVuaXQgaXMgJ3B4J1xuICAgIHJldHVybiB1bml0KCh2YWx1ZSAqIGNvbnRleHQpLCAncHgnKVxuXG4tb24tc2NhbGUobilcbiAgcmV0dXJuIHVuaXQobikgaXMgJydcblxuLWxhcmdlci10aGFuLXNjYWxlKG4pXG4gIHJldHVybiAobiA+IChsZW5ndGgocnVwdHVyZS5zY2FsZSkgLSAxKSkgYW5kIC1vbi1zY2FsZShuKVxuXG4taXMtemVybyhuKVxuICByZXR1cm4gbiBpcyAwXG5cbi1vdmVybGFwLXNoaWZ0KGFudGktb3ZlcmxhcCwgbilcbiAgc2hpZnQtdW5pdCA9IHVuaXQobilcbiAgYW50aS1vdmVybGFwID0gMHB4IHVubGVzcyBhbnRpLW92ZXJsYXBcbiAgYW50aS1vdmVybGFwID0gMXB4IGlmIGFudGktb3ZlcmxhcCBpcyB0cnVlXG4gIGlmIGxlbmd0aChhbnRpLW92ZXJsYXApIGlzIDFcbiAgICByZXR1cm4gLWNvbnZlcnQtdG8oc2hpZnQtdW5pdCwgYW50aS1vdmVybGFwKVxuICBmb3IgdmFsIGluIGFudGktb3ZlcmxhcFxuICAgIHJldHVybiB2YWwgaWYgdW5pdCh2YWwpIGlzIHNoaWZ0LXVuaXRcblxuLWFkanVzdC1vdmVybGFwKGFudGktb3ZlcmxhcCwgbiwgc2lkZSA9ICdtaW4nKVxuICAtc2hpZnQgPSAtb3ZlcmxhcC1zaGlmdChhbnRpLW92ZXJsYXAsIG4pXG4gIGlmIChzaWRlIGlzICdtaW4nIGFuZCAtc2hpZnQgPiAwKSBvciAoc2lkZSBpcyAnbWF4JyBhbmQgLXNoaWZ0IDwgMClcbiAgICBuID0gbiArIC1zaGlmdFxuICByZXR1cm4gblxuXG4taXMtcG9zaXRpdmUobilcbiAgcmV0dXJuIG4gPj0gMFxuXG4tZGVuc2l0eS1xdWVyaWVzKGRlbnNpdHkpXG4gIGlmIHR5cGVvZihkZW5zaXR5KSBpcyBub3QgJ3VuaXQnXG4gICAgaWYgbm90IC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICAgIGRlbnNpdHkgPSAnJXMnICUgZGVuc2l0eVxuICBkZW5zaXR5ID0gcnVwdHVyZS5yZXRpbmEtZGVuc2l0eSBpZiBkZW5zaXR5IGlzICdyZXRpbmEnXG4gIHF1ZXJpZXMgPSAoKVxuICBmb3IgcXVlcnkgaW4gcnVwdHVyZS5kZW5zaXR5LXF1ZXJpZXNcbiAgICBpZiBxdWVyeSBpcyAnd2Via2l0J1xuICAgICAgcHVzaChxdWVyaWVzLCAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJXMpJyAlIChkZW5zaXR5KSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdtb3onXG4gICAgICBwdXNoKHF1ZXJpZXMsICcobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAlcyknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ28nXG4gICAgICBwdXNoKHF1ZXJpZXMsICcoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogJXMvMSknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ3JhdGlvJ1xuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICVzKScgJSAoZGVuc2l0eSkpXG4gICAgZWxzZSBpZiBxdWVyeSBpcyAnZHBpJ1xuICAgICAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgICAgICBkZW5zaXR5PWNvbnZlcnQoZGVuc2l0eSlcbiAgICAgIHB1c2gocXVlcmllcywgJyhtaW4tcmVzb2x1dGlvbjogJXNkcGkpJyAlIChyb3VuZChkZW5zaXR5ICogOTYsIDEpKSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdkcHB4J1xuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi1yZXNvbHV0aW9uOiAlc2RwcHgpJyAlIChkZW5zaXR5KSlcbiAgcmV0dXJuIHF1ZXJpZXNcblxuY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBjbGFzcylcbiAgL3snJyArIGNsYXNzICsgJyAnICsgc2VsZWN0ZWR9XG4gICAge2Jsb2NrfVxuXG4vLyArYmV0d2VlbihtaW4sIG1heClcbi8vIHVzYWdlIChzY2FsZSBjYW4gYmUgbWl4ZWQgd2l0aCBjdXN0b20gdmFsdWVzKTpcbi8vICAgLSArYmV0d2VlbigxLCAzKSBzY2FsZTpzY2FsZVxuLy8gICAtICtiZXR3ZWVuKDAsIDMpIDAgd2lkdGg6c2NhbGVcbi8vICAgLSArYmV0d2VlbigyMDBweCwgNTAwcHgpIGN1c3RvbTpjdXN0b21cbi8vICAgLSArYmV0d2VlbigwLCAzMDBweCkgMCB3aWR0aDpjdXN0b21cbi8vICAgLSArYmV0d2VlbigxLCAzMDBweCkgc2NhbGU6Y3VzdG9tXG4vLyAgIC0gK2JldHdlZW4oMjAwcHgsIDQpIGN1c3RvbTpzY2FsZVxuXG5iZXR3ZWVuKG1pbiwgbWF4LCBhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcblxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gIGlmIC1pcy1zdHJpbmcobWluKVxuICAgIG1pbiA9IC1nZXQtc2NhbGUtbnVtYmVyKG1pbilcbiAgaWYgLWlzLXN0cmluZyhtYXgpXG4gICAgbWF4ID0gLWdldC1zY2FsZS1udW1iZXIobWF4KVxuXG4gIC1taW4gPSBydXB0dXJlLnNjYWxlW21pbiAtIDFdIHVubGVzcyAtaXMtemVybyhtaW4pIG9yIChub3QgLW9uLXNjYWxlKG1pbikpXG4gIC1tYXggPSBydXB0dXJlLnNjYWxlW21heF0gdW5sZXNzIG5vdCAtb24tc2NhbGUobWF4KVxuICAtbWluID89IG1pblxuICAtbWF4ID89IG1heFxuXG4gIGlmIChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGlmIG5vdCAoZGVuc2l0eSBvciAtbWF4IG9yIG9yaWVudGF0aW9uKVxuICAgICAge2Jsb2NrfVxuICBlbHNlXG4gICAgY29uZGl0aW9uID0gJ29ubHkgc2NyZWVuJ1xuICAgIHVzZS1kZXZpY2Utd2lkdGggPSB1c2UtZGV2aWNlLXdpZHRoID8gJ2RldmljZS0nIDogJydcbiAgICB1bmxlc3MgLW1pbiBpcyAwXG4gICAgICAtbWluID0gLWNvbnZlcnQtdG8oJ2VtJywgLW1pbikgaWYgcnVwdHVyZS5lbmFibGUtZW0tYnJlYWtwb2ludHNcbiAgICAgIC1taW4gPSAtYWRqdXN0LW92ZXJsYXAoYW50aS1vdmVybGFwLCAtbWluLCBzaWRlOiAnbWluJylcbiAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChtaW4tJyArIHVzZS1kZXZpY2Utd2lkdGggKyAnd2lkdGg6ICVzKScgJSAoLW1pbilcbiAgICB1bmxlc3MgLWxhcmdlci10aGFuLXNjYWxlKG1heClcbiAgICAgIC1tYXggPSAtY29udmVydC10bygnZW0nLCAtbWF4KSBpZiBydXB0dXJlLmVuYWJsZS1lbS1icmVha3BvaW50c1xuICAgICAgLW1heCA9IC1hZGp1c3Qtb3ZlcmxhcChhbnRpLW92ZXJsYXAsIC1tYXgsIHNpZGU6ICdtYXgnKVxuICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uICsgJyBhbmQgKG1heC0nICsgdXNlLWRldmljZS13aWR0aCArICd3aWR0aDogJXMpJyAlICgtbWF4KVxuICAgIGlmIG9yaWVudGF0aW9uXG4gICAgICBjb25kaXRpb24gPSBjb25kaXRpb24gKyAnIGFuZCAob3JpZW50YXRpb246ICVzKScgJSAob3JpZW50YXRpb24pXG4gICAgaWYgZGVuc2l0eVxuICAgICAgY29uZGl0aW9ucyA9ICgpXG4gICAgICBmb3IgcXVlcnkgaW4gLWRlbnNpdHktcXVlcmllcyhkZW5zaXR5KVxuICAgICAgICBwdXNoKGNvbmRpdGlvbnMsIGNvbmRpdGlvbiArICcgYW5kICVzJyAlIChxdWVyeSkpXG4gICAgICBjb25kaXRpb24gPSBqb2luKCcsICcsIGNvbmRpdGlvbnMpXG4gICAgQG1lZGlhIGNvbmRpdGlvblxuICAgICAge2Jsb2NrfVxuICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAge2Jsb2NrfVxuXG5hdChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbihzY2FsZS1wb2ludCwgc2NhbGUtcG9pbnQsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuZnJvbS13aWR0aChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbihzY2FsZS1wb2ludCwgbGVuZ3RoKHJ1cHR1cmUuc2NhbGUpLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmFib3ZlID0gZnJvbS13aWR0aFxuXG50by13aWR0aChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbigxLCBzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5iZWxvdyA9IHRvLXdpZHRoXG5cbm1vYmlsZShhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICtiZWxvdyhydXB0dXJlLm1vYmlsZS1jdXRvZmYsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxudGFibGV0KGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2JldHdlZW4ocnVwdHVyZS5tb2JpbGUtY3V0b2ZmLCBydXB0dXJlLmRlc2t0b3AtY3V0b2ZmLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmRlc2t0b3AoYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYWJvdmUocnVwdHVyZS5kZXNrdG9wLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5oZChhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICthYm92ZShydXB0dXJlLmhkLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5kZW5zaXR5KGRlbnNpdHksIG9yaWVudGF0aW9uID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcbiAgaWYgbm90IChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGNvbmRpdGlvbnMgPSAoKVxuICAgIGZvciBxdWVyeSBpbiAtZGVuc2l0eS1xdWVyaWVzKGRlbnNpdHkpXG4gICAgICBjb25kaXRpb24gPSAnb25seSBzY3JlZW4gYW5kICVzJyAlIChxdWVyeSlcbiAgICAgIGlmIG9yaWVudGF0aW9uXG4gICAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChvcmllbnRhdGlvbjogJXMpJyAlIChvcmllbnRhdGlvbilcbiAgICAgIHB1c2goY29uZGl0aW9ucywgY29uZGl0aW9uKVxuICAgIGNvbmRpdGlvbiA9IGpvaW4oJywgJywgY29uZGl0aW9ucylcbiAgICBAbWVkaWEgY29uZGl0aW9uXG4gICAgICB7YmxvY2t9XG4gICAgaWYgZmFsbGJhY2stY2xhc3NcbiAgICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICB7YmxvY2t9XG5cbnBpeGVsLXJhdGlvID0gZGVuc2l0eVxuXG5yZXRpbmEob3JpZW50YXRpb24gPSBudWxsLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gICtkZW5zaXR5KCdyZXRpbmEnLCBvcmllbnRhdGlvbiwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5sYW5kc2NhcGUoZGVuc2l0eSA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG4gIGlmIG5vdCAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICAgIGlmIGRlbnNpdHlcbiAgICAgICtwaXhlbC1yYXRpbyhkZW5zaXR5LCBvcmllbnRhdGlvbjogbGFuZHNjYXBlLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAge2Jsb2NrfVxuICAgIGVsc2VcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXG4gICAgICAgIHtibG9ja31cbiAgICAgIGlmIGZhbGxiYWNrLWNsYXNzXG4gICAgICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICAgIHtibG9ja31cblxucG9ydHJhaXQoZGVuc2l0eSA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG4gIGlmIG5vdCAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICAgIGlmIGRlbnNpdHlcbiAgICAgICtwaXhlbC1yYXRpbyhkZW5zaXR5LCBvcmllbnRhdGlvbjogcG9ydHJhaXQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICB7YmxvY2t9XG4gICAgZWxzZVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVxuICAgICAgICB7YmxvY2t9XG4gICAgICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICAgICArY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAgICB7YmxvY2t9XG4iXX0= */
