.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 */
.promo.absolute-bottom-link {
  position: relative;
}
.promo.absolute-bottom-link .field-promolink {
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.promo.promo-hero {
  position: relative;
  text-align: center;
}
.promo.promo-hero.promo-hero-half {
  float: left;
  width: 50%;
}
@media only screen and (max-width: 959px) {
  .promo.promo-hero.promo-hero-half {
    float: none;
    width: 100%;
  }
}
.promo.promo-hero .field-promotext {
  display: inline-block;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  padding: 20px;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
}
.promo.promo-hero .field-promotext > a {
  color: inherit;
  text-decoration: none;
}
@media only screen and (max-width: 959px) {
  .promo.promo-hero .field-promotext {
    width: 100%;
    margin: 0;
  }
  .promo.promo-hero .field-promotext h1 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .promo.promo-hero .field-promotext h2, .promo.promo-hero .field-promotext h3, .promo.promo-hero .field-promotext h4 {
    font-size: 20px;
    font-size: 2rem;
  }
}

.promo-shadow {
  max-width: 960px;
  padding: 0;
  border-top-width: 3px;
  border-top-color: #89C6CC;
  border-style: solid;
  overflow: visible;
  position: relative;
}
.promo-shadow.promo {
  float: left;
}
@media only screen and (max-width: 959px) {
  .promo-shadow > .component-content {
    margin: 0 10px 30px 10px;
  }
}
.promo-shadow > .component-content {
  padding: 15px;
  margin: 0 0 30px 0;
}
.promo-shadow > .component-content:before, .promo-shadow > .component-content:after {
  opacity: 0.7;
  -webkit-box-shadow: 0 17px 10px rgba(0, 0, 0, 0.7);
          box-shadow: 0 17px 10px rgba(0, 0, 0, 0.7);
  position: absolute;
  z-index: -1;
  height: 20%;
  max-height: 100px;
  max-width: 460px;
  width: 47%;
  content: "";
  bottom: 10px;
}
.promo-shadow > .component-content:before {
  left: 2%;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
}
.promo-shadow > .component-content:after {
  right: 2%;
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
}

.promo {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.promo .zg-height-fix .field-promoicon {
  margin-top: 100px;
}
.promo .field-promoicon {
  overflow: hidden;
  float: left;
  width: 100%;
}
.promo .field-promoicon img {
  width: 100%;
  height: auto;
}
.promo.image-full-size img {
  margin-bottom: 10px;
}
.promo {
  /* breakpoints */
}
.promo h1 {
  margin: 0 0 8px 0;
}
.promo h1:not([class^=u-type]) {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 3.2rem;
  line-height: 40px;
}
@media (min-width: 768px) {
  .promo h1:not([class^=u-type]) {
    font-size: 5rem;
    line-height: 56px;
  }
}
.promo h1:not([class^=u-type]) {
  font-style: normal;
  font-weight: 700;
}
.promo h1:not([class^=u-color]) {
  color: #000000;
}
.promo h2 {
  margin: 0 0 8px 0;
}
.promo h2:not([class^=u-type]) {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 2.9rem;
  font-style: normal;
  font-weight: 700;
}
.promo h2:not([class^=u-color]) {
  color: #000000;
}
.promo h3 {
  margin: 0 0 8px 0;
}
.promo h3:not([class^=u-type]) {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 2.2rem;
  font-style: normal;
  font-weight: 700;
}
.promo h3:not([class^=u-color]) {
  color: #000000;
}
.promo h4 {
  margin: 0 0 8px 0;
}
.promo h4:not([class^=u-type]) {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.7rem;
  font-style: normal;
  font-weight: 700;
}
.promo h4:not([class^=u-color]) {
  color: #000000;
}
.promo h5 {
  margin: 0 0 8px 0;
}
.promo h5:not([class^=u-type]) {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
}
.promo h5:not([class^=u-color]) {
  color: #000000;
}
.promo h6 {
  margin: 0 0 8px 0;
}
.promo h6:not([class^=u-type]) {
  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) {
  .promo h6:not([class^=u-type]) {
    font-size: 2.4rem;
    line-height: 30px;
  }
}
.promo h6:not([class^=u-type]) {
  font-style: normal;
  font-weight: 700;
}
.promo h6:not([class^=u-color]) {
  color: #000000;
}
.promo p {
  margin-bottom: 32px;
  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) {
  .promo p {
    font-size: 2rem;
    line-height: 32px;
  }
}
.promo p {
  font-style: normal;
  font-weight: 300;
}
.promo strong {
  color: #000000;
}
.promo 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) {
  .promo a {
    font-size: 2rem;
    line-height: 32px;
  }
}
.promo a {
  font-style: normal;
  font-weight: 400;
  color: #0070cd;
  text-decoration: none;
}
.promo a:hover, .promo a:focus {
  text-decoration: underline;
}
.promo a[href*=pdf] {
  padding-right: 4px;
  position: relative;
}
.promo a[href*=pdf]::after {
  right: -2px;
  top: 0;
}
.promo a[href*=pdf]::after {
  content: " ";
  background-image: url(/-/media/Project/TTC/DevProto/Icons/pdf-red.svg);
  height: 25px;
  width: 23px;
  display: inline-block;
  background-size: 23px 25px;
  background-repeat: no-repeat;
  white-space: pre;
}
.promo a[href*=xls] {
  padding-right: 4px;
  position: relative;
}
.promo a[href*=xls]::after {
  right: -2px;
  top: 0;
}
.promo a[href*=xls]::after {
  content: ".xls";
}
.promo a[href*=ppt] {
  padding-right: 4px;
  position: relative;
}
.promo a[href*=ppt]::after {
  right: -2px;
  top: 0;
}
.promo a[href*=ppt]::after {
  content: ".ppt";
}
.promo a[href*=doc] {
  padding-right: 4px;
  position: relative;
}
.promo a[href*=doc]::after {
  right: -2px;
  top: 0;
}
.promo a[href*=doc]::after {
  content: ".doc";
}
.promo a {
  text-decoration: underline;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}
.promo blockquote {
  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) {
  .promo blockquote {
    font-size: 2.4rem;
    line-height: 30px;
  }
}
.promo blockquote {
  font-style: normal;
  font-weight: 700;
  margin-bottom: 32px;
  color: #da251d;
  padding-left: 16px;
  border-left: 5px solid #da251d;
}
.promo table {
  height: auto !important;
  border: 2px solid #d2d2d2;
}
.promo table, .promo table tr, .promo table th, .promo table td {
  border: solid 2px #d2d2d2;
  background: #FFFFFF;
  border-collapse: collapse;
  vertical-align: middle;
}
.promo table tr, .promo table th, .promo table td {
  padding: 5px;
}
.promo table caption {
  background-color: #f7f7f7;
  overflow: hidden;
  padding: 10px;
  font-size: 20px;
  font-weight: bold;
  margin-left: 0;
}
.promo table tr {
  border: none;
}
.promo table th, .promo table td {
  font-size: 1.8rem;
  border-width: 2px 0 0 2px;
  font-weight: 300;
}
.promo table th {
  background-color: #FFFFFF;
  font-weight: 500;
  padding: 7px;
}
.promo table th:first-child {
  border-left: 0;
}
.promo table td:first-child {
  border-left: 0;
}
.promo ul {
  margin-left: 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
  list-style-type: disc;
  margin-bottom: 32px;
}
.promo ul li {
  padding: 5px 0 5px 0;
  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) {
  .promo ul li {
    font-size: 2rem;
    line-height: 32px;
  }
}
.promo ul li {
  font-style: normal;
  font-weight: 300;
}
.promo ol {
  margin-left: 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
  list-style-type: decimal;
  margin-bottom: 32px;
}
.promo ol li {
  padding: 5px 0 5px 0;
  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) {
  .promo ol li {
    font-size: 2rem;
    line-height: 32px;
  }
}
.promo ol li {
  font-style: normal;
  font-weight: 300;
}
@media (min-width: 1225px) {
  .promo blockquote {
    max-width: 400px;
    margin-left: 32px;
    margin-right: -48px;
    margin-bottom: 8px;
    float: right;
  }
}
@media (min-width: 768px) {
  .promo table th, .promo table td {
    font-size: 2rem;
  }
}
.promo h3.u-type--d3 {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 2.3rem;
  line-height: 28px;
}
@media (min-width: 768px) {
  .promo h3.u-type--d3 {
    font-size: 2.8rem;
    line-height: 36px;
  }
}
.promo h3.u-type--d3 {
  font-style: normal;
  font-weight: 700;
}
.promo h2.c-home-promo__title {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 3.2rem;
  line-height: 40px;
}
@media (min-width: 768px) {
  .promo h2.c-home-promo__title {
    font-size: 5rem;
    line-height: 56px;
  }
}
.promo h2.c-home-promo__title {
  font-style: normal;
  font-weight: 700;
  max-width: 700px;
}
.promo ul {
  margin-left: 0;
  list-style: none;
}

.c-promo-2col img {
  max-width: 500px;
}
.c-promo-2col .field-promoicon {
  float: none;
}
.c-promo-2col > .component-content {
  padding: 64px 32px;
}

.c-home-promo {
  position: relative;
}

.c-home-promo__image {
  float: none !important;
}

.c-home-promo__title {
  background-color: #ffffff;
  color: #000000;
  padding: 8px 16px 16px 16px;
}

@media (min-width: 768px) {
  .c-promo-2col {
    height: 100%;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
  }
  .c-promo-2col > .component-content {
    display: -webkit-box;
    display: flex;
    max-width: 1187px;
    padding: 128px 32px;
  }
  .c-promo-2col img {
    float: right;
  }
  .c-promo__links ul {
    margin-bottom: 0;
  }
}
@media (max-width: 639px) {
  .promo.c-promo-subscribe {
    background-color: #da251d;
    color: #ffffff;
    padding: 32px 16px;
  }
  .promo.c-promo-subscribe h3 {
    color: #ffffff;
  }
  .c-home-promo__content {
    position: relative;
    top: -32px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .c-home-promo__content > .component-content {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (min-width: 640px) {
  .c-home-promo__content {
    position: absolute;
    left: 64px;
    bottom: 32px;
    right: 0;
  }
  .promo .c-home-promo__title {
    background-color: transparent;
    color: #ffffff !important;
    padding: 0;
  }
  .c-promo-subscribe {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .c-promo-subscribe > .component-content {
    background-color: #ffffff;
    padding: 32px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    margin-right: 32px;
  }
  .c-promo-subscribe > .component-content .u-type--body {
    color: #000000;
  }
}
@media (min-width: 768px) {
  .promo.c-promo-subscribe > .component-content {
    margin-left: calc(8.3333333333% + 6px) !important;
    margin-right: calc(12.5% + 6px) !important;
  }
}
@media (min-width: 1225px) {
  .promo.c-promo-subscribe > .component-content {
    margin: 0 auto;
    margin-left: calc(16.6666666667% + 6px) !important;
    margin-right: calc(25% + 6px) !important;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy92YXJzL190eXBlLWNsYXNzZXMuc2NzcyIsImNvbXBvbmVudC1wcm9tby5jc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwic3R5bGVzL3Byb21vL2Fic29sdXRlLWJvdHRvbS1saW5rLnNjc3MiLCJzdHlsZXMvcHJvbW8vcHJvbW8taGVyby5zY3NzIiwiYWJzdHJhY3RzL3ZhcnMvX2NvbG9ycy5zY3NzIiwic3R5bGVzL3Byb21vL3Byb21vLXNoYWRvdy5zY3NzIiwiY29tcG9uZW50LXByb21vLnNjc3MiLCJiYXNlL3JpY2h0ZXh0L19yaWNodGV4dC5zY3NzIiwiY29tbW9uLXVpL3R5cG9ncmFwaHkvX21peGlucy5zY3NzIiwiYWJzdHJhY3RzL21peGlucy9fbGluay5zY3NzIiwiYWJzdHJhY3RzL3ZhcnMvX2ZvbnRTaXplcy5zY3NzIiwiYWJzdHJhY3RzL21peGlucy9fc2Fzcy1tcS1tb2Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHSTtFQUNJLGdCQUFBO0FDRlI7O0FEQ0k7RUFDSSxnQkFBQTtBQ0VSOztBREhJO0VBQ0ksZ0JBQUE7QUNNUjs7QURQSTtFQUNJLGdCQUFBO0FDVVI7O0FDVUEsZ0JBQUE7QUN4QkE7RUFDSSxrQkFBQTtBRmtCSjtBRWpCSTtFQUNJLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QUZtQlI7O0FHckJBO0VBQ0ksa0JBQUE7RUFDQSxrQkFBQTtBSHdCSjtBR3RCSTtFQUNJLFdBQUE7RUFDQSxVQUFBO0FId0JSO0FDZ0RRO0VFMUVKO0lBS1EsV0FBQTtJQUNBLFdBQUE7RUh5QlY7QUFDRjtBR3RCSTtFQUNJLHFCQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsYUFBQTtFQUNBLFdDK0RJO0VEOURKLDhCQzRMTztBSnBLZjtBR3RCUTtFQUNJLGNBQUE7RUFDQSxxQkFBQTtBSHdCWjtBQzJCUTtFRWhFSjtJQWlC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SixtQkEzSEk7RU5xaUJkO0FBQ0Y7QVd6VFE7RUw1R0o7SUFDSSxrQkFBQTtJQUNBLFVBaklRO0lBa0lSLFlBbklRO0lBb0lSLFFBQUE7RU53YU47RU1yYUU7SUFDSSw2QkFBQTtJQUNBLHlCQUFBO0lBQ0EsVUFBQTtFTnVhTjtFTXBhRTtJQUNJLGtCQUFBO0lBQ0EsUUFBQTtJQUNBLG1DQUFBO1lBQUEsMkJBQUE7RU5zYU47RU1wYU07SUFDSSx5QkE5SW1CO0lBK0luQixhQXBKSTtJQXFKSixrQkFBQTtJQUNBLFFBQUE7SUFDQSxtQ0FBQTtZQUFBLDJCQUFBO0lBQ0Esa0JBeEpJO0VOOGpCZDtFTXBhVTtJQUNJLGNBdkpJO0VONmpCbEI7QUFDRjtBV3RWUTtFTHpFQTtJQUNJLGlEQUFBO0lBQ0EsMENBQUE7RU5rYVY7QUFDRjtBVzVWUTtFTGhFQTtJQUNJLGNBQUE7SUFDQSxrREFBQTtJQUNBLHdDQUFBO0VOK1pWO0FBQ0YiLCJmaWxlIjoiY29tcG9uZW50LXByb21vLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJ0eXBlXCI7XHJcblxyXG5AZWFjaCAkbmFtZSwgJHN0eWxlIGluIHR5cGUuJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzIHtcclxuICAgIC51LXR5cGUtLSN7JG5hbWV9IHtcclxuICAgICAgICBmb250LXdlaWdodDogI3skc3R5bGV9O1xyXG4gICAgfVxyXG59XHJcbiIsIi51LXR5cGUtLWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnUtdHlwZS0tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi51LXR5cGUtLW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi51LXR5cGUtLWJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vKiBicmVha3BvaW50cyAqL1xuLnByb21vLmFic29sdXRlLWJvdHRvbS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnByb21vLmFic29sdXRlLWJvdHRvbS1saW5rIC5maWVsZC1wcm9tb2xpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG59XG5cbi5wcm9tby5wcm9tby1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucHJvbW8ucHJvbW8taGVyby5wcm9tby1oZXJvLWhhbGYge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLnByb21vLnByb21vLWhlcm8ucHJvbW8taGVyby1oYWxmIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnByb21vLnByb21vLWhlcm8gLmZpZWxkLXByb21vdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5wcm9tby5wcm9tby1oZXJvIC5maWVsZC1wcm9tb3RleHQgPiBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLnByb21vLnByb21vLWhlcm8gLmZpZWxkLXByb21vdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5wcm9tby5wcm9tby1oZXJvIC5maWVsZC1wcm9tb3RleHQgaDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxuICAucHJvbW8ucHJvbW8taGVybyAuZmllbGQtcHJvbW90ZXh0IGgyLCAucHJvbW8ucHJvbW8taGVybyAuZmllbGQtcHJvbW90ZXh0IGgzLCAucHJvbW8ucHJvbW8taGVybyAuZmllbGQtcHJvbW90ZXh0IGg0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5wcm9tby1zaGFkb3cge1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XG4gIGJvcmRlci10b3AtY29sb3I6ICM4OUM2Q0M7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJvbW8tc2hhZG93LnByb21vIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC5wcm9tby1zaGFkb3cgPiAuY29tcG9uZW50LWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAxMHB4IDMwcHggMTBweDtcbiAgfVxufVxuLnByb21vLXNoYWRvdyA+IC5jb21wb25lbnQtY29udGVudCB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbn1cbi5wcm9tby1zaGFkb3cgPiAuY29tcG9uZW50LWNvbnRlbnQ6YmVmb3JlLCAucHJvbW8tc2hhZG93ID4gLmNvbXBvbmVudC1jb250ZW50OmFmdGVyIHtcbiAgb3BhY2l0eTogMC43O1xuICBib3gtc2hhZG93OiAwIDE3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMjAlO1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbiAgd2lkdGg6IDQ3JTtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAxMHB4O1xufVxuLnByb21vLXNoYWRvdyA+IC5jb21wb25lbnQtY29udGVudDpiZWZvcmUge1xuICBsZWZ0OiAyJTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xufVxuLnByb21vLXNoYWRvdyA+IC5jb21wb25lbnQtY29udGVudDphZnRlciB7XG4gIHJpZ2h0OiAyJTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG59XG5cbi5wcm9tbyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ucHJvbW8gLnpnLWhlaWdodC1maXggLmZpZWxkLXByb21vaWNvbiB7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuLnByb21vIC5maWVsZC1wcm9tb2ljb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucHJvbW8gLmZpZWxkLXByb21vaWNvbiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnByb21vLmltYWdlLWZ1bGwtc2l6ZSBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnByb21vIHtcbiAgLyogYnJlYWtwb2ludHMgKi9cbn1cbi5wcm9tbyBoMSB7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xufVxuLnByb21vIGgxOm5vdChbY2xhc3NePXUtdHlwZV0pIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xuICBsaW5lLWhlaWdodDogNDBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8gaDE6bm90KFtjbGFzc149dS10eXBlXSkge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgfVxufVxuLnByb21vIGgxOm5vdChbY2xhc3NePXUtdHlwZV0pIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnByb21vIGgxOm5vdChbY2xhc3NePXUtY29sb3JdKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnByb21vIGgyIHtcbiAgbWFyZ2luOiAwIDAgOHB4IDA7XG59XG4ucHJvbW8gaDI6bm90KFtjbGFzc149dS10eXBlXSkge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAyLjlyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wcm9tbyBoMjpub3QoW2NsYXNzXj11LWNvbG9yXSkge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5wcm9tbyBoMyB7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xufVxuLnByb21vIGgzOm5vdChbY2xhc3NePXUtdHlwZV0pIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucHJvbW8gaDM6bm90KFtjbGFzc149dS1jb2xvcl0pIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucHJvbW8gaDQge1xuICBtYXJnaW46IDAgMCA4cHggMDtcbn1cbi5wcm9tbyBoNDpub3QoW2NsYXNzXj11LXR5cGVdKSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnByb21vIGg0Om5vdChbY2xhc3NePXUtY29sb3JdKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnByb21vIGg1IHtcbiAgbWFyZ2luOiAwIDAgOHB4IDA7XG59XG4ucHJvbW8gaDU6bm90KFtjbGFzc149dS10eXBlXSkge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wcm9tbyBoNTpub3QoW2NsYXNzXj11LWNvbG9yXSkge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5wcm9tbyBoNiB7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xufVxuLnByb21vIGg2Om5vdChbY2xhc3NePXUtdHlwZV0pIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8gaDY6bm90KFtjbGFzc149dS10eXBlXSkge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG4ucHJvbW8gaDY6bm90KFtjbGFzc149dS10eXBlXSkge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucHJvbW8gaDY6bm90KFtjbGFzc149dS1jb2xvcl0pIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucHJvbW8gcCB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIHAge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuLnByb21vIHAge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4ucHJvbW8gc3Ryb25nIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucHJvbW8gYSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIGEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuLnByb21vIGEge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDA3MGNkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ucHJvbW8gYTpob3ZlciwgLnByb21vIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5wcm9tbyBhW2hyZWYqPXBkZl0ge1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcm9tbyBhW2hyZWYqPXBkZl06OmFmdGVyIHtcbiAgcmlnaHQ6IC0ycHg7XG4gIHRvcDogMDtcbn1cbi5wcm9tbyBhW2hyZWYqPXBkZl06OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvLS9tZWRpYS9Qcm9qZWN0L1RUQy9EZXZQcm90by9JY29ucy9wZGYtcmVkLnN2Zyk7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDIzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1zaXplOiAyM3B4IDI1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG59XG4ucHJvbW8gYVtocmVmKj14bHNdIHtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJvbW8gYVtocmVmKj14bHNdOjphZnRlciB7XG4gIHJpZ2h0OiAtMnB4O1xuICB0b3A6IDA7XG59XG4ucHJvbW8gYVtocmVmKj14bHNdOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLnhsc1wiO1xufVxuLnByb21vIGFbaHJlZio9cHB0XSB7XG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnByb21vIGFbaHJlZio9cHB0XTo6YWZ0ZXIge1xuICByaWdodDogLTJweDtcbiAgdG9wOiAwO1xufVxuLnByb21vIGFbaHJlZio9cHB0XTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5wcHRcIjtcbn1cbi5wcm9tbyBhW2hyZWYqPWRvY10ge1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcm9tbyBhW2hyZWYqPWRvY106OmFmdGVyIHtcbiAgcmlnaHQ6IC0ycHg7XG4gIHRvcDogMDtcbn1cbi5wcm9tbyBhW2hyZWYqPWRvY106OmFmdGVyIHtcbiAgY29udGVudDogXCIuZG9jXCI7XG59XG4ucHJvbW8gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4ucHJvbW8gYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIGJsb2NrcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG4ucHJvbW8gYmxvY2txdW90ZSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgY29sb3I6ICNkYTI1MWQ7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZGEyNTFkO1xufVxuLnByb21vIHRhYmxlIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkMmQyZDI7XG59XG4ucHJvbW8gdGFibGUsIC5wcm9tbyB0YWJsZSB0ciwgLnByb21vIHRhYmxlIHRoLCAucHJvbW8gdGFibGUgdGQge1xuICBib3JkZXI6IHNvbGlkIDJweCAjZDJkMmQyO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnByb21vIHRhYmxlIHRyLCAucHJvbW8gdGFibGUgdGgsIC5wcm9tbyB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5wcm9tbyB0YWJsZSBjYXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucHJvbW8gdGFibGUgdHIge1xuICBib3JkZXI6IG5vbmU7XG59XG4ucHJvbW8gdGFibGUgdGgsIC5wcm9tbyB0YWJsZSB0ZCB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBib3JkZXItd2lkdGg6IDJweCAwIDAgMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuLnByb21vIHRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogN3B4O1xufVxuLnByb21vIHRhYmxlIHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG4ucHJvbW8gdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cbi5wcm9tbyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG4ucHJvbW8gdWwgbGkge1xuICBwYWRkaW5nOiA1cHggMCA1cHggMDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8gdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuLnByb21vIHVsIGxpIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuLnByb21vIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cbi5wcm9tbyBvbCBsaSB7XG4gIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9tbyBvbCBsaSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG4ucHJvbW8gb2wgbGkge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIyNXB4KSB7XG4gIC5wcm9tbyBibG9ja3F1b3RlIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTQ4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9tbyB0YWJsZSB0aCwgLnByb21vIHRhYmxlIHRkIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbi5wcm9tbyBoMy51LXR5cGUtLWQzIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMi4zcmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8gaDMudS10eXBlLS1kMyB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cbn1cbi5wcm9tbyBoMy51LXR5cGUtLWQzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnByb21vIGgyLmMtaG9tZS1wcm9tb19fdGl0bGUge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAzLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9tbyBoMi5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gIH1cbn1cbi5wcm9tbyBoMi5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xufVxuLnByb21vIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLXByb21vLTJjb2wgaW1nIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbi5jLXByb21vLTJjb2wgLmZpZWxkLXByb21vaWNvbiB7XG4gIGZsb2F0OiBub25lO1xufVxuLmMtcHJvbW8tMmNvbCA+IC5jb21wb25lbnQtY29udGVudCB7XG4gIHBhZGRpbmc6IDY0cHggMzJweDtcbn1cblxuLmMtaG9tZS1wcm9tbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtaG9tZS1wcm9tb19faW1hZ2Uge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYy1ob21lLXByb21vX190aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBwYWRkaW5nOiA4cHggMTZweCAxNnB4IDE2cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1wcm9tby0yY29sIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5jLXByb21vLTJjb2wgPiAuY29tcG9uZW50LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMTg3cHg7XG4gICAgcGFkZGluZzogMTI4cHggMzJweDtcbiAgfVxuICAuYy1wcm9tby0yY29sIGltZyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5jLXByb21vX19saW5rcyB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5wcm9tby5jLXByb21vLXN1YnNjcmliZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMjUxZDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAzMnB4IDE2cHg7XG4gIH1cbiAgLnByb21vLmMtcHJvbW8tc3Vic2NyaWJlIGgzIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgfVxuICAuYy1ob21lLXByb21vX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMzJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgfVxuICAuYy1ob21lLXByb21vX19jb250ZW50ID4gLmNvbXBvbmVudC1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jLWhvbWUtcHJvbW9fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA2NHB4O1xuICAgIGJvdHRvbTogMzJweDtcbiAgICByaWdodDogMDtcbiAgfVxuICAucHJvbW8gLmMtaG9tZS1wcm9tb19fdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuYy1wcm9tby1zdWJzY3JpYmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgLmMtcHJvbW8tc3Vic2NyaWJlID4gLmNvbXBvbmVudC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIH1cbiAgLmMtcHJvbW8tc3Vic2NyaWJlID4gLmNvbXBvbmVudC1jb250ZW50IC51LXR5cGUtLWJvZHkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vLmMtcHJvbW8tc3Vic2NyaWJlID4gLmNvbXBvbmVudC1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgNnB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMi41JSArIDZweCkgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMjVweCkge1xuICAucHJvbW8uYy1wcm9tby1zdWJzY3JpYmUgPiAuY29tcG9uZW50LWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgNnB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygyNSUgKyA2cHgpICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIvLyBAaW1wb3J0ICd+c2Fzcy1tcS9tcSc7XHJcbkB1c2UgXCJzYXNzOmxpc3RcIjtcclxuQHVzZSAnbWl4aW5zL3Nhc3MtbXEtbW9kLnNjc3MnO1xyXG5AdXNlICcuLi9jb21tb24tdWkvdHlwb2dyYXBoeS9taXhpbnMnO1xyXG5AdXNlICdtaXhpbnMvYWNjZXNzaWJpbGl0eSc7XHJcbkB1c2UgJ21peGlucy9idXR0b24nO1xyXG5AdXNlICdtaXhpbnMvbGluayc7XHJcbkB1c2UgJ21peGlucy9vdmVybGF5JztcclxuQHVzZSAnbWl4aW5zL3RyYW5zaXRpb25zJztcclxuQHVzZSAnbWl4aW5zL3NoYWRvd3MnO1xyXG5AdXNlICdtaXhpbnMvdGFnJztcclxuQHVzZSAnLi4vYWJzdHJhY3RzL3ZhcnMvY29sb3JzJztcclxuXHJcbkBmb3J3YXJkICdtaXhpbnMvc2Fzcy1tcS1tb2Quc2Nzcyc7XHJcbkBmb3J3YXJkICcuLi9jb21tb24tdWkvdHlwb2dyYXBoeS9taXhpbnMnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL2FjY2Vzc2liaWxpdHknO1xyXG5AZm9yd2FyZCAnbWl4aW5zL2J1dHRvbic7XHJcbkBmb3J3YXJkICdtaXhpbnMvbGluayc7XHJcbkBmb3J3YXJkICdtaXhpbnMvb3ZlcmxheSc7XHJcbkBmb3J3YXJkICdtaXhpbnMvdHJhbnNpdGlvbnMnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL3NoYWRvd3MnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL3RhZyc7XHJcblxyXG4vLyBCZWxvdyBhcmUgbWl4aW4ncyBmcm9tIEZYQVxyXG4vKiBicmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrLWRlc2t0b3A6IDk2MHB4O1xyXG4kYnJlYWstbW9iaWxlOiAzODBweDtcclxuJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsOiA2NDBweDtcclxuJGJyZWFrLW1vYmlsZS1sYXJnZTogNzg2cHg7XHJcblxyXG5AbWl4aW4gd3JhcHBlcigpIHtcclxuICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxMCkgKyBweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcclxufVxyXG5cclxuQG1peGluIG9wZW5zYW5zLWZvbnQtc3RhY2soKSB7XHJcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2FkaW5nLWdpZigpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtODtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSWdkMmxrZEdnOUlqTXlJaUJvWldsbmFIUTlJak15SWlCbWFXeHNQU0ppYkdGamF5SStEUW9nSUR4d1lYUm9JQ0J2Y0dGamFYUjVQU0l1TWpVaUlHUTlJazB4TmlBd0lFRXhOaUF4TmlBd0lEQWdNQ0F4TmlBek1pQkJNVFlnTVRZZ01DQXdJREFnTVRZZ01DQk5NVFlnTkNCQk1USWdNVElnTUNBd0lERWdNVFlnTWpnZ1FURXlJREV5SURBZ01DQXhJREUySURRaUx6NE5DaUFnUEhCaGRHZ2dabWxzYkQwbkl6RmhPREJpTmljZ1pEMGlUVEUySURBZ1FURTJJREUySURBZ01DQXhJRE15SURFMklFd3lPQ0F4TmlCQk1USWdNVElnTUNBd0lEQWdNVFlnTkhvaVBnMEtJQ0FnSUR4aGJtbHRZWFJsVkhKaGJuTm1iM0p0SUdGMGRISnBZblYwWlU1aGJXVTlJblJ5WVc1elptOXliU0lnZEhsd1pUMGljbTkwWVhSbElpQm1jbTl0UFNJd0lERTJJREUySWlCMGJ6MGlNell3SURFMklERTJJaUJrZFhJOUlqQXVPSE1pSUhKbGNHVmhkRU52ZFc1MFBTSnBibVJsWm1sdWFYUmxJaUF2UGcwS0lDQThMM0JoZEdnK0RRbzhMM04yWno0TkNnPT0pO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGlmICRtZWRpYT09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWhvcml6b250YWwgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWJhc2ljKCRwb3NpdGlvbjogYWxsLCAkYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGJvcmRlci1ncmF5LCAkYm9yZGVyLXdpZHRoOiAxcHgpIHtcclxuICAgIEBpZigkcG9zaXRpb249PXRvcCkge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09Ym90dG9tKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJHBvc2l0aW9uPT1sZWZ0KSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09cmlnaHQpIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZpeGVkLWJnKCRwb3MsICRtaW4taGVpZ2h0OiAyNDBweCkge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvcztcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcclxufVxyXG5cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMuLi4pIHtcclxuICAgIC8vIERpcmVjdGlvbiBoYXMgYmVlbiBvbWl0dGVkIGFuZCBoYXBwZW5zIHRvIGJlIGEgY29sb3Itc3RvcFxyXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xyXG4gICAgICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xyXG4gICAgICAgICRkaXJlY3Rpb246IDE4MGRlZztcclxuICAgIH1cclxuXHJcbiAgICAkZmlyc3QtY29sb3Itc3RvcC1ncm91cDogbGlzdC5udGgoJGNvbG9yLXN0b3BzLCAxKTtcclxuICAgICRmaXJzdC1jb2xvci1zdG9wOiBsaXN0Lm50aCgkZmlyc3QtY29sb3Itc3RvcC1ncm91cCwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZmlyc3QtY29sb3Itc3RvcDtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcclxufVxyXG4iLCIucHJvbW8uYWJzb2x1dGUtYm90dG9tLWxpbmsge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmZpZWxkLXByb21vbGluayB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMTBweDtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG4iLCJAdXNlIFwiLi4vLi4vYWJzdHJhY3RzL3ZhcnMvY29sb3JzXCIgYXMgKjtcclxuQHVzZSBcIi4uLy4uL2Fic3RyYWN0cy9taXhpbnNcIjtcclxuXHJcbi5wcm9tby5wcm9tby1oZXJvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAmLnByb21vLWhlcm8taGFsZiB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnJlc3BvbmQtdG8oYWxsLW1vYmlsZSkge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC1wcm9tb3RleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBjb2xvcjogJHByb21vLWhlcm8tdGV4dC1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvbW8tYmctaGVybztcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5yZXNwb25kLXRvKGFsbC1tb2JpbGUpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5mb250LXNpemUoMi40KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDIsIGgzLCBoNCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZm9udC1zaXplKDIuMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9ucy9jb2xvclwiO1xyXG5AdXNlIFwic2FzczptYXBcIjtcclxuQGZvcndhcmQgXCIuLi9mdW5jdGlvbnMvY29sb3JcIiBzaG93IGNvbG9yO1xyXG5cclxuLy8gVXNlIGNvbG9yIGZ1bmN0aW9ucyBmb3IgVFRDXHJcbi8vIE5hbWVzIHRha2VuIGZyb20gaHRtbGNzc2NvbG9yLmNvbSBpZiBub3QgZGVzY3JpcHRpdmUgZW5vdWdoIGZyb20gemVwbGluXHJcbiRjb2xvcnM6IChcclxuICBcIndoaXRlXCI6ICNmZmZmZmYsXHJcbiAgXCJ3aGl0ZS1zbW9rZVwiOiAjZjNmM2YzLFxyXG4gIFwiY2hlcnJ5LXJlZFwiOiAjZGEyNTFkLFxyXG4gIFwic2NhcmxldFwiOiAjNzQwMDAwLFxyXG4gIFwiY2FybWluZVwiOiAjYTMwMDFjLFxyXG4gIFwiY2VydWxlYW5cIjogIzAwNzBjZCxcclxuICBcIm9jZWFuLWJsdWVcIjogIzA2NTZhNSxcclxuICBcImNlcnVsZWFuLXR3b1wiOiAjMDA5YWRlLFxyXG4gIFwiZ29sZGVuLXllbGxvd1wiOiAjZmZjNjI3LFxyXG4gIFwid2FybS1ncmV5XCI6ICM3Njc2NzYsXHJcbiAgXCJncmV5MjlcIjogIzRhNGE0YSxcclxuICBcImdyZXk3MFwiOiAjYjNiM2IzLFxyXG4gIFwiZHVzdHktZ3JleVwiOiAjZWRlZGVkLFxyXG4gIFwid2FybS1ncmV5LTJcIjogIzk3OTc5NyxcclxuICBcImRpbS1ncmV5XCI6ICM2OTY5NjksXHJcbiAgXCJ3aGl0ZS10d29cIjogI2Q1ZDVkNSxcclxuICBcIndoaXRlLXRocmVlXCI6ICNkMmQyZDIsXHJcbiAgXCJnYWluc2Jvcm9cIjogI2Q4ZDhkOCxcclxuICBcIm5lcm9cIjogIzFlMWUxZSxcclxuICBcImdvbGRlbi1wb3BweVwiOiAjZjhjMzAwLFxyXG4gIFwiZXhwcmVzcy1ncmVlblwiOiAjMDA5MjNmLFxyXG4gIFwibmlnaHQtYmx1ZVwiOiAjMDI0MTgyLFxyXG4gIFwiY29tbXVuaXR5LWdyZXlcIjogIzgwODA4MCxcclxuICBcIm1hdXZlLXRhdXBlXCI6ICM5NzU4NkIsXHJcbiAgXCJibGFja1wiOiAjMDAwMDAwLFxyXG4gIFwic3BpbmtcIjogI0VCNkZCRCxcclxuICBcIm9yYW5nZVwiOiAjRUI4NzM4LFxyXG4gIFwic2h1dHRsZS1vcmFuZ2VcIjogI0VCODczOFxyXG4pO1xyXG5cclxuJGZ1bmN0aW9uYWwtY29sb3JzOiAoXHJcbiAgcHJpbWFyeS1jb250cmFzdDogbWFwLmdldCgkY29sb3JzLCBcIndoaXRlXCIpLFxyXG4gIHByaW1hcnktY29udHJhc3QtZGFyazogbWFwLmdldCgkY29sb3JzLCBcIndoaXRlLXNtb2tlXCIpLFxyXG4gIHByaW1hcnk6IG1hcC5nZXQoJGNvbG9ycywgXCJjaGVycnktcmVkXCIpLFxyXG4gIHByaW1hcnktZGFyazogbWFwLmdldCgkY29sb3JzLCBcInNjYXJsZXRcIiksXHJcbiAgcHJpbWFyeS1kYXJrZXI6IG1hcC5nZXQoJGNvbG9ycywgXCJjYXJtaW5lXCIpLFxyXG4gIHNlY29uZGFyeTogbWFwLmdldCgkY29sb3JzLCBcImNlcnVsZWFuXCIpLFxyXG4gIHNlY29uZGFyeS1kYXJrOiBtYXAuZ2V0KCRjb2xvcnMsIFwib2NlYW4tYmx1ZVwiKSxcclxuICBzZWNvbmRhcnktbGlnaHQ6IG1hcC5nZXQoJGNvbG9ycywgXCJjZXJ1bGVhbi10d29cIiksXHJcbiAgYWNjZW50LXllbGxvdzogbWFwLmdldCgkY29sb3JzLCBcImdvbGRlbi15ZWxsb3dcIiksXHJcbiAgZ3JleTogbWFwLmdldCgkY29sb3JzLCBcImdyZXkyOVwiKSxcclxuICBncmV5LW1lbnU6IG1hcC5nZXQoJGNvbG9ycywgXCJkdXN0eS1ncmV5XCIpLFxyXG4gIGdyZXktYm9yZGVyOiBtYXAuZ2V0KCRjb2xvcnMsIFwid2FybS1ncmV5XCIpLFxyXG4gIGdyZXktYm9yZGVyLTI6IG1hcC5nZXQoJGNvbG9ycywgXCJ3aGl0ZS10aHJlZVwiKSxcclxuICBncmV5LXBsYWNlaG9sZGVyOiBtYXAuZ2V0KCRjb2xvcnMsIFwiZ3JleTcwXCIpLFxyXG4gIGdyZXktMjogbWFwLmdldCgkY29sb3JzLCBcIndhcm0tZ3JleS0yXCIpLFxyXG4gIGNhcm91c2VsLWRvdHM6IG1hcC5nZXQoJGNvbG9ycywgXCJkaW0tZ3JleVwiKSxcclxuICBncmV5LWxpZ2h0OiBtYXAuZ2V0KCRjb2xvcnMsIFwiZ2FpbnNib3JvXCIpLFxyXG4gIHRhYi0tZGlzYWJsZWQ6IG1hcC5nZXQoJGNvbG9ycywgXCJ3aGl0ZS10d29cIiksXHJcbiAgYmFja2Ryb3A6IHJnYmEoMCwwLDAsMC43KSxcclxuICBibGFjazogbWFwLmdldCgkY29sb3JzLCBcImJsYWNrXCIpLFxyXG4gIHNpdGUtd2lkZS1hbGVydDogbWFwLmdldCgkY29sb3JzLCBcImdvbGRlbi1wb3BweVwiKSxcclxuICB2aXNpdGVkLS1saW5rOiBtYXAuZ2V0KCRjb2xvcnMsIFwibWF1dmUtdGF1cGVcIilcclxuKTtcclxuXHJcbi8vIFBvcHVsYXRlIHNoYXJlZCBjb2xvciBmdW5jdGlvbiBtYXBzXHJcbkBpbmNsdWRlIGNvbG9yLnNldC1jb2xvci1tYXBzKCRjb2xvcnMsICRmdW5jdGlvbmFsLWNvbG9ycyk7XHJcblxyXG4vLyBDb21wYXRpYmlsaXR5IHNoaW0gZm9yIGxlZ2FjeSBjYWxscyB1c2luZyBtYXAtZ2V0KC4uLikuXHJcbi8vIFRoaXMgYXZvaWRzIERhcnQgU2FzcyBnbG9iYWwgYnVpbHQtaW4gZGVwcmVjYXRpb24gd2FybmluZ3Mgd2hpbGUgdGhlIGNvZGViYXNlIGlzIGluY3JlbWVudGFsbHkgbWlncmF0ZWQgdG8gbWFwLmdldCguLi4pLlxyXG5AZnVuY3Rpb24gbWFwLWdldCgkbWFwLXZhbHVlLCAka2V5KSB7XHJcbiAgQHJldHVybiBtYXAuZ2V0KCRtYXAtdmFsdWUsICRrZXkpO1xyXG59XHJcblxyXG4vLyBMZWdhY3kgY29tcGF0aWJpbGl0eSBmb3IgZmlsZXMgc3RpbGwgdXNpbmcgbWFwLWdldCgkY29sb3JzLCAuLi4pXHJcbiRjb2xvcnM6ICRjb2xvcnMgIWRlZmF1bHQ7XHJcbiRmdW5jdGlvbmFsLWNvbG9yczogJGZ1bmN0aW9uYWwtY29sb3JzICFkZWZhdWx0O1xyXG5cclxuLy9CYWNrZ3JvdW5kcyBjb2xvcnNcclxuJGJnLXRyYW5zcGFyZW50OnRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kYmctYmFzaWMtY29sb3I6I0ZGRkZGRiAhZGVmYXVsdDtcclxuJGJnLWJhc2ljLWNvbG9yLWFjdGl2ZTogI2NjY2NjYyAhZGVmYXVsdDtcclxuJGJnLWxpZ2h0LWdyYXk6ICNmN2Y3ZjcgIWRlZmF1bHQ7XHJcbiRiZy1saWdodC1ncmF5LWFjdGl2ZTogI2RhZGFkYSAhZGVmYXVsdDtcclxuJGJnLWJsdWU6Izg5QzZDQztcclxuJGJnLWJsdWUtYWN0aXZlOiAjMTU5MDljICFkZWZhdWx0O1xyXG4kYmctc3VibWVudTojZWRlYmViICFkZWZhdWx0O1xyXG4kYmctc3VibWVudS1hY3RpdmU6I2Y2ZjZmNiAhZGVmYXVsdDtcclxuJGJnLWJsYWNrOiMwMDAwMDA7XHJcbiRiZy1ibGFjay1hY3RpdmU6IzNkM2QzZDtcclxuLy9UZXh0IGNvbG9yc1xyXG4kdGV4dC13aGl0ZTojZmZmICFkZWZhdWx0O1xyXG4kdGV4dC1oZWFkaW5nLWNvbG9yOiAjMjIyICFkZWZhdWx0O1xyXG4kdGV4dC1iYXNpYzojNzQ3NDc0ICFkZWZhdWx0O1xyXG4kdGV4dC1iYXNpYy1hY3RpdmU6Izg3ODc4NyAhZGVmYXVsdDtcclxuJHRleHQtYmx1ZTojODlDNkNDICFkZWZhdWx0O1xyXG4kdGV4dC1ibHVlLWFjdGl2ZTojMTU5MDljICFkZWZhdWx0O1xyXG4kdGV4dC1zdWJtZW51LWFjdGl2ZTogIzIyMiAhZGVmYXVsdDtcclxuJHRleHQtZGlzYWJsZWQ6ICNhYWEgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJsYWNrOiAjMDAwMDAwICFkZWZhdWx0O1xyXG4vL0JvcmRlciBjb2xvcnNcclxuJGJvcmRlci1ncmF5OiAjZDJkMmQyICFkZWZhdWx0O1xyXG4kYm9yZGVyLXdoaXRlOiAjZmZmZmZmICFkZWZhdWx0O1xyXG4kYm9yZGVyLWJhc2ljLWNvbG9yOiAjODlDNkNDICFkZWZhdWx0O1xyXG4kYm9yZGVyLWJhc2ljLWFjdGl2ZTojMTU5MDljICFkZWZhdWx0O1xyXG5cclxuLy9TdHlsZXMgZm9yIGVhY2ggY29tcG9uZW50IHNlcGFyYXRlbHlcclxuLy9BY2NvcmRpb25cclxuJGFjY29yZGlvbi1oZWFkZXItYmc6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWhlYWRlci1iZy1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLXRvZ2dsZWQtYmc6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWhlYWRlci1ib3JkZXI6ICRib3JkZXItZ3JheTtcclxuLy9CcmVhZGNydW1iXHJcbiRicmVhZGNydW1iLWRyb3Bkb3duLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGJyZWFkY3J1bWItZHJvcGRvd24tYmctYWN0aXZlOiRiZy1ibHVlO1xyXG4kYnJlYWRjcnVtYi1kcm9wZG93bi10ZXh0LWFjdGl2ZTokdGV4dC13aGl0ZTtcclxuJGJyZWFkY3J1bWItYmc6dHJhbnNwYXJlbnQ7XHJcbiRicmVhZGNydW1iLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kYnJlYWRjcnVtYi1jb2xvci1hY3RpdmU6JHRleHQtYmx1ZS1hY3RpdmU7XHJcbi8vQnV0dG9ucyBjb2xvcnNcclxuJGJ0bi1ncmVlbi1saWdodDogI2EwY2U0ZTtcclxuJGJ0bi1ncmVlbjogIzkyYmU0MztcclxuJGJ0bi1yZWQtYWN0aXZlOiAjYzM0ZTMwO1xyXG4kYnRuLXJlZDogI2JjNDUyNjtcclxuLy9DYXJvdXNlbFxyXG4kY2Fyb3VzZWwtYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kY2Fyb3VzZWwtbmF2LWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRjYXJvdXNlbC1uYXYtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vQ29udGFpbmVyIGNvbXBvbmVudFxyXG4kY29udGFpbmVyLXRpdGxlLXJvdy1iZzogJGJnLWxpZ2h0LWdyYXk7XHJcbi8vRXZlbnQgTGlzdFxyXG4kZXZlbnQtbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJGV2ZW50LWxpc3QtaXRlbS1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRldmVudC1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRldmVudC1saXN0LXRpdGxlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL0NhbGVuZGFyXHJcbiRjYWxlbmRhci1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRjYWxlbmRhci1oZWFkZXItYmc6JGJnLWJhc2ljLWNvbG9yLWFjdGl2ZTtcclxuJGNhbGVuZGFyLWRheS1jb2xvci1hY3RpdmU6JHRleHQtd2hpdGU7XHJcbi8vRmVlZFxyXG4kZmVlZC1iZzp0cmFuc3BhcmVudDtcclxuJGZlZWQtaXRlbS1iZzp0cmFuc3BhcmVudDtcclxuLy9GaWVsZCBFZGl0b3JcclxuJGZpZWxkLWVkaXRvci1iZzp0cmFuc3BhcmVudDtcclxuJGZpZWxkLWVkaXRvci10YWJsZS1ib3JkZXI6JGJnLWxpZ2h0LWdyYXk7XHJcbiRmaWVsZC1lZGl0b3ItdGV4dC1oZWFkZXI6JHRleHQtYmxhY2s7XHJcbiRmaWVsZC1lZGl0b3ItdGV4dDokdGV4dC1iYXNpYztcclxuLy9GaWxlIExpc3RcclxuJGZpbGUtbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJGZpbGUtbGlzdC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4kZmlsZS1saXN0LXRpdGxlLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kZmlsZS1saXN0LXRpdGxlLWJvcmRlcjp0cmFuc3BhcmVudDtcclxuJGZpbGUtbGlzdC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kZmlsZS1saXN0LWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGZpbGUtbGlzdC1pdGVtLXNpemU6JHRleHQtYmFzaWM7XHJcbiRmaWxlLWxpc3QtaXRlbS1ib3JlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL0ZsaXBcclxuJGZsaXAtYmc6dHJhbnNwYXJlbnQ7XHJcbiRmbGlwLXNsaWRlcy1iZzokYmctYmFzaWMtY29sb3I7XHJcbi8vR2FsbGVyeVxyXG4kZ2FsbGVyaWEtY29udGFpbmVyLWJnOiRiZy1ibGFjaztcclxuJGdhbGxlcnktaW5mby1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRnYWxsZXJ5LWluZm8tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJGdhbGxlcnktaW5mby10ZXh0OiR0ZXh0LWJhc2ljO1xyXG4kZ2FsbGVyeS1uYXYtYWN0aXZlOiR0ZXh0LXdoaXRlO1xyXG4kZ2FsbGVyeS1uYXY6JHRleHQtYmFzaWM7XHJcbiRnYWxsZXJ5LWNvdW50ZXItY29sb3I6JHRleHQtd2hpdGU7XHJcbi8vTGFuZ3VhZ2Ugc2VsZWN0b3JcclxuJGxhbmctc2VsZWN0b3ItYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kbGFuZy1zZWxlY3Rvci1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJGxhbmctc2VsZWN0b3ItaXRlbS1iZy1hY3RpdmU6JGJnLWJhc2ljLWNvbG9yO1xyXG4kbGFuZy1zZWxlY3Rvci1pdGVtLWJvcmRlcjokYm9yZGVyLXdoaXRlO1xyXG4kbGFuZy1zZWxlY3Rvci1pdGVtLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbi8vU2l0ZSBzZWxlY3RvclxyXG4kc2l0ZS1zZWxlY3Rvci1jb2xvcjokdGV4dC1iYXNpYztcclxuLy9MaW5rIExpc3RcclxuJGxpbmstbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJGxpbmstbGlzdC1oZWFkZXItYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRsaW5rLWxpc3QtaXRlbXMtYmc6dHJhbnNwYXJlbnQ7XHJcbiRsaW5rLWxpc3QtaXRlbS1iZzp0cmFuc3BhcmVudDtcclxuJGxpbmstbGlzdC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kbGluay1saXN0LWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGxpbmstbGlzdC1pdGVtLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9Mb2dpblxyXG4kbG9naW4tYmc6dHJhbnNwYXJlbnQ7XHJcbi8vTG9nb3V0XHJcbiRsb2dvdXQtYmc6dHJhbnNwYXJlbnQ7XHJcbiRsb2dvdXQtbGluay10ZXh0LWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kbG9nb3V0LWxpbmstdGV4dC1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kbG9nb3V0LWxpbmstYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vTWFwXHJcbiRtYXAtYmc6dHJhbnNwYXJlbnQ7XHJcbiRtYXAtYm9yZGVyOm5vbmU7XHJcbi8vUGFnZSBMaXN0XHJcbiRwYWdlLWxpc3QtYmc6JGJnLXRyYW5zcGFyZW50O1xyXG4kcGFnZS1saXN0LWl0ZW0tYmc6JGJnLXRyYW5zcGFyZW50O1xyXG4kcGFnZS1saXN0LWl0ZW0tdGl0bGUtdGV4dDokdGV4dC1ibGFjaztcclxuJHBhZ2UtbGlzdC1pdGVtLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1BhZ2luYXRpb25cclxuJGxpc3QtcGFnaW5hdGlvbi1iZzp0cmFuc3BhcmVudDtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtYmc6JGJnLWJsdWU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiR0ZXh0LXdoaXRlO1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjokdGV4dC1ibHVlO1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1iZzokYmctc3VibWVudS1hY3RpdmU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuLy9QbGF5IGxpc3QgXHJcbiRwbGF5LWxpc3QtYmc6dHJhbnNwYXJlbnQ7XHJcbiRwbGF5LWxpc3QtaXRlbS1iZzp0cmFuc3BhcmVudDtcclxuJHBsYXktbGlzdC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kcGxheS1saXN0LWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LXdoaXRlO1xyXG4kcGxheS1saXN0LW5hdi1hY3RpdmU6JHRleHQtYmx1ZTtcclxuJHBsYXktbGlzdC1pdGVtLWJnOiRiZy1saWdodC1ncmF5O1xyXG4kcGxheS1saXN0LWl0ZW0tYWN0aXZlLWJnOiRiZy1ibHVlO1xyXG4kcGxheS1saXN0LWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kcGxheS1saXN0LXRpdGxlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1Byb21vXHJcbiRwcm9tby1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRwcm9tby1iZy1oZXJvOnJnYmEoMCwgMCwgMCwgMC41KTtcclxuJHByb21vLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRwcm9tby1oZXJvLXRleHQtY29sb3I6JHRleHQtd2hpdGU7XHJcbiRwcm9tby1zaGFkb3ctYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vUmljaCBUZXh0IENvbnRlbnRcclxuJHJpY2gtY29udGVudC1iZzp0cmFuc3BhcmVudDtcclxuJHJpY2gtY29udGVudC1jb2xvcjokdGV4dC1iYXNpYztcclxuJHJpY2gtY29udGVudC1ib3JkZXI6bm9uZTtcclxuLy9TZWFyY2hcclxuJHNlYXJjaC1maWx0ZXI6JHRleHQtYmFzaWM7XHJcbiRzZWFyY2gtZmlsdGVyLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL01lbnUgY29sb3JzXHJcbiRtZW51LWhvdmVyLWNvbG9yOiMxYjgwOWU7XHJcbiRtZW51LWFjdGl2ZS1jb2xvcjojMTc2Zjg5O1xyXG4vL05hdmlnYXRpb25cclxuJG5hdi1iZzp0cmFuc3BhcmVudDtcclxuJG5hdi1jb2xvci1yb290OiR0ZXh0LWJhc2ljO1xyXG4kbmF2LWNvbG9yLXJvb3QtYWN0aXZlOiR0ZXh0LWJhc2ljO1xyXG4kbmF2LWJvcmRlci1yb290OiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRuYXYtYm9yZGVyLXJvb3QtYWN0aXZlOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRuYXYtY29sb3Itc3VibWVudTokdGV4dC1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1jb2xvci1zdWJtZW51LWFjdGl2ZTokdGV4dC1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1iZy1yb290OiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1iZy1zdWJtZW51OiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1iZy1zdWJtZW51LWFjdGl2ZTokYmctc3VibWVudS1hY3RpdmU7XHJcbiRuYXYtYm9yZGVyLXN1Ym1lbnU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG5hdi1zdWJtZW51LWl0ZW0tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJG5hdi1zdWJtZW51LWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9Tb2NpYWwgTWVkaWEgU2hhcmVcclxuJHNvY2lhbC1tZWRpYS1zaGFyZS1iZzp0cmFuc3BhcmVudDtcclxuLy9UYWJzXHJcbiR0YWItaGVhZGluZy1iZzokYmctbGlnaHQtZ3JheTtcclxuJHRhYi1oZWFkaW5nLWFjdGl2ZS1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR0YWItaGVhZGluZy1jb2xvcjokdGV4dC1oZWFkaW5nLWNvbG9yO1xyXG4kdGFiLWhlYWRpbmctYWN0aXZlLWNvbG9yOiR0ZXh0LWJsYWNrO1xyXG4kdGFiLWNvbnRhaW5lci1iZzp0cmFuc3BhcmVudDtcclxuJHRhYi1jb250YWluZXItYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vVGl0bGVcclxuJHRpdGxlLWJnOnRyYW5zcGFyZW50O1xyXG4kdGl0bGUtY29sb3I6JHRleHQtYmFzaWM7XHJcbiR0aXRsZS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4vL1RvZ2dsZVxyXG4kdG9nZ2xlLWhlYWRlci1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR0b2dnbGUtY29udGVudC1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR0b2dnbGUtc2hvdy1jb2xvcjokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbi8vU2VhcmNoIENvbXBvbmVudHNcclxuJHNlYXJjaC1idG4tYmc6dHJhbnNwYXJlbnQ7XHJcbiRzZWFyY2gtYnRuLWFjdGl2ZS1iZzojZTBlMGUwO1xyXG4kc2VhcmNoLWJ0bi1hY3RpdmUtYm9yZGVyOiNhZGFkYWQ7XHJcbi8vSW1hZ2UgY29tcG9uZW50XHJcbiRpbWFnZS1jYXB0aW9uLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4vL01lZGlhIExpbmsgQ29tcG9uZW50XHJcbiRtZWRpYS1saW5rLWJnOnRyYW5zcGFyZW50O1xyXG4kbWVkaWEtbGluay1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG1lZGlhLWxpbmstY29sb3I6JHRleHQtYmFzaWM7XHJcbiRtZWRpYS1saW5rLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbi8vVGFnIENvbXBvbmVudFxyXG4kdGFnLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kdGFnLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiR0YWctYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuJHRhZy1saW5rLWJnIDokYmctYmx1ZTtcclxuJHRhZy1saW5rLWJnLWFjdGl2ZSA6JGJnLWJsdWUtYWN0aXZlO1xyXG4kdGFnLWxpbmstY29sb3IgOiR0ZXh0LXdoaXRlO1xyXG4vL0xpbmsgQ29tcG9uZW50XHJcbiRsaW5rLWJnOnRyYW5zcGFyZW50O1xyXG4kbGluay10ZXh0LWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kbGluay10ZXh0LWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRsaW5rLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL092ZXJsYXlcclxuJG92ZXJsYXktYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbi8vU2VhcmNoIENvbXBvbmVudHNcclxuJHNlYXJjaC10aXRsZS1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJHNlYXJjaC10aXRsZS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHNlYXJjaC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kc2VhcmNoLWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljO1xyXG4kc2VhcmNoLWl0ZW0tYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRzZWFyY2gtaXRlbS1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4vL1xyXG4kc2VhcmNoLWZpbHRlci1yYWRpdXMtYWN0aXZlOiR0ZXh0LWJsdWU7XHJcbiRzZWFyY2gtZmlsdGVyLXJhZGl1cy1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kc2VhcmNoLWZpbHRlci1yYWRpdXMtYmc6JGJvcmRlci1ncmF5O1xyXG4vL1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYmctYWN0aXZlOiRiZy1ibHVlO1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYnRuLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1idG4tYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1idG4tYmctYWN0aXZlOiRiZy1saWdodC1ncmF5LWFjdGl2ZTtcclxuLy9TZXJhY2ggUGFnaW5hdGlvblxyXG4kc2VhcmNoLXBhZ2luYXRpb24tYmc6dHJhbnNwYXJlbnQ7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1hY3RpdmUtYmc6JGJnLWJsdWU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6JHRleHQtd2hpdGU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjokdGV4dC1ibHVlO1xyXG4kc2VhcmNoLXBhZ2luYXRpb24taG92ZXItYmc6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kc2VhcmNoLXBhZ2luYXRpb24taG92ZXItYm9yZGVyOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4vL1NlYXJjaCBzZWxlY3RvclxyXG4kc2VyYWNoLXNlbGVjdG9yLXZhcmlhbnQtY29sb3ItYWN0aXZlOiAkdGV4dC1ibHVlLWFjdGl2ZTtcclxuLy9UeXBlaGVhZFxyXG4kdHQtY29sb3I6JHRleHQtYmFzaWM7XHJcbiR0dC1jb2xvci1hY3RpdmU6JHRleHQtYmx1ZTtcclxuJHR0LXByaWNlLWNvbG9yOiR0ZXh0LWJsdWU7XHJcbiR0dC1kcm9wZG93bi1iZzokYmctbGlnaHQtZ3JheTtcclxuJHR0LXN1Z2dlc3Rpb24tYmctYWN0aXZlOiRiZy1saWdodC1ncmF5LWFjdGl2ZTtcclxuJHR0LWRyb3Bkb3duLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbi8vVmlkZW9cclxuJHZpZGVvLWNvbnRyb2wtYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kdmlkZW8tdGltZS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHZpZGVvLXRpbWUtdG90YWwtYmc6JGJnLWJsYWNrO1xyXG4kdmlkZW8tdGltZS1oYW5kbGUtYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJHZpZGVvLXRpbWUtaGFuZGxlLWJnOiRiZy1ibGFjaztcclxuLy9NYWluXHJcbiRwYWdlLWJnOiAkYmctYmFzaWMtY29sb3I7XHJcbiRwYWdlLWJnLWVkaXRvcjpub25lO1xyXG4iLCJAdXNlIFwiLi4vLi4vYWJzdHJhY3RzL3ZhcnMvY29sb3JzXCIgYXMgKjtcclxuQHVzZSBcIi4uLy4uL2Fic3RyYWN0cy9taXhpbnNcIjtcclxuXHJcbi5wcm9tby1zaGFkb3cge1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcHJvbW8tc2hhZG93LWJvcmRlcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmLnByb21vIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5jb21wb25lbnQtY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnJlc3BvbmQtdG8oYWxsLW1vYmlsZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAzMHB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHggMDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTdweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNDclO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDIlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDIlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWV0YVwiO1xyXG5AdXNlIFwic2FzczptYXBcIjtcclxuQHVzZSBcImFic3RyYWN0c1wiO1xyXG5AdXNlIFwiYWJzdHJhY3RzL21peGluc1wiO1xyXG5AdXNlIFwiYWJzdHJhY3RzL3ZhcnMvY29sb3JzXCIgYXMgKjtcclxuQHVzZSBcImFic3RyYWN0cy9mdW5jdGlvbnMvY29sb3JcIiBhcyBmdW5jdGlvbnMtY29sb3I7XHJcbkB1c2UgXCJhYnN0cmFjdHMvZnVuY3Rpb25zL3NwYWNlXCI7XHJcbkB1c2UgXCJzdHlsZXMvcHJvbW8vYWJzb2x1dGUtYm90dG9tLWxpbmtcIjtcclxuQHVzZSBcInN0eWxlcy9wcm9tby9wcm9tby1oZXJvXCI7XHJcbkB1c2UgXCJzdHlsZXMvcHJvbW8vcHJvbW8tc2hhZG93XCI7XHJcblxyXG4kcHJvbW8tc3BhY2UtMTogI3tzcGFjZS5zcGFjZSgxKX07XHJcbiRwcm9tby1zcGFjZS0yOiAje3NwYWNlLnNwYWNlKDIpfTtcclxuJHByb21vLXNwYWNlLTQ6ICN7c3BhY2Uuc3BhY2UoNCl9O1xyXG4kcHJvbW8tc3BhY2UtODogI3tzcGFjZS5zcGFjZSg4KX07XHJcbiRwcm9tby1zcGFjZS0xNjogI3tzcGFjZS5zcGFjZSgxNil9O1xyXG4kcHJvbW8tY29sb3ItcHJpbWFyeTogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKHByaW1hcnkpO1xyXG4kcHJvbW8tY29sb3ItYmxhY2s6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihcImJsYWNrXCIpO1xyXG4kcHJvbW8tY29sb3ItcHJpbWFyeS1jb250cmFzdDogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKHByaW1hcnktY29udHJhc3QpO1xyXG5cclxuLnByb21vIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgLnpnLWhlaWdodC1maXgge1xyXG4gICAgICAgIC5maWVsZC1wcm9tb2ljb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLXByb21vaWNvbiB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pbWFnZS1mdWxsLXNpemUge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1ldGEubG9hZC1jc3MoXCJiYXNlL3JpY2h0ZXh0L3JpY2h0ZXh0XCIpO1xyXG5cclxuICAgIGgzLnUtdHlwZS0tZDMge1xyXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGQzKTtcclxuICAgIH1cclxuXHJcbiAgICBoMi5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudWktdHlwb2dyYXBoeShkNik7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmMtcHJvbW8tMmNvbCB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLXByb21vaWNvbiB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6ICRwcm9tby1zcGFjZS04ICRwcm9tby1zcGFjZS00O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYy1ob21lLXByb21vIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmMtaG9tZS1wcm9tb19faW1hZ2Uge1xyXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmMtaG9tZS1wcm9tb19fdGl0bGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb21vLWNvbG9yLXByaW1hcnktY29udHJhc3Q7XHJcbiAgICBjb2xvcjogJHByb21vLWNvbG9yLWJsYWNrO1xyXG4gICAgcGFkZGluZzogJHByb21vLXNwYWNlLTEgJHByb21vLXNwYWNlLTIgJHByb21vLXNwYWNlLTIgJHByb21vLXNwYWNlLTI7XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1peGlucy5tcShtZCkge1xyXG4gICAgLmMtcHJvbW8tMmNvbCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExODdweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHByb21vLXNwYWNlLTE2ICRwcm9tby1zcGFjZS00O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1wcm9tb19fbGlua3Mge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1peGlucy5tcSgkdW50aWw6IHNtKSB7XHJcbiAgICAucHJvbW8uYy1wcm9tby1zdWJzY3JpYmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9tby1jb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkcHJvbW8tY29sb3ItcHJpbWFyeS1jb250cmFzdDtcclxuICAgICAgICBwYWRkaW5nOiAkcHJvbW8tc3BhY2UtNCAkcHJvbW8tc3BhY2UtMjtcclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb21vLWNvbG9yLXByaW1hcnktY29udHJhc3Q7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLWhvbWUtcHJvbW9fX2NvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC0kcHJvbW8tc3BhY2UtNDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuXHJcbiAgICAgICAgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwcm9tby1zcGFjZS0yO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcHJvbW8tc3BhY2UtMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1peGlucy5tcShzbSkge1xyXG4gICAgLmMtaG9tZS1wcm9tb19fY29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6ICRwcm9tby1zcGFjZS04O1xyXG4gICAgICAgIGJvdHRvbTogJHByb21vLXNwYWNlLTQ7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vIC5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogJHByb21vLWNvbG9yLXByaW1hcnktY29udHJhc3QgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLXByb21vLXN1YnNjcmliZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAgICAgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvbW8tY29sb3ItcHJpbWFyeS1jb250cmFzdDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHByb21vLXNwYWNlLTQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJvbW8tc3BhY2UtNDtcclxuXHJcbiAgICAgICAgICAgIC51LXR5cGUtLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9tby1jb2xvci1ibGFjaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWl4aW5zLm1xKG1kKSB7XHJcbiAgICAucHJvbW8uYy1wcm9tby1zdWJzY3JpYmUge1xyXG4gICAgICAgID4gLmNvbXBvbmVudC1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMS8xMioxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMy8yNCoxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWl4aW5zLm1xKGxnKSB7XHJcbiAgICAucHJvbW8uYy1wcm9tby1zdWJzY3JpYmUge1xyXG4gICAgICAgID4gLmNvbXBvbmVudC1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIvMTIqMTAwJSArIDZweCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDMvMTIqMTAwJSArIDZweCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcIi4uLy4uL2NvbW1vbi11aS90eXBvZ3JhcGh5L21peGluc1wiO1xyXG5AdXNlIFwiLi4vLi4vYWJzdHJhY3RzL21peGluc1wiIGFzIGFic3RyYWN0c01peGlucztcclxuXHJcbkB1c2UgXCIuLi8uLi9hYnN0cmFjdHMvZnVuY3Rpb25zL2NvbG9yXCIgYXMgZnVuY3Rpb25zLWNvbG9yO1xyXG5AdXNlIFwiLi4vLi4vYWJzdHJhY3RzL2Z1bmN0aW9ucy9zcGFjZVwiO1xyXG5AdXNlIFwiLi4vLi4vYWJzdHJhY3RzL3ZhcnMvY29sb3JzXCI7XHJcbkB1c2UgXCIuLi8uLi9hYnN0cmFjdHMvdmFycy9mb250U2l6ZXNcIjtcclxuXHJcbkB1c2UgJ3Nhc3M6Y29sb3InO1xyXG5cclxuJHJpY2h0ZXh0LWNvbG9yLWJsYWNrOiBmdW5jdGlvbnMtY29sb3IuY29sb3IoYmxhY2spO1xyXG4kcmljaHRleHQtY29sb3ItcHJpbWFyeTogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKHByaW1hcnkpO1xyXG4kcmljaHRleHQtc3BhY2UtMTogc3BhY2Uuc3BhY2UoMSk7XHJcbiRyaWNodGV4dC1zcGFjZS0yOiBzcGFjZS5zcGFjZSgyKTtcclxuJHJpY2h0ZXh0LXNwYWNlLTM6IHNwYWNlLnNwYWNlKDMpO1xyXG4kcmljaHRleHQtc3BhY2UtNDogc3BhY2Uuc3BhY2UoNCk7XHJcbiRyaWNodGV4dC1zcGFjZS02OiBzcGFjZS5zcGFjZSg2KTtcclxuXHJcbiRoZWFkaW5ncy1yaWNodGV4dDogKCBoMTogZDYsIGgyOiBoMnN6LCBoMzogaDNzeiwgaDQ6IGg0c3osIGg1OiBoNXN6LCBoNjogZDIsICk7XHJcblxyXG5AZWFjaCAkaGVhZGluZywgJHN0eWxlIGluICRoZWFkaW5ncy1yaWNodGV4dCB7XHJcbiAgICAjeyRoZWFkaW5nfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnVpLXR5cG9ncmFwaHktbWFyZ2luKCRzdHlsZSk7XHJcblxyXG4gICAgICAgICY6bm90KFtjbGFzc149XCJ1LXR5cGVcIl0pIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnVpLXR5cG9ncmFwaHkoJHN0eWxlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KFtjbGFzc149XCJ1LWNvbG9yXCJdKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmljaHRleHQtY29sb3ItYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5wIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRyaWNodGV4dC1zcGFjZS00O1xyXG4gICAgQGluY2x1ZGUgbWl4aW5zLnVpLXR5cG9ncmFwaHkoYm9keSk7XHJcbn1cclxuXHJcbnN0cm9uZyB7XHJcbiAgICBjb2xvcjogJHJpY2h0ZXh0LWNvbG9yLWJsYWNrO1xyXG59XHJcblxyXG5hIHtcclxuICAgIEBpbmNsdWRlIGFic3RyYWN0c01peGlucy5saW5rO1xyXG4gICAgQGluY2x1ZGUgYWJzdHJhY3RzTWl4aW5zLmxpbmstZXh0ZW5zaW9ucztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG4gICAgQGluY2x1ZGUgbWl4aW5zLnVpLXR5cG9ncmFwaHkoZDIpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHJpY2h0ZXh0LXNwYWNlLTQ7XHJcbiAgICBjb2xvcjogJHJpY2h0ZXh0LWNvbG9yLXByaW1hcnk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRyaWNodGV4dC1zcGFjZS0yO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkcmljaHRleHQtY29sb3ItcHJpbWFyeTtcclxufVxyXG5cclxudGFibGUge1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcnMuJGJvcmRlci1ncmF5O1xyXG5cclxuICAgICYsIHRyLCB0aCwgdGQge1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMnB4IGNvbG9ycy4kYm9yZGVyLWdyYXk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3JzLiRiZy1iYXNpYy1jb2xvcjtcclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgdHIsIHRoLCB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGNhcHRpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kYmctbGlnaHQtZ3JheTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiBmb250U2l6ZXMuJGZvbnQtYmlnO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRyIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgdGgsIHRkIHtcclxuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDJweCAwIDAgMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICB9XHJcblxyXG4gICAgdGgge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kYmctYmFzaWMtY29sb3I7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBwYWRkaW5nOiA3cHg7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIHAgfiB1bCxcclxuLy8gcCB+IG9sIHtcclxuLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbi8vIH1cclxuXHJcbnVsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkcmljaHRleHQtc3BhY2UtMztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHJpY2h0ZXh0LXNwYWNlLTQ7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGJvZHkpO1xyXG4gICAgfVxyXG59XHJcblxyXG5vbCB7XHJcbiAgICBtYXJnaW4tbGVmdDogJHJpY2h0ZXh0LXNwYWNlLTM7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRyaWNodGV4dC1zcGFjZS00O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudWktdHlwb2dyYXBoeShib2R5KTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5AaW5jbHVkZSBhYnN0cmFjdHNNaXhpbnMubXEobGcpIHtcclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRyaWNodGV4dC1zcGFjZS00O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRyaWNodGV4dC1zcGFjZS02O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRyaWNodGV4dC1zcGFjZS0xO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYWJzdHJhY3RzTWl4aW5zLm1xKG1kKSB7XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJAdXNlICdzYXNzOm1hcCc7XHJcbkB1c2UgJ3Nhc3M6bGlzdCc7XHJcbkB1c2UgJ3Nhc3M6bWF0aCc7XHJcbkB1c2UgJ3Nhc3M6bWV0YSc7XHJcbkB1c2UgJy4uLy4uL2Fic3RyYWN0cy92YXJzL3R5cGUnO1xyXG5AdXNlICcuLi8uLi9hYnN0cmFjdHMvdmFycy9icmVha3BvaW50cycgYXMgYmFzZTtcclxuQHVzZSAnLi4vLi4vYWJzdHJhY3RzL2Z1bmN0aW9ucy9weC10by1yZW0nO1xyXG5cclxuQGZ1bmN0aW9uIHRvLXJlbSgkdmFsdWUpIHtcclxuICAgIEBpZiBtYXRoLmlzLXVuaXRsZXNzKCR2YWx1ZSkgb3IgbWF0aC51bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XHJcbiAgICAgICAgQHJldHVybiAkdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiBweC10by1yZW0uZ2V0LXJlbSgkdmFsdWUpO1xyXG59XHJcblxyXG5AbWl4aW4gaW90YS1leHRyYWN0LXR5cGUtc2l6ZXMoJHNpemVzKSB7XHJcbiAgICBAaWYgbGlzdC5sZW5ndGgoJHNpemVzKSA9PSAyIHtcclxuICAgICAgICBmb250LXNpemU6IGxpc3QubnRoKCRzaXplcywgMSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGxpc3QubnRoKCRzaXplcywgMik7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpb3RhLXR5cGUoJHNpemVzLCAkYnJlYWtwb2ludHM6IGJhc2UuJGlvdGEtZ2xvYmFsLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaWYgbWV0YS50eXBlLW9mKCRzaXplcykgPT0gJ21hcCcge1xyXG4gICAgICAgIEBpZiBtYXAuaGFzLWtleSgkc2l6ZXMsIG51bGwpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaW90YS1leHRyYWN0LXR5cGUtc2l6ZXMobWFwLmdldCgkc2l6ZXMsIG51bGwpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkc2l6ZSBpbiAkc2l6ZXMge1xyXG4gICAgICAgICAgICBAaWYgJGJyZWFrcG9pbnQgIT0gbnVsbCBhbmQgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7bWFwLmdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGlvdGEtZXh0cmFjdC10eXBlLXNpemVzKCRzaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBpb3RhLWV4dHJhY3QtdHlwZS1zaXplcygkc2l6ZXMpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBtaXhpbiB1aS10eXBvZ3JhcGh5LWJhc2UoJGZvbnQtZmFtaWx5OiB0eXBlLiR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQpIHtcclxuICAgIEBpZiAkZm9udC1mYW1pbHkgIT0gbnVsbCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogdHlwZS4kdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuQG1peGluIHVpLXR5cG9ncmFwaHkoJHN0eWxlKSB7XHJcbiAgICBAaWYgbWFwLmhhcy1rZXkodHlwZS4kdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xyXG4gICAgICAgICRzdHlsZTogbWFwLmdldCh0eXBlLiR1aS10eXBvZ3JhcGh5LXN0eWxlcywgJHN0eWxlKTtcclxuICAgICAgICAkZm9udC1mYW1pbHk6IG1hcC5nZXQoJHN0eWxlLCBmb250LWZhbWlseSk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHVpLXR5cG9ncmFwaHktYmFzZSgkZm9udC1mYW1pbHkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGlvdGEtdHlwZShtYXAuZ2V0KCRzdHlsZSwgc2l6ZXMpKTtcclxuICAgICAgICAvLyBSZW1vdmUgcHJvcGVydGllcyB0aGF0IGRvIG5vdCBuZWVkIHRvIGJlIGdlbmVyYXRlZCBiZWxvd1xyXG4gICAgICAgICRwcm9wczogbWFwLnJlbW92ZSgkc3R5bGUsIGZvbnQtZmFtaWx5LCBtYXJnaW4sIHNpemVzKTtcclxuICAgICAgICAka2V5czogbWFwLmtleXMoJHByb3BzKTtcclxuXHJcbiAgICAgICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XHJcbiAgICAgICAgICAgICN7JGtleX06IG1hcC5nZXQoJHByb3BzLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuKCdDb3VsZCBub3QgZmluZCBgI3skc3R5bGV9YCBpbiBgJHVpLXR5cG9ncmFwaHktc3R5bGVzYCcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWktdHlwb2dyYXBoeS1tYXJnaW4oJHN0eWxlKSB7XHJcbiAgICBAaWYgbWFwLmhhcy1rZXkodHlwZS4kdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xyXG4gICAgICAgICRzdHlsZS1kZWZpbml0aW9uOiBtYXAuZ2V0KHR5cGUuJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xyXG4gICAgICAgICRzdHlsZS1tYXJnaW46IG1hcC5nZXQoJHN0eWxlLWRlZmluaXRpb24sIG1hcmdpbik7XHJcbiAgICAgICAgbWFyZ2luOiAkc3R5bGUtbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuKCdDb3VsZCBub3QgZmluZCBgI3skc3R5bGV9YCBpbiBgJHVpLXR5cG9ncmFwaHktc3R5bGVzYCBmb3IgbWFyZ2luJyk7XHJcbiAgICB9XHJcbn1cclxuIiwiQHVzZSBcIi4uLy4uL2NvbW1vbi11aS90eXBvZ3JhcGh5L21peGluc1wiO1xyXG5AdXNlIFwiLi4vZnVuY3Rpb25zL2NvbG9yXCIgYXMgZnVuY3Rpb25zLWNvbG9yO1xyXG5AdXNlIFwiLi4vZnVuY3Rpb25zL3NwYWNlXCI7XHJcblxyXG4kZXh0ZW5zaW9uczogcGRmIHhscyBwcHQgZG9jO1xyXG5cclxuJGxpbmstY29sb3ItcHJpbWFyeTogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKHByaW1hcnkpO1xyXG4kbGluay1jb2xvci1zZWNvbmRhcnk6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihzZWNvbmRhcnkpO1xyXG5cclxuQG1peGluIGxpbmsge1xyXG4gICAgQGluY2x1ZGUgbWl4aW5zLnVpLXR5cG9ncmFwaHkobGluayk7XHJcbiAgICBjb2xvcjogJGxpbmstY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGluay0tcmVkIHtcclxuICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KGJvZHkpO1xyXG4gICAgY29sb3I6ICRsaW5rLWNvbG9yLXByaW1hcnk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rLS1yZWRzbSB7XHJcbiAgICBAaW5jbHVkZSBtaXhpbnMudWktdHlwb2dyYXBoeShjYXB0aW9uKTtcclxuICAgIGNvbG9yOiAkbGluay1jb2xvci1wcmltYXJ5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGluay0tcGRmIHtcclxuICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KHBkZik7XHJcbiAgICBjb2xvcjogJGxpbmstY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGluay0tYXJyb3cge1xyXG4gICAgJGFycm93LW1hcmdpbi1sZWZ0OiBzcGFjZS5zcGFjZSgxKTtcclxuICAgICRhcnJvdy1zaXplOiBzcGFjZS5zcGFjZSgyLjUpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1peGlucy51aS10eXBvZ3JhcGh5KHBkZik7XHJcbiAgICBjb2xvcjogJGxpbmstY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYXJyb3ctbWFyZ2luLWxlZnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAkYXJyb3ctc2l6ZTtcclxuICAgICAgICB3aWR0aDogJGFycm93LXNpemU7XHJcbiAgICAgICAgYm90dG9tOiAzcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvLS9tZWRpYS9Qcm9qZWN0L1RUQy9EZXZQcm90by9JY29ucy9hcnJvdy1iYWNrZ3JvdW5kLXJpZ2h0LW91dGxpbmUuc3ZnJyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxpbmstZXh0ZW5zaW9ucyB7XHJcbiAgICAkZXh0ZW5zaW9uLXBhZGRpbmctcmlnaHQ6IHNwYWNlLnNwYWNlKDAuNSk7XHJcblxyXG4gICAgQGVhY2ggJGV4dGVuc2lvbiBpbiAkZXh0ZW5zaW9ucyB7XHJcbiAgICAgICAgJltocmVmKj1cIiN7JGV4dGVuc2lvbn1cIl0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZXh0ZW5zaW9uLXBhZGRpbmctcmlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJGV4dGVuc2lvbiA9PSBwZGYge1xyXG4gICAgICAgICAgICAmW2hyZWYqPVwiI3skZXh0ZW5zaW9ufVwiXTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy0vbWVkaWEvUHJvamVjdC9UVEMvRGV2UHJvdG8vSWNvbnMvcGRmLXJlZC5zdmcpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIzcHggMjVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgJltocmVmKj1cIiN7JGV4dGVuc2lvbn1cIl06OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiLiN7JGV4dGVuc2lvbn1cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIkZm9udC1zbWFsbDoxMXB4O1xyXG4kZm9udC1ub3JtYWw6MTNweDtcclxuJGZvbnQtbWVkaXVtOjE2cHg7XHJcbiRmb250LWJpZzoyMHB4O1xyXG4kZm9udC1leHRyYWJpZzoyNHB4O1xyXG4vL05hdmlnYXRpb25cclxuJG5hdmlnYXRpb24tZm9udC1iYXNpYzoxOHB4O1xyXG4kbmF2aWdhdGlvbi1mb250LWJhc2ljLXN1Ym1lbnU6MTRweDtcclxuLy9UYWJzXHJcbiR0YWItZm9udC1oZWFkZXI6MTZweDtcclxuLy9BY2NvcmRpb25cclxuJGFjY29yZGlvbi1oZWFkZXI6MTZweDtcclxuLy9CcmVhZGNydW1iXHJcbiRicmVhZGNydW1iLWZvbnQ6MTVweDtcclxuLy8gTGluayBMaXN0XHJcbiRsaW5rLWxpc3QtdGl0bGUtZm9udDoxNXB4O1xyXG4iLCIvL21vZGRlZCB0byB1c2UgcHhcclxuXHJcbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxyXG5AdXNlICcuLi92YXJzL2JyZWFrcG9pbnRzJztcclxuQHVzZSAnc2FzczpsaXN0JztcclxuQHVzZSAnc2FzczptYXAnO1xyXG5AdXNlICdzYXNzOm1ldGEnO1xyXG5AdXNlICdzYXNzOm1hdGgnO1xyXG5AdXNlICdzYXNzOnN0cmluZyc7XHJcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcclxuXHJcbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxyXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxyXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXHJcbi8vL1xyXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXHJcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxyXG4vLy9cclxuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2VycyxcclxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIG9sZC1pZS5zY3NzXHJcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xyXG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxyXG4vLy9cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxyXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCcmVha3BvaW50IGxpc3RcclxuLy8vXHJcbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxyXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxyXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxyXG4vLy9cclxuLy8vIEB0eXBlIE1hcFxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1icmVha3BvaW50czogYnJlYWtwb2ludHMuJG1xLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcclxuLy8vXHJcbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcclxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxyXG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXHJcbi8vLyAgLy9cclxuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcclxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcclxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XHJcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XHJcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XHJcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IG1kMiAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXHJcbi8vL1xyXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3BcclxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXHJcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cclxuLy8vXHJcbi8vLyBAdHlwZSBtYXBcclxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXHJcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxyXG4vLy9cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XHJcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxyXG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xyXG4gICAgQGlmIG1hdGguaXMtdW5pdGxlc3MoJHB4KSB7XHJcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XHJcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiBtYXRoLnVuaXQoJHB4KSA9PSAnZW0nIHtcclxuICAgICAgICBAcmV0dXJuICRweDtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuIG1hdGguZGl2KCRweCwgJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcclxufVxyXG5cclxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXHJcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcclxuICAgIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xyXG4gICAgICAgIEByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG5cclxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcclxuLy8vXHJcbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcclxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxyXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXHJcbi8vL1xyXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cclxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC5lbGVtZW50IHtcclxuLy8vICAgIEBpbmNsdWRlIG1peGlucy5tcSgkZnJvbTogbW9iaWxlKSB7XHJcbi8vLyAgICAgIGNvbG9yOiByZWQ7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtaXhpbnMubXEoJHVudGlsOiB0YWJsZXQpIHtcclxuLy8vICAgICAgY29sb3I6IGJsdWU7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtaXhpbnMubXEobW9iaWxlLCB0YWJsZXQpIHtcclxuLy8vICAgICAgY29sb3I6IGdyZWVuO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbWl4aW5zLm1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XHJcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbWl4aW5zLm1xKDk1MHB4KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbWl4aW5zLm1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcclxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcclxuLy8vICAgIEBpbmNsdWRlIG1peGlucy5tcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuQG1peGluIG1xKCAkZnJvbTogZmFsc2UsICR1bnRpbDogZmFsc2UsICRhbmQ6IGZhbHNlLCAkZW1zLW9uOiBmYWxzZSwgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cywgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLCAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludCApIHtcclxuICAgICRtaW4td2lkdGg6IDA7XHJcbiAgICAkbWF4LXdpZHRoOiAwO1xyXG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcclxuXHJcbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcclxuICAgIEBpZiAkZnJvbSB7XHJcbiAgICAgICAgQGlmIG1ldGEudHlwZS1vZigkZnJvbSkgPT0gJ251bWJlcicge1xyXG4gICAgICAgICAgICBAaWYgJGVtcy1vbiB7XHJcbiAgICAgICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbSgkZnJvbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJG1pbi13aWR0aDogJGZyb207XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBAaWYgJGVtcy1vbiB7XHJcbiAgICAgICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXHJcbiAgICBAaWYgJHVudGlsIHtcclxuICAgICAgICBAaWYgbWV0YS50eXBlLW9mKCR1bnRpbCkgPT0gJ251bWJlcicge1xyXG4gICAgICAgICAgICBAaWYgJGVtcy1vbiB7XHJcbiAgICAgICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbSgkdW50aWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICRtYXgtd2lkdGg6ICR1bnRpbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpZiAkZW1zLW9uIHtcclxuICAgICAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykgLSAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xyXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cclxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XHJcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgJHRhcmdldC13aWR0aDogbnVsbDtcclxuXHJcbiAgICAgICAgQGlmICRlbXMtb24ge1xyXG4gICAgICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICR0YXJnZXQtd2lkdGg6ICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcclxuICAgICAgICBAaWYgKCAkYW5kID09IGZhbHNlIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGggYW5kICggJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aCApICkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAge1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAge1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkYW5kIHtcclxuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXHJcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XHJcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcclxuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHJpbmcuc2xpY2Uoc3RyaW5nLnVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyBRdWljayBzb3J0XHJcbi8vL1xyXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxyXG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XHJcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xyXG4gICAgJGxlc3M6ICgpO1xyXG4gICAgJGVxdWFsOiAoKTtcclxuICAgICRsYXJnZTogKCk7XHJcblxyXG4gICAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA+IDEge1xyXG4gICAgICAgICRzZWVkOiBsaXN0Lm50aCgkbGlzdCwgbWF0aC5jZWlsKGxpc3QubGVuZ3RoKCRsaXN0KSAvIDIpKTtcclxuXHJcbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGxpc3QuYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkbGVzczogbGlzdC5hcHBlbmQoJGxlc3MsICRpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGxhcmdlOiBsaXN0LmFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQHJldHVybiBsaXN0LmpvaW4obGlzdC5qb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkbGlzdDtcclxufVxyXG5cclxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcclxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcclxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XHJcbiAgICAkbWFwLXNvcnRlZDogKCk7XHJcbiAgICAkbWFwLWtleXM6IG1hcC5rZXlzKCRtYXApO1xyXG4gICAgJG1hcC12YWx1ZXM6IG1hcC52YWx1ZXMoJG1hcCk7XHJcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcclxuXHJcbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcclxuICAgICAgICAkaW5kZXg6IGxpc3QuaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XHJcbiAgICAgICAgJGtleTogbGlzdC5udGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xyXG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAubWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcclxuXHJcbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcclxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcclxuICAgICAgICAkbWFwLXZhbHVlczogbGlzdC5zZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XHJcbn1cclxuXHJcbi8vLyBBZGQgYSBicmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xyXG4vLy8gIEBpbmNsdWRlIG1peGlucy5tcSh0dnNjcmVlbikge31cclxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcclxuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XHJcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xyXG4vLy9cclxuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xyXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xyXG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBib2R5OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XHJcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cclxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcclxuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgbGlzdC5sZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XHJcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xyXG59XHJcbiJdfQ== */
