#hero .promo {
  grid-row: 1/-1;
  height: 100%;
  z-index: 1;
  position: relative;
  text-align: center;
  padding: 0;
  overflow-x: clip;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#hero .promo .content {
  padding: var(--spacer1) var(--gap);
}
@media (min-width: 901px) {
  #hero .promo .content {
    padding: var(--gap);
  }
}
#hero .promo .content > svg {
  height: 60px;
  width: 60px;
  margin: 0 auto var(--gap);
  color: #DF3035;
}
#hero .promo:last-of-type {
  grid-column: 1;
  grid-row: 2;
  overflow: visible;
}
#hero .promo:last-of-type picture,
#hero .promo:last-of-type background-video {
  left: 0;
}
#hero .promo picture,
#hero .promo background-video {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  height: 100%;
  width: 100%;
  min-width: 50vw;
}
#hero .promo picture video,
#hero .promo picture img,
#hero .promo background-video video,
#hero .promo background-video img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 769px) {
  #hero .promo {
    grid-row: 1;
    grid-column: 1;
    overflow-x: visible;
    min-height: 550px;
  }
  #hero .promo .text h2 {
    font-size: 48px;
    padding: 0 var(--gap);
  }
  #hero .promo.right {
    grid-column: 2;
    grid-row: 1;
  }
}
@media (min-width: 1201px) {
  #hero .promo .content {
    margin: 0 auto;
    padding: var(--spacer1);
    max-width: 550px;
  }
}
#hero .promo picture:before {
  content: "";
  top: 0;
  right: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 10;
}
#hero .promo.blue picture:before {
  background-color: rgba(41, 43, 104, 0.8);
}
#hero .promo.black picture:before {
  background-color: rgba(0, 0, 0, 0.6);
}
#hero .promo.red picture:before {
  background-color: rgba(223, 48, 53, 0.8);
}
#hero .promo.none header span {
  background-color: #76bb28;
}
#hero .promo tag-line {
  letter-spacing: 3px;
  font-size: 30px;
  flex-wrap: wrap;
}
#hero .promo tag-line span img {
  margin-right: var(--gap);
}
@media (min-width: 1121px) {
  #hero .promo tag-line {
    font-size: 24px;
  }
  #hero .promo tag-line span img {
    margin-right: calc(var(--gap) * 0.5);
    height: 24px;
    width: 24px;
  }
}
@media (min-width: 1501px) {
  #hero .promo tag-line {
    font-size: 30px;
  }
  #hero .promo tag-line span img {
    margin-right: var(--gap);
    height: 35px;
    width: 35px;
  }
}
#hero .promo header {
  --promo-banner-scale: 0.7;
  position: absolute;
  top: 0;
  right: -250px;
  transform: translate(-40px, 40px) rotate(45deg) scale(var(--promo-banner-scale, 1));
  transform-origin: 50% 0%;
  width: 500px;
}
#hero .promo header h2 {
  text-align: center;
  color: white;
  text-transform: uppercase;
}
#hero .promo header h2 span {
  display: flex;
  flex-direction: column;
  background-color: #292B68;
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 0.5em;
  padding: 0.4em 0;
}
#hero .promo header h2 span strong {
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#hero .promo header h2 em {
  display: block;
  font-style: normal;
  background-color: #DF3035;
  font-size: 0.8em;
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0.4em 0;
}
#hero .promo .logo {
  margin-top: 0.6em;
  max-height: 60px;
  height: 100%;
  display: inline-block;
  position: relative;
  margin-bottom: var(--gutter0);
}
#hero .promo .logo img {
  display: block;
  height: 100%;
}
#hero .promo .logo img[src*=tagline] {
  margin-top: 0.4em;
}
#hero .promo svg.uk-flag {
  height: 0.8em;
  width: auto;
  margin-right: calc(var(--gap) * 0.5);
}
#hero .promo ul {
  display: grid;
  grid-gap: var(--gap);
  margin-top: var(--gutter1);
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 1500px) {
  #hero .promo ul {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  }
}
#hero .promo ul li {
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  position: relative;
  flex-direction: column;
  place-items: center;
  border-radius: 5px;
  color: white;
  padding: calc(var(--gap) * 0.5);
  border: 1px solid #6A6A6A;
  max-width: 100px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
#hero .promo ul li::before {
  content: attr(data-index);
  color: #DF3035;
  margin-bottom: -0.5em;
  display: flex;
}
#hero .promo ul li, #hero .promo ul li::before {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition-delay: 0.2s;
}
#hero .promo ul li abbr {
  text-decoration: none;
  font-size: 2em;
  display: block;
}
#hero .promo ul li p {
  position: absolute;
  padding: inherit;
  background-color: #6A6A6A;
  font-size: 0.8em;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
#hero .promo .cta {
  margin-top: var(--gutter1);
}
#hero .promo .cta a:not(.button) {
  color: #DF3035;
  margin-left: var(--gutter0);
}
@media (hover: hover) {
  #hero .promo .cta a:not(.button):hover {
    color: white;
  }
}
@media (min-width: 1681px) {
  #hero .promo .promo {
    padding-left: calc(var(--computed-gutter) + var(--gutter3));
  }
}
#hero .promo.esg-promo {
  overflow: visible;
}
#hero .promo.esg-promo tag-line span {
  color: var(--primary, #131f6b);
}
#hero .promo.esg-promo .text {
  color: #FFFFFF;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcHJvbW9zLnNjc3MiLCJjb21wb25lbnRzL3Byb21vcy5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9oZWxwZXJzL19icmVhay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY3JlYXRlL191bml0cy5zY3NzIiwiX3ZhcmlhYmxlcy9jb2xvdXJzLnNjc3MiLCJfdmFyaWFibGVzL2ZvbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jb2xsZWN0aW9ucy9zdHlsaW5nL19ob3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY3JlYXRlL19wYWxldHRlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSxjQUFBO0VBQ0EsWUFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FDREY7QURHRTtFQUNFLGtDQUFBO0FDREo7QUNYRTtFRldBO0lBR0ksbUJHZ0NFO0VGL0JOO0FBQ0Y7QURBSTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7RUFDQSxjSURJO0FIR1Y7QURFRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QUNBSjtBRENJOztFQUVFLE9BQUE7QUNDTjtBREdFOztFQUVFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0FDREo7QURFSTs7OztFQUVFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQ0VOO0FDakRFO0VGSEY7SUF1REksV0FB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Q1hSO0FEZ0JFO0VBQ0UsMEJHNUlPO0FGOEhYO0FEZUk7RUFDRSxjSTFQSTtFSjJQSiwyQkdoSks7QUZtSVg7QUtqUUU7RUFDRTtJTitRSSxZQUFBO0VDWE47QUFDRjtBQ3RRRTtFRnNSRTtJQUNFLDJEQUFBO0VDYko7QUFDRjtBRGdCRTtFQUNFLGlCQUFBO0FDZEo7QURnQk07RUFDRSw4Qkk3UEs7QUgrT2I7QURrQkk7RUFDRSxjT3RQVTtBTnNPaEIiLCJmaWxlIjoiY29tcG9uZW50cy9wcm9tb3MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbiNoZXJvIC5wcm9tbyB7XG4gIGdyaWQtcm93OiAxIC8gLTE7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAkc3BhY2VyICRnYXA7XG4gICAgQGluY2x1ZGUgYnJlYWstb3V0KDkwMCkge1xuICAgICAgcGFkZGluZzogJGdhcDtcbiAgICB9XG4gICAgJiA+IHN2ZyB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvICRnYXA7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGljdHVyZSxcbiAgICBiYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgcGljdHVyZSxcbiAgYmFja2dyb3VuZC12aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiA1MHZ3O1xuICAgIHZpZGVvLFxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLW91dCg3NjgpIHtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIG1pbi1oZWlnaHQ6IDU1MHB4O1xuXG4gICAgLnRleHQge1xuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstb3V0KDEyMDApIHtcbiAgICAuY29udGVudCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6ICRzcGFjZXI7XG4gICAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIH1cbiAgfVxuXG4gIHBpY3R1cmUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgfVxuXG4gICYuYmx1ZSB7XG4gICAgcGljdHVyZSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsdWUyLCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmJsYWNrIHtcbiAgICBwaWN0dXJlIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMC42KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5yZWQge1xuICAgIHBpY3R1cmUge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRyZWQsIDAuOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubm9uZSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzZiYjI4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRhZy1saW5lIHtcbiAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgc3BhbiB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCgxMTIwKSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXAwO1xuICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCgxNTAwKSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGVhZGVyIHtcbiAgICAtLXByb21vLWJhbm5lci1zY2FsZTogMC43O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0yNTBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDBweCwgNDBweCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSh2YXIoLS1wcm9tby1iYW5uZXItc2NhbGUsIDEpKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUyO1xuICAgICAgICBAaW5jbHVkZSBmb250LWxhdG8oKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjVlbTtcbiAgICAgICAgcGFkZGluZzogMC40ZW0gMDtcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LWxhdG8oYm9sZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1sYXRvKGJvbGQpO1xuICAgICAgICBwYWRkaW5nOiAwLjRlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiAwLjZlbTtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXIwO1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICZbc3JjKj0ndGFnbGluZSddIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3ZnLnVrLWZsYWcge1xuICAgIGhlaWdodDogMC44ZW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2FwMDtcbiAgfVxuXG4gIHVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAkZ2FwO1xuICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICBAaW5jbHVkZSBicmVhay1pbigxNTAwKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMTBweCwgMWZyKSk7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtbGF0byhib2xkKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6ICRnYXAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXkyO1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb247XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtaW5kZXgpO1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICAmLFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb247XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICB9XG5cbiAgICAgIGFiYnIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXkyO1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN0YSB7XG4gICAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyMDtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLW91dChtYXgpIHtcbiAgICAucHJvbW8ge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbXB1dGVkLWd1dHRlcikgKyAjeyRndXR0ZXIzfSk7XG4gICAgfVxuICB9XG5cbiAgJi5lc2ctcHJvbW8ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRhZy1saW5lIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIiNoZXJvIC5wcm9tbyB7XG4gIGdyaWQtcm93OiAxLy0xO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy14OiBjbGlwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiNoZXJvIC5wcm9tbyAuY29udGVudCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlcjEpIHZhcigtLWdhcCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTAxcHgpIHtcbiAgI2hlcm8gLnByb21vIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXApO1xuICB9XG59XG4jaGVybyAucHJvbW8gLmNvbnRlbnQgPiBzdmcge1xuICBoZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiA2MHB4O1xuICBtYXJnaW46IDAgYXV0byB2YXIoLS1nYXApO1xuICBjb2xvcjogI0RGMzAzNTtcbn1cbiNoZXJvIC5wcm9tbzpsYXN0LW9mLXR5cGUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuI2hlcm8gLnByb21vOmxhc3Qtb2YtdHlwZSBwaWN0dXJlLFxuI2hlcm8gLnByb21vOmxhc3Qtb2YtdHlwZSBiYWNrZ3JvdW5kLXZpZGVvIHtcbiAgbGVmdDogMDtcbn1cbiNoZXJvIC5wcm9tbyBwaWN0dXJlLFxuI2hlcm8gLnByb21vIGJhY2tncm91bmQtdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDUwdnc7XG59XG4jaGVybyAucHJvbW8gcGljdHVyZSB2aWRlbyxcbiNoZXJvIC5wcm9tbyBwaWN0dXJlIGltZyxcbiNoZXJvIC5wcm9tbyBiYWNrZ3JvdW5kLXZpZGVvIHZpZGVvLFxuI2hlcm8gLnByb21vIGJhY2tncm91bmQtdmlkZW8gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgI2hlcm8gLnByb21vIHtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICB9XG4gICNoZXJvIC5wcm9tbyAudGV4dCBoMiB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tZ2FwKTtcbiAgfVxuICAjaGVybyAucHJvbW8ucmlnaHQge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICNoZXJvIC5wcm9tbyAuY29udGVudCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2VyMSk7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgfVxufVxuI2hlcm8gLnByb21vIHBpY3R1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbn1cbiNoZXJvIC5wcm9tby5ibHVlIHBpY3R1cmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDMsIDEwNCwgMC44KTtcbn1cbiNoZXJvIC5wcm9tby5ibGFjayBwaWN0dXJlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbiNoZXJvIC5wcm9tby5yZWQgcGljdHVyZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMywgNDgsIDUzLCAwLjgpO1xufVxuI2hlcm8gLnByb21vLm5vbmUgaGVhZGVyIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzZiYjI4O1xufVxuI2hlcm8gLnByb21vIHRhZy1saW5lIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4jaGVybyAucHJvbW8gdGFnLWxpbmUgc3BhbiBpbWcge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTEyMXB4KSB7XG4gICNoZXJvIC5wcm9tbyB0YWctbGluZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG4gICNoZXJvIC5wcm9tbyB0YWctbGluZSBzcGFuIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE1MDFweCkge1xuICAjaGVybyAucHJvbW8gdGFnLWxpbmUge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuICAjaGVybyAucHJvbW8gdGFnLWxpbmUgc3BhbiBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwKTtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gIH1cbn1cbiNoZXJvIC5wcm9tbyBoZWFkZXIge1xuICAtLXByb21vLWJhbm5lci1zY2FsZTogMC43O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0yNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwcHgsIDQwcHgpIHJvdGF0ZSg0NWRlZykgc2NhbGUodmFyKC0tcHJvbW8tYmFubmVyLXNjYWxlLCAxKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcbiAgd2lkdGg6IDUwMHB4O1xufVxuI2hlcm8gLnByb21vIGhlYWRlciBoMiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2hlcm8gLnByb21vIGhlYWRlciBoMiBzcGFuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MkI2ODtcbiAgZm9udC1mYW1pbHk6IGxhdG8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAwLjVlbTtcbiAgcGFkZGluZzogMC40ZW0gMDtcbn1cbiNoZXJvIC5wcm9tbyBoZWFkZXIgaDIgc3BhbiBzdHJvbmcge1xuICBmb250LWZhbWlseTogbGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuI2hlcm8gLnByb21vIGhlYWRlciBoMiBlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERjMwMzU7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGZvbnQtZmFtaWx5OiBsYXRvLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHBhZGRpbmc6IDAuNGVtIDA7XG59XG4jaGVybyAucHJvbW8gLmxvZ28ge1xuICBtYXJnaW4tdG9wOiAwLjZlbTtcbiAgbWF4LWhlaWdodDogNjBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ3V0dGVyMCk7XG59XG4jaGVybyAucHJvbW8gLmxvZ28gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNoZXJvIC5wcm9tbyAubG9nbyBpbWdbc3JjKj10YWdsaW5lXSB7XG4gIG1hcmdpbi10b3A6IDAuNGVtO1xufVxuI2hlcm8gLnByb21vIHN2Zy51ay1mbGFnIHtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbiNoZXJvIC5wcm9tbyB1bCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTAwcHgpIHtcbiAgI2hlcm8gLnByb21vIHVsIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMTBweCwgMWZyKSk7XG4gIH1cbn1cbiNoZXJvIC5wcm9tbyB1bCBsaSB7XG4gIGZvbnQtZmFtaWx5OiBsYXRvLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2QTZBNkE7XG4gIG1heC13aWR0aDogMTAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuI2hlcm8gLnByb21vIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtaW5kZXgpO1xuICBjb2xvcjogI0RGMzAzNTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNWVtO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI2hlcm8gLnByb21vIHVsIGxpLCAjaGVybyAucHJvbW8gdWwgbGk6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuI2hlcm8gLnByb21vIHVsIGxpIGFiYnIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNoZXJvIC5wcm9tbyB1bCBsaSBwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkE2QTZBO1xuICBmb250LXNpemU6IDAuOGVtO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4jaGVybyAucHJvbW8gLmN0YSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWd1dHRlcjEpO1xufVxuI2hlcm8gLnByb21vIC5jdGEgYTpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogI0RGMzAzNTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWd1dHRlcjApO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgI2hlcm8gLnByb21vIC5jdGEgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODFweCkge1xuICAjaGVybyAucHJvbW8gLnByb21vIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29tcHV0ZWQtZ3V0dGVyKSArIHZhcigtLWd1dHRlcjMpKTtcbiAgfVxufVxuI2hlcm8gLnByb21vLmVzZy1wcm9tbyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuI2hlcm8gLnByb21vLmVzZy1wcm9tbyB0YWctbGluZSBzcGFuIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xufVxuI2hlcm8gLnByb21vLmVzZy1wcm9tbyAudGV4dCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQnJlYWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNicmVha1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIG91dCgkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRicmVha3BvaW50ICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW4oJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6I3skYnJlYWtwb2ludH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiN7JG1heH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8gVGhpcyB1bml0cyBjcmVhdG9yIHdpbGwgcmVuZGVyIHNpeCBwb3NpdGl2ZSBhbmQgc2l4IG5lZ2F0aXZlIHNhc3MgdmFyaWFibGVzIGZvciBcbi8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNldiB2YWx1ZXMgZGVmaW5lZCBiZWxvdy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYXNlIFZhbHVlcyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9tYXJrbm90dG9uL3Blbi9FeFBiTkdlXG5cbi8vIFRoZXNlIHRocmVlIHZhbHVlcyB3aWxsIGFjdCBhIGNvbnN0YW50IGJhc2VsaW5lIGZvciBhbGwgZm9sbG93aW5nIHVuaXQgZGVsY2FyYXRpb25zLlxuXG4vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4kZ2FwIDogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWdhcCA6ICRnYXA7XG5cbi8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuJHNwYWNlciA6IDR2aCAhZGVmYXVsdDsgXG4kYmFzZS1zcGFjZXIgOiAkc3BhY2VyOyBcblxuLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuJGd1dHRlciA6IDN2dyAhZGVmYXVsdDtcbiRiYXNlLWd1dHRlciA6ICRndXR0ZXI7IFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXNib2x1dGUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBHYXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2FwcyBhcmUgYW4gYWJzb2x1dGUgdW5pdCAocHgpIGludGVuZGVkIHRvIGJlIHVzZWQgb24gaW5kaXZpZHVhbCBlbGVtZW50cyB3aXRoaW4gYSBjb21wb25lbnRlZC4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHNwYWNpbmcgYW1vbmdzdCBibG9jaywgaW5saW5lLCB0YWJsZSBhbmQgZ3JvdXAgaHRtbCBlbGVtZW50cy5cblxuQGZ1bmN0aW9uIGdhcCgkYW1vdW50IDogMSkge1xuICBAaWYgKCAkYW1vdW50ID09IDEgKSB7IFxuICAgIEByZXR1cm4gdmFyKC0tZ2FwKTsgXG4gIH0gQGVsc2UgeyBcbiAgICBAcmV0dXJuIGNhbGModmFyKC0tZ2FwKSAqICN7JGFtb3VudH0pOyBcbiAgfVxufVxuXG4kZ2FwMCA6IGdhcCgwLjUpOyAkZ2FwMC0gOiBnYXAoLTAuNSk7XG4kZ2FwICA6IGdhcCgxKTsgICAkZ2FwLSAgOiBnYXAoLTEpO1xuJGdhcDIgOiBnYXAoMik7ICAgJGdhcDItIDogZ2FwKC0yKTtcbiRnYXAzIDogZ2FwKDMpOyAgICRnYXAzLSA6IGdhcCgtMyk7XG4kZ2FwNCA6IGdhcCg0KTsgICAkZ2FwNC0gOiBnYXAoLTQpO1xuJGdhcDUgOiBnYXAoNSk7ICAgJGdhcDUtIDogZ2FwKC01KTtcbiRnYXA2IDogZ2FwKDYpOyAgICRnYXA2LSA6IGdhcCgtNik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZWxhdGl2ZSBVbml0cyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiBfZHluYW1pYy11bml0KCRjdXN0b20tcHJvcGVydHksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcblxuICAvLyBDYWxjIE1ldGhvZFxuICAkcmVzdWx0IDogY2FsYygoI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0pICsgI3tpZigkbWluID09IDAsIDBweCwgJG1pbil9KTtcbiAgXG4gIC8vIENsYW1wIE1ldGhvZFxuICBAaWYgKCAkdXNlLWNsYW1wICkge1xuICAgIEBpZiAoICRhbW91bnQgPT0gMCApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgje21hdGguZGl2KCRtaW4sIDIpfSwgI3skY3VzdG9tLXByb3BlcnR5fSAqIDAuNSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSBpZiAoICRhbW91bnQgPT0gMSApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9LCAjeyRtYXh9KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9ICogI3skYW1vdW50fSwgI3skbWF4fSk7XG4gICAgfVxuICB9IFxuXG4gIEBpZiAoICR1c2UtbmVnYXRpdmUgKSB7XG4gICAgJHJlc3VsdCA6IGNhbGMoLTEgKiAjeyRyZXN1bHR9KTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcblxufSBcblxuLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNwYWNlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgaGVpZ2h0ICh2aCkgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgY29tcG9uZW50ZWQgbGV2ZWwuXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gU3BhY2VycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkc3BhY2VyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdmggc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gc3BhY2VyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLXNwYWNlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kc3BhY2VyMCA6IHZhcigtLXNwYWNlcjApOyAkc3BhY2VyMC0gOiB2YXIoLS1zcGFjZXIwLSk7XG4kc3BhY2VyICA6IHZhcigtLXNwYWNlcjEpOyAkc3BhY2VyLSAgOiB2YXIoLS1zcGFjZXIxLSk7XG4kc3BhY2VyMiA6IHZhcigtLXNwYWNlcjIpOyAkc3BhY2VyMi0gOiB2YXIoLS1zcGFjZXIyLSk7XG4kc3BhY2VyMyA6IHZhcigtLXNwYWNlcjMpOyAkc3BhY2VyMy0gOiB2YXIoLS1zcGFjZXIzLSk7XG4kc3BhY2VyNCA6IHZhcigtLXNwYWNlcjQpOyAkc3BhY2VyNC0gOiB2YXIoLS1zcGFjZXI0LSk7XG4kc3BhY2VyNSA6IHZhcigtLXNwYWNlcjUpOyAkc3BhY2VyNS0gOiB2YXIoLS1zcGFjZXI1LSk7XG4kc3BhY2VyNiA6IHZhcigtLXNwYWNlcjYpOyAkc3BhY2VyNi0gOiB2YXIoLS1zcGFjZXI2LSk7XG5cbi8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuLy8gZm9yIGV4YW1wbGUsIGEgd3JhcHBlciBjb250YWluZXIgb3IgYm9keSB3aXRoIG5lc3RlZCBjb21wb25lbnRzLiBcbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbi8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG5cbkBmdW5jdGlvbiBndXR0ZXIoJGFtb3VudCA6IDEsICRtaW4gOiAkYmFzZS1nYXAsICRtYXggOiBudWxsLCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMCkgeyAkYW1vdW50IDogMC41OyAkbWluIDogbWF0aC5kaXYoJG1pbiwgMik7IH1cbiAgQGlmICggbWV0YS50eXBlLW9mKCRtYXgpID09ICdudWxsJyApIHsgXG4gICAgQGlmICggbWV0YS50eXBlLW9mKCRtaW4pID09ICdzdHJpbmcnIGFuZCBzdHJpbmcuaW5kZXgoJG1pbiwgJ3ZhcicpICkge1xuICAgICAgJG1heCA6IGNhbGMoI3skbWlufSAqICN7JGFtb3VudCArIDF9KTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF4IDogI3skbWluICogKCRhbW91bnQgKyAxKX07IFxuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9keW5hbWljLXVuaXQodmFyKC0tZ3V0dGVyKSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSwgJHVzZS1jbGFtcCk7XG59XG5cbiRndXR0ZXIwIDogdmFyKC0tZ3V0dGVyMCk7ICRndXR0ZXIwLSA6IHZhcigtLWd1dHRlcjAtKTtcbiRndXR0ZXIgIDogdmFyKC0tZ3V0dGVyMSk7ICRndXR0ZXItICA6IHZhcigtLWd1dHRlcjEtKTtcbiRndXR0ZXIyIDogdmFyKC0tZ3V0dGVyMik7ICRndXR0ZXIyLSA6IHZhcigtLWd1dHRlcjItKTtcbiRndXR0ZXIzIDogdmFyKC0tZ3V0dGVyMyk7ICRndXR0ZXIzLSA6IHZhcigtLWd1dHRlcjMtKTtcbiRndXR0ZXI0IDogdmFyKC0tZ3V0dGVyNCk7ICRndXR0ZXI0LSA6IHZhcigtLWd1dHRlcjQtKTtcbiRndXR0ZXI1IDogdmFyKC0tZ3V0dGVyNSk7ICRndXR0ZXI1LSA6IHZhcigtLWd1dHRlcjUtKTtcbiRndXR0ZXI2IDogdmFyKC0tZ3V0dGVyNik7ICRndXR0ZXI2LSA6IHZhcigtLWd1dHRlcjYtKTtcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gRXhwbGljaXQgQ29sb3VycyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEV4cGxpY2l0IGNvbG91cnMgYXJlIGEgd2hhdCB0aGV5IGFyZS4gR3JlZW4gaXMgZ3JlZW4sIGJsdWUgaXMgYmx1ZS4uLiBubyBvYnNjdXJpdHkuXG4vLy8gV2Ugc3VmZml4IG51bWJlcnMgdG8gZGVmaW5lIHZhcmlhdGlvbnMgb2YgY29sb3VycyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyIG9mIHNoYWRlLiBcbi8vLyBFeGFtcGxlOiBncmVlbjEsIGdyZWVuMiwgZ3JlZW4zLCBncmVlbjQuIFRoaXMgaXMgc28gd2UgY2FuIGltbWlkaWF0ZWx5IHNlZSBob3cgXG4vLy8gbWFueSBvcHRpb25zIHdlIGhhdmUgZm9yIGEgc2luZ2xlIGNvbG91ciBhdCBhIGdsYW5jZS4gSWYgeW91IHNlZSAkZ3JlZW40LCB5b3Uga25vdyB0aGlzXG4vLy8gcHJvamVjdCBpcyB1c2luZyBmb3VyIHZhcmlhdGlvbnMgb2YgZ3JlZW4uIFRoaXMgaXMgYWxzbyBvZnRlbiB1c2VmdWwgYmVjYXVzZSBtYW55IGRldmVsb3BtZW50IFxuLy8vIHRvb2xzIHdpbGwgYXV0by1zdWdnZXN0IGNvbG91cnMgd2l0aCBhY3R1YWwgZXhhbXBsZXMgb2YgdGhlIGNvbG91ci4gXG4vLy8gVGhlIFBhbGxldGVzIG1vZHVsZSAoYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUpIHdpbGwgb3V0cHV0IHNoYWRlZCBuYW1lZCB2YXJpYXRpb25zLCBcbi8vLy8gPGNvbG91cj4tZGFyayBhbmQgPGNvbG91cj4tbGlnaHQuIElmIHlvdSBuZWVkIGFkZGl0aW9uYWwgc2hhZGVzIHBsZWFzZSByZWZyYWltIGZyb20gZ29pbmcgZG93biBcbi8vLyB0aGUgJ2xpZ2h0ZXInLCAnbGlnaHRlc3QnLCAnZGFya2VyJywgJ2Rhcmtlc3QnIGNvbnZlbnRpb24uIFRoZXNlIGFyZSBub3QgcGFydGljdWFybHkgbGVnaWFibGUgXG4vLy8gYW5kIHRoZXkgYXJlIGxpbWl0ZWQgYnkgaG93IGNyZWF0aXZlIChjb25mdXNpbmcpIHlvdXIgd29yZGluZyBjYW4gYmUuIFxuLy8vIEl0IGlzIGJldHRlciB0byBkZWZpbmUgYSBuZXcgZXhwbGNpdCBjb2xvdXIgZW50aXJlbHkuIFxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS93aGF0LWRvLXlvdS1uYW1lLWNvbG9yLXZhcmlhYmxlcy9cblxuJGJsdWUgICA6ICMxMzFmNmI7IC8vIFByaW1hcnlcbiRibHVlMiAgOiAjMjkyQjY4OyAvLyBOYWtlZCBMaW5rXG4kYmx1ZTMgIDogIzNkM2Y3ZjsgLy8gTGlnbnQgR3JhZGllbnRcbiRibHVlNCAgOiAjMTAxMjRkOyAvLyBEYXJrIEdyYWRpZW50XG4kYmx1ZTUgIDogIzAwOTVGRjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyICBcbi8vICRyZWQgICAgOiAjRTAzQTQwOyAvLyBTZWNvbmRhcnlcbiRyZWQgICAgOiAjREYzMDM1OyAvLyBTZWNvbmRhcnkgLSBUaGlzIHBhc3NlcyB0aGUgY29udHJhc3QgcmF0aW8gYWNjZXNzaWJpbGl0eSB0ZXN0IGluIEdvb2dsZXMgTGlnaHRob3VzZSBcbiRncmV5ICAgOiAjOTY5Njk1O1xuJGdyZXkyICA6ICM2QTZBNkE7IC8vIEZvbnRcbiRncmV5MyAgOiAjRjRGNEY0OyAvLyBMaWdodGVyIEdyZXkgQmFja2dyb3VuZFxuJGdyZXk0ICA6ICNkY2RjZGM7IFxuJGdyZXk1ICA6ICNCMUIxQjE7IC8vIFNwYWNlcnMgPGhyPlxuJGdyZXk2ICA6ICMzMzMyMzY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlciAgXG4kZ3JlZW4gIDogIzUwQkMwODtcbiRncmVlbjIgOiAjNzZiYjI4OyAvLyBFU0cgZ3JlZW5cbiR5ZWxsb3cgOiAjRjZGNERCOyAvLyBEaXNjbGFpbWVyIEJhY2tncm91bmRcbiR5ZWxsb3cyIDogI0ZDQjAwMjsgXG4kYmxhY2sgIDogIzFFMUExQTtcblxuJG1hcmsgOiAkYmx1ZTU7IC8vIGJhY2tncm91bmQgY29sb3VyIGZvciA8bWFyaz4gdGFnc1xuXG4kcHJpbWFyeSAgIDogdmFyKC0tcHJpbWFyeSwgICN7JGJsdWV9KTtcbiRzZWNvbmRhcnkgOiB2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuXG4vLy8gUGFsZXR0ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEJ5IGxvYWRpbmcgY29uZmlndXJhdGlvbnMgaW50byB0aGlzICdwYWxsZXRlJyBtb2R1bGUsIHdlIHdpbGwgYmUgYWJsZVxuLy8vIHRvIGRlY2xhcmUgdmFyaWFudHMgb2YgYSBmZXcgY29tbW9uIGNvbG91cnMuIFlvdSBjYW4gYWxzbyBhZGp1c3QgdGhlIGxpZ2h0bmVzc1xuLy8vIG9yIGRhcmtuZXNzIG9mIGVhY2ggdmFyaWFudCBieSBwYXNzaW5nIGluIHRoZSByZWxldmFudCBwcml2YXRlIHJ1bGVzLiBcbi8vLyBQYWxldHRlIHdpbGwgYWxzbyBleHBvc2UgcG9wdWxhciBzb2NpYWwgbWVkaWEgY29sb3VycyBhbmQgdGhlIFllbGxvIGJyYW5kIGNvbG91ci5cbi8vLyBAc2VlIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL2F0LXJ1bGVzL2ZvcndhcmQjY29uZmlndXJpbmctbW9kdWxlc1xuLy8vIEBvdXRwdXQgJGdyZWVuIDogIzAyOTI5QTsgJGdyZWVuLWRhcmsgOiAjMjU2NTY5OyAkZ3JlZW4tbGlnaHQ6ICMwNGI5YzQ7XG5cbkBmb3J3YXJkICdjcmVhdGUvcGFsZXR0ZScgd2l0aCAoXG4gICRibHVlICAgOiAkYmx1ZSxcbiAgJHJlZCAgICA6ICRyZWQsXG4gICRncmV5ICAgOiAkZ3JleSxcbiAgJHllbGxvdyA6ICR5ZWxsb3csXG4gICRncmVlbiAgOiAkZ3JlZW4sXG4gICRibGFjayAgOiAkYmxhY2tcbik7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEZvbnRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ2NvbG91cnMnIGFzICo7XG5cbiRjb2xvdXIgICAgICA6ICRncmV5MjtcbiRzaXplICAgICAgICA6IDEuNXJlbSAhZGVmYXVsdDtcbiRzaXplLW1pbiAgICA6IDEuNHJlbSAhZGVmYXVsdDsgXG4kc2l6ZS1tYXggICAgOiAxLjZyZW0gIWRlZmF1bHQ7IFxuJGxpbmUtaGVpZ2h0IDogMS42ICFkZWZhdWx0OyBcblxuJHNpemUtaDEgICAgIDogNi4xZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oMS1taW4gOiA0ZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oMiAgICAgOiAzLjJlbSAhZGVmYXVsdDtcbiRzaXplLWgzICAgICA6IDIuNWVtICFkZWZhdWx0O1xuJHNpemUtaDQgICAgIDogMS43ZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oNSAgICAgOiAxLjdlbSAhZGVmYXVsdDtcbiRzaXplLWg2ICAgICA6IDEuN2VtICFkZWZhdWx0O1xuICBcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gTGF0byBGb250XG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIFRoaXMgZm9udCBpdCBwcmltYXJpbHkgdXNlZCBmb3IgaGVhZGluZ3MgKDxoKj4gdGFncylcbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBmb250LWxhdG8oYm9sZClcblxuQG1peGluIGxhdG8oJHdlaWdodDpyZWd1bGFyKSB7XG5cbiAgZm9udC1mYW1pbHk6bGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gIEBpZiAoICR3ZWlnaHQgPT0gJ3JlZ3VsYXInKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ3NlbWktYm9sZCcgb3IgJHdlaWdodCA9PSAnc2VtaWJvbGQnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ2JvbGQnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gTW9udHNlcnJhdCBGb250XG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIFRoaXMgaXMgdGhlIGJhc2UgZm9udCB1c2VkIGZvciBhbGwgc3RhbmRhcmQgY29weSB0aHJvdWdob3V0IHRoZSBzaXRlLlxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGZvbnQtbW9udHNlcnJhdCgpXG5cbkBtaXhpbiBtb250c2VycmF0KCR3ZWlnaHQ6cmVndWxhcikge1xuXG4gIGZvbnQtZmFtaWx5Om1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIFxuICBAaWYgKCAkd2VpZ2h0ID09ICdyZWd1bGFyJykge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnaXRhbGljJykge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaG92ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBob3Zlcigkc2VsZWN0b3IgOiBudWxsKSB7XG4gIEBtZWRpYSAoIGhvdmVyIDogaG92ZXIgKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHNlbGVjdG9yIHtcbiAgICAmI3skc2VsZWN0b3J9IHsgXG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXIgUGFsZXR0ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcIi4vbW9kdWxlcy9jb2xvdXJcIjtcblxuLy8gQWRqdXN0IHRoZXNlIHRvIGFtZW5kIHRoZSBsaWdodG5lc3Mgb3IgZGFya25lc3MgYW1vdW50cyBmb3IgdGhlIGNvbG91cnMgbHNpdGVkIGJlbG93Li4gXG5cbiRfbGlnaHRuZXNzIDogMTUlICFkZWZhdWx0O1xuJF9kYXJrbmVzcyAgOiAyMCUgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHJlZCAgICAgICAgICA6ICM5NzA4MEUgIWRlZmF1bHQ7XG4kcmVkLWxpZ2h0ICAgIDogY29sb3VyLmxpZ2h0ZW4oJHJlZCwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHJlZC1kYXJrICAgICA6IGNvbG91ci5kYXJrZW4oJHJlZCwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UgICAgICAgOiAjREE0QjBGICFkZWZhdWx0O1xuJG9yYW5nZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRvcmFuZ2UsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRvcmFuZ2UtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRvcmFuZ2UsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4keWVsbG93ICAgICAgIDogI0U5QjEwNCAhZGVmYXVsdDtcbiR5ZWxsb3ctbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkeWVsbG93LCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4keWVsbG93LWRhcmsgIDogY29sb3VyLmRhcmtlbigkeWVsbG93LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZWVuICAgICAgICA6ICM0ODhDMTMgIWRlZmF1bHQ7XG4kZ3JlZW4tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZWVuLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kZ3JlZW4tZGFyayAgIDogY29sb3VyLmRhcmtlbigkZ3JlZW4sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYmx1ZSAgICAgICAgIDogIzFCNTVDMCAhZGVmYXVsdDtcbiRibHVlLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkYmx1ZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGJsdWUtZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGJsdWUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcGluayAgICAgICAgIDogI0UwNUQ2QiAhZGVmYXVsdDtcbiRwaW5rLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkcGluaywgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHBpbmstZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJHBpbmssICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcHVycGxlICAgICAgIDogIzYxM0Q1QSAhZGVmYXVsdDtcbiRwdXJwbGUtbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkcHVycGxlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcHVycGxlLWRhcmsgIDogY29sb3VyLmRhcmtlbigkcHVycGxlLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZXkgICAgICAgICA6ICM3ODc4NzggIWRlZmF1bHQ7XG4kZ3JleS1saWdodCAgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZXksICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmV5LWRhcmsgICAgOiBjb2xvdXIuZGFya2VuKCRncmV5LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGJyb3duICAgICAgICA6ICM3NzRGMzggIWRlZmF1bHQ7XG4kYnJvd24tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGJyb3duLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYnJvd24tZGFyayAgIDogY29sb3VyLmRhcmtlbigkYnJvd24sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kd2hpdGUgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdCA7XG4kd2hpdGUtZGFyayAgIDogY29sb3VyLmxpZ2h0ZW4oJHdoaXRlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG5cbiRibGFjayAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0IDtcbiRibGFjay1saWdodCAgOiBjb2xvdXIuZGFya2VuKCRibGFjaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTb2NpYWwgTWVkaWEgQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly93d3cubG9ja2Vkb3duc2VvLmNvbS9zb2NpYWwtbWVkaWEtY29sb3JzL1xuXG4kZmFjZWJvb2s6ICAgICMxODc3ZjIgIWRlZmF1bHQ7XG4kdHdpdHRlcjogICAgICMxZGExZjIgIWRlZmF1bHQ7XG4kZ29vZ2xlOiAgICAgICM0Mjg1ZjQgIWRlZmF1bHQ7XG4keW91dHViZTogICAgICNmZjAwMDAgIWRlZmF1bHQ7XG4kbGlua2VkaW46ICAgICMwMDdiYjUgIWRlZmF1bHQ7XG4kaW5zdGFncmFtOiAgICNjMzJhYTMgIWRlZmF1bHQ7XG4kcGludGVyZXN0OiAgICNiZDA4MWMgIWRlZmF1bHQ7XG4kZGFpbHltb3Rpb246ICMwMDY2REMgIWRlZmF1bHQ7XG4kc25hcGNoYXQ6ICAgICNmZmZjMDAgIWRlZmF1bHQ7XG4kZmxpY2tyOiAgICAgICNmNDAwODMgIWRlZmF1bHQ7XG4kdmltZW86ICAgICAgICMxYWI3ZWEgIWRlZmF1bHQ7XG4kdGh1bWJsZXI6ICAgICMzNTQ2NWQgIWRlZmF1bHQ7XG4kcmVkZGl0OiAgICAgICNmZjQ1MDAgIWRlZmF1bHQ7XG4kd2hhdHNhcHA6ICAgICMyNWQzNjYgIWRlZmF1bHQ7XG4kc2t5cGU6ICAgICAgICMwMGFmZjAgIWRlZmF1bHQ7XG4kZGlzY29yZDogICAgICM3Mjg5ZGEgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEgOiAoXG4gIGZhY2Vib29rOiAgICAgJGZhY2Vib29rLFxuICB0d2l0dGVyOiAgICAgICR0d2l0dGVyLFxuICBnb29nbGU6ICAgICAgICRnb29nbGUsXG4gIHlvdXR1YmU6ICAgICAgJHlvdXR1YmUsXG4gIGxpbmtlZGluOiAgICAgJGxpbmtlZGluLFxuICBpbnN0YWdyYW06ICAgICRpbnN0YWdyYW0sXG4gIHBpbnRlcmVzdDogICAgJHBpbnRlcmVzdCxcbiAgZGFpbHltb3Rpb246ICAkZGFpbHltb3Rpb24sXG4gIHNuYXBjaGF0OiAgICAgJHNuYXBjaGF0LFxuICBmbGlja3I6ICAgICAgICRmbGlja3IsXG4gIHZpbWVvOiAgICAgICAgJHZpbWVvLFxuICB0aHVtYmxlcjogICAgICR0aHVtYmxlcixcbiAgcmVkZGl0OiAgICAgICAkcmVkZGl0LFxuICB3aGF0c2FwcDogICAgICR3aGF0c2FwcCxcbiAgc2t5cGU6ICAgICAgICAkc2t5cGUsXG4gIGRpc2NvcmQ6ICAgICAgJGRpc2NvcmRcbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPdGhlciBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4keWVsbG86ICNGRkNCMDggIWRlZmF1bHQ7XG5cbi8vLyBIYW5kbGVzIHRoZSBjdXJzb3Igc2VsZWN0aW9uIGNvbG91clxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3NlbGVjdG9ycy9zL3NlbGVjdGlvbi9cblxuJGhpZ2hsaWdodDogI0IyRDNGQSAhZGVmYXVsdDsgXG4iXX0= */