/*** Typography ***/
/*** Colors ***/
.about-us {
  padding: 50px 0; }
  .about-us__image {
    margin-top: -280px;
    position: sticky;
    top: 150px; }
    @media (max-width: 991.98px) {
      .about-us__image {
        margin-top: 0;
        position: relative;
        top: 0; } }
    .about-us__image img {
      width: 100%;
      border-radius: 10px;
      box-shadow: 0 20px 30px rgba(25, 25, 46, 0.04); }
  .about-us__content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-right: 50px; }
    @media (max-width: 991.98px) {
      .about-us__content {
        padding-right: 0; } }
    .about-us__content h3 {
      color: #212529;
      font-size: calc(1.3125rem + 0.75vw);
      font-weight: 700; }
      @media (min-width: 1200px) {
        .about-us__content h3 {
          font-size: 1.875rem; } }
    .about-us__content p {
      color: #4e4e4e;
      margin-bottom: 25px;
      font-size: 1.125rem; }
    .about-us__content aside {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      margin-bottom: 25px;
      background: #f5f8fa;
      border-radius: 5px;
      padding: 20px 35px; }
      .about-us__content aside svg {
        min-width: 40px;
        width: 40px;
        height: 40px;
        margin-right: 20px;
        color: #140342; }
      .about-us__content aside > div h4 {
        color: #140342;
        margin: 0;
        font-size: 1.25rem;
        font-weight: 400; }
      .about-us__content aside > div p {
        color: #4e4e4e;
        margin: 0;
        font-size: 1rem;
        font-weight: 300; }
    .about-us__content a {
      width: 150px; }

.about-values {
  background: #f5f8fa;
  padding: 60px 0; }
  @media (max-width: 991.98px) {
    .about-values {
      padding-bottom: 40px; } }
  .about-values__item {
    border: 2px solid rgba(100, 64, 251, 0.3);
    border-radius: 10px;
    padding: 40px; }
    @media (max-width: 991.98px) {
      .about-values__item {
        margin-bottom: 20px; } }
    .about-values__item h4 {
      color: #140342;
      font-size: calc(1.275rem + 0.3vw);
      font-weight: 500; }
      @media (min-width: 1200px) {
        .about-values__item h4 {
          font-size: 1.5rem; } }
    .about-values__item p {
      color: #4e4e4e;
      margin: 0;
      font-size: 1rem;
      font-weight: 300; }

#floating-whatsapp,
.footer-copyright__login,
.footer-copyright__content {
  display: none; }

.main-header {
  position: absolute; }
  .main-header--no-hero {
    position: relative; }
  .main-header__container {
    justify-content: center; }
  .main-header__logo a {
    pointer-events: none; }
  .main-header__menu-links {
    display: none; }

.landig-hero {
  position: relative;
  display: flex;
  align-items: center;
  background: #140342;
  background-size: cover;
  background-repeat: no-repeat; }
  @media (max-width: 991.98px) {
    .landig-hero {
      border-radius: 0;
      min-height: auto; } }
  .landig-hero__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding-top: 100px;
    padding-bottom: 100px; }
    @media (max-width: 991.98px) {
      .landig-hero__container {
        flex-wrap: wrap;
        padding-top: 40px; } }
  .landig-hero__content {
    flex: 0 0 45%; }
    @media (max-width: 991.98px) {
      .landig-hero__content {
        flex: auto;
        margin-top: 20px;
        order: 2; } }
    .landig-hero__content--alignment {
      flex: 1 0 45%;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center; }
    .landig-hero__content h1 {
      color: #fff;
      line-height: 1.1;
      margin-bottom: 20px;
      font-size: calc(1.5rem + 3vw);
      font-weight: 600; }
      @media (min-width: 1200px) {
        .landig-hero__content h1 {
          font-size: 3.75rem; } }
    .landig-hero__content p {
      color: #fff;
      margin-bottom: 25px;
      font-size: 1.25rem;
      font-weight: 400; }
    .landig-hero__content > div {
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
      .landig-hero__content > div a {
        width: auto;
        margin-right: 15px;
        margin-bottom: 15px;
        padding: 10px 25px; }
  .landig-hero__image {
    flex: 0 0 45%; }
    @media (max-width: 991.98px) {
      .landig-hero__image {
        flex: auto;
        order: 1;
        margin-top: 50px; } }
    .landig-hero__image img {
      width: 100%;
      border-radius: 10px; }

.new-journey {
  position: relative;
  padding: 50px 0 55px; }
  .new-journey--white::after {
    display: none; }
  .new-journey--white .new-journey__header h2 {
    color: #212529; }
  .new-journey--white .new-journey__header p {
    color: #4e4e4e; }
  .new-journey--white .new-journey__item {
    border: 2px solid rgba(100, 64, 251, 0.3); }
  .new-journey::after {
    content: "";
    height: 70%;
    width: 100%;
    background: #140342;
    position: absolute;
    top: 0;
    z-index: 0; }
  .new-journey__header {
    margin-bottom: 35px;
    z-index: 1; }
    .new-journey__header h2 {
      color: #fff;
      font-size: calc(1.3125rem + 0.75vw);
      font-weight: 700; }
      @media (min-width: 1200px) {
        .new-journey__header h2 {
          font-size: 1.875rem; } }
    .new-journey__header p {
      color: #f5f8fa;
      margin-bottom: 0;
      font-size: 1.125rem; }
  .new-journey__content {
    display: flex;
    gap: 25px;
    z-index: 1; }
    @media (max-width: 991.98px) {
      .new-journey__content {
        flex-wrap: wrap;
        gap: 0;
        row-gap: 20px; } }
  .new-journey__item {
    width: 25%;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: #fff;
    box-shadow: 0 20px 30px rgba(25, 25, 46, 0.04); }
    @media (max-width: 991.98px) {
      .new-journey__item {
        width: 100%; } }
    .new-journey__item svg {
      width: 60px;
      height: 60px;
      color: rgba(100, 64, 251, 0.6);
      margin-bottom: 15px; }
    .new-journey__item h4 {
      color: #212529;
      margin-bottom: 15px;
      text-align: center;
      font-size: 1.125rem;
      font-weight: 700; }
    .new-journey__item p {
      color: #4e4e4e;
      margin-bottom: 0;
      text-align: center;
      font-size: 1rem; }

.about-us {
  background: #f5f8fa; }
  .about-us__image {
    top: 15px;
    margin: 0; }
    @media (max-width: 991.98px) {
      .about-us__image {
        top: 0; } }
  .about-us__content {
    align-items: initial; }
    .about-us__content.rich-text h1,
    .about-us__content.rich-text h2,
    .about-us__content.rich-text h3,
    .about-us__content.rich-text h4,
    .about-us__content.rich-text h5,
    .about-us__content.rich-text h6 {
      margin-bottom: 20px; }
    .about-us__content.rich-text p {
      width: 100%;
      margin-bottom: 15px;
      font-weight: 400; }
    .about-us__content.rich-text img {
      width: 100%;
      border-radius: 8px;
      box-shadow: 0 20px 30px rgba(25, 25, 46, 0.1);
      margin-bottom: 25px; }
    .about-us__content.rich-text iframe {
      width: 100%;
      border-radius: 8px;
      margin-bottom: 25px;
      box-shadow: 0 30px 30px rgba(25, 25, 46, 0.1);
      aspect-ratio: 16/9; }
    .about-us__content.rich-text ul {
      list-style: circle;
      margin: 20px 30px; }
    .about-us__content.rich-text ol {
      margin: 20px 30px; }
    .about-us__content.rich-text table {
      width: 100% !important; }
      .about-us__content.rich-text table img {
        box-shadow: none; }
    .about-us__content.rich-text a {
      color: #0e96e5;
      text-decoration: none; }
      .about-us__content.rich-text a:hover {
        text-decoration: underline; }

.why-learn {
  padding: 50px 0 35px; }
  .why-learn__header {
    text-align: center;
    margin: 0; }

.subscribe {
  padding: 10px 0 50px;
  background: #f5f8fa; }
  .subscribe form {
    border: 2px solid rgba(100, 64, 251, 0.3);
    border-radius: 10px;
    padding: 40px; }
    @media (max-width: 991.98px) {
      .subscribe form {
        padding: 20px; } }
    .subscribe form > div {
      margin-bottom: 15px; }
      .subscribe form > div label {
        margin-bottom: 5px;
        font-size: 0.875rem; }
      .subscribe form > div input,
      .subscribe form > div textarea,
      .subscribe form > div select {
        font-size: 1rem; }
    .subscribe form button {
      margin-top: 15px;
      padding: 10px 25px; }

.contact__content {
  background: #140342; }

/*# sourceURL=C:/xampp/htdocs/jumpwc/themes/jump/src/sass/_base/_variables.scss */
/*# sourceURL=C:/xampp/htdocs/jumpwc/themes/jump/src/sass/_components/_about-us-section.scss */
/*# sourceURL=C:/xampp/htdocs/jumpwc/themes/jump/node_modules/bootstrap/scss/mixins/_breakpoints.scss */
/*# sourceURL=C:/xampp/htdocs/jumpwc/themes/jump/node_modules/rfs/scss.scss */
/*# sourceURL=C:/xampp/htdocs/jumpwc/themes/jump/src/sass/_components/_about-values-tile.scss */
/*# sourceURL=C:/xampp/htdocs/jumpwc/themes/jump/src/sass/pages/pages.scss */
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkM6L3hhbXBwL2h0ZG9jcy9qdW1wd2MvdGhlbWVzL2p1bXAvc3JjL3Nhc3MvX2Jhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiQzoveGFtcHAvaHRkb2NzL2p1bXB3Yy90aGVtZXMvanVtcC9zcmMvc2Fzcy9fY29tcG9uZW50cy9fYWJvdXQtdXMtc2VjdGlvbi5zY3NzIiwiQzoveGFtcHAvaHRkb2NzL2p1bXB3Yy90aGVtZXMvanVtcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiQzoveGFtcHAvaHRkb2NzL2p1bXB3Yy90aGVtZXMvanVtcC9ub2RlX21vZHVsZXMvcmZzL3Njc3Muc2NzcyIsIkM6L3hhbXBwL2h0ZG9jcy9qdW1wd2MvdGhlbWVzL2p1bXAvc3JjL3Nhc3MvX2NvbXBvbmVudHMvX2Fib3V0LXZhbHVlcy10aWxlLnNjc3MiLCJDOi94YW1wcC9odGRvY3MvanVtcHdjL3RoZW1lcy9qdW1wL3NyYy9zYXNzL3BhZ2VzL3BhZ2VzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQUE7QUFrQ0EsZUFBQTtBQ2pDQTtFQUNJLGVBQWUsRUFBQTtFQUVmO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixVQUFVLEVBQUE7SUNxRWQ7TUR4RUE7UUFNUSxhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLE1BQU0sRUFBQSxFQVFiO0lBaEJBO01BWU8sV0FBVztNQUNYLG1CQUFtQjtNQUNuQiw4Q0FBOEMsRUFBQTtFQUl0RDtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQUE7SUNnRHZCO01EdERBO1FBU1EsZ0JBQWdCLEVBQUEsRUE0RHZCO0lBckVBO01BYU8sY0RHbUI7TUdtUXZCLG1DQWY2QjtNRm5QekIsZ0JEMUJ1QixFQUFBO01HMEgvQjtRRmpIQztVRTBSRyxtQkFsRjZCLEVBQUEsRUZ0TDVCO0lBbEJK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bEIsNkNBQTZDO01BQzdDLG1CQUFtQixFQUFBO0lBdkI5QjtNQTJCVyxXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLG1CQUFtQjtNQUNuQiw2Q0FBNkM7TUFDN0Msa0JBQWtCLEVBQUE7SUEvQjdCO01BbUNXLGtCQUFrQjtNQUNsQixpQkFBaUIsRUFBQTtJQXBDNUI7TUF3Q1csaUJBQWlCLEVBQUE7SUF4QzVCO01BNENXLHNCQUFzQixFQUFBO01BNUNqQztRQStDZSxnQkFBZ0IsRUFBQTtJQS9DL0I7TUFvRFcsY0FBYztNQUNkLHFCQUFxQixFQUFBO01BckRoQztRQXdEZSwwQkFBMEIsRUFBQTs7QUFPOUM7RUFDSSxvQkFBb0IsRUFBQTtFQUVwQjtJQUNJLGtCQUFrQjtJQUNsQixTQUFTLEVBQUE7O0FBSWpCO0VBQ0ksb0JBQW9CO0VBQ3BCLG1CTHJSMkIsRUFBQTtFS21SL0I7SUFLUSx5Q0x4U3VCO0lLeVN2QixtQkFBbUI7SUFDbkIsYUFBYSxFQUFBO0lIeFFqQjtNR2lRSjtRQVVZLGFBQWEsRUFBQSxFQXVCcEI7SUFqQ0w7TUFjWSxtQkFBbUIsRUFBQTtNQWQvQjtRQWlCZ0Isa0JBQWtCO1FGekQ1QixtQkF2RStCLEVBQUE7TUUrR3JDOzs7UUZ4Q00sZUF2RStCLEVBQUE7SUUrR3JDO01BOEJZLGdCQUFnQjtNQUNoQixrQkFBa0IsRUFBQTs7QUFXMUI7RUFDSSxtQkwvVXVCLEVBQUEiLCJmaWxlIjoicGFnZXMuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiogVHlwb2dyYXBoeSAqKiovXHJcbi8vUmVzcG9uc2l2ZSBmb250IHNpemVcclxuQGltcG9ydCBcIn5yZnMvc2Nzc1wiO1xyXG5cclxuJGZvbnQtZmFtaWx5LS1wcmltYXJ5ICAgICAgIDogICAnR1QgV2Fsc2hlaW0gUHJvJywgc2Fucy1zZXJpZjtcclxuLy8kZm9udC1mYW1pbHktLXNlY29uZGFyeSAgICAgOiAgICdOdW5pdG8gU2FucycsIHNhbnMtc2VyaWY7XHJcblxyXG4vLyBGb250IHdlaWdodFxyXG4kZm9udC13ZWlnaHQtLWV4dHJhLWxpZ2h0ICAgOiAgIDIwMDtcclxuJGZvbnQtd2VpZ2h0LS1saWdodCAgICAgICAgIDogICAzMDA7XHJcbiRmb250LXdlaWdodC0tcmVndWxhciAgICAgICA6ICAgNDAwO1xyXG4kZm9udC13ZWlnaHQtLW1lZGl1bSAgICAgICAgOiAgIDUwMDtcclxuJGZvbnQtd2VpZ2h0LS1zZW1pYm9sZCAgICAgIDogICA2MDA7XHJcbiRmb250LXdlaWdodC0tYm9sZCAgICAgICAgICA6ICAgNzAwO1xyXG4kZm9udC13ZWlnaHQtLWV4dHJhLWJvbGQgICAgOiAgIDgwMDtcclxuJGZvbnQtd2VpZ2h0LS1ibGFjayAgICAgICAgIDogICA5MDA7XHJcblxyXG4vLyBGb250IHNpemVzXHJcbiRmb250LXh4eHgtbGFyZ2UgICAgICAgICAgICA6ICAgNjhweDtcclxuJGZvbnQteHh4LWxhcmdlICAgICAgICAgICAgIDogICA2MHB4O1xyXG4kZm9udC14eC1sYXJnZSAgICAgICAgICAgICAgOiAgIDQ4cHg7XHJcbiRmb250LXgtbGFyZ2UgICAgICAgICAgICAgICA6ICAgNDBweDtcclxuJGZvbnQtbGFyZ2UgICAgICAgICAgICAgICAgIDogICAzNnB4O1xyXG4kZm9udC14eC1iaWcgICAgICAgICAgICAgICAgOiAgIDMwcHg7XHJcbiRmb250LXgtYmlnICAgICAgICAgICAgICAgICA6ICAgMjRweDtcclxuJGZvbnQtYmlnICAgICAgICAgICAgICAgICAgIDogICAyMHB4O1xyXG4kZm9udC1tZWRpdW0gICAgICAgICAgICAgICAgOiAgIDE4cHg7XHJcbiRmb250LXJlZ3VsYXIgICAgICAgICAgICAgICA6ICAgMTZweDtcclxuJGZvbnQtc21hbGwgICAgICAgICAgICAgICAgIDogICAxNHB4O1xyXG4kZm9udC14LXNtYWxsICAgICAgICAgICAgICAgOiAgIDEycHg7XHJcbiRmb250LXh4LXNtYWxsICAgICAgICAgICAgICA6ICAgMTFweDtcclxuJGZvbnQteHh4LXNtYWxsICAgICAgICAgICAgIDogICAxMHB4O1xyXG4kZm9udC14eHh4LXNtYWxsICAgICAgICAgICAgOiAgIDlweDtcclxuXHJcbi8qKiogQ29sb3JzICoqKi9cclxuXHJcbiR3aGl0ZSAgICAgICAgICAgICAgOiAgICNmZmY7XHJcbiRibGFjayAgICAgICAgICAgICAgOiAgICMwMDA7XHJcbiRibGFjay1zdG9uZSAgICAgICAgOiAgICMyMTI1Mjk7XHJcbiRibGFjay1vYWsgICAgICAgICAgOiAgICM0ZTRlNGU7XHJcblxyXG4kZ2FsYWN0aWMtYmx1ZSAgICAgIDogICAjMTQwMzQyO1xyXG4kZWxlY3RyaWMtdmlvbGV0ICAgIDogICAjNjQ0MGZiO1xyXG5cclxuJGJsdWUtZ2VtICAgICAgICAgICA6ICAgIzE5MTY4NztcclxuJHB1cnBsZS1oZWFydCAgICAgICA6ICAgIzU0MzRkOTtcclxuXHJcbiRkYXJrZXN0LWdyZXkgICAgICAgOiAgICM0OTUwNTc7XHJcbiRzbGF0ZS1ncmV5ICAgICAgICAgOiAgICM3NDg0OGU7XHJcbiRleHBsb3NpdmUtZ3JleSAgICAgOiAgICNjNGM0YzQ7XHJcbiRzaWx2ZXIgICAgICAgICAgICAgOiAgICNiYWJhYmE7XHJcbiRsaWdodC1ncmV5ICAgICAgICAgOiAgICNmOGY4Zjg7XHJcbiRsaWdodC1jb25jcmV0ZSAgICAgOiAgICNmN2Y4Zjk7XHJcbiRjb2NvbnV0LXdoaXRlICAgICAgOiAgICNmNWY3ZmU7XHJcbiRkdXN0ICAgICAgICAgICAgICAgOiAgICNiY2JjYmM7XHJcblxyXG4kdGVhbC1ibHVlICAgICAgICAgIDogICAjMmM2OTg0O1xyXG5cclxuJHdoaXRlLWxpbGFjICAgICAgICA6ICAgI2Y1ZjhmYTtcclxuLy8kZXJyb3IgICAgICAgICAgICAgIDogICAjZjAzZDNlO1xyXG4kc3ByaW5nLWdyZWVuICAgICAgIDogICAjMDBmZjg0O1xyXG4kc3VjY2VzcyAgICAgICAgICAgIDogICAjMzRjODAwO1xyXG4kYWxlcnQgICAgICAgICAgICAgIDogICAjZjFhMzJmO1xyXG4kd2FybmluZyAgICAgICAgICAgIDogICAjZjAzZDNlO1xyXG4kZXhwbG9zaXZlLWdyZXkgICAgIDogICAjYzRjNGM0O1xyXG4kc25vd2JhbmsgICAgICAgICAgIDogICAjZTllOWU5O1xyXG5cclxuJGdyYXBlZnJ1aXQteWVsbG93ICA6ICAgI2U1OTgxOTtcclxuXHJcbiRwcmltYXJ5ICAgICAgICAgICAgOiAgICRnYWxhY3RpYy1ibHVlO1xyXG4kc2Vjb25kYXJ5ICAgICAgICAgIDogICAkZWxlY3RyaWMtdmlvbGV0O1xyXG4iLCJcclxuLmFib3V0LXVzIHtcclxuICAgIHBhZGRpbmc6IDUwcHggMDtcclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTI4MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgdG9wOiAxNTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCAzMHB4IHJnYmEoMjUsIDI1LCA0NiwgMC4wNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2stc3RvbmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQteHgtYmlnKTtcclxuXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjay1vYWs7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtbWVkaXVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFzaWRlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlLWxpbGFjO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzVweDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1iaWcpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1yZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2stb2FrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXJlZ3VsYXIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1saWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArICcgY2FsYygnICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsICcgLSAnLCAnICsgJykgKyAkdmFyaWFibGUtd2lkdGggKyAnKSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkVmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkVmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWRWYWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWRWYWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIlxyXG4uYWJvdXQtdmFsdWVzIHtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1saWxhYztcclxuICAgIHBhZGRpbmc6IDYwcHggMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRzZWNvbmRhcnksIDAuMyk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXgtYmlnKTtcclxuXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLW1lZGl1bTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrLW9haztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXJlZ3VsYXIpO1xyXG5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tbGlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi9fYmFzZS92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL192YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHNcIjtcclxuXHJcbkBpbXBvcnQgXCIuLi9fY29tcG9uZW50cy9fYWJvdXQtdXMtc2VjdGlvblwiO1xyXG5AaW1wb3J0IFwiLi4vX2NvbXBvbmVudHMvX2Fib3V0LXZhbHVlcy10aWxlXCI7XHJcblxyXG4vLyBAaW1wb3J0IFwiLi4vX2NvbXBvbmVudHMvX25ldy1qb3VybmV5XCI7XHJcbi8vIEBpbXBvcnQgXCIuLi9fY29tcG9uZW50cy9fY29udGFjdC1zZWN0aW9uXCI7XHJcblxyXG4vLyBAaW1wb3J0IFwiLi4vX2NvbXBvbmVudHMvX2hlcm8tY29udGVudFwiO1xyXG4vLyBcclxuLy8gXHJcblxyXG4vLyBAaW1wb3J0IFwiLi4vX2NvbXBvbmVudHMvX3doeS1sZWFyblwiO1xyXG5cclxuI2Zsb2F0aW5nLXdoYXRzYXBwLFxyXG4uZm9vdGVyLWNvcHlyaWdodF9fbG9naW4sXHJcbi5mb290ZXItY29weXJpZ2h0X19jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5tYWluLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBcclxuICAgICYtLW5vLWhlcm8ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21lbnUtbGlua3Mge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sYW5kaWctaGVybyB7XHJcbiAgICAvL2JvcmRlci1yYWRpdXM6IDAlIDEwMCUgMjglIDc4JSAvIDEwMCUgMCUgNTAlIDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBmbGV4OiAwIDAgNDUlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hbGlnbm1lbnQge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgNDUlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQteHh4LWxhcmdlKTtcclxuXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLXNlbWlib2xkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtYmlnKTtcclxuXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLXJlZ3VsYXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBmbGV4OiAwIDAgNDUlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uZXctam91cm5leSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDAgNTVweDtcclxuXHJcbiAgICAmLS13aGl0ZSB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5ldy1qb3VybmV5IHtcclxuICAgICAgICAgICAgJl9faGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrLXN0b25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2stb2FrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoJHNlY29uZGFyeSwgMC4zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBoZWlnaHQ6IDcwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC14eC1iaWcpO1xyXG5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWxpbGFjO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LW1lZGl1bSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiAyNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICAgICAgcm93LWdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCAzMHB4IHJnYmEoMjUsIDI1LCA0NiwgMC4wNCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRzZWNvbmRhcnksIDAuNik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2stc3RvbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1tZWRpdW0pO1xyXG5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrLW9haztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXJlZ3VsYXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFib3V0LXVzIHtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1saWxhYztcclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGluaXRpYWw7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5yaWNoLXRleHQge1xyXG4gICAgICAgICAgICBoMSxcclxuICAgICAgICAgICAgaDIsXHJcbiAgICAgICAgICAgIGgzLFxyXG4gICAgICAgICAgICBoNCxcclxuICAgICAgICAgICAgaDUsXHJcbiAgICAgICAgICAgIGg2IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDMwcHggcmdiYSgyNSwgMjUsIDQ2LCAwLjEpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMzBweCAzMHB4IHJnYmEoMjUsIDI1LCA0NiwgMC4xKTtcclxuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogY2lyY2xlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzBlOTZlNTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndoeS1sZWFybiB7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDAgMzVweDtcclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdWJzY3JpYmUge1xyXG4gICAgcGFkZGluZzogMTBweCAwIDUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGUtbGlsYWM7XHJcblxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkc2Vjb25kYXJ5LCAwLjMpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNtYWxsKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXJlZ3VsYXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmNvbnRhY3Qge1xyXG4gICAgJl9faGVhZGVyIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICB9XHJcbn0iXX0= */