@charset "UTF-8";
.jxsearch-wrapper .nav-tabs {
  border: none; }
  .jxsearch-wrapper .nav-tabs li {
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .jxsearch-wrapper .nav-tabs li a {
      border: none;
      padding: 0;
      font-size: 1.42857rem;
      line-height: 1.42857rem;
      margin-right: 0.71429rem;
      color: #0f0f0f; }
      .jxsearch-wrapper .nav-tabs li a.active {
        display: none; }
    .jxsearch-wrapper .nav-tabs li:first-child a {
      color: #efa523; }

.jxsearch-wrapper .tab-content {
  width: 100%; }
  .jxsearch-wrapper .tab-content form {
    max-width: 100%; }

.jxsearch-wrapper #jxsearchblock {
  max-width: 71.42857rem;
  margin: 0 auto; }
  @media (max-width: 767.98px) {
    .jxsearch-wrapper #jxsearchblock {
      padding-left: 0;
      padding-right: 0; } }

.jxsearch-wrapper .form-inline {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .jxsearch-wrapper .form-inline .form-control {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    margin-right: 0.5rem; }

.jxsearch-wrapper .custom-select {
  background-color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  color: #919191;
  margin-right: 0.5rem;
  width: 14.28571rem;
  height: auto; }
  @media (max-width: 1615.98px) {
    .jxsearch-wrapper .custom-select {
      font-size: 0;
      text-align: center;
      background-position: 50% 50%;
      width: 3.57143rem;
      margin-right: 0.35714rem; }
      .jxsearch-wrapper .custom-select option {
        width: 100%;
        font-size: 0.85714rem; } }
  .jxsearch-wrapper .custom-select:focus {
    border-color: #ebebeb; }

.jxsearch-wrapper .button-search i, .jxsearch-wrapper .button-search span {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.14286rem; }

@media (min-width: 768px) {
  .jxsearch-wrapper .button-search {
    min-width: 3.21429rem;
    padding: 0 0.71429rem; }
    .jxsearch-wrapper .button-search i {
      font-size: 1.35714rem;
      line-height: 2.85714rem; } }

@media (max-width: 767.98px) {
  .jxsearch-wrapper .button-search span {
    display: none; } }

.jxsearch-wrapper #jxsearch_result, .jxsearch-wrapper #jxsearch_blog_result {
  position: fixed;
  left: 0;
  right: 0;
  top: 7.14286rem;
  background: white;
  z-index: 5;
  padding: 2.14286rem;
  overflow-y: auto;
  max-height: calc(100% - 7.14286rem);
  max-width: 71.42857rem;
  margin: 0 auto; }
  @media (max-width: 575.98px) {
    .jxsearch-wrapper #jxsearch_result, .jxsearch-wrapper #jxsearch_blog_result {
      padding: 1.07143rem;
      top: 5rem;
      max-height: calc(100% - 5rem); } }
  .jxsearch-wrapper #jxsearch_result .search-page, .jxsearch-wrapper #jxsearch_blog_result .search-page {
    overflow: hidden;
    clear: both; }
  .jxsearch-wrapper #jxsearch_result .jxsearch-row, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-row {
    padding: 1.07143rem;
    margin-top: 2.14286rem;
    overflow: hidden;
    cursor: pointer;
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease; }
    .jxsearch-wrapper #jxsearch_result .jxsearch-row .jxsearch-inner-row, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-row .jxsearch-inner-row {
      position: relative; }
      .jxsearch-wrapper #jxsearch_result .jxsearch-row .jxsearch-inner-row img, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-row .jxsearch-inner-row img {
        margin-right: 1.07143rem;
        background: #ffffff;
        float: left;
        max-width: 5.71429rem; }
    .jxsearch-wrapper #jxsearch_result .jxsearch-row:first-child, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-row:first-child {
      margin: 0; }
    .jxsearch-wrapper #jxsearch_result .jxsearch-row:hover, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-row:hover {
      background: #f7f7f7; }
  .jxsearch-wrapper #jxsearch_result .reference, .jxsearch-wrapper #jxsearch_result .quantity, .jxsearch-wrapper #jxsearch_result .availability, .jxsearch-wrapper #jxsearch_blog_result .reference, .jxsearch-wrapper #jxsearch_blog_result .quantity, .jxsearch-wrapper #jxsearch_blog_result .availability {
    display: inline-block;
    vertical-align: middle;
    margin: 0 1.07143rem 0 0;
    font-size: 0.85714rem; }
    .jxsearch-wrapper #jxsearch_result .reference.availability, .jxsearch-wrapper #jxsearch_result .quantity.availability, .jxsearch-wrapper #jxsearch_result .availability.availability, .jxsearch-wrapper #jxsearch_blog_result .reference.availability, .jxsearch-wrapper #jxsearch_blog_result .quantity.availability, .jxsearch-wrapper #jxsearch_blog_result .availability.availability {
      text-decoration: underline; }
    .jxsearch-wrapper #jxsearch_result .reference.quantity, .jxsearch-wrapper #jxsearch_result .quantity.quantity, .jxsearch-wrapper #jxsearch_result .availability.quantity, .jxsearch-wrapper #jxsearch_blog_result .reference.quantity, .jxsearch-wrapper #jxsearch_blog_result .quantity.quantity, .jxsearch-wrapper #jxsearch_blog_result .availability.quantity {
      color: #ccc; }
  .jxsearch-wrapper #jxsearch_result .name, .jxsearch-wrapper #jxsearch_blog_result .name {
    display: block;
    font-size: 1.07143rem;
    line-height: 1.5rem;
    font-weight: bold;
    margin: 0.35714rem 0; }
    .jxsearch-wrapper #jxsearch_result .name strong, .jxsearch-wrapper #jxsearch_blog_result .name strong {
      color: black; }
  .jxsearch-wrapper #jxsearch_result .price, .jxsearch-wrapper #jxsearch_blog_result .price {
    color: #333;
    font-size: 0.92857rem;
    font-weight: bold;
    position: absolute;
    right: 0;
    top: 0; }
    .jxsearch-wrapper #jxsearch_result .price.new-price, .jxsearch-wrapper #jxsearch_blog_result .price.new-price {
      color: red; }
  .jxsearch-wrapper #jxsearch_result .description-short, .jxsearch-wrapper #jxsearch_blog_result .description-short {
    margin-bottom: 0.71429rem; }
  .jxsearch-wrapper #jxsearch_result div > strong, .jxsearch-wrapper #jxsearch_blog_result div > strong {
    font-weight: normal;
    color: black; }
  .jxsearch-wrapper #jxsearch_result .manufacturer-name, .jxsearch-wrapper #jxsearch_result .supplier-name, .jxsearch-wrapper #jxsearch_blog_result .manufacturer-name, .jxsearch-wrapper #jxsearch_blog_result .supplier-name {
    float: right;
    margin-left: 1.42857rem;
    display: block;
    background: #ffffff;
    padding: 0.21429rem 0.5rem;
    font-size: 0.78571rem;
    line-height: 1.07143rem; }
  .jxsearch-wrapper #jxsearch_result.loading, .jxsearch-wrapper #jxsearch_blog_result.loading {
    opacity: 0.5; }
  .jxsearch-wrapper #jxsearch_result div.hidden-row, .jxsearch-wrapper #jxsearch_result div.hidden-page, .jxsearch-wrapper #jxsearch_blog_result div.hidden-row, .jxsearch-wrapper #jxsearch_blog_result div.hidden-page {
    display: none; }
  .jxsearch-wrapper #jxsearch_result .pagers, .jxsearch-wrapper #jxsearch_blog_result .pagers {
    float: right;
    padding-top: 1.07143rem; }
    .jxsearch-wrapper #jxsearch_result .pagers a, .jxsearch-wrapper #jxsearch_blog_result .pagers a {
      background: #f7f7f7;
      padding: 0.35714rem 0.71429rem;
      margin: 0 0.21429rem;
      display: inline-block;
      text-decoration: none; }
      .jxsearch-wrapper #jxsearch_result .pagers a:hover, .jxsearch-wrapper #jxsearch_result .pagers a.active, .jxsearch-wrapper #jxsearch_result .pagers a:focus, .jxsearch-wrapper #jxsearch_blog_result .pagers a:hover, .jxsearch-wrapper #jxsearch_blog_result .pagers a.active, .jxsearch-wrapper #jxsearch_blog_result .pagers a:focus {
        background: #f1f0f0;
        color: #000;
        outline: none; }
  .jxsearch-wrapper #jxsearch_result .navigation, .jxsearch-wrapper #jxsearch_blog_result .navigation {
    float: right;
    padding-top: 1.07143rem; }
    .jxsearch-wrapper #jxsearch_result .navigation.top, .jxsearch-wrapper #jxsearch_blog_result .navigation.top {
      padding-top: 0;
      padding-bottom: 1.07143rem; }
    .jxsearch-wrapper #jxsearch_result .navigation > a, .jxsearch-wrapper #jxsearch_blog_result .navigation > a {
      float: left;
      font-size: 1.71429rem;
      padding: 0.14286rem 0;
      text-decoration: none; }
      .jxsearch-wrapper #jxsearch_result .navigation > a.disabled, .jxsearch-wrapper #jxsearch_blog_result .navigation > a.disabled {
        cursor: default;
        color: #cccccc; }
      .jxsearch-wrapper #jxsearch_result .navigation > a:hover, .jxsearch-wrapper #jxsearch_result .navigation > a.active, .jxsearch-wrapper #jxsearch_result .navigation > a:focus, .jxsearch-wrapper #jxsearch_blog_result .navigation > a:hover, .jxsearch-wrapper #jxsearch_blog_result .navigation > a.active, .jxsearch-wrapper #jxsearch_blog_result .navigation > a:focus {
        outline: none; }
    .jxsearch-wrapper #jxsearch_result .navigation .pagers, .jxsearch-wrapper #jxsearch_blog_result .navigation .pagers {
      float: left;
      padding-top: 0; }
    .jxsearch-wrapper #jxsearch_result .navigation .count-pages, .jxsearch-wrapper #jxsearch_blog_result .navigation .count-pages {
      float: left;
      font-size: 1.21429rem;
      padding: 0.35714rem 0.71429rem; }
      .jxsearch-wrapper #jxsearch_result .navigation .count-pages .current, .jxsearch-wrapper #jxsearch_blog_result .navigation .count-pages .current {
        color: #000000; }
  .jxsearch-wrapper #jxsearch_result .jxsearch-alllink, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-alllink {
    padding-top: 1.42857rem;
    float: left; }
    .jxsearch-wrapper #jxsearch_result .jxsearch-alllink a, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-alllink a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .jxsearch-wrapper #jxsearch_result .jxsearch-alllink a:after, .jxsearch-wrapper #jxsearch_blog_result .jxsearch-alllink a:after {
        font-family: "fl-outicons";
        content: "\E048";
        font-size: 1.35714rem;
        color: #85ce90;
        margin-left: 0.71429rem;
        vertical-align: -0.28571rem; }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4c2VhcmNoL3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L3RoZW1lX0NsaW1iZXJTdG9yZS90aGVtZXMvdGhlbWVfMTUxMi9fZGV2L2p4c2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeHNlYXJjaC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9tb2R1bGVzL2p4c2VhcmNoL3ZpZXdzL2Nzcy9qeHNlYXJjaC5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanhzZWFyY2gvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvdGhlbWVfQ2xpbWJlclN0b3JlL3RoZW1lcy90aGVtZV8xNTEyL19kZXYvY3NzL3BhcnRpYWxzL192YXJpYWJsZXNfY29sb3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4c2VhcmNoL3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L3RoZW1lX0NsaW1iZXJTdG9yZS90aGVtZXMvdGhlbWVfMTUxMi9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeHNlYXJjaC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9jc3MvcGFydGlhbHMvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0NqQjtFQUVJLGFBQVksRUFvQmI7RUF0Qkg7SUFJTSxhQUFZO0lBQ1oscUJBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwwQkFBbUI7UUFBbkIsdUJB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bkIsK0JBQWlCO01BQ2pCLHFCQUFhO01BQ2Isc0JBQXFCO01BQ3JCLHNCQUFxQixFQU10QjtNQXBOUDtRQWdOVSxvQkFBbUI7UUFDbkIsWUFBVztRQUNYLGNBQWEsRUFDZDtFQW5OVDtJQXVOTSxhQUFZO0lBQ1osd0JBQWlCLEVBOEJsQjtJQXRQTDtNQTBOUSxlQUFjO01BQ2QsMkJBQW9CLEVBQ3JCO0lBNU5QO01BOE5RLFlBQVc7TUFDWCxzQkFBZTtNQUNmLHNCQUFjO01BQ2Qsc0JBQXFCLEVBUXRCO01Bek9QO1FBbU9VLGdCQUFlO1FBQ2YsZUFBYyxFQUNmO01Bck9UO1FBdU9VLGNBQWEsRUFDZDtJQXhPVDtNQTJPUSxZQUFXO01BQ1gsZUFBYyxFQUNmO0lBN09QO01BK09RLFlBQVc7TUFDWCxzQkFBZTtNQUNmLCtCQUFpQixFQUlsQjtNQXJQUDtRQW1QVSxlQUFjLEVBQ2Y7RUFwUFQ7SUF3UE0sd0JBQWlCO0lBQ2pCLFlBQVcsRUFRWjtJQWpRTDtNQTJQUSxxQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDBCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsb0JBQW1CLEVBSXBCO01BaFFQO1FHd0JFLDJCQUEwQjtRQUMxQixpQkhxTzhCO1FHbk81QixzQkhtT3lDO1FHN056QyxlSDZOK0Q7UUcxTi9ELHdCSDBOcUU7UUdwTnJFLDRCSG9OeUYsRUFDcEYiLCJmaWxlIjoiLi5cXG1vZHVsZXNcXGp4c2VhcmNoXFx2aWV3c1xcY3NzXFxqeHNlYXJjaC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4uanhzZWFyY2gtd3JhcHBlciAubmF2LXRhYnMge1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmp4c2VhcmNoLXdyYXBwZXIgLm5hdi10YWJzIGxpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmp4c2VhcmNoLXdyYXBwZXIgLm5hdi10YWJzIGxpIGEge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6ICMwZjBmMGY7IH1cbiAgICAgIC5qeHNlYXJjaC13cmFwcGVyIC5uYXYtdGFicyBsaSBhLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuanhzZWFyY2gtd3JhcHBlciAubmF2LXRhYnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICBjb2xvcjogI2VmYTUyMzsgfVxuXG4uanhzZWFyY2gtd3JhcHBlciAudGFiLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTsgfVxuICAuanhzZWFyY2gtd3JhcHBlciAudGFiLWNvbnRlbnQgZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaGJsb2NrIHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaGJsb2NrIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uanhzZWFyY2gtd3JhcHBlciAuZm9ybS1pbmxpbmUge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmp4c2VhcmNoLXdyYXBwZXIgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wge1xuICAgIGZsZXg6IDEgMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuXG4uanhzZWFyY2gtd3JhcHBlciAuY3VzdG9tLXNlbGVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzkxOTE5MTtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxNjE1Ljk4cHgpIHtcbiAgICAuanhzZWFyY2gtd3JhcHBlciAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLmp4c2VhcmNoLXdyYXBwZXIgLmN1c3RvbS1zZWxlY3Qgb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gIC5qeHNlYXJjaC13cmFwcGVyIC5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7IH1cblxuLmp4c2VhcmNoLXdyYXBwZXIgLmJ1dHRvbi1zZWFyY2ggaSwgLmp4c2VhcmNoLXdyYXBwZXIgLmJ1dHRvbi1zZWFyY2ggc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5qeHNlYXJjaC13cmFwcGVyIC5idXR0b24tc2VhcmNoIHtcbiAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgLmp4c2VhcmNoLXdyYXBwZXIgLmJ1dHRvbi1zZWFyY2ggaSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAuanhzZWFyY2gtd3JhcHBlciAuYnV0dG9uLXNlYXJjaCBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHotaW5kZXg6IDU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCB7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gNzBweCk7IH0gfVxuICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5zZWFyY2gtcGFnZSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5zZWFyY2gtcGFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5qeHNlYXJjaC1yb3csIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAuanhzZWFyY2gtcm93IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7IH1cbiAgICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5qeHNlYXJjaC1yb3cgLmp4c2VhcmNoLWlubmVyLXJvdywgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5qeHNlYXJjaC1yb3cgLmp4c2VhcmNoLWlubmVyLXJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLmp4c2VhcmNoLXJvdyAuanhzZWFyY2gtaW5uZXItcm93IGltZywgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5qeHNlYXJjaC1yb3cgLmp4c2VhcmNoLWlubmVyLXJvdyBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7IH1cbiAgICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5qeHNlYXJjaC1yb3c6Zmlyc3QtY2hpbGQsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAuanhzZWFyY2gtcm93OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLmp4c2VhcmNoLXJvdzpob3ZlciwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5qeHNlYXJjaC1yb3c6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2Y3ZjdmNzsgfVxuICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5yZWZlcmVuY2UsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLnF1YW50aXR5LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5hdmFpbGFiaWxpdHksIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAucmVmZXJlbmNlLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLnF1YW50aXR5LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLmF2YWlsYWJpbGl0eSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLnJlZmVyZW5jZS5hdmFpbGFiaWxpdHksIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLnF1YW50aXR5LmF2YWlsYWJpbGl0eSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAuYXZhaWxhYmlsaXR5LmF2YWlsYWJpbGl0eSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5yZWZlcmVuY2UuYXZhaWxhYmlsaXR5LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLnF1YW50aXR5LmF2YWlsYWJpbGl0eSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5hdmFpbGFiaWxpdHkuYXZhaWxhYmlsaXR5IHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAucmVmZXJlbmNlLnF1YW50aXR5LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5xdWFudGl0eS5xdWFudGl0eSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAuYXZhaWxhYmlsaXR5LnF1YW50aXR5LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLnJlZmVyZW5jZS5xdWFudGl0eSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5xdWFudGl0eS5xdWFudGl0eSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5hdmFpbGFiaWxpdHkucXVhbnRpdHkge1xuICAgICAgY29sb3I6ICNjY2M7IH1cbiAgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAubmFtZSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hbWUgc3Ryb25nLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLm5hbWUgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiBibGFjazsgfVxuICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5wcmljZSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5wcmljZSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5wcmljZS5uZXctcHJpY2UsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAucHJpY2UubmV3LXByaWNlIHtcbiAgICAgIGNvbG9yOiByZWQ7IH1cbiAgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAuZGVzY3JpcHRpb24tc2hvcnQsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAuZGVzY3JpcHRpb24tc2hvcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCBkaXYgPiBzdHJvbmcsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCBkaXYgPiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm1hbnVmYWN0dXJlci1uYW1lLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5zdXBwbGllci1uYW1lLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLm1hbnVmYWN0dXJlci1uYW1lLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLnN1cHBsaWVyLW5hbWUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDNweCA3cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4OyB9XG4gIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQubG9hZGluZywgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0LmxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IGRpdi5oaWRkZW4tcm93LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IGRpdi5oaWRkZW4tcGFnZSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IGRpdi5oaWRkZW4tcm93LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgZGl2LmhpZGRlbi1wYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLnBhZ2VycywgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5wYWdlcnMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLnBhZ2VycyBhLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLnBhZ2VycyBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLnBhZ2VycyBhOmhvdmVyLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfcmVzdWx0IC5wYWdlcnMgYS5hY3RpdmUsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLnBhZ2VycyBhOmZvY3VzLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLnBhZ2VycyBhOmhvdmVyLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLnBhZ2VycyBhLmFjdGl2ZSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5wYWdlcnMgYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMWYwZjA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hdmlnYXRpb24sIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAubmF2aWdhdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gICAgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAubmF2aWdhdGlvbi50b3AsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAubmF2aWdhdGlvbi50b3Age1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hdmlnYXRpb24gPiBhLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLm5hdmlnYXRpb24gPiBhIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hdmlnYXRpb24gPiBhLmRpc2FibGVkLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLm5hdmlnYXRpb24gPiBhLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBjb2xvcjogI2NjY2NjYzsgfVxuICAgICAgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAubmF2aWdhdGlvbiA+IGE6aG92ZXIsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hdmlnYXRpb24gPiBhLmFjdGl2ZSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAubmF2aWdhdGlvbiA+IGE6Zm9jdXMsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAubmF2aWdhdGlvbiA+IGE6aG92ZXIsIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9ibG9nX3Jlc3VsdCAubmF2aWdhdGlvbiA+IGEuYWN0aXZlLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLm5hdmlnYXRpb24gPiBhOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hdmlnYXRpb24gLnBhZ2VycywgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5uYXZpZ2F0aW9uIC5wYWdlcnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hdmlnYXRpb24gLmNvdW50LXBhZ2VzLCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLm5hdmlnYXRpb24gLmNvdW50LXBhZ2VzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7IH1cbiAgICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLm5hdmlnYXRpb24gLmNvdW50LXBhZ2VzIC5jdXJyZW50LCAuanhzZWFyY2gtd3JhcHBlciAjanhzZWFyY2hfYmxvZ19yZXN1bHQgLm5hdmlnYXRpb24gLmNvdW50LXBhZ2VzIC5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX3Jlc3VsdCAuanhzZWFyY2gtYWxsbGluaywgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5qeHNlYXJjaC1hbGxsaW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLmp4c2VhcmNoLWFsbGxpbmsgYSwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5qeHNlYXJjaC1hbGxsaW5rIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5qeHNlYXJjaC13cmFwcGVyICNqeHNlYXJjaF9yZXN1bHQgLmp4c2VhcmNoLWFsbGxpbmsgYTphZnRlciwgLmp4c2VhcmNoLXdyYXBwZXIgI2p4c2VhcmNoX2Jsb2dfcmVzdWx0IC5qeHNlYXJjaC1hbGxsaW5rIGE6YWZ0ZXIge1xuICAgICAgICBmb250LWZhbWlseTogXCJmbC1vdXRpY29uc1wiO1xuICAgICAgICBjb250ZW50OiBcIu6BiFwiO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGNvbG9yOiAjODVjZTkwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC00cHg7IH1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhzZWFyY2gvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvdGhlbWVfQ2xpbWJlclN0b3JlL3RoZW1lcy90aGVtZV8xNTEyL19kZXYvanhzZWFyY2guc2NzcyIsIkBpbXBvcnQgXCJjc3MvcGFydGlhbHMvX3ZhcmlhYmxlc1wiO1xyXG4uanhzZWFyY2gtd3JhcHBlciB7XG4gIC5uYXYtdGFicyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGxpIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGFiLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAjanhzZWFyY2hibG9jayB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBcbiAgLmZvcm0taW5saW5lIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGZsZXg6IDEgMTtcbiAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgIH1cbiAgfVxuICBcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgICB9XG4gIH1cbiAgXG4gIC5idXR0b24tc2VhcmNoIHtcbiAgICBpLCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWluLXdpZHRoOiA0NXB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAjanhzZWFyY2hfcmVzdWx0LCAjanhzZWFyY2hfYmxvZ19yZXN1bHQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgei1pbmRleDogNTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHRvcDogNzBweDtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgIH1cbiAgICAuc2VhcmNoLXBhZ2Uge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICAuanhzZWFyY2gtcm93IHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICAgICAgLmp4c2VhcmNoLWlubmVyLXJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5yZWZlcmVuY2UsIC5xdWFudGl0eSwgLmF2YWlsYWJpbGl0eSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgJi5hdmFpbGFiaWxpdHkge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICAgICYucXVhbnRpdHkge1xuICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAucHJpY2Uge1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgJi5uZXctcHJpY2Uge1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgLmRlc2NyaXB0aW9uLXNob3J0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICBcbiAgICBkaXYgPiBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gICAgLm1hbnVmYWN0dXJlci1uYW1lLCAuc3VwcGxpZXItbmFtZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIHBhZGRpbmc6IDNweCA3cHg7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB9XG4gIFxuICAgICYubG9hZGluZyB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICBcbiAgICBkaXYuaGlkZGVuLXJvdywgZGl2LmhpZGRlbi1wYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5wYWdlcnMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2YxZjBmMDtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgJi50b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgICA+IGEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBwYWRkaW5nOiAycHggMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgY29sb3I6ICNjY2NjY2M7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wYWdlcnMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gICAgICAuY291bnQtcGFnZXMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5qeHNlYXJjaC1hbGxsaW5rIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYWRkRmxPdXRJY29uKCdcXGUwNDgnLCAxOXB4LCBsaW5lLWhlaWdodCwgIzg1Y2U5MCwgMTBweCwgbWFyZ2luLXJpZ2h0LCAtNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhzZWFyY2gvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvdGhlbWVfQ2xpbWJlclN0b3JlL3RoZW1lcy90aGVtZV8xNTEyL19kZXYvbW9kdWxlcy9qeHNlYXJjaC92aWV3cy9jc3MvanhzZWFyY2guc2NzcyIsIi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG4kd2hpdGU6ICAjZmZmO1xuJGdyYXktMTAwOiAjZmFmYWZhIDtcbiRncmF5LTIwMDogI2YxZjFmMTtcbiRncmF5LTMwMDogI2ViZWJlYjtcbiRncmF5LTQwMDogI2RkZGRkZDtcbiRncmF5LTUwMDogI2FiYWJhYjtcbiRncmF5LTYwMDogIzkxOTE5MTtcbiRncmF5LTcwMDogIzYzNjM2MztcbiRncmF5LTgwMDogIzNhM2EzYTtcbiRncmF5LTkwMDogIzBmMGYwZjtcbiRibGFjazogICMwMDA7XG5cbiRncmF5czogKFxuICAxMDA6ICRncmF5LTEwMCxcbiAgMjAwOiAkZ3JheS0yMDAsXG4gIDMwMDogJGdyYXktMzAwLFxuICA0MDA6ICRncmF5LTQwMCxcbiAgNTAwOiAkZ3JheS01MDAsXG4gIDYwMDogJGdyYXktNjAwLFxuICA3MDA6ICRncmF5LTcwMCxcbiAgODAwOiAkZ3JheS04MDAsXG4gIDkwMDogJGdyYXktOTAwXG4pO1xuXG4kYmx1ZTogICAgIzVkOWNlYztcbiRpbmRpZ286ICAjNjYxMGYyO1xuJHB1cnBsZTogICM2ZjQyYzE7XG4kcGluazogICAgI2RlNmQ2ZDtcbiRyZWQ6ICAgICAjZDA1NjU2O1xuJG9yYW5nZTogICNlZmE1MjM7XG4keWVsbG93OiAgI2ZmZjFiYztcbiRncmVlbjogICAjN2NkMjJmO1xuJHRlYWw6ICAgICMyMGM5OTc7XG4kY3lhbjogICAgI2M1ZjJmZDtcblxuJGNvbG9yczogKFxuICBibHVlOiAkYmx1ZSxcbiAgaW5kaWdvOiAkaW5kaWdvLFxuICBwdXJwbGU6ICRwdXJwbGUsXG4gIHBpbms6ICRwaW5rLFxuICByZWQ6ICRyZWQsXG4gIG9yYW5nZTogJG9yYW5nZSxcbiAgeWVsbG93OiAkeWVsbG93LFxuICBncmVlbjogJGdyZWVuLFxuICB0ZWFsOiAkdGVhbCxcbiAgY3lhbjogJGN5YW4sXG4gIHdoaXRlOiAkd2hpdGUsXG4gIGdyYXk6ICRncmF5LTYwMCxcbiAgZ3JheS1kYXJrOiAkZ3JheS04MDAsXG4gIGdyYXktZGFya2VyOiAkZ3JheS05MDAsXG4gIGdyYXktbGlnaHQ6ICRncmF5LTIwMCxcbiAgZ3JheS1saWdodGVyOiAkZ3JheS0xMDBcbik7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgcHJpbWFyeTogJG9yYW5nZSxcbiAgc2Vjb25kYXJ5OiAkZ3JheS05MDAsXG4gIHN1Y2Nlc3M6ICRncmVlbixcbiAgaW5mbzogJGN5YW4sXG4gIHdhcm5pbmc6ICRvcmFuZ2UsXG4gIGRhbmdlcjogJHBpbmssXG4gIGxpZ2h0OiAkZ3JheS0yMDAsXG4gIGRhcms6ICRncmF5LTkwMCxcbiAgd2hpdGU6ICR3aGl0ZVxuKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4c2VhcmNoL3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L3RoZW1lX0NsaW1iZXJTdG9yZS90aGVtZXMvdGhlbWVfMTUxMi9fZGV2L2Nzcy9wYXJ0aWFscy9fdmFyaWFibGVzX2NvbG9yLnNjc3MiLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4c2VhcmNoL3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L3RoZW1lX0NsaW1iZXJTdG9yZS90aGVtZXMvdGhlbWVfMTUxMi9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIvL21peGluIGZvciBpY29ucyAtIEBpbmNsdWRlIGFkZEljb24oJ1xcZjAyMScsIGZvbnQtc2l6ZSwgbGluZS1oZWlnaHQsIGNvbG9yLCBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB2ZXJ0aWNhbC1hbGlnbilcbkBtaXhpbiBhZGRJY29uKCRjb250ZW50LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjb2xvciwgJG1hcmdpbi1sZWZ0LCAkbWFyZ2luLXJpZ2h0LCAkdmVydGljYWwtYWxpZ24pIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIGNvbnRlbnQ6ICRjb250ZW50O1xuICBAaWYgJGZvbnQtc2l6ZSAhPSBmb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuICBAaWYgJGxpbmUtaGVpZ2h0ICE9IGxpbmUtaGVpZ2h0IHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG4gIEBpZiAkY29sb3IgIT0gY29sb3Ige1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgQGlmICRtYXJnaW4tbGVmdCAhPSBtYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgfVxuICBAaWYgJG1hcmdpbi1yaWdodCAhPSBtYXJnaW4tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbi1yaWdodDtcbiAgfVxuICBAaWYgJHZlcnRpY2FsLWFsaWduICE9IHZlcnRpY2FsLWFsaWduIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICB9XG59XG5cbkBtaXhpbiBhZGRGbE91dEljb24oJGNvbnRlbnQsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNvbG9yLCAkbWFyZ2luLWxlZnQsICRtYXJnaW4tcmlnaHQsICR2ZXJ0aWNhbC1hbGlnbikge1xuICBmb250LWZhbWlseTogXCJmbC1vdXRpY29uc1wiO1xuICBjb250ZW50OiAkY29udGVudDtcbiAgQGlmICRmb250LXNpemUgIT0gZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cbiAgQGlmICRsaW5lLWhlaWdodCAhPSBsaW5lLWhlaWdodCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuICBAaWYgJGNvbG9yICE9IGNvbG9yIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIEBpZiAkbWFyZ2luLWxlZnQgIT0gbWFyZ2luLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XG4gIH1cbiAgQGlmICRtYXJnaW4tcmlnaHQgIT0gbWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gIH1cbiAgQGlmICR2ZXJ0aWNhbC1hbGlnbiAhPSB2ZXJ0aWNhbC1hbGlnbiB7XG4gICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhzZWFyY2gvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvdGhlbWVfQ2xpbWJlclN0b3JlL3RoZW1lcy90aGVtZV8xNTEyL19kZXYvY3NzL3BhcnRpYWxzL19taXhpbnMuc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/