/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/content-elements/ce_textmedia.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * Reusable copyright overlay component
 *
 * Usage:
 * <div class="copyright">© 2024 Photographer Name</div>
 * <div class="copyright copyright--top-left">© 2024 Photographer Name</div>
 * <div class="copyright copyright--masonry">© 2024 Photographer Name</div>
 */
.copyright {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  padding: 2px 6px;
  font-size: 0.75rem;
  border-radius: 2px;
  line-height: 1.2;
  z-index: 10;
  pointer-events: none;
  min-width: -moz-max-content;
  min-width: max-content;
  bottom: 8px;
  right: 8px;
}
.copyright--top-right {
  top: 8px;
  right: 8px;
  bottom: auto;
}
.copyright--top-left {
  top: 8px;
  left: 8px;
  right: auto;
  bottom: auto;
}
.copyright--bottom-left {
  bottom: 8px;
  left: 8px;
  right: auto;
}
.copyright--edge, .copyright--masonry, .copyright--collage {
  bottom: 0;
  right: 0;
  border-radius: 0;
  white-space: nowrap;
}
.copyright--modal {
  position: absolute;
  right: 0;
  top: -22px;
  bottom: auto;
  display: block;
  padding: 0.25rem 0.5rem;
  margin: 0;
  font-weight: 400;
}
@media (min-width: 768px) {
  .copyright--modal {
    font-size: 1.25rem;
    top: -32px;
  }
}
.copyright--light {
  background-color: rgba(255, 255, 255, 0.9);
  color: #000000;
}
.copyright--dark {
  background-color: rgba(0, 0, 0, 0.8);
  color: #ffffff;
}
.copyright--transparent {
  background-color: transparent;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}
.copyright--large {
  font-size: 0.875rem;
  padding: 4px 8px;
}
@media (max-width: 639px) {
  .copyright--hide-mobile {
    display: none;
  }
}
.copyright--hover-show {
  opacity: 0;
  transition: opacity 0.3s ease;
}
*:hover > .copyright--hover-show, *:focus-within > .copyright--hover-show {
  opacity: 1;
}
@media (min-width: 1024px) {
  .ce-textmedia .ce-textpic.ce-intext.ce-left .ce-gallery {
    float: left;
    padding-right: 30px;
    max-width: 50%;
  }
  .ce-textmedia .ce-textpic.ce-intext.ce-left .ce-gallery::after {
    content: "";
    display: table;
    clear: both;
  }
  .ce-textmedia .ce-textpic.ce-intext.ce-right .ce-gallery {
    float: right;
    padding-left: 30px;
    max-width: 50%;
  }
  .ce-textmedia .ce-textpic.ce-intext.ce-right .ce-gallery::after {
    content: "";
    display: table;
    clear: both;
  }
}
.ce-textmedia audio {
  width: 100%;
}
.ce-textmedia video, .ce-textmedia iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.ce-textmedia figure.video,
.ce-textmedia figure.audio {
  margin-bottom: 1rem;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VfdGV4dG1lZGlhLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUNJaEI7Ozs7Ozs7RUFBQTtBQTBCQTtFQUNJO0VBQ0EscUNDYmU7RURjZixjQ2pCVTtFRGtCVjtFQUNBLGtCQWhCa0I7RUFpQmxCLGtCQWRzQjtFQWV0QjtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBRUEsV0FuQmdCO0VBb0JoQixVQXBCZ0I7QUREcEI7QUM0Qkk7RUFDSSxRQTVCWTtFQTZCWixVQTdCWTtFQThCWjtBRDFCUjtBQzhCSTtFQUNJLFFBbkNZO0VBb0NaLFNBcENZO0VBcUNaO0VBQ0E7QUQ1QlI7QUNnQ0k7RUFDSSxXQTNDWTtFQTRDWixTQTVDWTtFQTZDWjtBRDlCUjtBQ2tDSTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0FEbENSO0FDcUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRG5DUjtBRzdCSTtFRndEQTtJQVdRO0lBQ0E7RURsQ1Y7QUFDRjtBQzBDSTtFQUNJO0VBQ0EsY0N2Rk07QUYrQ2Q7QUM0Q0k7RUFDSTtFQUNBLGNDOUZNO0FGb0RkO0FDOENJO0VBQ0k7RUFDQTtBRDVDUjtBQ2dESTtFQUNJO0VBQ0E7QUQ5Q1I7QUd4Q0k7RUYwRkE7SUFFUTtFRGhEVjtBQUNGO0FDb0RJO0VBQ0k7RUFDQTtBRGxEUjtBQ29EUTtFQUVJO0FEbkRaO0FHL0RJO0VIaEJnQjtJQUNJO0lBQ0E7SUFDQTtFQW1GdEI7RUFqRnNCO0lBQ0k7SUFDQTtJQUNBO0VBbUYxQjtFQTdFa0I7SUFDSTtJQUNBO0lBQ0E7RUErRXRCO0VBN0VzQjtJQUNJO0lBQ0E7SUFDQTtFQStFMUI7QUFDRjtBQW5FSTtFQUNJO0FBc0VSO0FBbkVJO0VBQ0k7RUFDQTtFQUNBO0FBcUVSO0FBbEVJOztFQUVJO0FBb0VSLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9jb250ZW50LWVsZW1lbnRzL2NlX3RleHRtZWRpYS5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2NvcHlyaWdodC5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19icmVha3BvaW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5AdXNlICcuLi9nbG9iYWwvY29sb3JzJyBhcyBjb2xvcnM7XG5AdXNlICcuLi9jb21wb25lbnRzL2NvcHlyaWdodCc7XG5cbi5jZS10ZXh0bWVkaWEge1xuICAgIC5jZS10ZXh0cGljIHtcbiAgICAgICAgJi5jZS1pbnRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbGcnKSB7XG4gICAgICAgICAgICAgICAgJi5jZS1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgLmNlLWdhbGxlcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jZS1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIC5jZS1nYWxsZXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5jZS10ZXh0bWVkaWEge1xuXG4gICAgYXVkaW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICB2aWRlbywgaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgfVxuXG4gICAgZmlndXJlLnZpZGVvLFxuICAgIGZpZ3VyZS5hdWRpbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fY29weXJpZ2h0LnNjc3NcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5cbi8qKlxuICogUmV1c2FibGUgY29weXJpZ2h0IG92ZXJsYXkgY29tcG9uZW50XG4gKlxuICogVXNhZ2U6XG4gKiA8ZGl2IGNsYXNzPVwiY29weXJpZ2h0XCI+wqkgMjAyNCBQaG90b2dyYXBoZXIgTmFtZTwvZGl2PlxuICogPGRpdiBjbGFzcz1cImNvcHlyaWdodCBjb3B5cmlnaHQtLXRvcC1sZWZ0XCI+wqkgMjAyNCBQaG90b2dyYXBoZXIgTmFtZTwvZGl2PlxuICogPGRpdiBjbGFzcz1cImNvcHlyaWdodCBjb3B5cmlnaHQtLW1hc29ucnlcIj7CqSAyMDI0IFBob3RvZ3JhcGhlciBOYW1lPC9kaXY+XG4gKi9cblxuLy8gQmxvY2sgbmFtZVxuJGJsb2NrOiAnY29weXJpZ2h0JztcblxuLy8gQ29uZmlndXJhdGlvbiB2YXJpYWJsZXNcbiRjb3B5cmlnaHQtYmctY29sb3I6IGNvbG9ycy4kY29sb3Itb3ZlcmxheS1tZCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtdGV4dC1jb2xvcjogY29sb3JzLiRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtZm9udC1zaXplOiAwLjc1cmVtICFkZWZhdWx0O1xuJGNvcHlyaWdodC1wYWRkaW5nLXk6IDJweCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtcGFkZGluZy14OiA2cHggIWRlZmF1bHQ7XG4kY29weXJpZ2h0LWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtc3BhY2luZzogOHB4ICFkZWZhdWx0O1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvcHlyaWdodCBDb21wb25lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uI3skYmxvY2t9IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvcHlyaWdodC1iZy1jb2xvcjtcbiAgICBjb2xvcjogJGNvcHlyaWdodC10ZXh0LWNvbG9yO1xuICAgIHBhZGRpbmc6ICRjb3B5cmlnaHQtcGFkZGluZy15ICRjb3B5cmlnaHQtcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGNvcHlyaWdodC1mb250LXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGNvcHlyaWdodC1ib3JkZXItcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgei1pbmRleDogMTA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIERvbid0IGludGVyZmVyZSB3aXRoIGNsaWNrcyBvbiBwYXJlbnRcbiAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAgIC8vIERlZmF1bHQgcG9zaXRpb246IGJvdHRvbS1yaWdodFxuICAgIGJvdHRvbTogJGNvcHlyaWdodC1zcGFjaW5nO1xuICAgIHJpZ2h0OiAkY29weXJpZ2h0LXNwYWNpbmc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFBvc2l0aW9uIG1vZGlmaWVyc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvLyBUb3AtcmlnaHQgcG9zaXRpb25cbiAgICAmLS10b3AtcmlnaHQge1xuICAgICAgICB0b3A6ICRjb3B5cmlnaHQtc3BhY2luZztcbiAgICAgICAgcmlnaHQ6ICRjb3B5cmlnaHQtc3BhY2luZztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZWZ0IHBvc2l0aW9uXG4gICAgJi0tdG9wLWxlZnQge1xuICAgICAgICB0b3A6ICRjb3B5cmlnaHQtc3BhY2luZztcbiAgICAgICAgbGVmdDogJGNvcHlyaWdodC1zcGFjaW5nO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIEJvdHRvbS1sZWZ0IHBvc2l0aW9uXG4gICAgJi0tYm90dG9tLWxlZnQge1xuICAgICAgICBib3R0b206ICRjb3B5cmlnaHQtc3BhY2luZztcbiAgICAgICAgbGVmdDogJGNvcHlyaWdodC1zcGFjaW5nO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFZGdlIHBvc2l0aW9uIChubyBzcGFjaW5nLCBubyBib3JkZXItcmFkaXVzKSAtIHNoYXJlZCBiYXNlXG4gICAgJi0tZWRnZSxcbiAgICAmLS1tYXNvbnJ5LFxuICAgICYtLWNvbGxhZ2Uge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAvLyBNb2RhbC9MaWdodGJveCBwb3NpdGlvbiAob3V0c2lkZSBpbWFnZSwgYWJvdmUpXG4gICAgJi0tbW9kYWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC0yMnB4O1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgdG9wOiAtMzJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIExpZ2h0IGJhY2tncm91bmQgdmFyaWFudFxuICAgICYtLWxpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcnMuJGNvbG9yLXdoaXRlLCAwLjkpO1xuICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICAvLyBEYXJrIGJhY2tncm91bmQgdmFyaWFudCAobW9yZSBvcGFxdWUpXG4gICAgJi0tZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3JzLiRjb2xvci1ibGFjaywgMC44KTtcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgLy8gVHJhbnNwYXJlbnQgdmFyaWFudCAoc3VidGxlKVxuICAgICYtLXRyYW5zcGFyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoY29sb3JzLiRjb2xvci1ibGFjaywgMC44KTtcbiAgICB9XG5cbiAgICAvLyBMYXJnZXIgdGV4dCBzaXplXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIH1cblxuICAgIC8vIEhpZGRlbiBvbiBzbWFsbCBzY3JlZW5zXG4gICAgJi0taGlkZS1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50LWRvd24oJ3NtJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNob3cgb25seSBvbiBob3ZlciAocmVxdWlyZXMgcGFyZW50IHRvIGhhdmUgaG92ZXIgc3RhdGUpXG4gICAgJi0taG92ZXItc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICAgICAgICo6aG92ZXIgPiAmLFxuICAgICAgICAqOmZvY3VzLXdpdGhpbiA+ICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL19jb2xvcnMuc2Nzc1xuXG4vLyBCYXNlIGNvbG9ycyBmcm9tIGRlc2lnbiBkb2N1bWVudFxuJGNvbG9yLWpmZS1saWdodGJsdWU6ICMwMDlkZGY7ICAgICAgICAgIC8vIEpGRSBsaWdodCBibHVlXG4kY29sb3ItamZlLXllbGxvdzogI2ZmY2MwMDsgICAgICAgICAgICAgLy8gSkZFIHllbGxvd1xuJGNvbG9yLWpmZS1hbG1vc3Qtd2hpdGU6ICNmYWZhZmE7ICAgICAgICAvLyBKRkUgYWxtb3N0IHdoaXRlIChiYWNrZ3JvdW5kIG9wdGlvbilcbiRjb2xvci1qZmUtZ3JheTogI2YzZjNmMjsgICAgICAgICAgICAgICAvLyBKRkUgZ3JheSAoYmFja2dyb3VuZCBvcHRpb24pXG4kY29sb3ItamZlLWdyYXktbWVkaXVtOiAjQ0ZDRkNGOyAgICAgICAgLy8gSkZFIG1lZGl1bSBncmF5IChmb3IgYm9yZGVycyBldGMuKVxuJGNvbG9yLWpmZS1ncmF5LWRhcms6IHJnYmEoMTg5LCAxODksIDE4OSwgMSk7IC8vIEpGRSBkYXJrIGdyYXkgKGZvciBkYXJrZXIgYm9yZGVycyBldGMuKVxuJGNvbG9yLWpmZS1ncmF5LWRhcmtlcjpyZ2JhKDEwNSwgMTA1LCAxMDUsIDEpOyAvLyBKRkUgZGFya2VyIGdyYXkgKEZvcm0gZGVzY3JpcHRpb24gdGV4dCBldGMuKVxuLy8gUHJvZ3JhbSBzcGVjaWZpYyBjb2xvcnNcbiRjb2xvci1lLWp1Z2VuZC1ibHVlOiAjMDAzMzk5OyAgICAgICAgICAvLyBFcmFzbXVzKyBZb3V0aCBibHVlXG4kY29sb3ItZXNrLW1hZ2VudGE6ICNlNTAwNmM7ICAgICAgICAgICAgLy8gRVNDIG1hZ2VudGFcbiRjb2xvci1lLXNwb3J0LW9yYW5nZTogI2UzNTMwZjsgICAgICAgICAvLyBFcmFzbXVzKyBTcG9ydCBvcmFuZ2VcblxuLy8gVXRpbGl0eSBjb2xvcnNcbiRjb2xvci13aGl0ZTogI2ZmZmZmZjsgICAgICAgICAgICAgIC8vIFdoaXRlIGNvbG9yIGZvciBiYWNrZ3JvdW5kc1xuJGNvbG9yLWJsYWNrOiAjMDAwMDAwOyAgICAgICAgICAgICAgLy8gQmxhY2sgY29sb3IgZm9yIHRleHRcbiRjb2xvci1vdmVybGF5LXNtOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4kY29sb3Itb3ZlcmxheS1tZDogcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiRjb2xvci1vdmVybGF5LWxnOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuXG4vLyBTZWNvbmRhcnkgYW5kIGRlcml2ZWQgY29sb3JzXG4kY29sb3ItamZlLXllbGxvdy1ob3ZlcjogI0VCQkMwMDsgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEpGRSB5ZWxsb3dcbiRjb2xvci1lLWp1Z2VuZC1ob3ZlcjogIzAwMmI4MDsgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRXJhc211cysgWW91dGggYmx1ZVxuJGNvbG9yLWVzay1ob3ZlcjogI2QwMDA2MjsgICAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBFU0MgbWFnZW50YVxuJGNvbG9yLWUtc3BvcnQtaG92ZXI6ICNjOTQ5MGQ7ICAgICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBFcmFzbXVzKyBTcG9ydCBvcmFuZ2VcblxuLy8gRXJyb3IgYW5kIHdhcm5pbmcgY29sb3JzXG4kY29sb3ItZXJyb3I6ICNkZjAwMDA7ICAgICAgICAgICAgICAgIC8vIEVycm9yIGNvbG9yIChyZWQpXG4kY29sb3ItZXJyb3ItYmc6ICNkZjAwMDAxYTsgICAgICAgICAgICAgLy8gRXJyb3IgYmFja2dyb3VuZCBjb2xvciAobGlnaHQgcmVkKVxuJGNvbG9yLXdhcm5pbmc6ICNmZmIzMDA7ICAgICAgICAgICAgICAvLyBXYXJuaW5nIGNvbG9yICh5ZWxsb3cpXG4kY29sb3Itd2FybmluZy1iZzogI2ZmYjMwMDFhOyAgICAgICAgICAvLyBXYXJuaW5nIGJhY2tncm91bmQgY29sb3IgKGxpZ2h0IHllbGxvdylcbiRjb2xvci1zdWNjZXNzOiAjOTVkZjAwOyAgICAgICAgICAgICAgLy8gU3VjY2VzcyBjb2xvciAoZ3JlZW4pXG4kY29sb3Itc3VjY2Vzcy1iZzogIzk1ZGYwMDFhOyAgICAgICAgICAvLyBTdWNjZXNzIGJhY2tncm91bmQgY29sb3IgKGxpZ2h0IGdyZWVuKVxuIiwiLy8gQVVUTy1HRU5FUkFURUQgRklMRSBmcm9tIGJ1aWxkLWJyZWFrcG9pbnRzLmpzXG4vLyBETyBOT1QgRURJVCBESVJFQ1RMWVxuXG4vLyBJbXBvcnQgU2FzcyBtYXAgbW9kdWxlXG5AdXNlIFwic2FzczptYXBcIjtcblxuLy8gQnJlYWtwb2ludCB2YWx1ZXNcbiRicmVha3BvaW50LXNtOiA2NDBweDtcbiRicmVha3BvaW50LW1kOiA3NjhweDtcbiRicmVha3BvaW50LWxnOiAxMDI0cHg7XG4kYnJlYWtwb2ludC14bDogMTI4MHB4O1xuJGJyZWFrcG9pbnQtMnhsOiAxNTM2cHg7XG5cbi8vIE1hcCBmb3IgcHJvZ3JhbW1hdGljIGFjY2Vzc1xuJGJyZWFrcG9pbnRzOiAoXG4gICdzbSc6ICRicmVha3BvaW50LXNtLFxuICAnbWQnOiAkYnJlYWtwb2ludC1tZCxcbiAgJ2xnJzogJGJyZWFrcG9pbnQtbGcsXG4gICd4bCc6ICRicmVha3BvaW50LXhsLFxuICAnMnhsJzogJGJyZWFrcG9pbnQtMnhsXG4pO1xuXG4vLyBNaXhpbiBmb3IgZWFzeSBtZWRpYSBxdWVyaWVzIGJhc2VkIG9uIGRlZmluZWQgYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRwb2ludCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRwb2ludH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzIChzbWFsbGVyIHRoYW4gYSBicmVha3BvaW50KVxuQG1peGluIGJyZWFrcG9pbnQtZG93bigkcG9pbnQpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHBvaW50KSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIC0gMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skcG9pbnR9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG5cbi8vIE1peGluIGZvciBjcmVhdGluZyBzdHlsZXMgYmV0d2VlbiB0d28gYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50LWJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWluKSBhbmQgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWF4KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWluKSkgYW5kIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWF4KSAtIDFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JG1pbn0nIG9yICcjeyRtYXh9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9*/