body#esg > background-image,
body#esg > background-video {
  --row-background: 1 / span 3;
  z-index: -2;
  height: initial;
  max-height: 120vh;
}
body#esg > background-image::after,
body#esg > background-video::after {
  content: none;
}
@media (max-width: 940px) {
  body#esg > background-image,
  body#esg > background-video {
    height: 120vh;
    max-height: 120vh;
  }
}
body#esg header.header {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: calc(var(--gap) * 3) 0;
}
body#esg header.header > h1 {
  color: var(--primary, #131f6b);
  font-size: 48px;
}
@media (min-width: 601px) {
  body#esg header.header > h1 {
    font-size: 64px;
  }
}
@media (max-width: 800px) {
  body#esg header.header tag-line {
    flex-direction: row;
  }
  body#esg header.header tag-line span {
    font-size: 16px;
    letter-spacing: 2px;
  }
  body#esg header.header tag-line span img {
    margin-right: calc(var(--gap) * 0.5);
    width: 30px;
    height: 30px;
  }
}
body#esg header.header .introduction.text p {
  color: var(--primary, #131f6b);
  max-width: 700px;
  font-style: italic;
}
body#esg header.header button-container {
  justify-content: center;
}
body#esg main {
  display: contents;
}
body#esg main > *,
body#esg main ~ section,
body#esg main ~ aside,
body#esg main ~ div,
body#esg main ~ service-centre-finder,
body#esg main ~ markets-summary {
  grid-column: var(--column-full);
}
body#esg main .content-block {
  padding: 0;
}
body#esg main .content-block.dark > * {
  z-index: 1;
}
body#esg main .content-block.dark > .image.static {
  border-radius: initial;
}
body#esg main .content-block.dark > .image.static img {
  height: 100%;
}
@media (max-width: 1400px) {
  body#esg main .content-block.dark {
    padding-bottom: 0;
  }
  body#esg main .content-block.dark > .image.static {
    grid-row: 5;
  }
}
@media (max-width: 1400px) and (max-width: 700px) {
  body#esg main .content-block.dark > .image.static {
    grid-row: 8;
    max-height: 400px;
  }
}
body#esg main .people-details {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(var(--gap) * 4);
  padding: 0;
}
body#esg main .people-details > div {
  padding: 0 0 var(--spacer1) 0;
  display: flex;
  flex-direction: column;
}
body#esg main .people-details > div h2 {
  margin-bottom: calc(var(--gap) * 2);
}
body#esg main .people-details > div h2 span {
  display: block;
  color: #87b546;
}
body#esg main .people-details > div .button {
  margin: 0 auto;
}
body#esg main .people-details > div ul {
  margin: var(--spacer1) 0;
  --list-style-colour: #87b546;
  --list-style-size: 1.6em;
  --line-style-spacing: 0.6em;
}
body#esg main .people-details > div 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");
}
body#esg main .people-details > div ul > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
body#esg main .people-details > div ul > li + li {
  margin-top: var(--line-style-spacing, var(--gap));
}
body#esg main .people-details > div 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);
}
body#esg main .people-details > div ul li {
  padding: 0 var(--gap) 0 calc(var(--gap) * 3);
  display: inline-flex;
  flex-direction: column;
  margin: 0 0 var(--gap);
}
body#esg main .people-details > div ul li h3 {
  margin-bottom: 0;
}
body#esg main .people-details > div 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='%2387b546' 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");
  top: calc(var(--gap) * 0.5);
}
body#esg main .people-details > img {
  width: 100vw;
  margin: -70px 0 0 -16px;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  body#esg main .people-details > img {
    left: -50vw;
    margin: 0 0 0 50%;
    position: absolute;
    z-index: -1;
    height: 100%;
    width: 30vw;
    aspect-ratio: unset;
  }
}
@media (min-width: 768px) {
  body#esg main .people-details {
    grid-template-columns: 25vw 1fr 1fr;
    flex-direction: row;
  }
  body#esg main .people-details > div {
    padding: var(--spacer1) 0 var(--spacer1) 30vw;
    grid-column: 2/-1;
  }
  body#esg main .people-details > div .button {
    margin: 0;
  }
  body#esg main .people-details > div ul {
    -moz-column-count: 2;
         column-count: 2;
  }
}

body.esg {
  --spacer-line-colour: #76bb28;
  --spacer-line-thickness: 2px;
  --logo-after-colour: #76bb28;
  --logo-tagline-height: 9px;
  --secondary: #76bb28;
}
body.esg h1 > span,
body.esg h1 > strong,
body.esg h2 > span,
body.esg h2 > strong,
body.esg h3 > span,
body.esg h3 > strong,
body.esg h4 > span,
body.esg h4 > strong,
body.esg h5 > span,
body.esg h5 > strong {
  display: block;
  color: var(--secondary, #df3035);
}
body.esg header.header h1 {
  color: var(--secondary, #df3035);
}
body.esg tag-line span {
  color: #131f6b;
  font-size: 25px;
}
body.esg tag-line img {
  margin-right: var(--gap);
}
body.esg section {
  box-shadow: unset !important;
}
body.esg .text 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='%2376bb28' 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");
}
@media (min-width: 941px) {
  body.esg navigation-bar nav main-menu {
    margin-left: 150px;
  }
}
body.esg .esg-list ul li {
  display: inline-block;
  margin: 0 auto var(--gap);
}
body.esg .esg-list ul li h3 {
  color: var(--primary, #131f6b);
  line-height: 0.8;
}
body.esg header.header {
  --heading-colour: $green2;
  --sub-heading-colour: white;
}
body.esg header.header h1 {
  font-size: 2em;
  line-height: 1.3;
}
body.esg header.header h2 {
  font-size: 3.8125em;
  font-size: clamp(2.5em, 5vw, 3.8125em);
  line-height: 1.2;
}
body.esg header.header .text {
  color: white;
}
@media (max-width: 940px) {
  body.esg header.header h1 {
    font-size: clamp(1.25em, 5vw, 3.8125em);
  }
  body.esg header.header h2 {
    font-size: clamp(1.5em, 5vw, 3.8125em);
  }
}
body.esg#planet header.header, body.esg#people header.header, body.esg#profit header.header {
  padding: calc(var(--gap) * 2) calc(var(--gap) * 2) calc(var(--gap) * 2) calc(var(--gap) * 6);
}
body.esg#planet header.header h2, body.esg#people header.header h2, body.esg#profit header.header h2 {
  position: relative;
}
body.esg#planet header.header h2:before, body.esg#people header.header h2:before, body.esg#profit header.header h2:before {
  content: "";
  position: absolute;
  height: 64px;
  width: 64px;
  top: 8px;
  left: calc(var(--gap) * -6);
  background-size: 64px 64px;
}
@media (min-width: 941px) {
  body.esg#planet header.header, body.esg#people header.header, body.esg#profit header.header {
    padding: calc(var(--gap) * 6);
  }
}
body.esg#planet header.header h2:before {
  background-image: url("/assets/uploads/icons/planet.png");
}
body.esg#people header.header h2:before {
  background-image: url("/assets/uploads/icons/people.png");
}
body.esg#profit header.header h2:before {
  background-image: url("/assets/uploads/icons/profit.png");
}
body.esg .background-image {
  width: 100vw;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -50vw;
  z-index: -1;
}
body.esg .text h3 span {
  display: block;
  color: var(--secondary);
}
body.esg .sibling-list {
  padding-top: 0;
}
body.esg .sibling-list > div h3 {
  text-align: center;
  margin-bottom: var(--spacer1);
}
@media (min-width: 941px) {
  body.esg .sibling-list article-list {
    max-width: 66%;
    margin: 0 auto;
  }
}
body.esg article-list {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: calc(var(--gap) * 2);
  box-shadow: none !important;
}
body.esg article-list h2.article-title {
  box-shadow: none;
  margin-bottom: calc(var(--gap) * 2);
  grid-column: 1/-1;
  text-align: center;
}
body.esg article-list .article a {
  background-color: #f4f4f4;
}
body.esg article-list .article a h3.subheading {
  margin-bottom: var(--gap);
}
@media (min-width: 768px) {
  body.esg article-list {
    grid-template-columns: 1fr 1fr;
  }
  body.esg article-list.working-in-the-community {
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: var(--spacer1);
  }
}
body.esg article-list + .view-all {
  max-width: 400px;
  margin: 0 auto calc(var(--gap) * 2) auto;
}
@media (max-width: 940px) {
  body.esg main h1 {
    font-size: clamp(1.25em, 5vw, 3.8125em);
  }
  body.esg main h2 {
    font-size: 2em;
    line-height: 1.3;
  }
}
body.esg main > * {
  flex-grow: 0;
}
body.esg main > *:first-child:not(.themed), body.esg main > *:first-child.white {
  box-shadow: none;
}
body.esg main .content-block[data-blocks*=pie-chart], body.esg main .content-block[data-blocks*=sustainability-agenda] {
  padding-top: 0;
  grid-gap: 0;
}
body.esg main .content-block.our-commitment {
  padding-bottom: 0;
  grid-gap: 0 calc(var(--gap) * 4);
}
body.esg main .content-block.our-commitment > div {
  padding: calc(var(--gap) * 4) 0;
  text-align: left;
}
body.esg main .content-block.our-commitment > div h3 {
  text-align: left;
}
body.esg main .content-block.our-commitment > div strong {
  color: #659f3b;
}
body.esg main .content-block.our-commitment > div p > br {
  display: block;
}
body.esg main .content-block.our-commitment.dark.content-block {
  --column-count: 1;
}
body.esg main .content-block.our-commitment.dark.content-block > div {
  grid-column: 1/-1;
  padding: calc(var(--gap) * 4) var(--gap) calc(var(--gap) * 4) 0;
}
body.esg main .content-block.our-commitment.dark.content-block > figure.image.static {
  width: 100vw;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: -16px;
  grid-row: 1 !important;
  position: relative;
  max-width: 100vw;
  overflow: visible;
}
body.esg main .content-block.our-commitment.dark.content-block > figure.image.static img {
  height: 300px;
}
body.esg main .content-block.our-commitment.dark.content-block > figure.image.static:after {
  content: "";
  position: absolute;
  background-image: url("/assets/images/david.png");
  height: 90%;
  width: 100%;
  z-index: 9;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  bottom: 0;
  opacity: 1;
  border-radius: 0;
  overflow: visible;
  background-size: contain;
  margin: 0 auto;
}
@media (min-width: 941px) {
  body.esg main .content-block.our-commitment.dark.content-block {
    --column-count: 6;
  }
  body.esg main .content-block.our-commitment.dark.content-block > div {
    grid-column: 3/-1;
  }
  body.esg main .content-block.our-commitment.dark.content-block > figure.image.static {
    width: 350%;
    height: auto;
    margin-left: -20vw;
    grid-column: 1;
  }
  body.esg main .content-block.our-commitment.dark.content-block > figure.image.static:after {
    width: 375px;
    background-position: 10% 100%;
    right: calc(50% - 300px);
  }
}
@media (min-width: 1201px) {
  body.esg main .content-block.our-commitment.dark.content-block > figure.image.static:after {
    right: -187.5px;
  }
}
body.esg main .content-block.our-commitment.blue {
  background-color: #131f6b;
}
body.esg side-bar {
  --row-sidebar: 3;
}
body.esg side-bar .pie-chart-container {
  order: 1;
}
@media (max-width: 980px) {
  body.esg side-bar .pie-chart-container .chart {
    max-width: 300px;
    margin: initial;
  }
}
body.esg side-bar service-centre-finder {
  order: 2;
}
body.esg side-bar service-centre-finder h3 {
  color: white;
}
body.esg side-bar service-centre-finder .text {
  color: #76bb28;
}
body.esg side-bar 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='%2387b546' 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");
}
@media (max-width: 980px) {
  body.esg side-bar {
    padding-top: 0;
    margin-top: 0;
    --row-sidebar: auto;
  }
  body.esg side-bar service-centre-finder {
    display: none;
  }
}
body.esg > service-centre-finder {
  --heading-colour: #659f3b;
}
body.esg > service-centre-finder .text {
  color: white;
}
body.esg > service-centre-finder ul {
  --list-style-colour: $green2;
}
body.esg > 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='%2376bb28' 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");
}
body.esg > service-centre-finder .map svg .st8,
body.esg > service-centre-finder .map svg .st17,
body.esg > service-centre-finder .map svg .st19 {
  fill: #659f3b;
}
body.esg navigation-bar nav main-menu .top-level-links li.top-level-link a::after {
  --top-level-link-colour: $green2;
}
body.esg .button:not(.green) {
  --background-colour: #109fdb;
  --hover-font-colour: #109fdb;
}
body.esg a.logo:after {
  background-color: var(--logo-after-colour);
}
body.esg footer#footer .base a.logo::after {
  bottom: 0px;
  background-color: var(--logo-after-colour);
}
body.esg footer#footer .tag-line-sign-off {
  color: white;
  align-items: center;
  font-size: 1.1em;
  text-transform: uppercase;
  letter-spacing: 2px;
}
body.esg footer#footer .tag-line-sign-off img {
  margin: 0 calc(var(--gap) * 0.5);
}

body.esg .iso-banner {
  width: 100vw;
  left: calc(-50vw + 50%);
  background-color: #76bb28;
  text-align: center;
  color: white;
  padding: var(--gap) 0;
  position: relative;
}
body.esg .iso-banner h2 {
  color: white;
}
body.esg .iso-banner h2 > span {
  display: inline-block;
  color: white;
}
body.esg#planet background-image, body.esg#people background-image, body.esg#profit background-image {
  grid-row: 1/3;
}
body.esg#planet:has(.iso-banner) background-image, body.esg#people:has(.iso-banner) background-image, body.esg#profit:has(.iso-banner) background-image {
  grid-row: 1/5;
}
body.esg#planet .sustainability-agenda, body.esg#people .sustainability-agenda, body.esg#profit .sustainability-agenda {
  grid-row: 3;
}
body.esg#planet .sustainability-agenda .agenda-header, body.esg#people .sustainability-agenda .agenda-header, body.esg#profit .sustainability-agenda .agenda-header {
  grid-row: 1;
}
body.esg#planet .sustainability-agenda .tiles-container, body.esg#people .sustainability-agenda .tiles-container, body.esg#profit .sustainability-agenda .tiles-container {
  max-width: var(--main-max-width);
  grid-column: 1/-1;
  grid-row: 2;
  width: 100%;
  margin: var(--gutter2) auto var(--gutter2) 0;
}
body.esg#planet main, body.esg#people main, body.esg#profit main {
  grid-row: 4;
}
body.esg#planet side-bar, body.esg#people side-bar, body.esg#profit side-bar {
  grid-row: 5;
}
body.esg#planet:has(.iso-banner) .iso-banner, body.esg#people:has(.iso-banner) .iso-banner, body.esg#profit:has(.iso-banner) .iso-banner {
  grid-row: 3;
}
body.esg#planet:has(.iso-banner) .sustainability-agenda, body.esg#people:has(.iso-banner) .sustainability-agenda, body.esg#profit:has(.iso-banner) .sustainability-agenda {
  grid-row: 4;
}
body.esg#planet:has(.iso-banner) main, body.esg#people:has(.iso-banner) main, body.esg#profit:has(.iso-banner) main {
  grid-row: 5;
}
body.esg#planet:has(.iso-banner) side-bar, body.esg#people:has(.iso-banner) side-bar, body.esg#profit:has(.iso-banner) side-bar {
  grid-row: 6;
}
@media (min-width: 981px) {
  body.esg#planet main,
  body.esg#planet side-bar, body.esg#people main,
  body.esg#people side-bar, body.esg#profit main,
  body.esg#profit side-bar {
    grid-row: 4;
  }
  body.esg#planet:has(section.sustainability-agenda) side-bar, body.esg#people:has(section.sustainability-agenda) side-bar, body.esg#profit:has(section.sustainability-agenda) side-bar {
    margin-top: -400px;
  }
  body.esg#planet .sustainability-agenda, body.esg#people .sustainability-agenda, body.esg#profit .sustainability-agenda {
    display: grid;
    grid-gap: 0 var(--gutter1);
    grid-template-columns: var(--column-sidebar) var(--column-content) var(--column-sidebar);
  }
  body.esg#planet .sustainability-agenda .tiles-container, body.esg#people .sustainability-agenda .tiles-container, body.esg#profit .sustainability-agenda .tiles-container {
    grid-column: 1/3;
  }
  body.esg#planet:has(.iso-banner) .iso-banner, body.esg#people:has(.iso-banner) .iso-banner, body.esg#profit:has(.iso-banner) .iso-banner {
    grid-row: 3;
  }
  body.esg#planet:has(.iso-banner) .sustainability-agenda, body.esg#people:has(.iso-banner) .sustainability-agenda, body.esg#profit:has(.iso-banner) .sustainability-agenda {
    grid-row: 4;
  }
  body.esg#planet:has(.iso-banner) main,
  body.esg#planet:has(.iso-banner) side-bar, body.esg#people:has(.iso-banner) main,
  body.esg#people:has(.iso-banner) side-bar, body.esg#profit:has(.iso-banner) main,
  body.esg#profit:has(.iso-banner) side-bar {
    grid-row: 5;
  }
}
@media (min-width: 981px) {
  body.esg#planet:has(.sustainability-report-banner) main,
  body.esg#planet:has(.sustainability-report-banner) side-bar, body.esg#people:has(.sustainability-report-banner) main,
  body.esg#people:has(.sustainability-report-banner) side-bar, body.esg#profit:has(.sustainability-report-banner) main,
  body.esg#profit:has(.sustainability-report-banner) side-bar {
    grid-row: 5;
  }
}
@media (max-width: 980px) {
  body.esg#planet:has(.sustainability-report-banner) main, body.esg#people:has(.sustainability-report-banner) main, body.esg#profit:has(.sustainability-report-banner) main {
    grid-row: 5;
  }
  body.esg#planet:has(.sustainability-report-banner) side-bar, body.esg#people:has(.sustainability-report-banner) side-bar, body.esg#profit:has(.sustainability-report-banner) side-bar {
    grid-row: 6;
  }
}

esg-navigation {
  display: grid;
  padding: 0;
  margin-bottom: var(--spacer2);
  box-shadow: initial !important;
  grid-auto-rows: 1fr;
  z-index: 2;
  grid-gap: var(--spacer1);
  grid-row: 3;
  grid-template-columns: repeat(3, 1fr);
  overflow: auto;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none;
}
esg-navigation::-webkit-scrollbar {
  display: none;
}
esg-navigation article {
  position: relative;
  padding: var(--gutter1);
  color: white;
  border-radius: var(--border-radius, 6px);
  overflow: hidden;
  aspect-ratio: 1/1;
  width: 100%;
}
esg-navigation article .heading {
  color: inherit;
  color: white;
  position: absolute;
  text-align: center;
  line-height: 100%;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  top: calc(50% - 20px);
  left: 0;
}
esg-navigation article p {
  font-size: 0.9em;
  color: white;
}
esg-navigation article .button {
  --font-size: 0.9em;
  --padding: 4px 16px;
  margin: calc(var(--gap) * 2) auto 0;
}
esg-navigation article .button svg {
  height: 12px;
  width: 12px;
  margin-left: 8px;
}
esg-navigation article .heading,
esg-navigation article .content {
  transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  z-index: 2;
  text-align: center;
}
esg-navigation article a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #131f6b;
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
esg-navigation article .content {
  opacity: 0;
  transform: scale(0.95);
  padding-top: calc(40px + var(--gap));
  position: relative;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  height: 100%;
}
esg-navigation article .image {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  filter: grayscale(0);
  border-radius: var(--border-radius, 6px);
}
esg-navigation article:hover a::before, esg-navigation article:focus a::before {
  opacity: 0.8;
}
esg-navigation article:hover .image, esg-navigation article:focus .image {
  transform: scale(1.2);
}
esg-navigation article:hover .heading, esg-navigation article:focus .heading {
  top: 40px;
}
esg-navigation article:hover .content, esg-navigation article:focus .content {
  opacity: 1;
  transform: scale(1);
}
@media (min-width: 1151px) {
  esg-navigation {
    grid-gap: var(--spacer2);
  }
  esg-navigation article {
    aspect-ratio: 1.3/1;
  }
}
@media (max-width: 940px) {
  esg-navigation {
    grid-gap: calc(var(--gap) * 2);
  }
  esg-navigation article {
    width: 66vw;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2VzL2VzZy5zY3NzIiwicGFnZXMvZXNnLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2hlbHBlcnMvX2JyZWFrLnNjc3MiLCJfdmFyaWFibGVzL2NvbG91cnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NyZWF0ZS9fdW5pdHMuc2NzcyIsIl9lbGVtZW50cy9saXN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3MiLCJfdmFyaWFibGVzL3VuaXRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0U7O0VBRUUsNEJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FDRko7QURHSTs7RUFDRSxhQUFBO0FDQU47QUNDRTtFRlJBOztJQVVJLGFBQUE7SUFDQSxpQkFBQTtFQ0VKO0FBQ0Y7QURDRTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLCtCQUFBO0FDQ0o7QURDSTtFQUNFLDhCR2NJO0VIYkosZUFBQTtBQ0NOO0FDeEJFO0VGcUJFO0lBSUksZUFBQTtFQ0dOO0FBQ0Y7QUN2QkU7RUZ1QkU7SUFFSSxtQkFBQTtFQ0VOO0VERE07SUFDRSxlQUFBO0lBQ0EsbUJBQUE7RUNHUjtFREZRO0lBQ0Usb0NJU0o7SUpSSSxXQUFBO0lBQ0EsWUFBQTtFQ0lWO0FBQ0Y7QURDSTtFQUNFLDhCR1RJO0VIVUosZ0JBQUE7RUFDQSxrQkFBQTtBQ0NOO0FERUk7RUFDRSx1QkFBQTtBQ0FOO0FESUU7RUFDRSxpQkFBQTtBQ0ZKO0FET0k7Ozs7OztFQU1FLCtCQUFBO0FDTE47QURRSTtFQUNFLFVBQUE7QUNOTjtBRFNRO0VBQ0UsVUFBQTtBQ1BWO0FEU1E7RUFDRSxzQkFBQTtBQ1BWO0FEUVU7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dnlCSTtFSCtxQk47RUR5SEU7SUFDRSxXQUFBO0VDdkhKO0FBQ0YiLCJmaWxlIjoicGFnZXMvZXNnLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5ib2R5I2VzZyB7XG4gID4gYmFja2dyb3VuZC1pbWFnZSxcbiAgPiBiYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAtLXJvdy1iYWNrZ3JvdW5kOiAxIC8gc3BhbiAzO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMjB2aDtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVhay1pbig5NDApIHtcbiAgICAgIGhlaWdodDogMTIwdmg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMjB2aDtcbiAgICB9XG4gIH1cblxuICBoZWFkZXIuaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGdhcDMgMDtcblxuICAgID4gaDEge1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDYwMCkge1xuICAgICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGFnLWxpbmUge1xuICAgICAgQGluY2x1ZGUgYnJlYWstaW4oODAwKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXAwO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmludHJvZHVjdGlvbi50ZXh0IHAge1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICBidXR0b24tY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIG1haW4ge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4gICAgLy8gRmlyc3QgbGV2ZWwgZWxlbWVudHMgZm9yIG1haW4gY2hpbGRlbiBhbmQgc2libGlucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gdG8gdGhlIG1haW4gZWxlbWVudCAoZXhjbHVkaW5nIHNpZGUtYmFyIGFuZCBmb290ZXIpXG5cbiAgICA+ICosXG4gICAgfiBzZWN0aW9uLFxuICAgIH4gYXNpZGUsXG4gICAgfiBkaXYsXG4gICAgfiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIsXG4gICAgfiBtYXJrZXRzLXN1bW1hcnkge1xuICAgICAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1mdWxsKTtcbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmLmRhcmsge1xuICAgICAgICA+ICoge1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgPiAuaW1hZ2Uuc3RhdGljIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrLWluKGxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgPiAuaW1hZ2Uuc3RhdGljIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiA1O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWstaW4oNzAwKSB7XG4gICAgICAgICAgICAgIGdyaWQtcm93OiA4O1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGVvcGxlLWRldGFpbHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6ICRnYXA0O1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlciAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICM4N2I1NDY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2VyIDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBsaXN0LXVsIHtcbiAgICAgICAgICAgIC0tbGlzdC1zdHlsZS1jb2xvdXI6ICM4N2I1NDY7XG4gICAgICAgICAgICAtLWxpc3Qtc3R5bGUtc2l6ZTogMS42ZW07XG4gICAgICAgICAgICAtLWxpbmUtc3R5bGUtc3BhY2luZzogMC42ZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ2FwIDAgJGdhcDM7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZ2FwO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyMzg3YjU0NicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICB0b3A6ICRnYXAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBtYXJnaW46IC03MHB4IDAgMCAtMTZweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBAaW5jbHVkZSBicmVhay1vdXQoNzY3KSB7XG4gICAgICAgICAgbGVmdDogLTUwdnc7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCA1MCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMzB2dztcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg3NjcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNXZ3IDFmciAxZnI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgMCAkc3BhY2VyIDMwdnc7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcblxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5lc2cge1xuICAtLXNwYWNlci1saW5lLWNvbG91cjogI3skZ3JlZW4yfTtcbiAgLS1zcGFjZXItbGluZS10aGlja25lc3M6IDJweDtcbiAgLS1sb2dvLWFmdGVyLWNvbG91cjogI3skZ3JlZW4yfTtcbiAgLS1sb2dvLXRhZ2xpbmUtaGVpZ2h0OiA5cHg7XG4gIC0tc2Vjb25kYXJ5OiAjeyRncmVlbjJ9O1xuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSB7XG4gICAgPiBzcGFuLFxuICAgID4gc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgaGVhZGVyLmhlYWRlciB7XG4gICAgaDEge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgdGFnLWxpbmUge1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ge1xuICAgIGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dCB1bCB7XG4gICAgbGkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzNzZiYjI4JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstb3V0KDk0MCkge1xuICAgIG5hdmlnYXRpb24tYmFyIHtcbiAgICAgIG5hdiBtYWluLW1lbnUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVzZy1saXN0IHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gJGdhcDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoZWFkZXIuaGVhZGVyIHtcbiAgICAtLWhlYWRpbmctY29sb3VyOiAkZ3JlZW4yO1xuICAgIC0tc3ViLWhlYWRpbmctY29sb3VyOiB3aGl0ZTtcblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDE7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrLWluKDk0MCkge1xuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41ZW0sIDV2dywgMy44MTI1ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcGxhbmV0LFxuICAmI3Blb3BsZSxcbiAgJiNwcm9maXQge1xuICAgIGhlYWRlci5oZWFkZXIge1xuICAgICAgcGFkZGluZzogJGdhcDIgJGdhcDIgJGdhcDIgJGdhcDY7XG4gICAgICBoMiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgbGVmdDogJGdhcDYtO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjRweCA2NHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVhay1vdXQoOTQwKSB7XG4gICAgICAgIHBhZGRpbmc6ICRnYXA2O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcGxhbmV0IGhlYWRlci5oZWFkZXIgaDI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvdXBsb2Fkcy9pY29ucy9wbGFuZXQucG5nJyk7XG4gIH1cblxuICAmI3Blb3BsZSBoZWFkZXIuaGVhZGVyIGgyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL3VwbG9hZHMvaWNvbnMvcGVvcGxlLnBuZycpO1xuICB9XG5cbiAgJiNwcm9maXQgaGVhZGVyLmhlYWRlciBoMjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy91cGxvYWRzL2ljb25zL3Byb2ZpdC5wbmcnKTtcbiAgfVxuXG4gIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBoMyB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWJsaW5nLWxpc3Qge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVhay1vdXQoOTQwKSB7XG4gICAgICBhcnRpY2xlLWxpc3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDY2JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXJ0aWNsZS1saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAkZ2FwMjtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBoMi5hcnRpY2xlLXRpdGxlIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmFydGljbGUgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXG4gICAgICBoMy5zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAgICAgJi53b3JraW5nLWluLXRoZS1jb21tdW5pdHkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgKyAudmlldy1hbGwge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvICRnYXAyIGF1dG87XG4gICAgfVxuICB9XG5cbiAgbWFpbiB7XG4gICAgQGluY2x1ZGUgYnJlYWstaW4oOTQwKSB7XG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4yNWVtLCA1dncsIDMuODEyNWVtKTtcbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgLy8gZm9udC1zaXplOiBjbGFtcCgxLjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KC50aGVtZWQpLFxuICAgICAgJjpmaXJzdC1jaGlsZC53aGl0ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgJltkYXRhLWJsb2Nrcyo9J3BpZS1jaGFydCddLFxuICAgICAgJltkYXRhLWJsb2Nrcyo9J3N1c3RhaW5hYmlsaXR5LWFnZW5kYSddIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm91ci1jb21taXRtZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAwICRnYXA0O1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZzogJGdhcDQgMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgY29sb3I6ICM2NTlmM2I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCA+IGJyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGFyay5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgICAtLWNvbHVtbi1jb3VudDogMTtcblxuICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2FwNCAkZ2FwICRnYXA0IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZGF2aWQucG5nJyk7XG4gICAgICAgICAgICAgIGhlaWdodDogOTAlO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg5NDApIHtcbiAgICAgICAgICAgIC0tY29sdW1uLWNvdW50OiA2O1xuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMyAvIC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBmaWd1cmUuaW1hZ2Uuc3RhdGljIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDM1MCU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHZ3O1xuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDEwMCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMzAwcHgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDEyMDApIHtcbiAgICAgICAgICAgID4gZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTg3LjVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaWRlLWJhciB7XG4gICAgLS1yb3ctc2lkZWJhcjogMztcbiAgICAucGllLWNoYXJ0LWNvbnRhaW5lciB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrLWluKDk4MCkge1xuICAgICAgICAuY2hhcnQge1xuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgbWFyZ2luOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgICAgIG9yZGVyOiAyO1xuXG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBjb2xvcjogJGdyZWVuMjtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzODdiNTQ2JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLWluKDk4MCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC0tcm93LXNpZGViYXI6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJiA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gICAgLS1oZWFkaW5nLWNvbG91cjogIzY1OWYzYjtcblxuICAgIC50ZXh0IHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAtLWxpc3Qtc3R5bGUtY29sb3VyOiAkZ3JlZW4yO1xuICAgICAgbGkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyMzc2YmIyOCcgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hcCB7XG4gICAgICBzdmcge1xuICAgICAgICAuc3Q4LFxuICAgICAgICAuc3QxNyxcbiAgICAgICAgLnN0MTkge1xuICAgICAgICAgIGZpbGw6ICM2NTlmM2I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0aW9uLWJhciBuYXYge1xuICAgIG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLnRvcC1sZXZlbC1saW5rIGE6OmFmdGVyIHtcbiAgICAgIC0tdG9wLWxldmVsLWxpbmstY29sb3VyOiAkZ3JlZW4yO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b246bm90KC5ncmVlbikge1xuICAgIC0tYmFja2dyb3VuZC1jb2xvdXI6ICMxMDlmZGI7XG4gICAgLS1ob3Zlci1mb250LWNvbG91cjogIzEwOWZkYjtcbiAgfVxuXG4gIGEubG9nbyB7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dvLWFmdGVyLWNvbG91cik7XG4gICAgfVxuICB9XG5cbiAgZm9vdGVyI2Zvb3RlciAuYmFzZSBhLmxvZ286OmFmdGVyIHtcbiAgICBib3R0b206IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dvLWFmdGVyLWNvbG91cik7XG4gIH1cblxuICBmb290ZXIjZm9vdGVyIHtcbiAgICAudGFnLWxpbmUtc2lnbi1vZmYge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCAkZ2FwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5lc2cge1xuICAuaXNvLWJhbm5lciB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGxlZnQ6IGNhbGMoLTUwdncgKyA1MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAkZ2FwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcGxhbmV0LFxuICAmI3Blb3BsZSxcbiAgJiNwcm9maXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgZ3JpZC1yb3c6IDEgLyAzO1xuICAgIH1cblxuICAgICY6aGFzKC5pc28tYmFubmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyA1O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAuYWdlbmRhLWhlYWRlciB7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgfVxuICAgICAgLnRpbGVzLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tbWFpbi1tYXgtd2lkdGgpO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogJGd1dHRlcjIgYXV0byAkZ3V0dGVyMiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBtYWluIHtcbiAgICAgIGdyaWQtcm93OiA0O1xuICAgIH1cbiAgICBzaWRlLWJhciB7XG4gICAgICBncmlkLXJvdzogNTtcbiAgICB9XG5cbiAgICAmOmhhcyguaXNvLWJhbm5lcikge1xuICAgICAgLmlzby1iYW5uZXIge1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIH1cbiAgICAgIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgICAgICBncmlkLXJvdzogNDtcbiAgICAgIH1cbiAgICAgIG1haW4ge1xuICAgICAgICBncmlkLXJvdzogNTtcbiAgICAgIH1cbiAgICAgIHNpZGUtYmFyIHtcbiAgICAgICAgZ3JpZC1yb3c6IDY7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCg5ODApIHtcbiAgICAgIG1haW4sXG4gICAgICBzaWRlLWJhciB7XG4gICAgICAgIGdyaWQtcm93OiA0O1xuICAgICAgfVxuXG4gICAgICAmOmhhcyhzZWN0aW9uLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSkge1xuICAgICAgICBzaWRlLWJhciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTQwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMCB2YXIoLS1ndXR0ZXIxKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW4tc2lkZWJhcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbiAgICAgICAgLnRpbGVzLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aGFzKC5pc28tYmFubmVyKSB7XG4gICAgICAgIC5pc28tYmFubmVyIHtcbiAgICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgfVxuICAgICAgICAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIHtcbiAgICAgICAgICBncmlkLXJvdzogNDtcbiAgICAgICAgfVxuICAgICAgICBtYWluLFxuICAgICAgICBzaWRlLWJhciB7XG4gICAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg5ODApIHtcbiAgICAgICAgbWFpbixcbiAgICAgICAgc2lkZS1iYXIge1xuICAgICAgICAgIGdyaWQtcm93OiA1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVhay1pbig5ODApIHtcbiAgICAgICAgbWFpbiB7XG4gICAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIH1cbiAgICAgICAgc2lkZS1iYXIge1xuICAgICAgICAgIGdyaWQtcm93OiA2O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmVzZy1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjI7XG4gIGJveC1zaGFkb3c6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgZ3JpZC1hdXRvLXJvd3M6IDFmcjtcbiAgei1pbmRleDogMjtcbiAgZ3JpZC1nYXA6ICRzcGFjZXI7XG4gIGdyaWQtcm93OiAzO1xuXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkZ3V0dGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgLS1mb250LXNpemU6IDAuOWVtO1xuICAgICAgLS1wYWRkaW5nOiA0cHggMTZweDtcbiAgICAgIG1hcmdpbjogJGdhcDIgYXV0byAwO1xuICAgICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyxcbiAgICAuY29udGVudCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb247XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoNDBweCArICN7JGdhcH0pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb247XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBhOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICB9XG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1vdXQoMTE1MCkge1xuICAgIGdyaWQtZ2FwOiAkc3BhY2VyMjtcblxuICAgIGFydGljbGUge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxLjMgLyAxO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKDk0MCkge1xuICAgIGdyaWQtZ2FwOiAkZ2FwMjtcbiAgICBhcnRpY2xlIHtcbiAgICAgIHdpZHRoOiA2NnZ3O1xuICAgIH1cbiAgfVxufVxuIiwiYm9keSNlc2cgPiBiYWNrZ3JvdW5kLWltYWdlLFxuYm9keSNlc2cgPiBiYWNrZ3JvdW5kLXZpZGVvIHtcbiAgLS1yb3ctYmFja2dyb3VuZDogMSAvIHNwYW4gMztcbiAgei1pbmRleDogLTI7XG4gIGhlaWdodDogaW5pdGlhbDtcbiAgbWF4LWhlaWdodDogMTIwdmg7XG59XG5ib2R5I2VzZyA+IGJhY2tncm91bmQtaW1hZ2U6OmFmdGVyLFxuYm9keSNlc2cgPiBiYWNrZ3JvdW5kLXZpZGVvOjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTQwcHgpIHtcbiAgYm9keSNlc2cgPiBiYWNrZ3JvdW5kLWltYWdlLFxuICBib2R5I2VzZyA+IGJhY2tncm91bmQtdmlkZW8ge1xuICAgIGhlaWdodDogMTIwdmg7XG4gICAgbWF4LWhlaWdodDogMTIwdmg7XG4gIH1cbn1cbmJvZHkjZXNnIGhlYWRlci5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAzKSAwO1xufVxuYm9keSNlc2cgaGVhZGVyLmhlYWRlciA+IGgxIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xuICBmb250LXNpemU6IDQ4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAxcHgpIHtcbiAgYm9keSNlc2cgaGVhZGVyLmhlYWRlciA+IGgxIHtcbiAgICBmb250LXNpemU6IDY0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBib2R5I2VzZyBoZWFkZXIuaGVhZGVyIHRhZy1saW5lIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIGJvZHkjZXNnIGhlYWRlci5oZWFkZXIgdGFnLWxpbmUgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIH1cbiAgYm9keSNlc2cgaGVhZGVyLmhlYWRlciB0YWctbGluZSBzcGFuIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxufVxuYm9keSNlc2cgaGVhZGVyLmhlYWRlciAuaW50cm9kdWN0aW9uLnRleHQgcCB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuYm9keSNlc2cgaGVhZGVyLmhlYWRlciBidXR0b24tY29udGFpbmVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5ib2R5I2VzZyBtYWluIHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG5ib2R5I2VzZyBtYWluID4gKixcbmJvZHkjZXNnIG1haW4gfiBzZWN0aW9uLFxuYm9keSNlc2cgbWFpbiB+IGFzaWRlLFxuYm9keSNlc2cgbWFpbiB+IGRpdixcbmJvZHkjZXNnIG1haW4gfiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIsXG5ib2R5I2VzZyBtYWluIH4gbWFya2V0cy1zdW1tYXJ5IHtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1mdWxsKTtcbn1cbmJvZHkjZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sge1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSNlc2cgbWFpbiAuY29udGVudC1ibG9jay5kYXJrID4gKiB7XG4gIHotaW5kZXg6IDE7XG59XG5ib2R5I2VzZyBtYWluIC5jb250ZW50LWJsb2NrLmRhcmsgPiAuaW1hZ2Uuc3RhdGljIHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbn1cbmJvZHkjZXNnIG1haW4gLmNvbnRlbnQtYmxvY2suZGFyayA+IC5pbWFnZS5zdGF0aWMgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBib2R5I2VzZyBtYWluIC5jb250ZW50LWJsb2NrLmRhcmsge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIGJvZHkjZXNnIG1haW4gLmNvbnRlbnQtYmxvY2suZGFyayA+IC5pbWFnZS5zdGF0aWMge1xuICAgIGdyaWQtcm93OiA1O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgYm9keSNlc2cgbWFpbiAuY29udGVudC1ibG9jay5kYXJrID4gLmltYWdlLnN0YXRpYyB7XG4gICAgZ3JpZC1yb3c6IDg7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gIH1cbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tZ2FwKSAqIDQpO1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYge1xuICBwYWRkaW5nOiAwIDAgdmFyKC0tc3BhY2VyMSkgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiBoMiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjODdiNTQ2O1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgdWwge1xuICBtYXJnaW46IHZhcigtLXNwYWNlcjEpIDA7XG4gIC0tbGlzdC1zdHlsZS1jb2xvdXI6ICM4N2I1NDY7XG4gIC0tbGlzdC1zdHlsZS1zaXplOiAxLjZlbTtcbiAgLS1saW5lLXN0eWxlLXNwYWNpbmc6IDAuNmVtO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgdWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzREYzMDM1JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiB1bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgdmFyKC0tZ2FwKSk7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiB1bCA+IGxpOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMC4xZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbiAgaGVpZ2h0OiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiB1bCBsaSB7XG4gIHBhZGRpbmc6IDAgdmFyKC0tZ2FwKSAwIGNhbGModmFyKC0tZ2FwKSAqIDMpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tZ2FwKTtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsIGxpIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjM4N2I1NDYnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBpbWcge1xuICB3aWR0aDogMTAwdnc7XG4gIG1hcmdpbjogLTcwcHggMCAwIC0xNnB4O1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBpbWcge1xuICAgIGxlZnQ6IC01MHZ3O1xuICAgIG1hcmdpbjogMCAwIDAgNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDMwdnc7XG4gICAgYXNwZWN0LXJhdGlvOiB1bnNldDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1dncgMWZyIDFmcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIGJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKSAwIHZhcigtLXNwYWNlcjEpIDMwdnc7XG4gICAgZ3JpZC1jb2x1bW46IDIvLTE7XG4gIH1cbiAgYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbn1cblxuYm9keS5lc2cge1xuICAtLXNwYWNlci1saW5lLWNvbG91cjogIzc2YmIyODtcbiAgLS1zcGFjZXItbGluZS10aGlja25lc3M6IDJweDtcbiAgLS1sb2dvLWFmdGVyLWNvbG91cjogIzc2YmIyODtcbiAgLS1sb2dvLXRhZ2xpbmUtaGVpZ2h0OiA5cHg7XG4gIC0tc2Vjb25kYXJ5OiAjNzZiYjI4O1xufVxuYm9keS5lc2cgaDEgPiBzcGFuLFxuYm9keS5lc2cgaDEgPiBzdHJvbmcsXG5ib2R5LmVzZyBoMiA+IHNwYW4sXG5ib2R5LmVzZyBoMiA+IHN0cm9uZyxcbmJvZHkuZXNnIGgzID4gc3BhbixcbmJvZHkuZXNnIGgzID4gc3Ryb25nLFxuYm9keS5lc2cgaDQgPiBzcGFuLFxuYm9keS5lc2cgaDQgPiBzdHJvbmcsXG5ib2R5LmVzZyBoNSA+IHNwYW4sXG5ib2R5LmVzZyBoNSA+IHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbn1cbmJvZHkuZXNnIGhlYWRlci5oZWFkZXIgaDEge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbn1cbmJvZHkuZXNnIHRhZy1saW5lIHNwYW4ge1xuICBjb2xvcjogIzEzMWY2YjtcbiAgZm9udC1zaXplOiAyNXB4O1xufVxuYm9keS5lc2cgdGFnLWxpbmUgaW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXApO1xufVxuYm9keS5lc2cgc2VjdGlvbiB7XG4gIGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5ib2R5LmVzZyAudGV4dCB1bCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzNzZiYjI4JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTQxcHgpIHtcbiAgYm9keS5lc2cgbmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1MHB4O1xuICB9XG59XG5ib2R5LmVzZyAuZXNnLWxpc3QgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLWdhcCk7XG59XG5ib2R5LmVzZyAuZXNnLWxpc3QgdWwgbGkgaDMge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG59XG5ib2R5LmVzZyBoZWFkZXIuaGVhZGVyIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogJGdyZWVuMjtcbiAgLS1zdWItaGVhZGluZy1jb2xvdXI6IHdoaXRlO1xufVxuYm9keS5lc2cgaGVhZGVyLmhlYWRlciBoMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuYm9keS5lc2cgaGVhZGVyLmhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMy44MTI1ZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi41ZW0sIDV2dywgMy44MTI1ZW0pO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuYm9keS5lc2cgaGVhZGVyLmhlYWRlciAudGV4dCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5NDBweCkge1xuICBib2R5LmVzZyBoZWFkZXIuaGVhZGVyIGgxIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gIH1cbiAgYm9keS5lc2cgaGVhZGVyLmhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gIH1cbn1cbmJvZHkuZXNnI3BsYW5ldCBoZWFkZXIuaGVhZGVyLCBib2R5LmVzZyNwZW9wbGUgaGVhZGVyLmhlYWRlciwgYm9keS5lc2cjcHJvZml0IGhlYWRlci5oZWFkZXIge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKSBjYWxjKHZhcigtLWdhcCkgKiAyKSBjYWxjKHZhcigtLWdhcCkgKiAyKSBjYWxjKHZhcigtLWdhcCkgKiA2KTtcbn1cbmJvZHkuZXNnI3BsYW5ldCBoZWFkZXIuaGVhZGVyIGgyLCBib2R5LmVzZyNwZW9wbGUgaGVhZGVyLmhlYWRlciBoMiwgYm9keS5lc2cjcHJvZml0IGhlYWRlci5oZWFkZXIgaDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5ib2R5LmVzZyNwbGFuZXQgaGVhZGVyLmhlYWRlciBoMjpiZWZvcmUsIGJvZHkuZXNnI3Blb3BsZSBoZWFkZXIuaGVhZGVyIGgyOmJlZm9yZSwgYm9keS5lc2cjcHJvZml0IGhlYWRlci5oZWFkZXIgaDI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiA2NHB4O1xuICB0b3A6IDhweDtcbiAgbGVmdDogY2FsYyh2YXIoLS1nYXApICogLTYpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDY0cHggNjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NDFweCkge1xuICBib2R5LmVzZyNwbGFuZXQgaGVhZGVyLmhlYWRlciwgYm9keS5lc2cjcGVvcGxlIGhlYWRlci5oZWFkZXIsIGJvZHkuZXNnI3Byb2ZpdCBoZWFkZXIuaGVhZGVyIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiA2KTtcbiAgfVxufVxuYm9keS5lc2cjcGxhbmV0IGhlYWRlci5oZWFkZXIgaDI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy91cGxvYWRzL2ljb25zL3BsYW5ldC5wbmdcIik7XG59XG5ib2R5LmVzZyNwZW9wbGUgaGVhZGVyLmhlYWRlciBoMjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL3VwbG9hZHMvaWNvbnMvcGVvcGxlLnBuZ1wiKTtcbn1cbmJvZHkuZXNnI3Byb2ZpdCBoZWFkZXIuaGVhZGVyIGgyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvdXBsb2Fkcy9pY29ucy9wcm9maXQucG5nXCIpO1xufVxuYm9keS5lc2cgLmJhY2tncm91bmQtaW1hZ2Uge1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgei1pbmRleDogLTE7XG59XG5ib2R5LmVzZyAudGV4dCBoMyBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xufVxuYm9keS5lc2cgLnNpYmxpbmctbGlzdCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuYm9keS5lc2cgLnNpYmxpbmctbGlzdCA+IGRpdiBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTQxcHgpIHtcbiAgYm9keS5lc2cgLnNpYmxpbmctbGlzdCBhcnRpY2xlLWxpc3Qge1xuICAgIG1heC13aWR0aDogNjYlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5ib2R5LmVzZyBhcnRpY2xlLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5ib2R5LmVzZyBhcnRpY2xlLWxpc3QgaDIuYXJ0aWNsZS10aXRsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBncmlkLWNvbHVtbjogMS8tMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuYm9keS5lc2cgYXJ0aWNsZS1saXN0IC5hcnRpY2xlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuYm9keS5lc2cgYXJ0aWNsZS1saXN0IC5hcnRpY2xlIGEgaDMuc3ViaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5lc2cgYXJ0aWNsZS1saXN0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIH1cbiAgYm9keS5lc2cgYXJ0aWNsZS1saXN0LndvcmtpbmctaW4tdGhlLWNvbW11bml0eSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXIxKTtcbiAgfVxufVxuYm9keS5lc2cgYXJ0aWNsZS1saXN0ICsgLnZpZXctYWxsIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG8gY2FsYyh2YXIoLS1nYXApICogMikgYXV0bztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5NDBweCkge1xuICBib2R5LmVzZyBtYWluIGgxIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gIH1cbiAgYm9keS5lc2cgbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufVxuYm9keS5lc2cgbWFpbiA+ICoge1xuICBmbGV4LWdyb3c6IDA7XG59XG5ib2R5LmVzZyBtYWluID4gKjpmaXJzdC1jaGlsZDpub3QoLnRoZW1lZCksIGJvZHkuZXNnIG1haW4gPiAqOmZpcnN0LWNoaWxkLndoaXRlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2tbZGF0YS1ibG9ja3MqPXBpZS1jaGFydF0sIGJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2tbZGF0YS1ibG9ja3MqPXN1c3RhaW5hYmlsaXR5LWFnZW5kYV0ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgZ3JpZC1nYXA6IDA7XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGdyaWQtZ2FwOiAwIGNhbGModmFyKC0tZ2FwKSAqIDQpO1xufVxuYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudCA+IGRpdiB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDQpIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50ID4gZGl2IGgzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQgPiBkaXYgc3Ryb25nIHtcbiAgY29sb3I6ICM2NTlmM2I7XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50ID4gZGl2IHAgPiBiciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sge1xuICAtLWNvbHVtbi1jb3VudDogMTtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZGl2IHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDQpIHZhcigtLWdhcCkgY2FsYyh2YXIoLS1nYXApICogNCkgMDtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiA1MDBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgZ3JpZC1yb3c6IDEgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZmlndXJlLmltYWdlLnN0YXRpYyBpbWcge1xuICBoZWlnaHQ6IDMwMHB4O1xufVxuYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sgPiBmaWd1cmUuaW1hZ2Uuc3RhdGljOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9kYXZpZC5wbmdcIik7XG4gIGhlaWdodDogOTAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTQxcHgpIHtcbiAgYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sge1xuICAgIC0tY29sdW1uLWNvdW50OiA2O1xuICB9XG4gIGJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZGl2IHtcbiAgICBncmlkLWNvbHVtbjogMy8tMTtcbiAgfVxuICBib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50LmRhcmsuY29udGVudC1ibG9jayA+IGZpZ3VyZS5pbWFnZS5zdGF0aWMge1xuICAgIHdpZHRoOiAzNTAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogLTIwdnc7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gIH1cbiAgYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sgPiBmaWd1cmUuaW1hZ2Uuc3RhdGljOmFmdGVyIHtcbiAgICB3aWR0aDogMzc1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDEwMCU7XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gMzAwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIGJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZmlndXJlLmltYWdlLnN0YXRpYzphZnRlciB7XG4gICAgcmlnaHQ6IC0xODcuNXB4O1xuICB9XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50LmJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xufVxuYm9keS5lc2cgc2lkZS1iYXIge1xuICAtLXJvdy1zaWRlYmFyOiAzO1xufVxuYm9keS5lc2cgc2lkZS1iYXIgLnBpZS1jaGFydC1jb250YWluZXIge1xuICBvcmRlcjogMTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBib2R5LmVzZyBzaWRlLWJhciAucGllLWNoYXJ0LWNvbnRhaW5lciAuY2hhcnQge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luOiBpbml0aWFsO1xuICB9XG59XG5ib2R5LmVzZyBzaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICBvcmRlcjogMjtcbn1cbmJvZHkuZXNnIHNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciBoMyB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmJvZHkuZXNnIHNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAudGV4dCB7XG4gIGNvbG9yOiAjNzZiYjI4O1xufVxuYm9keS5lc2cgc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIHVsID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyMzg3YjU0NicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkuZXNnIHNpZGUtYmFyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC0tcm93LXNpZGViYXI6IGF1dG87XG4gIH1cbiAgYm9keS5lc2cgc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5ib2R5LmVzZyA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICM2NTlmM2I7XG59XG5ib2R5LmVzZyA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAudGV4dCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIHVsIHtcbiAgLS1saXN0LXN0eWxlLWNvbG91cjogJGdyZWVuMjtcbn1cbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjM3NmJiMjgnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDgsXG5ib2R5LmVzZyA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxNyxcbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE5IHtcbiAgZmlsbDogIzY1OWYzYjtcbn1cbmJvZHkuZXNnIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS50b3AtbGV2ZWwtbGluayBhOjphZnRlciB7XG4gIC0tdG9wLWxldmVsLWxpbmstY29sb3VyOiAkZ3JlZW4yO1xufVxuYm9keS5lc2cgLmJ1dHRvbjpub3QoLmdyZWVuKSB7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6ICMxMDlmZGI7XG4gIC0taG92ZXItZm9udC1jb2xvdXI6ICMxMDlmZGI7XG59XG5ib2R5LmVzZyBhLmxvZ286YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dvLWFmdGVyLWNvbG91cik7XG59XG5ib2R5LmVzZyBmb290ZXIjZm9vdGVyIC5iYXNlIGEubG9nbzo6YWZ0ZXIge1xuICBib3R0b206IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbG9nby1hZnRlci1jb2xvdXIpO1xufVxuYm9keS5lc2cgZm9vdGVyI2Zvb3RlciAudGFnLWxpbmUtc2lnbi1vZmYge1xuICBjb2xvcjogd2hpdGU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5ib2R5LmVzZyBmb290ZXIjZm9vdGVyIC50YWctbGluZS1zaWduLW9mZiBpbWcge1xuICBtYXJnaW46IDAgY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cblxuYm9keS5lc2cgLmlzby1iYW5uZXIge1xuICB3aWR0aDogMTAwdnc7XG4gIGxlZnQ6IGNhbGMoLTUwdncgKyA1MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzZiYjI4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5ib2R5LmVzZyAuaXNvLWJhbm5lciBoMiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmJvZHkuZXNnIC5pc28tYmFubmVyIGgyID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHdoaXRlO1xufVxuYm9keS5lc2cjcGxhbmV0IGJhY2tncm91bmQtaW1hZ2UsIGJvZHkuZXNnI3Blb3BsZSBiYWNrZ3JvdW5kLWltYWdlLCBib2R5LmVzZyNwcm9maXQgYmFja2dyb3VuZC1pbWFnZSB7XG4gIGdyaWQtcm93OiAxLzM7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSBiYWNrZ3JvdW5kLWltYWdlLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBiYWNrZ3JvdW5kLWltYWdlLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5pc28tYmFubmVyKSBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgZ3JpZC1yb3c6IDEvNTtcbn1cbmJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSwgYm9keS5lc2cjcHJvZml0IC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICBncmlkLXJvdzogMztcbn1cbmJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC5hZ2VuZGEtaGVhZGVyLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAuYWdlbmRhLWhlYWRlciwgYm9keS5lc2cjcHJvZml0IC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgLmFnZW5kYS1oZWFkZXIge1xuICBncmlkLXJvdzogMTtcbn1cbmJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC50aWxlcy1jb250YWluZXIsIGJvZHkuZXNnI3Blb3BsZSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC50aWxlcy1jb250YWluZXIsIGJvZHkuZXNnI3Byb2ZpdCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC50aWxlcy1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIGdyaWQtcm93OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiB2YXIoLS1ndXR0ZXIyKSBhdXRvIHZhcigtLWd1dHRlcjIpIDA7XG59XG5ib2R5LmVzZyNwbGFuZXQgbWFpbiwgYm9keS5lc2cjcGVvcGxlIG1haW4sIGJvZHkuZXNnI3Byb2ZpdCBtYWluIHtcbiAgZ3JpZC1yb3c6IDQ7XG59XG5ib2R5LmVzZyNwbGFuZXQgc2lkZS1iYXIsIGJvZHkuZXNnI3Blb3BsZSBzaWRlLWJhciwgYm9keS5lc2cjcHJvZml0IHNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IDU7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSAuaXNvLWJhbm5lciwgYm9keS5lc2cjcGVvcGxlOmhhcyguaXNvLWJhbm5lcikgLmlzby1iYW5uZXIsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLmlzby1iYW5uZXIpIC5pc28tYmFubmVyIHtcbiAgZ3JpZC1yb3c6IDM7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5pc28tYmFubmVyKSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIHtcbiAgZ3JpZC1yb3c6IDQ7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSBtYWluLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBtYWluLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5pc28tYmFubmVyKSBtYWluIHtcbiAgZ3JpZC1yb3c6IDU7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSBzaWRlLWJhciwgYm9keS5lc2cjcGVvcGxlOmhhcyguaXNvLWJhbm5lcikgc2lkZS1iYXIsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLmlzby1iYW5uZXIpIHNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IDY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgYm9keS5lc2cjcGxhbmV0IG1haW4sXG4gIGJvZHkuZXNnI3BsYW5ldCBzaWRlLWJhciwgYm9keS5lc2cjcGVvcGxlIG1haW4sXG4gIGJvZHkuZXNnI3Blb3BsZSBzaWRlLWJhciwgYm9keS5lc2cjcHJvZml0IG1haW4sXG4gIGJvZHkuZXNnI3Byb2ZpdCBzaWRlLWJhciB7XG4gICAgZ3JpZC1yb3c6IDQ7XG4gIH1cbiAgYm9keS5lc2cjcGxhbmV0OmhhcyhzZWN0aW9uLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSkgc2lkZS1iYXIsIGJvZHkuZXNnI3Blb3BsZTpoYXMoc2VjdGlvbi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEpIHNpZGUtYmFyLCBib2R5LmVzZyNwcm9maXQ6aGFzKHNlY3Rpb24uc3VzdGFpbmFiaWxpdHktYWdlbmRhKSBzaWRlLWJhciB7XG4gICAgbWFyZ2luLXRvcDogLTQwMHB4O1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSwgYm9keS5lc2cjcHJvZml0IC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDAgdmFyKC0tZ3V0dGVyMSk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW4tc2lkZWJhcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbiAgfVxuICBib2R5LmVzZyNwbGFuZXQgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwcm9maXQgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAudGlsZXMtY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMS8zO1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIC5pc28tYmFubmVyLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSAuaXNvLWJhbm5lciwgYm9keS5lc2cjcHJvZml0OmhhcyguaXNvLWJhbm5lcikgLmlzby1iYW5uZXIge1xuICAgIGdyaWQtcm93OiAzO1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEsIGJvZHkuZXNnI3Blb3BsZTpoYXMoLmlzby1iYW5uZXIpIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLmlzby1iYW5uZXIpIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgIGdyaWQtcm93OiA0O1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIG1haW4sXG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIHNpZGUtYmFyLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBtYWluLFxuICBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBzaWRlLWJhciwgYm9keS5lc2cjcHJvZml0OmhhcyguaXNvLWJhbm5lcikgbWFpbixcbiAgYm9keS5lc2cjcHJvZml0OmhhcyguaXNvLWJhbm5lcikgc2lkZS1iYXIge1xuICAgIGdyaWQtcm93OiA1O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgYm9keS5lc2cjcGxhbmV0Omhhcyguc3VzdGFpbmFiaWxpdHktcmVwb3J0LWJhbm5lcikgbWFpbixcbiAgYm9keS5lc2cjcGxhbmV0Omhhcyguc3VzdGFpbmFiaWxpdHktcmVwb3J0LWJhbm5lcikgc2lkZS1iYXIsIGJvZHkuZXNnI3Blb3BsZTpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIG1haW4sXG4gIGJvZHkuZXNnI3Blb3BsZTpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIHNpZGUtYmFyLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluLFxuICBib2R5LmVzZyNwcm9maXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBzaWRlLWJhciB7XG4gICAgZ3JpZC1yb3c6IDU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBib2R5LmVzZyNwbGFuZXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluIHtcbiAgICBncmlkLXJvdzogNTtcbiAgfVxuICBib2R5LmVzZyNwbGFuZXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBzaWRlLWJhciwgYm9keS5lc2cjcGVvcGxlOmhhcyguc3VzdGFpbmFiaWxpdHktcmVwb3J0LWJhbm5lcikgc2lkZS1iYXIsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIHNpZGUtYmFyIHtcbiAgICBncmlkLXJvdzogNjtcbiAgfVxufVxuXG5lc2ctbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlcjIpO1xuICBib3gtc2hhZG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gIHotaW5kZXg6IDI7XG4gIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZXIxKTtcbiAgZ3JpZC1yb3c6IDM7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbmVzZy1uYXZpZ2F0aW9uOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIxKTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlIC5oZWFkaW5nIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgdG9wOiBjYWxjKDUwJSAtIDIwcHgpO1xuICBsZWZ0OiAwO1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSBwIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgY29sb3I6IHdoaXRlO1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSAuYnV0dG9uIHtcbiAgLS1mb250LXNpemU6IDAuOWVtO1xuICAtLXBhZGRpbmc6IDRweCAxNnB4O1xuICBtYXJnaW46IGNhbGModmFyKC0tZ2FwKSAqIDIpIGF1dG8gMDtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGUgLmJ1dHRvbiBzdmcge1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSAuaGVhZGluZyxcbmVzZy1uYXZpZ2F0aW9uIGFydGljbGUgLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHotaW5kZXg6IDI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGUgYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSAuY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDQwcHggKyB2YXIoLS1nYXApKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlIC5pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGU6aG92ZXIgYTo6YmVmb3JlLCBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmZvY3VzIGE6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGU6aG92ZXIgLmltYWdlLCBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmZvY3VzIC5pbWFnZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGU6aG92ZXIgLmhlYWRpbmcsIGVzZy1uYXZpZ2F0aW9uIGFydGljbGU6Zm9jdXMgLmhlYWRpbmcge1xuICB0b3A6IDQwcHg7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmhvdmVyIC5jb250ZW50LCBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmZvY3VzIC5jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMTUxcHgpIHtcbiAgZXNnLW5hdmlnYXRpb24ge1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZXIyKTtcbiAgfVxuICBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlIHtcbiAgICBhc3BlY3QtcmF0aW86IDEuMy8xO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTQwcHgpIHtcbiAgZXNnLW5hdmlnYXRpb24ge1xuICAgIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgfVxuICBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlIHtcbiAgICB3aWR0aDogNjZ2dztcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQnJlYWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNicmVha1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIG91dCgkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRicmVha3BvaW50ICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW4oJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6I3skYnJlYWtwb2ludH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiN7JG1heH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gRXhwbGljaXQgQ29sb3VycyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEV4cGxpY2l0IGNvbG91cnMgYXJlIGEgd2hhdCB0aGV5IGFyZS4gR3JlZW4gaXMgZ3JlZW4sIGJsdWUgaXMgYmx1ZS4uLiBubyBvYnNjdXJpdHkuXG4vLy8gV2Ugc3VmZml4IG51bWJlcnMgdG8gZGVmaW5lIHZhcmlhdGlvbnMgb2YgY29sb3VycyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyIG9mIHNoYWRlLlxuLy8vIEV4YW1wbGU6IGdyZWVuMSwgZ3JlZW4yLCBncmVlbjMsIGdyZWVuNC4gVGhpcyBpcyBzbyB3ZSBjYW4gaW1taWRpYXRlbHkgc2VlIGhvd1xuLy8vIG1hbnkgb3B0aW9ucyB3ZSBoYXZlIGZvciBhIHNpbmdsZSBjb2xvdXIgYXQgYSBnbGFuY2UuIElmIHlvdSBzZWUgJGdyZWVuNCwgeW91IGtub3cgdGhpc1xuLy8vIHByb2plY3QgaXMgdXNpbmcgZm91ciB2YXJpYXRpb25zIG9mIGdyZWVuLiBUaGlzIGlzIGFsc28gb2Z0ZW4gdXNlZnVsIGJlY2F1c2UgbWFueSBkZXZlbG9wbWVudFxuLy8vIHRvb2xzIHdpbGwgYXV0by1zdWdnZXN0IGNvbG91cnMgd2l0aCBhY3R1YWwgZXhhbXBsZXMgb2YgdGhlIGNvbG91ci5cbi8vLyBUaGUgUGFsbGV0ZXMgbW9kdWxlIChhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSkgd2lsbCBvdXRwdXQgc2hhZGVkIG5hbWVkIHZhcmlhdGlvbnMsXG4vLy8vIDxjb2xvdXI+LWRhcmsgYW5kIDxjb2xvdXI+LWxpZ2h0LiBJZiB5b3UgbmVlZCBhZGRpdGlvbmFsIHNoYWRlcyBwbGVhc2UgcmVmcmFpbSBmcm9tIGdvaW5nIGRvd25cbi8vLyB0aGUgJ2xpZ2h0ZXInLCAnbGlnaHRlc3QnLCAnZGFya2VyJywgJ2Rhcmtlc3QnIGNvbnZlbnRpb24uIFRoZXNlIGFyZSBub3QgcGFydGljdWFybHkgbGVnaWFibGVcbi8vLyBhbmQgdGhleSBhcmUgbGltaXRlZCBieSBob3cgY3JlYXRpdmUgKGNvbmZ1c2luZykgeW91ciB3b3JkaW5nIGNhbiBiZS5cbi8vLyBJdCBpcyBiZXR0ZXIgdG8gZGVmaW5lIGEgbmV3IGV4cGxjaXQgY29sb3VyIGVudGlyZWx5LlxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS93aGF0LWRvLXlvdS1uYW1lLWNvbG9yLXZhcmlhYmxlcy9cblxuJGJsdWU6ICMxMzFmNmI7IC8vIFByaW1hcnlcbiRibHVlMjogIzI5MmI2ODsgLy8gTmFrZWQgTGlua1xuJGJsdWUzOiAjM2QzZjdmOyAvLyBMaWdudCBHcmFkaWVudFxuJGJsdWU0OiAjMTAxMjRkOyAvLyBEYXJrIEdyYWRpZW50XG4kYmx1ZTU6ICMwMDk1ZmY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlclxuLy8gJHJlZCAgICA6ICNFMDNBNDA7IC8vIFNlY29uZGFyeVxuJHJlZDogI2RmMzAzNTsgLy8gU2Vjb25kYXJ5IC0gVGhpcyBwYXNzZXMgdGhlIGNvbnRyYXN0IHJhdGlvIGFjY2Vzc2liaWxpdHkgdGVzdCBpbiBHb29nbGVzIExpZ2h0aG91c2VcbiRncmV5OiAjOTY5Njk1O1xuJGdyZXkyOiAjNmE2YTZhOyAvLyBGb250XG4kZ3JleTM6ICNmNGY0ZjQ7IC8vIExpZ2h0ZXIgR3JleSBCYWNrZ3JvdW5kXG4kZ3JleTQ6ICNkY2RjZGM7XG4kZ3JleTU6ICNiMWIxYjE7IC8vIFNwYWNlcnMgPGhyPlxuJGdyZXk2OiAjMzMzMjM2OyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXJcbiRncmVlbjogIzUwYmMwODtcbiRncmVlbjI6ICM3NmJiMjg7IC8vIEVTRyBncmVlblxuJHllbGxvdzogI2Y2ZjRkYjsgLy8gRGlzY2xhaW1lciBCYWNrZ3JvdW5kXG4keWVsbG93MjogI2ZjYjAwMjtcbiRvcmFuZ2U6ICNmZjZhMDA7XG4kb3JhbmdlMjogI2RhOGIwZjtcbiRibGFjazogIzFlMWMxYztcblxuJG1hcms6ICRibHVlNTsgLy8gYmFja2dyb3VuZCBjb2xvdXIgZm9yIDxtYXJrPiB0YWdzXG5cbiRwcmltYXJ5OiB2YXIoLS1wcmltYXJ5LCAjeyRibHVlfSk7XG4kc2Vjb25kYXJ5OiB2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuXG4vLy8gUGFsZXR0ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEJ5IGxvYWRpbmcgY29uZmlndXJhdGlvbnMgaW50byB0aGlzICdwYWxsZXRlJyBtb2R1bGUsIHdlIHdpbGwgYmUgYWJsZVxuLy8vIHRvIGRlY2xhcmUgdmFyaWFudHMgb2YgYSBmZXcgY29tbW9uIGNvbG91cnMuIFlvdSBjYW4gYWxzbyBhZGp1c3QgdGhlIGxpZ2h0bmVzc1xuLy8vIG9yIGRhcmtuZXNzIG9mIGVhY2ggdmFyaWFudCBieSBwYXNzaW5nIGluIHRoZSByZWxldmFudCBwcml2YXRlIHJ1bGVzLlxuLy8vIFBhbGV0dGUgd2lsbCBhbHNvIGV4cG9zZSBwb3B1bGFyIHNvY2lhbCBtZWRpYSBjb2xvdXJzIGFuZCB0aGUgWWVsbG8gYnJhbmQgY29sb3VyLlxuLy8vIEBzZWUgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vYXQtcnVsZXMvZm9yd2FyZCNjb25maWd1cmluZy1tb2R1bGVzXG4vLy8gQG91dHB1dCAkZ3JlZW4gOiAjMDI5MjlBOyAkZ3JlZW4tZGFyayA6ICMyNTY1Njk7ICRncmVlbi1saWdodDogIzA0YjljNDtcblxuQGZvcndhcmQgJ2NyZWF0ZS9wYWxldHRlJyB3aXRoIChcbiAgJGJsdWU6ICRibHVlLFxuICAkcmVkOiAkcmVkLFxuICAkZ3JleTogJGdyZXksXG4gICR5ZWxsb3c6ICR5ZWxsb3csXG4gICRvcmFuZ2U6ICRvcmFuZ2UsXG4gICRncmVlbjogJGdyZWVuLFxuICAkYmxhY2s6ICRibGFja1xuKTtcblxuJG1hcDogKFxuICBibHVlOiAkYmx1ZSxcbiAgcmVkOiAkcmVkLFxuICBncmV5OiAkZ3JleTMsXG4gIHllbGxvdzogJHllbGxvdyxcbiAgb3JhbmdlOiAkb3JhbmdlLFxuICBncmVlbjogJGdyZWVuLFxuICBibGFjazogJGJsYWNrLFxuKTtcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8gVGhpcyB1bml0cyBjcmVhdG9yIHdpbGwgcmVuZGVyIHNpeCBwb3NpdGl2ZSBhbmQgc2l4IG5lZ2F0aXZlIHNhc3MgdmFyaWFibGVzIGZvciBcbi8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNldiB2YWx1ZXMgZGVmaW5lZCBiZWxvdy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYXNlIFZhbHVlcyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9tYXJrbm90dG9uL3Blbi9FeFBiTkdlXG5cbi8vIFRoZXNlIHRocmVlIHZhbHVlcyB3aWxsIGFjdCBhIGNvbnN0YW50IGJhc2VsaW5lIGZvciBhbGwgZm9sbG93aW5nIHVuaXQgZGVsY2FyYXRpb25zLlxuXG4vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4kZ2FwIDogMTZweCAhZGVmYXVsdDtcbiRiYXNlLWdhcCA6ICRnYXA7XG5cbi8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuJHNwYWNlciA6IDR2aCAhZGVmYXVsdDsgXG4kYmFzZS1zcGFjZXIgOiAkc3BhY2VyOyBcblxuLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuJGd1dHRlciA6IDN2dyAhZGVmYXVsdDtcbiRiYXNlLWd1dHRlciA6ICRndXR0ZXI7IFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXNib2x1dGUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBHYXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2FwcyBhcmUgYW4gYWJzb2x1dGUgdW5pdCAocHgpIGludGVuZGVkIHRvIGJlIHVzZWQgb24gaW5kaXZpZHVhbCBlbGVtZW50cyB3aXRoaW4gYSBjb21wb25lbnRlZC4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHNwYWNpbmcgYW1vbmdzdCBibG9jaywgaW5saW5lLCB0YWJsZSBhbmQgZ3JvdXAgaHRtbCBlbGVtZW50cy5cblxuQGZ1bmN0aW9uIGdhcCgkYW1vdW50IDogMSkge1xuICBAaWYgKCAkYW1vdW50ID09IDEgKSB7IFxuICAgIEByZXR1cm4gdmFyKC0tZ2FwKTsgXG4gIH0gQGVsc2UgeyBcbiAgICBAcmV0dXJuIGNhbGModmFyKC0tZ2FwKSAqICN7JGFtb3VudH0pOyBcbiAgfVxufVxuXG4kZ2FwMCA6IGdhcCgwLjUpOyAkZ2FwMC0gOiBnYXAoLTAuNSk7XG4kZ2FwICA6IGdhcCgxKTsgICAkZ2FwLSAgOiBnYXAoLTEpO1xuJGdhcDIgOiBnYXAoMik7ICAgJGdhcDItIDogZ2FwKC0yKTtcbiRnYXAzIDogZ2FwKDMpOyAgICRnYXAzLSA6IGdhcCgtMyk7XG4kZ2FwNCA6IGdhcCg0KTsgICAkZ2FwNC0gOiBnYXAoLTQpO1xuJGdhcDUgOiBnYXAoNSk7ICAgJGdhcDUtIDogZ2FwKC01KTtcbiRnYXA2IDogZ2FwKDYpOyAgICRnYXA2LSA6IGdhcCgtNik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZWxhdGl2ZSBVbml0cyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiBfZHluYW1pYy11bml0KCRjdXN0b20tcHJvcGVydHksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcblxuICAvLyBDYWxjIE1ldGhvZFxuICAkcmVzdWx0IDogY2FsYygoI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0pICsgI3tpZigkbWluID09IDAsIDBweCwgJG1pbil9KTtcbiAgXG4gIC8vIENsYW1wIE1ldGhvZFxuICBAaWYgKCAkdXNlLWNsYW1wICkge1xuICAgIEBpZiAoICRhbW91bnQgPT0gMCApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgje21hdGguZGl2KCRtaW4sIDIpfSwgI3skY3VzdG9tLXByb3BlcnR5fSAqIDAuNSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSBpZiAoICRhbW91bnQgPT0gMSApIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9LCAjeyRtYXh9KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQgOiBjbGFtcCgjeyRtaW59LCAjeyRjdXN0b20tcHJvcGVydHl9ICogI3skYW1vdW50fSwgI3skbWF4fSk7XG4gICAgfVxuICB9IFxuXG4gIEBpZiAoICR1c2UtbmVnYXRpdmUgKSB7XG4gICAgJHJlc3VsdCA6IGNhbGMoLTEgKiAjeyRyZXN1bHR9KTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcblxufSBcblxuLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNwYWNlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgaGVpZ2h0ICh2aCkgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgY29tcG9uZW50ZWQgbGV2ZWwuXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gU3BhY2VycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkc3BhY2VyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdmggc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gc3BhY2VyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLXNwYWNlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kc3BhY2VyMCA6IHZhcigtLXNwYWNlcjApOyAkc3BhY2VyMC0gOiB2YXIoLS1zcGFjZXIwLSk7XG4kc3BhY2VyICA6IHZhcigtLXNwYWNlcjEpOyAkc3BhY2VyLSAgOiB2YXIoLS1zcGFjZXIxLSk7XG4kc3BhY2VyMiA6IHZhcigtLXNwYWNlcjIpOyAkc3BhY2VyMi0gOiB2YXIoLS1zcGFjZXIyLSk7XG4kc3BhY2VyMyA6IHZhcigtLXNwYWNlcjMpOyAkc3BhY2VyMy0gOiB2YXIoLS1zcGFjZXIzLSk7XG4kc3BhY2VyNCA6IHZhcigtLXNwYWNlcjQpOyAkc3BhY2VyNC0gOiB2YXIoLS1zcGFjZXI0LSk7XG4kc3BhY2VyNSA6IHZhcigtLXNwYWNlcjUpOyAkc3BhY2VyNS0gOiB2YXIoLS1zcGFjZXI1LSk7XG4kc3BhY2VyNiA6IHZhcigtLXNwYWNlcjYpOyAkc3BhY2VyNi0gOiB2YXIoLS1zcGFjZXI2LSk7XG5cbi8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuLy8gZm9yIGV4YW1wbGUsIGEgd3JhcHBlciBjb250YWluZXIgb3IgYm9keSB3aXRoIG5lc3RlZCBjb21wb25lbnRzLiBcbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbi8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG5cbkBmdW5jdGlvbiBndXR0ZXIoJGFtb3VudCA6IDEsICRtaW4gOiAkYmFzZS1nYXAsICRtYXggOiBudWxsLCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMCkgeyAkYW1vdW50IDogMC41OyAkbWluIDogbWF0aC5kaXYoJG1pbiwgMik7IH1cbiAgQGlmICggbWV0YS50eXBlLW9mKCRtYXgpID09ICdudWxsJyApIHsgXG4gICAgQGlmICggbWV0YS50eXBlLW9mKCRtaW4pID09ICdzdHJpbmcnIGFuZCBzdHJpbmcuaW5kZXgoJG1pbiwgJ3ZhcicpICkge1xuICAgICAgJG1heCA6IGNhbGMoI3skbWlufSAqICN7JGFtb3VudCArIDF9KTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF4IDogI3skbWluICogKCRhbW91bnQgKyAxKX07IFxuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9keW5hbWljLXVuaXQodmFyKC0tZ3V0dGVyKSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSwgJHVzZS1jbGFtcCk7XG59XG5cbiRndXR0ZXIwIDogdmFyKC0tZ3V0dGVyMCk7ICRndXR0ZXIwLSA6IHZhcigtLWd1dHRlcjAtKTtcbiRndXR0ZXIgIDogdmFyKC0tZ3V0dGVyMSk7ICRndXR0ZXItICA6IHZhcigtLWd1dHRlcjEtKTtcbiRndXR0ZXIyIDogdmFyKC0tZ3V0dGVyMik7ICRndXR0ZXIyLSA6IHZhcigtLWd1dHRlcjItKTtcbiRndXR0ZXIzIDogdmFyKC0tZ3V0dGVyMyk7ICRndXR0ZXIzLSA6IHZhcigtLWd1dHRlcjMtKTtcbiRndXR0ZXI0IDogdmFyKC0tZ3V0dGVyNCk7ICRndXR0ZXI0LSA6IHZhcigtLWd1dHRlcjQtKTtcbiRndXR0ZXI1IDogdmFyKC0tZ3V0dGVyNSk7ICRndXR0ZXI1LSA6IHZhcigtLWd1dHRlcjUtKTtcbiRndXR0ZXI2IDogdmFyKC0tZ3V0dGVyNik7ICRndXR0ZXI2LSA6IHZhcigtLWd1dHRlcjYtKTtcbiIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICdjb2xsZWN0aW9ucy9mb250L2Nyb3AnIGFzIGZvbnQ7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcblxuQG1peGluIHN0eWxlKCRmaWxsLCAkc3Ryb2tlIDogd2hpdGUpIHtcbiAgPiBsaTo6YmVmb3JlIHsgXG4gICAgY29udGVudDp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSdcIitjb2xvdXIuZW5jb2RlKCRmaWxsKStcIicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nXCIrY29sb3VyLmVuY29kZSgkc3Ryb2tlKStcIicgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cblxuLy8gVW5vcmRlcmQgTGlzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHVsKCRsaXN0LXN0eWxlLWNvbG91ciA6ICRyZWQsICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIgOiB3aGl0ZSkge1xuXG4gIEBpbmNsdWRlIHN0eWxlKCRsaXN0LXN0eWxlLWNvbG91ciwgJGxpc3Qtc3R5bGUtYWNjZW50LWNvbG91cik7XG5cbiAgPiBsaSB7IFxuXG4gICAgcG9zaXRpb24gICAgIDogcmVsYXRpdmU7IFxuICAgIHBhZGRpbmctbGVmdCAgOiBjYWxjKHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKSAqIDEuOCk7XG5cbiAgICAmICsgbGkgeyBtYXJnaW4tdG9wIDogdmFyKC0tbGluZS1zdHlsZS1zcGFjaW5nLCAjeyRnYXB9KTsgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7IFxuICAgICAgZGlzcGxheSAgOiBpbmxpbmUtYmxvY2s7IFxuICAgICAgdG9wICAgICAgOiAwLjFlbTsgXG4gICAgICBsZWZ0ICAgICA6IDA7IFxuICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoICAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICAgIGhlaWdodCAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcblxufVxuXG4vLyBPcmRlcmVkIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gb2woKSB7XG5cbiAgY291bnRlci1yZXNldCA6IGNvdW50ZXI7XG5cbiAgPiBsaSB7IFxuICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlOyBcbiAgICBkaXNwbGF5ICAgICAgOiBibG9jazsgXG4gICAgcGFkZGluZy1sZWZ0IDogMjJweDtcbiAgICBtYXJnaW4tbGVmdCAgOiB2YXIoLS1saXN0LXN0eWxlLW9mZnNldCwgMCk7XG5cbiAgICAmICsgbGkgeyBtYXJnaW4tdG9wOiRnYXAwOyB9XG5cbiAgICAmOjpiZWZvcmUgeyBcbiAgICAgIGNvbnRlbnQgICAgICAgICAgIDogY291bnRlcihjb3VudGVyKScuJztcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50IDogY291bnRlcjtcbiAgICAgIGNvbG9yICAgICAgICAgICAgIDogdmFyKC0tbGlzdC1zdHlsZS1jb2xvdXIsIHZhcigtLXByaW1hcnkpKTsgXG4gICAgICBwb3NpdGlvbiAgICAgICAgICA6IHJlbGF0aXZlOyBcbiAgICAgIG1hcmdpbi1yaWdodDowLjVlbTtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbiAgXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGVhZGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnLi9jb2xsZWN0aW9ucy9mb250JztcbkB1c2UgJy4vbW9kdWxlcy91bml0JztcblxuLy8gRGVmYXVsdCBIZWFkaW5nIFZhbHVlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGgxIDogKFxuICAnZm9udC1zaXplJyAgIDogMy4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4xXG4pICFkZWZhdWx0O1xuXG4kaDIgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjVyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjNcbikgIWRlZmF1bHQ7XG5cbiRoMyA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg0IDogKFxuICAnZm9udC1zaXplJyAgIDogMi4wcmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDUgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjhyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNiA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDEuNnJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGJhc2UgOiA2Mi41ICFkZWZhdWx0O1xuJHNjYWxlciA6IDEuNXZ3ICFkZWZhdWx0O1xuJGVuYWJsZS1jcm9wcGluZyA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWxsYmFjayBMaW5lLWhlaWdodHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMSA6IG1hcC5zZXQoJGgxLCAnbGluZS1oZWlnaHQnLCAxLjEpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoMiA6IG1hcC5zZXQoJGgyLCAnbGluZS1oZWlnaHQnLCAxLjMpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoMywgXCJsaW5lLWhlaWdodFwiKSB7ICRoMyA6IG1hcC5zZXQoJGgzLCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNCwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNCA6IG1hcC5zZXQoJGg0LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNSwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNSA6IG1hcC5zZXQoJGg1LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5AaWYgbm90IG1hcC5oYXMta2V5KCRoNiwgXCJsaW5lLWhlaWdodFwiKSB7ICRoNiA6IG1hcC5zZXQoJGg2LCAnbGluZS1oZWlnaHQnLCAxLjQpOyB9XG5cbi8vIERlZmluZSB0aGUgdmFyaWFibGVzIHNvIHRoZXkgYXJlIHN0aWxsIGFjY2VzaWJsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMS1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDEsICdmb250LXNpemUnKTtcbiRoMS1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDEsICdsaW5lLWhlaWdodCcpO1xuJGgxLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDEsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgxLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDEsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMSwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDItZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgyLCAnZm9udC1zaXplJyk7XG4kaDItbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgyLCAnbGluZS1oZWlnaHQnKTtcbiRoMi1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgyLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMi1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDIsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGgzLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMywgJ2ZvbnQtc2l6ZScpO1xuJGgzLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMywgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDMtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMywgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDMtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgzLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNC1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDQsICdmb250LXNpemUnKTtcbiRoNC1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDQsICdsaW5lLWhlaWdodCcpO1xuJGg0LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDQsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg0LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDQsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNCwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDUtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg1LCAnZm9udC1zaXplJyk7XG4kaDUtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg1LCAnbGluZS1oZWlnaHQnKTtcbiRoNS1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg1LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNS1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDUsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg2LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNiwgJ2ZvbnQtc2l6ZScpO1xuJGg2LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDYtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNiwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDYtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg2LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbi8vIEhhbmRsZXMgQ3JvcHMgc2hvdWxkIHRoZXkgbm90IGhhdmUgYmVlbiBwYXNzZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRfaDEtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgxLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2gyLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMiwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oMy1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDMsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDQtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg0LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g1LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNSwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNi1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDYsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcblxuJF9oMS1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMSwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDEsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDItY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDIsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgyLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2gzLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgzLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMywgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNC1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNCwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDQsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDUtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDUsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg1LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g2LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg2LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuXG5cbi8vIE1peGlucyBmb3IgZWFjaCBoZWFkaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfc2V0LWNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkY3JvcCkge1xuXG4gIEBpZiAobWV0YS50eXBlLW9mKCRjcm9wKSA9PSAnbWFwJykge1xuXG4gICAgJGZvbnQtc2l6ZSAgIDogdW5pdC5zdHJpcCgkZm9udC1zaXplKSAqIDEwO1xuICAgICRsaW5lLWhlaWdodCA6IHVuaXQuc3RyaXAoJGxpbmUtaGVpZ2h0KTtcbiAgICAkdG9wICAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkY3JvcCwgXCJ0b3BcIiksIHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJ0b3BcIikpLCAwKTtcbiAgICAkYm90dG9tICAgICAgOiBpZihtYXAuaGFzLWtleSgkY3JvcCwgXCJib3R0b21cIiksIHVuaXQuc3RyaXAobWFwLmdldCgkY3JvcCwgXCJib3R0b21cIikpLCAwKTtcblxuICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICR0b3AsICRib3R0b20pO1xuXG4gIH1cblxufVxuXG5AbWl4aW4gaDEoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDEtZm9udC1zaXplLW1pbiBhbmQgJGgxLWZvbnQtc2l6ZS1taW4gPCAkaDEtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMS1mb250LXNpemUtbWluKX0sICN7JGgxLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMS1mb250LXNpemUsICRoMS1saW5lLWhlaWdodCwgJF9oMS1jcm9wLXRvcCwgJF9oMS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgxLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG5cbiAgfVxuXG59XG5cbkBtaXhpbiBoMigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMi1mb250LXNpemUtbWluIGFuZCAkaDItZm9udC1zaXplLW1pbiA8ICRoMi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZS1taW4pfSwgI3skaDItc2NhbGVyfSwgI3tmb250LnNpemUoJGgyLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgyLWZvbnQtc2l6ZSwgJGgyLWxpbmUtaGVpZ2h0LCAkX2gyLWNyb3AtdG9wLCAkX2gyLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDItbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoMygkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMy1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMy1mb250LXNpemUtbWluIGFuZCAkaDMtZm9udC1zaXplLW1pbiA8ICRoMy1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZS1taW4pfSwgI3skaDMtc2NhbGVyfSwgI3tmb250LnNpemUoJGgzLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgzLWZvbnQtc2l6ZSwgJGgzLWxpbmUtaGVpZ2h0LCAkX2gzLWNyb3AtdG9wLCAkX2gzLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDMtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNCgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNC1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNC1mb250LXNpemUtbWluIGFuZCAkaDQtZm9udC1zaXplLW1pbiA8ICRoNC1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZS1taW4pfSwgI3skaDQtc2NhbGVyfSwgI3tmb250LnNpemUoJGg0LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg0LWZvbnQtc2l6ZSwgJGg0LWxpbmUtaGVpZ2h0LCAkX2g0LWNyb3AtdG9wLCAkX2g0LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDQtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNSgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNS1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNS1mb250LXNpemUtbWluIGFuZCAkaDUtZm9udC1zaXplLW1pbiA8ICRoNS1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZS1taW4pfSwgI3skaDUtc2NhbGVyfSwgI3tmb250LnNpemUoJGg1LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGg1LWZvbnQtc2l6ZSwgJGg1LWxpbmUtaGVpZ2h0LCAkX2g1LWNyb3AtdG9wLCAkX2g1LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDUtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cbkBtaXhpbiBoNigkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoNi1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoNi1mb250LXNpemUtbWluIGFuZCAkaDYtZm9udC1zaXplLW1pbiA8ICRoNi1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZS1taW4pfSwgI3skaDYtc2NhbGVyfSwgI3tmb250LnNpemUoJGg2LWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AyKCRoNi1mb250LXNpemUsICRoNi1saW5lLWhlaWdodCwgJF9oNi1jcm9wLXRvcCwgJF9oNi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg2LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL21hcmtub3R0b24vcGVuL0V4UGJOR2Vcbi8vLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrbm90dG9uL2RvZ2dpc3R5bGUvYmxvYi9tYXN0ZXIvbGlicmFyeS9zcmMvY3JlYXRlL191bml0cy5zY3NzXG5cbi8vLyBUaGlzIHVuaXRzIGNyZWF0b3Igd2lsbCByZW5kZXIgc2l4IHBvc2l0aXZlIGFuZCBzaXggbmVnYXRpdmUgc2FzcyB2YXJpYWJsZXMgZm9yIFxuLy8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHZhbHVlcyBkZWZpbmVkIGJlbG93LiBcblxuQGZvcndhcmQgJ2NyZWF0ZS91bml0cycgd2l0aCAoXG5cbiAgLy8vIEdhcHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vLyBHYXBzIGFyZSBhbiBhYnNvbHV0ZSB1bml0IChweCkgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzIHdpdGhpbiBhIGNvbXBvbmVudGVkLiBcbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgc3BhY2luZyBhbW9uZ3N0IGJsb2NrLCBpbmxpbmUsIHRhYmxlIGFuZCBncm91cCBodG1sIGVsZW1lbnRzLlxuICAvLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbiAgLy8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuICAvLy8gQHJlc3VsdCA6ICRnYXAwLCAkZ2FwLCAkZ2FwMiwgJGdhcDMsICRnYXA0LCAkZ2FwNSAsICRnYXA2LCAkZ2FwMC0sICRnYXAtLCAkZ2FwMi0sICRnYXAzLSwgJGdhcDQtLCAkZ2FwNS0gYW5kICRnYXA2LVxuICBcbiAgJGdhcCA6IDE2cHgsXG5cbiAgLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BhY2VycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCBoZWlnaHQgKHZoKSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBjb21wb25lbnRlZCBsZXZlbC5cbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgdG9wIGFuZCBib3R0b20gc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBTcGFjZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRzcGFjZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2aCBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiAgLy8vIEByZXN1bHQgOiAkc3BhY2VyMCwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcjQsICRzcGFjZXI1LCAkc3BhY2VyNiwgJHNwYWNlcjAtLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXItLCAkc3BhY2VyNC0sICRzcGFjZXI1LSBhbmQgJHNwYWNlcjYtXG4gIFxuICAkc3BhY2VyIDogNHZoLCBcblxuICAvLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuICAvLyBmb3IgZXhhbXBsZSwgYSB3cmFwcGVyIGNvbnRhaW5lciBvciBib2R5IHdpdGggbmVzdGVkIGNvbXBvbmVudHMuIFxuICAvLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuICAvLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4gIC8vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuICAvLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4gIC8vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuICAvLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuICAvLy8gQHJlc3VsdCA6ICRndXR0ZXIwLCAkZ3V0dGVyLCAkZ3V0dGVyMiwgJGd1dHRlcjMsICRndXR0ZXI0LCAkZ3V0dGVyNSwgJGd1dHRlcjYsICRndXR0ZXIwLSwgJGd1dHRlci0sICRndXR0ZXIyLSwgJGd1dHRlcjMtLCAkZ3V0dGVyNC0sICRndXR0ZXI1LSBhbmQgJGd1dHRlcjYtXG4gIFxuICAkZ3V0dGVyIDogM3Z3LCBcblxuKTtcblxuJGJvcmRlci1yYWRpdXMgOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuJHNpZGViYXItd2lkdGggOiA1MDBweDsiXX0= */