service-centre-finder {
  --heading-colour: white;
  grid-gap: calc(var(--gap) * 2) var(--gutter1) !important;
  border: none !important;
  align-items: center;
}
service-centre-finder h3 {
  font-size: 2em;
  line-height: 1.3;
  margin-bottom: calc(var(--gap) * 2);
}
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%;
  margin-top: calc(var(--gap) * 2);
  border: none;
}
@media (min-width: 769px) {
  service-centre-finder form input {
    width: 80%;
  }
}
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 .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 {
  margin: calc(var(--gap) * 2) 0;
}
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 {
  -webkit-clip-path: url(#SVGID_00000150069684003929109380000009343931992962722728_);
          clip-path: url(#SVGID_00000150069684003929109380000009343931992962722728_);
}
service-centre-finder .map svg .st3 {
  -webkit-clip-path: url(#SVGID_00000150069684003929109380000009343931992962722728_);
          clip-path: url(#SVGID_00000150069684003929109380000009343931992962722728_);
}
service-centre-finder .map svg .st4 {
  -webkit-clip-path: url(#SVGID_00000033367000806706957650000014665013643782968719_);
          clip-path: url(#SVGID_00000033367000806706957650000014665013643782968719_);
}
service-centre-finder .map svg .st5 {
  -webkit-clip-path: url(#SVGID_00000033367000806706957650000014665013643782968719_);
          clip-path: url(#SVGID_00000033367000806706957650000014665013643782968719_);
}
service-centre-finder .map svg .st6 {
  -webkit-clip-path: url(#SVGID_00000090252474677076718520000011195601274676352434_);
          clip-path: url(#SVGID_00000090252474677076718520000011195601274676352434_);
}
service-centre-finder .map svg .st7 {
  -webkit-clip-path: url(#SVGID_00000090252474677076718520000011195601274676352434_);
          clip-path: url(#SVGID_00000090252474677076718520000011195601274676352434_);
}
service-centre-finder .map svg .st9 {
  -webkit-clip-path: url(#SVGID_00000121244253395171394510000003838567394558771854_);
          clip-path: url(#SVGID_00000121244253395171394510000003838567394558771854_);
}
service-centre-finder .map svg .st10 {
  -webkit-clip-path: url(#SVGID_00000121244253395171394510000003838567394558771854_);
          clip-path: url(#SVGID_00000121244253395171394510000003838567394558771854_);
}
service-centre-finder .map svg .st11 {
  -webkit-clip-path: url(#SVGID_00000117665663997787401840000001037760982628412559_);
          clip-path: url(#SVGID_00000117665663997787401840000001037760982628412559_);
}
service-centre-finder .map svg .st12 {
  -webkit-clip-path: url(#SVGID_00000117665663997787401840000001037760982628412559_);
          clip-path: url(#SVGID_00000117665663997787401840000001037760982628412559_);
}
service-centre-finder .map svg .st13 {
  -webkit-clip-path: url(#SVGID_00000052104117246499784250000014449609706177469371_);
          clip-path: url(#SVGID_00000052104117246499784250000014449609706177469371_);
}
service-centre-finder .map svg .st14 {
  -webkit-clip-path: url(#SVGID_00000052104117246499784250000014449609706177469371_);
          clip-path: url(#SVGID_00000052104117246499784250000014449609706177469371_);
}
service-centre-finder .map svg .st15 {
  -webkit-clip-path: url(#SVGID_00000171683277033355057830000008007854479272258230_);
          clip-path: url(#SVGID_00000171683277033355057830000008007854479272258230_);
}
service-centre-finder .map svg .st16 {
  -webkit-clip-path: url(#SVGID_00000171683277033355057830000008007854479272258230_);
          clip-path: url(#SVGID_00000171683277033355057830000008007854479272258230_);
}
service-centre-finder .map svg .st17 {
  -webkit-clip-path: url(#SVGID_00000085241569841122841070000008427798458388486299_);
          clip-path: url(#SVGID_00000085241569841122841070000008427798458388486299_);
}
service-centre-finder .map svg .st18 {
  -webkit-clip-path: url(#SVGID_00000085241569841122841070000008427798458388486299_);
          clip-path: url(#SVGID_00000085241569841122841070000008427798458388486299_);
}
service-centre-finder .map svg .st19 {
  -webkit-clip-path: url(#SVGID_00000183950194555897609850000002080258297449685161_);
          clip-path: url(#SVGID_00000183950194555897609850000002080258297449685161_);
}
service-centre-finder .map svg .st20 {
  -webkit-clip-path: url(#SVGID_00000183950194555897609850000002080258297449685161_);
          clip-path: url(#SVGID_00000183950194555897609850000002080258297449685161_);
}
service-centre-finder .map svg .st21 {
  -webkit-clip-path: url(#SVGID_00000058562246678375135650000005584616311079567512_);
          clip-path: url(#SVGID_00000058562246678375135650000005584616311079567512_);
}
service-centre-finder .map svg .st22 {
  -webkit-clip-path: url(#SVGID_00000058562246678375135650000005584616311079567512_);
          clip-path: url(#SVGID_00000058562246678375135650000005584616311079567512_);
}
service-centre-finder .map svg .st23 {
  -webkit-clip-path: url(#SVGID_00000135656772395391829780000018058390647463039872_);
          clip-path: url(#SVGID_00000135656772395391829780000018058390647463039872_);
}
service-centre-finder .map svg .st24 {
  -webkit-clip-path: url(#SVGID_00000135656772395391829780000018058390647463039872_);
          clip-path: url(#SVGID_00000135656772395391829780000018058390647463039872_);
}
service-centre-finder .map svg .st25 {
  -webkit-clip-path: url(#SVGID_00000169558851855117145340000009826907307613408908_);
          clip-path: url(#SVGID_00000169558851855117145340000009826907307613408908_);
}
service-centre-finder .map svg .st26 {
  -webkit-clip-path: url(#SVGID_00000169558851855117145340000009826907307613408908_);
          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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2VydmljZS1jZW50cmUtZmluZGVyLnNjc3MiLCJjb21wb25lbnRzL3NlcnZpY2UtY2VudHJlLWZpbmRlci5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3MiLCJfdmFyaWFibGVzL2NvbG91cnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2hlbHBlcnMvX2JyZWFrLnNjc3MiLCJfZWxlbWVudHMvbGlzdC5zY3NzIiwiX3ZhcmlhYmxlcy91bml0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvc3R5bGluZy9faG92ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3BhbGV0dGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNFLHVCQUFBO0VBQ0Esd0RBQUE7RUFDQSx1QkFBQTtFQUVBLG1CQUFBO0FDSEY7QURLRTtFRXNJQSxjQUFBO0VBV0ksZ0JBM0ZjO0VGcERoQixtQ0d3Q0k7QUYxQ1I7QURLRTtFQUNFLGNJUU07RUpQTixnQkFBQTtBQ0hKO0FET0k7RUUrSUYsbUJBQUE7RUFXSSxnQkExR2M7RUY5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LGNBQUE7RUFDQSxpQkFBQTtFQUNBLG9ET25iZTtFUG9iZixxRE9wYmU7QU44WmpCO0FEMkJFO0VBQ0UsZ0JBQUE7QUN6Qko7QUQyQkU7RUFDRSxtQkFBQTtFQUNBLGVBQUE7QUN6Qko7QUQwQkk7RUFDRSx5QklwZEk7QUg0YlY7QU9sZEU7RUFDRTtJUjRlRSx5QkFBQTtFQ3ZCSjtFRHdCSTtJQUNFLHlCSXpkRTtFSG1jUjtFRHdCSTtJQUNFLGNJL2RFO0VIeWNSO0FBQ0Y7QUR3Qkk7RUFDRSxjSWplSTtBSDJjVjtBRHVCTTtFQUNFLGNJcmVFO0VKc2VGLG1CQUFBO0FDckJSO0FEd0JJO0VBRUUsMFVBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsNEJBQUE7RUFDQSxxQkFBQTtBQ3ZCTjtBRDJCSTtFQUNFLG9DQUFBO0FDekJOO0FEMkJROztFQUVFLFlBQUE7QUN6QlYiLCJmaWxlIjoiY29tcG9uZW50cy9zZXJ2aWNlLWNlbnRyZS1maW5kZXIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5AdXNlICdtb2R1bGVzL2NvbG91cic7XG5cbnNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIC0taGVhZGluZy1jb2xvdXI6IHdoaXRlO1xuICBncmlkLWdhcDogJGdhcDIgJGd1dHRlciAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgLy8gbWluLWhlaWdodDogNjAwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgaDMge1xuICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDI7XG4gIH1cblxuICAudGV4dCB7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIGg0IHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDAtO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogJGdhcDI7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg3NjgpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgbGlzdC11bCB7XG4gICAgICAtLWxpc3Qtc3R5bGUtY29sb3VyOiAjeyRyZWR9O1xuICAgICAgLS1saXN0LXN0eWxlLXNpemU6IDFlbTtcbiAgICAgIC0tbGluZS1zdHlsZS1zcGFjaW5nOiAwLjZlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICA+ICo6bm90KHBpY3R1cmUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5vcGVuaW5nLXRpbWVzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNCk7XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHRzIHtcbiAgICBtYXJnaW46ICRnYXAyIDA7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmVycm9yIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cblxuICAgIGFkZHJlc3Mge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDE0KTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAmLmRpc3RhbmNlIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTApO1xuICAgICAgICAgIG1hcmdpbi10b3A6ICRnYXAwO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgICAgICAmLmhlYWRpbmcge1xuICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMCAkZ2FwMDtcblxuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHJlZCwgMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgIHBhZGRpbmc6ICRnYXAgJGdhcDA7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDc2OCkge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubG9hZGluZyB7XG4gICAgZm9ybTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAjeyRnYXAwfSk7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgIEBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgICAgZnJvbSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMzBweDtcbiAgICBsZWZ0OiAtNTBweDtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWstaW4oOTgwKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogODAwcHg7XG5cbiAgICAgIC5zdDEge1xuICAgICAgICBmaWxsOiAjZjFmMWYyO1xuICAgICAgfVxuXG4gICAgICAuc3Q4LFxuICAgICAgLnN0MTcsXG4gICAgICAuc3QxOSB7XG4gICAgICAgIGZpbGw6ICNlNTQwNGI7XG4gICAgICB9XG5cbiAgICAgIC5zdDAsXG4gICAgICAuc3QyLFxuICAgICAgLnN0NCxcbiAgICAgIC5zdDYsXG4gICAgICAuc3Q5LFxuICAgICAgLnN0MTEsXG4gICAgICAuc3QxNSxcbiAgICAgIC5zdDE4LFxuICAgICAgLnN0MjAsXG4gICAgICAuc3QyMSxcbiAgICAgIC5zdDIzLFxuICAgICAgLnN0MjUge1xuICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgfVxuXG4gICAgICAuc3QzLFxuICAgICAgLnN0NSxcbiAgICAgIC5zdDcsXG4gICAgICAuc3QxMCxcbiAgICAgIC5zdDEyLFxuICAgICAgLnN0MTQsXG4gICAgICAuc3QxNixcbiAgICAgIC5zdDIyLFxuICAgICAgLnN0MjQsXG4gICAgICAuc3QyNiB7XG4gICAgICAgIGZpbGw6ICMyNTMwNjg7XG4gICAgICB9XG5cbiAgICAgIC5zdDIge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNTAwNjk2ODQwMDM5MjkxMDkzODAwMDAwMDkzNDM5MzE5OTI5NjI3MjI3MjhfKTtcbiAgICAgIH1cbiAgICAgIC5zdDMge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNTAwNjk2ODQwMDM5MjkxMDkzODAwMDAwMDkzNDM5MzE5OTI5NjI3MjI3MjhfKTtcbiAgICAgIH1cbiAgICAgIC5zdDQge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwMzMzNjcwMDA4MDY3MDY5NTc2NTAwMDAwMTQ2NjUwMTM2NDM3ODI5Njg3MTlfKTtcbiAgICAgIH1cbiAgICAgIC5zdDUge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwMzMzNjcwMDA4MDY3MDY5NTc2NTAwMDAwMTQ2NjUwMTM2NDM3ODI5Njg3MTlfKTtcbiAgICAgIH1cbiAgICAgIC5zdDYge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwOTAyNTI0NzQ2NzcwNzY3MTg1MjAwMDAwMTExOTU2MDEyNzQ2NzYzNTI0MzRfKTtcbiAgICAgIH1cbiAgICAgIC5zdDcge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwOTAyNTI0NzQ2NzcwNzY3MTg1MjAwMDAwMTExOTU2MDEyNzQ2NzYzNTI0MzRfKTtcbiAgICAgIH1cbiAgICAgIC5zdDkge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxMjEyNDQyNTMzOTUxNzEzOTQ1MTAwMDAwMDM4Mzg1NjczOTQ1NTg3NzE4NTRfKTtcbiAgICAgIH1cbiAgICAgIC5zdDEwIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTIxMjQ0MjUzMzk1MTcxMzk0NTEwMDAwMDAzODM4NTY3Mzk0NTU4NzcxODU0Xyk7XG4gICAgICB9XG4gICAgICAuc3QxMSB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDExNzY2NTY2Mzk5Nzc4NzQwMTg0MDAwMDAwMTAzNzc2MDk4MjYyODQxMjU1OV8pO1xuICAgICAgfVxuICAgICAgLnN0MTIge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxMTc2NjU2NjM5OTc3ODc0MDE4NDAwMDAwMDEwMzc3NjA5ODI2Mjg0MTI1NTlfKTtcbiAgICAgIH1cbiAgICAgIC5zdDEzIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDUyMTA0MTE3MjQ2NDk5Nzg0MjUwMDAwMDE0NDQ5NjA5NzA2MTc3NDY5MzcxXyk7XG4gICAgICB9XG4gICAgICAuc3QxNCB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA1MjEwNDExNzI0NjQ5OTc4NDI1MDAwMDAxNDQ0OTYwOTcwNjE3NzQ2OTM3MV8pO1xuICAgICAgfVxuICAgICAgLnN0MTUge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNzE2ODMyNzcwMzMzNTUwNTc4MzAwMDAwMDgwMDc4NTQ0NzkyNzIyNTgyMzBfKTtcbiAgICAgIH1cbiAgICAgIC5zdDE2IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTcxNjgzMjc3MDMzMzU1MDU3ODMwMDAwMDA4MDA3ODU0NDc5MjcyMjU4MjMwXyk7XG4gICAgICB9XG4gICAgICAuc3QxNyB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA4NTI0MTU2OTg0MTEyMjg0MTA3MDAwMDAwODQyNzc5ODQ1ODM4ODQ4NjI5OV8pO1xuICAgICAgfVxuICAgICAgLnN0MTgge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwODUyNDE1Njk4NDExMjI4NDEwNzAwMDAwMDg0Mjc3OTg0NTgzODg0ODYyOTlfKTtcbiAgICAgIH1cbiAgICAgIC5zdDE5IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTgzOTUwMTk0NTU1ODk3NjA5ODUwMDAwMDAyMDgwMjU4Mjk3NDQ5Njg1MTYxXyk7XG4gICAgICB9XG4gICAgICAuc3QyMCB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE4Mzk1MDE5NDU1NTg5NzYwOTg1MDAwMDAwMjA4MDI1ODI5NzQ0OTY4NTE2MV8pO1xuICAgICAgfVxuICAgICAgLnN0MjEge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwNTg1NjIyNDY2NzgzNzUxMzU2NTAwMDAwMDU1ODQ2MTYzMTEwNzk1Njc1MTJfKTtcbiAgICAgIH1cbiAgICAgIC5zdDIyIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDU4NTYyMjQ2Njc4Mzc1MTM1NjUwMDAwMDA1NTg0NjE2MzExMDc5NTY3NTEyXyk7XG4gICAgICB9XG4gICAgICAuc3QyMyB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDEzNTY1Njc3MjM5NTM5MTgyOTc4MDAwMDAxODA1ODM5MDY0NzQ2MzAzOTg3Ml8pO1xuICAgICAgfVxuICAgICAgLnN0MjQge1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxMzU2NTY3NzIzOTUzOTE4Mjk3ODAwMDAwMTgwNTgzOTA2NDc0NjMwMzk4NzJfKTtcbiAgICAgIH1cbiAgICAgIC5zdDI1IHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTY5NTU4ODUxODU1MTE3MTQ1MzQwMDAwMDA5ODI2OTA3MzA3NjEzNDA4OTA4Xyk7XG4gICAgICB9XG4gICAgICAuc3QyNiB7XG4gICAgICAgIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE2OTU1ODg1MTg1NTExNzE0NTM0MDAwMDAwOTgyNjkwNzMwNzYxMzQwODkwOF8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFpbiBDb21wb25lbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5tYWluIHtcbiAgLmNvbnRlbnQtYmxvY2tbZGF0YS1jb3VudD0nMSddW2RhdGEtYmxvY2tzKj0nc2VydmljZS1jZW50cmUtZmluZGVyJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB9XG59XG5cbi8vLyBSb290IENvbXBvbmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWJsb3dvdXQ7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGNsaXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXG4gIC5sZWZ0IHtcbiAgICBwYWRkaW5nOiAkc3BhY2VyIDA7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgfVxuXG4gIC5yaWdodCB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLmltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDUwdnc7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRwcmltYXJ5IDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVhay1pbig5ODApIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDMzdmg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGd1dHRlcn0gKiAtMSk7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG4gIHBpY3R1cmUuaW1hZ2Uge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBpbWcge1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrLW91dCg5ODApIHtcbiAgICAmLmxheW91dC1jb250ZW50LWxlZnQtc2lkZWJhciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIC5kZXRhaWxzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICYuc3BsaXQge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tZ2FwOiAkZ2FwO1xuICAgICAgICBAaW5jbHVkZSBicmVhay1pbihzbWFsbC1tZWRpdW0pIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIG1hcmdpbi10b3A6ICRnYXAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrLWluKHNtYWxsLW1lZGl1bSkge1xuICAgIH4gc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNpZGViYXIgQ29tcG9uZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgb3JkZXI6IC0xO1xuICBoMyB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy1oMztcbiAgfVxuXG4gID4gcGljdHVyZS5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICB9XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubWFwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoMyB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gICAgLnJlc3VsdHMge1xuICAgICAgb3JkZXI6IDQ7XG4gICAgICAmICsgLm9wZW5pbmctdGltZXMge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAkZ2FwMCAkZ2FwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEod2hpdGUsIDAuNCk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMGRlZywgdHJhbnNwYXJlbnQsIHJnYmEod2hpdGUsIDAuMSkpO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgY29sb3I6ICRyZWQtbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmRldGFpbHMge1xuICAgICAgb3JkZXI6IDU7XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdHMgYWRkcmVzcyB7XG4gICAgYSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgICAmID4gKiB7XG4gICAgICAgIHBhZGRpbmc6ICRnYXAwO1xuICAgICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3BlbmluZy10aW1lcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRyZXNzIEF1dG9Db21tcGxldGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWMtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAvLyBtYXJnaW4tdG9wOmNhbGMoLTEgKiAjeyRib3JkZXItcmFkaXVzfSk7XG5cbiAgLy8gUmVtb3ZpbmcgdGhlIEdvb2dsZSBsb2dvIGFsbW9zdCBjZXJ0YWlubHkgZ29lcyBhZ2FpbnN0IHRoZSBUZXJtcyBvZiBVc2UuXG4gIC8vIEJ1dCBpdCdzIHNvIHVnbHkgYW5kIHdhc24ndCBwYXJ0IG9mIHRoZSBkZXNpZ24uIFJlbW92ZSB0aGlzIGxpbmUgdG8gZ2V0IGl0IGJhY2suXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBpbml0aWFsO1xuICB9XG4gIC5wYWMtaXRlbSB7XG4gICAgYm9yZGVyLXRvcDogaW5pdGlhbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTM7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXkzO1xuICAgICAgfVxuICAgICAgLnBhYy1pdGVtLXF1ZXJ5IHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWMtaXRlbS1xdWVyeSB7XG4gICAgICBjb2xvcjogJGZvbnQtY29sb3VyO1xuICAgICAgLnBhYy1tYXRjaGVkIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWMtaWNvbiB7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNiclM0UlM0NwYXRoIGZpbGw9J1wiICsgY29sb3VyLmVuY29kZSgkcmVkKSArIFwiJyBkPSdNNS41IDBDMi41IDAgMCAyLjUgMCA1LjUgMCA4LjMgNS4yIDE1LjIgNS41IDE2Yy4zLS44IDUuNS03LjcgNS41LTEwLjVDMTEgMi41IDguNSAwIDUuNSAwem0wIDguNmMtMS43IDAtMy4xLTEuNC0zLjEtMy4xIDAtMS43IDEuNC0zLjEgMy4xLTMuMXMzLjEgMS40IDMuMSAzLjFjMCAxLjctMS40IDMuMS0zLjEgMy4xeicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMTJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXJnaW46IDVweCA2cHggMCAycHg7XG5cbiAgICAgIC8vIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gICAgJi5wYWMtaXRlbS1zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgLnBhYy1pdGVtLXF1ZXJ5IHtcbiAgICAgICAgJixcbiAgICAgICAgLnBhYy1tYXRjaGVkIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsInNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIC0taGVhZGluZy1jb2xvdXI6IHdoaXRlO1xuICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApICogMikgdmFyKC0tZ3V0dGVyMSkgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgaDMge1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnRleHQge1xuICBjb2xvcjogI0RGMzAzNTtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciBmb3JtIGg0IHtcbiAgZm9udC1zaXplOiAxLjU2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICNERjMwMzU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAtMC41KTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciBmb3JtIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBib3JkZXI6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgc2VydmljZS1jZW50cmUtZmluZGVyIGZvcm0gaW5wdXQge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciBmb3JtIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIHVsIHtcbiAgLS1saXN0LXN0eWxlLWNvbG91cjogI0RGMzAzNTtcbiAgLS1saXN0LXN0eWxlLXNpemU6IDFlbTtcbiAgLS1saW5lLXN0eWxlLXNwYWNpbmc6IDAuNmVtO1xuICBjb2xvcjogd2hpdGU7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgdWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzREYzMDM1JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKSAqIDEuOCk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgdWwgPiBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbGluZS1zdHlsZS1zcGFjaW5nLCB2YXIoLS1nYXApKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciB1bCA+IGxpOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMC4xZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbiAgaGVpZ2h0OiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgPiAqOm5vdChwaWN0dXJlKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAub3BlbmluZy10aW1lcyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5vcGVuaW5nLXRpbWVzIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAub3BlbmluZy10aW1lcyB1bCBsaSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5vcGVuaW5nLXRpbWVzIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5yZXN1bHRzIHtcbiAgbWFyZ2luOiBjYWxjKHZhcigtLWdhcCkgKiAyKSAwO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5yZXN1bHRzOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyAuZXJyb3Ige1xuICBjb2xvcjogI0RGMzAzNTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHAge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHAuZGlzdGFuY2Uge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgb3BhY2l0eTogMC43O1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5yZXN1bHRzIGFkZHJlc3MgcC5oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyBwIHNwYW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHN2ZyB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGZpbGw6IHdoaXRlO1xuICBmbG9hdDogbGVmdDtcbiAgdG9wOiA1cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNERjMwMzUpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwIGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZjFkMjI7XG4gIH1cbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzID4gYSA+ICoge1xuICBwYWRkaW5nOiB2YXIoLS1nYXApIGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGEgPiAqOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyA+IGEgPiAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIubG9hZGluZyBmb3JtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBjYWxjKDEwMCUgKyBjYWxjKHZhcigtLWdhcCkgKiAwLjUpKTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuQGtleWZyYW1lcyByb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMwcHg7XG4gIGxlZnQ6IC01MHB4O1xuICB6LWluZGV4OiAzO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MDBweDtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxIHtcbiAgZmlsbDogI2YxZjFmMjtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q4LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE3LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE5IHtcbiAgZmlsbDogI2U1NDA0Yjtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QwLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDIsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0NCxcbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q2LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDksXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTEsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTUsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTgsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjAsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjEsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjMsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjUge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDMsXG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0NSxcbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q3LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDEwLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDEyLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE0LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE2LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDIyLFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDI0LFxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDI2IHtcbiAgZmlsbDogIzI1MzA2ODtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyIHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTUwMDY5Njg0MDAzOTI5MTA5MzgwMDAwMDA5MzQzOTMxOTkyOTYyNzIyNzI4Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MyB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE1MDA2OTY4NDAwMzkyOTEwOTM4MDAwMDAwOTM0MzkzMTk5Mjk2MjcyMjcyOF8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDQge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwMzMzNjcwMDA4MDY3MDY5NTc2NTAwMDAwMTQ2NjUwMTM2NDM3ODI5Njg3MTlfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q1IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDMzMzY3MDAwODA2NzA2OTU3NjUwMDAwMDE0NjY1MDEzNjQzNzgyOTY4NzE5Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0NiB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA5MDI1MjQ3NDY3NzA3NjcxODUyMDAwMDAxMTE5NTYwMTI3NDY3NjM1MjQzNF8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDcge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwOTAyNTI0NzQ2NzcwNzY3MTg1MjAwMDAwMTExOTU2MDEyNzQ2NzYzNTI0MzRfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3Q5IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTIxMjQ0MjUzMzk1MTcxMzk0NTEwMDAwMDAzODM4NTY3Mzk0NTU4NzcxODU0Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTAge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxMjEyNDQyNTMzOTUxNzEzOTQ1MTAwMDAwMDM4Mzg1NjczOTQ1NTg3NzE4NTRfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxMSB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDExNzY2NTY2Mzk5Nzc4NzQwMTg0MDAwMDAwMTAzNzc2MDk4MjYyODQxMjU1OV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDEyIHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTE3NjY1NjYzOTk3Nzg3NDAxODQwMDAwMDAxMDM3NzYwOTgyNjI4NDEyNTU5Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTMge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwNTIxMDQxMTcyNDY0OTk3ODQyNTAwMDAwMTQ0NDk2MDk3MDYxNzc0NjkzNzFfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxNCB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA1MjEwNDExNzI0NjQ5OTc4NDI1MDAwMDAxNDQ0OTYwOTcwNjE3NzQ2OTM3MV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE1IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTcxNjgzMjc3MDMzMzU1MDU3ODMwMDAwMDA4MDA3ODU0NDc5MjcyMjU4MjMwXyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTYge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNzE2ODMyNzcwMzMzNTUwNTc4MzAwMDAwMDgwMDc4NTQ0NzkyNzIyNTgyMzBfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxNyB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDA4NTI0MTU2OTg0MTEyMjg0MTA3MDAwMDAwODQyNzc5ODQ1ODM4ODQ4NjI5OV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE4IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDg1MjQxNTY5ODQxMTIyODQxMDcwMDAwMDA4NDI3Nzk4NDU4Mzg4NDg2Mjk5Xyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MTkge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxODM5NTAxOTQ1NTU4OTc2MDk4NTAwMDAwMDIwODAyNTgyOTc0NDk2ODUxNjFfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyMCB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE4Mzk1MDE5NDU1NTg5NzYwOTg1MDAwMDAwMjA4MDI1ODI5NzQ0OTY4NTE2MV8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDIxIHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMDU4NTYyMjQ2Njc4Mzc1MTM1NjUwMDAwMDA1NTg0NjE2MzExMDc5NTY3NTEyXyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjIge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAwNTg1NjIyNDY2NzgzNzUxMzU2NTAwMDAwMDU1ODQ2MTYzMTEwNzk1Njc1MTJfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyMyB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDEzNTY1Njc3MjM5NTM5MTgyOTc4MDAwMDAxODA1ODM5MDY0NzQ2MzAzOTg3Ml8pO1xufVxuc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDI0IHtcbiAgY2xpcC1wYXRoOiB1cmwoI1NWR0lEXzAwMDAwMTM1NjU2NzcyMzk1MzkxODI5NzgwMDAwMDE4MDU4MzkwNjQ3NDYzMDM5ODcyXyk7XG59XG5zZXJ2aWNlLWNlbnRyZS1maW5kZXIgLm1hcCBzdmcgLnN0MjUge1xuICBjbGlwLXBhdGg6IHVybCgjU1ZHSURfMDAwMDAxNjk1NTg4NTE4NTUxMTcxNDUzNDAwMDAwMDk4MjY5MDczMDc2MTM0MDg5MDhfKTtcbn1cbnNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QyNiB7XG4gIGNsaXAtcGF0aDogdXJsKCNTVkdJRF8wMDAwMDE2OTU1ODg1MTg1NTExNzE0NTM0MDAwMDAwOTgyNjkwNzMwNzYxMzQwODkwOF8pO1xufVxuXG5tYWluIC5jb250ZW50LWJsb2NrW2RhdGEtY291bnQ9XCIxXCJdW2RhdGEtYmxvY2tzKj1zZXJ2aWNlLWNlbnRyZS1maW5kZXJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMWY2Yjtcbn1cblxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGNsaXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG59XG5ib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXRyYW5zbGF0ZVgsIC01MCUpKTtcbn1cbmJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKSAwO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmlnaHQge1xuICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmlnaHQgLmltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBtaW4td2lkdGg6IDUwdnc7XG59XG5ib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5yaWdodCAuaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5ib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5yaWdodCAuaW1hZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXByaW1hcnksICMxMzFmNmIpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICB6LWluZGV4OiAyO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJpZ2h0IC5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMzN2aDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ndXR0ZXIxKSAqIC0xKTtcbiAgfVxuICBib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5yaWdodCAuaW1hZ2U6OmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlcjpiZWZvcmUge1xuICB6LWluZGV4OiAwO1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciBwaWN0dXJlLmltYWdlIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciBwaWN0dXJlLmltYWdlIGltZyB7XG4gIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIubGF5b3V0LWNvbnRlbnQtbGVmdC1zaWRlYmFyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmRldGFpbHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBib2R5ID4gc2VydmljZS1jZW50cmUtZmluZGVyIHVsLnNwbGl0IHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tZ2FwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keSA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB1bC5zcGxpdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkgPiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgfiBzaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICBvcmRlcjogLTE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgaDMge1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyID4gcGljdHVyZS5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwLjU7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQgaDMge1xuICBvcmRlcjogMTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCBmb3JtIHtcbiAgb3JkZXI6IDI7XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQgLnJlc3VsdHMge1xuICBvcmRlcjogNDtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCAucmVzdWx0cyArIC5vcGVuaW5nLXRpbWVzIHtcbiAgb3JkZXI6IDM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMC41KSB2YXIoLS1nYXApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG5zaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLmxlZnQgLnJlc3VsdHMgKyAub3BlbmluZy10aW1lcyBzdHJvbmcge1xuICBjb2xvcjogI2U0NGY1Mztcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAubGVmdCAuZGV0YWlscyB7XG4gIG9yZGVyOiA1O1xufVxuc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIC5yZXN1bHRzIGFkZHJlc3MgYSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIGEgPiAqIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIGEgPiAqOmZpcnN0LWNoaWxkLCBzaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIgLnJlc3VsdHMgYWRkcmVzcyBhID4gKjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbnNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAucmVzdWx0cyBhZGRyZXNzIGEgLm9wZW5pbmctdGltZXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFjLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG59XG4ucGFjLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBpbml0aWFsO1xufVxuLnBhYy1jb250YWluZXIgLnBhYy1pdGVtIHtcbiAgYm9yZGVyLXRvcDogaW5pdGlhbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBhYy1jb250YWluZXIgLnBhYy1pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5wYWMtY29udGFpbmVyIC5wYWMtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgfVxuICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW06aG92ZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIH1cbiAgLnBhYy1jb250YWluZXIgLnBhYy1pdGVtOmhvdmVyIC5wYWMtaXRlbS1xdWVyeSB7XG4gICAgY29sb3I6ICNERjMwMzU7XG4gIH1cbn1cbi5wYWMtY29udGFpbmVyIC5wYWMtaXRlbSAucGFjLWl0ZW0tcXVlcnkge1xuICBjb2xvcjogIzZBNkE2QTtcbn1cbi5wYWMtY29udGFpbmVyIC5wYWMtaXRlbSAucGFjLWl0ZW0tcXVlcnkgLnBhYy1tYXRjaGVkIHtcbiAgY29sb3I6ICNERjMwMzU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4ucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0gLnBhYy1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNiclM0UlM0NwYXRoIGZpbGw9JyUyM0RGMzAzNScgZD0nTTUuNSAwQzIuNSAwIDAgMi41IDAgNS41IDAgOC4zIDUuMiAxNS4yIDUuNSAxNmMuMy0uOCA1LjUtNy43IDUuNS0xMC41QzExIDIuNSA4LjUgMCA1LjUgMHptMCA4LjZjLTEuNyAwLTMuMS0xLjQtMy4xLTMuMSAwLTEuNyAxLjQtMy4xIDMuMS0zLjFzMy4xIDEuNCAzLjEgMy4xYzAgMS43LTEuNCAzLjEtMy4xIDMuMXonLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCAxMnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXJnaW46IDVweCA2cHggMCAycHg7XG59XG4ucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0ucGFjLWl0ZW0tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiICFpbXBvcnRhbnQ7XG59XG4ucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0ucGFjLWl0ZW0tc2VsZWN0ZWQgLnBhYy1pdGVtLXF1ZXJ5LFxuLnBhYy1jb250YWluZXIgLnBhYy1pdGVtLnBhYy1pdGVtLXNlbGVjdGVkIC5wYWMtaXRlbS1xdWVyeSAucGFjLW1hdGNoZWQge1xuICBjb2xvcjogd2hpdGU7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhlYWRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJy4vY29sbGVjdGlvbnMvZm9udCc7XG5AdXNlICcuL21vZHVsZXMvdW5pdCc7XG5cbi8vIERlZmF1bHQgSGVhZGluZyBWYWx1ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMSA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDMuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuMVxuKSAhZGVmYXVsdDtcblxuJGgyIDogKFxuICAnZm9udC1zaXplJyAgIDogMi41cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4zXG4pICFkZWZhdWx0O1xuXG4kaDMgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjJyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNCA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg1IDogKFxuICAnZm9udC1zaXplJyAgIDogMS44cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDYgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjZyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRiYXNlIDogNjIuNSAhZGVmYXVsdDtcbiRzY2FsZXIgOiAxLjV2dyAhZGVmYXVsdDtcbiRlbmFibGUtY3JvcHBpbmcgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFsbGJhY2sgTGluZS1oZWlnaHRzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDEsIFwibGluZS1oZWlnaHRcIikgeyAkaDEgOiBtYXAuc2V0KCRoMSwgJ2xpbmUtaGVpZ2h0JywgMS4xKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDIsIFwibGluZS1oZWlnaHRcIikgeyAkaDIgOiBtYXAuc2V0KCRoMiwgJ2xpbmUtaGVpZ2h0JywgMS4zKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDMsIFwibGluZS1oZWlnaHRcIikgeyAkaDMgOiBtYXAuc2V0KCRoMywgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDQsIFwibGluZS1oZWlnaHRcIikgeyAkaDQgOiBtYXAuc2V0KCRoNCwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDUsIFwibGluZS1oZWlnaHRcIikgeyAkaDUgOiBtYXAuc2V0KCRoNSwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDYsIFwibGluZS1oZWlnaHRcIikgeyAkaDYgOiBtYXAuc2V0KCRoNiwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuXG4vLyBEZWZpbmUgdGhlIHZhcmlhYmxlcyBzbyB0aGV5IGFyZSBzdGlsbCBhY2Nlc2libGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaDEtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgxLCAnZm9udC1zaXplJyk7XG4kaDEtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgxLCAnbGluZS1oZWlnaHQnKTtcbiRoMS1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMS1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDEsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGgyLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMiwgJ2ZvbnQtc2l6ZScpO1xuJGgyLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDItZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDItc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgyLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoMy1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDMsICdmb250LXNpemUnKTtcbiRoMy1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDMsICdsaW5lLWhlaWdodCcpO1xuJGgzLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgzLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMywgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDQtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg0LCAnZm9udC1zaXplJyk7XG4kaDQtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg0LCAnbGluZS1oZWlnaHQnKTtcbiRoNC1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNC1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDQsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg1LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNSwgJ2ZvbnQtc2l6ZScpO1xuJGg1LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNSwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDUtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDUtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg1LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNi1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDYsICdmb250LXNpemUnKTtcbiRoNi1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDYsICdsaW5lLWhlaWdodCcpO1xuJGg2LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg2LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNiwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4vLyBIYW5kbGVzIENyb3BzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kX2gxLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMSwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oMi1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDIsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDMtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgzLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g0LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNCwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNS1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDUsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDYtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg2LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG5cbiRfaDEtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgxLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2gyLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMiwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oMy1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDMsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDQtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg0LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g1LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNSwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNi1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDYsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcblxuXG4vLyBNaXhpbnMgZm9yIGVhY2ggaGVhZGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX3NldC1jcm9wKCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNyb3ApIHtcblxuICBAaWYgKG1ldGEudHlwZS1vZigkY3JvcCkgPT0gJ21hcCcpIHtcblxuICAgICRmb250LXNpemUgICA6IHVuaXQuc3RyaXAoJGZvbnQtc2l6ZSkgKiAxMDtcbiAgICAkbGluZS1oZWlnaHQgOiB1bml0LnN0cmlwKCRsaW5lLWhlaWdodCk7XG4gICAgJHRvcCAgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwidG9wXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwidG9wXCIpKSwgMCk7XG4gICAgJGJvdHRvbSAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwiYm90dG9tXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwiYm90dG9tXCIpKSwgMCk7XG5cbiAgICBAaW5jbHVkZSBmb250LmNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkdG9wLCAkYm90dG9tKTtcblxuICB9XG5cbn1cblxuQG1peGluIGgxKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgxLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgxLWZvbnQtc2l6ZS1taW4gYW5kICRoMS1mb250LXNpemUtbWluIDwgJGgxLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplLW1pbil9LCAjeyRoMS1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDEtZm9udC1zaXplLCAkaDEtbGluZS1oZWlnaHQsICRfaDEtY3JvcC10b3AsICRfaDEtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMS1saW5lLWhlaWdodDsgXG4gICAgfVxuXG4gIH1cblxufVxuXG5AbWl4aW4gaDIoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDItZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDItZm9udC1zaXplLW1pbiBhbmQgJGgyLWZvbnQtc2l6ZS1taW4gPCAkaDItZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMi1mb250LXNpemUtbWluKX0sICN7JGgyLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMi1mb250LXNpemUsICRoMi1saW5lLWhlaWdodCwgJF9oMi1jcm9wLXRvcCwgJF9oMi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgyLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDMoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDMtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDMtZm9udC1zaXplLW1pbiBhbmQgJGgzLWZvbnQtc2l6ZS1taW4gPCAkaDMtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMy1mb250LXNpemUtbWluKX0sICN7JGgzLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMy1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMy1mb250LXNpemUsICRoMy1saW5lLWhlaWdodCwgJF9oMy1jcm9wLXRvcCwgJF9oMy1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgzLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDQoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDQtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDQtZm9udC1zaXplLW1pbiBhbmQgJGg0LWZvbnQtc2l6ZS1taW4gPCAkaDQtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNC1mb250LXNpemUtbWluKX0sICN7JGg0LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNC1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNC1mb250LXNpemUsICRoNC1saW5lLWhlaWdodCwgJF9oNC1jcm9wLXRvcCwgJF9oNC1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg0LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDUoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDUtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDUtZm9udC1zaXplLW1pbiBhbmQgJGg1LWZvbnQtc2l6ZS1taW4gPCAkaDUtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNS1mb250LXNpemUtbWluKX0sICN7JGg1LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNS1mb250LXNpemUsICRoNS1saW5lLWhlaWdodCwgJF9oNS1jcm9wLXRvcCwgJF9oNS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg1LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDYoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDYtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDYtZm9udC1zaXplLW1pbiBhbmQgJGg2LWZvbnQtc2l6ZS1taW4gPCAkaDYtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNi1mb250LXNpemUtbWluKX0sICN7JGg2LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wMigkaDYtZm9udC1zaXplLCAkaDYtbGluZS1oZWlnaHQsICRfaDYtY3JvcC10b3AsICRfaDYtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNi1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoJG1pbiA9PSAwLCAwcHgsICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29sb3Vyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEV4cGxpY2l0IENvbG91cnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBFeHBsaWNpdCBjb2xvdXJzIGFyZSBhIHdoYXQgdGhleSBhcmUuIEdyZWVuIGlzIGdyZWVuLCBibHVlIGlzIGJsdWUuLi4gbm8gb2JzY3VyaXR5LlxuLy8vIFdlIHN1ZmZpeCBudW1iZXJzIHRvIGRlZmluZSB2YXJpYXRpb25zIG9mIGNvbG91cnMgaW4gbm8gcGFydGljdWxhciBvcmRlciBvZiBzaGFkZS4gXG4vLy8gRXhhbXBsZTogZ3JlZW4xLCBncmVlbjIsIGdyZWVuMywgZ3JlZW40LiBUaGlzIGlzIHNvIHdlIGNhbiBpbW1pZGlhdGVseSBzZWUgaG93IFxuLy8vIG1hbnkgb3B0aW9ucyB3ZSBoYXZlIGZvciBhIHNpbmdsZSBjb2xvdXIgYXQgYSBnbGFuY2UuIElmIHlvdSBzZWUgJGdyZWVuNCwgeW91IGtub3cgdGhpc1xuLy8vIHByb2plY3QgaXMgdXNpbmcgZm91ciB2YXJpYXRpb25zIG9mIGdyZWVuLiBUaGlzIGlzIGFsc28gb2Z0ZW4gdXNlZnVsIGJlY2F1c2UgbWFueSBkZXZlbG9wbWVudCBcbi8vLyB0b29scyB3aWxsIGF1dG8tc3VnZ2VzdCBjb2xvdXJzIHdpdGggYWN0dWFsIGV4YW1wbGVzIG9mIHRoZSBjb2xvdXIuIFxuLy8vIFRoZSBQYWxsZXRlcyBtb2R1bGUgKGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlKSB3aWxsIG91dHB1dCBzaGFkZWQgbmFtZWQgdmFyaWF0aW9ucywgXG4vLy8vIDxjb2xvdXI+LWRhcmsgYW5kIDxjb2xvdXI+LWxpZ2h0LiBJZiB5b3UgbmVlZCBhZGRpdGlvbmFsIHNoYWRlcyBwbGVhc2UgcmVmcmFpbSBmcm9tIGdvaW5nIGRvd24gXG4vLy8gdGhlICdsaWdodGVyJywgJ2xpZ2h0ZXN0JywgJ2RhcmtlcicsICdkYXJrZXN0JyBjb252ZW50aW9uLiBUaGVzZSBhcmUgbm90IHBhcnRpY3Vhcmx5IGxlZ2lhYmxlIFxuLy8vIGFuZCB0aGV5IGFyZSBsaW1pdGVkIGJ5IGhvdyBjcmVhdGl2ZSAoY29uZnVzaW5nKSB5b3VyIHdvcmRpbmcgY2FuIGJlLiBcbi8vLyBJdCBpcyBiZXR0ZXIgdG8gZGVmaW5lIGEgbmV3IGV4cGxjaXQgY29sb3VyIGVudGlyZWx5LiBcbi8vLyBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vd2hhdC1kby15b3UtbmFtZS1jb2xvci12YXJpYWJsZXMvXG5cbiRibHVlICAgOiAjMTMxZjZiOyAvLyBQcmltYXJ5XG4kYmx1ZTIgIDogIzI5MkI2ODsgLy8gTmFrZWQgTGlua1xuJGJsdWUzICA6ICMzZDNmN2Y7IC8vIExpZ250IEdyYWRpZW50XG4kYmx1ZTQgIDogIzEwMTI0ZDsgLy8gRGFyayBHcmFkaWVudFxuJGJsdWU1ICA6ICMwMDk1RkY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlciAgXG4vLyAkcmVkICAgIDogI0UwM0E0MDsgLy8gU2Vjb25kYXJ5XG4kcmVkICAgIDogI0RGMzAzNTsgLy8gU2Vjb25kYXJ5IC0gVGhpcyBwYXNzZXMgdGhlIGNvbnRyYXN0IHJhdGlvIGFjY2Vzc2liaWxpdHkgdGVzdCBpbiBHb29nbGVzIExpZ2h0aG91c2UgXG4kZ3JleSAgIDogIzk2OTY5NTtcbiRncmV5MiAgOiAjNkE2QTZBOyAvLyBGb250XG4kZ3JleTMgIDogI0Y0RjRGNDsgLy8gTGlnaHRlciBHcmV5IEJhY2tncm91bmRcbiRncmV5NCAgOiAjZGNkY2RjOyBcbiRncmV5NSAgOiAjQjFCMUIxOyAvLyBTcGFjZXJzIDxocj5cbiRncmV5NiAgOiAjMzMzMjM2OyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXIgIFxuJGdyZWVuICA6ICM1MEJDMDg7XG4kZ3JlZW4yIDogIzc2YmIyODsgLy8gRVNHIGdyZWVuXG4keWVsbG93IDogI0Y2RjREQjsgLy8gRGlzY2xhaW1lciBCYWNrZ3JvdW5kXG4keWVsbG93MiA6ICNGQ0IwMDI7IFxuJGJsYWNrICA6ICMxRTFBMUE7XG5cbiRtYXJrIDogJGJsdWU1OyAvLyBiYWNrZ3JvdW5kIGNvbG91ciBmb3IgPG1hcms+IHRhZ3NcblxuJHByaW1hcnkgICA6IHZhcigtLXByaW1hcnksICAjeyRibHVlfSk7XG4kc2Vjb25kYXJ5IDogdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcblxuLy8vIFBhbGV0dGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBCeSBsb2FkaW5nIGNvbmZpZ3VyYXRpb25zIGludG8gdGhpcyAncGFsbGV0ZScgbW9kdWxlLCB3ZSB3aWxsIGJlIGFibGVcbi8vLyB0byBkZWNsYXJlIHZhcmlhbnRzIG9mIGEgZmV3IGNvbW1vbiBjb2xvdXJzLiBZb3UgY2FuIGFsc28gYWRqdXN0IHRoZSBsaWdodG5lc3Ncbi8vLyBvciBkYXJrbmVzcyBvZiBlYWNoIHZhcmlhbnQgYnkgcGFzc2luZyBpbiB0aGUgcmVsZXZhbnQgcHJpdmF0ZSBydWxlcy4gXG4vLy8gUGFsZXR0ZSB3aWxsIGFsc28gZXhwb3NlIHBvcHVsYXIgc29jaWFsIG1lZGlhIGNvbG91cnMgYW5kIHRoZSBZZWxsbyBicmFuZCBjb2xvdXIuXG4vLy8gQHNlZSBodHRwczovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi9hdC1ydWxlcy9mb3J3YXJkI2NvbmZpZ3VyaW5nLW1vZHVsZXNcbi8vLyBAb3V0cHV0ICRncmVlbiA6ICMwMjkyOUE7ICRncmVlbi1kYXJrIDogIzI1NjU2OTsgJGdyZWVuLWxpZ2h0OiAjMDRiOWM0O1xuXG5AZm9yd2FyZCAnY3JlYXRlL3BhbGV0dGUnIHdpdGggKFxuICAkYmx1ZSAgIDogJGJsdWUsXG4gICRyZWQgICAgOiAkcmVkLFxuICAkZ3JleSAgIDogJGdyZXksXG4gICR5ZWxsb3cgOiAkeWVsbG93LFxuICAkZ3JlZW4gIDogJGdyZWVuLFxuICAkYmxhY2sgIDogJGJsYWNrXG4pO1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCcmVhayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFrXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gb3V0KCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JGJyZWFrcG9pbnQgKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbigkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1heC13aWR0aDojeyRicmVha3BvaW50fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skbWlufSkgYW5kIChtYXgtd2lkdGg6I3skbWF4fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJ2NvbGxlY3Rpb25zL2ZvbnQvY3JvcCcgYXMgZm9udDtcbkB1c2UgJ21vZHVsZXMvY29sb3VyL2VuY29kZScgYXMgY29sb3VyO1xuXG5AbWl4aW4gc3R5bGUoJGZpbGwsICRzdHJva2UgOiB3aGl0ZSkge1xuICA+IGxpOjpiZWZvcmUgeyBcbiAgICBjb250ZW50OnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9J1wiK2NvbG91ci5lbmNvZGUoJGZpbGwpK1wiJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSdcIitjb2xvdXIuZW5jb2RlKCRzdHJva2UpK1wiJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuXG4vLyBVbm9yZGVyZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gdWwoJGxpc3Qtc3R5bGUtY29sb3VyIDogJHJlZCwgJGxpc3Qtc3R5bGUtYWNjZW50LWNvbG91ciA6IHdoaXRlKSB7XG5cbiAgQGluY2x1ZGUgc3R5bGUoJGxpc3Qtc3R5bGUtY29sb3VyLCAkbGlzdC1zdHlsZS1hY2NlbnQtY29sb3VyKTtcblxuICA+IGxpIHsgXG5cbiAgICBwb3NpdGlvbiAgICAgOiByZWxhdGl2ZTsgXG4gICAgcGFkZGluZy1sZWZ0ICA6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcblxuICAgICYgKyBsaSB7IG1hcmdpbi10b3AgOiB2YXIoLS1saW5lLXN0eWxlLXNwYWNpbmcsICN7JGdhcH0pOyB9XG4gICAgXG4gICAgJjo6YmVmb3JlIHsgXG4gICAgICBkaXNwbGF5ICA6IGlubGluZS1ibG9jazsgXG4gICAgICB0b3AgICAgICA6IDAuMWVtOyBcbiAgICAgIGxlZnQgICAgIDogMDsgXG4gICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgICAgd2lkdGggICAgOiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7IFxuICAgICAgaGVpZ2h0ICAgOiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7IFxuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xuXG59XG5cbi8vIE9yZGVyZWQgTGlzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBvbCgpIHtcblxuICBjb3VudGVyLXJlc2V0IDogY291bnRlcjtcblxuICA+IGxpIHsgXG4gICAgcG9zaXRpb24gICAgIDogcmVsYXRpdmU7IFxuICAgIGRpc3BsYXkgICAgICA6IGJsb2NrOyBcbiAgICBwYWRkaW5nLWxlZnQgOiAyMnB4O1xuICAgIG1hcmdpbi1sZWZ0ICA6IHZhcigtLWxpc3Qtc3R5bGUtb2Zmc2V0LCAwKTtcblxuICAgICYgKyBsaSB7IG1hcmdpbi10b3A6JGdhcDA7IH1cblxuICAgICY6OmJlZm9yZSB7IFxuICAgICAgY29udGVudCAgICAgICAgICAgOiBjb3VudGVyKGNvdW50ZXIpJy4nO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQgOiBjb3VudGVyO1xuICAgICAgY29sb3IgICAgICAgICAgICAgOiB2YXIoLS1saXN0LXN0eWxlLWNvbG91ciwgdmFyKC0tcHJpbWFyeSkpOyBcbiAgICAgIHBvc2l0aW9uICAgICAgICAgIDogcmVsYXRpdmU7IFxuICAgICAgbWFyZ2luLXJpZ2h0OjAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xuICBcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL21hcmtub3R0b24vcGVuL0V4UGJOR2Vcbi8vLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrbm90dG9uL2RvZ2dpc3R5bGUvYmxvYi9tYXN0ZXIvbGlicmFyeS9zcmMvY3JlYXRlL191bml0cy5zY3NzXG5cbi8vLyBUaGlzIHVuaXRzIGNyZWF0b3Igd2lsbCByZW5kZXIgc2l4IHBvc2l0aXZlIGFuZCBzaXggbmVnYXRpdmUgc2FzcyB2YXJpYWJsZXMgZm9yIFxuLy8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHZhbHVlcyBkZWZpbmVkIGJlbG93LiBcblxuQGZvcndhcmQgJ2NyZWF0ZS91bml0cycgd2l0aCAoXG5cbiAgLy8vIEdhcHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vLyBHYXBzIGFyZSBhbiBhYnNvbHV0ZSB1bml0IChweCkgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzIHdpdGhpbiBhIGNvbXBvbmVudGVkLiBcbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgc3BhY2luZyBhbW9uZ3N0IGJsb2NrLCBpbmxpbmUsIHRhYmxlIGFuZCBncm91cCBodG1sIGVsZW1lbnRzLlxuICAvLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbiAgLy8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuICAvLy8gQHJlc3VsdCA6ICRnYXAwLCAkZ2FwLCAkZ2FwMiwgJGdhcDMsICRnYXA0LCAkZ2FwNSAsICRnYXA2LCAkZ2FwMC0sICRnYXAtLCAkZ2FwMi0sICRnYXAzLSwgJGdhcDQtLCAkZ2FwNS0gYW5kICRnYXA2LVxuICBcbiAgJGdhcCA6IDE2cHgsXG5cbiAgLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BhY2VycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCBoZWlnaHQgKHZoKSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBjb21wb25lbnRlZCBsZXZlbC5cbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgdG9wIGFuZCBib3R0b20gc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBTcGFjZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRzcGFjZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2aCBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiAgLy8vIEByZXN1bHQgOiAkc3BhY2VyMCwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcjQsICRzcGFjZXI1LCAkc3BhY2VyNiwgJHNwYWNlcjAtLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXItLCAkc3BhY2VyNC0sICRzcGFjZXI1LSBhbmQgJHNwYWNlcjYtXG4gIFxuICAkc3BhY2VyIDogNHZoLCBcblxuICAvLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuICAvLyBmb3IgZXhhbXBsZSwgYSB3cmFwcGVyIGNvbnRhaW5lciBvciBib2R5IHdpdGggbmVzdGVkIGNvbXBvbmVudHMuIFxuICAvLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuICAvLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4gIC8vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuICAvLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4gIC8vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuICAvLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuICAvLy8gQHJlc3VsdCA6ICRndXR0ZXIwLCAkZ3V0dGVyLCAkZ3V0dGVyMiwgJGd1dHRlcjMsICRndXR0ZXI0LCAkZ3V0dGVyNSwgJGd1dHRlcjYsICRndXR0ZXIwLSwgJGd1dHRlci0sICRndXR0ZXIyLSwgJGd1dHRlcjMtLCAkZ3V0dGVyNC0sICRndXR0ZXI1LSBhbmQgJGd1dHRlcjYtXG4gIFxuICAkZ3V0dGVyIDogM3Z3LCBcblxuKTtcblxuJGJvcmRlci1yYWRpdXMgOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuJHNpZGViYXItd2lkdGggOiA1MDBweDsiLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaG92ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBob3Zlcigkc2VsZWN0b3IgOiBudWxsKSB7XG4gIEBtZWRpYSAoIGhvdmVyIDogaG92ZXIgKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHNlbGVjdG9yIHtcbiAgICAmI3skc2VsZWN0b3J9IHsgXG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYmFja2dyb3VuZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAncG9zaXRpb24nO1xuXG5AbWl4aW4gYmxvd291dCgkcHN1ZG8gOiBiZWZvcmUpIHtcbiAgJjojeyRwc3Vkb30ge1xuICAgIGNvbnRlbnQ6XCJcIjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7IFxuXHRcdHotaW5kZXg6LTE7IFxuICAgIEBpbmNsdWRlIHBvc2l0aW9uLmJsb3dvdXQ7IFxuICAgIEBjb250ZW50O1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBQb3NpdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3Bvc2l0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICcuLi9oZWxwZXJzL2JyZWFrJztcblxuQG1peGluIGV4cGFuZGVkIHtcblx0cG9zaXRpb246YWJzb2x1dGU7IFxuXHR0b3A6MDsgXG5cdGxlZnQ6MDsgXG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDoxMDAlOyBcbn1cblxuQG1peGluIGNlbnRyZSB7XG4gIHBvc2l0aW9uOmFic29sdXRlOyBcblx0dG9wOjUwJTsgXG5cdGxlZnQ6NTAlO1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpOyBcbn1cblxuQG1peGluIGJsb3dvdXQoJGhvcml6b250YWwgOiB0cnVlLCAkdmVydGljYWwgOiBmYWxzZSkge1xuICBcbiAgcG9zaXRpb246YWJzb2x1dGU7XG5cbiAgQGlmICRob3Jpem9udGFsIGFuZCAkdmVydGljYWwge1xuICAgIHRvcCAgICAgICA6IDUwJTsgXG4gICAgbGVmdCAgICAgIDogNTAlOyBcbiAgICB3aWR0aCAgICAgOiAxMDB2dztcbiAgICBoZWlnaHQgICAgOiAxMDB2aDsgXG4gICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlKHZhcigtLXRyYW5zbGF0ZVgsIC01MCUpLCB2YXIoLS10cmFuc2xhdGVZLCAtNTAlKSk7XG4gIH0gQGVsc2UgaWYgJGhvcml6b250YWwgIHtcbiAgICB0b3AgICAgICAgOiAwOyBcbiAgICBsZWZ0ICAgICAgOiA1MCU7IFxuICAgIHdpZHRoICAgICA6IDEwMHZ3O1xuICAgIGhlaWdodCAgICA6IDEwMCU7IFxuICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZVgodmFyKC0tdHJhbnNsYXRlWCwgLTUwJSkpO1xuICB9IEBlbHNlIGlmICR2ZXJ0aWNhbCAge1xuICAgIHRvcCAgICAgICA6IDUwJTsgXG4gICAgbGVmdCAgICAgIDogMDsgXG4gICAgd2lkdGggICAgIDogMTAwJTtcbiAgICBoZWlnaHQgICAgOiAxMDB2aDsgXG4gICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSh2YXIoLS10cmFuc2xhdGVZLCAtNTAlKSk7XG4gIH1cblxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXIgUGFsZXR0ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcIi4vbW9kdWxlcy9jb2xvdXJcIjtcblxuLy8gQWRqdXN0IHRoZXNlIHRvIGFtZW5kIHRoZSBsaWdodG5lc3Mgb3IgZGFya25lc3MgYW1vdW50cyBmb3IgdGhlIGNvbG91cnMgbHNpdGVkIGJlbG93Li4gXG5cbiRfbGlnaHRuZXNzIDogMTUlICFkZWZhdWx0O1xuJF9kYXJrbmVzcyAgOiAyMCUgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHJlZCAgICAgICAgICA6ICM5NzA4MEUgIWRlZmF1bHQ7XG4kcmVkLWxpZ2h0ICAgIDogY29sb3VyLmxpZ2h0ZW4oJHJlZCwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHJlZC1kYXJrICAgICA6IGNvbG91ci5kYXJrZW4oJHJlZCwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UgICAgICAgOiAjREE0QjBGICFkZWZhdWx0O1xuJG9yYW5nZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRvcmFuZ2UsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRvcmFuZ2UtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRvcmFuZ2UsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4keWVsbG93ICAgICAgIDogI0U5QjEwNCAhZGVmYXVsdDtcbiR5ZWxsb3ctbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkeWVsbG93LCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4keWVsbG93LWRhcmsgIDogY29sb3VyLmRhcmtlbigkeWVsbG93LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZWVuICAgICAgICA6ICM0ODhDMTMgIWRlZmF1bHQ7XG4kZ3JlZW4tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZWVuLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kZ3JlZW4tZGFyayAgIDogY29sb3VyLmRhcmtlbigkZ3JlZW4sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYmx1ZSAgICAgICAgIDogIzFCNTVDMCAhZGVmYXVsdDtcbiRibHVlLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkYmx1ZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGJsdWUtZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGJsdWUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcGluayAgICAgICAgIDogI0UwNUQ2QiAhZGVmYXVsdDtcbiRwaW5rLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkcGluaywgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHBpbmstZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJHBpbmssICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcHVycGxlICAgICAgIDogIzYxM0Q1QSAhZGVmYXVsdDtcbiRwdXJwbGUtbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkcHVycGxlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcHVycGxlLWRhcmsgIDogY29sb3VyLmRhcmtlbigkcHVycGxlLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZXkgICAgICAgICA6ICM3ODc4NzggIWRlZmF1bHQ7XG4kZ3JleS1saWdodCAgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZXksICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmV5LWRhcmsgICAgOiBjb2xvdXIuZGFya2VuKCRncmV5LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGJyb3duICAgICAgICA6ICM3NzRGMzggIWRlZmF1bHQ7XG4kYnJvd24tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGJyb3duLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYnJvd24tZGFyayAgIDogY29sb3VyLmRhcmtlbigkYnJvd24sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kd2hpdGUgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdCA7XG4kd2hpdGUtZGFyayAgIDogY29sb3VyLmxpZ2h0ZW4oJHdoaXRlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG5cbiRibGFjayAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0IDtcbiRibGFjay1saWdodCAgOiBjb2xvdXIuZGFya2VuKCRibGFjaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTb2NpYWwgTWVkaWEgQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly93d3cubG9ja2Vkb3duc2VvLmNvbS9zb2NpYWwtbWVkaWEtY29sb3JzL1xuXG4kZmFjZWJvb2s6ICAgICMxODc3ZjIgIWRlZmF1bHQ7XG4kdHdpdHRlcjogICAgICMxZGExZjIgIWRlZmF1bHQ7XG4kZ29vZ2xlOiAgICAgICM0Mjg1ZjQgIWRlZmF1bHQ7XG4keW91dHViZTogICAgICNmZjAwMDAgIWRlZmF1bHQ7XG4kbGlua2VkaW46ICAgICMwMDdiYjUgIWRlZmF1bHQ7XG4kaW5zdGFncmFtOiAgICNjMzJhYTMgIWRlZmF1bHQ7XG4kcGludGVyZXN0OiAgICNiZDA4MWMgIWRlZmF1bHQ7XG4kZGFpbHltb3Rpb246ICMwMDY2REMgIWRlZmF1bHQ7XG4kc25hcGNoYXQ6ICAgICNmZmZjMDAgIWRlZmF1bHQ7XG4kZmxpY2tyOiAgICAgICNmNDAwODMgIWRlZmF1bHQ7XG4kdmltZW86ICAgICAgICMxYWI3ZWEgIWRlZmF1bHQ7XG4kdGh1bWJsZXI6ICAgICMzNTQ2NWQgIWRlZmF1bHQ7XG4kcmVkZGl0OiAgICAgICNmZjQ1MDAgIWRlZmF1bHQ7XG4kd2hhdHNhcHA6ICAgICMyNWQzNjYgIWRlZmF1bHQ7XG4kc2t5cGU6ICAgICAgICMwMGFmZjAgIWRlZmF1bHQ7XG4kZGlzY29yZDogICAgICM3Mjg5ZGEgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEgOiAoXG4gIGZhY2Vib29rOiAgICAgJGZhY2Vib29rLFxuICB0d2l0dGVyOiAgICAgICR0d2l0dGVyLFxuICBnb29nbGU6ICAgICAgICRnb29nbGUsXG4gIHlvdXR1YmU6ICAgICAgJHlvdXR1YmUsXG4gIGxpbmtlZGluOiAgICAgJGxpbmtlZGluLFxuICBpbnN0YWdyYW06ICAgICRpbnN0YWdyYW0sXG4gIHBpbnRlcmVzdDogICAgJHBpbnRlcmVzdCxcbiAgZGFpbHltb3Rpb246ICAkZGFpbHltb3Rpb24sXG4gIHNuYXBjaGF0OiAgICAgJHNuYXBjaGF0LFxuICBmbGlja3I6ICAgICAgICRmbGlja3IsXG4gIHZpbWVvOiAgICAgICAgJHZpbWVvLFxuICB0aHVtYmxlcjogICAgICR0aHVtYmxlcixcbiAgcmVkZGl0OiAgICAgICAkcmVkZGl0LFxuICB3aGF0c2FwcDogICAgICR3aGF0c2FwcCxcbiAgc2t5cGU6ICAgICAgICAkc2t5cGUsXG4gIGRpc2NvcmQ6ICAgICAgJGRpc2NvcmRcbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPdGhlciBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4keWVsbG86ICNGRkNCMDggIWRlZmF1bHQ7XG5cbi8vLyBIYW5kbGVzIHRoZSBjdXJzb3Igc2VsZWN0aW9uIGNvbG91clxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3NlbGVjdG9ycy9zL3NlbGVjdGlvbi9cblxuJGhpZ2hsaWdodDogI0IyRDNGQSAhZGVmYXVsdDsgXG4iXX0= */