/**
 * Usage:
 *
 *   background-color: color(white);
 */
.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 {
  -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 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;
  font-style: normal;
  font-weight: 700;
}

@media (min-width: 768px) {
  .promo h1:not([class^="u-type"]) {
    font-size: 5rem;
    line-height: 56px;
  }
}

.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;
  font-style: normal;
  font-weight: 700;
}

@media (min-width: 768px) {
  .promo h6:not([class^="u-type"]) {
    font-size: 2.4rem;
    line-height: 30px;
  }
}

.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;
  font-style: normal;
  font-weight: 300;
}

@media (min-width: 768px) {
  .promo p {
    font-size: 2rem;
    line-height: 32px;
  }
}

.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;
  font-style: normal;
  font-weight: 400;
  color: #0070cd;
  text-decoration: none;
  text-decoration: underline;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

@media (min-width: 768px) {
  .promo a {
    font-size: 2rem;
    line-height: 32px;
  }
}

.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 blockquote {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 2.1rem;
  line-height: 28px;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 32px;
  color: #da251d;
  padding-left: 16px;
  border-left: 5px solid #da251d;
}

@media (min-width: 768px) {
  .promo blockquote {
    font-size: 2.4rem;
    line-height: 30px;
  }
}

.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: white;
  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;
  font-style: normal;
  font-weight: 300;
}

@media (min-width: 768px) {
  .promo ul li {
    font-size: 2rem;
    line-height: 32px;
  }
}

.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;
  font-style: normal;
  font-weight: 300;
}

@media (min-width: 768px) {
  .promo ol li {
    font-size: 2rem;
    line-height: 32px;
  }
}

@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;
  font-style: normal;
  font-weight: 700;
}

@media (min-width: 768px) {
  .promo h3.u-type--d3 {
    font-size: 2.8rem;
    line-height: 36px;
  }
}

.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;
  font-style: normal;
  font-weight: 700;
  max-width: 700px;
}

@media (min-width: 768px) {
  .promo h2.c-home-promo__title {
    font-size: 5rem;
    line-height: 56px;
  }
}

.promo ul {
  margin-left: 0;
  list-style: none;
}

.promo.absolute-bottom-link {
  position: relative;
}

.promo.absolute-bottom-link .field-promolink {
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.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.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;
  }
}

.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-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;
}

.promo-shadow > .component-content {
  padding: 15px;
  margin: 0 0 30px 0;
}

@media only screen and (max-width: 959px) {
  .promo-shadow > .component-content {
    margin: 0 10px 30px 10px;
  }
}

.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);
}

.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(1/12*100% + 6px) !important;
    margin-right: calc(3/24*100% + 6px) !important;
  }
}

@media (min-width: 1225px) {
  .promo.c-promo-subscribe > .component-content {
    margin: 0 auto;
    margin-left: calc(2/12*100% + 6px) !important;
    margin-right: calc(3/12*100% + 6px) !important;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9mdW5jdGlvbnMvX2NvbG9yLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHlwZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudC1wcm9tby5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0Bjb21tb24tdWkvdHlwb2dyYXBoeS9fbWl4aW5zLnNjc3MiLCJiYXNlL3JpY2h0ZXh0L19yaWNodGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2lvdGFjc3MvbW9kdWxlcy9pb3RhY3NzLXRvb2xzLWNvcmUvdXRpbGl0aWVzL19leHRyYWN0LXR5cGUtc2l6ZXMuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2lvdGFjc3MvbW9kdWxlcy9pb3RhY3NzLXRvb2xzLWNvcmUvbGlicmFyaWVzL19nZW5lcmF0ZS10eXBlLXNpemVzLnNjc3MiLCJjb21wb25lbnQtcHJvbW8uY3NzIiwiYWJzdHJhY3RzL3ZhcnMvX2NvbG9ycy5zY3NzIiwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9fc3BhY2Uuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX2xpbmsuc2NzcyIsImFic3RyYWN0cy92YXJzL19mb250U2l6ZXMuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3Nhc3MtbXEtbW9kLnNjc3MiLCJzdHlsZXMvcHJvbW8vYWJzb2x1dGUtYm90dG9tLWxpbmsuc2NzcyIsInN0eWxlcy9wcm9tby9wcm9tby1oZXJvLnNjc3MiLCJzdHlsZXMvcHJvbW8vcHJvbW8tc2hhZG93LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQzhQRDtFQUNFLGlCQUFhO0NBQ2Q7O0FBRkQ7RUFDRSxpQkFBYTtDQUNkOztBQUZEO0VBQ0UsaUJBQWE7Q0FDZDs7QUFGRDtFQUNFLGlCQUFhO0NBQ2Q7O0FDeFBILGlCQUFpQjtBQ1hqQjtFQUNJLCtCQUFzQjtVQUF0Qix1QkFBc0I7Q0FnQ3pCOztBQWpDRDtFQUlZLGtCQUFpQjtDQUNwQjs7QUFMVDtFQVFRLGlCQUFnQjtFQUNoQixZQUFXO0VBQ1gsWUFBVztDQUtkOztBQWZMO0VBWVksWUFBVztFQUNYLGFBQVk7Q0FDZjs7QUFkVDtFQWtCWSxvQkFBbUI7Q0FDdEI7O0FBbkJUO0VDK0JFLGtCSE91QjtDSXJCcEI7O0FGakJMO0VDR0UseUNIRndEO0VHR3hELG1DQUFrQztFQUNsQyxvQ0FBbUM7RUVIakMsa0JDVXFEO0VEVHJELGtCTDhCNEI7RUdaMUIsbUJIUGM7RUdPZCxpQkhiSztDSUtGOztBR0FEO0VMYlI7SUdFSSxnQkNVcUQ7SURUckQsa0JMK0IwQjtHSXJCckI7Q0lrRFI7O0FOL0REO0VFZVksZUtXSTtDTFZQOztBRmhCVDtFQytCRSxrQkhtRXVCO0NJakZwQjs7QUZqQkw7RUNHRSx5Q0hGd0Q7RUdHeEQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFRUVqQyxrQkx3RmE7RUcxRVgsbUJIUGM7RUdPZCxpQkhiSztDSUtGOztBRmJUO0VFZVksZUtXSTtDTFZQOztBRmhCVDtFQytCRSxrQkh5RXVCO0NJdkZwQjs7QUZqQkw7RUNHRSx5Q0hGd0Q7RUdHeEQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFRUVqQyxrQkw4RmE7RUdoRlgsbUJIUGM7RUdPZCxpQkhiSztDSUtGOztBRmJUO0VFZVksZUtXSTtDTFZQOztBRmhCVDtFQytCRSxrQkhnRnVCO0NJOUZwQjs7QUZqQkw7RUNHRSx5Q0hGd0Q7RUdHeEQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFRUVqQyxrQkxxR2E7RUd2RlgsbUJIUGM7RUdPZCxpQkhiSztDSUtGOztBRmJUO0VFZVksZUtXSTtDTFZQOztBRmhCVDtFQytCRSxrQkhzRnVCO0NJcEdwQjs7QUZqQkw7RUNHRSx5Q0hGd0Q7RUdHeEQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFRUVqQyxrQkwyR2E7RUc3RlgsbUJIUGM7RUdPZCxpQkhiSztDSUtGOztBRmJUO0VFZVksZUtXSTtDTFZQOztBRmhCVDtFQytCRSxrQkhvRHVCO0NJbEVwQjs7QUZqQkw7RUNHRSx5Q0hGd0Q7RUdHeEQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFRUhqQyxrQkNVcUQ7RURUckQsa0JMMkU0QjtFR3pEMUIsbUJIUGM7RUdPZCxpQkhiSztDSUtGOztBR0FEO0VMYlI7SUdFSSxrQkNVcUQ7SURUckQsa0JMNEUwQjtHSWxFckI7Q0krSVI7O0FONUpEO0VFZVksZUtXSTtDTFZQOztBRmhCVDtFRXFCRSxvQk1uQnNCO0VQQ3RCLHlDSEp1RDtFR0t2RCxtQ0FBa0M7RUFDbEMsb0NBQW1DO0VFSGpDLGtCQ1VxRDtFRFRyRCxrQkwrSTRCO0VHN0gxQixtQkhQYztFR09kLGlCSGhCTTtDSWtCWDs7QUdWTztFTGJSO0lHRUksZ0JDVXFEO0lEVHJELGtCTGdKMEI7R0k1SDdCO0NJMkpBOztBTmxMRDtFRTBCSSxlS0FZO0NMQ2Y7O0FGM0JEO0VDR0UseUNISnVEO0VHS3ZELG1DQUFrQztFQUNsQyxvQ0FBbUM7RUVIakMsa0JDVXFEO0VEVHJELGtCTDZKNEI7RUczSTFCLG1CSFBjO0VHT2QsaUJIZlE7RVdIWixlRklnQjtFRUhoQixzQkFBcUI7RVA0QnJCLDJCQUEwQjtFQUMxQiwwQkFBeUI7RUFDekIsc0JBQXFCO0VBQ3JCLHVCQUFzQjtDQUN2Qjs7QUd2Qk87RUxiUjtJR0VJLGdCQ1VxRDtJRFRyRCxrQkw4SjBCO0dJN0g3QjtDSXlLQTs7QU43TUQ7RVNPSSwyQkFBMEI7Q0FDM0I7O0FUUkg7RVNvRU0sbUJEbEVrQjtFQ21FbEIsbUJBQWtCO0NBTW5COztBVDNFTDtFU3dFUSxZQUFXO0VBQ1gsT0FBTTtDQUNQOztBVDFFUDtFUytFUSxhQUFZO0VBQ1osdUVBQXNFO0VBQ3RFLGFBQVk7RUFDWixZQUFXO0VBQ1gsc0JBQXFCO0VBQ3JCLDJCQUEwQjtFQUMxQiw2QkFBNEI7RUFDNUIsaUJBQWdCO0NBQ2pCOztBVHZGUDtFU29FTSxtQkRsRWtCO0VDbUVsQixtQkFBa0I7Q0FNbkI7O0FUM0VMO0VTd0VRLFlBQVc7RUFDWCxPQUFNO0NBQ1A7O0FUMUVQO0VTMkZRLGdCQUF5QjtDQUMxQjs7QVQ1RlA7RVNvRU0sbUJEbEVrQjtFQ21FbEIsbUJBQWtCO0NBTW5COztBVDNFTDtFU3dFUSxZQUFXO0VBQ1gsT0FBTTtDQUNQOztBVDFFUDtFUzJGUSxnQkFBeUI7Q0FDMUI7O0FUNUZQO0VTb0VNLG1CRGxFa0I7RUNtRWxCLG1CQUFrQjtDQU1uQjs7QVQzRUw7RVN3RVEsWUFBVztFQUNYLE9BQU07Q0FDUDs7QVQxRVA7RVMyRlEsZ0JBQXlCO0NBQzFCOztBVDVGUDtFQ0dFLHlDSEZ3RDtFR0d4RCxtQ0FBa0M7RUFDbEMsb0NBQW1DO0VFSGpDLGtCQ1VxRDtFRFRyRCxrQkwyRTRCO0VHekQxQixtQkhQYztFR09kLGlCSGJLO0VJZ0NULG9CTXRDc0I7RU51Q3RCLGVLckNtQjtFTHNDbkIsbUJNeENzQjtFTnlDdEIsK0JLdkNtQjtDTHdDcEI7O0FHL0JPO0VMYlI7SUdFSSxrQkNVcUQ7SURUckQsa0JMNEUwQjtHSW5DN0I7Q0l5UEE7O0FOclNEO0VFK0NFLHdCQUF1QjtFQUN2QiwwQks2Qm1CO0NMa0JwQjs7QUYvRkQ7RUVtREksMEJLMEJpQjtFTHpCakIsb0JLSW1CO0VMSG5CLDBCQUF5QjtFQUN6Qix1QkFBc0I7Q0FDdkI7O0FGdkRIO0VFMERJLGFBQVk7Q0FDYjs7QUYzREg7RUU4REksMEJLSm1CO0VMS25CLGlCQUFnQjtFQUNoQixjQUFhO0VBQ2IsZ0JRL0RVO0VSZ0VWLGtCQUFpQjtFQUNqQixlQUFjO0NBQ2Y7O0FGcEVIO0VFdUVJLGFBQVk7Q0FDYjs7QUZ4RUg7RUUyRUksa0JBQWlCO0VBQ2pCLDBCQUF5QjtFQUN6QixpQkFBZ0I7Q0FDakI7O0FGOUVIO0VFaUZJLHdCQUE2QztFQUM3QyxpQkFBZ0I7RUFDaEIsYUFBWTtDQUtiOztBRnhGSDtFRXNGTSxlQUFjO0NBQ2Y7O0FGdkZMO0VFNEZNLGVBQWM7Q0FDZjs7QUY3Rkw7RUV1R0ksa0JNckdvQjtFTnNHcEIsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixXQUFVO0VBQ1Ysc0JBQXFCO0VBQ3JCLG9CTXpHb0I7Q04rR3ZCOztBRmpIRDtFRThHUSxxQkFBb0I7RUQzRzFCLHlDSEp1RDtFR0t2RCxtQ0FBa0M7RUFDbEMsb0NBQW1DO0VFSGpDLGtCQ1VxRDtFRFRyRCxrQkwrSTRCO0VHN0gxQixtQkhQYztFR09kLGlCSGhCTTtDSTJHUDs7QUduR0c7RUxiUjtJR0VJLGdCQ1VxRDtJRFRyRCxrQkxnSjBCO0dJbkN6QjtDSWdRSjs7QU5oWEQ7RUVvSEksa0JNbEhvQjtFTm1IcEIsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixXQUFVO0VBQ1YseUJBQXdCO0VBQ3hCLG9CTXRIb0I7Q040SHZCOztBRjlIRDtFRTJIUSxxQkFBb0I7RUR4SDFCLHlDSEp1RDtFR0t2RCxtQ0FBa0M7RUFDbEMsb0NBQW1DO0VFSGpDLGtCQ1VxRDtFRFRyRCxrQkwrSTRCO0VHN0gxQixtQkhQYztFR09kLGlCSGhCTTtDSXdIUDs7QUdoSEc7RUxiUjtJR0VJLGdCQ1VxRDtJRFRyRCxrQkxnSjBCO0dJdEJ6QjtDSTZRSjs7QUt4S087RVhsT1I7SUVvSVEsaUJBQWdCO0lBQ2hCLGtCTW5JZ0I7SU5vSWhCLG9CTXBJZ0I7SU5xSWhCLG1CTXJJZ0I7SU5zSWhCLGFBQVk7R0FDZjtDSTJRSjs7QUtsTE87RVhsT1I7SUUrSVUsZ0JBQWU7R0FDaEI7Q0kwUVI7O0FOMVpEO0VDR0UseUNIRndEO0VHR3hELG1DQUFrQztFQUNsQyxvQ0FBbUM7RUVIakMsa0JDVXFEO0VEVHJELGtCTGtFNEI7RUdoRDFCLG1CSFBjO0VHT2QsaUJIYks7Q0VnQk47O0FLWEc7RUxiUjtJR0VJLGtCQ1VxRDtJRFRyRCxrQkxtRTBCO0dFOUN6QjtDTW1aSjs7QU4zYUQ7RUNHRSx5Q0hGd0Q7RUdHeEQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFRUhqQyxrQkNVcUQ7RURUckQsa0JMOEI0QjtFR1oxQixtQkhQYztFR09kLGlCSGJLO0VFbUJILGlCQUFnQjtDQUNuQjs7QUtmRztFTGJSO0lHRUksZ0JDVXFEO0lEVHJELGtCTCtCMEI7R0VOekI7Q01pYUo7O0FON2JEO0VBOEJRLGVBQWM7RUFDZCxpQkFBZ0I7Q0FDbkI7O0FZakNMO0VBQ0ksbUJBQWtCO0NBTXJCOztBQVBEO0VBR1EsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixZQUFXO0NBQ2Q7O0FkNFBIO0VBQ0UsaUJBQWE7Q0FDZDs7QUFGRDtFQUNFLGlCQUFhO0NBQ2Q7O0FBRkQ7RUFDRSxpQkFBYTtDQUNkOztBQUZEO0VBQ0UsaUJBQWE7Q0FDZDs7QUN4UEgsaUJBQWlCO0FjVmpCO0VBQ0ksbUJBQWtCO0VBQ2xCLG1CQUFrQjtDQWtDckI7O0FBcENEO0VBSVEsWUFBVztFQUNYLFdBQVU7Q0FLYjs7QWRtREc7RWM3RFI7SUFPWSxZQUFXO0lBQ1gsWUFBVztHQUVsQjtDUG1lSjs7QU83ZUQ7RUFZUSxzQkFBcUI7RUFDckIsb0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQixtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFFBQU87RUFDUCxTQUFRO0VBQ1IsY0FBYTtFQUNiLFlOK0NRO0VNOUNSLCtCTjRLeUI7Q003SjVCOztBQW5DTDtFQXNCWSxlQUFjO0VBQ2Qsc0JBQXFCO0NBQ3hCOztBZHFDRDtFYzdEUjtJQTBCWSxZQUFXO0lBQ1gsVUFBUztHQVFoQjtFQW5DTDtJZDRCSSxnQkFBaUM7SUFDakMsa0JBQTJCO0djQ2xCO0VBOUJiO0lkNEJJLGdCQUFpQztJQUNqQyxnQkFBMkI7R2NJbEI7Q1A0ZVo7O0FSN1FDO0VBQ0UsaUJBQWE7Q0FDZDs7QUFGRDtFQUNFLGlCQUFhO0NBQ2Q7O0FBRkQ7RUFDRSxpQkFBYTtDQUNkOztBQUZEO0VBQ0UsaUJBQWE7Q0FDZDs7QUN4UEgsaUJBQWlCO0FlVmpCO0VBQ0ksaUJBQWdCO0VBQ2hCLFdBQVU7RUFDVixzQkFBcUI7RUFDckIsMEJQMEV3QjtFT3pFeEIsb0JBQW1CO0VBQ25CLGtCQUFpQjtFQUNqQixtQkFBa0I7Q0ErQnJCOztBQXRDRDtFQVNRLFlBQVc7Q0FDZDs7QUFWTDtFQWVRLGNBQWE7RUFDYixtQkFBa0I7Q0FxQnJCOztBZndCRztFZTdEUjtJQWFZLHlCQUF3QjtHQXdCL0I7Q1JraEJKOztBUXZqQkQ7RUFrQlksYUFBWTtFQUNaLG1EQUEwQztVQUExQywyQ0FBMEM7RUFDMUMsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxZQUFXO0VBQ1gsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUNoQixXQUFVO0VBQ1YsWUFBVztFQUNYLGFBQVk7Q0FDZjs7QUE1QlQ7RUE4QlksU0FBUTtFQUNSLGlDQUF3QjtVQUF4Qix5QkFBd0I7Q0FDM0I7O0FBaENUO0VBa0NZLFVBQVM7RUFDVCxnQ0FBdUI7VUFBdkIsd0JBQXVCO0NBQzFCOztBZEVUO0VBRVEsaUJBQWdCO0NBQ25COztBQUhMO0VBS1EsWUFBVztDQUNkOztBQU5MO0VBUVEsbUJRN0NnQjtDUjhDbkI7O0FBR0w7RUFDSSxtQkFBa0I7Q0FDckI7O0FBRUQ7RUFDSSx1QkFBc0I7Q0FDekI7O0FBRUQ7RUFDSSwwQk8xRFk7RVAyRFosZU9uQ1k7RVBvQ1osNEJRNURvQjtDUjZEdkI7O0FXbUtPO0VYaEtKO0lBQ0ksYUFBWTtJQUNaLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDBCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIseUJBQXVCO1lBQXZCLHdCQUF1QjtHQVMxQjtFQWJEO0lBTVEscUJBQWE7SUFBYixjQUFhO0lBQ2Isa0JBQWlCO0lBQ2pCLG9CUXhFWTtHUnlFZjtFQVRMO0lBV1EsYUFBWTtHQUNmO0VBRUw7SUFFUSxpQkFBZ0I7R0FDbkI7Q00waUJSOztBSzNaTztFWDFJSjtJQUNJLDBCT3JGYTtJUHNGYixlT3hGUTtJUHlGUixtQlF6RmdCO0dSNkZuQjtFQVBEO0lBS1EsZU8zRkk7R1A0RlA7RUFHTDtJQUNJLG1CQUFrQjtJQUNsQixXUWpHZ0I7SVJrR2hCLG1CQUFrQjtJQUNsQixvQkFBbUI7R0FLdEI7RUFURDtJQU1RLG1CUXJHWTtJUnNHWixvQlF0R1k7R1J1R2Y7Q015aUJSOztBS2hiTztFWHBISjtJQUNJLG1CQUFrQjtJQUNsQixXUTlHZ0I7SVIrR2hCLGFRL0dnQjtJUmdIaEIsU0FBUTtHQUNYO0VBRUQ7SUFDSSw4QkFBNkI7SUFDN0IsMEJBQXlDO0lBQ3pDLFdBQVU7R0FDYjtFQUVEO0lBQ0ksbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixvQ0FBMkI7WUFBM0IsNEJBQTJCO0dBYzlCO0VBakJEO0lBTVEsMEJPL0hJO0lQZ0lKLGNRaElZO0lSaUlaLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1Isb0NBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQixtQlFwSVk7R1J5SWY7RUFoQkw7SUFjWSxlTy9HQTtHUGdISDtDTXNpQlo7O0FLOWNPO0VYbEZKO0lBRVEsOENBQTZDO0lBQzdDLCtDQUE4QztHQUNqRDtDTW1pQlI7O0FLcmRPO0VYekVKO0lBRVEsZUFBYztJQUNkLDhDQUE2QztJQUM3QywrQ0FBOEM7R0FDakQ7Q01paUJSIiwiZmlsZSI6ImNvbXBvbmVudC1wcm9tby5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gKi9cclxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XHJcbiRmdW5jdGlvbmFsLWNvbG9yczogKCkgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yKSB7XHJcbiAgQGlmIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKTtcclxuICB9IEBlbHNlIGlmIG1hcC1nZXQoJGZ1bmN0aW9uYWwtY29sb3JzLCAkY29sb3IpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkZnVuY3Rpb25hbC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAvKiBTdHlsZWZtdCBjaGFuZ2VzIHRoZSBxdW90ZXMgZXZlcnkgdGltZSwgc28gdHVybmluZyBvZmYgdGhlIGVycm9yIGhlcmUgKi9cclxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzdHJpbmctcXVvdGVzICovXHJcbiAgICBAZXJyb3IgXCJDb2xvciBcXFwiI3skY29sb3J9XFxcImNvdWxkIG5vdCBiZSBmb3VuZFwiO1xyXG4gIH1cclxufVxyXG4iLCIkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5nczogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzOiAoXHJcbiAgLy8gdGhpbjogMTAwLFxyXG4gIGxpZ2h0OiAzMDAsXHJcbiAgcmVndWxhcjogNDAwLFxyXG4gIG1lZGl1bTogNTAwLFxyXG4gIGJvbGQ6IDcwMCxcclxuICAvLyBibGFjazogOTAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1kZWZhdWx0OiAoXHJcbiAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQsXHJcbiAgZm9udC1zdHlsZTogbm9ybWFsLFxyXG4gIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICBtYXJnaW46IDAsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJHVpLXR5cG9ncmFwaHktc3R5bGVzOiAoXHJcbiAgLy9ob21lcGFnZSBoZWFkZXJcclxuICBkNi1saC1sZzogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMzJweCksIDQwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNjFweCksIDc2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMzJweCksIDQwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNTBweCksIDU2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjlweCksIDM2cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNDFweCksIDQ0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNS1saWdodDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjlweCksIDM2cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNDFweCksIDQ0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cyxsaWdodCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjZweCksIDMycHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMzRweCksIDQwcHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMzogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjNweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjhweCksIDM2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjFweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjRweCksIDMwcHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI0cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBoMnN6OiAoXHJcbiAgICBzaXplczogMi45cmVtLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGgzc3o6IChcclxuICAgIHNpemVzOiAyLjJyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcblxyXG4gIGg0c3o6IChcclxuICAgIHNpemVzOiAxLjdyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgaDVzejogKFxyXG4gICAgc2l6ZXM6IDIuNHJlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBsZWFkOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyMnB4KSwgMzJweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyNHB4KSwgMzZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYyxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQtc21hbGw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICksXHJcbiAgZC14c21hbGw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAxNnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgYm9keTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbGlnaHQpLFxyXG4gICksXHJcbiAgYm9keTI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBsaW5rOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGRhdGU6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgaGVhZGVyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNnB4KSwgMjBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgc3ViaGVhZGVyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgc2l0ZS1zZWFyY2g6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICAgc206IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgaW5wdXQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgYnJlYWRjcnVtYjogKFxyXG4gICAgc2l6ZXM6ICAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgZmVhdHVyZWQ6IChcclxuICAgIHNpemVzOiAgKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICksXHJcbiAgY29weXJpZ2h0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxM3B4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGNhcHRpb246IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgKSxcclxuICBmb3JtLWxhYmVsOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgZm9ybS1oZWxwZXI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgcGRmOiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBsaWdodCksXHJcbiAgKSxcclxuICBtYXAtcmVzdWx0czogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbGlnaHQpLFxyXG4gICksXHJcbiAgYmV0YS1ub3RpY2U6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBzaXRlLXdpZGUtYWxlcnQ6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5AZWFjaCAkbmFtZSwgJHN0eWxlIGluICR1aS10eXBvZ3JhcGh5LXN0eWxlcyB7XHJcbiAgJHVpLXR5cG9ncmFwaHktc3R5bGVzOiBtYXAtbWVyZ2UoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAoXHJcbiAgICAjeyRuYW1lfTogbWFwLW1lcmdlKCR1aS10eXBvZ3JhcGh5LWRlZmF1bHQsICRzdHlsZSlcclxuICApKTtcclxufVxyXG5cclxuQGVhY2ggJG5hbWUsICRzdHlsZSBpbiAkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMge1xyXG4gIC51LXR5cGUtLSN7JG5hbWV9IHtcclxuICAgIGZvbnQtd2VpZ2h0OiAjeyRzdHlsZX07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiLy8gQGltcG9ydCAnfnNhc3MtbXEvbXEnO1xyXG5AaW1wb3J0ICdtaXhpbnMvc2Fzcy1tcS1tb2Quc2Nzcyc7XHJcbkBpbXBvcnQgJ35AY29tbW9uLXVpL3R5cG9ncmFwaHkvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zL2FjY2Vzc2liaWxpdHknO1xyXG5AaW1wb3J0ICdtaXhpbnMvYnV0dG9uJztcclxuQGltcG9ydCAnbWl4aW5zL2xpbmsnO1xyXG5AaW1wb3J0ICdtaXhpbnMvb3ZlcmxheSc7XHJcbkBpbXBvcnQgJ21peGlucy90cmFuc2l0aW9ucyc7XHJcbkBpbXBvcnQgJ21peGlucy9zaGFkb3dzJztcclxuQGltcG9ydCAnbWl4aW5zL3RhZyc7XHJcblxyXG4vLyBCZWxvdyBhcmUgbWl4aW4ncyBmcm9tIEZYQVxyXG4vKiBicmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrLWRlc2t0b3A6IDk2MHB4O1xyXG4kYnJlYWstbW9iaWxlOiAzODBweDtcclxuJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsOiA2NDBweDtcclxuJGJyZWFrLW1vYmlsZS1sYXJnZTogNzg2cHg7XHJcbkBtaXhpbiB3cmFwcGVyKCkge1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxMCkgKyBweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcclxufVxyXG5AbWl4aW4gb3BlbnNhbnMtZm9udC1zdGFjaygpIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcclxufVxyXG5AbWl4aW4gbG9hZGluZy1naWYoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek1pQXpNaUlnZDJsa2RHZzlJak15SWlCb1pXbG5hSFE5SWpNeUlpQm1hV3hzUFNKaWJHRmpheUkrRFFvZ0lEeHdZWFJvSUNCdmNHRmphWFI1UFNJdU1qVWlJR1E5SWsweE5pQXdJRUV4TmlBeE5pQXdJREFnTUNBeE5pQXpNaUJCTVRZZ01UWWdNQ0F3SURBZ01UWWdNQ0JOTVRZZ05DQkJNVElnTVRJZ01DQXdJREVnTVRZZ01qZ2dRVEV5SURFeUlEQWdNQ0F4SURFMklEUWlMejROQ2lBZ1BIQmhkR2dnWm1sc2JEMG5JekZoT0RCaU5pY2daRDBpVFRFMklEQWdRVEUySURFMklEQWdNQ0F4SURNeUlERTJJRXd5T0NBeE5pQkJNVElnTVRJZ01DQXdJREFnTVRZZ05Ib2lQZzBLSUNBZ0lEeGhibWx0WVhSbFZISmhibk5tYjNKdElHRjBkSEpwWW5WMFpVNWhiV1U5SW5SeVlXNXpabTl5YlNJZ2RIbHdaVDBpY205MFlYUmxJaUJtY205dFBTSXdJREUySURFMklpQjBiejBpTXpZd0lERTJJREUySWlCa2RYSTlJakF1T0hNaUlISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWlBdlBnMEtJQ0E4TDNCaGRHZytEUW84TDNOMlp6NE5DZz09KTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGlmICRtZWRpYT09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWhvcml6b250YWwgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBib3JkZXItYmFzaWMoJHBvc2l0aW9uOmFsbCwgJGJvcmRlci1jb2xvcjokYm9yZGVyLWdyYXksICRib3JkZXItd2lkdGg6MXB4KSB7XHJcbiAgICBAaWYoJHBvc2l0aW9uPT10b3ApIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PWJvdHRvbSkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09bGVmdCkge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PXJpZ2h0KSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZpeGVkLWJnKCRwb3MsICRtaW4taGVpZ2h0OjI0MHB4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xyXG59XHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XHJcbiAgICAvLyBEaXJlY3Rpb24gaGFzIGJlZW4gb21pdHRlZCBhbmQgaGFwcGVucyB0byBiZSBhIGNvbG9yLXN0b3BcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcclxuICAgICAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcclxuICAgICAgICAkZGlyZWN0aW9uOiAxODBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xyXG59XHJcbiIsIkBpbXBvcnQgXCJhYnN0cmFjdHNcIjtcclxuLnByb21vIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAuemctaGVpZ2h0LWZpeCB7XHJcbiAgICAgICAgLmZpZWxkLXByb21vaWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5maWVsZC1wcm9tb2ljb24ge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmltYWdlLWZ1bGwtc2l6ZSB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW1wb3J0IFwiYmFzZS9yaWNodGV4dC9yaWNodGV4dFwiO1xyXG4gICAgaDMudS10eXBlLS1kMyB7XHJcbiAgICAgICAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeShkMyk7XHJcbiAgICB9XHJcbiAgICBoMi5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KGQ2KTsgIFxyXG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5AaW1wb3J0IFwiRTovR2l0TGFiLVJ1bm5lci9idWlsZHMvWGRDcTRNemUvMC93ZWJzaXRlL3R0Yy5jYS9zcmMvVUkvc2Fzcy9zdHlsZXMvcHJvbW8vYWJzb2x1dGUtYm90dG9tLWxpbmsuc2Nzc1wiO1xuQGltcG9ydCBcIkU6L0dpdExhYi1SdW5uZXIvYnVpbGRzL1hkQ3E0TXplLzAvd2Vic2l0ZS90dGMuY2Evc3JjL1VJL3Nhc3Mvc3R5bGVzL3Byb21vL3Byb21vLWhlcm8uc2Nzc1wiO1xuQGltcG9ydCBcIkU6L0dpdExhYi1SdW5uZXIvYnVpbGRzL1hkQ3E0TXplLzAvd2Vic2l0ZS90dGMuY2Evc3JjL1VJL3Nhc3Mvc3R5bGVzL3Byb21vL3Byb21vLXNoYWRvdy5zY3NzXCI7XG5cclxuXHJcbi5jLXByb21vLTJjb2wge1xyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgLmZpZWxkLXByb21vaWNvbiB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB9XHJcbiAgICA+IC5jb21wb25lbnQtY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogc3BhY2UoOCkgc3BhY2UoNCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLWhvbWUtcHJvbW8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYy1ob21lLXByb21vX19pbWFnZSB7XHJcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYy1ob21lLXByb21vX190aXRsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LWNvbnRyYXN0KTtcclxuICAgIGNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICBwYWRkaW5nOiBzcGFjZSgpIHNwYWNlKDIpIHNwYWNlKDIpIHNwYWNlKDIpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBtcShtZCkge1xyXG4gICAgLmMtcHJvbW8tMmNvbCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICA+IC5jb21wb25lbnQtY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTE4N3B4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgxNikgc3BhY2UoNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYy1wcm9tb19fbGlua3Mge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKCR1bnRpbDogc20pIHtcclxuICAgIC5wcm9tby5jLXByb21vLXN1YnNjcmliZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnktY29udHJhc3QpO1xyXG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDQpIHNwYWNlKDIpO1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnktY29udHJhc3QpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1ob21lLXByb21vX19jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtIHNwYWNlKDQpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG4gICAgICAgID4gLmNvbXBvbmVudC1jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjZSgyKTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcShzbSkge1xyXG4gICAgLmMtaG9tZS1wcm9tb19fY29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IHNwYWNlKDgpO1xyXG4gICAgICAgIGJvdHRvbTogc3BhY2UoNCk7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vIC5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeS1jb250cmFzdCkgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLXByb21vLXN1YnNjcmliZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblxyXG4gICAgICAgID4gLmNvbXBvbmVudC1jb250ZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeS1jb250cmFzdCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoNCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudS10eXBlLS1ib2R5IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKG1kKSB7XHJcbiAgICAucHJvbW8uYy1wcm9tby1zdWJzY3JpYmUge1xyXG4gICAgICAgID4gLmNvbXBvbmVudC1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMS8xMioxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMy8yNCoxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbXEobGcpIHtcclxuICAgIC5wcm9tby5jLXByb21vLXN1YnNjcmliZSB7XHJcbiAgICAgICAgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMi8xMioxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMy8xMioxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBpbXBvcnQgJy4vdmFyaWFibGVzJztcbkBpbXBvcnQgJ35pb3RhY3NzLXRvb2xzLXR5cGUvdG9vbHMudHlwZSc7XG5cbkBtaXhpbiB1aS10eXBvZ3JhcGh5LWJhc2UoJGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0KSB7XG4gIGZvbnQtZmFtaWx5OiBpZigkZm9udC1mYW1pbHkgIT0gbnVsbCwgJGZvbnQtZmFtaWx5LCAkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0KTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbkBtaXhpbiB1aS10eXBvZ3JhcGh5KCRzdHlsZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpIHtcbiAgICAkc3R5bGU6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xuICAgICRmb250LWZhbWlseTogbWFwLWdldCgkc3R5bGUsIGZvbnQtZmFtaWx5KTtcblxuICAgIEBpbmNsdWRlIHVpLXR5cG9ncmFwaHktYmFzZSgkZm9udC1mYW1pbHkpO1xuICAgIEBpbmNsdWRlIGlvdGEtdHlwZShtYXAtZ2V0KCRzdHlsZSwgc2l6ZXMpKTtcblxuICAgIC8vIFJlbW92ZSBwcm9wZXJ0aWVzIHRoYXQgZG8gbm90IG5lZWQgdG8gYmUgZ2VuZXJhdGVkIGJlbG93XG4gICAgJHByb3BzOiBtYXAtcmVtb3ZlKCRzdHlsZSwgZm9udC1mYW1pbHksIG1hcmdpbiwgc2l6ZXMpO1xuICAgICRrZXlzOiBtYXAta2V5cygkcHJvcHMpO1xuXG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAjeyRrZXl9OiBtYXAtZ2V0KCRwcm9wcywgJGtleSk7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuKCdDb3VsZCBub3QgZmluZCBgI3skc3R5bGV9YCBpbiBgJHVpLXR5cG9ncmFwaHktc3R5bGVzYCcpO1xuICB9XG59XG5cbkBtaXhpbiB1aS10eXBvZ3JhcGh5LW1hcmdpbigkc3R5bGUpIHtcbiAgbWFyZ2luOiBtYXAtZ2V0KG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpLCBtYXJnaW4pO1xufVxuIiwiJGhlYWRpbmdzLXJpY2h0ZXh0OiAoXHJcbiAgICBoMTogZDYsIFxyXG4gICAgaDI6IGgyc3osXHJcbiAgICBoMzogaDNzeixcclxuICAgIGg0OiBoNHN6LCBcclxuICAgIGg1OiBoNXN6LFxyXG4gICAgaDY6IGQyLFxyXG4pO1xyXG5cclxuQGVhY2ggJGhlYWRpbmcsICRzdHlsZSBpbiAkaGVhZGluZ3MtcmljaHRleHQge1xyXG4gICAgI3skaGVhZGluZ30ge1xyXG4gICAgICAgIEBpbmNsdWRlIHVpLXR5cG9ncmFwaHktbWFyZ2luKCRzdHlsZSk7XHJcbiAgICAgICAgJjpub3QoW2NsYXNzXj1cInUtdHlwZVwiXSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KCRzdHlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KFtjbGFzc149XCJ1LWNvbG9yXCJdKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5wIHtcclxuICBtYXJnaW4tYm90dG9tOiBzcGFjZSg0KTtcclxuICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KGJvZHkpO1xyXG59XHJcblxyXG5zdHJvbmcge1xyXG4gICAgY29sb3I6IGNvbG9yKGJsYWNrKTtcclxufVxyXG5cclxuYSB7XHJcbiAgQGluY2x1ZGUgbGluaztcclxuICBAaW5jbHVkZSBsaW5rLWV4dGVuc2lvbnM7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG5cclxuYmxvY2txdW90ZSB7XHJcbiAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeShkMik7XHJcbiAgbWFyZ2luLWJvdHRvbTogc3BhY2UoNCk7XHJcbiAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xyXG4gIHBhZGRpbmctbGVmdDogc3BhY2UoMik7XHJcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBjb2xvcihwcmltYXJ5KTtcclxufVxyXG5cclxudGFibGUge1xyXG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItZ3JheTtcclxuXHJcbiAgJiwgdHIsIHRoLCB0ZCB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkYm9yZGVyLWdyYXk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmctYmFzaWMtY29sb3I7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcblxyXG4gIHRyLCB0aCwgdGQge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gIH1cclxuXHJcbiAgY2FwdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQtZ3JheTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1iaWc7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgdHIge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxuXHJcbiAgdGgsIHRkIHtcclxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgfVxyXG5cclxuICB0aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRiZy1saWdodC1ncmF5LCA1JSk7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgcGFkZGluZzogN3B4O1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRkIHtcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIHAgfiB1bCxcclxuLy8gcCB+IG9sIHtcclxuLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbi8vIH1cclxuXHJcbnVsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgzKTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoNCk7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHVpLXR5cG9ncmFwaHkoYm9keSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbm9sIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSgzKTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoNCk7XHJcbiAgICBcclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMDtcclxuICAgICAgICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KGJvZHkpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBpbmNsdWRlIG1xKGxnKSB7XHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjZSg0KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gc3BhY2UoNik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoKTtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKG1kKSB7XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQG1peGluIF9pb3RhLWV4dHJhY3QtdHlwZS1zaXplcygkc2l6ZXMpIHtcblxuICBAaWYgKCBsZW5ndGgoJHNpemVzKSA9PSAyICkge1xuICAgIGZvbnQtc2l6ZTogbnRoKCRzaXplcywgMSk7XG4gICAgbGluZS1oZWlnaHQ6IG50aCgkc2l6ZXMsIDIpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogJHNpemVzOyAgXG4gIH1cbiAgXG59XG4iLCIvLyBodHRwczovL2pvZWNpYW5mbG9uZS5jby9hcnRpY2xlL3Nhc3MtcHgtdG8tcmVtc1xyXG4vLyBCdXQgTm8gbmVlZCBmb3IgcGl4ZWwgZmFsbGJhY2sgYW55bW9yZSBzZWUgc3VwcG9ydFxyXG4vLyBhbmQgZm9yIGludWl0IHR5cGUgdG9vbCAocmVzcG9uc2l2ZSkgd2UgbmVlZCBqdXN0IGEgcmV0dXJuZWQgcmVtIHZhbHVlLCBubyBuZWVkIGZvciBtaXhpbnNcclxuXHJcbiRiYXNlOiA2Mi41JTtcclxuXHJcbkBmdW5jdGlvbiBnZXQtdmFsdWUoJG4pIHtcclxuICBAcmV0dXJuICRuIC8gKCRuICogMCArIDEpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LXJlbSgkZm9udC1zaXplKSB7XHJcbiAgJGJhc2Utc2l6ZTogZ2V0LXZhbHVlKCRiYXNlIC8gMTAwKTtcclxuICAkYmFzZS1weC1zaXplOiAxNiAqICRiYXNlLXNpemU7XHJcbiAgQHJldHVybiAoKGdldC12YWx1ZSgkZm9udC1zaXplKSAvICRiYXNlLXB4LXNpemUpICsgcmVtKTtcclxufSIsIkBtaXhpbiBfaW90YS1nZW5lcmF0ZS10eXBlLXNpemVzKCR2YWx1ZXMsICRicmVha3BvaW50cykge1xuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBudWxsKSB7XG5cbiAgICAgIEBpbmNsdWRlIF9pb3RhLWV4dHJhY3QtdHlwZS1zaXplcyhtYXAtZ2V0KCR2YWx1ZXMsIG51bGwpKTtcblxuICAgIH1cbiAgXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICRzaXplcyBpbiAkdmFsdWVzIHtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICAgIFxuICAgICAgICBAbWVkaWEgI3ttYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpfSB7XG4gICAgICBcbiAgICAgICAgICBAaW5jbHVkZSBfaW90YS1leHRyYWN0LXR5cGUtc2l6ZXMoJHNpemVzKTtcblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ251bWJlcicgb3IgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuXG4gICAgQGluY2x1ZGUgX2lvdGEtZXh0cmFjdC10eXBlLXNpemVzKCR2YWx1ZXMpO1xuXG4gIH1cbn1cbiIsIi8qKlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAqL1xuLnUtdHlwZS0tbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4udS10eXBlLS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnUtdHlwZS0tbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnUtdHlwZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIGJyZWFrcG9pbnRzICovXG4ucHJvbW8ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucHJvbW8gLnpnLWhlaWdodC1maXggLmZpZWxkLXByb21vaWNvbiB7XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4ucHJvbW8gLmZpZWxkLXByb21vaWNvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb21vIC5maWVsZC1wcm9tb2ljb24gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnByb21vLmltYWdlLWZ1bGwtc2l6ZSBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvbW8gaDEge1xuICBtYXJnaW46IDAgMCA4cHggMDtcbn1cblxuLnByb21vIGgxOm5vdChbY2xhc3NePVwidS10eXBlXCJdKSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDMuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9tbyBoMTpub3QoW2NsYXNzXj1cInUtdHlwZVwiXSkge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgfVxufVxuXG4ucHJvbW8gaDE6bm90KFtjbGFzc149XCJ1LWNvbG9yXCJdKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucHJvbW8gaDIge1xuICBtYXJnaW46IDAgMCA4cHggMDtcbn1cblxuLnByb21vIGgyOm5vdChbY2xhc3NePVwidS10eXBlXCJdKSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDIuOXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucHJvbW8gaDI6bm90KFtjbGFzc149XCJ1LWNvbG9yXCJdKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucHJvbW8gaDMge1xuICBtYXJnaW46IDAgMCA4cHggMDtcbn1cblxuLnByb21vIGgzOm5vdChbY2xhc3NePVwidS10eXBlXCJdKSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucHJvbW8gaDM6bm90KFtjbGFzc149XCJ1LWNvbG9yXCJdKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucHJvbW8gaDQge1xuICBtYXJnaW46IDAgMCA4cHggMDtcbn1cblxuLnByb21vIGg0Om5vdChbY2xhc3NePVwidS10eXBlXCJdKSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucHJvbW8gaDQ6bm90KFtjbGFzc149XCJ1LWNvbG9yXCJdKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucHJvbW8gaDUge1xuICBtYXJnaW46IDAgMCA4cHggMDtcbn1cblxuLnByb21vIGg1Om5vdChbY2xhc3NePVwidS10eXBlXCJdKSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucHJvbW8gaDU6bm90KFtjbGFzc149XCJ1LWNvbG9yXCJdKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucHJvbW8gaDYge1xuICBtYXJnaW46IDAgMCA4cHggMDtcbn1cblxuLnByb21vIGg2Om5vdChbY2xhc3NePVwidS10eXBlXCJdKSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9tbyBoNjpub3QoW2NsYXNzXj1cInUtdHlwZVwiXSkge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi5wcm9tbyBoNjpub3QoW2NsYXNzXj1cInUtY29sb3JcIl0pIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5wcm9tbyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIHAge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4ucHJvbW8gc3Ryb25nIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5wcm9tbyBhIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwNzBjZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIGEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4ucHJvbW8gYTpob3ZlciwgLnByb21vIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnByb21vIGFbaHJlZio9XCJwZGZcIl0ge1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb21vIGFbaHJlZio9XCJwZGZcIl06OmFmdGVyIHtcbiAgcmlnaHQ6IC0ycHg7XG4gIHRvcDogMDtcbn1cblxuLnByb21vIGFbaHJlZio9XCJwZGZcIl06OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvLS9tZWRpYS9Qcm9qZWN0L1RUQy9EZXZQcm90by9JY29ucy9wZGYtcmVkLnN2Zyk7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDIzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1zaXplOiAyM3B4IDI1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG59XG5cbi5wcm9tbyBhW2hyZWYqPVwieGxzXCJdIHtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9tbyBhW2hyZWYqPVwieGxzXCJdOjphZnRlciB7XG4gIHJpZ2h0OiAtMnB4O1xuICB0b3A6IDA7XG59XG5cbi5wcm9tbyBhW2hyZWYqPVwieGxzXCJdOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLnhsc1wiO1xufVxuXG4ucHJvbW8gYVtocmVmKj1cInBwdFwiXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvbW8gYVtocmVmKj1cInBwdFwiXTo6YWZ0ZXIge1xuICByaWdodDogLTJweDtcbiAgdG9wOiAwO1xufVxuXG4ucHJvbW8gYVtocmVmKj1cInBwdFwiXTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5wcHRcIjtcbn1cblxuLnByb21vIGFbaHJlZio9XCJkb2NcIl0ge1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb21vIGFbaHJlZio9XCJkb2NcIl06OmFmdGVyIHtcbiAgcmlnaHQ6IC0ycHg7XG4gIHRvcDogMDtcbn1cblxuLnByb21vIGFbaHJlZio9XCJkb2NcIl06OmFmdGVyIHtcbiAgY29udGVudDogXCIuZG9jXCI7XG59XG5cbi5wcm9tbyBibG9ja3F1b3RlIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBjb2xvcjogI2RhMjUxZDtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNkYTI1MWQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8gYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLnByb21vIHRhYmxlIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkMmQyZDI7XG59XG5cbi5wcm9tbyB0YWJsZSwgLnByb21vIHRhYmxlIHRyLCAucHJvbW8gdGFibGUgdGgsIC5wcm9tbyB0YWJsZSB0ZCB7XG4gIGJvcmRlcjogc29saWQgMnB4ICNkMmQyZDI7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5wcm9tbyB0YWJsZSB0ciwgLnByb21vIHRhYmxlIHRoLCAucHJvbW8gdGFibGUgdGQge1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5wcm9tbyB0YWJsZSBjYXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5wcm9tbyB0YWJsZSB0ciB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnByb21vIHRhYmxlIHRoLCAucHJvbW8gdGFibGUgdGQge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnByb21vIHRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDdweDtcbn1cblxuLnByb21vIHRhYmxlIHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5wcm9tbyB0YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4ucHJvbW8gdWwge1xuICBtYXJnaW4tbGVmdDogMjRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4ucHJvbW8gdWwgbGkge1xuICBwYWRkaW5nOiA1cHggMCA1cHggMDtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIHVsIGxpIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIH1cbn1cblxuLnByb21vIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLnByb21vIG9sIGxpIHtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDA7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9tbyBvbCBsaSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjI1cHgpIHtcbiAgLnByb21vIGJsb2NrcXVvdGUge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8gdGFibGUgdGgsIC5wcm9tbyB0YWJsZSB0ZCB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5wcm9tbyBoMy51LXR5cGUtLWQzIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMi4zcmVtO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIGgzLnUtdHlwZS0tZDMge1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB9XG59XG5cbi5wcm9tbyBoMi5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb21vIGgyLmMtaG9tZS1wcm9tb19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgfVxufVxuXG4ucHJvbW8gdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnByb21vLmFic29sdXRlLWJvdHRvbS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvbW8uYWJzb2x1dGUtYm90dG9tLWxpbmsgLmZpZWxkLXByb21vbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICByaWdodDogMTBweDtcbn1cblxuLnUtdHlwZS0tbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4udS10eXBlLS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnUtdHlwZS0tbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnUtdHlwZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIGJyZWFrcG9pbnRzICovXG4ucHJvbW8ucHJvbW8taGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvbW8ucHJvbW8taGVyby5wcm9tby1oZXJvLWhhbGYge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAucHJvbW8ucHJvbW8taGVyby5wcm9tby1oZXJvLWhhbGYge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5wcm9tby5wcm9tby1oZXJvIC5maWVsZC1wcm9tb3RleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5wcm9tby5wcm9tby1oZXJvIC5maWVsZC1wcm9tb3RleHQgPiBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAucHJvbW8ucHJvbW8taGVybyAuZmllbGQtcHJvbW90ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnByb21vLnByb21vLWhlcm8gLmZpZWxkLXByb21vdGV4dCBoMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICB9XG4gIC5wcm9tby5wcm9tby1oZXJvIC5maWVsZC1wcm9tb3RleHQgaDIsIC5wcm9tby5wcm9tby1oZXJvIC5maWVsZC1wcm9tb3RleHQgaDMsIC5wcm9tby5wcm9tby1oZXJvIC5maWVsZC1wcm9tb3RleHQgaDQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuLnUtdHlwZS0tbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4udS10eXBlLS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnUtdHlwZS0tbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnUtdHlwZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIGJyZWFrcG9pbnRzICovXG4ucHJvbW8tc2hhZG93IHtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXRvcC13aWR0aDogM3B4O1xuICBib3JkZXItdG9wLWNvbG9yOiAjODlDNkNDO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvbW8tc2hhZG93LnByb21vIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wcm9tby1zaGFkb3cgPiAuY29tcG9uZW50LWNvbnRlbnQge1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW46IDAgMCAzMHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLnByb21vLXNoYWRvdyA+IC5jb21wb25lbnQtY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDEwcHggMzBweCAxMHB4O1xuICB9XG59XG5cbi5wcm9tby1zaGFkb3cgPiAuY29tcG9uZW50LWNvbnRlbnQ6YmVmb3JlLCAucHJvbW8tc2hhZG93ID4gLmNvbXBvbmVudC1jb250ZW50OmFmdGVyIHtcbiAgb3BhY2l0eTogMC43O1xuICBib3gtc2hhZG93OiAwIDE3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMjAlO1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbiAgd2lkdGg6IDQ3JTtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvbW8tc2hhZG93ID4gLmNvbXBvbmVudC1jb250ZW50OmJlZm9yZSB7XG4gIGxlZnQ6IDIlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG59XG5cbi5wcm9tby1zaGFkb3cgPiAuY29tcG9uZW50LWNvbnRlbnQ6YWZ0ZXIge1xuICByaWdodDogMiU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xufVxuXG4uYy1wcm9tby0yY29sIGltZyB7XG4gIG1heC13aWR0aDogNTAwcHg7XG59XG5cbi5jLXByb21vLTJjb2wgLmZpZWxkLXByb21vaWNvbiB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4uYy1wcm9tby0yY29sID4gLmNvbXBvbmVudC1jb250ZW50IHtcbiAgcGFkZGluZzogNjRweCAzMnB4O1xufVxuXG4uYy1ob21lLXByb21vIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1ob21lLXByb21vX19pbWFnZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jLWhvbWUtcHJvbW9fX3RpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4IDE2cHggMTZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLXByb21vLTJjb2wge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmMtcHJvbW8tMmNvbCA+IC5jb21wb25lbnQtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDExODdweDtcbiAgICBwYWRkaW5nOiAxMjhweCAzMnB4O1xuICB9XG4gIC5jLXByb21vLTJjb2wgaW1nIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmMtcHJvbW9fX2xpbmtzIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAucHJvbW8uYy1wcm9tby1zdWJzY3JpYmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTI1MWQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMzJweCAxNnB4O1xuICB9XG4gIC5wcm9tby5jLXByb21vLXN1YnNjcmliZSBoMyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgLmMtaG9tZS1wcm9tb19fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTMycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIH1cbiAgLmMtaG9tZS1wcm9tb19fY29udGVudCA+IC5jb21wb25lbnQtY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jLWhvbWUtcHJvbW9fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA2NHB4O1xuICAgIGJvdHRvbTogMzJweDtcbiAgICByaWdodDogMDtcbiAgfVxuICAucHJvbW8gLmMtaG9tZS1wcm9tb19fdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuYy1wcm9tby1zdWJzY3JpYmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgLmMtcHJvbW8tc3Vic2NyaWJlID4gLmNvbXBvbmVudC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIH1cbiAgLmMtcHJvbW8tc3Vic2NyaWJlID4gLmNvbXBvbmVudC1jb250ZW50IC51LXR5cGUtLWJvZHkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8uYy1wcm9tby1zdWJzY3JpYmUgPiAuY29tcG9uZW50LWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEvMTIqMTAwJSArIDZweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMy8yNCoxMDAlICsgNnB4KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjI1cHgpIHtcbiAgLnByb21vLmMtcHJvbW8tc3Vic2NyaWJlID4gLmNvbXBvbmVudC1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyLzEyKjEwMCUgKyA2cHgpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDMvMTIqMTAwJSArIDZweCkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gVXNlIGNvbG9yIGZ1bmN0aW9ucyBmb3IgVFRDXHJcbi8vIE5hbWVzIHRha2VuIGZyb20gaHRtbGNzc2NvbG9yLmNvbSBpZiBub3QgZGVzY3JpcHRpdmUgZW5vdWdoIGZyb20gemVwbGluXHJcbiRjb2xvcnM6IChcclxuICB3aGl0ZTogI2ZmZmZmZixcclxuICB3aGl0ZS1zbW9rZTogI2YzZjNmMyxcclxuICBjaGVycnktcmVkOiAjZGEyNTFkLFxyXG4gIHNjYXJsZXQ6Izc0MDAwMCxcclxuICBjYXJtaW5lOiAjYTMwMDFjLFxyXG4gIGNlcnVsZWFuOiMwMDcwY2QsXHJcbiAgb2NlYW4tYmx1ZTogIzA2NTZhNSxcclxuICBjZXJ1bGVhbi10d286ICMwMDlhZGUsXHJcbiAgZ29sZGVuLXllbGxvdzogI2ZmYzYyNyxcclxuICB3YXJtLWdyZXk6ICM3Njc2NzYsXHJcbiAgZ3JleTI5OiAjNGE0YTRhLFxyXG4gIGdyZXk3MDogI2IzYjNiMyxcclxuICBkdXN0eS1ncmV5OiAjZWRlZGVkLFxyXG4gIHdhcm0tZ3JleS0yOiAjOTc5Nzk3LFxyXG4gIGRpbS1ncmV5OiAjNjk2OTY5LFxyXG4gIHdoaXRlLXR3bzogI2Q1ZDVkNSxcclxuICB3aGl0ZS10aHJlZTogI2QyZDJkMixcclxuICBnYWluc2Jvcm86ICNkOGQ4ZDgsXHJcbiAgbmVybzogIzFlMWUxZSxcclxuICBnb2xkZW4tcG9wcHk6ICNmOGMzMDAsXHJcbiAgZXhwcmVzcy1ncmVlbjogIzAwOTIzZixcclxuICBuaWdodC1ibHVlOiAjMDI0MTgyLFxyXG4gIGNvbW11bml0eS1ncmV5OiAjODA4MDgwLFxyXG4gIG1hdXZlLXRhdXBlOiAjOTc1ODZCLFxyXG4gIGJsYWNrOiAjMDAwMDAwLFxyXG4pO1xyXG5cclxuJGZ1bmN0aW9uYWwtY29sb3JzOiAoXHJcbiAgcHJpbWFyeS1jb250cmFzdDogY29sb3Iod2hpdGUpLFxyXG4gIHByaW1hcnktY29udHJhc3QtZGFyazogY29sb3Iod2hpdGUtc21va2UpLFxyXG4gIHByaW1hcnk6IGNvbG9yKGNoZXJyeS1yZWQpLFxyXG4gIHByaW1hcnktZGFyazogY29sb3Ioc2NhcmxldCksXHJcbiAgcHJpbWFyeS1kYXJrZXI6IGNvbG9yKGNhcm1pbmUpLFxyXG4gIHNlY29uZGFyeTogY29sb3IoY2VydWxlYW4pLFxyXG4gIHNlY29uZGFyeS1kYXJrOiBjb2xvcihvY2Vhbi1ibHVlKSxcclxuICBzZWNvbmRhcnktbGlnaHQ6IGNvbG9yKGNlcnVsZWFuLXR3byksXHJcbiAgYWNjZW50LXllbGxvdzogY29sb3IoZ29sZGVuLXllbGxvdyksXHJcbiAgZ3JleTogY29sb3IoZ3JleTI5KSxcclxuICBncmV5LW1lbnU6IGNvbG9yKGR1c3R5LWdyZXkpLFxyXG4gIGdyZXktYm9yZGVyOiBjb2xvcih3YXJtLWdyZXkpLFxyXG4gIGdyZXktYm9yZGVyLTI6IGNvbG9yKHdoaXRlLXRocmVlKSxcclxuICBncmV5LXBsYWNlaG9sZGVyOiBjb2xvcihncmV5NzApLFxyXG4gIGdyZXktMjogY29sb3Iod2FybS1ncmV5LTIpLFxyXG4gIGNhcm91c2VsLWRvdHM6IGNvbG9yKGRpbS1ncmV5KSxcclxuICBncmV5LWxpZ2h0OiBjb2xvcihnYWluc2Jvcm8pLFxyXG4gIHRhYi0tZGlzYWJsZWQ6IGNvbG9yKHdoaXRlLXR3byksXHJcbiAgYmFja2Ryb3A6IHJnYmEoMCwwLDAsMC43KSxcclxuICBibGFjazogY29sb3IoYmxhY2spLFxyXG4gIHNpdGUtd2lkZS1hbGVydDogY29sb3IoZ29sZGVuLXBvcHB5KSxcclxuICB2aXNpdGVkLS1saW5rOiBjb2xvcihtYXV2ZS10YXVwZSksXHJcbik7XHJcblxyXG4vL0JhY2tncm91bmRzIGNvbG9yc1xyXG4kYmctdHJhbnNwYXJlbnQ6dHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRiZy1iYXNpYy1jb2xvcjojRkZGRkZGICFkZWZhdWx0O1xyXG4kYmctYmFzaWMtY29sb3ItYWN0aXZlOiAjY2NjY2NjICFkZWZhdWx0O1xyXG4kYmctbGlnaHQtZ3JheTogI2Y3ZjdmNyAhZGVmYXVsdDtcclxuJGJnLWxpZ2h0LWdyYXktYWN0aXZlOiAjZGFkYWRhICFkZWZhdWx0O1xyXG4kYmctYmx1ZTojODlDNkNDO1xyXG4kYmctYmx1ZS1hY3RpdmU6ICMxNTkwOWMgIWRlZmF1bHQ7XHJcbiRiZy1zdWJtZW51OiNlZGViZWIgIWRlZmF1bHQ7XHJcbiRiZy1zdWJtZW51LWFjdGl2ZTojZjZmNmY2ICFkZWZhdWx0O1xyXG4kYmctYmxhY2s6IzAwMDAwMDtcclxuJGJnLWJsYWNrLWFjdGl2ZTojM2QzZDNkO1xyXG4vL1RleHQgY29sb3JzXHJcbiR0ZXh0LXdoaXRlOiNmZmYgIWRlZmF1bHQ7XHJcbiR0ZXh0LWhlYWRpbmctY29sb3I6ICMyMjIgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJhc2ljOiM3NDc0NzQgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJhc2ljLWFjdGl2ZTojODc4Nzg3ICFkZWZhdWx0O1xyXG4kdGV4dC1ibHVlOiM4OUM2Q0MgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJsdWUtYWN0aXZlOiMxNTkwOWMgIWRlZmF1bHQ7XHJcbiR0ZXh0LXN1Ym1lbnUtYWN0aXZlOiAjMjIyICFkZWZhdWx0O1xyXG4kdGV4dC1kaXNhYmxlZDogI2FhYSAhZGVmYXVsdDtcclxuJHRleHQtYmxhY2s6ICMwMDAwMDAgIWRlZmF1bHQ7XHJcbi8vQm9yZGVyIGNvbG9yc1xyXG4kYm9yZGVyLWdyYXk6ICNkMmQyZDIgIWRlZmF1bHQ7XHJcbiRib3JkZXItd2hpdGU6ICNmZmZmZmYgIWRlZmF1bHQ7XHJcbiRib3JkZXItYmFzaWMtY29sb3I6ICM4OUM2Q0MgIWRlZmF1bHQ7XHJcbiRib3JkZXItYmFzaWMtYWN0aXZlOiMxNTkwOWMgIWRlZmF1bHQ7XHJcblxyXG4vL1N0eWxlcyBmb3IgZWFjaCBjb21wb25lbnQgc2VwYXJhdGVseVxyXG4vL0FjY29yZGlvblxyXG4kYWNjb3JkaW9uLWhlYWRlci1iZzogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24taGVhZGVyLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24tdG9nZ2xlZC1iZzogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24taGVhZGVyLWJvcmRlcjogJGJvcmRlci1ncmF5O1xyXG4vL0JyZWFkY3J1bWJcclxuJGJyZWFkY3J1bWItZHJvcGRvd24tYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kYnJlYWRjcnVtYi1kcm9wZG93bi1iZy1hY3RpdmU6JGJnLWJsdWU7XHJcbiRicmVhZGNydW1iLWRyb3Bkb3duLXRleHQtYWN0aXZlOiR0ZXh0LXdoaXRlO1xyXG4kYnJlYWRjcnVtYi1iZzp0cmFuc3BhcmVudDtcclxuJGJyZWFkY3J1bWItY29sb3I6JHRleHQtYmFzaWM7XHJcbiRicmVhZGNydW1iLWNvbG9yLWFjdGl2ZTokdGV4dC1ibHVlLWFjdGl2ZTtcclxuLy9CdXR0b25zIGNvbG9yc1xyXG4kYnRuLWdyZWVuLWxpZ2h0OiAjYTBjZTRlO1xyXG4kYnRuLWdyZWVuOiAjOTJiZTQzO1xyXG4kYnRuLXJlZC1hY3RpdmU6ICNjMzRlMzA7XHJcbiRidG4tcmVkOiAjYmM0NTI2O1xyXG4vL0Nhcm91c2VsXHJcbiRjYXJvdXNlbC1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRjYXJvdXNlbC1uYXYtYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGNhcm91c2VsLW5hdi1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9Db250YWluZXIgY29tcG9uZW50XHJcbiRjb250YWluZXItdGl0bGUtcm93LWJnOiAkYmctbGlnaHQtZ3JheTtcclxuLy9FdmVudCBMaXN0XHJcbiRldmVudC1saXN0LWJnOnRyYW5zcGFyZW50O1xyXG4kZXZlbnQtbGlzdC1pdGVtLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGV2ZW50LWxpc3QtaXRlbS1jb2xvcjokdGV4dC1iYXNpYztcclxuJGV2ZW50LWxpc3QtdGl0bGUtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vQ2FsZW5kYXJcclxuJGNhbGVuZGFyLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGNhbGVuZGFyLWhlYWRlci1iZzokYmctYmFzaWMtY29sb3ItYWN0aXZlO1xyXG4kY2FsZW5kYXItZGF5LWNvbG9yLWFjdGl2ZTokdGV4dC13aGl0ZTtcclxuLy9GZWVkXHJcbiRmZWVkLWJnOnRyYW5zcGFyZW50O1xyXG4kZmVlZC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4vL0ZpZWxkIEVkaXRvclxyXG4kZmllbGQtZWRpdG9yLWJnOnRyYW5zcGFyZW50O1xyXG4kZmllbGQtZWRpdG9yLXRhYmxlLWJvcmRlcjokYmctbGlnaHQtZ3JheTtcclxuJGZpZWxkLWVkaXRvci10ZXh0LWhlYWRlcjokdGV4dC1ibGFjaztcclxuJGZpZWxkLWVkaXRvci10ZXh0OiR0ZXh0LWJhc2ljO1xyXG4vL0ZpbGUgTGlzdFxyXG4kZmlsZS1saXN0LWJnOnRyYW5zcGFyZW50O1xyXG4kZmlsZS1saXN0LWl0ZW0tYmc6dHJhbnNwYXJlbnQ7XHJcbiRmaWxlLWxpc3QtdGl0bGUtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRmaWxlLWxpc3QtdGl0bGUtYm9yZGVyOnRyYW5zcGFyZW50O1xyXG4kZmlsZS1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRmaWxlLWxpc3QtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kZmlsZS1saXN0LWl0ZW0tc2l6ZTokdGV4dC1iYXNpYztcclxuJGZpbGUtbGlzdC1pdGVtLWJvcmVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vRmxpcFxyXG4kZmxpcC1iZzp0cmFuc3BhcmVudDtcclxuJGZsaXAtc2xpZGVzLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuLy9HYWxsZXJ5XHJcbiRnYWxsZXJpYS1jb250YWluZXItYmc6JGJnLWJsYWNrO1xyXG4kZ2FsbGVyeS1pbmZvLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGdhbGxlcnktaW5mby1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kZ2FsbGVyeS1pbmZvLXRleHQ6JHRleHQtYmFzaWM7XHJcbiRnYWxsZXJ5LW5hdi1hY3RpdmU6JHRleHQtd2hpdGU7XHJcbiRnYWxsZXJ5LW5hdjokdGV4dC1iYXNpYztcclxuJGdhbGxlcnktY291bnRlci1jb2xvcjokdGV4dC13aGl0ZTtcclxuLy9MYW5ndWFnZSBzZWxlY3RvclxyXG4kbGFuZy1zZWxlY3Rvci1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRsYW5nLXNlbGVjdG9yLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbGFuZy1zZWxlY3Rvci1pdGVtLWJnLWFjdGl2ZTokYmctYmFzaWMtY29sb3I7XHJcbiRsYW5nLXNlbGVjdG9yLWl0ZW0tYm9yZGVyOiRib3JkZXItd2hpdGU7XHJcbiRsYW5nLXNlbGVjdG9yLWl0ZW0tYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuLy9TaXRlIHNlbGVjdG9yXHJcbiRzaXRlLXNlbGVjdG9yLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4vL0xpbmsgTGlzdFxyXG4kbGluay1saXN0LWJnOnRyYW5zcGFyZW50O1xyXG4kbGluay1saXN0LWhlYWRlci1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJGxpbmstbGlzdC1pdGVtcy1iZzp0cmFuc3BhcmVudDtcclxuJGxpbmstbGlzdC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4kbGluay1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRsaW5rLWxpc3QtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kbGluay1saXN0LWl0ZW0tYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL0xvZ2luXHJcbiRsb2dpbi1iZzp0cmFuc3BhcmVudDtcclxuLy9Mb2dvdXRcclxuJGxvZ291dC1iZzp0cmFuc3BhcmVudDtcclxuJGxvZ291dC1saW5rLXRleHQtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRsb2dvdXQtbGluay10ZXh0LWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRsb2dvdXQtbGluay1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9NYXBcclxuJG1hcC1iZzp0cmFuc3BhcmVudDtcclxuJG1hcC1ib3JkZXI6bm9uZTtcclxuLy9QYWdlIExpc3RcclxuJHBhZ2UtbGlzdC1iZzokYmctdHJhbnNwYXJlbnQ7XHJcbiRwYWdlLWxpc3QtaXRlbS1iZzokYmctdHJhbnNwYXJlbnQ7XHJcbiRwYWdlLWxpc3QtaXRlbS10aXRsZS10ZXh0OiR0ZXh0LWJsYWNrO1xyXG4kcGFnZS1saXN0LWl0ZW0tYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vUGFnaW5hdGlvblxyXG4kbGlzdC1wYWdpbmF0aW9uLWJnOnRyYW5zcGFyZW50O1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1iZzokYmctYmx1ZTtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6JHRleHQtd2hpdGU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiR0ZXh0LWJsdWU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWJnOiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4vL1BsYXkgbGlzdCBcclxuJHBsYXktbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJHBsYXktbGlzdC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4kcGxheS1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRwbGF5LWxpc3QtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtd2hpdGU7XHJcbiRwbGF5LWxpc3QtbmF2LWFjdGl2ZTokdGV4dC1ibHVlO1xyXG4kcGxheS1saXN0LWl0ZW0tYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbiRwbGF5LWxpc3QtaXRlbS1hY3RpdmUtYmc6JGJnLWJsdWU7XHJcbiRwbGF5LWxpc3QtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRwbGF5LWxpc3QtdGl0bGUtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vUHJvbW9cclxuJHByb21vLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHByb21vLWJnLWhlcm86cmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4kcHJvbW8tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJHByb21vLWhlcm8tdGV4dC1jb2xvcjokdGV4dC13aGl0ZTtcclxuJHByb21vLXNoYWRvdy1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9SaWNoIFRleHQgQ29udGVudFxyXG4kcmljaC1jb250ZW50LWJnOnRyYW5zcGFyZW50O1xyXG4kcmljaC1jb250ZW50LWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kcmljaC1jb250ZW50LWJvcmRlcjpub25lO1xyXG4vL1NlYXJjaFxyXG4kc2VhcmNoLWZpbHRlcjokdGV4dC1iYXNpYztcclxuJHNlYXJjaC1maWx0ZXItYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vTWVudSBjb2xvcnNcclxuJG1lbnUtaG92ZXItY29sb3I6IzFiODA5ZTtcclxuJG1lbnUtYWN0aXZlLWNvbG9yOiMxNzZmODk7XHJcbi8vTmF2aWdhdGlvblxyXG4kbmF2LWJnOnRyYW5zcGFyZW50O1xyXG4kbmF2LWNvbG9yLXJvb3Q6JHRleHQtYmFzaWM7XHJcbiRuYXYtY29sb3Itcm9vdC1hY3RpdmU6JHRleHQtYmFzaWM7XHJcbiRuYXYtYm9yZGVyLXJvb3Q6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG5hdi1ib3JkZXItcm9vdC1hY3RpdmU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG5hdi1jb2xvci1zdWJtZW51OiR0ZXh0LXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWNvbG9yLXN1Ym1lbnUtYWN0aXZlOiR0ZXh0LXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWJnLXJvb3Q6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWJnLXN1Ym1lbnU6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWJnLXN1Ym1lbnUtYWN0aXZlOiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1ib3JkZXItc3VibWVudTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbmF2LXN1Ym1lbnUtaXRlbS1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kbmF2LXN1Ym1lbnUtYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1NvY2lhbCBNZWRpYSBTaGFyZVxyXG4kc29jaWFsLW1lZGlhLXNoYXJlLWJnOnRyYW5zcGFyZW50O1xyXG4vL1RhYnNcclxuJHRhYi1oZWFkaW5nLWJnOiRiZy1saWdodC1ncmF5O1xyXG4kdGFiLWhlYWRpbmctYWN0aXZlLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHRhYi1oZWFkaW5nLWNvbG9yOiR0ZXh0LWhlYWRpbmctY29sb3I7XHJcbiR0YWItaGVhZGluZy1hY3RpdmUtY29sb3I6JHRleHQtYmxhY2s7XHJcbiR0YWItY29udGFpbmVyLWJnOnRyYW5zcGFyZW50O1xyXG4kdGFiLWNvbnRhaW5lci1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9UaXRsZVxyXG4kdGl0bGUtYmc6dHJhbnNwYXJlbnQ7XHJcbiR0aXRsZS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHRpdGxlLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbi8vVG9nZ2xlXHJcbiR0b2dnbGUtaGVhZGVyLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHRvZ2dsZS1jb250ZW50LWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHRvZ2dsZS1zaG93LWNvbG9yOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuLy9TZWFyY2ggQ29tcG9uZW50c1xyXG4kc2VhcmNoLWJ0bi1iZzp0cmFuc3BhcmVudDtcclxuJHNlYXJjaC1idG4tYWN0aXZlLWJnOiNlMGUwZTA7XHJcbiRzZWFyY2gtYnRuLWFjdGl2ZS1ib3JkZXI6I2FkYWRhZDtcclxuLy9JbWFnZSBjb21wb25lbnRcclxuJGltYWdlLWNhcHRpb24tY29sb3I6JHRleHQtYmFzaWM7XHJcbi8vTWVkaWEgTGluayBDb21wb25lbnRcclxuJG1lZGlhLWxpbmstYmc6dHJhbnNwYXJlbnQ7XHJcbiRtZWRpYS1saW5rLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbWVkaWEtbGluay1jb2xvcjokdGV4dC1iYXNpYztcclxuJG1lZGlhLWxpbmstY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuLy9UYWcgQ29tcG9uZW50XHJcbiR0YWctY29sb3I6JHRleHQtYmFzaWM7XHJcbiR0YWctY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJHRhZy1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4kdGFnLWxpbmstYmcgOiRiZy1ibHVlO1xyXG4kdGFnLWxpbmstYmctYWN0aXZlIDokYmctYmx1ZS1hY3RpdmU7XHJcbiR0YWctbGluay1jb2xvciA6JHRleHQtd2hpdGU7XHJcbi8vTGluayBDb21wb25lbnRcclxuJGxpbmstYmc6dHJhbnNwYXJlbnQ7XHJcbiRsaW5rLXRleHQtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRsaW5rLXRleHQtY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGxpbmstYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vT3ZlcmxheVxyXG4kb3ZlcmxheS1iZzokYmctbGlnaHQtZ3JheTtcclxuLy9TZWFyY2ggQ29tcG9uZW50c1xyXG4kc2VhcmNoLXRpdGxlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kc2VhcmNoLXRpdGxlLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kc2VhcmNoLWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRzZWFyY2gtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWM7XHJcbiRzZWFyY2gtaXRlbS1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJHNlYXJjaC1pdGVtLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbi8vXHJcbiRzZWFyY2gtZmlsdGVyLXJhZGl1cy1hY3RpdmU6JHRleHQtYmx1ZTtcclxuJHNlYXJjaC1maWx0ZXItcmFkaXVzLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRzZWFyY2gtZmlsdGVyLXJhZGl1cy1iZzokYm9yZGVyLWdyYXk7XHJcbi8vXHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1iZy1hY3RpdmU6JGJnLWJsdWU7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1idG4tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJHNlYXJjaC1maWx0ZXItc2xpZGVyLWJ0bi1iZzokYmctbGlnaHQtZ3JheTtcclxuJHNlYXJjaC1maWx0ZXItc2xpZGVyLWJ0bi1iZy1hY3RpdmU6JGJnLWxpZ2h0LWdyYXktYWN0aXZlO1xyXG4vL1NlcmFjaCBQYWdpbmF0aW9uXHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1iZzp0cmFuc3BhcmVudDtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWFjdGl2ZS1iZzokYmctYmx1ZTtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjokdGV4dC13aGl0ZTtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiR0ZXh0LWJsdWU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1ob3Zlci1iZzokYmctc3VibWVudS1hY3RpdmU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbi8vU2VhcmNoIHNlbGVjdG9yXHJcbiRzZXJhY2gtc2VsZWN0b3ItdmFyaWFudC1jb2xvci1hY3RpdmU6ICR0ZXh0LWJsdWUtYWN0aXZlO1xyXG4vL1R5cGVoZWFkXHJcbiR0dC1jb2xvcjokdGV4dC1iYXNpYztcclxuJHR0LWNvbG9yLWFjdGl2ZTokdGV4dC1ibHVlO1xyXG4kdHQtcHJpY2UtY29sb3I6JHRleHQtYmx1ZTtcclxuJHR0LWRyb3Bkb3duLWJnOiRiZy1saWdodC1ncmF5O1xyXG4kdHQtc3VnZ2VzdGlvbi1iZy1hY3RpdmU6JGJnLWxpZ2h0LWdyYXktYWN0aXZlO1xyXG4kdHQtZHJvcGRvd24tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuLy9WaWRlb1xyXG4kdmlkZW8tY29udHJvbC1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR2aWRlby10aW1lLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kdmlkZW8tdGltZS10b3RhbC1iZzokYmctYmxhY2s7XHJcbiR2aWRlby10aW1lLWhhbmRsZS1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kdmlkZW8tdGltZS1oYW5kbGUtYmc6JGJnLWJsYWNrO1xyXG4vL01haW5cclxuJHBhZ2UtYmc6ICRiZy1iYXNpYy1jb2xvcjtcclxuJHBhZ2UtYmctZWRpdG9yOm5vbmU7XHJcbiIsIiRzcGFjZTogOHB4ICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIHNwYWNlKCRzaXplOiAxKSB7XHJcbiAgQHJldHVybiAkc3BhY2UgKiAkc2l6ZTtcclxufVxyXG4iLCIkZXh0ZW5zaW9uczogcGRmIHhscyBwcHQgZG9jO1xyXG5cclxuQG1peGluIGxpbmsge1xyXG4gIEBpbmNsdWRlIHVpLXR5cG9ncmFwaHkobGluayk7XHJcbiAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGxpbmstLXJlZCB7XHJcbiAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeShib2R5KTtcclxuICBjb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGxpbmstLXJlZHNtIHtcclxuICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KGNhcHRpb24pO1xyXG4gIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGluay0tcGRmIHtcclxuICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KHBkZik7XHJcbiAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGxpbmstLWFycm93IHtcclxuICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KHBkZik7XHJcbiAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tbGVmdDogc3BhY2UoMSk7XHJcbiAgICBoZWlnaHQ6IHNwYWNlKDIuNSk7XHJcbiAgICB3aWR0aDogc3BhY2UoMi41KTtcclxuICAgIGJvdHRvbTogM3B4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvLS9tZWRpYS9Qcm9qZWN0L1RUQy9EZXZQcm90by9JY29ucy9hcnJvdy1iYWNrZ3JvdW5kLXJpZ2h0LW91dGxpbmUuc3ZnJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rLWV4dGVuc2lvbnMge1xyXG4gIEBlYWNoICRleHRlbnNpb24gaW4gJGV4dGVuc2lvbnMge1xyXG4gICAgJltocmVmKj1cIiN7JGV4dGVuc2lvbn1cIl0ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgwLjUpO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgcmlnaHQ6IC0ycHg7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRleHRlbnNpb24gPT0gcGRmIHtcclxuICAgICAgJltocmVmKj1cIiN7JGV4dGVuc2lvbn1cIl06OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLy0vbWVkaWEvUHJvamVjdC9UVEMvRGV2UHJvdG8vSWNvbnMvcGRmLXJlZC5zdmcpO1xyXG4gICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICB3aWR0aDogMjNweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyM3B4IDI1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICZbaHJlZio9XCIjeyRleHRlbnNpb259XCJdOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIuI3skZXh0ZW5zaW9ufVwiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iLCIkZm9udC1zbWFsbDoxMXB4O1xyXG4kZm9udC1ub3JtYWw6MTNweDtcclxuJGZvbnQtbWVkaXVtOjE2cHg7XHJcbiRmb250LWJpZzoyMHB4O1xyXG4kZm9udC1leHRyYWJpZzoyNHB4O1xyXG4vL05hdmlnYXRpb25cclxuJG5hdmlnYXRpb24tZm9udC1iYXNpYzoxOHB4O1xyXG4kbmF2aWdhdGlvbi1mb250LWJhc2ljLXN1Ym1lbnU6MTRweDtcclxuLy9UYWJzXHJcbiR0YWItZm9udC1oZWFkZXI6MTZweDtcclxuLy9BY2NvcmRpb25cclxuJGFjY29yZGlvbi1oZWFkZXI6MTZweDtcclxuLy9CcmVhZGNydW1iXHJcbiRicmVhZGNydW1iLWZvbnQ6MTVweDtcclxuLy8gTGluayBMaXN0XHJcbiRsaW5rLWxpc3QtdGl0bGUtZm9udDoxNXB4O1xyXG4iLCIvL21vZGRlZCB0byB1c2UgcHhcclxuXHJcbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxyXG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXHJcblxyXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcclxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcclxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgbW9kZVxyXG4vLy9cclxuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxyXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcclxuLy8vXHJcbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXHJcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyBvbGQtaWUuc2Nzc1xyXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcclxuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cclxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnJlYWtwb2ludCBsaXN0XHJcbi8vL1xyXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2VcclxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cclxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cclxuLy8vXHJcbi8vLyBAdHlwZSBNYXBcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtYnJlYWtwb2ludHM6IChcclxuICAgIG1vYmlsZTogIDMyMHB4LFxyXG4gICAgdGFibGV0OiAgNzQwcHgsXHJcbiAgICBkZXNrdG9wOiA5ODBweCxcclxuICAgIHdpZGU6ICAgIDEzMDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcclxuLy8vXHJcbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcclxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxyXG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXHJcbi8vLyAgLy9cclxuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcclxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcclxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XHJcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XHJcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XHJcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxyXG4vLy9cclxuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXHJcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xyXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXHJcbi8vL1xyXG4vLy8gQHR5cGUgbWFwXHJcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxyXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xyXG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxyXG4vLy8gQHJldHVybnMge051bWJlcn1cclxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcclxuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcclxuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcclxuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcclxuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcclxuICAgICAgICBAcmV0dXJuICRweDtcclxuICAgIH1cclxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XHJcbn1cclxuXHJcbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xyXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxyXG4vLy9cclxuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxyXG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXHJcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcclxuLy8vXHJcbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxyXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcclxuLy8vXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLmVsZW1lbnQge1xyXG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xyXG4vLy8gICAgICBjb2xvcjogcmVkO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuLy8vICAgICAgY29sb3I6IGJsdWU7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xyXG4vLy8gICAgICBjb2xvcjogZ3JlZW47XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xyXG4vLy8gICAgICBjb2xvcjogdGVhbDtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxyXG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xyXG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbkBtaXhpbiBtcShcclxuICAgICRmcm9tOiBmYWxzZSxcclxuICAgICR1bnRpbDogZmFsc2UsXHJcbiAgICAkYW5kOiBmYWxzZSxcclxuICAgICRlbXMtb246IGZhbHNlLFxyXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxyXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXHJcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXHJcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4pIHtcclxuICAgICRtaW4td2lkdGg6IDA7XHJcbiAgICAkbWF4LXdpZHRoOiAwO1xyXG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcclxuXHJcbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcclxuICAgIEBpZiAkZnJvbSB7XHJcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XHJcbiAgICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKCRmcm9tKSwgKCRmcm9tKSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKSwgbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXHJcbiAgICBAaWYgJHVudGlsIHtcclxuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XHJcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKCR1bnRpbCksKCR1bnRpbCkpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW0sIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSAtIDFweCk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xyXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cclxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XHJcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgJHRhcmdldC13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKSwgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcclxuXHJcbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcclxuICAgICAgICBAaWYgKFxyXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXHJcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgYW5kIChcclxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxyXG5cclxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcclxuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcclxuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gUXVpY2sgc29ydFxyXG4vLy9cclxuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcclxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxyXG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcclxuICAgICRsZXNzOiAgKCk7XHJcbiAgICAkZXF1YWw6ICgpO1xyXG4gICAgJGxhcmdlOiAoKTtcclxuXHJcbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xyXG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcclxuXHJcbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRsaXN0O1xyXG59XHJcblxyXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxyXG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxyXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcclxuICAgICRtYXAtc29ydGVkOiAoKTtcclxuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XHJcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcclxuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xyXG5cclxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcclxuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xyXG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XHJcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcclxuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XHJcblxyXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXHJcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXHJcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcclxufVxyXG5cclxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XHJcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XHJcbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XHJcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcclxuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXHJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXHJcbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxuLy8vXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcclxuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xyXG4gICAgYm9keTpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xyXG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xyXG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxyXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xyXG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcclxuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XHJcbn1cclxuIiwiLnByb21vLmFic29sdXRlLWJvdHRvbS1saW5rIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5maWVsZC1wcm9tb2xpbmsge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Fic3RyYWN0cy92YXJzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9hYnN0cmFjdHMvbWl4aW5zXCI7XHJcbi5wcm9tby5wcm9tby1oZXJvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICYucHJvbW8taGVyby1oYWxmIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oYWxsLW1vYmlsZSkge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpZWxkLXByb21vdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkcHJvbW8taGVyby10ZXh0LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcm9tby1iZy1oZXJvO1xyXG4gICAgICAgID5hIHtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhhbGwtbW9iaWxlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyLjQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyLCBoMywgaDQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIuMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Fic3RyYWN0cy92YXJzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi9hYnN0cmFjdHMvbWl4aW5zXCI7XHJcbi5wcm9tby1zaGFkb3cge1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcHJvbW8tc2hhZG93LWJvcmRlcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYucHJvbW8ge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgPi5jb21wb25lbnQtY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhhbGwtbW9iaWxlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDMwcHggMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTdweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNDclO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbGVmdDogMiU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== */
