/*
 Theme Name:   CASPED Reform
 Template:     genesis
 Version:      0.1
*/
/* Mixins */
/* Global */
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap");
.container, .footer-widgets .wrap {
  max-width: 1255px;
  padding-left: 30px;
  padding-right: 30px;
  margin: auto; }

.teal-top, .section--selected-topics, .section--prefooter, section.section.section--trainings-tables {
  border-top: 5px solid #88D8D4; }

.green-top, .footer-widgets, .section--staff-section {
  border-top: 5px solid #3E854A; }

.blue-bg, .section--staff-section, .section--selected-topics, .section--prefooter {
  background-color: #EAEEF0; }

a {
  color: #3E854A;
  text-decoration: underline; }
  a.button {
    background-color: #3E854A;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 25px;
    border: 2px solid #3E854A;
    transition: 400ms all;
    padding: 8px 30px; }
    a.button:hover {
      background-color: #fff;
      color: #3E854A;
      border: 2px solid #3E854A; }
    a.button:focus {
      background-color: #fff;
      color: #3E854A;
      border: 2px solid #ececec;
      outline: 2px solid grey; }

.cta-container {
  width: 100%;
  padding: 50px 0;
  text-align: center; }

.hide-desktop {
  display: block; }
  @media screen and (min-width: 961px) {
    .hide-desktop {
      display: none; } }

.tabel-label-mobile {
  font-weight: bold; }

.error404 input.search-form-submit {
  background-color: #3E854A;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 25px;
  border: 2px solid #3E854A;
  transition: 400ms all;
  padding: 8px 30px; }
  .error404 input.search-form-submit:hover {
    background-color: #fff;
    color: #3E854A;
    border: 2px solid #3E854A; }
  .error404 input.search-form-submit:focus {
    background-color: #fff;
    color: #3E854A;
    border: 2px solid #ececec;
    outline: 2px solid grey; }

.error404 h1.entry-title {
  max-width: 1255px;
  padding-left: 30px;
  padding-right: 30px;
  margin: auto;
  margin-top: 5rem; }

.error404 .entry-content {
  margin-bottom: 5rem; }

.text-center {
  text-align: center; }

.entry-content {
  max-width: 1255px;
  margin: auto;
  padding-left: 30px;
  padding-right: 30px; }
  .entry-content p,
  .entry-content ol,
  .entry-content ul {
    max-width: 900px; }
  .entry-content ul ul ul > li {
    list-style-type: square; }
  .entry-content li > ol,
  .entry-content li > ul {
    margin-top: 15px; }
  .entry-content li + li {
    margin-top: 10px; }
  .entry-content ol ol > li {
    list-style-type: lower-alpha; }
  .entry-content ol ol ol > li {
    list-style-type: lower-roman; }
  .entry-content a {
    word-break: break-word; }

.mb-0 {
  margin-bottom: 0; }

.page-id-538 h1.entry-title,
.page-id-547 h1.entry-title,
.page-id-550 h1.entry-title {
  max-width: 45%;
  word-wrap: normal; }
  @media screen and (min-width: 961px) {
    .page-id-538 h1.entry-title,
    .page-id-547 h1.entry-title,
    .page-id-550 h1.entry-title {
      max-width: 530px; } }

/* Site Header
---------------------------------------------------------------------------- */
.site-header {
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  padding: 0 30px;
  border-bottom: 5px solid #3E854A; }
  .site-header > .wrap {
    max-width: 1255px;
    padding: 13px 0;
    margin: auto;
    position: relative; }
    @media only screen and (min-width: 960px) {
      .site-header > .wrap {
        padding-left: 0;
        padding-top: 13px;
        padding-bottom: 13px;
        padding-right: 30px; } }
    @media screen and (min-width: 1258px) {
      .site-header > .wrap {
        padding-left: 32px; } }
  @media screen and (max-width: 959px) {
    .site-header .menu-toggle {
      position: absolute;
      bottom: 0;
      right: 0;
      padding-bottom: 9px; } }

@media only screen and (min-width: 960px) {
  /* Site Header
	--------------------------------------------- */
  .site-header {
    top: 0;
    z-index: 9999; }
  .admin-bar .site-header {
    top: 32px; } }

@media only screen and (min-width: 960px) {
  header > .wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* width: 100%; */
    margin-left: auto;
    margin-right: auto; }
    header > .wrap > * {
      flex-basis: 100%; }
  header nav.nav-primary {
    align-self: flex-end;
    padding-bottom: 0px; } }

header ul#menu-header-menu {
  width: 100%;
  text-align: center;
  width: auto;
  padding-left: 0; }
  @media only screen and (min-width: 960px) {
    header ul#menu-header-menu {
      float: right;
      display: flex;
      justify-content: flex-end;
      margin-bottom: 5px; } }
  header ul#menu-header-menu li a {
    color: #365A6C;
    font-weight: 600; }
    header ul#menu-header-menu li a span {
      position: relative; }
      header ul#menu-header-menu li a span:after {
        position: absolute;
        content: '';
        width: 100%;
        height: 1px;
        left: 0;
        bottom: -5px;
        background-color: transparent; }
  header ul#menu-header-menu li.current-menu-item a span:after,
  header ul#menu-header-menu li.current-page-ancestor a span:after,
  header ul#menu-header-menu li:hover a span:after {
    background-color: #365A6C; }
  header ul#menu-header-menu li:last-child a {
    padding-right: 0; }

.wp-custom-logo .title-area {
  flex-basis: 180px; }

.gtranslate_wrapper {
  position: absolute;
  top: 6px;
  z-index: 999999;
  right: 0; }
  @media screen and (min-width: 960px) {
    .gtranslate_wrapper {
      right: 8%;
      right: 30px;
      top: 10px; } }

.gt_selector {
  font-size: 13px;
  padding: 5px 10px;
  max-width: 160px; }

#wp-admin-bar-wp-logo,
#wp-admin-bar-search,
#wp-admin-bar-site-name .ab-sub-wrapper {
  display: none !important; }

#wp-admin-bar-site-name .ab-item:before {
  content: "" !important; }

footer.site-footer {
  display: none; }

.footer-widgets {
  background-color: #365A6C;
  padding: 50px 50px 30px; }
  .footer-widgets .wrap {
    text-align: center;
    justify-content: space-between; }
    .footer-widgets .wrap .widget-area {
      flex-basis: 25%;
      color: #fff; }
      .footer-widgets .wrap .widget-area.footer-widgets-1 {
        flex-basis: 50%; }
      .footer-widgets .wrap .widget-area .widget {
        font-weight: 600; }
        .footer-widgets .wrap .widget-area .widget a {
          color: #fff;
          text-decoration: none;
          font-weight: 600; }
        .footer-widgets .wrap .widget-area .widget.widget_nav_menu {
          margin-bottom: 10px; }
    @media screen and (min-width: 861px) {
      .footer-widgets .wrap {
        display: flex;
        text-align: left; } }
  .footer-widgets .screen-reader-text {
    color: #fff; }

.compat-object-fit {
  background-size: cover;
  background-position: center center; }

.compat-object-fit > img {
  opacity: 0; }

.gform_wrapper.gf_browser_ie .gform_footer input.button {
  padding: 10px 50px !important; }

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: #fff;
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: 1px;
  --bs-accordion-border-radius: 0.375rem;
  --bs-accordion-inner-border-radius: calc(0.375rem - 1px);
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color: #86b7fe;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: #0c63e4;
  --bs-accordion-active-bg: #e7f1ff; }

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition); }
  @media (prefers-reduced-motion: reduce) {
    .accordion-button {
      transition: none; } }
  .accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); }
    .accordion-button:not(.collapsed)::after {
      background-image: var(--bs-accordion-btn-active-icon);
      transform: var(--bs-accordion-btn-icon-transform); }
  .accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition); }
    @media (prefers-reduced-motion: reduce) {
      .accordion-button::after {
        transition: none; } }
  .accordion-button:hover {
    z-index: 2; }
  .accordion-button:focus {
    z-index: 3;
    border-color: var(--bs-accordion-btn-focus-border-color);
    outline: 0;
    box-shadow: var(--bs-accordion-btn-focus-box-shadow); }

.accordion-header {
  margin-bottom: 0; }

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); }
  .accordion-item:first-of-type {
    border-top-left-radius: var(--bs-accordion-border-radius);
    border-top-right-radius: var(--bs-accordion-border-radius); }
    .accordion-item:first-of-type .accordion-button {
      border-top-left-radius: var(--bs-accordion-inner-border-radius);
      border-top-right-radius: var(--bs-accordion-inner-border-radius); }
  .accordion-item:not(:first-of-type) {
    border-top: 0; }
  .accordion-item:last-of-type {
    border-bottom-right-radius: var(--bs-accordion-border-radius);
    border-bottom-left-radius: var(--bs-accordion-border-radius); }
    .accordion-item:last-of-type .accordion-button.collapsed {
      border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
      border-bottom-left-radius: var(--bs-accordion-inner-border-radius); }
    .accordion-item:last-of-type .accordion-collapse {
      border-bottom-right-radius: var(--bs-accordion-border-radius);
      border-bottom-left-radius: var(--bs-accordion-border-radius); }

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); }

.accordion-flush .accordion-collapse {
  border-width: 0; }

.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0; }
  .accordion-flush .accordion-item:first-child {
    border-top: 0; }
  .accordion-flush .accordion-item:last-child {
    border-bottom: 0; }
  .accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
    border-radius: 0; }

.fade {
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

.collapse:not(.show) {
  display: none; }

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      transition: none; } }
  .collapsing.collapse-horizontal {
    width: 0;
    height: auto;
    transition: width 0.35s ease; }
    @media (prefers-reduced-motion: reduce) {
      .collapsing.collapse-horizontal {
        transition: none; } }

/* Typography */
body,
html {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.875;
  font-weight: 400;
  color: #365A6C; }

h1 {
  font-size: 30px;
  line-height: 1.33;
  font-weight: 700;
  margin: 20px 0; }

h2 {
  font-size: 30px;
  line-height: 1.56;
  font-weight: 700; }

h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 24px; }

p {
  margin: 0 0 25px; }

main ol,
main ul {
  margin: 0 0 0 2rem; }
  main ol li,
  main ul li {
    list-style-type: unset;
    margin-bottom: .85rem; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.green-text-link {
  color: #3E854A; }
  .green-text-link:hover, .green-text-link:focus {
    color: #3E854A; }

.section-page-title-short {
  background-color: #EAEEF0;
  padding: 70px 0 80px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: 5px solid #88D8D4; }
  .section-page-title-short h1 {
    font-size: 48px; }

.section--hero-intro {
  background-color: #EAEEF0;
  padding-top: 45px;
  padding-bottom: 65px;
  padding-left: 0;
  padding-right: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: 5px solid #88D8D4; }
  @media screen and (min-width: 960px) {
    .section--hero-intro .container, .section--hero-intro .footer-widgets .wrap, .footer-widgets .section--hero-intro .wrap {
      display: flex; } }
  .section--hero-intro .container .hero-intro--text, .section--hero-intro .footer-widgets .wrap .hero-intro--text, .footer-widgets .section--hero-intro .wrap .hero-intro--text {
    background-color: #fff;
    flex-basis: 50%;
    padding: 30px;
    border-radius: 30px;
    border: 1px solid #93AEB8; }
    @media screen and (min-width: 960px) {
      .section--hero-intro .container .hero-intro--text, .section--hero-intro .footer-widgets .wrap .hero-intro--text, .footer-widgets .section--hero-intro .wrap .hero-intro--text {
        padding: 40px; } }
    .section--hero-intro .container .hero-intro--text h1, .section--hero-intro .footer-widgets .wrap .hero-intro--text h1, .footer-widgets .section--hero-intro .wrap .hero-intro--text h1 {
      margin-top: 0px; }
    .home .section--hero-intro .container .hero-intro--text p, .home .section--hero-intro .footer-widgets .wrap .hero-intro--text p, .footer-widgets .home .section--hero-intro .wrap .hero-intro--text p {
      margin-bottom: 0; }

.section--text-bubbles {
  padding-top: 40px;
  padding-bottom: 25px; }
  @media screen and (max-width: 959px) {
    .section--text-bubbles {
      padding-left: 0;
      padding-right: 0; }
      .section--text-bubbles h2 {
        text-align: center; } }
  .section--text-bubbles .container, .section--text-bubbles .footer-widgets .wrap, .footer-widgets .section--text-bubbles .wrap {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    flex-direction: column; }
    @media screen and (min-width: 960px) {
      .section--text-bubbles .container, .section--text-bubbles .footer-widgets .wrap, .footer-widgets .section--text-bubbles .wrap {
        flex-direction: row; } }
    .section--text-bubbles .container .text-bubble, .section--text-bubbles .footer-widgets .wrap .text-bubble, .footer-widgets .section--text-bubbles .wrap .text-bubble {
      flex-basis: 45%;
      flex-grow: 1;
      padding: 30px;
      border: 1px solid #93AEB8;
      border-radius: 30px;
      position: relative;
      margin-top: 70px;
      margin-bottom: 30px;
      display: flex;
      flex-direction: column;
      align-items: flex-start; }
      @media screen and (min-width: 960px) {
        .section--text-bubbles .container .text-bubble, .section--text-bubbles .footer-widgets .wrap .text-bubble, .footer-widgets .section--text-bubbles .wrap .text-bubble {
          padding: 40px; } }
      .section--text-bubbles .container .text-bubble p, .section--text-bubbles .footer-widgets .wrap .text-bubble p, .footer-widgets .section--text-bubbles .wrap .text-bubble p {
        margin-bottom: 16px; }
      .section--text-bubbles .container .text-bubble .text-bubble-icon-wrapper, .section--text-bubbles .footer-widgets .wrap .text-bubble .text-bubble-icon-wrapper, .footer-widgets .section--text-bubbles .wrap .text-bubble .text-bubble-icon-wrapper {
        position: absolute;
        top: -60px;
        left: calc(50% - 60px);
        width: 120px;
        background-color: #DBF3F2;
        text-align: center;
        height: 120px;
        border-radius: 50%;
        display: flex;
        justify-content: center; }
      .section--text-bubbles .container .text-bubble .link-cta.button, .section--text-bubbles .footer-widgets .wrap .text-bubble .link-cta.button, .footer-widgets .section--text-bubbles .wrap .text-bubble .link-cta.button {
        margin-top: 25px;
        display: inline-block;
        margin-top: auto; }
      @media screen and (max-width: 767px) {
        .section--text-bubbles .container .text-bubble--body ul, .section--text-bubbles .footer-widgets .wrap .text-bubble--body ul, .footer-widgets .section--text-bubbles .wrap .text-bubble--body ul {
          margin-left: 22px; } }
  .section--text-bubbles .bottom-links {
    display: flex;
    width: 100%;
    margin-top: auto; }
    .section--text-bubbles .bottom-links.justify-content-center {
      justify-content: center;
      align-items: center;
      column-gap: 25px; }
  .section--text-bubbles .green-link-cta {
    color: #3E854A; }

.home .section--text-bubbles .container, .home .section--text-bubbles .footer-widgets .wrap, .footer-widgets .home .section--text-bubbles .wrap,
.page-id-74 .section--text-bubbles .container,
.page-id-74 .section--text-bubbles .footer-widgets .wrap,
.footer-widgets .page-id-74 .section--text-bubbles .wrap {
  display: flex; }
  @media screen and (min-width: 960px) {
    .home .section--text-bubbles .container, .home .section--text-bubbles .footer-widgets .wrap, .footer-widgets .home .section--text-bubbles .wrap,
    .page-id-74 .section--text-bubbles .container,
    .page-id-74 .section--text-bubbles .footer-widgets .wrap,
    .footer-widgets .page-id-74 .section--text-bubbles .wrap {
      display: grid;
      grid-template-columns: 1fr 1fr; } }

.section--staff-section {
  padding: 40px 0px; }
  .section--staff-section .container, .section--staff-section .footer-widgets .wrap, .footer-widgets .section--staff-section .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 30px; }
    .section--staff-section .container.title-container, .section--staff-section .footer-widgets .title-container.wrap, .footer-widgets .section--staff-section .title-container.wrap {
      display: block;
      justify-content: start;
      padding: 0 30px; }
    .section--staff-section .container .staff-member, .section--staff-section .footer-widgets .wrap .staff-member, .footer-widgets .section--staff-section .wrap .staff-member {
      background-color: white;
      padding: 20px 25px 25px;
      border: 1px solid #93AEB8;
      border-radius: 10px;
      flex-basis: calc(33% - 30px);
      max-width: 300px;
      margin-bottom: 30px; }
      @media screen and (max-width: 960px) {
        .section--staff-section .container .staff-member, .section--staff-section .footer-widgets .wrap .staff-member, .footer-widgets .section--staff-section .wrap .staff-member {
          flex-basis: calc(50% - 20px); } }
      @media screen and (max-width: 600px) {
        .section--staff-section .container .staff-member, .section--staff-section .footer-widgets .wrap .staff-member, .footer-widgets .section--staff-section .wrap .staff-member {
          flex-basis: 100%;
          width: 100%; } }
      .section--staff-section .container .staff-member img, .section--staff-section .footer-widgets .wrap .staff-member img, .footer-widgets .section--staff-section .wrap .staff-member img {
        width: 100%;
        border-radius: 25px; }
      .section--staff-section .container .staff-member .name, .section--staff-section .footer-widgets .wrap .staff-member .name, .footer-widgets .section--staff-section .wrap .staff-member .name {
        margin-bottom: 0; }
      .section--staff-section .container .staff-member .title, .section--staff-section .footer-widgets .wrap .staff-member .title, .footer-widgets .section--staff-section .wrap .staff-member .title {
        margin-bottom: 0;
        text-transform: uppercase;
        line-height: 24px;
        font-size: 12px;
        font-weight: bold;
        letter-spacing: 2px;
        color: #5C7B8B; }

.section--faqs {
  margin-bottom: 25px; }
  .section--faqs .container, .section--faqs .footer-widgets .wrap, .footer-widgets .section--faqs .wrap {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto; }
  .section--faqs .faq {
    padding: 15px 20px 15px 60px;
    border-radius: 30px;
    border: 1px solid #93AEB8;
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-bottom: 10px; }
    .section--faqs .faq .answer {
      overflow: hidden; }
      .section--faqs .faq .answer p {
        margin-bottom: 0; }
    .section--faqs .faq .expander-icon {
      text-decoration: none;
      font-size: 32px;
      font-weight: 700;
      display: inline;
      position: absolute;
      left: 30px;
      width: 20px;
      height: 20px;
      top: 19px;
      text-align: center;
      line-height: 20px; }
      .section--faqs .faq .expander-icon .show {
        display: none; }
      .section--faqs .faq .expander-icon .hide {
        display: inline;
        font-size: 40px; }
    .section--faqs .faq.collapsed .answer {
      height: 0; }
    .section--faqs .faq.collapsed .expander-icon .show {
      display: inline; }
    .section--faqs .faq.collapsed .expander-icon .hide {
      display: none; }
  .section--faqs:last-child {
    margin-bottom: 50px; }

.cards,
.facetwp-template {
  display: flex;
  flex-flow: row wrap; }

section.section.section--selected-topics {
  margin-top: 40px; }
  section.section.section--selected-topics .header__title {
    margin-top: 50px; }
  section.section.section--selected-topics .header__subtitle {
    line-height: 2;
    margin-bottom: 15px; }

.card {
  margin: 15px;
  width: calc((100% / 3) - 30px);
  transition: all 0.2s ease-in-out; }
  .section--selected-topics .card {
    width: calc((100% / 4) - 30px); }
    @media screen and (min-width: 991px) {
      .section--selected-topics .card .card__expander {
        width: calc((100% * 4) + 90px); } }
    @media screen and (max-width: 990px) {
      .section--selected-topics .card {
        width: calc((100% / 2) - 30px); } }
    @media screen and (max-width: 767px) {
      .section--selected-topics .card {
        width: 100%; } }
  section.section.section--topics-archive .card {
    width: calc((100% / 3) - 30px); }
    @media screen and (max-width: 1090px) {
      section.section.section--topics-archive .card {
        width: calc((100% / 2) - 30px); } }
    @media screen and (max-width: 767px) {
      section.section.section--topics-archive .card {
        width: 100%;
        margin-right: 0;
        margin-left: 0; } }
    section.section.section--topics-archive .card .card__expander {
      width: calc((100% * 3) + 60px); }
      @media screen and (max-width: 1090px) {
        section.section.section--topics-archive .card .card__expander {
          width: calc((100% * 2) + 30px); } }
      @media screen and (max-width: 767px) {
        section.section.section--topics-archive .card .card__expander {
          width: 100%; } }
  .card__inner {
    width: 100%;
    padding: 20px;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #93AEB8; }
    .card__inner:after {
      transition: all 0.3s ease-in-out; }
  .card__expander {
    transition: all 0.2s ease-in-out;
    width: 100%;
    position: relative;
    display: flex; }

.is-collapsed .card__expander {
  max-height: 0;
  min-height: 0;
  overflow: hidden;
  margin-top: 0;
  opacity: 0; }

.is-expanded .card__inner:after {
  background-image: url(/wp-content/themes/ems_fccb/images/carrot.png);
  content: "";
  opacity: 1;
  display: inline-block;
  height: 15px;
  width: 30px;
  position: absolute;
  bottom: -27px;
  left: calc(50% - 15px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 4; }

.is-expanded .card__inner a:focus {
  outline: 1px solid grey; }

.is-expanded .card__expander {
  border-radius: 10px;
  max-height: 1000000px;
  min-height: 200px;
  overflow: visible;
  margin-top: 25px;
  opacity: 1;
  background-color: #fff;
  padding: 40px 20px;
  border: 1px solid #93AEB8;
  z-index: 0; }
  .is-expanded .card__expander .js-collapser {
    cursor: pointer;
    height: 20px;
    width: 20px;
    position: absolute;
    right: 20px;
    top: 20px;
    background-image: url(/wp-content/themes/ems_fccb/images/close.svg);
    background-size: 23px;
    background-repeat: no-repeat;
    background-position: center; }
  .is-expanded .card__expander .drawer__inner a.button {
    margin-top: 30px;
    margin-bottom: 30px; }
  @media screen and (min-width: 681px) {
    .is-expanded .card__expander .drawer__inner {
      display: grid;
      grid-template-columns: 70% 30%;
      gap: 40px; }
      .is-expanded .card__expander .drawer__inner__main {
        position: relative; }
        .is-expanded .card__expander .drawer__inner__main:after {
          content: "";
          position: absolute;
          right: -20px;
          top: 0;
          bottom: 0;
          width: 1px;
          background-color: grey; }
      .is-expanded .card__expander .drawer__inner a.button {
        margin-bottom: 0; } }

@media screen and (min-width: 1091px) {
  .card:nth-of-type(3n+2) .card__expander {
    margin-left: calc(-100% - 30px); }
  .card:nth-of-type(3n+3) .card__expander {
    margin-left: calc(-200% - 60px); }
  .section--selected-topics .card:nth-of-type(3n+4) .card__expander {
    margin-left: calc(-300% - 90px); } }

@media screen and (min-width: 768px) and (max-width: 1090px) {
  .card:nth-of-type(2n+2) .card__expander {
    margin-left: calc(-100% - 30px); }
  .card:nth-of-type(2n+3) {
    clear: left; }
  .card__expander {
    width: calc(200% + 30px); } }

.section--selected-topics .header {
  text-align: center; }

.card__inner {
  border-radius: 10px;
  padding: 20px;
  background-color: #fff;
  border: 1px solid #93AEB8; }
  .card__inner img {
    border-radius: 30px;
    width: 100%;
    margin-bottom: 15px; }
  .card__inner .domain {
    text-transform: uppercase;
    letter-spacing: 1.66px;
    font-size: 12px;
    line-height: 2;
    letter-spacing: 2px;
    font-weight: bold;
    color: #5C7B8B;
    margin-bottom: 0px; }
  .card__inner a {
    color: #3E854A;
    text-decoration: underline; }
  .card__inner h3.title {
    margin-top: 0px; }

.card__expander .drawer__inner__main .title {
  font-weight: 600; }

.card__expander .drawer__inner__sidebar h4 {
  margin-bottom: 10px;
  margin-top: 10px; }

.card__expander .drawer__inner__sidebar p.info {
  margin-bottom: 10px; }

.card__expander .drawer__inner__sidebar > h4:first-of-type {
  margin-top: 0; }

.section--topics-archive {
  background-color: #EAEEF0;
  padding: 40px 0px; }
  @media screen and (min-width: 961px) {
    .section--topics-archive .container, .section--topics-archive .footer-widgets .wrap, .footer-widgets .section--topics-archive .wrap {
      display: flex; } }
  .section--topics-archive .container .topic-sidebar, .section--topics-archive .footer-widgets .wrap .topic-sidebar, .footer-widgets .section--topics-archive .wrap .topic-sidebar {
    flex-basis: 300px;
    flex-shrink: 0;
    padding-right: 30px; }
    .section--topics-archive .container .topic-sidebar a, .section--topics-archive .footer-widgets .wrap .topic-sidebar a, .footer-widgets .section--topics-archive .wrap .topic-sidebar a {
      color: #357440; }
    .section--topics-archive .container .topic-sidebar .facetwp-facet, .section--topics-archive .footer-widgets .wrap .topic-sidebar .facetwp-facet, .footer-widgets .section--topics-archive .wrap .topic-sidebar .facetwp-facet {
      margin-bottom: 30px; }
      .section--topics-archive .container .topic-sidebar .facetwp-facet .facetwp-checkbox, .section--topics-archive .footer-widgets .wrap .topic-sidebar .facetwp-facet .facetwp-checkbox, .footer-widgets .section--topics-archive .wrap .topic-sidebar .facetwp-facet .facetwp-checkbox {
        background-position-y: 6px;
        background-size: 18px 18px;
        padding-left: 25px; }
    .section--topics-archive .container .topic-sidebar .facetwp-counter, .section--topics-archive .footer-widgets .wrap .topic-sidebar .facetwp-counter, .footer-widgets .section--topics-archive .wrap .topic-sidebar .facetwp-counter {
      display: none; }
    .section--topics-archive .container .topic-sidebar .facetwp-slider-wrap, .section--topics-archive .footer-widgets .wrap .topic-sidebar .facetwp-slider-wrap, .footer-widgets .section--topics-archive .wrap .topic-sidebar .facetwp-slider-wrap {
      padding: 0px 11px 15px; }
    .section--topics-archive .container .topic-sidebar .facetwp-slider-label, .section--topics-archive .footer-widgets .wrap .topic-sidebar .facetwp-slider-label, .footer-widgets .section--topics-archive .wrap .topic-sidebar .facetwp-slider-label {
      display: none; }
    .section--topics-archive .container .topic-sidebar .noUi-target, .section--topics-archive .footer-widgets .wrap .topic-sidebar .noUi-target, .footer-widgets .section--topics-archive .wrap .topic-sidebar .noUi-target {
      padding: 0px;
      border: none;
      background: #ccc;
      height: 6px; }
    .section--topics-archive .container .topic-sidebar .noUi-connect, .section--topics-archive .footer-widgets .wrap .topic-sidebar .noUi-connect, .footer-widgets .section--topics-archive .wrap .topic-sidebar .noUi-connect {
      background: #555; }
    .section--topics-archive .container .topic-sidebar .noUi-origin, .section--topics-archive .footer-widgets .wrap .topic-sidebar .noUi-origin, .footer-widgets .section--topics-archive .wrap .topic-sidebar .noUi-origin {
      top: -6px; }
    .section--topics-archive .container .topic-sidebar .noUi-handle, .section--topics-archive .footer-widgets .wrap .topic-sidebar .noUi-handle, .footer-widgets .section--topics-archive .wrap .topic-sidebar .noUi-handle {
      border-radius: 50%;
      border-color: #3E854A;
      width: 25px;
      height: 25px;
      right: -12px; }
      .section--topics-archive .container .topic-sidebar .noUi-handle:focus, .section--topics-archive .footer-widgets .wrap .topic-sidebar .noUi-handle:focus, .footer-widgets .section--topics-archive .wrap .topic-sidebar .noUi-handle:focus {
        border: 2px solid #ececec;
        outline: 2px solid grey; }
    .section--topics-archive .container .topic-sidebar .noUi-marker-large, .section--topics-archive .footer-widgets .wrap .topic-sidebar .noUi-marker-large, .footer-widgets .section--topics-archive .wrap .topic-sidebar .noUi-marker-large {
      height: 20px;
      margin-top: -23px;
      width: 1px;
      background: #555; }
    .section--topics-archive .container .topic-sidebar .noUi-value-large, .section--topics-archive .footer-widgets .wrap .topic-sidebar .noUi-value-large, .footer-widgets .section--topics-archive .wrap .topic-sidebar .noUi-value-large {
      margin-top: -12px;
      width: 30px;
      height: 30px;
      text-align: center;
      color: #365A6C; }
    .section--topics-archive .container .topic-sidebar .facetwp-slider-reset, .section--topics-archive .footer-widgets .wrap .topic-sidebar .facetwp-slider-reset, .footer-widgets .section--topics-archive .wrap .topic-sidebar .facetwp-slider-reset {
      display: none; }
  .section--topics-archive .container .facetwp-selections, .section--topics-archive .footer-widgets .wrap .facetwp-selections, .footer-widgets .section--topics-archive .wrap .facetwp-selections {
    width: 100%; }
    .section--topics-archive .container .facetwp-selections ul, .section--topics-archive .footer-widgets .wrap .facetwp-selections ul, .footer-widgets .section--topics-archive .wrap .facetwp-selections ul {
      margin-left: 0;
      padding-left: 0; }
    .section--topics-archive .container .facetwp-selections li, .section--topics-archive .footer-widgets .wrap .facetwp-selections li, .footer-widgets .section--topics-archive .wrap .facetwp-selections li {
      display: inline; }
    .section--topics-archive .container .facetwp-selections .facetwp-selection-label, .section--topics-archive .footer-widgets .wrap .facetwp-selections .facetwp-selection-label, .footer-widgets .section--topics-archive .wrap .facetwp-selections .facetwp-selection-label {
      display: none; }
    .section--topics-archive .container .facetwp-selections li[data-facet="pd_clock_hours"] .facetwp-selection-value:after, .section--topics-archive .footer-widgets .wrap .facetwp-selections li[data-facet="pd_clock_hours"] .facetwp-selection-value:after, .footer-widgets .section--topics-archive .wrap .facetwp-selections li[data-facet="pd_clock_hours"] .facetwp-selection-value:after {
      content: ' Hours'; }
    .section--topics-archive .container .facetwp-selections .facetwp-selection-value, .section--topics-archive .footer-widgets .wrap .facetwp-selections .facetwp-selection-value, .footer-widgets .section--topics-archive .wrap .facetwp-selections .facetwp-selection-value {
      margin-right: 20px;
      font-size: 16px;
      border: 1px solid #365A6C;
      border-radius: 15px;
      padding: 5px 25px 5px 10px;
      background-position: right 5px center;
      margin-bottom: 10px; }

.facet-more-info {
  display: inline-block;
  margin-top: -1em;
  margin-bottom: 1em;
  font-size: 14px; }

/* Slider Pips Default CSS * /
/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.noUi-pips {
  position: absolute;
  color: #999; }

/* Values;
 *
 */
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center; }

.noUi-value-sub {
  color: #ccc;
  font-size: 10px; }

/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: #CCC; }

.noUi-marker-sub {
  background: #AAA; }

.noUi-marker-large {
  background: #AAA; }

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%; }

.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%); }

.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%); }

.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px; }

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px; }

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px; }

.topics-archive-introduction {
  margin-bottom: 35px; }
  .topics-archive-introduction p {
    margin-bottom: 20px; }

.upcoming-facilitator-trainings article.entry {
  padding-top: 50px;
  background-color: #EAEEF0; }

.upcoming-facilitator-trainings .section--trainings-archive {
  padding-top: 0; }

.section--trainings-archive .training-main {
  width: 100%; }
  @media (min-width: 992px) {
    .section--trainings-archive .training-main {
      width: calc(100% - 300px); } }

.training-main-facets {
  display: flex;
  justify-content: space-between;
  flex-direction: column; }
  @media (min-width: 992px) {
    .training-main-facets {
      align-items: center;
      flex-direction: row; } }

.facetwp-facet-training_pager.facetwp-facet {
  margin-bottom: 30px;
  display: flex;
  justify-content: center; }
  .facetwp-facet-training_pager.facetwp-facet .facetwp-page.active {
    font-weight: normal;
    color: #333;
    text-decoration: none; }

.facetwp-type-sort.facetwp-facet {
  margin-bottom: 20px; }
  .facetwp-type-sort.facetwp-facet select {
    border: 1px solid #3E854A; }

.upcoming-trainings-link {
  display: block;
  margin-bottom: 30px; }

.section--prefooter {
  text-align: center;
  padding: 30px 0 60px; }
  .section--prefooter .cta-container {
    padding: 0 0; }

section.section.section--trainings-tables {
  padding: 50px 40px; }
  @media screen and (max-width: 960px) {
    section.section.section--trainings-tables {
      padding-left: 0;
      padding-right: 0; }
      section.section.section--trainings-tables h2 {
        text-align: center; } }
  section.section.section--trainings-tables.upcoming {
    background-color: #EAEEF0; }
    section.section.section--trainings-tables.upcoming tbody {
      background-color: #fff; }
  section.section.section--trainings-tables .container, section.section.section--trainings-tables .footer-widgets .wrap, .footer-widgets section.section.section--trainings-tables .wrap {
    margin-bottom: 40px; }
    section.section.section--trainings-tables .container .cta-container, section.section.section--trainings-tables .footer-widgets .wrap .cta-container, .footer-widgets section.section.section--trainings-tables .wrap .cta-container {
      padding-bottom: 0; }
    section.section.section--trainings-tables .container table thead, section.section.section--trainings-tables .footer-widgets .wrap table thead, .footer-widgets section.section.section--trainings-tables .wrap table thead {
      border-left: 7px solid transparent; }
      @media screen and (max-width: 960px) {
        section.section.section--trainings-tables .container table thead, section.section.section--trainings-tables .footer-widgets .wrap table thead, .footer-widgets section.section.section--trainings-tables .wrap table thead {
          display: none; } }
      section.section.section--trainings-tables .container table thead tr, section.section.section--trainings-tables .footer-widgets .wrap table thead tr, .footer-widgets section.section.section--trainings-tables .wrap table thead tr {
        border: none; }
        section.section.section--trainings-tables .container table thead tr th, section.section.section--trainings-tables .footer-widgets .wrap table thead tr th, .footer-widgets section.section.section--trainings-tables .wrap table thead tr th {
          padding: 0 0.5em; }
          section.section.section--trainings-tables .container table thead tr th:focus, section.section.section--trainings-tables .footer-widgets .wrap table thead tr th:focus, .footer-widgets section.section.section--trainings-tables .wrap table thead tr th:focus {
            border: 2px solid #ececec;
            outline: 2px solid grey; }
        @media screen and (max-width: 960px) {
          section.section.section--trainings-tables .container table thead tr, section.section.section--trainings-tables .footer-widgets .wrap table thead tr, .footer-widgets section.section.section--trainings-tables .wrap table thead tr {
            display: inline-flex !important;
            width: 100%;
            padding: 0;
            justify-content: space-between; } }
    section.section.section--trainings-tables .container table tbody.scrollContent, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent {
      border: 1px solid #93AEB8; }
      section.section.section--trainings-tables .container table tbody.scrollContent .training-row, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row {
        width: 100%;
        padding: 15px 0 15px 0px;
        cursor: pointer;
        border-color: #93AEB8;
        display: inline-block; }
        section.section.section--trainings-tables .container table tbody.scrollContent .training-row:first-of-type, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row:first-of-type, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row:first-of-type {
          border-top: none; }
        section.section.section--trainings-tables .container table tbody.scrollContent .training-row .expander-icon, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row .expander-icon, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row .expander-icon {
          text-decoration: none;
          font-size: 32px;
          font-weight: 700;
          display: inline-block;
          width: 100%;
          text-align: center;
          line-height: 30px; }
          section.section.section--trainings-tables .container table tbody.scrollContent .training-row .expander-icon .show, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row .expander-icon .show, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row .expander-icon .show {
            display: none; }
          section.section.section--trainings-tables .container table tbody.scrollContent .training-row .expander-icon .hide, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row .expander-icon .hide, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row .expander-icon .hide {
            display: inline; }
        section.section.section--trainings-tables .container table tbody.scrollContent .training-row .training-desc__desc, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row .training-desc__desc, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row .training-desc__desc {
          max-height: 1000px;
          transition: 400ms all;
          overflow: hidden; }
        section.section.section--trainings-tables .container table tbody.scrollContent .training-row.collapsed .expander-icon .show, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row.collapsed .expander-icon .show, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row.collapsed .expander-icon .show {
          display: inline; }
        section.section.section--trainings-tables .container table tbody.scrollContent .training-row.collapsed .expander-icon .hide, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row.collapsed .expander-icon .hide, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row.collapsed .expander-icon .hide {
          display: none; }
        section.section.section--trainings-tables .container table tbody.scrollContent .training-row.collapsed .training-desc__desc, section.section.section--trainings-tables .footer-widgets .wrap table tbody.scrollContent .training-row.collapsed .training-desc__desc, .footer-widgets section.section.section--trainings-tables .wrap table tbody.scrollContent .training-row.collapsed .training-desc__desc {
          max-height: 0; }
    @media screen and (min-width: 961px) {
      section.section.section--trainings-tables .container .training-row td, section.section.section--trainings-tables .footer-widgets .wrap .training-row td, .footer-widgets section.section.section--trainings-tables .wrap .training-row td,
      section.section.section--trainings-tables .container thead th,
      section.section.section--trainings-tables .footer-widgets .wrap thead th,
      .footer-widgets section.section.section--trainings-tables .wrap thead th {
        display: inline-block; }
        section.section.section--trainings-tables .container .training-row td:nth-of-type(1), section.section.section--trainings-tables .footer-widgets .wrap .training-row td:nth-of-type(1), .footer-widgets section.section.section--trainings-tables .wrap .training-row td:nth-of-type(1),
        section.section.section--trainings-tables .container thead th:nth-of-type(1),
        section.section.section--trainings-tables .footer-widgets .wrap thead th:nth-of-type(1),
        .footer-widgets section.section.section--trainings-tables .wrap thead th:nth-of-type(1) {
          width: 45px; }
        section.section.section--trainings-tables .container .training-row td:nth-of-type(2), section.section.section--trainings-tables .footer-widgets .wrap .training-row td:nth-of-type(2), .footer-widgets section.section.section--trainings-tables .wrap .training-row td:nth-of-type(2),
        section.section.section--trainings-tables .container thead th:nth-of-type(2),
        section.section.section--trainings-tables .footer-widgets .wrap thead th:nth-of-type(2),
        .footer-widgets section.section.section--trainings-tables .wrap thead th:nth-of-type(2) {
          width: 109px; }
        section.section.section--trainings-tables .container .training-row td:nth-of-type(3), section.section.section--trainings-tables .footer-widgets .wrap .training-row td:nth-of-type(3), .footer-widgets section.section.section--trainings-tables .wrap .training-row td:nth-of-type(3),
        section.section.section--trainings-tables .container thead th:nth-of-type(3),
        section.section.section--trainings-tables .footer-widgets .wrap thead th:nth-of-type(3),
        .footer-widgets section.section.section--trainings-tables .wrap thead th:nth-of-type(3) {
          width: calc(100% - 460px); }
        section.section.section--trainings-tables .container .training-row td:nth-of-type(4), section.section.section--trainings-tables .footer-widgets .wrap .training-row td:nth-of-type(4), .footer-widgets section.section.section--trainings-tables .wrap .training-row td:nth-of-type(4),
        section.section.section--trainings-tables .container thead th:nth-of-type(4),
        section.section.section--trainings-tables .footer-widgets .wrap thead th:nth-of-type(4),
        .footer-widgets section.section.section--trainings-tables .wrap thead th:nth-of-type(4) {
          width: 180px; }
        section.section.section--trainings-tables .container .training-row td:nth-of-type(5), section.section.section--trainings-tables .footer-widgets .wrap .training-row td:nth-of-type(5), .footer-widgets section.section.section--trainings-tables .wrap .training-row td:nth-of-type(5),
        section.section.section--trainings-tables .container thead th:nth-of-type(5),
        section.section.section--trainings-tables .footer-widgets .wrap thead th:nth-of-type(5),
        .footer-widgets section.section.section--trainings-tables .wrap thead th:nth-of-type(5) {
          width: 100px; }
      
      section.section.section--trainings-tables .container thead th,
      section.section.section--trainings-tables .footer-widgets .wrap thead th,
      .footer-widgets section.section.section--trainings-tables .wrap thead th {
        border: 2px solid transparent; } }
    @media screen and (max-width: 960px) {
      section.section.section--trainings-tables .container tr.training-row, section.section.section--trainings-tables .footer-widgets .wrap tr.training-row, .footer-widgets section.section.section--trainings-tables .wrap tr.training-row {
        display: inline-block; }
        section.section.section--trainings-tables .container tr.training-row td, section.section.section--trainings-tables .footer-widgets .wrap tr.training-row td, .footer-widgets section.section.section--trainings-tables .wrap tr.training-row td {
          word-break: break-word;
          width: 100%;
          float: left; }
          section.section.section--trainings-tables .container tr.training-row td:nth-of-type(1), section.section.section--trainings-tables .footer-widgets .wrap tr.training-row td:nth-of-type(1), .footer-widgets section.section.section--trainings-tables .wrap tr.training-row td:nth-of-type(1) {
            width: 45px; }
          section.section.section--trainings-tables .container tr.training-row td:nth-of-type(2), section.section.section--trainings-tables .footer-widgets .wrap tr.training-row td:nth-of-type(2), .footer-widgets section.section.section--trainings-tables .wrap tr.training-row td:nth-of-type(2) {
            width: 100%;
            text-align: left; }
          section.section.section--trainings-tables .container tr.training-row td:empty, section.section.section--trainings-tables .footer-widgets .wrap tr.training-row td:empty, .footer-widgets section.section.section--trainings-tables .wrap tr.training-row td:empty {
            padding: 0; } }

.sortable th:not(.sorttable_nosort) {
  cursor: pointer; }
  .sortable th:not(.sorttable_nosort) span {
    display: none !important; }
  .sortable th:not(.sorttable_nosort):after {
    content: "";
    width: 7px;
    height: 20px;
    position: relative;
    display: inline-block;
    margin: 0px 0 -5px 7px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(/wp-content/themes/ems_fccb/images/icon-sort.png); }
  .sortable th:not(.sorttable_nosort).sorttable_sorted:after {
    background-image: url(/wp-content/themes/ems_fccb/images/icon-sorted-down.png); }
  .sortable th:not(.sorttable_nosort).sorttable_sorted_reverse:after {
    background-image: url(/wp-content/themes/ems_fccb/images/icon-sorted-up.png); }

@media screen and (max-width: 960px) {
  .tableContainer,
  .tableContainer tbody.scrollContent {
    max-height: unset !important; } }

.gform_wrapper .gfield_required {
  float: left;
  width: 12px;
  color: #365A6C !important; }
  @media screen and (max-width: 641px) {
    .gform_wrapper .gfield_required {
      float: none; } }

.gform_wrapper #gform_fields_6 {
  display: inline-block !important; }
  .gform_wrapper #gform_fields_6 .gfield {
    width: 100%;
    float: left; }
  @media screen and (min-width: 961px) {
    .gform_wrapper #gform_fields_6 .gfield--width-half {
      width: auto;
      min-width: 300px;
      float: left;
      display: inline-block;
      margin: 0 20px 40px 0 !important; }
      .gform_wrapper #gform_fields_6 .gfield--width-half#field_6_5 label {
        height: 30px;
        display: block;
        position: relative; } }
  .gform_wrapper #gform_fields_6 .gfield--width-full {
    clear: left; }
  @media screen and (min-width: 961px) {
    .gform_wrapper #gform_fields_6 .thirds {
      width: calc(33% - 20px);
      float: left;
      display: inline-block;
      margin: 0 20px 40px 0 !important; } }
  @media screen and (min-width: 961px) {
    .gform_wrapper #gform_fields_6 .twothirds {
      width: calc(67% - 20px);
      float: left;
      margin: 0 20px 40px 0; } }

.gform_wrapper .gfield_contains_required .name_first label::before,
.gform_wrapper .gfield_contains_required .name_last label::before {
  content: "*";
  float: left;
  width: 12px;
  color: #365A6C; }
  @media screen and (max-width: 641px) {
    .gform_wrapper .gfield_contains_required .name_first label::before,
    .gform_wrapper .gfield_contains_required .name_last label::before {
      display: none; } }

@media screen and (max-width: 641px) {
  .gform_wrapper .gfield_contains_required .name_first label::after,
  .gform_wrapper .gfield_contains_required .name_last label::after {
    content: "*";
    width: 12px;
    padding-left: .125em;
    color: #365A6C;
    display: inline-block;
    float: none; } }

.gform_wrapper .gfield {
  margin-bottom: 40px !important; }
  @media screen and (max-width: 641px) {
    .gform_wrapper .gfield {
      margin-bottom: 20px !important; }
      .gform_wrapper .gfield#field_5_3, .gform_wrapper .gfield#field_7_7 {
        margin-bottom: 0 !important; }
      .gform_wrapper .gfield#field_5_4, .gform_wrapper .gfield#field_5_7, .gform_wrapper .gfield#field_5_5 {
        margin-bottom: 10px !important; } }

.gform_wrapper span.gfield_required.gfield_required_text {
  display: none; }

.gform_wrapper label,
.gform_wrapper legend {
  padding-top: 0 !important;
  font-size: 16px !important;
  margin-bottom: 10px !important;
  font-weight: 600 !important; }

.gform_wrapper input:not([type=submit]),
.gform_wrapper select,
.gform_wrapper textarea,
.gform_wrapper .chosen-choices {
  border: 1px solid #3E854A !important; }
  .gform_wrapper input:not([type=submit]):focus,
  .gform_wrapper select:focus,
  .gform_wrapper textarea:focus,
  .gform_wrapper .chosen-choices:focus {
    border: 2px solid #ececec;
    outline: 2px solid grey; }

.gform_wrapper .gfield_checkbox {
  display: inline-flex;
  width: 100%;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 20px; }
  .gform_wrapper .gfield_checkbox .gchoice {
    width: auto;
    white-space: nowrap; }
    .gform_wrapper .gfield_checkbox .gchoice label {
      margin-bottom: 0 !important;
      font-weight: 400 !important; }

.gform_wrapper .gfield_radio {
  display: inline-flex;
  width: 100%; }
  .gform_wrapper .gfield_radio .gchoice {
    width: auto;
    white-space: nowrap;
    padding-right: 20px; }
    .gform_wrapper .gfield_radio .gchoice label {
      margin-bottom: 0 !important;
      font-weight: 400 !important; }

.gform_wrapper .gform_footer {
  margin-top: 0 !important;
  text-align: center; }
  .gform_wrapper .gform_footer input[type=submit] {
    background-color: #3E854A;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 25px;
    border: 2px solid #3E854A;
    transition: 400ms all;
    padding: 8px 30px;
    margin-bottom: 30px;
    padding: 14px 30px; }
    .gform_wrapper .gform_footer input[type=submit]:hover {
      background-color: #fff;
      color: #3E854A;
      border: 2px solid #3E854A; }
    .gform_wrapper .gform_footer input[type=submit]:focus {
      background-color: #fff;
      color: #3E854A;
      border: 2px solid #ececec;
      outline: 2px solid grey; }

#input_6_6_chosen {
  width: 360px !important;
  max-width: 100% !important; }
  #input_6_6_chosen input {
    color: #365A6C !important; }

div#field_6_18 {
  margin-bottom: 10px !important; }

.gform_wrapper.gravity-theme .field_description_above .gfield_description {
  padding-top: 12px !important;
  padding-bottom: 13px !important; }

select#input_5_6 {
  padding: 6px 8px 7px; }

.gform_confirmation_wrapper {
  text-align: center; }

@supports (background: -webkit-named-image(i)) {
  .gfield_checkbox .gchoice {
    margin-right: 1rem; } }

@media screen and (min-width: 961px) {
  .half-field {
    grid-column: span 6 !important; } }

@media screen and (max-width: 960px) {
  #field_6_4 .ginput_container .gfield_radio {
    display: flex;
    flex-direction: column; } }

@media screen and (max-width: 640px) {
  .gform_wrapper.gravity-theme .ginput_complex span.name_first {
    margin-bottom: 22px !important; }
  .gform_wrapper.gravity-theme .ginput_complex span.name_last {
    margin-bottom: 7px !important; }
  #input_6_1_6_container {
    margin-bottom: 20px !important; }
  #field_6_1 {
    margin-bottom: 0 !important; } }

@media screen and (max-width: 641px) {
  #gform_7 .gfield {
    margin-bottom: 5px !important; } }

section.section.section--narrow-content .narrow {
  max-width: 765px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
  padding-top: 30px; }

.direct-service-workshops .hero-intro--text a:not(.link-cta) {
  color: #3E854A; }
  .direct-service-workshops .hero-intro--text a:not(.link-cta):hover {
    color: #3E854A; }

.direct-service-workshops .text-bubble--body h2 {
  margin-bottom: 2.5rem; }

.past-direct-service-workshops article.entry {
  background-color: #EAEEF0;
  padding-top: 50px; }

.training.type-training.entry .entry-content,
.service_workshop.type-service_workshop.entry .entry-content {
  display: flex;
  flex-direction: column; }
  @media (min-width: 992px) {
    .training.type-training.entry .entry-content,
    .service_workshop.type-service_workshop.entry .entry-content {
      flex-direction: row;
      flex-wrap: wrap;
      padding-bottom: 2rem; } }
  .training.type-training.entry .entry-content .training-single-sidebar,
  .service_workshop.type-service_workshop.entry .entry-content .training-single-sidebar {
    width: 100%;
    padding: 2px 0 25px; }
    @media (min-width: 992px) {
      .training.type-training.entry .entry-content .training-single-sidebar,
      .service_workshop.type-service_workshop.entry .entry-content .training-single-sidebar {
        padding-top: 2px;
        padding-left: 25px;
        padding-right: 25px;
        padding-bottom: 0;
        width: 350px;
        border-left: 1px solid #93AEB8;
        align-self: flex-start; } }
    .training.type-training.entry .entry-content .training-single-sidebar .sidebar-heading,
    .training.type-training.entry .entry-content .training-single-sidebar .training-date p,
    .service_workshop.type-service_workshop.entry .entry-content .training-single-sidebar .sidebar-heading,
    .service_workshop.type-service_workshop.entry .entry-content .training-single-sidebar .training-date p {
      margin-bottom: 0; }
    .training.type-training.entry .entry-content .training-single-sidebar .info,
    .service_workshop.type-service_workshop.entry .entry-content .training-single-sidebar .info {
      margin-bottom: 1rem; }
    .training.type-training.entry .entry-content .training-single-sidebar .link-cta,
    .service_workshop.type-service_workshop.entry .entry-content .training-single-sidebar .link-cta {
      margin-top: 18px; }
  .training.type-training.entry .entry-content .training-single-body,
  .service_workshop.type-service_workshop.entry .entry-content .training-single-body {
    width: 100%; }
    @media (min-width: 992px) {
      .training.type-training.entry .entry-content .training-single-body,
      .service_workshop.type-service_workshop.entry .entry-content .training-single-body {
        padding-right: 25px;
        width: calc(100% - 350px); } }

.link-cta.disabled {
  opacity: 0.6;
  pointer-events: none; }

.training-single-back {
  display: block;
  color: #3E854A;
  margin-bottom: 18px; }
  .training-single-back:hover {
    color: #3E854A; }

.training-date {
  margin-bottom: 1rem; }

.training-card__sidebar .info,
.training-single-sidebar .info {
  margin-bottom: 1rem; }

.single-training .type-training .entry-header {
  display: none; }

.single-training .type-training .entry-content {
  padding-top: 50px; }

.curriculum-library article.page {
  background-color: #eaeef0; }

.section--topics {
  margin-top: 15px;
  margin-bottom: 100px; }
  .section--topics #curriculum-library-block > .accordion-item,
  .section--topics #curriculum-library-block > .accordion-item .topic-title > .accordion-button {
    border-radius: 30px !important; }
  .section--topics #curriculum-library-block > .accordion-item {
    margin-bottom: 12px;
    outline: 1px solid #93AEB8;
    border-radius: 30px !important; }
    .section--topics #curriculum-library-block > .accordion-item > .topic-title .accordion-button:not(.collapsed) {
      box-shadow: none;
      background-color: transparent;
      border-bottom: 0;
      border-left: 0;
      border-right: 0; }
  .section--topics #curriculum-library-block .accordion-body {
    padding-left: 58px;
    padding-right: 49px;
    padding-bottom: 28px; }
  .section--topics #curriculum-library-block .subfolder-wrapper.show .accordion-body,
  .section--topics #curriculum-library-block .subfolder-wrapper.collapsing .accordion-body {
    padding-bottom: 0; }
  .section--topics #curriculum-library-block .topic-title {
    margin-top: 0;
    margin-bottom: 0; }
    .section--topics #curriculum-library-block .topic-title .accordion-item:not(:first-of-type) {
      border-top: 1px solid #93AEB8; }
  .section--topics #curriculum-library-block .accordion-button {
    color: #365A6C;
    font-weight: bold;
    padding-left: 58px;
    padding-top: 18px;
    padding-bottom: 18px;
    line-height: 1;
    border: none !important; }
    .section--topics #curriculum-library-block .accordion-button::before {
      content: '';
      position: absolute;
      left: 22px;
      top: 15px;
      width: 24px;
      height: 24px;
      display: inline-block;
      background-repeat: no-repeat;
      background-position: center center; }
    .section--topics #curriculum-library-block .accordion-button:not(.collapsed) {
      background-color: transparent;
      box-shadow: none; }
      .section--topics #curriculum-library-block .accordion-button:not(.collapsed)::after {
        display: none; }
      .section--topics #curriculum-library-block .accordion-button:not(.collapsed)::before {
        background-image: url(/wp-content/themes/ems_fccb/images/minus.svg);
        top: 15px; }
    .section--topics #curriculum-library-block .accordion-button.collapsed::after {
      display: none; }
    .section--topics #curriculum-library-block .accordion-button.collapsed::before {
      background-image: url(/wp-content/themes/ems_fccb/images/plus.svg); }
  .section--topics .subfolder-wrapper .accordion-body {
    display: flex;
    flex-wrap: wrap;
    padding-left: 1px !important;
    padding-top: 0; }
    .section--topics .subfolder-wrapper .accordion-body .subfolder {
      flex-basis: 100%;
      margin-bottom: 12px; }
  .section--topics .subfolder__title {
    font-size: 16px;
    color: #365A6C;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 16px; }
  .section--topics .files-list {
    padding-left: 0;
    margin-left: 0;
    list-style: none; }
  .section--topics .file__link {
    font-size: 16px;
    line-height: 30px;
    color: #3E854A; }
    .section--topics .file__link .file-icon {
      display: inline-block;
      margin-right: 13px;
      background-size: 25px;
      width: 25px;
      height: 25px;
      transform: translateY(5px); }
      .section--topics .file__link .file-icon.file--pdf {
        background-image: url(/wp-content/themes/ems_fccb/images/pdf.svg); }
      .section--topics .file__link .file-icon.file--doc {
        background-image: url(/wp-content/themes/ems_fccb/images/doc.svg); }
      .section--topics .file__link .file-icon.file--gif {
        background-image: url(/wp-content/themes/ems_fccb/images/gif.svg); }
      .section--topics .file__link .file-icon.file--ppt {
        background-image: url(/wp-content/themes/ems_fccb/images/ppt.svg); }

.language-accordion-item {
  border-radius: 0 !important;
  border-top: 1px solid #979797 !important;
  border-bottom: none;
  border-left: none;
  border-right: none; }
  .language-accordion-item:last-child {
    border-bottom: 1px solid #979797; }
  .language-accordion-item .accordion-button {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-left: 30px !important; }
    .language-accordion-item .accordion-button::before {
      left: 1px !important;
      background-position-x: 0 !important; }

.language-title {
  margin-top: 0; }

.training-card {
  border: 1px solid #93AEB8;
  padding: 25px;
  border-radius: 10px;
  width: 100%;
  background-color: #fff;
  margin-bottom: 25px; }
  .training-card__body {
    width: 100%;
    padding: 10px 25px 10px 0;
    float: left; }
    @media (min-width: 768px) {
      .training-card__body {
        width: calc(100% - 200px); } }
    .training-card__body .domain {
      color: #5C7B8B;
      font-size: .85em;
      font-weight: 600;
      margin-bottom: 0;
      text-transform: uppercase;
      letter-spacing: 2px; }
    .training-card__body .topic {
      margin-top: 0;
      margin-bottom: 20px; }
  .training-card__sidebar {
    width: 100%;
    float: right;
    padding: 2px 0 10px 25px;
    padding-left: 0; }
    @media (min-width: 768px) {
      .training-card__sidebar {
        padding-top: 2px;
        padding-right: 0;
        padding-bottom: 10px;
        padding-left: 25px;
        border-left: 1px solid #93AEB8;
        width: 200px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwibWl4aW5zL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJtaXhpbnMvX21peGlucy5zY3NzIiwibWl4aW5zL19yZW0uc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fZ2xvYmFsLnNjc3MiLCJiYXNlL19wYWdlLnNjc3MiLCJiYXNlL19oZWFkZXIuc2NzcyIsImJhc2UvX2Zvb3Rlci5zY3NzIiwiYmFzZS9fc3BhY2Vycy5zY3NzIiwiYmFzZS9faWUxMS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2RlcHJlY2F0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbG9yLXNjaGVtZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZHJvcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JveC1zaGFkb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJ0eXBvZ3JhcGh5L190ZXh0LnNjc3MiLCJibG9ja3MvX2hlcm8taW50cm8uc2NzcyIsImJsb2Nrcy9fdGV4dC1idWJibGVzLnNjc3MiLCJibG9ja3MvX3N0YWZmLXNlY3Rpb24uc2NzcyIsImJsb2Nrcy9fZmFxcy1zZWN0aW9uLnNjc3MiLCJibG9ja3MvX3RvcGljLWNhcmRzLnNjc3MiLCJibG9ja3MvX3RvcGljcy1hcmNoaXZlLnNjc3MiLCJibG9ja3MvX3RyYWluaW5ncy1hcmNoaXZlLnNjc3MiLCJibG9ja3MvX3ByZWZvb3Rlci5zY3NzIiwiYmxvY2tzL190cmFpbmluZ3MtdGFibGUuc2NzcyIsImJsb2Nrcy9fZm9ybXMuc2NzcyIsImJsb2Nrcy9fY29udGVudC1ibG9ja3Muc2NzcyIsImJsb2Nrcy9fZGlyZWN0LXNlcnZpY2Utd29ya3Nob3Atc2luZ2xlLnNjc3MiLCJibG9ja3MvX2RpcmVjdC1zZXJ2aWNlLXdvcmtzaG9wLWFyY2hpdmUuc2NzcyIsImJsb2Nrcy9fdHJhaW5pbmctc2luZ2xlLnNjc3MiLCJibG9ja3MvX2N1cnJpY3VsdW0tbGlicmFyeS5zY3NzIiwiYml0cy9fdHJhaW5pbmctY2FyZC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gVGhlbWUgTmFtZTogICBDQVNQRUQgUmVmb3JtXG4gVGVtcGxhdGU6ICAgICBnZW5lc2lzXG4gVmVyc2lvbjogICAgICAwLjFcbiovXG5cblxuLyogTWl4aW5zICovXG5cbkBpbXBvcnQgXCJtaXhpbnMvYWNjZXNzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVtXCI7XG5cbi8qIEdsb2JhbCAqL1xuXG5AaW1wb3J0IFwiYmFzZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJiYXNlL2dsb2JhbFwiO1xuQGltcG9ydCBcImJhc2UvcGFnZVwiO1xuQGltcG9ydCBcImJhc2UvaGVhZGVyXCI7XG5AaW1wb3J0IFwiYmFzZS9mb290ZXJcIjtcbkBpbXBvcnQgXCJiYXNlL3NwYWNlcnNcIjtcbkBpbXBvcnQgXCJiYXNlL2llMTFcIjtcbi8vIEBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLXJlYm9vdFwiO1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcblxuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RyYW5zaXRpb25zXCI7XG5cblxuXG5cbi8qIFR5cG9ncmFwaHkgKi9cblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TGF0bzppdGFsLHdnaHRAMCw0MDA7MCw3MDA7MSw0MDA7MSw3MDAmZGlzcGxheT1zd2FwJyk7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS90ZXh0XCI7XG4vLyBibG9ja3NcbkBpbXBvcnQgXCJibG9ja3MvaGVyby1pbnRyb1wiO1xuQGltcG9ydCBcImJsb2Nrcy90ZXh0LWJ1YmJsZXNcIjtcbkBpbXBvcnQgXCJibG9ja3Mvc3RhZmYtc2VjdGlvblwiO1xuQGltcG9ydCBcImJsb2Nrcy9mYXFzLXNlY3Rpb25cIjtcbkBpbXBvcnQgXCJibG9ja3MvdG9waWMtY2FyZHNcIjtcbkBpbXBvcnQgXCJibG9ja3MvdG9waWNzLWFyY2hpdmVcIjtcbkBpbXBvcnQgXCJibG9ja3MvdHJhaW5pbmdzLWFyY2hpdmVcIjtcbkBpbXBvcnQgXCJibG9ja3MvcHJlZm9vdGVyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL3RyYWluaW5ncy10YWJsZVwiO1xuQGltcG9ydCBcImJsb2Nrcy9mb3Jtc1wiO1xuQGltcG9ydCBcImJsb2Nrcy9jb250ZW50LWJsb2Nrc1wiO1xuQGltcG9ydCBcImJsb2Nrcy9kaXJlY3Qtc2VydmljZS13b3Jrc2hvcC1zaW5nbGVcIjtcbkBpbXBvcnQgXCJibG9ja3MvZGlyZWN0LXNlcnZpY2Utd29ya3Nob3AtYXJjaGl2ZVwiO1xuQGltcG9ydCBcImJsb2Nrcy90cmFpbmluZy1zaW5nbGVcIjtcbkBpbXBvcnQgXCJibG9ja3MvY3VycmljdWx1bS1saWJyYXJ5XCI7XG4vL2JpdHNcbkBpbXBvcnQgXCJiaXRzL3RyYWluaW5nLWNhcmRcIjsiLCJAbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGdyZWVuLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZF9tb3JlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW47XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uIGFsbDtcbiAgcGFkZGluZzogOHB4IDMwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgYm9yZGVyOiAycHggc29saWQgJGdyZWVuO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGdyZWVuO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlY2VjZWM7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIGdyZXk7XG4gIH1cbn1cbkBtaXhpbiBmb2N1c19zdHlsZXMge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWNlY2VjO1xuICBvdXRsaW5lOiAycHggc29saWQgZ3JleTtcbn1cblxuQG1peGluIGNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogJGNvbnRhaW5lcldpZHRoO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXJXaWR0aDtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcldpZHRoO1xuICBtYXJnaW46IGF1dG87XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlbSB1bml0cyB3aXRoIGZhbGxiYWNrIHRvIHB4IGZvciBvbGRlciBicm93c2Vyc1xuLy8gU2ltcGxpZmllZCB2ZXJzaW9uIG9mOiBodHRwczovL2dpdGh1Yi5jb20vcnk1bi9yZW1cbi8vXG4vLyBFeGFtcGxlczpcbi8vIFRoZXNlIHdpbGwgb3V0cHV0IHRoZSBzYW1lIHRoaW5nOlxuLy8gICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCA2MHB4KTtcbi8vICAgQGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgMy43NXJlbSk7XG4vL1xuLy8gQ2FuIGFsc28gdXNlIHNob3J0aGFuZCBwcm9wZXJ0aWVzOlxuLy8gICBAaW5jbHVkZSByZW0obWFyZ2luLCAyMHB4IDEwcHggMCA1JSk7XG4vLyBBYm92ZSB3aWxsIG91dHB1dCB0aGUgZm9sbG93aW5nOlxuLy8gICBtYXJnaW46IDIwcHggMTBweCAwIDUlO1xuLy8gICBtYXJnaW46IDEuMjVyZW0gMC42MjVyZW0gMCA1JTtcbi8vXG4vLyBOb3RlOiBUaGlzIG92ZXJyaWRlcyBTdXN5J3MgcmVtIG1peGluLHRvIGNvbnZlcnQgcHggZ3JpZHMgdG8gcmVtLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZSBmb250IHNpemUgaW4gcGl4ZWxzLCBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLlxuLy8gU2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBmb250LXNpemUgb2YgdGhlIGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRyZW0tcmF0aW86ICgkYmFzZS1mb250LXNpemUgLyAxcHgpIC8gMXJlbTtcblxuLy8gV2hldGhlciB0byBvdXRwdXQgZmFsbGJhY2sgdmFsdWVzIGluIHB4IHdoZW4gb3V0cHV0dGluZyByZW1zLlxuJHJlbS13aXRoLXB4LWZhbGxiYWNrOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBGb3IgdGhlIGdpdmVuIHByb3BlcnR5LCB1c2UgcmVtIHVuaXRzIHdpdGggcHggYXMgYSBmYWxsYmFjay5cbi8vXG4vLyAkcHJvcGVydHkgLSBUaGUgY3NzIHByb3BlcnR5IG5hbWUuXG4vLyAkdmFsdWVzIC0gVGhlIHZhbHVlIChvciBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiB2YWx1ZXMpIGZvciB0aGUgcHJvcGVydHkuXG4vL1xuQG1peGluIHJlbSgkcHJvcGVydHksICR2YWx1ZXMpIHtcbiAgLy8gQ3JlYXRlIGEgY291cGxlIG9mIGVtcHR5IGxpc3RzIGFzIG91dHB1dCBidWZmZXJzLlxuICAkcHgtdmFsdWVzOiAoKTtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuXG4gIC8vIEVuc3VyZSAkdmFsdWVzIGlzIGEgbGlzdC5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgIT0gJ2xpc3QnIHtcbiAgICAkdmFsdWVzOiBqb2luKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCB0aGUgJHZhbHVlcyBsaXN0XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAvLyBGb3IgZWFjaCBwcm9wZXJ0eSB2YWx1ZSwgaWYgaXQncyBpbiByZW0gb3IgcHgsIGRlcml2ZSBib3RoIHJlbSBhbmRcbiAgICAvLyBweCB2YWx1ZXMgZm9yIGl0IGFuZCBhZGQgdGhvc2UgdG8gdGhlIGVuZCBvZiB0aGUgYXBwcm9wcmlhdGUgYnVmZmVyLlxuICAgIC8vIEVuc3VyZSBhbGwgcGl4ZWwgdmFsdWVzIGFyZSByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IHBpeGVsLlxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKHVuaXQoJHZhbHVlKSA9PSBweCBvciB1bml0KCR2YWx1ZSkgPT0gcmVtKSB7XG4gICAgICAvLyB1bml0IGlzIHB4XG4gICAgICBAaWYgdW5pdCgkdmFsdWUpID09IHB4IHtcbiAgICAgICAgJHB4LXZhbHVlczogam9pbigkcHgtdmFsdWVzLCByb3VuZCgkdmFsdWUpKTtcbiAgICAgICAgJHJlbS12YWx1ZXM6IGpvaW4oJHJlbS12YWx1ZXMsICR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSArIHJlbSk7XG4gICAgICB9XG4gICAgICAvLyB1bml0IGlzIHJlbVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcHgtdmFsdWVzOiBqb2luKCRweC12YWx1ZXMsIHJvdW5kKCR2YWx1ZSAqICRyZW0tcmF0aW8pICsgcHgpO1xuICAgICAgICAkcmVtLXZhbHVlczogam9pbigkcmVtLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCBwYXNzIG5vbi1weC9yZW0gdmFsdWVzIGFsb25nIHRvIGJvdGggb3V0cHV0cy5cbiAgICBAZWxzZSB7XG4gICAgICAkcHgtdmFsdWVzOiBqb2luKCRweC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAkcmVtLXZhbHVlczogam9pbigkcmVtLXZhbHVlcywgJHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgcGl4ZWwgZmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3QgdW5kZXJzdGFuZCByZW0gdW5pdHMuXG4gIEBpZiAkcmVtLXdpdGgtcHgtZmFsbGJhY2sge1xuICAgICN7JHByb3BlcnR5fTogJHB4LXZhbHVlcztcbiAgfVxuXG4gIC8vIFVzZSByZW0gdmFsdWVzIGZvciBldmVyeW9uZSBlbHNlIChvdmVycmlkZXMgcGl4ZWwgdmFsdWVzKS5cbiAgI3skcHJvcGVydHl9OiAkcmVtLXZhbHVlcztcbn1cblxuLy8gT3ZlcnJpZGUgU3VzeSdzIGlmLXJlbSgpIG1peGluIHNvIGl0IHVzZXMgdGhpcyBzaW1wbGlmaWVkIHJlbSgpIG1peGluIGluc3RlYWQuXG5AbWl4aW4gaWYtcmVtKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICBAaW5jbHVkZSByZW0oJHByb3BlcnR5LCAkdmFsdWVzKTtcbn1cbiIsIi8vY29sb3JzXG4kZ3JleV9ib3JkZXI6ICM5M0FFQjg7XG4kYmx1ZV9kYXJrOiAjMzY1QTZDO1xuJGJsdWVfbGlnaHQ6ICM4OEQ4RDQ7XG4kYmx1ZV9saWdodF9iZzogI0VBRUVGMDtcbiRibHVlX2xpZ2h0ZXI6ICM1QzdCOEI7XG4kYmx1ZV9saWdodGVzdDogI0RCRjNGMjtcbiRncmVlbjogIzNFODU0QTtcbiR3aGl0ZTogI2ZmZjtcbi8vbWlzY1xuJHJvdW5kZWQ6IDEwcHg7XG4kcm91bmRlZF9tb3JlOiAyNXB4O1xuJHJvdW5kZWRfbW9zdDogMzBweDtcbiRzZXBhcmF0b3JXaWR0aDogNXB4O1xuLy9jb250YWluZXIgc2V0dGluZ3NcbiRjb250YWluZXJXaWR0aDogMTI1NXB4O1xuJGd1dHRlcldpZHRoOiAzMHB4O1xuLy9zdHlsZXNcbiR0cmFuc2l0aW9uOiA0MDBtcztcbi8vZm9udHNcbiRmZl9sYXRvOiAnTGF0bycsXG5zYW5zLXNlcmlmO1xuIiwiLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyV2lkdGg7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyV2lkdGg7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlcldpZHRoO1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuLy9mb3JtIHN0eWxpbmdcbi8vY29tcG9uZW50c1xuLnRlYWwtdG9wIHtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGJsdWVfbGlnaHQ7XG59XG5cbi5ncmVlbi10b3Age1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkZ3JlZW47XG59XG5cbi5ibHVlLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9saWdodF9iZztcbn1cblxuLy9saW5rc1xuYSB7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAmLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyZWVuLWJ0bjtcbiAgICB9XG59XG5cbi5jdGEtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmhpZGUtZGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4udGFiZWwtbGFiZWwtbW9iaWxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5lcnJvcjQwNCB7XG4gICAgaW5wdXQuc2VhcmNoLWZvcm0tc3VibWl0IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JlZW4tYnRuO1xuICAgIH1cbiAgICBoMS5lbnRyeS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICB9XG4gICAgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIH1cbn1cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufSIsIi8vIG92ZXJyaWRlcyBmcm9tIGdlbmVzaXMgY29sdW1uIGxheW91dFxuLmVudHJ5LWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lcldpZHRoO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBwLFxuICAgIG9sLFxuICAgIHVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICB9XG4gICAgLy8gdGhpcmQgbGV2ZWwgdWxcbiAgICB1bCB1bCB1bD5saSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xuICAgIH1cbiAgICBsaT5vbCxcbiAgICBsaT51bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICAgIGxpK2xpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gICAgLy9zZWNvbmQgbGV2ZWwgb2wgZ2V0cyBhLCBiLCBjXG4gICAgb2wgb2w+bGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgIH1cbiAgICAvL3RoaXJkIGxldmVsIGdldHMgbG93ZXIgcm9tYW46IGksIGlpLCBpaWlcbiAgICBvbCBvbCBvbD5saSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XG4gICAgfVxuICAgIGEge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cbn1cblxuLm1iLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wYWdlLWlkLTUzOCxcbi5wYWdlLWlkLTU0Nyxcbi5wYWdlLWlkLTU1MCB7XG4gICAgaDEuZW50cnktdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDQ1JTtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MXB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUzMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qIFNpdGUgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zaXRlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAkc2VwYXJhdG9yV2lkdGggc29saWQgJGdyZWVuO1xuICAgID4ud3JhcCB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lcldpZHRoO1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDEzcHggMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNThweCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAvKiBTaXRlIEhlYWRlclxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgICAuc2l0ZS1oZWFkZXIge1xuICAgICAgICAvLyBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgICAgIC8vIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG4gICAgLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIge1xuICAgICAgICB0b3A6IDMycHg7XG4gICAgfVxufVxuXG5oZWFkZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgPi53cmFwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgLyogd2lkdGg6IDEwMCU7ICovXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgID4qIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmF2Lm5hdi1wcmltYXJ5IHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHVsI21lbnUtaGVhZGVyLW1lbnUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogNjAwcHg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWVfZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSBhIHNwYW46YWZ0ZXIsXG4gICAgICAgICAgICAmLmN1cnJlbnQtcGFnZS1hbmNlc3RvciBhIHNwYW46YWZ0ZXIsXG4gICAgICAgICAgICAmOmhvdmVyIGEgc3BhbjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ud3AtY3VzdG9tLWxvZ28gLnRpdGxlLWFyZWEge1xuICAgIC8vIG1heC13aWR0aDogY2FsYygxMDAlIC0gOTBweCk7XG4gICAgZmxleC1iYXNpczogMTgwcHg7XG59XG5cbi5ndHJhbnNsYXRlX3dyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICB6LWluZGV4OiA5OTk5OTk7XG4gIHJpZ2h0OiAwO1xuICBcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICByaWdodDogOCU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgdG9wOiAxMHB4O1xuICB9XG59XG4uZ3Rfc2VsZWN0b3Ige1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgIFxufVxuXG4jd3AtYWRtaW4tYmFyLXdwLWxvZ28sXG4jd3AtYWRtaW4tYmFyLXNlYXJjaCxcbiN3cC1hZG1pbi1iYXItc2l0ZS1uYW1lIC5hYi1zdWItd3JhcHBlclxuIHtcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbn1cblxuI3dwLWFkbWluLWJhci1zaXRlLW5hbWUgLmFiLWl0ZW06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJyFpbXBvcnRhbnQ7XG59IiwiLy8gLnNpdGUtZm9vdGVyIHtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9kYXJrO1xuLy8gICAgIGJvcmRlci10b3A6ICRzZXBhcmF0b3JXaWR0aCBzb2xpZCAkZ3JlZW47XG4vLyAgICAgY29sb3I6IHdoaXRlO1xuLy8gICAgIGZvbnQtc2l6ZTogMTVweDtcbi8vICAgICBsaW5lLWhlaWdodDogMS41O1xuLy8gICAgIHBhZGRpbmc6IDMwcHg7XG4vLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuLy8gfVxuZm9vdGVyLnNpdGUtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9vdGVyLXdpZGdldHMge1xuICAgIEBleHRlbmQgLmdyZWVuLXRvcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9kYXJrO1xuICAgIHBhZGRpbmc6IDUwcHggNTBweCAzMHB4O1xuICAgIC53cmFwIHtcbiAgICAgICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLndpZGdldC1hcmVhIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgJi5mb290ZXItd2lkZ2V0cy0xIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud2lkZ2V0IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi53aWRnZXRfbmF2X21lbnUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NjFweCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufSIsIiIsIi5jb21wYXQtb2JqZWN0LWZpdCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG4uY29tcGF0LW9iamVjdC1maXQgPiBpbWcge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vL292ZXJycmlkaW5nIHNvbWUgYmFkIGNzcyBmcm9tIGJyb3dzZXJzLm1pbi5jc3Ncbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24ge1xuICBwYWRkaW5nOiAxMHB4IDUwcHggIWltcG9ydGFudDtcbn0iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiBvciB1bml0KCRwcmV2LW51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgQGlmIGxlbmd0aCgkbWFwKSA+IDAge1xuICAgICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sb3JzXG5AZnVuY3Rpb24gdG8tcmdiKCR2YWx1ZSkge1xuICBAcmV0dXJuIHJlZCgkdmFsdWUpLCBncmVlbigkdmFsdWUpLCBibHVlKCR2YWx1ZSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cbkBmdW5jdGlvbiByZ2JhLWNzcy12YXIoJGlkZW50aWZpZXIsICR0YXJnZXQpIHtcbiAgQGlmICRpZGVudGlmaWVyID09IFwiYm9keVwiIGFuZCAkdGFyZ2V0ID09IFwiYmdcIiB7XG4gICAgQHJldHVybiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRpZGVudGlmaWVyfS1iZy1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9I3skdGFyZ2V0fS1vcGFjaXR5KSk7XG4gIH0gQGlmICRpZGVudGlmaWVyID09IFwiYm9keVwiIGFuZCAkdGFyZ2V0ID09IFwidGV4dFwiIHtcbiAgICBAcmV0dXJuIHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGlkZW50aWZpZXJ9LWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH0jeyR0YXJnZXR9LW9wYWNpdHkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRpZGVudGlmaWVyfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9I3skdGFyZ2V0fS1vcGFjaXR5KSk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIG1hcC1sb29wKCRtYXAsICRmdW5jLCAkYXJncy4uLikge1xuICAkX21hcDogKCk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgIC8vIGFsbG93IHRvIHBhc3MgdGhlICRrZXkgYW5kICR2YWx1ZSBvZiB0aGUgbWFwIGFzIGFuIGZ1bmN0aW9uIGFyZ3VtZW50XG4gICAgJF9hcmdzOiAoKTtcbiAgICBAZWFjaCAkYXJnIGluICRhcmdzIHtcbiAgICAgICRfYXJnczogYXBwZW5kKCRfYXJncywgaWYoJGFyZyA9PSBcIiRrZXlcIiwgJGtleSwgaWYoJGFyZyA9PSBcIiR2YWx1ZVwiLCAkdmFsdWUsICRhcmcpKSk7XG4gICAgfVxuXG4gICAgJF9tYXA6IG1hcC1tZXJnZSgkX21hcCwgKCRrZXk6IGNhbGwoZ2V0LWZ1bmN0aW9uKCRmdW5jKSwgJF9hcmdzLi4uKSkpO1xuICB9XG5cbiAgQHJldHVybiAkX21hcDtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuXG5AZnVuY3Rpb24gdmFyaWZ5KCRsaXN0KSB7XG4gICRyZXN1bHQ6IG51bGw7XG4gIEBlYWNoICRlbnRyeSBpbiAkbGlzdCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIHZhcigtLSN7JHByZWZpeH0jeyRlbnRyeX0pLCBzcGFjZSk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBJbnRlcm5hbCBCb290c3RyYXAgZnVuY3Rpb24gdG8gdHVybiBtYXBzIGludG8gaXRzIG5lZ2F0aXZlIHZhcmlhbnQuXG4vLyBJdCBwcmVmaXhlcyB0aGUga2V5cyB3aXRoIGBuYCBhbmQgbWFrZXMgdGhlIHZhbHVlIG5lZ2F0aXZlLlxuQGZ1bmN0aW9uIG5lZ2F0aXZpZnktbWFwKCRtYXApIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICBAaWYgJGtleSAhPSAwIHtcbiAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXCJuXCIgKyAka2V5OiAoLSR2YWx1ZSkpKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBHZXQgbXVsdGlwbGUga2V5cyBmcm9tIGEgc2FzcyBtYXBcbkBmdW5jdGlvbiBtYXAtZ2V0LW11bHRpcGxlKCRtYXAsICR2YWx1ZXMpIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICBAaWYgKGluZGV4KCR2YWx1ZXMsICRrZXkpICE9IG51bGwpIHtcbiAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogJHZhbHVlKSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gTWVyZ2UgbXVsdGlwbGUgbWFwc1xuQGZ1bmN0aW9uIG1hcC1tZXJnZS1tdWx0aXBsZSgkbWFwcy4uLikge1xuICAkbWVyZ2VkLW1hcHM6ICgpO1xuXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgICRtZXJnZWQtbWFwczogbWFwLW1lcmdlKCRtZXJnZWQtbWFwcywgJG1hcCk7XG4gIH1cbiAgQHJldHVybiAkbWVyZ2VkLW1hcHM7XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbi8vXG4vLyBSZXF1aXJlcyB0aGUgdXNlIG9mIHF1b3RlcyBhcm91bmQgZGF0YSBVUklzLlxuXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzAxNjhcblxuLy8gQSBsaXN0IG9mIHByZS1jYWxjdWxhdGVkIG51bWJlcnMgb2YgcG93KGRpdmlkZSgoZGl2aWRlKCR2YWx1ZSwgMjU1KSArIC4wNTUpLCAxLjA1NSksIDIuNCkuIChmcm9tIDAgdG8gMjU1KVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHQsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm5cbiRfbHVtaW5hbmNlLWxpc3Q6IC4wMDA4IC4wMDEgLjAwMTEgLjAwMTMgLjAwMTUgLjAwMTcgLjAwMiAuMDAyMiAuMDAyNSAuMDAyNyAuMDAzIC4wMDMzIC4wMDM3IC4wMDQgLjAwNDQgLjAwNDggLjAwNTIgLjAwNTYgLjAwNiAuMDA2NSAuMDA3IC4wMDc1IC4wMDggLjAwODYgLjAwOTEgLjAwOTcgLjAxMDMgLjAxMSAuMDExNiAuMDEyMyAuMDEzIC4wMTM3IC4wMTQ0IC4wMTUyIC4wMTYgLjAxNjggLjAxNzYgLjAxODUgLjAxOTQgLjAyMDMgLjAyMTIgLjAyMjIgLjAyMzIgLjAyNDIgLjAyNTIgLjAyNjIgLjAyNzMgLjAyODQgLjAyOTYgLjAzMDcgLjAzMTkgLjAzMzEgLjAzNDMgLjAzNTYgLjAzNjkgLjAzODIgLjAzOTUgLjA0MDkgLjA0MjMgLjA0MzcgLjA0NTIgLjA0NjcgLjA0ODIgLjA0OTcgLjA1MTMgLjA1MjkgLjA1NDUgLjA1NjEgLjA1NzggLjA1OTUgLjA2MTIgLjA2MyAuMDY0OCAuMDY2NiAuMDY4NSAuMDcwNCAuMDcyMyAuMDc0MiAuMDc2MiAuMDc4MiAuMDgwMiAuMDgyMyAuMDg0NCAuMDg2NSAuMDg4NyAuMDkwOCAuMDkzMSAuMDk1MyAuMDk3NiAuMDk5OSAuMTAyMiAuMTA0NiAuMTA3IC4xMDk1IC4xMTE5IC4xMTQ0IC4xMTcgLjExOTUgLjEyMjEgLjEyNDggLjEyNzQgLjEzMDEgLjEzMjkgLjEzNTYgLjEzODQgLjE0MTMgLjE0NDEgLjE0NyAuMTUgLjE1MjkgLjE1NTkgLjE1OSAuMTYyIC4xNjUxIC4xNjgzIC4xNzE0IC4xNzQ2IC4xNzc5IC4xODEyIC4xODQ1IC4xODc4IC4xOTEyIC4xOTQ2IC4xOTgxIC4yMDE2IC4yMDUxIC4yMDg2IC4yMTIyIC4yMTU5IC4yMTk1IC4yMjMyIC4yMjcgLjIzMDcgLjIzNDYgLjIzODQgLjI0MjMgLjI0NjIgLjI1MDIgLjI1NDIgLjI1ODIgLjI2MjMgLjI2NjQgLjI3MDUgLjI3NDcgLjI3ODkgLjI4MzEgLjI4NzQgLjI5MTggLjI5NjEgLjMwMDUgLjMwNSAuMzA5NSAuMzE0IC4zMTg1IC4zMjMxIC4zMjc4IC4zMzI1IC4zMzcyIC4zNDE5IC4zNDY3IC4zNTE1IC4zNTY0IC4zNjEzIC4zNjYzIC4zNzEyIC4zNzYzIC4zODEzIC4zODY0IC4zOTE2IC4zOTY4IC40MDIgLjQwNzIgLjQxMjUgLjQxNzkgLjQyMzMgLjQyODcgLjQzNDIgLjQzOTcgLjQ0NTIgLjQ1MDggLjQ1NjQgLjQ2MjEgLjQ2NzggLjQ3MzUgLjQ3OTMgLjQ4NTEgLjQ5MSAuNDk2OSAuNTAyOSAuNTA4OSAuNTE0OSAuNTIxIC41MjcxIC41MzMzIC41Mzk1IC41NDU3IC41NTIgLjU1ODMgLjU2NDcgLjU3MTEgLjU3NzYgLjU4NDEgLjU5MDYgLjU5NzIgLjYwMzggLjYxMDUgLjYxNzIgLjYyNCAuNjMwOCAuNjM3NiAuNjQ0NSAuNjUxNCAuNjU4NCAuNjY1NCAuNjcyNCAuNjc5NSAuNjg2NyAuNjkzOSAuNzAxMSAuNzA4NCAuNzE1NyAuNzIzMSAuNzMwNSAuNzM3OSAuNzQ1NCAuNzUyOSAuNzYwNSAuNzY4MiAuNzc1OCAuNzgzNSAuNzkxMyAuNzk5MSAuODA3IC44MTQ4IC44MjI4IC44MzA4IC44Mzg4IC44NDY5IC44NTUgLjg2MzIgLjg3MTQgLjg3OTYgLjg4NzkgLjg5NjMgLjkwNDcgLjkxMzEgLjkyMTYgLjkzMDEgLjkzODcgLjk0NzMgLjk1NiAuOTY0NyAuOTczNCAuOTgyMyAuOTkxMSAxO1xuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQsICRjb2xvci1jb250cmFzdC1kYXJrOiAkY29sb3ItY29udHJhc3QtZGFyaywgJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAkY29sb3ItY29udHJhc3QtbGlnaHQsICRtaW4tY29udHJhc3QtcmF0aW86ICRtaW4tY29udHJhc3QtcmF0aW8pIHtcbiAgJGZvcmVncm91bmRzOiAkY29sb3ItY29udHJhc3QtbGlnaHQsICRjb2xvci1jb250cmFzdC1kYXJrLCAkd2hpdGUsICRibGFjaztcbiAgJG1heC1yYXRpbzogMDtcbiAgJG1heC1yYXRpby1jb2xvcjogbnVsbDtcblxuICBAZWFjaCAkY29sb3IgaW4gJGZvcmVncm91bmRzIHtcbiAgICAkY29udHJhc3QtcmF0aW86IGNvbnRyYXN0LXJhdGlvKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xuICAgIEBpZiAkY29udHJhc3QtcmF0aW8gPiAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgIEByZXR1cm4gJGNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGNvbnRyYXN0LXJhdGlvID4gJG1heC1yYXRpbyB7XG4gICAgICAkbWF4LXJhdGlvOiAkY29udHJhc3QtcmF0aW87XG4gICAgICAkbWF4LXJhdGlvLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQHdhcm4gXCJGb3VuZCBubyBjb2xvciBsZWFkaW5nIHRvICN7JG1pbi1jb250cmFzdC1yYXRpb306MSBjb250cmFzdCByYXRpbyBhZ2FpbnN0ICN7JGJhY2tncm91bmR9Li4uXCI7XG5cbiAgQHJldHVybiAkbWF4LXJhdGlvLWNvbG9yO1xufVxuXG5AZnVuY3Rpb24gY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOiAkY29sb3ItY29udHJhc3QtbGlnaHQpIHtcbiAgJGwxOiBsdW1pbmFuY2UoJGJhY2tncm91bmQpO1xuICAkbDI6IGx1bWluYW5jZShvcGFxdWUoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kKSk7XG5cbiAgQHJldHVybiBpZigkbDEgPiAkbDIsIGRpdmlkZSgkbDEgKyAuMDUsICRsMiArIC4wNSksIGRpdmlkZSgkbDIgKyAuMDUsICRsMSArIC4wNSkpO1xufVxuXG4vLyBSZXR1cm4gV0NBRzIuMSByZWxhdGl2ZSBsdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jZGZuLXJlbGF0aXZlLWx1bWluYW5jZVxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNkZm4tY29udHJhc3QtcmF0aW9cbkBmdW5jdGlvbiBsdW1pbmFuY2UoJGNvbG9yKSB7XG4gICRyZ2I6IChcbiAgICBcInJcIjogcmVkKCRjb2xvciksXG4gICAgXCJnXCI6IGdyZWVuKCRjb2xvciksXG4gICAgXCJiXCI6IGJsdWUoJGNvbG9yKVxuICApO1xuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJHJnYiB7XG4gICAgJHZhbHVlOiBpZihkaXZpZGUoJHZhbHVlLCAyNTUpIDwgLjAzOTI4LCBkaXZpZGUoZGl2aWRlKCR2YWx1ZSwgMjU1KSwgMTIuOTIpLCBudGgoJF9sdW1pbmFuY2UtbGlzdCwgJHZhbHVlICsgMSkpO1xuICAgICRyZ2I6IG1hcC1tZXJnZSgkcmdiLCAoJG5hbWU6ICR2YWx1ZSkpO1xuICB9XG5cbiAgQHJldHVybiAobWFwLWdldCgkcmdiLCBcInJcIikgKiAuMjEyNikgKyAobWFwLWdldCgkcmdiLCBcImdcIikgKiAuNzE1MikgKyAobWFwLWdldCgkcmdiLCBcImJcIikgKiAuMDcyMik7XG59XG5cbi8vIFJldHVybiBvcGFxdWUgY29sb3Jcbi8vIG9wYXF1ZSgjZmZmLCByZ2JhKDAsIDAsIDAsIC41KSkgPT4gIzgwODA4MFxuQGZ1bmN0aW9uIG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpIHtcbiAgQHJldHVybiBtaXgocmdiYSgkZm9yZWdyb3VuZCwgMSksICRiYWNrZ3JvdW5kLCBvcGFjaXR5KCRmb3JlZ3JvdW5kKSAqIDEwMCk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci1mdW5jdGlvbnNcbi8vIFRpbnQgYSBjb2xvcjogbWl4IGEgY29sb3Igd2l0aCB3aGl0ZVxuQGZ1bmN0aW9uIHRpbnQtY29sb3IoJGNvbG9yLCAkd2VpZ2h0KSB7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICR3ZWlnaHQpO1xufVxuXG4vLyBTaGFkZSBhIGNvbG9yOiBtaXggYSBjb2xvciB3aXRoIGJsYWNrXG5AZnVuY3Rpb24gc2hhZGUtY29sb3IoJGNvbG9yLCAkd2VpZ2h0KSB7XG4gIEByZXR1cm4gbWl4KGJsYWNrLCAkY29sb3IsICR3ZWlnaHQpO1xufVxuXG4vLyBTaGFkZSB0aGUgY29sb3IgaWYgdGhlIHdlaWdodCBpcyBwb3NpdGl2ZSwgZWxzZSB0aW50IGl0XG5AZnVuY3Rpb24gc2hpZnQtY29sb3IoJGNvbG9yLCAkd2VpZ2h0KSB7XG4gIEByZXR1cm4gaWYoJHdlaWdodCA+IDAsIHNoYWRlLWNvbG9yKCRjb2xvciwgJHdlaWdodCksIHRpbnQtY29sb3IoJGNvbG9yLCAtJHdlaWdodCkpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1mdW5jdGlvbnNcblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMikgIT0gbnVtYmVyIHtcbiAgICAkdmFsdWUyOiB1bnF1b3RlKFwiKFwiKSArICR2YWx1ZTIgKyB1bnF1b3RlKFwiKVwiKTtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSAtICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiAtIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbi8vIERlcHJlY2F0ZVxuQGltcG9ydCBcIm1peGlucy9kZXByZWNhdGVcIjtcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9jb2xvci1zY2hlbWVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc3VhbGx5LWhpZGRlblwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL3V0aWxpdGllc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhY2tkcm9wXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXZhcmlhbnRzXCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArICcgY2FsYygnICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsICcgLSAnLCAnICsgJykgKyAkdmFyaWFibGUtd2lkdGggKyAnKSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkVmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkVmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWRWYWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWRWYWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IG1peGluLWNvbG9yLXNjaGVtZVxuQG1peGluIGNvbG9yLXNjaGVtZSgkbmFtZSkge1xuICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAjeyRuYW1lfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG1peGluLWNvbG9yLXNjaGVtZVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIG92ZXJmbG93LXdyYXAgLyB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gVXNlIGN1c3RvbSBDU1MgdmFyaWFibGUgbmFtZSBpZiBwcmVzZW50LCBvdGhlcndpc2UgZGVmYXVsdCB0byBgY2xhc3NgXG4gICAgJGNzcy12YXJpYWJsZS1uYW1lOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSk7XG5cbiAgICAvLyBTdGF0ZSBwYXJhbXMgdG8gZ2VuZXJhdGUgcHNldWRvLWNsYXNzZXNcbiAgICAkc3RhdGU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBzdGF0ZSksIG1hcC1nZXQoJHV0aWxpdHksIHN0YXRlKSwgKCkpO1xuXG4gICAgJGluZml4OiBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgc3RyLXNsaWNlKCRpbmZpeCwgMSwgMSkgPT0gXCItXCIsIHN0ci1zbGljZSgkaW5maXgsIDIpLCAkaW5maXgpO1xuXG4gICAgLy8gRG9uJ3QgcHJlZml4IGlmIHZhbHVlIGtleSBpcyBudWxsIChlLmcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtdmFyaWFudC1taXhpblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IHNoYWRlLWNvbG9yKCRjb2xvciwgMjAlKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYW50LW1peGluXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC1taXhpbnNcbkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1zdGFydCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwiLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1taXhpblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tbWl4aW5cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1taXhpblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbWl4aW5cbiIsIi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3IpLCBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgd2lkdGg6IGFkZCgkZm9ybS1jb2xvci13aWR0aCwgJGlucHV0LWhlaWdodC1pbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cblxuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgICAgQGlmICRzdGF0ZSA9PSBcInZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH0gQGVsc2UgaWYgJHN0YXRlID09IFwiaW52YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbiIsIi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICRib3JkZXItY29sb3I6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ib3JkZXItZmFjdG9yKSk7XG5cbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJHNoYWRvdyB7XG4gICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCBcImNvbW1hXCIpO1xuICAgICAgfVxuICAgICAgQGlmICR2YWx1ZSA9PSBub25lIGFuZCBsZW5ndGgoJHNoYWRvdykgPiAxIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAobGVuZ3RoKCRyZXN1bHQpID4gMCkge1xuICAgICAgYm94LXNoYWRvdzogJHJlc3VsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtYmctbWl4aW5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3I6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1iZy1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtbWl4aW5zXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogbnVsbCwgJGVuZC1wZXJjZW50OiBudWxsKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LW1peGluc1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24gYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsIi8vIENvbnRhaW5lciBtaXhpbnNcblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZih2YXJpYWJsZS1leGlzdHMoaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZykgYW5kICRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nLCBib3JkZXItYm94LCBudWxsKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuXG4gIH0gQGVsc2Uge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDAlOyAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIH1cblxuICAgICAgLnJvdy1jb2xzI3skaW5maXh9LWF1dG8gPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICAvL1xuICAgICAgLy8gTWFrZSB1c2Ugb2YgYC5nLSpgLCBgLmd4LSpgIG9yIGAuZ3ktKmAgdXRpbGl0aWVzIHRvIGNoYW5nZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNzc2dyaWQoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmctY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB3aXRoIGAxYCBiZWNhdXNlIGAwYCBpcyBhbmQgaW52YWxpZCB2YWx1ZS5cbiAgICAgICAgLy8gRW5kcyB3aXRoIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZS5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgLmctc3RhcnQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6ICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5czogKFxuICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgXCIzMDBcIjogJGdyYXktMzAwLFxuICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgXCI2MDBcIjogJGdyYXktNjAwLFxuICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgXCI5MDBcIjogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9ycy1tYXBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAgICAjMGQ2ZWZkICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZDYzMzg0ICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMxOTg3NTQgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMGRjYWYwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwiYmxhY2tcIjogICAgICAkYmxhY2ssXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9ycy1tYXBcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLyN2aXN1YWwtYXVkaW8tY29udHJhc3QtY29udHJhc3RcbiRtaW4tY29udHJhc3QtcmF0aW86ICAgNC41ICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJGNvbG9yLWNvbnRyYXN0LWRhcms6ICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRibHVlLTEwMDogdGludC1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcbiRibHVlLTIwMDogdGludC1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTMwMDogdGludC1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTQwMDogdGludC1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTUwMDogJGJsdWUgIWRlZmF1bHQ7XG4kYmx1ZS02MDA6IHNoYWRlLWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNzAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTgwMDogc2hhZGUtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS05MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuXG4kaW5kaWdvLTEwMDogdGludC1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuJGluZGlnby0yMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMzAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTQwMDogdGludC1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICRpbmRpZ28gIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogc2hhZGUtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby04MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogc2hhZGUtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcblxuJHB1cnBsZS0xMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMjAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTMwMDogdGludC1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNTAwOiAkcHVycGxlICFkZWZhdWx0O1xuJHB1cnBsZS02MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTcwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtODAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS05MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRwaW5rLTEwMDogdGludC1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcbiRwaW5rLTIwMDogdGludC1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTMwMDogdGludC1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTQwMDogdGludC1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTUwMDogJHBpbmsgIWRlZmF1bHQ7XG4kcGluay02MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNzAwOiBzaGFkZS1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTgwMDogc2hhZGUtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay05MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuXG4kcmVkLTEwMDogdGludC1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuJHJlZC0yMDA6IHRpbnQtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtMzAwOiB0aW50LWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTQwMDogdGludC1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC01MDA6ICRyZWQgIWRlZmF1bHQ7XG4kcmVkLTYwMDogc2hhZGUtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNzAwOiBzaGFkZS1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC04MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTkwMDogc2hhZGUtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcblxuJG9yYW5nZS0xMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMjAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogdGludC1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS00MDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNTAwOiAkb3JhbmdlICFkZWZhdWx0O1xuJG9yYW5nZS02MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTcwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtODAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS05MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG5cbiR5ZWxsb3ctMTAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogdGludC1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy0zMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNDAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogJHllbGxvdyAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy03MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuXG4kZ3JlZW4tMTAwOiB0aW50LWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTMwMDogdGludC1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNDAwOiB0aW50LWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICRncmVlbiAhZGVmYXVsdDtcbiRncmVlbi02MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi03MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi04MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi05MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcblxuJHRlYWwtMTAwOiB0aW50LWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuJHRlYWwtMjAwOiB0aW50LWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtMzAwOiB0aW50LWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtNDAwOiB0aW50LWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAkdGVhbCAhZGVmYXVsdDtcbiR0ZWFsLTYwMDogc2hhZGUtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC03MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtODAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTkwMDogc2hhZGUtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG5cbiRjeWFuLTEwMDogdGludC1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcbiRjeWFuLTIwMDogdGludC1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogdGludC1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogdGludC1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogJGN5YW4gIWRlZmF1bHQ7XG4kY3lhbi02MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNzAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTgwMDogc2hhZGUtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi05MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuXG4kYmx1ZXM6IChcbiAgXCJibHVlLTEwMFwiOiAkYmx1ZS0xMDAsXG4gIFwiYmx1ZS0yMDBcIjogJGJsdWUtMjAwLFxuICBcImJsdWUtMzAwXCI6ICRibHVlLTMwMCxcbiAgXCJibHVlLTQwMFwiOiAkYmx1ZS00MDAsXG4gIFwiYmx1ZS01MDBcIjogJGJsdWUtNTAwLFxuICBcImJsdWUtNjAwXCI6ICRibHVlLTYwMCxcbiAgXCJibHVlLTcwMFwiOiAkYmx1ZS03MDAsXG4gIFwiYmx1ZS04MDBcIjogJGJsdWUtODAwLFxuICBcImJsdWUtOTAwXCI6ICRibHVlLTkwMFxuKSAhZGVmYXVsdDtcblxuJGluZGlnb3M6IChcbiAgXCJpbmRpZ28tMTAwXCI6ICRpbmRpZ28tMTAwLFxuICBcImluZGlnby0yMDBcIjogJGluZGlnby0yMDAsXG4gIFwiaW5kaWdvLTMwMFwiOiAkaW5kaWdvLTMwMCxcbiAgXCJpbmRpZ28tNDAwXCI6ICRpbmRpZ28tNDAwLFxuICBcImluZGlnby01MDBcIjogJGluZGlnby01MDAsXG4gIFwiaW5kaWdvLTYwMFwiOiAkaW5kaWdvLTYwMCxcbiAgXCJpbmRpZ28tNzAwXCI6ICRpbmRpZ28tNzAwLFxuICBcImluZGlnby04MDBcIjogJGluZGlnby04MDAsXG4gIFwiaW5kaWdvLTkwMFwiOiAkaW5kaWdvLTkwMFxuKSAhZGVmYXVsdDtcblxuJHB1cnBsZXM6IChcbiAgXCJwdXJwbGUtMTAwXCI6ICRwdXJwbGUtMTAwLFxuICBcInB1cnBsZS0yMDBcIjogJHB1cnBsZS0yMDAsXG4gIFwicHVycGxlLTMwMFwiOiAkcHVycGxlLTMwMCxcbiAgXCJwdXJwbGUtNDAwXCI6ICRwdXJwbGUtNDAwLFxuICBcInB1cnBsZS01MDBcIjogJHB1cnBsZS01MDAsXG4gIFwicHVycGxlLTYwMFwiOiAkcHVycGxlLTYwMCxcbiAgXCJwdXJwbGUtNzAwXCI6ICRwdXJwbGUtNzAwLFxuICBcInB1cnBsZS04MDBcIjogJHB1cnBsZS04MDAsXG4gIFwicHVycGxlLTkwMFwiOiAkcHVycGxlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHBpbmtzOiAoXG4gIFwicGluay0xMDBcIjogJHBpbmstMTAwLFxuICBcInBpbmstMjAwXCI6ICRwaW5rLTIwMCxcbiAgXCJwaW5rLTMwMFwiOiAkcGluay0zMDAsXG4gIFwicGluay00MDBcIjogJHBpbmstNDAwLFxuICBcInBpbmstNTAwXCI6ICRwaW5rLTUwMCxcbiAgXCJwaW5rLTYwMFwiOiAkcGluay02MDAsXG4gIFwicGluay03MDBcIjogJHBpbmstNzAwLFxuICBcInBpbmstODAwXCI6ICRwaW5rLTgwMCxcbiAgXCJwaW5rLTkwMFwiOiAkcGluay05MDBcbikgIWRlZmF1bHQ7XG5cbiRyZWRzOiAoXG4gIFwicmVkLTEwMFwiOiAkcmVkLTEwMCxcbiAgXCJyZWQtMjAwXCI6ICRyZWQtMjAwLFxuICBcInJlZC0zMDBcIjogJHJlZC0zMDAsXG4gIFwicmVkLTQwMFwiOiAkcmVkLTQwMCxcbiAgXCJyZWQtNTAwXCI6ICRyZWQtNTAwLFxuICBcInJlZC02MDBcIjogJHJlZC02MDAsXG4gIFwicmVkLTcwMFwiOiAkcmVkLTcwMCxcbiAgXCJyZWQtODAwXCI6ICRyZWQtODAwLFxuICBcInJlZC05MDBcIjogJHJlZC05MDBcbikgIWRlZmF1bHQ7XG5cbiRvcmFuZ2VzOiAoXG4gIFwib3JhbmdlLTEwMFwiOiAkb3JhbmdlLTEwMCxcbiAgXCJvcmFuZ2UtMjAwXCI6ICRvcmFuZ2UtMjAwLFxuICBcIm9yYW5nZS0zMDBcIjogJG9yYW5nZS0zMDAsXG4gIFwib3JhbmdlLTQwMFwiOiAkb3JhbmdlLTQwMCxcbiAgXCJvcmFuZ2UtNTAwXCI6ICRvcmFuZ2UtNTAwLFxuICBcIm9yYW5nZS02MDBcIjogJG9yYW5nZS02MDAsXG4gIFwib3JhbmdlLTcwMFwiOiAkb3JhbmdlLTcwMCxcbiAgXCJvcmFuZ2UtODAwXCI6ICRvcmFuZ2UtODAwLFxuICBcIm9yYW5nZS05MDBcIjogJG9yYW5nZS05MDBcbikgIWRlZmF1bHQ7XG5cbiR5ZWxsb3dzOiAoXG4gIFwieWVsbG93LTEwMFwiOiAkeWVsbG93LTEwMCxcbiAgXCJ5ZWxsb3ctMjAwXCI6ICR5ZWxsb3ctMjAwLFxuICBcInllbGxvdy0zMDBcIjogJHllbGxvdy0zMDAsXG4gIFwieWVsbG93LTQwMFwiOiAkeWVsbG93LTQwMCxcbiAgXCJ5ZWxsb3ctNTAwXCI6ICR5ZWxsb3ctNTAwLFxuICBcInllbGxvdy02MDBcIjogJHllbGxvdy02MDAsXG4gIFwieWVsbG93LTcwMFwiOiAkeWVsbG93LTcwMCxcbiAgXCJ5ZWxsb3ctODAwXCI6ICR5ZWxsb3ctODAwLFxuICBcInllbGxvdy05MDBcIjogJHllbGxvdy05MDBcbikgIWRlZmF1bHQ7XG5cbiRncmVlbnM6IChcbiAgXCJncmVlbi0xMDBcIjogJGdyZWVuLTEwMCxcbiAgXCJncmVlbi0yMDBcIjogJGdyZWVuLTIwMCxcbiAgXCJncmVlbi0zMDBcIjogJGdyZWVuLTMwMCxcbiAgXCJncmVlbi00MDBcIjogJGdyZWVuLTQwMCxcbiAgXCJncmVlbi01MDBcIjogJGdyZWVuLTUwMCxcbiAgXCJncmVlbi02MDBcIjogJGdyZWVuLTYwMCxcbiAgXCJncmVlbi03MDBcIjogJGdyZWVuLTcwMCxcbiAgXCJncmVlbi04MDBcIjogJGdyZWVuLTgwMCxcbiAgXCJncmVlbi05MDBcIjogJGdyZWVuLTkwMFxuKSAhZGVmYXVsdDtcblxuJHRlYWxzOiAoXG4gIFwidGVhbC0xMDBcIjogJHRlYWwtMTAwLFxuICBcInRlYWwtMjAwXCI6ICR0ZWFsLTIwMCxcbiAgXCJ0ZWFsLTMwMFwiOiAkdGVhbC0zMDAsXG4gIFwidGVhbC00MDBcIjogJHRlYWwtNDAwLFxuICBcInRlYWwtNTAwXCI6ICR0ZWFsLTUwMCxcbiAgXCJ0ZWFsLTYwMFwiOiAkdGVhbC02MDAsXG4gIFwidGVhbC03MDBcIjogJHRlYWwtNzAwLFxuICBcInRlYWwtODAwXCI6ICR0ZWFsLTgwMCxcbiAgXCJ0ZWFsLTkwMFwiOiAkdGVhbC05MDBcbikgIWRlZmF1bHQ7XG5cbiRjeWFuczogKFxuICBcImN5YW4tMTAwXCI6ICRjeWFuLTEwMCxcbiAgXCJjeWFuLTIwMFwiOiAkY3lhbi0yMDAsXG4gIFwiY3lhbi0zMDBcIjogJGN5YW4tMzAwLFxuICBcImN5YW4tNDAwXCI6ICRjeWFuLTQwMCxcbiAgXCJjeWFuLTUwMFwiOiAkY3lhbi01MDAsXG4gIFwiY3lhbi02MDBcIjogJGN5YW4tNjAwLFxuICBcImN5YW4tNzAwXCI6ICRjeWFuLTcwMCxcbiAgXCJjeWFuLTgwMFwiOiAkY3lhbi04MDAsXG4gIFwiY3lhbi05MDBcIjogJGN5YW4tOTAwXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4vLyBQcmVmaXggZm9yIDpyb290IENTUyB2YXJpYWJsZXNcblxuJHZhcmlhYmxlLXByZWZpeDogICAgICAgICAgICAgYnMtICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCBmb3IgdGhlIHNob3J0ZXIgYCRwcmVmaXhgXG4kcHJlZml4OiAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGUtcHJlZml4ICFkZWZhdWx0O1xuXG4vLyBHcmFkaWVudFxuLy9cbi8vIFRoZSBncmFkaWVudCB3aGljaCBpcyBhZGRlZCB0byBjb21wb25lbnRzIGlmIGAkZW5hYmxlLWdyYWRpZW50c2AgaXMgYHRydWVgXG4vLyBUaGlzIGdyYWRpZW50IGlzIGFsc28gYWRkZWQgdG8gZWxlbWVudHMgd2l0aCBgLmJnLWdyYWRpZW50YFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZhcmlhYmxlLWdyYWRpZW50XG4kZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoJHdoaXRlLCAuMTUpLCByZ2JhKCR3aGl0ZSwgMCkpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2YXJpYWJsZS1ncmFkaWVudFxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwYWNlci12YXJpYWJsZXMtbWFwc1xuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gIDA6IDAsXG4gIDE6ICRzcGFjZXIgKiAuMjUsXG4gIDI6ICRzcGFjZXIgKiAuNSxcbiAgMzogJHNwYWNlcixcbiAgNDogJHNwYWNlciAqIDEuNSxcbiAgNTogJHNwYWNlciAqIDMsXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGFjZXItdmFyaWFibGVzLW1hcHNcblxuLy8gUG9zaXRpb25cbi8vXG4vLyBEZWZpbmUgdGhlIGVkZ2UgcG9zaXRpb25pbmcgYW5jaG9ycyBvZiB0aGUgcG9zaXRpb24gdXRpbGl0aWVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9zaXRpb24tbWFwXG4kcG9zaXRpb24tdmFsdWVzOiAoXG4gIDA6IDAsXG4gIDUwOiA1MCUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9zaXRpb24tbWFwXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbiRsaW5rLXNoYWRlLXBlcmNlbnRhZ2U6ICAgICAgICAgICAgICAgICAgIDIwJSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0LWNvbG9yKCRsaW5rLWNvbG9yLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudDogICAgICAgICAgIGFmdGVyICFkZWZhdWx0O1xuJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JpZC1icmVha3BvaW50c1xuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHgsXG4gIHh4bDogMTQwMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmlkLWJyZWFrcG9pbnRzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29udGFpbmVyLW1heC13aWR0aHNcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4LFxuICB4eGw6IDEzMjBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29udGFpbmVyLW1heC13aWR0aHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG4vLyBDb250YWluZXIgcGFkZGluZ1xuXG4kY29udGFpbmVyLXBhZGRpbmcteDogJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItdmFyaWFibGVzXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoczogKFxuICAxOiAxcHgsXG4gIDI6IDJweCxcbiAgMzogM3B4LFxuICA0OiA0cHgsXG4gIDU6IDVweFxuKSAhZGVmYXVsdDtcblxuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtMnhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgLjI1ICFkZWZhdWx0O1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1jb2xvcjogICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZy1mYWN0b3I6ICAgICAuMDUgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZzogICAgICAgICAgICByZ2JhKCRibGFjaywgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWZhY3RvcjogICAgICAgICAuMSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogY3VycmVudGNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS1sb29wXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWxvb3BcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWJ0bi12YXJpYWJsZXNcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudDogICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudDogICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudDogICAgMTAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50OiAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50OiAgICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50OiAgMjUlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50OiAgIDEwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEZvcm1zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXRleHQtdmFyaWFibGVzXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tbGFiZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLXNtOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGc6ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtdHJhbnNpdGlvbjogICAgICAgICAgJGlucHV0LXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1yYW5nZS12YXJpYWJsZXNcbiRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBFZGdlXG4kZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNzAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZzogICAgICAgc2hhZGUtY29sb3IoJGZvcm0tZmlsZS1idXR0b24tYmcsIDUlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgKSxcbiAgXCJpbnZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cblxuLy8gTmF2c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXZhcmlhYmxlc1xuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstdHJhbnNpdGlvbjogICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay12YXJpYWJsZXNcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgc2hhZGUtY29sb3IoJGRyb3Bkb3duLWxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ6ICAgICAgICAgICAoJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoICogLTEpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi12YXJpYWJsZXNcblxuXG4vLyBQbGFjZWhvbGRlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBsYWNlaG9sZGVyc1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWF4OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItb3BhY2l0eS1taW46ICAgICAgICAgICAuMiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGxhY2Vob2xkZXJzXG5cbi8vIENhcmRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLXZhcmlhYmxlc1xuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1zcGFjZXIteTogICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci14ICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgOTAlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCAxMCUpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGFjY29yZGlvbi1idXR0b24tY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHNoYWRlLWNvbG9yKCRwb3BvdmVyLWJnLCA2JSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cblxuLy8gVG9hc3RzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC12YXJpYWJsZXNcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtdmFyaWFibGVzXG5cblxuLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC12YXJpYWJsZXNcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgJGJveC1zaGFkb3ctc20gIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtdmFyaWFibGVzXG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGh1bWJuYWlsLXZhcmlhYmxlc1xuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgICRib3gtc2hhZG93LXNtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZmlndXJlLXZhcmlhYmxlc1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLXZhcmlhYmxlc1xuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hY2NvcmRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcjogI3skYWNjb3JkaW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnOiAjeyRhY2NvcmRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAjeyRhY2NvcmRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGg6ICN7JGFjY29yZGlvbi1pY29uLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybTogI3skYWNjb3JkaW9uLWljb24tdHJhbnNmb3JtfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb259O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLWNzcy12YXJzXG59XG5cbi5hY2NvcmRpb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gUmVzZXQgYnV0dG9uIHN0eWxlXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uKSk7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbik7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zaXRpb24pKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi5hY2NvcmRpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNldCBhIGJvcmRlci1yYWRpdXMgb24gdGhlIGxhc3QgaXRlbSBpZiB0aGUgYWNjb3JkaW9uIGlzIGNvbGxhcHNlZFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXgpO1xufVxuXG5cbi8vIEZsdXNoIGFjY29yZGlvbiBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgYWNjb3JkaW9uIGl0ZW1zIGVkZ2UtdG8tZWRnZS5cblxuLmFjY29yZGlvbi1mbHVzaCB7XG4gIC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYsXG4gICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsImJvZHksXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogJGZmX2xhdG87XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkYmx1ZV9kYXJrO1xufVxuXG5oMSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG5wIHtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xufVxuXG5tYWluIHtcbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMnJlbTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC44NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5zci1vbmx5IHtcbiAgICBAaW5jbHVkZSBzci1vbmx5O1xufVxuLmdyZWVuLXRleHQtbGluayB7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbn0iLCIuc2VjdGlvbi1wYWdlLXRpdGxlLXNob3J0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9saWdodF9iZztcbiAgICBwYWRkaW5nOiA3MHB4IDAgODBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkYmx1ZV9saWdodDtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICB9XG59XG5cbi5zZWN0aW9uLS1oZXJvLWludHJvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9saWdodF9iZztcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkYmx1ZV9saWdodDtcbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgLmhlcm8taW50cm8tLXRleHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkX21vc3Q7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleV9ib3JkZXI7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ob21lICYgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWN0aW9uLS10ZXh0LWJ1YmJsZXMge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgY29sdW1uLWdhcDogJGd1dHRlcldpZHRoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgICAgICAudGV4dC1idWJibGUge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNDUlO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5X2JvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkX21vc3Q7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRleHQtYnViYmxlLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA2MHB4KTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9saWdodGVzdDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dC1idWJibGUtaWNvbiB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmstY3RhLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWJvZHkge1xuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3R0b20tbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgJi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdyZWVuLWxpbmstY3RhIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG4vL2FueSBwYWdlIHRoYXQgaGFzIHR3byBcInRleHQgYnViYmxlc1wiIHRvZ2V0aGVyXG4vLyBuZWVkcyBncmlkIHdoZW4gdGhleSBhcmUgdHdvIHRvIGEgcm93IGR1ZSB0byBidWcgaW4gc2FmYXJpIFxuLmhvbWUsXG4ucGFnZS1pZC03NCB7XG4gICAgLnNlY3Rpb24tLXRleHQtYnViYmxlcyAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIC8vZm9yIHNhZmFyaVxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWN0aW9uLS1zdGFmZi1zZWN0aW9uIHtcbiAgICBAZXh0ZW5kIC5ncmVlbi10b3A7XG4gICAgQGV4dGVuZCAuYmx1ZS1iZztcbiAgICBwYWRkaW5nOiA0MHB4IDBweDtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9saWdodF9iZztcbiAgICAvLyBib3JkZXItdG9wOiAkc2VwYXJhdG9yV2lkdGggc29saWQgJGJsdWVfbGlnaHQ7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMCAzMHB4O1xuICAgICAgICAvLyBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjFweCkge1xuICAgICAgICAvLyAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLy8gICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIC8vICAgICBnYXA6IDMwcHggMzBweDtcbiAgICAgICAgLy8gfVxuICAgICAgICAmLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnN0YWZmLW1lbWJlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjVweCAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXlfYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQ7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDMwcHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIC8vIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gMjBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkX21vcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZV9saWdodGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5zZWN0aW9uLS1mYXFzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAuaGVhZGVyX190aXRsZSB7fVxuICAgIC5mYXEge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweCA2MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleV9ib3JkZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIC5hbnN3ZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC8vIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uIGFsbDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmV4cGFuZGVyLWljb24ge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLnNob3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGlkZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgICAgICAuYW5zd2VyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZXhwYW5kZXItaWNvbiB7XG4gICAgICAgICAgICAgICAgLnNob3cge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG59XG4iLCIgICAgLy9DT0RFUEVOIElOSEVSSVRFRCBTVFlMRVNcbiAgICAvL0dyaWQgQ29udGFpbmVyXG4gICAgLmNhcmRzLFxuICAgIC5mYWNldHdwLXRlbXBsYXRlIHtcbiAgICAgICAgLy8gcGFkZGluZzogMTVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG5cbiAgICBzZWN0aW9uLnNlY3Rpb24uc2VjdGlvbi0tc2VsZWN0ZWQtdG9waWNzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICAuaGVhZGVyX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vQ2FyZHNcbiAgICAuY2FyZCB7XG4gICAgICAgIG1hcmdpbjogMTVweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAtIDMwcHgpO1xuICAgICAgICAuc2VjdGlvbi0tc2VsZWN0ZWQtdG9waWNzICYge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyA0KSAtIDMwcHgpO1xuICAgICAgICAgICAgLmNhcmRfX2V4cGFuZGVyIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAqIDQpICsgOTBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMzBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNlY3Rpb24uc2VjdGlvbi5zZWN0aW9uLS10b3BpY3MtYXJjaGl2ZSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgLSAzMHB4KTtcbiAgICAgICAgICAgIC8vbWVkaWEgcXVlcmllcyBmb3Igc3RhY2tpbmcgY2FyZHNcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMikgLSAzMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhcmRfX2V4cGFuZGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAqIDMpICsgNjBweCk7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA5MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICogMikgKyAzMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXlfYm9yZGVyO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy9FeHBhbmRlclxuICAgICAgICAmX19leHBhbmRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1jb2xsYXBzZWQge1xuICAgICAgIFxuICAgICAgICAuY2FyZF9fZXhwYW5kZXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtZXhwYW5kZWQge1xuICAgICAgICAuY2FyZF9faW5uZXIge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9lbXNfZmNjYi9pbWFnZXMvY2Fycm90LnBuZyk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTI3cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmRfX2V4cGFuZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMDAwMHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXlfYm9yZGVyO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmpzLWNvbGxhcHNlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvZW1zX2ZjY2IvaW1hZ2VzL2Nsb3NlLnN2Zyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhLWNsb3NlIHtcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9lbXNfZmNjYi9pbWFnZXMvY2xvc2Uuc3ZnKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IDIzcHg7XG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZHJhd2VyX19pbm5lciB7XG4gICAgICAgICAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODFweCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDcwJSAzMCU7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgJl9fc2lkZWJhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJl9fbWFpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWJhc2lzOiA3MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyAmOmhvdmVyIHtcbiAgICAgICAgLy8gICAgIC5jYXJkX19pbm5lciB7XG4gICAgICAgIC8vICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIC8vRXhwYW5kZXIgV2lkdGhzXG4gICAgLy93aGVuIDMgY2FyZHMgaW4gYSByb3dcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDkxcHgpIHtcbiAgICAgICAgLmNhcmQ6bnRoLW9mLXR5cGUoM24rMikgLmNhcmRfX2V4cGFuZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xMDAlIC0gMzBweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQ6bnRoLW9mLXR5cGUoM24rMykgLmNhcmRfX2V4cGFuZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0yMDAlIC0gNjBweCk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlY3Rpb24tLXNlbGVjdGVkLXRvcGljcyAuY2FyZDpudGgtb2YtdHlwZSgzbis0KSAuY2FyZF9fZXhwYW5kZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTMwMCUgLSA5MHB4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyAuY2FyZDpudGgtb2YtdHlwZSgzbis0KSB7XG4gICAgICAgIC8vICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyAuY2FyZF9fZXhwYW5kZXIge1xuICAgICAgICAvLyAgICAgd2lkdGg6IGNhbGMoMzAwJSArIDYwcHgpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgLy93aGVuIDIgY2FyZHMgaW4gYSByb3dcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwOTBweCkge1xuICAgICAgICAuY2FyZDpudGgtb2YtdHlwZSgybisyKSAuY2FyZF9fZXhwYW5kZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEwMCUgLSAzMHB4KTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZDpudGgtb2YtdHlwZSgybiszKSB7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZF9fZXhwYW5kZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjAwJSArIDMwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIFN0eWxlc1xuICAgIC5zZWN0aW9uLS1zZWxlY3RlZC10b3BpY3Mge1xuICAgICAgICBAZXh0ZW5kIC50ZWFsLXRvcDtcbiAgICAgICAgQGV4dGVuZCAuYmx1ZS1iZztcbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5X2JvcmRlcjtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWRfbW9zdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRvbWFpbiB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS42NnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZV9saWdodGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzLnRpdGxlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2V4cGFuZGVyIHtcbiAgICAgICAgICAgIC5kcmF3ZXJfX2lubmVyIHtcbiAgICAgICAgICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fc2lkZWJhciB7XG5cbiAgICAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICBwLmluZm8ge1xuICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJj5oNDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IiwiLnNlY3Rpb24tLXRvcGljcy1hcmNoaXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9saWdodF9iZztcbiAgICBwYWRkaW5nOiA0MHB4IDBweDtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgLnRvcGljLXNpZGViYXIge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzAwcHg7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAvL2EgZGFya2VyIGdyZWVuIGZvciBhZGEgY29udHJhc3RzXG4gICAgICAgICAgICAgICAgY29sb3I6ICMzNTc0NDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmFjZXR3cC1mYWNldCB7XG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICAuZmFjZXR3cC1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogNnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYWNldHdwLWNvdW50ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZmFjZXR3cC1zbGlkZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDExcHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYWNldHdwLXNsaWRlci1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ub1VpLXRhcmdldCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5vVWktY29ubmVjdCB7XG4gICAgICAgICAgICAgICAgLy9oZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAvL3RvcDogNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM1NTU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubm9VaS1vcmlnaW4ge1xuICAgICAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ub1VpLWhhbmRsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlY2VjZWM7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCBncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ub1VpLW1hcmtlci1sYXJnZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yM3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzU1NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ub1VpLXZhbHVlLWxhcmdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlX2Rhcms7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mYWNldHdwLXNsaWRlci1yZXNldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mYWNldHdwLXNlbGVjdGlvbnMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZmFjZXR3cC1zZWxlY3Rpb24tbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaVtkYXRhLWZhY2V0PVwicGRfY2xvY2tfaG91cnNcIl0ge1xuICAgICAgICAgICAgLmZhY2V0d3Atc2VsZWN0aW9uLXZhbHVlIHtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyBIb3Vycyc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZmFjZXR3cC1zZWxlY3Rpb24tdmFsdWUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlX2Rhcms7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOjVweCAyNXB4IDVweCAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNXB4IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uZmFjZXQtbW9yZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLTFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBTbGlkZXIgUGlwcyBEZWZhdWx0IENTUyAqIC9cbi8qIEJhc2U7XG4gKlxuICovXG5cbi5ub1VpLXBpcHMsXG4ubm9VaS1waXBzICoge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubm9VaS1waXBzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICM5OTk7XG59XG5cblxuLyogVmFsdWVzO1xuICpcbiAqL1xuXG4ubm9VaS12YWx1ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubm9VaS12YWx1ZS1zdWIge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuXG4vKiBNYXJraW5ncztcbiAqXG4gKi9cblxuLm5vVWktbWFya2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI0NDQztcbn1cblxuLm5vVWktbWFya2VyLXN1YiB7XG4gICAgYmFja2dyb3VuZDogI0FBQTtcbn1cblxuLm5vVWktbWFya2VyLWxhcmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjQUFBO1xufVxuXG5cbi8qIEhvcml6b250YWwgbGF5b3V0O1xuICpcbiAqL1xuXG4ubm9VaS1waXBzLWhvcml6b250YWwge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ub1VpLXZhbHVlLWhvcml6b250YWwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xufVxuXG4ubm9VaS1ydGwgLm5vVWktdmFsdWUtaG9yaXpvbnRhbCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xufVxuXG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDVweDtcbn1cblxuLm5vVWktbWFya2VyLWhvcml6b250YWwubm9VaS1tYXJrZXItc3ViIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG59XG5cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyLWxhcmdlIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG59XG5cbi50b3BpY3MtYXJjaGl2ZS1pbnRyb2R1Y3Rpb24ge1xuICAgIFxuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IFxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn0iLCIudXBjb21pbmctZmFjaWxpdGF0b3ItdHJhaW5pbmdzIHtcbiAgYXJ0aWNsZS5lbnRyeSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRUVGMDtcbiAgfVxuICAuc2VjdGlvbi0tdHJhaW5pbmdzLWFyY2hpdmUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5zZWN0aW9uLS10cmFpbmluZ3MtYXJjaGl2ZSB7XG4gIC50cmFpbmluZy1tYWluIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xuICAgIH1cbiAgfVxufVxuLnRyYWluaW5nLW1haW4tZmFjZXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uZmFjZXR3cC1mYWNldC10cmFpbmluZ19wYWdlci5mYWNldHdwLWZhY2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC5mYWNldHdwLXBhZ2Uge1xuICAgICYuYWN0aXZlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzMzMzsgXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfSAgICBcbiAgfVxufVxuLmZhY2V0d3AtdHlwZS1zb3J0LmZhY2V0d3AtZmFjZXQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBzZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcbiAgfVxufVxuLnVwY29taW5nLXRyYWluaW5ncy1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59IiwiLnNlY3Rpb24tLXByZWZvb3RlciB7XG4gICAgQGV4dGVuZCAudGVhbC10b3A7XG4gICAgQGV4dGVuZCAuYmx1ZS1iZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweCAwIDYwcHg7XG4gICAgLmN0YS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDA7XG4gICAgfVxufSIsInNlY3Rpb24uc2VjdGlvbi5zZWN0aW9uLS10cmFpbmluZ3MtdGFibGVzIHtcbiAgICBAZXh0ZW5kIC50ZWFsLXRvcDtcbiAgICBwYWRkaW5nOiA1MHB4IDQwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi51cGNvbWluZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlX2xpZ2h0X2JnO1xuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIC5jdGEtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9jdXNfc3R5bGVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTYwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0Ym9keS5zY3JvbGxDb250ZW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleV9ib3JkZXI7XG4gICAgICAgICAgICAgICAgLnRyYWluaW5nLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleV9ib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmV4cGFuZGVyLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2hvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnRyYWluaW5nLWRlc2NfX2Rlc2Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogNDAwbXMgYWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmNvbGxhcHNlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZXhwYW5kZXItaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNob3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudHJhaW5pbmctZGVzY19fZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBDT0xVTU4gU0laSU5HXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTYxcHgpIHtcbiAgICAgICAgICAgIC50cmFpbmluZy1yb3cgdGQsXG4gICAgICAgICAgICB0aGVhZCB0aCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDlweDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDYwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoZWFkIHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk2MHB4KSB7XG4gICAgICAgICAgICB0ci50cmFpbmluZy1yb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC50cmFpbmluZy1yb3cgdGQ6bnRoLW9mLXR5cGUoMSksXG4vLyB0aGVhZCB0aDpudGgtb2YtdHlwZSgxKSB7XG4vLyAgICAgd2lkdGg6IDM1cHg7XG4vLyB9XG4vLyAudHJhaW5pbmctcm93IHRkOm50aC1vZi10eXBlKDIpLFxuLy8gdGhlYWQgdGg6bnRoLW9mLXR5cGUoMikge1xuLy8gICAgIHdpZHRoOiAxMDVweDtcbi8vIH1cbi8vIC50cmFpbmluZy1yb3cgdGQ6bnRoLW9mLXR5cGUoMyksXG4vLyB0aGVhZCB0aDpudGgtb2YtdHlwZSgzKSB7XG4vLyAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1MHB4KTtcbi8vIH1cbi8vIC50cmFpbmluZy1yb3cgdGQ6bnRoLW9mLXR5cGUoNCksXG4vLyB0aGVhZCB0aDpudGgtb2YtdHlwZSg0KSB7XG4vLyAgICAgd2lkdGg6IDEwMHB4O1xuLy8gfVxuLy8gc29ydHRhYmxlX25vc29ydCAvLyBubyBzb3J0aW5nID0gbm8gaWNvblxuLy8gc29ydHRhYmxlX3NvcnRlZCAvLyBwb2ludCBkb3duXG4vLyBzb3J0dGFibGVfc29ydGVkX3JldmVyc2UgLy8gcG9pbnQgdXBcbi5zb3J0YWJsZSB0aDpub3QoLnNvcnR0YWJsZV9ub3NvcnQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMHB4IDAgLTVweCA3cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvZW1zX2ZjY2IvaW1hZ2VzL2ljb24tc29ydC5wbmcpO1xuICAgIH1cbiAgICAmLnNvcnR0YWJsZV9zb3J0ZWQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2Vtc19mY2NiL2ltYWdlcy9pY29uLXNvcnRlZC1kb3duLnBuZyk7XG4gICAgfVxuICAgICYuc29ydHRhYmxlX3NvcnRlZF9yZXZlcnNlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9lbXNfZmNjYi9pbWFnZXMvaWNvbi1zb3J0ZWQtdXAucG5nKTtcbiAgICB9XG59XG4udGFibGVDb250YWluZXIsXG4udGFibGVDb250YWluZXIgdGJvZHkuc2Nyb2xsQ29udGVudCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgbWF4LWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG59IiwiLmdmb3JtX3dyYXBwZXIge1xuICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV9kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MXB4KSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAjZ2Zvcm1fZmllbGRzXzYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgLmdmaWVsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIC5nZmllbGQtLXdpZHRoLWhhbGYge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCA0MHB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAmI2ZpZWxkXzZfNSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5nZmllbGQtLXdpZHRoLWZ1bGwge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnRoaXJkcyB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjFweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCA0MHB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudHdvdGhpcmRzIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MXB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjclIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggNDBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xuICAgICAgICAubmFtZV9maXJzdCxcbiAgICAgICAgLm5hbWVfbGFzdCB7XG4gICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIipcIjtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWVfZGFyaztcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDFweCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIqXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC4xMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlX2Rhcms7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MXB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmI2ZpZWxkXzVfMyxcbiAgICAgICAgICAgICYjZmllbGRfN183IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmI2ZpZWxkXzVfNCxcbiAgICAgICAgICAgICYjZmllbGRfNV83LFxuICAgICAgICAgICAgJiNmaWVsZF81XzUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzcGFuLmdmaWVsZF9yZXF1aXJlZC5nZmllbGRfcmVxdWlyZWRfdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGxhYmVsLFxuICAgIGxlZ2VuZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSxcbiAgICAuY2hvc2VuLWNob2ljZXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW4gIWltcG9ydGFudDtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb2N1c19zdHlsZXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdmaWVsZF9jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBjb2x1bW4tZ2FwOiAyMHB4O1xuICAgICAgICByb3ctZ2FwOiAyMHB4O1xuICAgICAgICAuZ2Nob2ljZSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLmdjaG9pY2Uge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyZWVuLWJ0bjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTYwcHgpIHtcbi8vICAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMge1xuLy8gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbi8vICAgICB9XG4vLyB9XG4vLyBzcGVjaWZpYyBmaWVsZCBzdHlsaW5nXG4vLyBGQUNJTElUQVRPUiBUUkFJTklOR1xuI2lucHV0XzZfNl9jaG9zZW4ge1xuICAgIHdpZHRoOiAzNjBweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGlucHV0IHtcbiAgICAgICAgY29sb3I6ICRibHVlX2RhcmsgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbmRpdiNmaWVsZF82XzE4IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEzcHggIWltcG9ydGFudDtcbn1cblxuc2VsZWN0I2lucHV0XzVfNiB7XG4gICAgcGFkZGluZzogNnB4IDhweCA3cHg7XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBTYWZhcmkgb25seVxuQHN1cHBvcnRzIChiYWNrZ3JvdW5kOiAtd2Via2l0LW5hbWVkLWltYWdlKGkpKSB7XG4gICAgLmdmaWVsZF9jaGVja2JveCAuZ2Nob2ljZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MXB4KSB7XG4gICAgLmhhbGYtZmllbGQge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA2ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuI2ZpZWxkXzZfNCAuZ2lucHV0X2NvbnRhaW5lciAuZ2ZpZWxkX3JhZGlvIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5naW5wdXRfY29tcGxleCBzcGFuIHtcblxuICAgICAgICAmLm5hbWVfZmlyc3Qge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYubmFtZV9sYXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgICNpbnB1dF82XzFfNl9jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICNmaWVsZF82XzEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLy9jb250YWN0IHVzIGZvcm0gZnJvbSAvY29udGFjdFxuI2dmb3JtXzcge1xuICAgIC5nZmllbGQge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDFweCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59Iiwic2VjdGlvbi5zZWN0aW9uLnNlY3Rpb24tLW5hcnJvdy1jb250ZW50IHtcbiAgICAubmFycm93IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NjVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICB9XG59XG4iLCIuc2luZ2xlLXNlcnZpY2Vfd29ya3Nob3Age1xuICAuZW50cnktY29udGVudCB7XG4gICAgLy8gZGlzcGxheTogZmxleDtcbiAgfVxufSIsIi5kaXJlY3Qtc2VydmljZS13b3Jrc2hvcHMge1xuICAuaGVyby1pbnRyby0tdGV4dCB7XG4gICAgYTpub3QoLmxpbmstY3RhKSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50ZXh0LWJ1YmJsZS0tYm9keSB7XG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIH1cbiAgfVxufVxuLnBhc3QtZGlyZWN0LXNlcnZpY2Utd29ya3Nob3BzIHtcbiAgYXJ0aWNsZS5lbnRyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRUVGMDtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxufSIsIi50cmFpbmluZy50eXBlLXRyYWluaW5nLmVudHJ5IC5lbnRyeS1jb250ZW50LFxuLnNlcnZpY2Vfd29ya3Nob3AudHlwZS1zZXJ2aWNlX3dvcmtzaG9wLmVudHJ5IC5lbnRyeS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICAudHJhaW5pbmctc2luZ2xlLXNpZGViYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMnB4IDAgMjVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAycHggMjVweCAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZXlfYm9yZGVyO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgICAuc2lkZWJhci1oZWFkaW5nLFxuICAgICAgICAudHJhaW5pbmctZGF0ZSBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmstY3RhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAudHJhaW5pbmctc2luZ2xlLWJvZHkge1xuICAgICAgICAvLyBmbG9hdDogbGVmdDtcbiAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzUwcHgpO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG4ubGluay1jdGEge1xuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbi50cmFpbmluZy1zaW5nbGUtYmFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cbn1cbi50cmFpbmluZy1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnRyYWluaW5nLWNhcmRfX3NpZGViYXIsXG4udHJhaW5pbmctc2luZ2xlLXNpZGViYXIge1xuICAgIC5pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG59XG4uc2luZ2xlLXRyYWluaW5nIHtcbiAgICAudHlwZS10cmFpbmluZyB7XG4gICAgICAgIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuZW50cnktY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvL3RoaXMgZmllbGQgbmVlZHMgdG8gYmUgYWRkZWQgb24gdGhlIHByb2Qgc2l0ZVxuLmN1cnJpY3VsdW0tbGlicmFyeSB7XG4gIGFydGljbGUucGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWVmMDtcbiAgfVxufVxuLnNlY3Rpb24tLXRvcGljcyB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAjY3VycmljdWx1bS1saWJyYXJ5LWJsb2NrIHtcbiAgICA+IC5hY2NvcmRpb24taXRlbSxcbiAgICA+IC5hY2NvcmRpb24taXRlbSAudG9waWMtdGl0bGUgPiAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgID4gLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICBvdXRsaW5lOiAxcHggc29saWQgIzkzQUVCODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggIWltcG9ydGFudDtcblxuXG4gICAgICA+IC50b3BpYy10aXRsZSAuYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNThweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ5cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjhweDtcbiAgICB9XG4gICAgLnN1YmZvbGRlci13cmFwcGVyLnNob3csXG4gICAgLnN1YmZvbGRlci13cmFwcGVyLmNvbGxhcHNpbmcge1xuICAgICAgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC50b3BpYy10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC5hY2NvcmRpb24taXRlbTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5M0FFQjg7XG4gIFxuICAgICAgfVxuICAgIH1cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogJGJsdWVfZGFyaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1OHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMThweDsgXG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjJweDtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG4gICAgICAvL2FjY29yZGlvbiBpcyBvcGVuZWRcbiAgICAgICY6bm90KC5jb2xsYXBzZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9lbXNfZmNjYi9pbWFnZXMvbWludXMuc3ZnKTtcbiAgICAgICAgICB0b3A6IDE1cHg7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvZW1zX2ZjY2IvaW1hZ2VzL3BsdXMuc3ZnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubGFuZ3VhZ2Utd3JhcHBlciB7XG4gICAuYWNjb3JkaW9uLWJvZHkge1xuICAgICAgLy8gcGFkZGluZy1sZWZ0OiAzNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICB9XG4gIH1cbiAgLnN1YmZvbGRlci13cmFwcGVyIHtcbiAgICAuYWNjb3JkaW9uLWJvZHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmctbGVmdDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIC5zdWJmb2xkZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc3ViZm9sZGVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAkYmx1ZV9kYXJrO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG4gIC5maWxlcy1saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAuZmlsZV9fbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgLmZpbGUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuXG4gICAgICAmLmZpbGUtLXBkZiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvZW1zX2ZjY2IvaW1hZ2VzL3BkZi5zdmcpO1xuICAgICAgfVxuICAgICAgJi5maWxlLS1kb2Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2Vtc19mY2NiL2ltYWdlcy9kb2Muc3ZnKTtcbiAgICAgIH1cbiAgICAgICYuZmlsZS0tZ2lmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9lbXNfZmNjYi9pbWFnZXMvZ2lmLnN2Zyk7XG4gICAgICB9XG4gICAgICAmLmZpbGUtLXBwdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvZW1zX2ZjY2IvaW1hZ2VzL3BwdC5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxhbmd1YWdlLWFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzk3OTc5NyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xuICB9XG4gIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4ubGFuZ3VhZ2UtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xufSIsIi50cmFpbmluZy1jYXJkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleV9ib3JkZXI7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBib3JkZXItcmFkaXVzOiAkcm91bmRlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgJl9fYm9keSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHggMTBweCAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgfVxuICAgICAgICAuZG9tYWluIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZV9saWdodGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODVlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRvcGljIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NpZGViYXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAycHggMCAxMHB4IDI1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgLy8gcGFkZGluZzogMnB4IDAgMTBweCAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZXlfYm9yZGVyO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztFQUlFO0FBR0YsWUFBWTtBQU1aLFlBQVk7QUF1QlosT0FBTyxDQUFDLG1HQUFJO0FLcENaLEFBQUEsVUFBVSxFR2FWLGVBQWUsQ0FJWCxLQUFLLENIakJFO0VBQ1AsU0FBUyxFRGNJLE1BQU07RUNibkIsWUFBWSxFRGNGLElBQUk7RUNiZCxhQUFhLEVEYUgsSUFBSTtFQ1pkLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBSUQsQUFBQSxTQUFTLEUwQ3VOTCx5QkFBeUIsRUdoTzdCLG1CQUFtQixFQ0FuQixPQUFPLEFBQUEsUUFBUSxBQUFBLDBCQUEwQixDOUNTL0I7RUFDTixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0RQWixPQUFPLEdDUW5COztBQUVELEFBQUEsVUFBVSxFR0FWLGVBQWUsRXFDYmYsdUJBQXVCLEN4Q2FaO0VBQ1AsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENEUGpCLE9BQU8sR0NRZDs7QUFFRCxBQUFBLFFBQVEsRXdDakJSLHVCQUF1QixFRWdPbkIseUJBQXlCLEVHaE83QixtQkFBbUIsQzdDaUJWO0VBQ0wsZ0JBQWdCLEVEZEosT0FBTyxHQ2V0Qjs7QUFHRCxBQUFBLENBQUMsQ0FBQztFQUNFLEtB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 */
