service-centre-finder {
  --heading-colour: white;
  grid-gap: calc(var(--gap) * 2) var(--gutter1) !important;
  border: none !important;
  container-type: inline-size;
  align-items: center;
}
service-centre-finder h3 {
  font-size: 2em;
  line-height: 1.3;
}
service-centre-finder .text {
  color: #df3035;
  max-width: 500px;
}
service-centre-finder form h4 {
  font-size: 1.5625em;
  line-height: 1.6;
  color: #df3035;
  display: block;
  width: 100%;
  position: relative;
  line-height: 1.4;
  margin-bottom: calc(var(--gap) * -0.5);
}
service-centre-finder form input {
  width: 100%;
  border: none;
}
service-centre-finder form button[type=submit] {
  display: none;
}
service-centre-finder ul {
  --list-style-colour: #df3035;
  --list-style-size: 1em;
  --line-style-spacing: 0.6em;
  color: white;
}
service-centre-finder ul > li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%23DF3035' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
service-centre-finder ul > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
service-centre-finder ul > li + li {
  margin-top: var(--line-style-spacing, var(--gap));
}
service-centre-finder ul > li::before {
  display: inline-block;
  top: 0.1em;
  left: 0;
  position: absolute;
  width: var(--list-style-size, 1em);
  height: var(--list-style-size, 1em);
}
service-centre-finder > *:not(picture) {
  position: relative;
  z-index: 1;
}
service-centre-finder .left,
service-centre-finder .left form {
  display: flex;
  flex-direction: column;
  gap: var(--gutter1);
}
service-centre-finder .details:empty {
  display: none;
}
@container ( width < 600px) {
  service-centre-finder .right {
    display: none;
  }
}
service-centre-finder .opening-times {
  color: white;
  display: flex;
  font-size: 0.875em;
}
service-centre-finder .opening-times ul {
  list-style: none;
}
service-centre-finder .opening-times ul li {
  font-size: 0.875em;
  padding-left: 0;
}
service-centre-finder .opening-times ul li::before {
  content: none;
}
service-centre-finder .results:empty {
  display: none;
}
service-centre-finder .results .error {
  color: #df3035;
}
service-centre-finder .results address {
  border-radius: var(--border-radius, 6px);
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
}
service-centre-finder .results address p {
  font-size: 0.875em;
  color: white;
}
service-centre-finder .results address p.distance {
  font-style: italic;
  font-size: 0.625em;
  margin-top: calc(var(--gap) * 0.5);
  opacity: 0.7;
}
service-centre-finder .results address p.heading {
  font-size: 1.0625em;
  line-height: 1.6;
  margin-bottom: calc(var(--gap) * 0.5);
  font-weight: bold;
}
service-centre-finder .results address p span {
  overflow: hidden;
  display: block;
}
service-centre-finder .results address svg {
  width: 12px;
  height: 12px;
  fill: white;
  float: left;
  top: 5px;
  margin-right: 8px;
  position: relative;
}
service-centre-finder .results address > a {
  background-color: var(--secondary, #df3035);
  transition: background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  border-radius: inherit;
  padding: 0 calc(var(--gap) * 0.5);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media (hover: hover) {
  service-centre-finder .results address > a:hover {
    background-color: #bf1d22;
  }
}
service-centre-finder .results address > a > * {
  padding: var(--gap) calc(var(--gap) * 0.5);
}
service-centre-finder .results address > a > *:first-child {
  border-right: 1px solid var(--primary, #131f6b);
}
service-centre-finder .results address > a > *:last-child {
  border-left: 1px solid var(--primary, #131f6b);
}
@media (min-width: 769px) {
  service-centre-finder .results address {
    width: 80%;
  }
}
service-centre-finder.loading form::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(100% + calc(var(--gap) * 0.5));
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid white;
  border-top-color: transparent;
  border-bottom-color: transparent;
  animation-name: rotate;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
}
@keyframes rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
service-centre-finder .map {
  position: absolute;
  bottom: -30px;
  left: -50px;
  z-index: 3;
}
@media (max-width: 980px) {
  service-centre-finder .map {
    display: none;
  }
}
service-centre-finder .map svg {
  width: 100%;
  height: 800px;
}
service-centre-finder .map svg .st1 {
  fill: #f1f1f2;
}
service-centre-finder .map svg .st8,
service-centre-finder .map svg .st17,
service-centre-finder .map svg .st19 {
  fill: #e5404b;
}
service-centre-finder .map svg .st0,
service-centre-finder .map svg .st2,
service-centre-finder .map svg .st4,
service-centre-finder .map svg .st6,
service-centre-finder .map svg .st9,
service-centre-finder .map svg .st11,
service-centre-finder .map svg .st15,
service-centre-finder .map svg .st18,
service-centre-finder .map svg .st20,
service-centre-finder .map svg .st21,
service-centre-finder .map svg .st23,
service-centre-finder .map svg .st25 {
  fill: #ffffff;
}
service-centre-finder .map svg .st3,
service-centre-finder .map svg .st5,
service-centre-finder .map svg .st7,
service-centre-finder .map svg .st10,
service-centre-finder .map svg .st12,
service-centre-finder .map svg .st14,
service-centre-finder .map svg .st16,
service-centre-finder .map svg .st22,
service-centre-finder .map svg .st24,
service-centre-finder .map svg .st26 {
  fill: #253068;
}
service-centre-finder .map svg .st2 {
  clip-path: url(#SVGID_00000150069684003929109380000009343931992962722728_);
}
service-centre-finder .map svg .st3 {
  clip-path: url(#SVGID_00000150069684003929109380000009343931992962722728_);
}
service-centre-finder .map svg .st4 {
  clip-path: url(#SVGID_00000033367000806706957650000014665013643782968719_);
}
service-centre-finder .map svg .st5 {
  clip-path: url(#SVGID_00000033367000806706957650000014665013643782968719_);
}
service-centre-finder .map svg .st6 {
  clip-path: url(#SVGID_00000090252474677076718520000011195601274676352434_);
}
service-centre-finder .map svg .st7 {
  clip-path: url(#SVGID_00000090252474677076718520000011195601274676352434_);
}
service-centre-finder .map svg .st9 {
  clip-path: url(#SVGID_00000121244253395171394510000003838567394558771854_);
}
service-centre-finder .map svg .st10 {
  clip-path: url(#SVGID_00000121244253395171394510000003838567394558771854_);
}
service-centre-finder .map svg .st11 {
  clip-path: url(#SVGID_00000117665663997787401840000001037760982628412559_);
}
service-centre-finder .map svg .st12 {
  clip-path: url(#SVGID_00000117665663997787401840000001037760982628412559_);
}
service-centre-finder .map svg .st13 {
  clip-path: url(#SVGID_00000052104117246499784250000014449609706177469371_);
}
service-centre-finder .map svg .st14 {
  clip-path: url(#SVGID_00000052104117246499784250000014449609706177469371_);
}
service-centre-finder .map svg .st15 {
  clip-path: url(#SVGID_00000171683277033355057830000008007854479272258230_);
}
service-centre-finder .map svg .st16 {
  clip-path: url(#SVGID_00000171683277033355057830000008007854479272258230_);
}
service-centre-finder .map svg .st17 {
  clip-path: url(#SVGID_00000085241569841122841070000008427798458388486299_);
}
service-centre-finder .map svg .st18 {
  clip-path: url(#SVGID_00000085241569841122841070000008427798458388486299_);
}
service-centre-finder .map svg .st19 {
  clip-path: url(#SVGID_00000183950194555897609850000002080258297449685161_);
}
service-centre-finder .map svg .st20 {
  clip-path: url(#SVGID_00000183950194555897609850000002080258297449685161_);
}
service-centre-finder .map svg .st21 {
  clip-path: url(#SVGID_00000058562246678375135650000005584616311079567512_);
}
service-centre-finder .map svg .st22 {
  clip-path: url(#SVGID_00000058562246678375135650000005584616311079567512_);
}
service-centre-finder .map svg .st23 {
  clip-path: url(#SVGID_00000135656772395391829780000018058390647463039872_);
}
service-centre-finder .map svg .st24 {
  clip-path: url(#SVGID_00000135656772395391829780000018058390647463039872_);
}
service-centre-finder .map svg .st25 {
  clip-path: url(#SVGID_00000169558851855117145340000009826907307613408908_);
}
service-centre-finder .map svg .st26 {
  clip-path: url(#SVGID_00000169558851855117145340000009826907307613408908_);
}

main .content-block[data-count="1"][data-blocks*=service-centre-finder] {
  background-color: #131f6b;
}

body > service-centre-finder {
  padding: 0;
  overflow-y: clip;
  background-color: #131f6b;
}
body > service-centre-finder:before {
  content: "";
  background-color: inherit;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(var(--translateX, -50%));
}
body > service-centre-finder .left {
  padding: var(--spacer1) 0;
  height: -moz-fit-content;
  height: fit-content;
}
body > service-centre-finder .right {
  align-self: baseline;
  height: 100%;
}
body > service-centre-finder .right .image {
  height: 100%;
  z-index: 1;
  min-width: 50vw;
}
body > service-centre-finder .right .image img {
  width: 100%;
}
body > service-centre-finder .right .image::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 40%;
  background-image: linear-gradient(to right, var(--primary, #131f6b) 30%, transparent);
  z-index: 2;
}
@media (max-width: 980px) {
  body > service-centre-finder .right .image {
    width: 100vw;
    height: 33vh;
    margin-left: calc(var(--gutter1) * -1);
  }
  body > service-centre-finder .right .image::before {
    content: none;
  }
}
body > service-centre-finder:before {
  z-index: 0;
}
body > service-centre-finder picture.image {
  opacity: 0.3;
}
body > service-centre-finder picture.image img {
  mix-blend-mode: soft-light;
}
@media (min-width: 981px) {
  body > service-centre-finder.layout-content-left-sidebar {
    grid-template-columns: repeat(2, 1fr);
  }
  body > service-centre-finder .details {
    justify-content: flex-end;
    display: flex;
  }
  body > service-centre-finder ul.split {
    max-width: var(--main-max-width);
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: var(--gap);
         column-gap: var(--gap);
  }
}
@media (min-width: 981px) and (max-width: 980px) {
  body > service-centre-finder ul.split {
    max-width: 100%;
    flex-grow: 1;
    margin-top: calc(var(--gap) * 2);
  }
}
@media (max-width: 980px) {
  body > service-centre-finder ~ side-bar service-centre-finder {
    display: none !important;
  }
}

side-bar service-centre-finder {
  order: -1;
  overflow: hidden;
}
side-bar service-centre-finder h3 {
  font-size: 1.5625em;
  line-height: 1.6;
}
side-bar service-centre-finder > picture.image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
  mix-blend-mode: multiply;
}
side-bar service-centre-finder .map {
  display: none;
}
side-bar service-centre-finder .left {
  display: flex;
  flex-direction: column;
}
side-bar service-centre-finder .left h3 {
  order: 1;
}
side-bar service-centre-finder .left form {
  order: 2;
}
side-bar service-centre-finder .left .results {
  order: 4;
}
side-bar service-centre-finder .left .results + .opening-times {
  order: 3;
  color: white;
  display: flex;
  flex-direction: column;
  padding: calc(var(--gap) * 0.5) var(--gap);
  border-radius: var(--border-radius, 6px);
  border: 1px dashed rgba(255, 255, 255, 0.4);
  background: linear-gradient(20deg, transparent, rgba(255, 255, 255, 0.1));
  margin-top: var(--gap);
  font-size: 0.875em;
}
side-bar service-centre-finder .left .results + .opening-times strong {
  color: #e44f53;
}
side-bar service-centre-finder .left .details {
  order: 5;
}
side-bar service-centre-finder .results address a {
  grid-template-columns: 100%;
}
side-bar service-centre-finder .results address a > * {
  padding: calc(var(--gap) * 0.5);
}
side-bar service-centre-finder .results address a > *:first-child, side-bar service-centre-finder .results address a > *:last-child {
  border-right: none;
  border-left: none;
}
side-bar service-centre-finder .results address a .opening-times {
  display: none;
}

.pac-container {
  padding-top: 0;
  padding-bottom: 0;
  border-bottom-left-radius: var(--border-radius, 6px);
  border-bottom-right-radius: var(--border-radius, 6px);
}
.pac-container::after {
  content: initial;
}
.pac-container .pac-item {
  border-top: initial;
  cursor: pointer;
}
.pac-container .pac-item:nth-child(odd) {
  background-color: #f4f4f4;
}
@media (hover: hover) {
  .pac-container .pac-item:hover {
    background-color: initial;
  }
  .pac-container .pac-item:hover:nth-child(odd) {
    background-color: #f4f4f4;
  }
  .pac-container .pac-item:hover .pac-item-query {
    color: #df3035;
  }
}
.pac-container .pac-item .pac-item-query {
  color: #6a6a6a;
}
.pac-container .pac-item .pac-item-query .pac-matched {
  color: #df3035;
  font-weight: normal;
}
.pac-container .pac-item .pac-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 16'%3E%3Cpath fill='%23DF3035' d='M5.5 0C2.5 0 0 2.5 0 5.5 0 8.3 5.2 15.2 5.5 16c.3-.8 5.5-7.7 5.5-10.5C11 2.5 8.5 0 5.5 0zm0 8.6c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1z'/%3E%3C/svg%3E");
  background-position: center center;
  background-size: 12px 12px;
  background-repeat: no-repeat;
  margin: 5px 6px 0 2px;
}
.pac-container .pac-item.pac-item-selected {
  background-color: #131f6b !important;
}
.pac-container .pac-item.pac-item-selected .pac-item-query,
.pac-container .pac-item.pac-item-selected .pac-item-query .pac-matched {
  color: white;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2VydmljZS1jZW50cmUtZmluZGVyLnNjc3MiLCJjb21wb25lbnRzL3NlcnZpY2UtY2VudHJlLWZpbmRlci5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3MiLCJfdmFyaWFibGVzL2NvbG91cnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NyZWF0ZS9fdW5pdHMuc2NzcyIsIl9lbGVtZW50cy9saXN0LnNjc3MiLCJfdmFyaWFibGVzL3VuaXRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jb2xsZWN0aW9ucy9zdHlsaW5nL19ob3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvaGVscGVycy9fYnJlYWsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3BhbGV0dGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNFLHVCQUFBO0VBQ0Esd0RBQUE7RUFDQSx1QkFBQTtFQUVBLDJCQUFBO0VBQ0EsbUJBQUE7QUNIRjtBREtFO0VFcUlBLGNBQUE7RUFXSSxnQkEzRmM7QUR0RHBCO0FETUU7RUFDRSxjR09FO0VITkYsZ0JBQUE7QUNKSjtBRFFJO0VFOElGLG1CQUFBO0VBV0ksZ0JBMUdjO0VGN0Nk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TjtFRGlDSTtJQUNFLGNHN2VGO0VGOGNKO0FBQ0Y7QURpQ0k7RUFDRSxjRy9lRTtBRmdkUjtBRGdDTTtFQUNFLGNHbmZGO0VIb2ZFLG1CQUFBO0FDOUJSO0FEaUNJO0VBRUUsMFVBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsNEJBQUE7RUFDQSxxQkFBQTtBQ2hDTjtBRG9DSTtFQUNFLG9DQUFBO0FDbENOO0FEb0NROztFQUVFLFlBQUE7QUNsQ1YiLCJmaWxlIjoiY29tcG9uZW50cy9zZXJ2aWNlLWNlbnRyZS1maW5kZXIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5AdXNlICdtb2R1bGVzL2NvbG91cic7XG5cbnNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIC0taGVhZGluZy1jb2xvdXI6IHdoaXRlO1xuICBncmlkLWdhcDogJGdhcDIgJGd1dHRlciAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgLy8gbWluLWhlaWdodDogNjAwcHg7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBoMyB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBjb2xvcjogJHJlZDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICB9XG5cbiAgZm9ybSB7XG4gICAgaDQge1xuICAgICAgQGluY2x1ZGUgaGVhZGluZy1oMztcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMC07XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAkZ2FwMjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgbGlzdC11bCB7XG4gICAgICAtLWxpc3Qtc3R5bGUtY29sb3VyOiAjeyRyZWR9O1xuICAgICAgLS1saXN0LXN0eWxlLXNpemU6IDFlbTtcbiAgICAgIC0tbGluZS1zdHlsZS1zcGFjaW5nOiAwLjZlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICA+ICo6bm90KHBpY3R1cmUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5sZWZ0LFxuICAubGVmdCBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAkZ3V0dGVyO1xuICB9XG5cbiAgLmRldGFpbHM6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAucmlnaHQge1xuICAgIEBjb250YWluZXIgKCB3aWR0aCA8IDYwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5vcGVuaW5nLXRpbWVzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNCk7XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHRzIHtcbiAgICAvLyBtYXJnaW46ICRnYXAyIDAgMCAwO1xuXG4gICAgJjplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5lcnJvciB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG5cbiAgICBhZGRyZXNzIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgJi5kaXN0YW5jZSB7XG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDEwKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwMDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgICAgJi5oZWFkaW5nIHtcbiAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nLWg0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDA7XG5cbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblxuICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRyZWQsIDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICBwYWRkaW5nOiAkZ2FwICRnYXAwO1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHByaW1hcnk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHByaW1hcnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg3NjgpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxvYWRpbmcge1xuICAgIGZvcm06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogY2FsYygxMDAlICsgI3skZ2FwMH0pO1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICBAa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgdG8ge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTMwcHg7XG4gICAgbGVmdDogLTUwcHg7XG4gICAgei1pbmRleDogMztcblxuICAgIEBpbmNsdWRlIGJyZWFrLWluKDk4MCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDgwMHB4O1xuXG4gICAgICAuc3QxIHtcbiAgICAgICAgZmlsbDogI2YxZjFmMjtcbiAgICAgIH1cblxuICAgICAgLnN0OCxcbiAgICAgIC5zdDE3LFxuICAgICAgLnN0MTkge1xuICAgICAgICBmaWxsOiAjZTU0MDRiO1xuICAgICAgfVxuXG4gICAgICAuc3QwLFxuICAgICAgLnN0MixcbiAgICAgIC5zdDQsXG4gICAgICAuc3Q2LFxuICAgICAgLnN0OSxcbiAgICAgIC5zdDExLFxuICAgICAgLnN0MTUsXG4gICAgICAuc3QxOCxcbiAgICAgIC5zdDIwLFxuICAgICAgLnN0MjEsXG4gICAgICAuc3QyMyxcbiAgICAgIC5zdDI1IHtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjtcbiAgICAgIH1cblxuICAgICAgLnN0MyxcbiAgICAgIC5zdDUsXG4gICAgICAuc3Q3LFxuICAgICAgLnN0MTAsXG4gICAgICAuc3QxMixcbiAgICAgIC5zdDE0LFxuICAgICAgLnN0MTYsXG4gICAgICAuc3QyMixcbiAgICAgIC5zdDI0LFxuICAgICAgLnN0MjYge1xuICAgICAgICBmaWxsOiAjMjUzMDY4O1xuICAgICAgfVxuXG4gICAgICAuc3QyIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTUwMDY5Njg0MDAzOTI5MTA5MzgwMDAwMDA5MzQzOTMxOTkyOTYyNzIyNzI4Xyk7XG4gICAgICB9XG4gICAgICAuc3QzIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTUwMDY5Njg0MDAzOTI5MTA5MzgwMDAwMDA5MzQzOTMxOTkyOTYyNzIyNzI4Xyk7XG4gICAgICB9XG4gICAgICAuc3Q0IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDMzMzY3MDAwODA2NzA2OTU3NjUwMDAwMDE0NjY1MDEzNjQzNzgyOTY4NzE5Xyk7XG4gICAgICB9XG4gICAgICAuc3Q1IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDMzMzY3MDAwODA2NzA2OTU3NjUwMDAwMDE0NjY1MDEzNjQzNzgyOTY4NzE5Xyk7XG4gICAgICB9XG4gICAgICAuc3Q2IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDkwMjUyNDc0Njc3MDc2NzE4NTIwMDAwMDExMTk1NjAxMjc0Njc2MzUyNDM0Xyk7XG4gICAgICB9XG4gICAgICAuc3Q3IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDkwMjUyNDc0Njc3MDc2NzE4NTIwMDAwMDExMTk1NjAxMjc0Njc2MzUyNDM0Xyk7XG4gICAgICB9XG4gICAgICAuc3Q5IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTIxMjQ0MjUzMzk1MTcxMzk0NTEwMDAwMDAzODM4NTY3Mzk0NTU4NzcxODU0Xyk7XG4gICAgICB9XG4gICAgICAuc3QxMCB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDEyMTI0NDI1MzM5NTE3MTM5NDUxMDAwMDAwMzgzODU2NzM5NDU1ODc3MTg1NF8pO1xuICAgICAgfVxuICAgICAgLnN0MTEge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxMTc2NjU2NjM5OTc3ODc0MDE4NDAwMDAwMDEwMzc3NjA5ODI2Mjg0MTI1NTlfKTtcbiAgICAgIH1cbiAgICAgIC5zdDEyIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTE3NjY1NjYzOTk3Nzg3NDAxODQwMDAwMDAxMDM3NzYwOTgyNjI4NDEyNTU5Xyk7XG4gICAgICB9XG4gICAgICAuc3QxMyB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA1MjEwNDExNzI0NjQ5OTc4NDI1MDAwMDAxNDQ0OTYwOTcwNjE3NzQ2OTM3MV8pO1xuICAgICAgfVxuICAgICAgLnN0MTQge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwNTIxMDQxMTcyNDY0OTk3ODQyNTAwMDAwMTQ0NDk2MDk3MDYxNzc0NjkzNzFfKTtcbiAgICAgIH1cbiAgICAgIC5zdDE1IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTcxNjgzMjc3MDMzMzU1MDU3ODMwMDAwMDA4MDA3ODU0NDc5MjcyMjU4MjMwXyk7XG4gICAgICB9XG4gICAgICAuc3QxNiB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE3MTY4MzI3NzAzMzM1NTA1NzgzMDAwMDAwODAwNzg1NDQ3OTI3MjI1ODIzMF8pO1xuICAgICAgfVxuICAgICAgLnN0MTcge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwODUyNDE1Njk4NDExMjI4NDEwNzAwMDAwMDg0Mjc3OTg0NTgzODg0ODYyOTlfKTtcbiAgICAgIH1cbiAgICAgIC5zdDE4IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDg1MjQxNTY5ODQxMTIyODQxMDcwMDAwMDA4NDI3Nzk4NDU4Mzg4NDg2Mjk5Xyk7XG4gICAgICB9XG4gICAgICAuc3QxOSB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE4Mzk1MDE5NDU1NTg5NzYwOTg1MDAwMDAwMjA4MDI1ODI5NzQ0OTY4NTE2MV8pO1xuICAgICAgfVxuICAgICAgLnN0MjAge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxODM5NTAxOTQ1NTU4OTc2MDk4NTAwMDAwMDIwODAyNTgyOTc0NDk2ODUxNjFfKTtcbiAgICAgIH1cbiAgICAgIC5zdDIxIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDU4NTYyMjQ2Njc4Mzc1MTM1NjUwMDAwMDA1NTg0NjE2MzExMDc5NTY3NTEyXyk7XG4gICAgICB9XG4gICAgICAuc3QyMiB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA1ODU2MjI0NjY3ODM3NTEzNTY1MDAwMDAwNTU4NDYxNjMxMTA3OTU2NzUxMl8pO1xuICAgICAgfVxuICAgICAgLnN0MjMge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxMzU2NTY3NzIzOTUzOTE4Mjk3ODAwMDAwMTgwNTgzOTA2NDc0NjMwMzk4NzJfKTtcbiAgICAgIH1cbiAgICAgIC5zdDI0IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTM1NjU2NzcyMzk1MzkxODI5NzgwMDAwMDE4MDU4MzkwNjQ3NDYzMDM5ODcyXyk7XG4gICAgICB9XG4gICAgICAuc3QyNSB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE2OTU1ODg1MTg1NTExNzE0NTM0MDAwMDAwOTgyNjkwNzMwNzYxMzQwODkwOF8pO1xuICAgICAgfVxuICAgICAgLnN0MjYge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNjk1NTg4NTE4NTUxMTcxNDUzNDAwMDAwMDk4MjY5MDczMDc2MTM0MDg5MDhfKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1haW4gQ29tcG9uZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxubWFpbiB7XG4gIC5jb250ZW50LWJsb2NrW2RhdGEtY291bnQ9JzEnXVtkYXRhLWJsb2Nrcyo9J3NlcnZpY2UtY2VudHJlLWZpbmRlciddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgfVxufVxuXG4vLy8gUm9vdCBDb21wb25lbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5ib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZC1ibG93b3V0O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy15OiBjbGlwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblxuICAubGVmdCB7XG4gICAgcGFkZGluZzogJHNwYWNlciAwO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIH1cblxuICAucmlnaHQge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbWluLXdpZHRoOiA1MHZ3O1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkcHJpbWFyeSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWstaW4oOTgwKSB7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAzM3ZoO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRndXR0ZXJ9ICogLTEpO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuICBwaWN0dXJlLmltYWdlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgaW1nIHtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVhay1vdXQoOTgwKSB7XG4gICAgJi5sYXlvdXQtY29udGVudC1sZWZ0LXNpZGViYXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG5cbiAgICAuZGV0YWlscyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAmLnNwbGl0IHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1tYWluLW1heC13aWR0aCk7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgY29sdW1uLWdhcDogJGdhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWstaW4oc21hbGwtbWVkaXVtKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVhay1pbihzbWFsbC1tZWRpdW0pIHtcbiAgICB+IHNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTaWRlYmFyIENvbXBvbmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIG9yZGVyOiAtMTtcbiAgaDMge1xuICAgIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4gIH1cblxuICA+IHBpY3R1cmUuaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgfVxuXG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1hcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaDMge1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICAgIGZvcm0ge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICAgIC5yZXN1bHRzIHtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgJiArIC5vcGVuaW5nLXRpbWVzIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogJGdhcDAgJGdhcDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKHdoaXRlLCAwLjQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKHdoaXRlLCAwLjEpKTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTQpO1xuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGNvbG9yOiAkcmVkLWxpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5kZXRhaWxzIHtcbiAgICAgIG9yZGVyOiA1O1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHRzIGFkZHJlc3Mge1xuICAgIGEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICAgICAgJiA+ICoge1xuICAgICAgICBwYWRkaW5nOiAkZ2FwMDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9wZW5pbmctdGltZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcmVzcyBBdXRvQ29tbXBsZXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFjLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgLy8gbWFyZ2luLXRvcDpjYWxjKC0xICogI3skYm9yZGVyLXJhZGl1c30pO1xuXG4gIC8vIFJlbW92aW5nIHRoZSBHb29nbGUgbG9nbyBhbG1vc3QgY2VydGFpbmx5IGdvZXMgYWdhaW5zdCB0aGUgVGVybXMgb2YgVXNlLlxuICAvLyBCdXQgaXQncyBzbyB1Z2x5IGFuZCB3YXNuJ3QgcGFydCBvZiB0aGUgZGVzaWduLiBSZW1vdmUgdGhpcyBsaW5lIHRvIGdldCBpdCBiYWNrLlxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogaW5pdGlhbDtcbiAgfVxuICAucGFjLWl0ZW0ge1xuICAgIGJvcmRlci10b3A6IGluaXRpYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXkzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5MztcbiAgICAgIH1cbiAgICAgIC5wYWMtaXRlbS1xdWVyeSB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgfVxuICAgIH1cbiAgICAucGFjLWl0ZW0tcXVlcnkge1xuICAgICAgY29sb3I6ICRmb250LWNvbG91cjtcbiAgICAgIC5wYWMtbWF0Y2hlZCB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgICAucGFjLWljb24ge1xuICAgICAgLy8gYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTYnJTNFJTNDcGF0aCBmaWxsPSdcIiArIGNvbG91ci5lbmNvZGUoJHJlZCkgKyBcIicgZD0nTTUuNSAwQzIuNSAwIDAgMi41IDAgNS41IDAgOC4zIDUuMiAxNS4yIDUuNSAxNmMuMy0uOCA1LjUtNy43IDUuNS0xMC41QzExIDIuNSA4LjUgMCA1LjUgMHptMCA4LjZjLTEuNyAwLTMuMS0xLjQtMy4xLTMuMSAwLTEuNyAxLjQtMy4xIDMuMS0zLjFzMy4xIDEuNCAzLjEgMy4xYzAgMS43LTEuNCAzLjEtMy4xIDMuMXonLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFyZ2luOiA1cHggNnB4IDAgMnB4O1xuXG4gICAgICAvLyBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgICYucGFjLWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgIC5wYWMtaXRlbS1xdWVyeSB7XG4gICAgICAgICYsXG4gICAgICAgIC5wYWMtbWF0Y2hlZCB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICAtLWhlYWRpbmctY29sb3VyOiB3aGl0ZTtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAqIDIpIHZhcigtLWd1dHRlcjEpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgaDMge1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAudGV4dCB7XG4gIGNvbG9yOiAjZGYzMDM1O1xuICBtYXgtd2lkdGg6IDUwMHB4O1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIGZvcm0gaDQge1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogI2RmMzAzNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIC0wLjUpO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIGZvcm0gaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIGZvcm0gYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgdWwge1xuICAtLWxpc3Qtc3R5bGUtY29sb3VyOiAjZGYzMDM1O1xuICAtLWxpc3Qtc3R5bGUtc2l6ZTogMWVtO1xuICAtLWxpbmUtc3R5bGUtc3BhY2luZzogMC42ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciB1bCA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjNERjMwMzUnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciB1bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciB1bCA+IGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1saW5lLXN0eWxlLXNwYWNpbmcsIHZhcigtLWdhcCkpO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIHVsID4gbGk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiAwLjFlbTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pO1xuICBoZWlnaHQ6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciA+ICo6bm90KHBpY3R1cmUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5sZWZ0LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5sZWZ0IGZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWd1dHRlcjEpO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5kZXRhaWxzOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBjb250YWluZXIgKCB3aWR0aCA8IDYwMHB4KSB7XG4gIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAub3BlbmluZy10aW1lcyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5vcGVuaW5nLXRpbWVzIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAub3BlbmluZy10aW1lcyB1bCBsaSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5vcGVuaW5nLXRpbWVzIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5yZXN1bHRzOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyAuZXJyb3Ige1xuICBjb2xvcjogI2RmMzAzNTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHAge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHAuZGlzdGFuY2Uge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgb3BhY2l0eTogMC43O1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5yZXN1bHRzIGFkZHJlc3MgcC5oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyBwIHNwYW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHN2ZyB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGZpbGw6IHdoaXRlO1xuICBmbG9hdDogbGVmdDtcbiAgdG9wOiA1cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNkZjMwMzUpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwIGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZjFkMjI7XG4gIH1cbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzID4gYSA+ICoge1xuICBwYWRkaW5nOiB2YXIoLS1nYXApIGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGEgPiAqOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGEgPiAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIubG9hZGluZyBmb3JtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBjYWxjKDEwMCUgKyBjYWxjKHZhcigtLWdhcCkgKiAwLjUpKTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuQGtleWZyYW1lcyByb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMwcHg7XG4gIGxlZnQ6IC01MHB4O1xuICB6LWluZGV4OiAzO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MDBweDtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxIHtcbiAgZmlsbDogI2YxZjFmMjtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q4LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE3LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE5IHtcbiAgZmlsbDogI2U1NDA0Yjtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QwLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDIsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0NCxcbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q2LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDksXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTEsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTUsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTgsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjAsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjEsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjMsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjUge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDMsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0NSxcbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q3LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDEwLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDEyLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE0LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE2LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDIyLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDI0LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDI2IHtcbiAgZmlsbDogIzI1MzA2ODtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyIHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTUwMDY5Njg0MDAzOTI5MTA5MzgwMDAwMDA5MzQzOTMxOTkyOTYyNzIyNzI4Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MyB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE1MDA2OTY4NDAwMzkyOTEwOTM4MDAwMDAwOTM0MzkzMTk5Mjk2MjcyMjcyOF8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDQge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwMzMzNjcwMDA4MDY3MDY5NTc2NTAwMDAwMTQ2NjUwMTM2NDM3ODI5Njg3MTlfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q1IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDMzMzY3MDAwODA2NzA2OTU3NjUwMDAwMDE0NjY1MDEzNjQzNzgyOTY4NzE5Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0NiB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA5MDI1MjQ3NDY3NzA3NjcxODUyMDAwMDAxMTE5NTYwMTI3NDY3NjM1MjQzNF8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDcge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwOTAyNTI0NzQ2NzcwNzY3MTg1MjAwMDAwMTExOTU2MDEyNzQ2NzYzNTI0MzRfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q5IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTIxMjQ0MjUzMzk1MTcxMzk0NTEwMDAwMDAzODM4NTY3Mzk0NTU4NzcxODU0Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTAge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxMjEyNDQyNTMzOTUxNzEzOTQ1MTAwMDAwMDM4Mzg1NjczOTQ1NTg3NzE4NTRfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxMSB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDExNzY2NTY2Mzk5Nzc4NzQwMTg0MDAwMDAwMTAzNzc2MDk4MjYyODQxMjU1OV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDEyIHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTE3NjY1NjYzOTk3Nzg3NDAxODQwMDAwMDAxMDM3NzYwOTgyNjI4NDEyNTU5Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTMge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwNTIxMDQxMTcyNDY0OTk3ODQyNTAwMDAwMTQ0NDk2MDk3MDYxNzc0NjkzNzFfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxNCB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA1MjEwNDExNzI0NjQ5OTc4NDI1MDAwMDAxNDQ0OTYwOTcwNjE3NzQ2OTM3MV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE1IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTcxNjgzMjc3MDMzMzU1MDU3ODMwMDAwMDA4MDA3ODU0NDc5MjcyMjU4MjMwXyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTYge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNzE2ODMyNzcwMzMzNTUwNTc4MzAwMDAwMDgwMDc4NTQ0NzkyNzIyNTgyMzBfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxNyB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA4NTI0MTU2OTg0MTEyMjg0MTA3MDAwMDAwODQyNzc5ODQ1ODM4ODQ4NjI5OV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE4IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDg1MjQxNTY5ODQxMTIyODQxMDcwMDAwMDA4NDI3Nzk4NDU4Mzg4NDg2Mjk5Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTkge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxODM5NTAxOTQ1NTU4OTc2MDk4NTAwMDAwMDIwODAyNTgyOTc0NDk2ODUxNjFfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyMCB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE4Mzk1MDE5NDU1NTg5NzYwOTg1MDAwMDAwMjA4MDI1ODI5NzQ0OTY4NTE2MV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDIxIHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDU4NTYyMjQ2Njc4Mzc1MTM1NjUwMDAwMDA1NTg0NjE2MzExMDc5NTY3NTEyXyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjIge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwNTg1NjIyNDY2NzgzNzUxMzU2NTAwMDAwMDU1ODQ2MTYzMTEwNzk1Njc1MTJfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyMyB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDEzNTY1Njc3MjM5NTM5MTgyOTc4MDAwMDAxODA1ODM5MDY0NzQ2MzAzOTg3Ml8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDI0IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTM1NjU2NzcyMzk1MzkxODI5NzgwMDAwMDE4MDU4MzkwNjQ3NDYzMDM5ODcyXyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjUge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNjk1NTg4NTE4NTUxMTcxNDUzNDAwMDAwMDk4MjY5MDczMDc2MTM0MDg5MDhfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyNiB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE2OTU1ODg1MTg1NTExNzE0NTM0MDAwMDAwOTgyNjkwNzMwNzYxMzQwODkwOF8pO1xufVxuXG5tYWluIC5jb250ZW50LWJsb2NrW2RhdGEtY291bnQ9XCIxXCJdW2RhdGEtYmxvY2tzKj1zZXJ2aWNlLWNlbnRyZS1maW5kZXJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMWY2Yjtcbn1cblxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGNsaXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG59XG5ib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXRyYW5zbGF0ZVgsIC01MCUpKTtcbn1cbmJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKSAwO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmlnaHQge1xuICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmlnaHQgLmltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBtaW4td2lkdGg6IDUwdnc7XG59XG5ib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5yaWdodCAuaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5ib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5yaWdodCAuaW1hZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXByaW1hcnksICMxMzFmNmIpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICB6LWluZGV4OiAyO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJpZ2h0IC5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMzN2aDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ndXR0ZXIxKSAqIC0xKTtcbiAgfVxuICBib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5yaWdodCAuaW1hZ2U6OmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlcjpiZWZvcmUge1xuICB6LWluZGV4OiAwO1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciBwaWN0dXJlLmltYWdlIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciBwaWN0dXJlLmltYWdlIGltZyB7XG4gIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIubGF5b3V0LWNvbnRlbnQtbGVmdC1zaWRlYmFyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmRldGFpbHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIHVsLnNwbGl0IHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tZ2FwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB1bC5zcGxpdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgfiBzaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICBvcmRlcjogLTE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgaDMge1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyID4gcGljdHVyZS5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwLjU7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQgaDMge1xuICBvcmRlcjogMTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCBmb3JtIHtcbiAgb3JkZXI6IDI7XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQgLnJlc3VsdHMge1xuICBvcmRlcjogNDtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCAucmVzdWx0cyArIC5vcGVuaW5nLXRpbWVzIHtcbiAgb3JkZXI6IDM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMC41KSB2YXIoLS1nYXApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQgLnJlc3VsdHMgKyAub3BlbmluZy10aW1lcyBzdHJvbmcge1xuICBjb2xvcjogI2U0NGY1Mztcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCAuZGV0YWlscyB7XG4gIG9yZGVyOiA1O1xufVxuc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIC5yZXN1bHRzIGFkZHJlc3MgYSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIGEgPiAqIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIGEgPiAqOmZpcnN0LWNoaWxkLCBzaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyBhID4gKjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIGEgLm9wZW5pbmctdGltZXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFjLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG59XG4ucGFjLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBpbml0aWFsO1xufVxuLnBhYy1jb250YWluZXIgLnBhYy1pdGVtIHtcbiAgYm9yZGVyLXRvcDogaW5pdGlhbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBhYy1jb250YWluZXIgLnBhYy1pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5wYWMtY29udGFpbmVyIC5wYWMtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgfVxuICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW06aG92ZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIH1cbiAgLnBhYy1jb250YWluZXIgLnBhYy1pdGVtOmhvdmVyIC5wYWMtaXRlbS1xdWVyeSB7XG4gICAgY29sb3I6ICNkZjMwMzU7XG4gIH1cbn1cbi5wYWMtY29udGFpbmVyIC5wYWMtaXRlbSAucGFjLWl0ZW0tcXVlcnkge1xuICBjb2xvcjogIzZhNmE2YTtcbn1cbi5wYWMtY29udGFpbmVyIC5wYWMtaXRlbSAucGFjLWl0ZW0tcXVlcnkgLnBhYy1tYXRjaGVkIHtcbiAgY29sb3I6ICNkZjMwMzU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4ucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0gLnBhYy1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNiclM0UlM0NwYXRoIGZpbGw9JyUyM0RGMzAzNScgZD0nTTUuNSAwQzIuNSAwIDAgMi41IDAgNS41IDAgOC4zIDUuMiAxNS4yIDUuNSAxNmMuMy0uOCA1LjUtNy43IDUuNS0xMC41QzExIDIuNSA4LjUgMCA1LjUgMHptMCA4LjZjLTEuNyAwLTMuMS0xLjQtMy4xLTMuMSAwLTEuNyAxLjQtMy4xIDMuMS0zLjFzMy4xIDEuNCAzLjEgMy4xYzAgMS43LTEuNCAzLjEtMy4xIDMuMXonLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCAxMnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXJnaW46IDVweCA2cHggMCAycHg7XG59XG4ucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0ucGFjLWl0ZW0tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiICFpbXBvcnRhbnQ7XG59XG4ucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0ucGFjLWl0ZW0tc2VsZWN0ZWQgLnBhYy1pdGVtLXF1ZXJ5LFxuLnBhYy1jb250YWluZXIgLnBhYy1pdGVtLnBhYy1pdGVtLXNlbGVjdGVkIC5wYWMtaXRlbS1xdWVyeSAucGFjLW1hdGNoZWQge1xuICBjb2xvcjogd2hpdGU7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhlYWRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJy4vY29sbGVjdGlvbnMvZm9udCc7XG5AdXNlICcuL21vZHVsZXMvdW5pdCc7XG5cbi8vIERlZmF1bHQgSGVhZGluZyBWYWx1ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMSA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDMuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuMVxuKSAhZGVmYXVsdDtcblxuJGgyIDogKFxuICAnZm9udC1zaXplJyAgIDogMi41cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4zXG4pICFkZWZhdWx0O1xuXG4kaDMgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjJyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNCA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg1IDogKFxuICAnZm9udC1zaXplJyAgIDogMS44cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDYgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjZyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRiYXNlIDogNjIuNSAhZGVmYXVsdDtcbiRzY2FsZXIgOiAxLjV2dyAhZGVmYXVsdDtcbiRlbmFibGUtY3JvcHBpbmcgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFsbGJhY2sgTGluZS1oZWlnaHRzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDEsIFwibGluZS1oZWlnaHRcIikgeyAkaDEgOiBtYXAuc2V0KCRoMSwgJ2xpbmUtaGVpZ2h0JywgMS4xKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDIsIFwibGluZS1oZWlnaHRcIikgeyAkaDIgOiBtYXAuc2V0KCRoMiwgJ2xpbmUtaGVpZ2h0JywgMS4zKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDMsIFwibGluZS1oZWlnaHRcIikgeyAkaDMgOiBtYXAuc2V0KCRoMywgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDQsIFwibGluZS1oZWlnaHRcIikgeyAkaDQgOiBtYXAuc2V0KCRoNCwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDUsIFwibGluZS1oZWlnaHRcIikgeyAkaDUgOiBtYXAuc2V0KCRoNSwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDYsIFwibGluZS1oZWlnaHRcIikgeyAkaDYgOiBtYXAuc2V0KCRoNiwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuXG4vLyBEZWZpbmUgdGhlIHZhcmlhYmxlcyBzbyB0aGV5IGFyZSBzdGlsbCBhY2Nlc2libGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaDEtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgxLCAnZm9udC1zaXplJyk7XG4kaDEtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgxLCAnbGluZS1oZWlnaHQnKTtcbiRoMS1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMS1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDEsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGgyLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMiwgJ2ZvbnQtc2l6ZScpO1xuJGgyLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDItZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDItc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgyLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoMy1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDMsICdmb250LXNpemUnKTtcbiRoMy1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDMsICdsaW5lLWhlaWdodCcpO1xuJGgzLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgzLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMywgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDQtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg0LCAnZm9udC1zaXplJyk7XG4kaDQtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg0LCAnbGluZS1oZWlnaHQnKTtcbiRoNC1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNC1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDQsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg1LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNSwgJ2ZvbnQtc2l6ZScpO1xuJGg1LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNSwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDUtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDUtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg1LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNi1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDYsICdmb250LXNpemUnKTtcbiRoNi1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDYsICdsaW5lLWhlaWdodCcpO1xuJGg2LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg2LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNiwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4vLyBIYW5kbGVzIENyb3BzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kX2gxLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMSwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oMi1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDIsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDMtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgzLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g0LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNCwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNS1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDUsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDYtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg2LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG5cbiRfaDEtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgxLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2gyLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMiwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oMy1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDMsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDQtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg0LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g1LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNSwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNi1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDYsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcblxuXG4vLyBNaXhpbnMgZm9yIGVhY2ggaGVhZGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX3NldC1jcm9wKCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNyb3ApIHtcblxuICBAaWYgKG1ldGEudHlwZS1vZigkY3JvcCkgPT0gJ21hcCcpIHtcblxuICAgICRmb250LXNpemUgICA6IHVuaXQuc3RyaXAoJGZvbnQtc2l6ZSkgKiAxMDtcbiAgICAkbGluZS1oZWlnaHQgOiB1bml0LnN0cmlwKCRsaW5lLWhlaWdodCk7XG4gICAgJHRvcCAgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwidG9wXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwidG9wXCIpKSwgMCk7XG4gICAgJGJvdHRvbSAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwiYm90dG9tXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwiYm90dG9tXCIpKSwgMCk7XG5cbiAgICBAaW5jbHVkZSBmb250LmNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkdG9wLCAkYm90dG9tKTtcblxuICB9XG5cbn1cblxuQG1peGluIGgxKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgxLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgxLWZvbnQtc2l6ZS1taW4gYW5kICRoMS1mb250LXNpemUtbWluIDwgJGgxLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplLW1pbil9LCAjeyRoMS1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDEtZm9udC1zaXplLCAkaDEtbGluZS1oZWlnaHQsICRfaDEtY3JvcC10b3AsICRfaDEtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMS1saW5lLWhlaWdodDsgXG4gICAgfVxuXG4gIH1cblxufVxuXG5AbWl4aW4gaDIoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDItZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDItZm9udC1zaXplLW1pbiBhbmQgJGgyLWZvbnQtc2l6ZS1taW4gPCAkaDItZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMi1mb250LXNpemUtbWluKX0sICN7JGgyLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMi1mb250LXNpemUsICRoMi1saW5lLWhlaWdodCwgJF9oMi1jcm9wLXRvcCwgJF9oMi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgyLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDMoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDMtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDMtZm9udC1zaXplLW1pbiBhbmQgJGgzLWZvbnQtc2l6ZS1taW4gPCAkaDMtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMy1mb250LXNpemUtbWluKX0sICN7JGgzLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMy1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMy1mb250LXNpemUsICRoMy1saW5lLWhlaWdodCwgJF9oMy1jcm9wLXRvcCwgJF9oMy1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgzLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDQoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDQtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDQtZm9udC1zaXplLW1pbiBhbmQgJGg0LWZvbnQtc2l6ZS1taW4gPCAkaDQtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNC1mb250LXNpemUtbWluKX0sICN7JGg0LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNC1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNC1mb250LXNpemUsICRoNC1saW5lLWhlaWdodCwgJF9oNC1jcm9wLXRvcCwgJF9oNC1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg0LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDUoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDUtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDUtZm9udC1zaXplLW1pbiBhbmQgJGg1LWZvbnQtc2l6ZS1taW4gPCAkaDUtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNS1mb250LXNpemUtbWluKX0sICN7JGg1LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNS1mb250LXNpemUsICRoNS1saW5lLWhlaWdodCwgJF9oNS1jcm9wLXRvcCwgJF9oNS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg1LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDYoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDYtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDYtZm9udC1zaXplLW1pbiBhbmQgJGg2LWZvbnQtc2l6ZS1taW4gPCAkaDYtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNi1mb250LXNpemUtbWluKX0sICN7JGg2LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wMigkaDYtZm9udC1zaXplLCAkaDYtbGluZS1oZWlnaHQsICRfaDYtY3JvcC10b3AsICRfaDYtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNi1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29sb3Vyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEV4cGxpY2l0IENvbG91cnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBFeHBsaWNpdCBjb2xvdXJzIGFyZSBhIHdoYXQgdGhleSBhcmUuIEdyZWVuIGlzIGdyZWVuLCBibHVlIGlzIGJsdWUuLi4gbm8gb2JzY3VyaXR5LlxuLy8vIFdlIHN1ZmZpeCBudW1iZXJzIHRvIGRlZmluZSB2YXJpYXRpb25zIG9mIGNvbG91cnMgaW4gbm8gcGFydGljdWxhciBvcmRlciBvZiBzaGFkZS5cbi8vLyBFeGFtcGxlOiBncmVlbjEsIGdyZWVuMiwgZ3JlZW4zLCBncmVlbjQuIFRoaXMgaXMgc28gd2UgY2FuIGltbWlkaWF0ZWx5IHNlZSBob3dcbi8vLyBtYW55IG9wdGlvbnMgd2UgaGF2ZSBmb3IgYSBzaW5nbGUgY29sb3VyIGF0IGEgZ2xhbmNlLiBJZiB5b3Ugc2VlICRncmVlbjQsIHlvdSBrbm93IHRoaXNcbi8vLyBwcm9qZWN0IGlzIHVzaW5nIGZvdXIgdmFyaWF0aW9ucyBvZiBncmVlbi4gVGhpcyBpcyBhbHNvIG9mdGVuIHVzZWZ1bCBiZWNhdXNlIG1hbnkgZGV2ZWxvcG1lbnRcbi8vLyB0b29scyB3aWxsIGF1dG8tc3VnZ2VzdCBjb2xvdXJzIHdpdGggYWN0dWFsIGV4YW1wbGVzIG9mIHRoZSBjb2xvdXIuXG4vLy8gVGhlIFBhbGxldGVzIG1vZHVsZSAoYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUpIHdpbGwgb3V0cHV0IHNoYWRlZCBuYW1lZCB2YXJpYXRpb25zLFxuLy8vLyA8Y29sb3VyPi1kYXJrIGFuZCA8Y29sb3VyPi1saWdodC4gSWYgeW91IG5lZWQgYWRkaXRpb25hbCBzaGFkZXMgcGxlYXNlIHJlZnJhaW0gZnJvbSBnb2luZyBkb3duXG4vLy8gdGhlICdsaWdodGVyJywgJ2xpZ2h0ZXN0JywgJ2RhcmtlcicsICdkYXJrZXN0JyBjb252ZW50aW9uLiBUaGVzZSBhcmUgbm90IHBhcnRpY3Vhcmx5IGxlZ2lhYmxlXG4vLy8gYW5kIHRoZXkgYXJlIGxpbWl0ZWQgYnkgaG93IGNyZWF0aXZlIChjb25mdXNpbmcpIHlvdXIgd29yZGluZyBjYW4gYmUuXG4vLy8gSXQgaXMgYmV0dGVyIHRvIGRlZmluZSBhIG5ldyBleHBsY2l0IGNvbG91ciBlbnRpcmVseS5cbi8vLyBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vd2hhdC1kby15b3UtbmFtZS1jb2xvci12YXJpYWJsZXMvXG5cbiRibHVlOiAjMTMxZjZiOyAvLyBQcmltYXJ5XG4kYmx1ZTI6ICMyOTJiNjg7IC8vIE5ha2VkIExpbmtcbiRibHVlMzogIzNkM2Y3ZjsgLy8gTGlnbnQgR3JhZGllbnRcbiRibHVlNDogIzEwMTI0ZDsgLy8gRGFyayBHcmFkaWVudFxuJGJsdWU1OiAjMDA5NWZmOyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXJcbi8vICRyZWQgICAgOiAjRTAzQTQwOyAvLyBTZWNvbmRhcnlcbiRyZWQ6ICNkZjMwMzU7IC8vIFNlY29uZGFyeSAtIFRoaXMgcGFzc2VzIHRoZSBjb250cmFzdCByYXRpbyBhY2Nlc3NpYmlsaXR5IHRlc3QgaW4gR29vZ2xlcyBMaWdodGhvdXNlXG4kZ3JleTogIzk2OTY5NTtcbiRncmV5MjogIzZhNmE2YTsgLy8gRm9udFxuJGdyZXkzOiAjZjRmNGY0OyAvLyBMaWdodGVyIEdyZXkgQmFja2dyb3VuZFxuJGdyZXk0OiAjZGNkY2RjO1xuJGdyZXk1OiAjYjFiMWIxOyAvLyBTcGFjZXJzIDxocj5cbiRncmV5NjogIzMzMzIzNjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyXG4kZ3JlZW46ICM1MGJjMDg7XG4kZ3JlZW4yOiAjNzZiYjI4OyAvLyBFU0cgZ3JlZW5cbiR5ZWxsb3c6ICNmNmY0ZGI7IC8vIERpc2NsYWltZXIgQmFja2dyb3VuZFxuJHllbGxvdzI6ICNmY2IwMDI7XG4kb3JhbmdlOiAjZmY2YTAwO1xuJG9yYW5nZTI6ICNkYThiMGY7XG4kYmxhY2s6ICMxZTFjMWM7XG5cbiRtYXJrOiAkYmx1ZTU7IC8vIGJhY2tncm91bmQgY29sb3VyIGZvciA8bWFyaz4gdGFnc1xuXG4kcHJpbWFyeTogdmFyKC0tcHJpbWFyeSwgI3skYmx1ZX0pO1xuJHNlY29uZGFyeTogdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcblxuLy8vIFBhbGV0dGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBCeSBsb2FkaW5nIGNvbmZpZ3VyYXRpb25zIGludG8gdGhpcyAncGFsbGV0ZScgbW9kdWxlLCB3ZSB3aWxsIGJlIGFibGVcbi8vLyB0byBkZWNsYXJlIHZhcmlhbnRzIG9mIGEgZmV3IGNvbW1vbiBjb2xvdXJzLiBZb3UgY2FuIGFsc28gYWRqdXN0IHRoZSBsaWdodG5lc3Ncbi8vLyBvciBkYXJrbmVzcyBvZiBlYWNoIHZhcmlhbnQgYnkgcGFzc2luZyBpbiB0aGUgcmVsZXZhbnQgcHJpdmF0ZSBydWxlcy5cbi8vLyBQYWxldHRlIHdpbGwgYWxzbyBleHBvc2UgcG9wdWxhciBzb2NpYWwgbWVkaWEgY29sb3VycyBhbmQgdGhlIFllbGxvIGJyYW5kIGNvbG91ci5cbi8vLyBAc2VlIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL2F0LXJ1bGVzL2ZvcndhcmQjY29uZmlndXJpbmctbW9kdWxlc1xuLy8vIEBvdXRwdXQgJGdyZWVuIDogIzAyOTI5QTsgJGdyZWVuLWRhcmsgOiAjMjU2NTY5OyAkZ3JlZW4tbGlnaHQ6ICMwNGI5YzQ7XG5cbkBmb3J3YXJkICdjcmVhdGUvcGFsZXR0ZScgd2l0aCAoXG4gICRibHVlOiAkYmx1ZSxcbiAgJHJlZDogJHJlZCxcbiAgJGdyZXk6ICRncmV5LFxuICAkeWVsbG93OiAkeWVsbG93LFxuICAkb3JhbmdlOiAkb3JhbmdlLFxuICAkZ3JlZW46ICRncmVlbixcbiAgJGJsYWNrOiAkYmxhY2tcbik7XG5cbiRtYXA6IChcbiAgYmx1ZTogJGJsdWUsXG4gIHJlZDogJHJlZCxcbiAgZ3JleTogJGdyZXkzLFxuICB5ZWxsb3c6ICR5ZWxsb3csXG4gIG9yYW5nZTogJG9yYW5nZSxcbiAgZ3JlZW46ICRncmVlbixcbiAgYmxhY2s6ICRibGFjayxcbik7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoJG1pbiA9PSAwLCAwcHgsICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnY29sbGVjdGlvbnMvZm9udC9jcm9wJyBhcyBmb250O1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cbkBtaXhpbiBzdHlsZSgkZmlsbCwgJHN0cm9rZSA6IHdoaXRlKSB7XG4gID4gbGk6OmJlZm9yZSB7IFxuICAgIGNvbnRlbnQ6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nXCIrY29sb3VyLmVuY29kZSgkZmlsbCkrXCInIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG5cbi8vIFVub3JkZXJkIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiB1bCgkbGlzdC1zdHlsZS1jb2xvdXIgOiAkcmVkLCAkbGlzdC1zdHlsZS1hY2NlbnQtY29sb3VyIDogd2hpdGUpIHtcblxuICBAaW5jbHVkZSBzdHlsZSgkbGlzdC1zdHlsZS1jb2xvdXIsICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIpO1xuXG4gID4gbGkgeyBcblxuICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlOyBcbiAgICBwYWRkaW5nLWxlZnQgIDogY2FsYyh2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSkgKiAxLjgpO1xuXG4gICAgJiArIGxpIHsgbWFyZ2luLXRvcCA6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgI3skZ2FwfSk7IH1cbiAgICBcbiAgICAmOjpiZWZvcmUgeyBcbiAgICAgIGRpc3BsYXkgIDogaW5saW5lLWJsb2NrOyBcbiAgICAgIHRvcCAgICAgIDogMC4xZW07IFxuICAgICAgbGVmdCAgICAgOiAwOyBcbiAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICB3aWR0aCAgICA6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTsgXG4gICAgICBoZWlnaHQgICA6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTsgXG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG5cbn1cblxuLy8gT3JkZXJlZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9sKCkge1xuXG4gIGNvdW50ZXItcmVzZXQgOiBjb3VudGVyO1xuXG4gID4gbGkgeyBcbiAgICBwb3NpdGlvbiAgICAgOiByZWxhdGl2ZTsgXG4gICAgZGlzcGxheSAgICAgIDogYmxvY2s7IFxuICAgIHBhZGRpbmctbGVmdCA6IDIycHg7XG4gICAgbWFyZ2luLWxlZnQgIDogdmFyKC0tbGlzdC1zdHlsZS1vZmZzZXQsIDApO1xuXG4gICAgJiArIGxpIHsgbWFyZ2luLXRvcDokZ2FwMDsgfVxuXG4gICAgJjo6YmVmb3JlIHsgXG4gICAgICBjb250ZW50ICAgICAgICAgICA6IGNvdW50ZXIoY291bnRlciknLic7XG4gICAgICBjb3VudGVyLWluY3JlbWVudCA6IGNvdW50ZXI7XG4gICAgICBjb2xvciAgICAgICAgICAgICA6IHZhcigtLWxpc3Qtc3R5bGUtY29sb3VyLCB2YXIoLS1wcmltYXJ5KSk7IFxuICAgICAgcG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTsgXG4gICAgICBtYXJnaW4tcmlnaHQ6MC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG4gIFxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuLy8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcmtub3R0b24vZG9nZ2lzdHlsZS9ibG9iL21hc3Rlci9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3NcblxuLy8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdmFsdWVzIGRlZmluZWQgYmVsb3cuIFxuXG5AZm9yd2FyZCAnY3JlYXRlL3VuaXRzJyB3aXRoIChcblxuICAvLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG4gIC8vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuICAvLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4gIC8vLyBAcmVzdWx0IDogJGdhcDAsICRnYXAsICRnYXAyLCAkZ2FwMywgJGdhcDQsICRnYXA1ICwgJGdhcDYsICRnYXAwLSwgJGdhcC0sICRnYXAyLSwgJGdhcDMtLCAkZ2FwNC0sICRnYXA1LSBhbmQgJGdhcDYtXG4gIFxuICAkZ2FwIDogMTZweCxcblxuICAvLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuICAvLy8gQHJlc3VsdCA6ICRzcGFjZXIwLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyNCwgJHNwYWNlcjUsICRzcGFjZXI2LCAkc3BhY2VyMC0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXI0LSwgJHNwYWNlcjUtIGFuZCAkc3BhY2VyNi1cbiAgXG4gICRzcGFjZXIgOiA0dmgsIFxuXG4gIC8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4gIC8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4gIC8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4gIC8vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4gIC8vLyBAcmVzdWx0IDogJGd1dHRlcjAsICRndXR0ZXIsICRndXR0ZXIyLCAkZ3V0dGVyMywgJGd1dHRlcjQsICRndXR0ZXI1LCAkZ3V0dGVyNiwgJGd1dHRlcjAtLCAkZ3V0dGVyLSwgJGd1dHRlcjItLCAkZ3V0dGVyMy0sICRndXR0ZXI0LSwgJGd1dHRlcjUtIGFuZCAkZ3V0dGVyNi1cbiAgXG4gICRndXR0ZXIgOiAzdncsIFxuXG4pO1xuXG4kYm9yZGVyLXJhZGl1cyA6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4kc2lkZWJhci13aWR0aCA6IDUwMHB4OyIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gSG92ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNob3ZlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGhvdmVyKCRzZWxlY3RvciA6IG51bGwpIHtcbiAgQG1lZGlhICggaG92ZXIgOiBob3ZlciApIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkc2VsZWN0b3Ige1xuICAgICYjeyRzZWxlY3Rvcn0geyBcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCcmVhayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFrXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gb3V0KCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JGJyZWFrcG9pbnQgKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbigkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1heC13aWR0aDojeyRicmVha3BvaW50fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skbWlufSkgYW5kIChtYXgtd2lkdGg6I3skbWF4fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNiYWNrZ3JvdW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdwb3NpdGlvbic7XG5cbkBtaXhpbiBibG93b3V0KCRwc3VkbyA6IGJlZm9yZSkge1xuICAmOiN7JHBzdWRvfSB7XG4gICAgY29udGVudDpcIlwiO1xuXHRcdGJhY2tncm91bmQtY29sb3I6aW5oZXJpdDsgXG5cdFx0ei1pbmRleDotMTsgXG4gICAgQGluY2x1ZGUgcG9zaXRpb24uYmxvd291dDsgXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFBvc2l0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcG9zaXRpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJy4uL2hlbHBlcnMvYnJlYWsnO1xuXG5AbWl4aW4gZXhwYW5kZWQge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTsgXG5cdHRvcDowOyBcblx0bGVmdDowOyBcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjEwMCU7IFxufVxuXG5AbWl4aW4gY2VudHJlIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7IFxuXHR0b3A6NTAlOyBcblx0bGVmdDo1MCU7XG4gIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IFxufVxuXG5AbWl4aW4gYmxvd291dCgkaG9yaXpvbnRhbCA6IHRydWUsICR2ZXJ0aWNhbCA6IGZhbHNlKSB7XG4gIFxuICBwb3NpdGlvbjphYnNvbHV0ZTtcblxuICBAaWYgJGhvcml6b250YWwgYW5kICR2ZXJ0aWNhbCB7XG4gICAgdG9wICAgICAgIDogNTAlOyBcbiAgICBsZWZ0ICAgICAgOiA1MCU7IFxuICAgIHdpZHRoICAgICA6IDEwMHZ3O1xuICAgIGhlaWdodCAgICA6IDEwMHZoOyBcbiAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUodmFyKC0tdHJhbnNsYXRlWCwgLTUwJSksIHZhcigtLXRyYW5zbGF0ZVksIC01MCUpKTtcbiAgfSBAZWxzZSBpZiAkaG9yaXpvbnRhbCAge1xuICAgIHRvcCAgICAgICA6IDA7IFxuICAgIGxlZnQgICAgICA6IDUwJTsgXG4gICAgd2lkdGggICAgIDogMTAwdnc7XG4gICAgaGVpZ2h0ICAgIDogMTAwJTsgXG4gICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWCh2YXIoLS10cmFuc2xhdGVYLCAtNTAlKSk7XG4gIH0gQGVsc2UgaWYgJHZlcnRpY2FsICB7XG4gICAgdG9wICAgICAgIDogNTAlOyBcbiAgICBsZWZ0ICAgICAgOiAwOyBcbiAgICB3aWR0aCAgICAgOiAxMDAlO1xuICAgIGhlaWdodCAgICA6IDEwMHZoOyBcbiAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKHZhcigtLXRyYW5zbGF0ZVksIC01MCUpKTtcbiAgfVxuXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91ciBQYWxldHRlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwiLi9tb2R1bGVzL2NvbG91clwiO1xuXG4vLyBBZGp1c3QgdGhlc2UgdG8gYW1lbmQgdGhlIGxpZ2h0bmVzcyBvciBkYXJrbmVzcyBhbW91bnRzIGZvciB0aGUgY29sb3VycyBsc2l0ZWQgYmVsb3cuLiBcblxuJF9saWdodG5lc3MgOiAxNSUgIWRlZmF1bHQ7XG4kX2RhcmtuZXNzICA6IDIwJSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbW1vbiBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcmVkICAgICAgICAgIDogIzk3MDgwRSAhZGVmYXVsdDtcbiRyZWQtbGlnaHQgICAgOiBjb2xvdXIubGlnaHRlbigkcmVkLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcmVkLWRhcmsgICAgIDogY29sb3VyLmRhcmtlbigkcmVkLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJG9yYW5nZSAgICAgICA6ICNEQTRCMEYgIWRlZmF1bHQ7XG4kb3JhbmdlLWxpZ2h0IDogY29sb3VyLmxpZ2h0ZW4oJG9yYW5nZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJG9yYW5nZS1kYXJrICA6IGNvbG91ci5kYXJrZW4oJG9yYW5nZSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiR5ZWxsb3cgICAgICAgOiAjRTlCMTA0ICFkZWZhdWx0O1xuJHllbGxvdy1saWdodCA6IGNvbG91ci5saWdodGVuKCR5ZWxsb3csICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiR5ZWxsb3ctZGFyayAgOiBjb2xvdXIuZGFya2VuKCR5ZWxsb3csICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kZ3JlZW4gICAgICAgIDogIzQ4OEMxMyAhZGVmYXVsdDtcbiRncmVlbi1saWdodCAgOiBjb2xvdXIubGlnaHRlbigkZ3JlZW4sICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmVlbi1kYXJrICAgOiBjb2xvdXIuZGFya2VuKCRncmVlbiwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRibHVlICAgICAgICAgOiAjMUI1NUMwICFkZWZhdWx0O1xuJGJsdWUtbGlnaHQgICA6IGNvbG91ci5saWdodGVuKCRibHVlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYmx1ZS1kYXJrICAgIDogY29sb3VyLmRhcmtlbigkYmx1ZSwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRwaW5rICAgICAgICAgOiAjRTA1RDZCICFkZWZhdWx0O1xuJHBpbmstbGlnaHQgICA6IGNvbG91ci5saWdodGVuKCRwaW5rLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcGluay1kYXJrICAgIDogY29sb3VyLmRhcmtlbigkcGluaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRwdXJwbGUgICAgICAgOiAjNjEzRDVBICFkZWZhdWx0O1xuJHB1cnBsZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRwdXJwbGUsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRwdXJwbGUtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRwdXJwbGUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kZ3JleSAgICAgICAgIDogIzc4Nzg3OCAhZGVmYXVsdDtcbiRncmV5LWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkZ3JleSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGdyZXktZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGdyZXksICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYnJvd24gICAgICAgIDogIzc3NEYzOCAhZGVmYXVsdDtcbiRicm93bi1saWdodCAgOiBjb2xvdXIubGlnaHRlbigkYnJvd24sICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRicm93bi1kYXJrICAgOiBjb2xvdXIuZGFya2VuKCRicm93biwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiR3aGl0ZSAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0IDtcbiR3aGl0ZS1kYXJrICAgOiBjb2xvdXIubGlnaHRlbigkd2hpdGUsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcblxuJGJsYWNrICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQgO1xuJGJsYWNrLWxpZ2h0ICA6IGNvbG91ci5kYXJrZW4oJGJsYWNrLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNvY2lhbCBNZWRpYSBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL3d3dy5sb2NrZWRvd25zZW8uY29tL3NvY2lhbC1tZWRpYS1jb2xvcnMvXG5cbiRmYWNlYm9vazogICAgIzE4NzdmMiAhZGVmYXVsdDtcbiR0d2l0dGVyOiAgICAgIzFkYTFmMiAhZGVmYXVsdDtcbiRnb29nbGU6ICAgICAgIzQyODVmNCAhZGVmYXVsdDtcbiR5b3V0dWJlOiAgICAgI2ZmMDAwMCAhZGVmYXVsdDtcbiRsaW5rZWRpbjogICAgIzAwN2JiNSAhZGVmYXVsdDtcbiRpbnN0YWdyYW06ICAgI2MzMmFhMyAhZGVmYXVsdDtcbiRwaW50ZXJlc3Q6ICAgI2JkMDgxYyAhZGVmYXVsdDtcbiRkYWlseW1vdGlvbjogIzAwNjZEQyAhZGVmYXVsdDtcbiRzbmFwY2hhdDogICAgI2ZmZmMwMCAhZGVmYXVsdDtcbiRmbGlja3I6ICAgICAgI2Y0MDA4MyAhZGVmYXVsdDtcbiR2aW1lbzogICAgICAgIzFhYjdlYSAhZGVmYXVsdDtcbiR0aHVtYmxlcjogICAgIzM1NDY1ZCAhZGVmYXVsdDtcbiRyZWRkaXQ6ICAgICAgI2ZmNDUwMCAhZGVmYXVsdDtcbiR3aGF0c2FwcDogICAgIzI1ZDM2NiAhZGVmYXVsdDtcbiRza3lwZTogICAgICAgIzAwYWZmMCAhZGVmYXVsdDtcbiRkaXNjb3JkOiAgICAgIzcyODlkYSAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYSA6IChcbiAgZmFjZWJvb2s6ICAgICAkZmFjZWJvb2ssXG4gIHR3aXR0ZXI6ICAgICAgJHR3aXR0ZXIsXG4gIGdvb2dsZTogICAgICAgJGdvb2dsZSxcbiAgeW91dHViZTogICAgICAkeW91dHViZSxcbiAgbGlua2VkaW46ICAgICAkbGlua2VkaW4sXG4gIGluc3RhZ3JhbTogICAgJGluc3RhZ3JhbSxcbiAgcGludGVyZXN0OiAgICAkcGludGVyZXN0LFxuICBkYWlseW1vdGlvbjogICRkYWlseW1vdGlvbixcbiAgc25hcGNoYXQ6ICAgICAkc25hcGNoYXQsXG4gIGZsaWNrcjogICAgICAgJGZsaWNrcixcbiAgdmltZW86ICAgICAgICAkdmltZW8sXG4gIHRodW1ibGVyOiAgICAgJHRodW1ibGVyLFxuICByZWRkaXQ6ICAgICAgICRyZWRkaXQsXG4gIHdoYXRzYXBwOiAgICAgJHdoYXRzYXBwLFxuICBza3lwZTogICAgICAgICRza3lwZSxcbiAgZGlzY29yZDogICAgICAkZGlzY29yZFxuKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE90aGVyIENvbG91cnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR5ZWxsbzogI0ZGQ0IwOCAhZGVmYXVsdDtcblxuLy8vIEhhbmRsZXMgdGhlIGN1cnNvciBzZWxlY3Rpb24gY29sb3VyXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvc2VsZWN0b3JzL3Mvc2VsZWN0aW9uL1xuXG4kaGlnaGxpZ2h0OiAjQjJEM0ZBICFkZWZhdWx0OyBcbiJdfQ== */