.u-type--light {
  font-weight: 300;
}

.u-type--regular {
  font-weight: 400;
}

.u-type--medium {
  font-weight: 500;
}

.u-type--bold {
  font-weight: 700;
}

/* breakpoints */
.search-results .ttc-loading {
  height: 100px;
  color: #da251d;
  font-size: 90px;
  text-indent: -9999em;
  overflow: hidden;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin: 72px auto;
  position: relative;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
  animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}
.search-results {
  /* breakpoints */
}
.search-results .u-type--light {
  font-weight: 300;
}
.search-results .u-type--regular {
  font-weight: 400;
}
.search-results .u-type--medium {
  font-weight: 500;
}
.search-results .u-type--bold {
  font-weight: 700;
}
.search-results input {
  border-radius: 0;
}
.search-results.vertical .search-result-list > li {
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  width: 100%;
}
.search-results.vertical .search-result-list > li .field-title {
  display: block;
}
.search-results.vertical .search-result-list > li:hover {
  border-bottom: 1px 1px 2px 1px solid #15909c;
}
.search-results.horizontal .search-result-list:after {
  content: "";
  display: table;
  clear: both;
}
.search-results.horizontal .search-result-list {
  width: 100%;
}
.search-results.horizontal .search-result-list > li {
  display: inline-block;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px 1px 2px 1px solid #d2d2d2;
  position: relative;
  min-height: 120px;
  height: 100%;
  margin: 0 2% 10px 0;
  padding: 5px;
  width: 23%;
}
.search-results.horizontal .search-result-list > li .field-title {
  display: block;
  padding: 0 5px;
  text-align: center;
}
.search-results.horizontal .search-result-list > li .field-title a {
  font-size: 1.8rem;
  line-height: 20px;
  text-decoration: none;
  font-weight: normal;
}
.search-results.horizontal .search-result-list > li:hover {
  border-bottom: 1px 1px 2px 1px solid #15909c;
}
.search-results .search-results-overlay {
  display: none;
}
.search-results.loading-in-progress {
  min-height: 200px;
}
.search-results.loading-in-progress .search-result-overlay {
  background-color: rgba(255, 255, 255, 0.9);
}
.search-results.loading-in-progress .search-result-overlay:after {
  content: "";
  background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJibGFjayI+CiAgPHBhdGggIG9wYWNpdHk9Ii4yNSIgZD0iTTE2IDAgQTE2IDE2IDAgMCAwIDE2IDMyIEExNiAxNiAwIDAgMCAxNiAwIE0xNiA0IEExMiAxMiAwIDAgMSAxNiAyOCBBMTIgMTIgMCAwIDEgMTYgNCIvPgogIDxwYXRoIGZpbGw9JyNkZGRkZGQnIGQ9Ik0xNiAwIEExNiAxNiAwIDAgMSAzMiAxNiBMMjggMTYgQTEyIDEyIDAgMCAwIDE2IDR6Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBmcm9tPSIwIDE2IDE2IiB0bz0iMzYwIDE2IDE2IiBkdXI9IjAuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvcGF0aD4KPC9zdmc+);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  position: absolute;
  width: 50px;
  height: 0px;
  top: 50%;
  left: 0;
  right: 0;
  margin: -30px auto 0;
}
.search-results.loading-more-in-progress:after {
  content: "";
  display: block;
  background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJibGFjayI+DQogIDxwYXRoICBvcGFjaXR5PSIuMjUiIGQ9Ik0xNiAwIEExNiAxNiAwIDAgMCAxNiAzMiBBMTYgMTYgMCAwIDAgMTYgMCBNMTYgNCBBMTIgMTIgMCAwIDEgMTYgMjggQTEyIDEyIDAgMCAxIDE2IDQiLz4NCiAgPHBhdGggZmlsbD0nIzFhODBiNicgZD0iTTE2IDAgQTE2IDE2IDAgMCAxIDMyIDE2IEwyOCAxNiBBMTIgMTIgMCAwIDAgMTYgNHoiPg0KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBmcm9tPSIwIDE2IDE2IiB0bz0iMzYwIDE2IDE2IiBkdXI9IjAuOHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPg0KICA8L3BhdGg+DQo8L3N2Zz4NCg==);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 50% 50%;
  height: 100px;
}
.search-results .no-results {
  padding: 5px;
}

.c-news-results li {
  border-bottom: 1px solid #767676;
  padding-bottom: calc(32px - 1px);
  margin-bottom: 32px;
}
.c-news-results li:last-child {
  margin-bottom: 0;
}

.c-news-results__date {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 20px;
}
@media (min-width: 768px) {
  .c-news-results__date {
    font-size: 1.6rem;
    line-height: 24px;
  }
}
.c-news-results__date {
  font-style: normal;
  font-weight: 400;
  color: #4a4a4a;
}

.c-news-results__text a {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.8rem;
  line-height: 24px;
}
@media (min-width: 768px) {
  .c-news-results__text a {
    font-size: 2rem;
    line-height: 24px;
  }
}
.c-news-results__text a {
  font-style: normal;
  font-weight: 700;
  color: #0070cd;
  text-decoration: none;
}
.c-news-results__text a:hover, .c-news-results__text a:active {
  text-decoration: underline;
}

.c-service-advisories a {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.8rem;
  line-height: 24px;
}
@media (min-width: 768px) {
  .c-service-advisories a {
    font-size: 2rem;
    line-height: 24px;
  }
}
.c-service-advisories a {
  font-style: normal;
  font-weight: 700;
  color: #000000;
  text-decoration: none;
}
.c-service-advisories a:hover, .c-service-advisories a:active {
  color: #0070cd;
  text-decoration: underline;
}
.c-service-advisories .field-routename {
  text-transform: capitalize;
}
.c-service-advisories .field-route::after {
  content: " ";
  display: inline;
}
.c-service-advisories .sa-dash::after, .c-service-advisories .sa-dash::before {
  content: " ";
  display: inline;
}

.c-blogs-results .blog-container {
  padding: 30px 0;
  display: -webkit-box;
  display: flex;
  gap: 30px;
  border-bottom: 1px solid #9c9c9c;
}
@media (max-width: 800px) {
  .c-blogs-results .blog-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
}
.c-blogs-results .blog-text-wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  gap: 20px;
  -webkit-box-flex: 1;
          flex: 1;
}
.c-blogs-results .blog-image {
  -webkit-box-flex: 1;
          flex: 1;
}
.c-blogs-results .blog-image img {
  border-radius: 5px;
}
.c-blogs-results .blog-link a {
  color: #0070cd;
  font-weight: 400;
  text-decoration: none;
  font-size: 1.6rem;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
          align-items: center;
}
.c-blogs-results .blog-link a::after {
  content: "";
  margin-left: 8px;
  height: 20px;
  width: 20px;
  bottom: 3px;
  background-image: url(/-/media/Project/TTC/DevProto/Icons/arrow-background-right-outline.svg);
  background-size: cover;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.c-blogs-results .blog-link a:hover {
  color: #1f5aa5;
}
.c-blogs-results .blog-link a:hover::after {
  -webkit-transform: translateX(3px);
          transform: translateX(3px);
  border-color: #1f5aa5;
}
.c-blogs-results .blog-title {
  font-weight: bold;
}
.c-blogs-results .blog-description {
  font-size: 0.8em;
}

.c-news-results__description {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.8rem;
  line-height: 28px;
}
@media (min-width: 768px) {
  .c-news-results__description {
    font-size: 2rem;
    line-height: 32px;
  }
}
.c-news-results__description {
  font-style: normal;
  font-weight: 300;
  color: #4a4a4a;
}

.c-news-results__tags > a,
.c-news-results__tags > div {
  border: 1px solid #0070cd;
  display: inline-block;
  color: #0070cd;
  padding: 3.2px 8px;
  margin: 0 16px 16px 0;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 24px;
  font-style: normal;
  font-weight: 400;
  text-decoration: none;
}
.c-news-results__tags > a:hover, .c-news-results__tags > a:focus, .c-news-results__tags > a:active,
.c-news-results__tags > div:hover,
.c-news-results__tags > div:focus,
.c-news-results__tags > div:active {
  color: #ffffff;
  background-color: #0070cd;
}
@media (min-width: 768px) {
  .c-news-results__tags > a,
  .c-news-results__tags > div {
    margin: 0 8px 8px 0;
  }
}

.c-search-results {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .c-search-results > .component-content {
    margin-left: calc(8.3333333333% + 6px) !important;
    margin-right: calc(12.5% + 6px) !important;
  }
}
.c-search-results .sa-title:focus {
  border: dotted 2px black;
}
@media (min-width: 1225px) {
  .c-search-results > .component-content {
    margin: 0 auto;
    margin-left: calc(16.6666666667% + 6px) !important;
    margin-right: calc(25% + 6px) !important;
  }
}
.c-search-results .search-term {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 2.1rem;
  line-height: 28px;
}
@media (min-width: 768px) {
  .c-search-results .search-term {
    font-size: 2.4rem;
    line-height: 30px;
  }
}
.c-search-results .search-term {
  font-style: normal;
  font-weight: 700;
}
.c-search-results .search-term span {
  font-style: italic;
}
.c-search-results .results {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 24px;
}
@media (min-width: 768px) {
  .c-search-results .results {
    font-size: 1.6rem;
    line-height: 16px;
  }
}
.c-search-results .results {
  font-style: normal;
  font-weight: 400;
  margin-bottom: 30px;
  margin-top: 5px;
}
.c-search-results .item-name {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.8rem;
  line-height: 28px;
}
@media (min-width: 768px) {
  .c-search-results .item-name {
    font-size: 2rem;
    line-height: 32px;
  }
}
.c-search-results .item-name {
  font-style: normal;
  font-weight: 300;
  font-weight: 700 !important;
  color: #000;
  text-decoration: none;
}
.c-search-results .item-name:hover {
  color: #0070cd;
  text-decoration: underline;
}
.c-search-results .item-snippet {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 24px;
  font-style: normal;
  font-weight: 400;
  font-weight: 300 !important;
  color: #4a4a4a;
}
.c-search-results .item-url {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 24px;
  font-style: normal;
  font-weight: 400;
}
.c-search-results .item-url a {
  color: #0070cd;
  text-decoration: none;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}
.c-search-results .item-url a:hover {
  text-decoration: underline;
}
.c-search-results .each-result {
  margin-bottom: 20px;
}
.c-search-results .pagination {
  display: -webkit-box;
  display: flex;
  max-width: 70%;
  -webkit-box-pack: justify;
          justify-content: space-between;
  margin-top: 40px;
}
.c-search-results .pagination a {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.8rem;
  line-height: 28px;
}
@media (min-width: 768px) {
  .c-search-results .pagination a {
    font-size: 2rem;
    line-height: 32px;
  }
}
.c-search-results .pagination a {
  font-style: normal;
  font-weight: 500;
  color: #0070cd;
  text-decoration: none;
}
.c-search-results .pagination a:hover {
  text-decoration: underline;
}
.c-search-results .pagination .active a {
  color: #4a4a4a;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy92YXJzL190eXBlLWNsYXNzZXMuc2NzcyIsImNvbXBvbmVudC1zZWFyY2gtcmVzdWx0cy5jc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50LXNlYXJjaC1yZXN1bHRzLnNjc3MiLCJiYXNlL3Jlc2V0L2lucHV0cy5zY3NzIiwiY29tbW9uLXVpL3R5cG9ncmFwaHkvX21peGlucy5zY3NzIiwiYWJzdHJhY3RzL21peGlucy9fdGFnLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHJhbnNpdGlvbnMuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3Nhc3MtbXEtbW9kLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0k7RUFDSSxnQkFBQTtBQ0ZSOztBRENJO0VBQ0ksZ0JBQUE7QUNFUjs7QURISTtFQUNJLGdCQUFBO0FDTVI7O0FEUEk7RUFDSSxnQkFBQTtBQ1VSOztBQ1VBLGdCQUFBO0FDUEk7RUFDSSxhQUFBO0VBQ0EsY0FYdUI7RUFZdkIsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBRUEsd0JBQUE7RUFDQSxxRUFBQTtFQUNBLDZEQUFBO0FGQ1I7QUVqQkE7RURRQSxnQkFBQTtBRFlBO0FEakNJO0VBQ0ksZ0JBQUE7QUNtQ1I7QURwQ0k7RUFDSSxnQkFBQTtBQ3NDUjtBRHZDSTtFQUNJLGdCQUFBO0FDeUNSO0FEMUNJO0VBQ0ksZ0JBQUE7QUM0Q1I7QUc3Q0E7RUFDSSxnQkFBQTtBSCtDSjtBRVpZO0VBQ0kscUJBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO1VBQUEsc0JBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QUZjaEI7QUVaZ0I7RUFDSSxjQUFBO0FGY3BCO0FFWGdCO0VEK0NSLDRDQUFBO0FEakNSO0FDM0JJO0VBQ0ksV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FENkJSO0FFWFE7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RUFDSSwwQkFBQTtBRjhGaEI7QUUxRlE7RUFDSSxjQWhYZ0I7QUY0YzVCIiwiZmlsZSI6ImNvbXBvbmVudC1zZWFyY2gtcmVzdWx0cy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlIFwidHlwZVwiO1xyXG5cclxuQGVhY2ggJG5hbWUsICRzdHlsZSBpbiB0eXBlLiR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cyB7XHJcbiAgICAudS10eXBlLS0jeyRuYW1lfSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICN7JHN0eWxlfTtcclxuICAgIH1cclxufVxyXG4iLCIudS10eXBlLS1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi51LXR5cGUtLXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udS10eXBlLS1tZWRpdW0ge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4udS10eXBlLS1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyogYnJlYWtwb2ludHMgKi9cbi5zZWFyY2gtcmVzdWx0cyAudHRjLWxvYWRpbmcge1xuICBoZWlnaHQ6IDEwMHB4O1xuICBjb2xvcjogI2RhMjUxZDtcbiAgZm9udC1zaXplOiA5MHB4O1xuICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luOiA3MnB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1hbmltYXRpb246IGxvYWQ2IDEuN3MgaW5maW5pdGUgZWFzZSwgcm91bmQgMS43cyBpbmZpbml0ZSBlYXNlO1xuICBhbmltYXRpb246IGxvYWQ2IDEuN3MgaW5maW5pdGUgZWFzZSwgcm91bmQgMS43cyBpbmZpbml0ZSBlYXNlO1xufVxuLnNlYXJjaC1yZXN1bHRzIHtcbiAgLyogYnJlYWtwb2ludHMgKi9cbn1cbi5zZWFyY2gtcmVzdWx0cyAudS10eXBlLS1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uc2VhcmNoLXJlc3VsdHMgLnUtdHlwZS0tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uc2VhcmNoLXJlc3VsdHMgLnUtdHlwZS0tbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5zZWFyY2gtcmVzdWx0cyAudS10eXBlLS1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5zZWFyY2gtcmVzdWx0cyBpbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uc2VhcmNoLXJlc3VsdHMudmVydGljYWwgLnNlYXJjaC1yZXN1bHQtbGlzdCA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNlYXJjaC1yZXN1bHRzLnZlcnRpY2FsIC5zZWFyY2gtcmVzdWx0LWxpc3QgPiBsaSAuZmllbGQtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zZWFyY2gtcmVzdWx0cy52ZXJ0aWNhbCAuc2VhcmNoLXJlc3VsdC1saXN0ID4gbGk6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggMXB4IDJweCAxcHggc29saWQgIzE1OTA5Yztcbn1cbi5zZWFyY2gtcmVzdWx0cy5ob3Jpem9udGFsIC5zZWFyY2gtcmVzdWx0LWxpc3Q6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG4uc2VhcmNoLXJlc3VsdHMuaG9yaXpvbnRhbCAuc2VhcmNoLXJlc3VsdC1saXN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2VhcmNoLXJlc3VsdHMuaG9yaXpvbnRhbCAuc2VhcmNoLXJlc3VsdC1saXN0ID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCAxcHggMnB4IDFweCBzb2xpZCAjZDJkMmQyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAyJSAxMHB4IDA7XG4gIHBhZGRpbmc6IDVweDtcbiAgd2lkdGg6IDIzJTtcbn1cbi5zZWFyY2gtcmVzdWx0cy5ob3Jpem9udGFsIC5zZWFyY2gtcmVzdWx0LWxpc3QgPiBsaSAuZmllbGQtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zZWFyY2gtcmVzdWx0cy5ob3Jpem9udGFsIC5zZWFyY2gtcmVzdWx0LWxpc3QgPiBsaSAuZmllbGQtdGl0bGUgYSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnNlYXJjaC1yZXN1bHRzLmhvcml6b250YWwgLnNlYXJjaC1yZXN1bHQtbGlzdCA+IGxpOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IDFweCAycHggMXB4IHNvbGlkICMxNTkwOWM7XG59XG4uc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC1yZXN1bHRzLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlYXJjaC1yZXN1bHRzLmxvYWRpbmctaW4tcHJvZ3Jlc3Mge1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbn1cbi5zZWFyY2gtcmVzdWx0cy5sb2FkaW5nLWluLXByb2dyZXNzIC5zZWFyY2gtcmVzdWx0LW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4uc2VhcmNoLXJlc3VsdHMubG9hZGluZy1pbi1wcm9ncmVzcyAuc2VhcmNoLXJlc3VsdC1vdmVybGF5OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJZ2QybGtkR2c5SWpNeUlpQm9aV2xuYUhROUlqTXlJaUJtYVd4c1BTSmliR0ZqYXlJK0NpQWdQSEJoZEdnZ0lHOXdZV05wZEhrOUlpNHlOU0lnWkQwaVRURTJJREFnUVRFMklERTJJREFnTUNBd0lERTJJRE15SUVFeE5pQXhOaUF3SURBZ01DQXhOaUF3SUUweE5pQTBJRUV4TWlBeE1pQXdJREFnTVNBeE5pQXlPQ0JCTVRJZ01USWdNQ0F3SURFZ01UWWdOQ0l2UGdvZ0lEeHdZWFJvSUdacGJHdzlKeU5rWkdSa1pHUW5JR1E5SWsweE5pQXdJRUV4TmlBeE5pQXdJREFnTVNBek1pQXhOaUJNTWpnZ01UWWdRVEV5SURFeUlEQWdNQ0F3SURFMklEUjZJajRLSUNBZ0lEeGhibWx0WVhSbFZISmhibk5tYjNKdElHRjBkSEpwWW5WMFpVNWhiV1U5SW5SeVlXNXpabTl5YlNJZ2RIbHdaVDBpY205MFlYUmxJaUJtY205dFBTSXdJREUySURFMklpQjBiejBpTXpZd0lERTJJREUySWlCa2RYSTlJakF1T0hNaUlISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWlBdlBnb2dJRHd2Y0dGMGFENEtQQzl6ZG1jKyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IC0zMHB4IGF1dG8gMDtcbn1cbi5zZWFyY2gtcmVzdWx0cy5sb2FkaW5nLW1vcmUtaW4tcHJvZ3Jlc3M6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJZ2QybGtkR2c5SWpNeUlpQm9aV2xuYUhROUlqTXlJaUJtYVd4c1BTSmliR0ZqYXlJK0RRb2dJRHh3WVhSb0lDQnZjR0ZqYVhSNVBTSXVNalVpSUdROUlrMHhOaUF3SUVFeE5pQXhOaUF3SURBZ01DQXhOaUF6TWlCQk1UWWdNVFlnTUNBd0lEQWdNVFlnTUNCTk1UWWdOQ0JCTVRJZ01USWdNQ0F3SURFZ01UWWdNamdnUVRFeUlERXlJREFnTUNBeElERTJJRFFpTHo0TkNpQWdQSEJoZEdnZ1ptbHNiRDBuSXpGaE9EQmlOaWNnWkQwaVRURTJJREFnUVRFMklERTJJREFnTUNBeElETXlJREUySUV3eU9DQXhOaUJCTVRJZ01USWdNQ0F3SURBZ01UWWdOSG9pUGcwS0lDQWdJRHhoYm1sdFlYUmxWSEpoYm5ObWIzSnRJR0YwZEhKcFluVjBaVTVoYldVOUluUnlZVzV6Wm05eWJTSWdkSGx3WlQwaWNtOTBZWFJsSWlCbWNtOXRQU0l3SURFMklERTJJaUIwYnowaU16WXdJREUySURFMklpQmtkWEk5SWpBdU9ITWlJSEpsY0dWaGRFTnZkVzUwUFNKcGJtUmxabWx1YVhSbElpQXZQZzBLSUNBOEwzQmhkR2crRFFvOEwzTjJaejROQ2c9PSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cbi5zZWFyY2gtcmVzdWx0cyAubm8tcmVzdWx0cyB7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLmMtbmV3cy1yZXN1bHRzIGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3Njc2NzY7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDMycHggLSAxcHgpO1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuLmMtbmV3cy1yZXN1bHRzIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYy1uZXdzLXJlc3VsdHNfX2RhdGUge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLW5ld3MtcmVzdWx0c19fZGF0ZSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cbi5jLW5ld3MtcmVzdWx0c19fZGF0ZSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM0YTRhNGE7XG59XG5cbi5jLW5ld3MtcmVzdWx0c19fdGV4dCBhIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1uZXdzLXJlc3VsdHNfX3RleHQgYSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG4uYy1uZXdzLXJlc3VsdHNfX3RleHQgYSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMDcwY2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLW5ld3MtcmVzdWx0c19fdGV4dCBhOmhvdmVyLCAuYy1uZXdzLXJlc3VsdHNfX3RleHQgYTphY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmMtc2VydmljZS1hZHZpc29yaWVzIGEge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLXNlcnZpY2UtYWR2aXNvcmllcyBhIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cbi5jLXNlcnZpY2UtYWR2aXNvcmllcyBhIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtc2VydmljZS1hZHZpc29yaWVzIGE6aG92ZXIsIC5jLXNlcnZpY2UtYWR2aXNvcmllcyBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDA3MGNkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jLXNlcnZpY2UtYWR2aXNvcmllcyAuZmllbGQtcm91dGVuYW1lIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4uYy1zZXJ2aWNlLWFkdmlzb3JpZXMgLmZpZWxkLXJvdXRlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uYy1zZXJ2aWNlLWFkdmlzb3JpZXMgLnNhLWRhc2g6OmFmdGVyLCAuYy1zZXJ2aWNlLWFkdmlzb3JpZXMgLnNhLWRhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5jLWJsb2dzLXJlc3VsdHMgLmJsb2ctY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWM5YzljO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5jLWJsb2dzLXJlc3VsdHMgLmJsb2ctY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4uYy1ibG9ncy1yZXN1bHRzIC5ibG9nLXRleHQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDtcbiAgZmxleDogMTtcbn1cbi5jLWJsb2dzLXJlc3VsdHMgLmJsb2ctaW1hZ2Uge1xuICBmbGV4OiAxO1xufVxuLmMtYmxvZ3MtcmVzdWx0cyAuYmxvZy1pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG4uYy1ibG9ncy1yZXN1bHRzIC5ibG9nLWxpbmsgYSB7XG4gIGNvbG9yOiAjMDA3MGNkO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jLWJsb2dzLXJlc3VsdHMgLmJsb2ctbGluayBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGJvdHRvbTogM3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy0vbWVkaWEvUHJvamVjdC9UVEMvRGV2UHJvdG8vSWNvbnMvYXJyb3ctYmFja2dyb3VuZC1yaWdodC1vdXRsaW5lLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG4uYy1ibG9ncy1yZXN1bHRzIC5ibG9nLWxpbmsgYTpob3ZlciB7XG4gIGNvbG9yOiAjMWY1YWE1O1xufVxuLmMtYmxvZ3MtcmVzdWx0cyAuYmxvZy1saW5rIGE6aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG4gIGJvcmRlci1jb2xvcjogIzFmNWFhNTtcbn1cbi5jLWJsb2dzLXJlc3VsdHMgLmJsb2ctdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5jLWJsb2dzLXJlc3VsdHMgLmJsb2ctZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4uYy1uZXdzLXJlc3VsdHNfX2Rlc2NyaXB0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1uZXdzLXJlc3VsdHNfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIH1cbn1cbi5jLW5ld3MtcmVzdWx0c19fZGVzY3JpcHRpb24ge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjNGE0YTRhO1xufVxuXG4uYy1uZXdzLXJlc3VsdHNfX3RhZ3MgPiBhLFxuLmMtbmV3cy1yZXN1bHRzX190YWdzID4gZGl2IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwNzBjZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzAwNzBjZDtcbiAgcGFkZGluZzogMy4ycHggOHB4O1xuICBtYXJnaW46IDAgMTZweCAxNnB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1uZXdzLXJlc3VsdHNfX3RhZ3MgPiBhOmhvdmVyLCAuYy1uZXdzLXJlc3VsdHNfX3RhZ3MgPiBhOmZvY3VzLCAuYy1uZXdzLXJlc3VsdHNfX3RhZ3MgPiBhOmFjdGl2ZSxcbi5jLW5ld3MtcmVzdWx0c19fdGFncyA+IGRpdjpob3Zlcixcbi5jLW5ld3MtcmVzdWx0c19fdGFncyA+IGRpdjpmb2N1cyxcbi5jLW5ld3MtcmVzdWx0c19fdGFncyA+IGRpdjphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzBjZDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1uZXdzLXJlc3VsdHNfX3RhZ3MgPiBhLFxuICAuYy1uZXdzLXJlc3VsdHNfX3RhZ3MgPiBkaXYge1xuICAgIG1hcmdpbjogMCA4cHggOHB4IDA7XG4gIH1cbn1cblxuLmMtc2VhcmNoLXJlc3VsdHMge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1zZWFyY2gtcmVzdWx0cyA+IC5jb21wb25lbnQtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDZweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTIuNSUgKyA2cHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jLXNlYXJjaC1yZXN1bHRzIC5zYS10aXRsZTpmb2N1cyB7XG4gIGJvcmRlcjogZG90dGVkIDJweCBibGFjaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjI1cHgpIHtcbiAgLmMtc2VhcmNoLXJlc3VsdHMgPiAuY29tcG9uZW50LWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgNnB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygyNSUgKyA2cHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jLXNlYXJjaC1yZXN1bHRzIC5zZWFyY2gtdGVybSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC10ZXJtIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxufVxuLmMtc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC10ZXJtIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmMtc2VhcmNoLXJlc3VsdHMgLnNlYXJjaC10ZXJtIHNwYW4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAucmVzdWx0cyB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtc2VhcmNoLXJlc3VsdHMgLnJlc3VsdHMge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB9XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAucmVzdWx0cyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuLmMtc2VhcmNoLXJlc3VsdHMgLml0ZW0tbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtc2VhcmNoLXJlc3VsdHMgLml0ZW0tbmFtZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAuaXRlbS1uYW1lIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAuaXRlbS1uYW1lOmhvdmVyIHtcbiAgY29sb3I6ICMwMDcwY2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmMtc2VhcmNoLXJlc3VsdHMgLml0ZW0tc25pcHBldCB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzRhNGE0YTtcbn1cbi5jLXNlYXJjaC1yZXN1bHRzIC5pdGVtLXVybCB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5jLXNlYXJjaC1yZXN1bHRzIC5pdGVtLXVybCBhIHtcbiAgY29sb3I6ICMwMDcwY2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuLmMtc2VhcmNoLXJlc3VsdHMgLml0ZW0tdXJsIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jLXNlYXJjaC1yZXN1bHRzIC5lYWNoLXJlc3VsdCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogNzAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAucGFnaW5hdGlvbiBhIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1zZWFyY2gtcmVzdWx0cyAucGFnaW5hdGlvbiBhIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIH1cbn1cbi5jLXNlYXJjaC1yZXN1bHRzIC5wYWdpbmF0aW9uIGEge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMDA3MGNkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1zZWFyY2gtcmVzdWx0cyAucGFnaW5hdGlvbiAuYWN0aXZlIGEge1xuICBjb2xvcjogIzRhNGE0YTtcbn0iLCIvLyBAaW1wb3J0ICd+c2Fzcy1tcS9tcSc7XHJcbkB1c2UgXCJzYXNzOmxpc3RcIjtcclxuQHVzZSAnbWl4aW5zL3Nhc3MtbXEtbW9kLnNjc3MnO1xyXG5AdXNlICcuLi9jb21tb24tdWkvdHlwb2dyYXBoeS9taXhpbnMnO1xyXG5AdXNlICdtaXhpbnMvYWNjZXNzaWJpbGl0eSc7XHJcbkB1c2UgJ21peGlucy9idXR0b24nO1xyXG5AdXNlICdtaXhpbnMvbGluayc7XHJcbkB1c2UgJ21peGlucy9vdmVybGF5JztcclxuQHVzZSAnbWl4aW5zL3RyYW5zaXRpb25zJztcclxuQHVzZSAnbWl4aW5zL3NoYWRvd3MnO1xyXG5AdXNlICdtaXhpbnMvdGFnJztcclxuQHVzZSAnLi4vYWJzdHJhY3RzL3ZhcnMvY29sb3JzJztcclxuXHJcbkBmb3J3YXJkICdtaXhpbnMvc2Fzcy1tcS1tb2Quc2Nzcyc7XHJcbkBmb3J3YXJkICcuLi9jb21tb24tdWkvdHlwb2dyYXBoeS9taXhpbnMnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL2FjY2Vzc2liaWxpdHknO1xyXG5AZm9yd2FyZCAnbWl4aW5zL2J1dHRvbic7XHJcbkBmb3J3YXJkICdtaXhpbnMvbGluayc7XHJcbkBmb3J3YXJkICdtaXhpbnMvb3ZlcmxheSc7XHJcbkBmb3J3YXJkICdtaXhpbnMvdHJhbnNpdGlvbnMnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL3NoYWRvd3MnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL3RhZyc7XHJcblxyXG4vLyBCZWxvdyBhcmUgbWl4aW4ncyBmcm9tIEZYQVxyXG4vKiBicmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrLWRlc2t0b3A6IDk2MHB4O1xyXG4kYnJlYWstbW9iaWxlOiAzODBweDtcclxuJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsOiA2NDBweDtcclxuJGJyZWFrLW1vYmlsZS1sYXJnZTogNzg2cHg7XHJcblxyXG5AbWl4aW4gd3JhcHBlcigpIHtcclxuICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxMCkgKyBweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcclxufVxyXG5cclxuQG1peGluIG9wZW5zYW5zLWZvbnQtc3RhY2soKSB7XHJcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2FkaW5nLWdpZigpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtODtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSWdkMmxrZEdnOUlqTXlJaUJvWldsbmFIUTlJak15SWlCbWFXeHNQU0ppYkdGamF5SStEUW9nSUR4d1lYUm9JQ0J2Y0dGamFYUjVQU0l1TWpVaUlHUTlJazB4TmlBd0lFRXhOaUF4TmlBd0lEQWdNQ0F4TmlBek1pQkJNVFlnTVRZZ01DQXdJREFnTVRZZ01DQk5NVFlnTkNCQk1USWdNVElnTUNBd0lERWdNVFlnTWpnZ1FURXlJREV5SURBZ01DQXhJREUySURRaUx6NE5DaUFnUEhCaGRHZ2dabWxzYkQwbkl6RmhPREJpTmljZ1pEMGlUVEUySURBZ1FURTJJREUySURBZ01DQXhJRE15SURFMklFd3lPQ0F4TmlCQk1USWdNVElnTUNBd0lEQWdNVFlnTkhvaVBnMEtJQ0FnSUR4aGJtbHRZWFJsVkhKaGJuTm1iM0p0SUdGMGRISnBZblYwWlU1aGJXVTlJblJ5WVc1elptOXliU0lnZEhsd1pUMGljbTkwWVhSbElpQm1jbTl0UFNJd0lERTJJREUySWlCMGJ6MGlNell3SURFMklERTJJaUJrZFhJOUlqQXVPSE1pSUhKbGNHVmhkRU52ZFc1MFBTSnBibVJsWm1sdWFYUmxJaUF2UGcwS0lDQThMM0JoZEdnK0RRbzhMM04yWno0TkNnPT0pO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGlmICRtZWRpYT09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWhvcml6b250YWwgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWJhc2ljKCRwb3NpdGlvbjogYWxsLCAkYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGJvcmRlci1ncmF5LCAkYm9yZGVyLXdpZHRoOiAxcHgpIHtcclxuICAgIEBpZigkcG9zaXRpb249PXRvcCkge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09Ym90dG9tKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJHBvc2l0aW9uPT1sZWZ0KSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09cmlnaHQpIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZpeGVkLWJnKCRwb3MsICRtaW4taGVpZ2h0OiAyNDBweCkge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvcztcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcclxufVxyXG5cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMuLi4pIHtcclxuICAgIC8vIERpcmVjdGlvbiBoYXMgYmVlbiBvbWl0dGVkIGFuZCBoYXBwZW5zIHRvIGJlIGEgY29sb3Itc3RvcFxyXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xyXG4gICAgICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xyXG4gICAgICAgICRkaXJlY3Rpb246IDE4MGRlZztcclxuICAgIH1cclxuXHJcbiAgICAkZmlyc3QtY29sb3Itc3RvcC1ncm91cDogbGlzdC5udGgoJGNvbG9yLXN0b3BzLCAxKTtcclxuICAgICRmaXJzdC1jb2xvci1zdG9wOiBsaXN0Lm50aCgkZmlyc3QtY29sb3Itc3RvcC1ncm91cCwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZmlyc3QtY29sb3Itc3RvcDtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcclxufVxyXG4iLCJAdXNlIFwiYWJzdHJhY3RzXCI7XHJcbkB1c2UgXCJhYnN0cmFjdHMvbWl4aW5zXCI7XHJcbkB1c2UgXCJhYnN0cmFjdHMvdmFycy9jb2xvcnNcIiBhcyAqO1xyXG5AdXNlIFwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9jb2xvclwiIGFzIGZ1bmN0aW9ucy1jb2xvcjtcclxuQHVzZSBcImFic3RyYWN0cy9mdW5jdGlvbnMvc3BhY2VcIjtcclxuQHVzZSBcImFic3RyYWN0cy9mdW5jdGlvbnMvcHgtdG8tcmVtXCI7XHJcbkB1c2UgXCJzYXNzOm1ldGFcIjtcclxuXHJcbiRzZWFyY2gtcmVzdWx0cy1jb2xvci1wcmltYXJ5OiBmdW5jdGlvbnMtY29sb3IuY29sb3IocHJpbWFyeSk7XHJcbiRzZWFyY2gtcmVzdWx0cy1jb2xvci1ncmV5LWJvcmRlcjogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKGdyZXktYm9yZGVyKTtcclxuJHNlYXJjaC1yZXN1bHRzLWNvbG9yLWdyZXk6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihncmV5KTtcclxuJHNlYXJjaC1yZXN1bHRzLWNvbG9yLXNlY29uZGFyeTogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKHNlY29uZGFyeSk7XHJcbiRzZWFyY2gtcmVzdWx0cy1jb2xvci1ibGFjazogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKGJsYWNrKTtcclxuJHNlYXJjaC1yZXN1bHRzLXNwYWNlLTE6ICN7c3BhY2Uuc3BhY2UoMSl9O1xyXG4kc2VhcmNoLXJlc3VsdHMtc3BhY2UtNDogI3tzcGFjZS5zcGFjZSg0KX07XHJcblxyXG4uc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgLnR0Yy1sb2FkaW5nIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2VhcmNoLXJlc3VsdHMtY29sb3ItcHJpbWFyeTtcclxuICAgICAgICBmb250LXNpemU6IDkwcHg7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBtYXJnaW46IDcycHggYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGxvYWQ2IDEuN3MgaW5maW5pdGUgZWFzZSwgcm91bmQgMS43cyBpbmZpbml0ZSBlYXNlO1xyXG4gICAgICAgIGFuaW1hdGlvbjogbG9hZDYgMS43cyBpbmZpbml0ZSBlYXNlLCByb3VuZCAxLjdzIGluZmluaXRlIGVhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWV0YS5sb2FkLWNzcyhcImJhc2UvcmVzZXQvaW5wdXRzXCIpO1xyXG5cclxuICAgICYudmVydGljYWwge1xyXG4gICAgICAgIC5zZWFyY2gtcmVzdWx0LWxpc3Qge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgLmZpZWxkLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnN0cmFjdHMuYm9yZGVyLWJhc2ljKGJvdHRvbSwgJHNlYXJjaC1pdGVtLWJvcmRlci1hY3RpdmUsMXB4IDFweCAycHggMXB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhvcml6b250YWwge1xyXG4gICAgICAgIC5zZWFyY2gtcmVzdWx0LWxpc3Qge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnN0cmFjdHMuY2xlYXJmaXgoKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic3RyYWN0cy5ib3JkZXItYmFzaWMoYWxsLCRib3JkZXItd2lkdGg6IDFweCAxcHggMnB4IDFweCk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyJSAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjMlO1xyXG5cclxuICAgICAgICAgICAgICAgIC5maWVsZC10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0uZ2V0LXJlbSgxOHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzdHJhY3RzLmJvcmRlci1iYXNpYyhib3R0b20sICRzZWFyY2gtaXRlbS1ib3JkZXItYWN0aXZlLDFweCAxcHggMnB4IDFweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaC1yZXN1bHRzLW92ZXJsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sb2FkaW5nLWluLXByb2dyZXNzIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuXHJcbiAgICAgICAgLnNlYXJjaC1yZXN1bHQtb3ZlcmxheSB7XHJcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgLy8gdG9wOiAwO1xyXG4gICAgICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek1pQXpNaUlnZDJsa2RHZzlJak15SWlCb1pXbG5hSFE5SWpNeUlpQm1hV3hzUFNKaWJHRmpheUkrQ2lBZ1BIQmhkR2dnSUc5d1lXTnBkSGs5SWk0eU5TSWdaRDBpVFRFMklEQWdRVEUySURFMklEQWdNQ0F3SURFMklETXlJRUV4TmlBeE5pQXdJREFnTUNBeE5pQXdJRTB4TmlBMElFRXhNaUF4TWlBd0lEQWdNU0F4TmlBeU9DQkJNVElnTVRJZ01DQXdJREVnTVRZZ05DSXZQZ29nSUR4d1lYUm9JR1pwYkd3OUp5TmtaR1JrWkdRbklHUTlJazB4TmlBd0lFRXhOaUF4TmlBd0lEQWdNU0F6TWlBeE5pQk1NamdnTVRZZ1FURXlJREV5SURBZ01DQXdJREUySURSNklqNEtJQ0FnSUR4aGJtbHRZWFJsVkhKaGJuTm1iM0p0SUdGMGRISnBZblYwWlU1aGJXVTlJblJ5WVc1elptOXliU0lnZEhsd1pUMGljbTkwWVhSbElpQm1jbTl0UFNJd0lERTJJREUySWlCMGJ6MGlNell3SURFMklERTJJaUJrZFhJOUlqQXVPSE1pSUhKbGNHVmhkRU52ZFc1MFBTSnBibVJsWm1sdWFYUmxJaUF2UGdvZ0lEd3ZjR0YwYUQ0S1BDOXpkbWMrKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogLTMwcHggYXV0byAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubG9hZGluZy1tb3JlLWluLXByb2dyZXNzIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic3RyYWN0cy5sb2FkaW5nLWdpZigpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uby1yZXN1bHRzIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLW5ld3MtcmVzdWx0cyB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYWJzdHJhY3RzLmJvcmRlci1iYXNpYyhib3R0b20sICRzZWFyY2gtcmVzdWx0cy1jb2xvci1ncmV5LWJvcmRlcik7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skc2VhcmNoLXJlc3VsdHMtc3BhY2UtNH0gLSAxcHgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzZWFyY2gtcmVzdWx0cy1zcGFjZS00O1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmMtbmV3cy1yZXN1bHRzX19kYXRlIHtcclxuICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGRhdGUpO1xyXG4gICAgY29sb3I6ICRzZWFyY2gtcmVzdWx0cy1jb2xvci1ncmV5O1xyXG59XHJcblxyXG4uYy1uZXdzLXJlc3VsdHNfX3RleHQge1xyXG4gICAgYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnVpLXR5cG9ncmFwaHkoZDEpO1xyXG4gICAgICAgIGNvbG9yOiAkc2VhcmNoLXJlc3VsdHMtY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC8vY29sb3I6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihzZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLXNlcnZpY2UtYWR2aXNvcmllcyB7XHJcbiAgICBhIHtcclxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudWktdHlwb2dyYXBoeShkMSk7XHJcbiAgICAgICAgY29sb3I6ICRzZWFyY2gtcmVzdWx0cy1jb2xvci1ibGFjaztcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlYXJjaC1yZXN1bHRzLWNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC1yb3V0ZW5hbWUge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC1yb3V0ZSB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNhLWRhc2gge1xyXG4gICAgICAgICY6OmFmdGVyLCAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLWJsb2dzLXJlc3VsdHMge1xyXG4gICAgLmJsb2ctY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5YzljOWM7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XHJcbiAgICAgICAgLmJsb2ctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2ctdGV4dC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIGZsZXg6IDFcclxuICAgIH1cclxuXHJcbiAgICAuYmxvZy1pbWFnZSB7XHJcbiAgICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmxvZy1saW5rIGEge1xyXG4gICAgICAgIGNvbG9yOiAjMDA3MGNkO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgLmJsb2ctbGluayBhOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy0vbWVkaWEvUHJvamVjdC9UVEMvRGV2UHJvdG8vSWNvbnMvYXJyb3ctYmFja2dyb3VuZC1yaWdodC1vdXRsaW5lLnN2Zyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLmJsb2ctbGluayBhOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICMxZjVhYTU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJsb2ctbGluayBhOmhvdmVyOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzFmNWFhNTtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAuYmxvZy10aXRsZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2ctZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uYy1uZXdzLXJlc3VsdHNfX2Rlc2NyaXB0aW9uIHtcclxuICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGJvZHkpO1xyXG4gICAgY29sb3I6ICRzZWFyY2gtcmVzdWx0cy1jb2xvci1ncmV5O1xyXG59XHJcblxyXG4uYy1uZXdzLXJlc3VsdHNfX3RhZ3Mge1xyXG4gICAgPiBhLFxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIEBpbmNsdWRlIGFic3RyYWN0cy50YWdzO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYy1zZWFyY2gtcmVzdWx0cyB7XHJcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtaXhpbnMubXEobWQpIHtcclxuICAgICAgICA+IC5jb21wb25lbnQtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEvMTIqMTAwJSArIDZweCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDMvMjQqMTAwJSArIDZweCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNhLXRpdGxlOmZvY3VzIHtcclxuICAgICAgICBib3JkZXI6IGRvdHRlZCAycHggYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWl4aW5zLm1xKGxnKSB7XHJcbiAgICAgICAgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMi8xMioxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMy8xMioxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VhcmNoLXRlcm0ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGQyKTtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc3VsdHMge1xyXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGQteHNtYWxsKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1uYW1lIHtcclxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudWktdHlwb2dyYXBoeShib2R5KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDcwY2Q7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1zbmlwcGV0IHtcclxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudWktdHlwb2dyYXBoeShicmVhZGNydW1iKTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICRzZWFyY2gtcmVzdWx0cy1jb2xvci1ncmV5O1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLXVybCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnVpLXR5cG9ncmFwaHkoYnJlYWRjcnVtYik7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogIzAwNzBjZDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5lYWNoLXJlc3VsdCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAucGFnaW5hdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGJvZHkyKTtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDcwY2Q7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2VhcmNoLXJlc3VsdHMtY29sb3ItZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcIi4uLy4uL2Fic3RyYWN0cy9taXhpbnNcIjtcclxuQHVzZSBcIi4uLy4uL2Fic3RyYWN0cy92YXJzXCI7XHJcblxyXG5pbnB1dCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcbiIsIkB1c2UgJ3Nhc3M6bWFwJztcclxuQHVzZSAnc2FzczpsaXN0JztcclxuQHVzZSAnc2FzczptYXRoJztcclxuQHVzZSAnc2FzczptZXRhJztcclxuQHVzZSAnLi4vLi4vYWJzdHJhY3RzL3ZhcnMvdHlwZSc7XHJcbkB1c2UgJy4uLy4uL2Fic3RyYWN0cy92YXJzL2JyZWFrcG9pbnRzJyBhcyBiYXNlO1xyXG5AdXNlICcuLi8uLi9hYnN0cmFjdHMvZnVuY3Rpb25zL3B4LXRvLXJlbSc7XHJcblxyXG5AZnVuY3Rpb24gdG8tcmVtKCR2YWx1ZSkge1xyXG4gICAgQGlmIG1hdGguaXMtdW5pdGxlc3MoJHZhbHVlKSBvciBtYXRoLnVuaXQoJHZhbHVlKSAhPSAncHgnIHtcclxuICAgICAgICBAcmV0dXJuICR2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuIHB4LXRvLXJlbS5nZXQtcmVtKCR2YWx1ZSk7XHJcbn1cclxuXHJcbkBtaXhpbiBpb3RhLWV4dHJhY3QtdHlwZS1zaXplcygkc2l6ZXMpIHtcclxuICAgIEBpZiBsaXN0Lmxlbmd0aCgkc2l6ZXMpID09IDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbGlzdC5udGgoJHNpemVzLCAxKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogbGlzdC5udGgoJHNpemVzLCAyKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplcztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGlvdGEtdHlwZSgkc2l6ZXMsICRicmVha3BvaW50czogYmFzZS4kaW90YS1nbG9iYWwtYnJlYWtwb2ludHMpIHtcclxuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJyB7XHJcbiAgICAgICAgQGlmIG1hcC5oYXMta2V5KCRzaXplcywgbnVsbCkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBpb3RhLWV4dHJhY3QtdHlwZS1zaXplcyhtYXAuZ2V0KCRzaXplcywgbnVsbCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCAhPSBudWxsIGFuZCBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3ttYXAuZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaW90YS1leHRyYWN0LXR5cGUtc2l6ZXMoJHNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIGlvdGEtZXh0cmFjdC10eXBlLXNpemVzKCRzaXplcyk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuQG1peGluIHVpLXR5cG9ncmFwaHktYmFzZSgkZm9udC1mYW1pbHk6IHR5cGUuJHVpLXR5cG9ncmFwaHktc3RhY2stZGVmYXVsdCkge1xyXG4gICAgQGlmICRmb250LWZhbWlseSAhPSBudWxsIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiB0eXBlLiR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG5AbWl4aW4gdWktdHlwb2dyYXBoeSgkc3R5bGUpIHtcclxuICAgIEBpZiBtYXAuaGFzLWtleSh0eXBlLiR1aS10eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKSB7XHJcbiAgICAgICAgJHN0eWxlOiBtYXAuZ2V0KHR5cGUuJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xyXG4gICAgICAgICRmb250LWZhbWlseTogbWFwLmdldCgkc3R5bGUsIGZvbnQtZmFtaWx5KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeS1iYXNlKCRmb250LWZhbWlseSk7XHJcbiAgICAgICAgQGluY2x1ZGUgaW90YS10eXBlKG1hcC5nZXQoJHN0eWxlLCBzaXplcykpO1xyXG4gICAgICAgIC8vIFJlbW92ZSBwcm9wZXJ0aWVzIHRoYXQgZG8gbm90IG5lZWQgdG8gYmUgZ2VuZXJhdGVkIGJlbG93XHJcbiAgICAgICAgJHByb3BzOiBtYXAucmVtb3ZlKCRzdHlsZSwgZm9udC1mYW1pbHksIG1hcmdpbiwgc2l6ZXMpO1xyXG4gICAgICAgICRrZXlzOiBtYXAua2V5cygkcHJvcHMpO1xyXG5cclxuICAgICAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcclxuICAgICAgICAgICAgI3ska2V5fTogbWFwLmdldCgkcHJvcHMsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4oJ0NvdWxkIG5vdCBmaW5kIGAjeyRzdHlsZX1gIGluIGAkdWktdHlwb2dyYXBoeS1zdHlsZXNgJyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1aS10eXBvZ3JhcGh5LW1hcmdpbigkc3R5bGUpIHtcclxuICAgIEBpZiBtYXAuaGFzLWtleSh0eXBlLiR1aS10eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKSB7XHJcbiAgICAgICAgJHN0eWxlLWRlZmluaXRpb246IG1hcC5nZXQodHlwZS4kdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSk7XHJcbiAgICAgICAgJHN0eWxlLW1hcmdpbjogbWFwLmdldCgkc3R5bGUtZGVmaW5pdGlvbiwgbWFyZ2luKTtcclxuICAgICAgICBtYXJnaW46ICRzdHlsZS1tYXJnaW47XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4oJ0NvdWxkIG5vdCBmaW5kIGAjeyRzdHlsZX1gIGluIGAkdWktdHlwb2dyYXBoeS1zdHlsZXNgIGZvciBtYXJnaW4nKTtcclxuICAgIH1cclxufVxyXG4iLCJAdXNlIFwiLi4vLi4vY29tbW9uLXVpL3R5cG9ncmFwaHkvbWl4aW5zXCI7XHJcbkB1c2UgXCIuLi92YXJzL3RyYW5zaXRpb25zXCI7XHJcbkB1c2UgXCJzYXNzLW1xLW1vZFwiO1xyXG5cclxuQHVzZSBcIi4uL2Z1bmN0aW9ucy9jb2xvclwiIGFzIGZ1bmN0aW9ucy1jb2xvcjtcclxuQHVzZSBcIi4uL2Z1bmN0aW9ucy9zcGFjZVwiO1xyXG5cclxuQG1peGluIHRhZ3Mge1xyXG4gICAgJHRhZy1jb2xvci1wcmltYXJ5OiBmdW5jdGlvbnMtY29sb3IuY29sb3IocHJpbWFyeSk7XHJcbiAgICAkdGFnLWNvbG9yLXNlY29uZGFyeTogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKHNlY29uZGFyeSk7XHJcbiAgICAkdGFnLWNvbG9yLXByaW1hcnktY29udHJhc3Q6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihwcmltYXJ5LWNvbnRyYXN0KTtcclxuICAgICR0YWctc3BhY2UtMDQ6IHNwYWNlLnNwYWNlKDAuNCk7XHJcbiAgICAkdGFnLXNwYWNlLTE6IHNwYWNlLnNwYWNlKDEpO1xyXG4gICAgJHRhZy1zcGFjZS0yOiBzcGFjZS5zcGFjZSgyKTtcclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFnLWNvbG9yLXNlY29uZGFyeTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGNvbG9yOiAkdGFnLWNvbG9yLXNlY29uZGFyeTtcclxuICAgIHBhZGRpbmc6ICR0YWctc3BhY2UtMDQgJHRhZy1zcGFjZS0xO1xyXG4gICAgbWFyZ2luOiAwICR0YWctc3BhY2UtMiAkdGFnLXNwYWNlLTIgMDtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zaXRpb25zLiRnbG9iYWwtdHJhbnNpdGlvbjtcclxuICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGJyZWFkY3J1bWIpO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkdGFnLWNvbG9yLXByaW1hcnktY29udHJhc3Q7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhZy1jb2xvci1zZWNvbmRhcnk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgc2Fzcy1tcS1tb2QubXEobWQpIHtcclxuICAgICAgICBtYXJnaW46IDAgJHRhZy1zcGFjZS0xICR0YWctc3BhY2UtMSAwO1xyXG4gICAgfVxyXG59XHJcbiIsIiRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XHJcbiRnbG9iYWwtdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2UtaW4tb3V0O1xyXG4kZ2xvYmFsLXRyYW5zaXRpb246IGFsbCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7IiwiLy9tb2RkZWQgdG8gdXNlIHB4XHJcblxyXG5AY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcclxuQHVzZSAnLi4vdmFycy9icmVha3BvaW50cyc7XHJcbkB1c2UgJ3Nhc3M6bGlzdCc7XHJcbkB1c2UgJ3Nhc3M6bWFwJztcclxuQHVzZSAnc2FzczptZXRhJztcclxuQHVzZSAnc2FzczptYXRoJztcclxuQHVzZSAnc2FzczpzdHJpbmcnO1xyXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXHJcblxyXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcclxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcclxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgbW9kZVxyXG4vLy9cclxuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxyXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcclxuLy8vXHJcbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXHJcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyBvbGQtaWUuc2Nzc1xyXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcclxuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cclxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnJlYWtwb2ludCBsaXN0XHJcbi8vL1xyXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2VcclxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cclxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cclxuLy8vXHJcbi8vLyBAdHlwZSBNYXBcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtYnJlYWtwb2ludHM6IGJyZWFrcG9pbnRzLiRtcS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXHJcbi8vL1xyXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXHJcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcclxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3NcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xyXG4vLy8gIC8vXHJcbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXHJcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXHJcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xyXG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xyXG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxyXG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxyXG4vLy9cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLXN0YXRpYy1icmVha3BvaW50OiBtZDIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxyXG4vLy9cclxuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXHJcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xyXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXHJcbi8vL1xyXG4vLy8gQHR5cGUgbWFwXHJcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxyXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xyXG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxyXG4vLy8gQHJldHVybnMge051bWJlcn1cclxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcclxuICAgIEBpZiBtYXRoLmlzLXVuaXRsZXNzKCRweCkge1xyXG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xyXG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgbWF0aC51bml0KCRweCkgPT0gJ2VtJyB7XHJcbiAgICAgICAgQHJldHVybiAkcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiBtYXRoLmRpdigkcHgsICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XHJcbn1cclxuXHJcbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xyXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLmdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcclxuICAgICAgICBAcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXHJcbi8vL1xyXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XHJcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcclxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxyXG4vLy9cclxuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAuZWxlbWVudCB7XHJcbi8vLyAgICBAaW5jbHVkZSBtaXhpbnMubXEoJGZyb206IG1vYmlsZSkge1xyXG4vLy8gICAgICBjb2xvcjogcmVkO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbWl4aW5zLm1xKCR1bnRpbDogdGFibGV0KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbWl4aW5zLm1xKG1vYmlsZSwgdGFibGV0KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1peGlucy5tcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xyXG4vLy8gICAgICBjb2xvcjogdGVhbDtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1peGlucy5tcSg5NTBweCkge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1peGlucy5tcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XHJcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XHJcbi8vLyAgICBAaW5jbHVkZSBtaXhpbnMubXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbkBtaXhpbiBtcSggJGZyb206IGZhbHNlLCAkdW50aWw6IGZhbHNlLCAkYW5kOiBmYWxzZSwgJGVtcy1vbjogZmFsc2UsICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSwgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnQgKSB7XHJcbiAgICAkbWluLXdpZHRoOiAwO1xyXG4gICAgJG1heC13aWR0aDogMDtcclxuICAgICRtZWRpYS1xdWVyeTogJyc7XHJcblxyXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXHJcbiAgICBAaWYgJGZyb20ge1xyXG4gICAgICAgIEBpZiBtZXRhLnR5cGUtb2YoJGZyb20pID09ICdudW1iZXInIHtcclxuICAgICAgICAgICAgQGlmICRlbXMtb24ge1xyXG4gICAgICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICRtaW4td2lkdGg6ICRmcm9tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgQGlmICRlbXMtb24ge1xyXG4gICAgICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxyXG4gICAgQGlmICR1bnRpbCB7XHJcbiAgICAgICAgQGlmIG1ldGEudHlwZS1vZigkdW50aWwpID09ICdudW1iZXInIHtcclxuICAgICAgICAgICAgQGlmICRlbXMtb24ge1xyXG4gICAgICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkbWF4LXdpZHRoOiAkdW50aWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBAaWYgJGVtcy1vbiB7XHJcbiAgICAgICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJG1heC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpIC0gMXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcclxuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXHJcbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xyXG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xyXG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG51bGw7XHJcblxyXG4gICAgICAgIEBpZiAkZW1zLW9uIHtcclxuICAgICAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAkdGFyZ2V0LXdpZHRoOiAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXHJcbiAgICAgICAgQGlmICggJGFuZCA9PSBmYWxzZSBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoIGFuZCAoICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGggKSApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHtcclxuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHtcclxuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJGFuZCB7XHJcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xyXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xyXG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XHJcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyaW5nLnNsaWNlKHN0cmluZy51bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gUXVpY2sgc29ydFxyXG4vLy9cclxuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcclxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxyXG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcclxuICAgICRsZXNzOiAoKTtcclxuICAgICRlcXVhbDogKCk7XHJcbiAgICAkbGFyZ2U6ICgpO1xyXG5cclxuICAgIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPiAxIHtcclxuICAgICAgICAkc2VlZDogbGlzdC5udGgoJGxpc3QsIG1hdGguY2VpbChsaXN0Lmxlbmd0aCgkbGlzdCkgLyAyKSk7XHJcblxyXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcclxuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGVxdWFsOiBsaXN0LmFwcGVuZCgkZXF1YWwsICRpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGxlc3M6IGxpc3QuYXBwZW5kKCRsZXNzLCAkaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRsYXJnZTogbGlzdC5hcHBlbmQoJGxhcmdlLCAkaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEByZXR1cm4gbGlzdC5qb2luKGxpc3Quam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuXHJcbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XHJcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXHJcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xyXG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xyXG4gICAgJG1hcC1rZXlzOiBtYXAua2V5cygkbWFwKTtcclxuICAgICRtYXAtdmFsdWVzOiBtYXAudmFsdWVzKCRtYXApO1xyXG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XHJcblxyXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xyXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XHJcbiAgICAgICAgJGluZGV4OiBsaXN0LmluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xyXG4gICAgICAgICRrZXk6IGxpc3QubnRoKCRtYXAta2V5cywgJGluZGV4KTtcclxuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLm1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XHJcblxyXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXHJcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXHJcbiAgICAgICAgJG1hcC12YWx1ZXM6IGxpc3Quc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xyXG59XHJcblxyXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcclxuLy8vICBAaW5jbHVkZSBtaXhpbnMubXEodHZzY3JlZW4pIHt9XHJcbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XHJcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcclxuICAgICRtcS1icmVha3BvaW50czogbWFwLm1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXHJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXHJcbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxuLy8vXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcclxuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xyXG4gICAgYm9keTpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xyXG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xyXG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXHJcbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XHJcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmIGxpc3QubGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xyXG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxufVxyXG4iXX0= */
