/*!
Theme Name: Webiz Starter
Theme URI: http://webiz.team
Author: Webiz Team
Author URI: https://webiz.team/
Description: Webiz Starter Theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cv_multisite

*/
/**
 * Strips the unit from a given number-unit-combination and returns the number.
 * @link: http://stackoverflow.com/a/12335841/1779999
 * @usage: parse-int(10px) => 10
 */
/**
   * Simply adds the em unit to a given number. This is used twice in the
   * function underneath, thus the need for a separate function.
   */
/**
   * Calculates em values for a given list of (px or em) values and a given em
   * base. Multiply base values for nested em structures (last @usage example).
   * @usage: em(10px, 1.125) => .55556em
   *         em(24px, .875em) => 1.71429em
   *         em(12px 0 7em rgba(0, 0, 0, .7), 1.75) => .42857em 0 4em rgba(0, 0, 0, 0.7)
   *         em(12px) + em(3em) => 3.75em
   *         em(23px, em(53px)) => .43396em
   *         em(24px, 1.5 * 1.125) => .88889em
   */
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  overflow-x: hidden; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*--------------------------------------------------------------
# Main Layout
--------------------------------------------------------------*/
html {
  background-color: #fff;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth; }

* {
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.4;
  font-weight: 400;
  background: #fff;
  position: relative;
  overflow-y: hidden;
  min-height: 100vh; }

.container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
  max-width: 100%;
  padding-left: 1.875em;
  padding-right: 1.875em; }
  @media (max-width: 360px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      padding-left: 0.9375em;
      padding-right: 0.9375em; } }
  @media (min-width: 768px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 43.75rem;
      padding-left: 0;
      padding-right: 0;
      margin: 0 auto; } }
  @media (min-width: 992px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 56.25rem; } }
  @media (min-width: 1025px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 93%; } }
  @media (min-width: 1280px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 75rem;
      padding-left: 1.875rem;
      padding-right: 1.875rem;
      margin: 0 auto; } }

.container-header-footer {
  max-width: 100%;
  padding-left: 1.875rem;
  padding-right: 1.875rem; }
  @media (min-width: 768px) {
    .container-header-footer {
      padding-left: 4.375rem;
      padding-right: 4.375rem; } }
  .container-header-footer .column.flex {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media (min-width: 992px) {
      .container-header-footer .column.flex {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }

body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
  max-width: 100% !important; }
  @media (min-width: 768px) {
    body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 43.75rem !important; } }
  @media (min-width: 992px) {
    body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 56.25rem !important; } }
  @media (min-width: 1280px) {
    body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 75rem !important; } }

#primary {
  z-index: 3;
  position: relative; }

.site-content {
  min-height: 65vh;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

#page, .site {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh; }

.admin-bar .site-header {
  top: 46px;
  background: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out; }
  .admin-bar .site-header.not-on-top {
    top: 0;
    background: #fff;
    /* The Fallback */
    background: rgba(255, 255, 255, 0.3);
    -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px); }
    @media (min-width: 768px) {
      .admin-bar .site-header.not-on-top {
        top: 32px; } }
  @media (min-width: 992px) {
    .admin-bar .site-header {
      top: 32px; }
      .admin-bar .site-header.not-on-top {
        top: 32px; }
        .admin-bar .site-header.not-on-top.header-hide {
          top: -3.75rem; } }
      @media (min-width: 992px) and (min-width: 992px) {
        .admin-bar .site-header.not-on-top.header-hide {
          top: -4.375rem; } }

.site-header {
  height: auto;
  width: 100%;
  z-index: 995;
  top: 0;
  position: absolute;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
  background: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none; }
  .site-header.not-on-top {
    position: fixed;
    background: #fff;
    /* The Fallback */
    background: rgba(255, 255, 255, 0.3);
    -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px); }
  .site-header.header-hide {
    top: -3.75rem; }
    @media (min-width: 992px) {
      .site-header.header-hide {
        top: -4.375rem; } }
  .site-header .container, .site-header .alignfull > .wp-block-group__inner-container, .site-header .alignfull > .wp-block-cover__inner-container, .site-header body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width, body .site-header .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
    height: 100%; }
    .site-header .container .header_wrapper, .site-header .alignfull > .wp-block-group__inner-container .header_wrapper, .site-header .alignfull > .wp-block-cover__inner-container .header_wrapper, .site-header body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width .header_wrapper, body .site-header .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width .header_wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-transition: all 0.2s ease-out;
      transition: all 0.2s ease-out;
      height: 100%;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
  .site-header .site-branding {
    height: 100%;
    padding: 0.75rem 0; }
    .site-header .site-branding .doctor-name-brand a {
      color: #243D6E; }
    .site-header .site-branding a {
      display: block;
      height: 100%; }
      .site-header .site-branding a img {
        display: block;
        max-height: 100%;
        width: auto; }
  .site-header .navigation-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .site-header .search-trigger {
    background-color: #404040;
    -webkit-mask-image: url(../icons/search-icon.svg);
    mask-image: url(../icons/search-icon.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    width: 2rem;
    height: 2rem;
    cursor: pointer; }
  .site-header .search-bar {
    padding: 0;
    overflow: hidden;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    top: 4.375rem;
    position: absolute;
    pointer-events: none;
    width: 100vw;
    background-color: #fff;
    left: 0;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    opacity: 0; }
    .site-header .search-bar form {
      display: none; }
    .site-header .search-bar[aria-expanded="true"] {
      pointer-events: all;
      opacity: 1; }
      .site-header .search-bar[aria-expanded="true"] form {
        padding: 0 0 0 1.875rem;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .site-header .search-bar[aria-expanded="true"] form input {
          border: 0;
          width: 100%;
          margin: initial; }
      .site-header .search-bar[aria-expanded="true"] .search-icon {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        background: transparent;
        background: #000;
        -webkit-mask-image: url(../icons/search-icon.svg);
        mask-image: url(../icons/search-icon.svg);
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        color: transparent !important;
        margin-top: 0 !important; }

.site-footer {
  padding: 1rem 0;
  padding-bottom: 0;
  background: #4887F2;
  color: #fff;
  z-index: 55;
  position: relative; }
  .site-footer .site-branding .doctor-name-brand a {
    color: #fff; }
  .site-footer .doctor-short-info-wrap {
    max-width: 18.75rem; }
    .site-footer .doctor-short-info-wrap p {
      color: #fff;
      font-weight: 400;
      font-size: 1rem; }
  .site-footer .menu {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.625rem; }
    @media (min-width: 992px) {
      .site-footer .menu {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 2.1875rem; } }
    .site-footer .menu li a {
      color: #fff;
      white-space: nowrap;
      border-radius: 0.5rem; }
      .site-footer .menu li a.default-button {
        background: #fff;
        color: #4887F2; }
  .site-footer .socket {
    border-top: 1px solid #80BAAC;
    padding: 1.875rem 0; }
    .site-footer .socket .socket-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media (min-width: 768px) {
        .site-footer .socket .socket-wrapper {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .site-footer .socket .socket-wrapper .site-info {
        color: #fff;
        opacity: 0.5;
        font-size: 1.125rem;
        margin-bottom: 0.625rem; }
        @media (min-width: 768px) {
          .site-footer .socket .socket-wrapper .site-info {
            margin-bottom: 0; } }
      .site-footer .socket .socket-wrapper .privacy-menu #menu-privacy-menu-footer {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        gap: 0.625rem; }
        @media (min-width: 768px) {
          .site-footer .socket .socket-wrapper .privacy-menu #menu-privacy-menu-footer {
            gap: 2.1875rem;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: end;
                -ms-flex-align: end;
                    align-items: flex-end; } }
        .site-footer .socket .socket-wrapper .privacy-menu #menu-privacy-menu-footer li a {
          font-weight: 400; }
  .site-footer .footer-social-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .site-footer .footer-social-icons .social-icon {
      width: 1.875rem;
      height: 1.875rem;
      margin-right: 0.625rem;
      margin-bottom: 0.625rem; }

.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */ }
  .widget select {
    max-width: 100%; }

.single-container-inner-width {
  max-width: 45rem; }

.blog-relative {
  position: relative; }

.single-blog {
  padding-top: 1.5625rem; }
  @media (min-width: 992px) {
    .single-blog {
      padding-top: 4.375rem; } }

.blog-single-header {
  position: relative;
  min-height: 26.875rem;
  text-align: center;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: linear-gradient(238.32deg, #BCF491 -31.64%, #9DEAA8 1.99%, #6ED586 30.55%, #2C4A85 90.2%); }
  .blog-single-header .bsh-meta .entry_meta {
    font-size: 1rem;
    color: #fff; }

.category-badge-view {
  display: inline-block;
  padding: 0.375rem 0.75rem;
  background: #2C4A85;
  color: #fff;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0.25rem 0; }

.entry_meta {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .entry_meta .entry_meta_info {
    font-weight: 300; }
    .entry_meta .entry_meta_info .read_time {
      display: inline; }

.bsh-social-share .social_share .kt_share_shortcode .kt-socialstyle-style_03 a {
  border: 0 none;
  color: #fff;
  margin-left: 0.6rem; }
  .bsh-social-share .social_share .kt_share_shortcode .kt-socialstyle-style_03 a:first-child {
    margin-left: 0; }

article.post {
  margin: 0 auto; }

.author-box {
  background: #F6F9FF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.0625rem;
  padding: 1.5625rem; }
  .author-box .author-box-image {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-radius: 100%;
    max-width: 6.875rem; }
  .author-box .author-box-bio {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.625rem; }
    .author-box .author-box-bio > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 0.625rem; }
      .author-box .author-box-bio > div h5 {
        font-size: 1.25rem; }
      .author-box .author-box-bio > div p {
        font-size: 1rem;
        color: #0E60C3;
        font-weight: 300; }
  .author-box .author-box-description {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.625rem; }
  .author-box .author-section-title {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #1A1E2240; }

.author-socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem; }
  .author-socials img {
    display: block; }

.author-box-sidebar {
  position: relative;
  font-size: 0.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  padding-bottom: 1.25rem; }
  @media (min-width: 992px) {
    .author-box-sidebar {
      position: absolute;
      top: 0;
      left: 0;
      max-width: calc( ( 100% - 45rem - 5rem ) / 2);
      padding-right: 1.25rem;
      border-right: 1px solid rgba(0, 0, 0, 0.07);
      border-bottom: none; } }
  .author-box-sidebar .rounded_image img {
    border-radius: 50%;
    max-width: 3.8125rem;
    max-height: 3.8125rem;
    width: 100%;
    display: block;
    -o-object-fit: cover;
       object-fit: cover; }
  .author-box-sidebar h5 {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300; }
  .author-box-sidebar .position {
    color: #0E60C3;
    font-size: 0.875rem; }
  .author-box-sidebar .bio {
    font-size: 0.75rem; }

.subscribe_box {
  background: linear-gradient(18deg, #BCF491 -31.64%, #9DEAA8 1.99%, #6ED586 30.55%, #2C4A85 90.2%);
  border: 1px solid #000000;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 0.25rem;
  padding: 2.8125rem 5rem 3.4375rem 5rem;
  color: #fff;
  margin: 3.75rem 0; }
  .subscribe_box h5 {
    font-size: 1.5rem;
    font-weight: bold; }
  .subscribe_box p {
    font-size: 1rem; }

.subscribe_box_sidebar {
  display: none; }
  @media (min-width: 992px) {
    .subscribe_box_sidebar {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: calc( ( 100% - 45rem - 5rem ) / 2); } }

.single-blog-related-articles {
  padding: 3.75rem 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(84.11%, rgba(110, 213, 134, 0.2)), to(rgba(110, 213, 134, 0)));
  background: linear-gradient(180deg, rgba(110, 213, 134, 0.2) 84.11%, rgba(110, 213, 134, 0) 100%); }
  @media (min-width: 768px) {
    .single-blog-related-articles {
      padding: 4.375rem 0;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(110, 213, 134, 0.2)), to(rgba(110, 213, 134, 0)));
      background: linear-gradient(180deg, rgba(110, 213, 134, 0.2) 0%, rgba(110, 213, 134, 0) 100%); } }
  .single-blog-related-articles .section-title {
    text-align: center;
    margin-bottom: 2.5rem;
    font-size: 1.625rem; }
    @media (min-width: 992px) {
      .single-blog-related-articles .section-title {
        margin-bottom: 3.125rem;
        font-size: 2rem; } }
  .single-blog-related-articles .related-posts-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (min-width: 768px) {
      .single-blog-related-articles .related-posts-wrapper {
        gap: 2.1875rem;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media (min-width: 992px) {
      .single-blog-related-articles .related-posts-wrapper {
        gap: 2.8125rem; } }
    .single-blog-related-articles .related-posts-wrapper .related-article {
      border-radius: 0.25rem;
      overflow: hidden;
      -webkit-filter: drop-shadow(0px 10px 15px rgba(110, 213, 134, 0.1));
              filter: drop-shadow(0px 10px 15px rgba(110, 213, 134, 0.1)); }
      .single-blog-related-articles .related-posts-wrapper .related-article .image-part {
        min-height: 11.5625rem;
        background-repeat: no-repeat;
        background-size: cover;
        border-radius: 0.25rem;
        margin-bottom: 1.25rem; }
      .single-blog-related-articles .related-posts-wrapper .related-article .content-part {
        text-align: center; }
        .single-blog-related-articles .related-posts-wrapper .related-article .content-part .post-title {
          margin: 0 0 0.5625rem 0;
          font-size: 1.25rem; }
          @media (min-width: 992px) {
            .single-blog-related-articles .related-posts-wrapper .related-article .content-part .post-title {
              margin: 0 0 0.75rem 0;
              font-size: 1.625rem; } }
        .single-blog-related-articles .related-posts-wrapper .related-article .content-part .entry_meta .entry_meta_info {
          font-size: 0.75rem;
          color: #2F3B3B;
          font-weight: 400; }

body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5; }

a {
  color: #0086e6;
  text-decoration: none; }
  a:visited {
    color: #1a9fff; }
  a:hover, a:focus, a:active {
    color: #6d6d6d; }
  a:focus {
    outline: 0; }
  a:hover, a:active {
    outline: 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins';
  font-weight: bold;
  color: #243D6E;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.5rem; }

h1 {
  font-size: 2.875rem; }
  @media (min-width: 1280px) {
    h1 {
      font-size: 3.75rem; } }

h2 {
  font-size: 2.25rem; }
  @media (min-width: 1280px) {
    h2 {
      font-size: 3rem; } }

h3 {
  font-size: 1.5rem; }
  @media (min-width: 1280px) {
    h3 {
      font-size: 1.875rem; } }

h4 {
  font-size: 1.125rem; }
  @media (min-width: 1280px) {
    h4 {
      font-size: 1.3125rem; } }

h5, h6 {
  font-size: 1.125rem; }

p {
  font-size: 1rem;
  margin-bottom: 0.875rem;
  color: #707B96;
  font-weight: 500; }
  @media (min-width: 768px) {
    p {
      font-size: 1.125rem; } }
  @media (min-width: 1280px) {
    p {
      font-size: 1.125rem; } }

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em; }

dfn, cite, em, i {
  font-style: italic; }

blockquote {
  margin: 0 1.5em; }

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em; }

code, kbd, tt, var {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 15px;
  font-size: 0.9375rem; }

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help; }

mark, ins {
  background: #fff9c0;
  text-decoration: none; }

big {
  font-size: 125%; }

small {
  font-size: 0.625em; }

.accent {
  font-size: 1em;
  font-weight: 700;
  text-decoration: none; }
  .accent.small {
    font-size: 0.75em;
    display: block;
    text-align: center;
    margin-top: 1em; }

@font-face {
  font-family: 'Avenir Next';
  src: url("../fonts/AvenirNextLTPro-Regular.woff2") format("woff2"), url("../fonts/AvenirNextLTPro-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Avenir Next';
  src: url("../fonts/AvenirNextLTPro-Bold.woff2") format("woff2"), url("../fonts/AvenirNextLTPro-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Avenir Next';
  src: url("../fonts/AvenirNextLTPro-It.woff2") format("woff2"), url("../fonts/AvenirNextLTPro-It.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-Black.woff2") format("woff2"), url("../fonts/Poppins/Poppins-Black.woff2") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-ExtraBold.woff2") format("woff2"), url("../fonts/Poppins/Poppins-ExtraBold.woff2") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-Bold.woff2") format("woff2"), url("../fonts/Poppins/Poppins-Bold.woff2") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-SemiBold.woff2") format("woff2"), url("../fonts/Poppins/Poppins-SemiBold.woff2") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-Medium.woff2") format("woff2"), url("../fonts/Poppins/Poppins-Medium.woff2") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-Regular.woff2") format("woff2"), url("../fonts/Poppins/Poppins-Regular.woff2") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-Light.woff2") format("woff2"), url("../fonts/Poppins/Poppins-Light.woff2") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Poppins';
  src: url("../fonts/Poppins/Poppins-Thin.woff2") format("woff2"), url("../fonts/Poppins/Poppins-Thin.woff2") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-Black.woff2") format("woff2"), url("../fonts/Inter/Inter-Black.woff2") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-ExtraBold.woff2") format("woff2"), url("../fonts/Inter/Inter-ExtraBold.woff2") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-Bold.woff2") format("woff2"), url("../fonts/Inter/Inter-Bold.woff2") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-SemiBold.woff2") format("woff2"), url("../fonts/Inter/Inter-SemiBold.woff2") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-Medium.woff2") format("woff2"), url("../fonts/Inter/Inter-Medium.woff2") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-Regular.woff2") format("woff2"), url("../fonts/Inter/Inter-Regular.woff2") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-Light.woff2") format("woff2"), url("../fonts/Inter/Inter-Light.woff2") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Inter';
  src: url("../fonts/Inter/Inter-Thin.woff2") format("woff2"), url("../fonts/Inter/Inter-Thin.woff2") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

ul, ol {
  margin: 0 0 1rem 0;
  padding: 0 0 0 1rem; }

ol {
  list-style: decimal; }

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em; }

dt {
  font-weight: bold; }

dd {
  margin: 0 1.5em 1.5em; }

.pagination_wrap {
  padding-top: 1.25rem; }
  .pagination_wrap ul {
    list-style: none outside none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .pagination_wrap ul li.active {
      background: #e6e6e6; }
    .pagination_wrap ul li a {
      border: 1px solid #e6e6e6;
      display: inline-block;
      padding: 7px 9px 5px;
      line-height: 1;
      margin: 0 4px; }

table {
  margin: 0 0 1.5em;
  width: 100%; }

.table-wrapper {
  overflow-x: auto;
  margin: 0 0 20px;
  overflow-y: hidden; }

/*--------------------------------------------------------------
# Gutenberg
--------------------------------------------------------------*/
.has-grey-text-color {
  color: #646464; }

.has-grey-text-background-color {
  background-color: #646464; }

.has-dark-grey-color {
  color: #333333; }

.has-dark-grey-background-color {
  background-color: #333333; }

.has-primary-color-color {
  color: #4887F2; }

.has-primary-color-background-color {
  background-color: #4887F2; }

.has-secondary-color-color {
  color: #4887F2; }

.has-secondary-color-background-color {
  background-color: #4887F2; }

.has-white-color {
  color: #FFFFFF; }

.has-white-background-color {
  background-color: #FFFFFF; }

.has-black-color {
  color: #000000; }

.has-black-background-color {
  background-color: #000000; }

/**
 * Font sizes.
 *
 * Two sets, once for mobile and one for desktop. Feel free to add or remove if needed
 */
.has-xs-font-size {
  font-size: 0.75rem; }

.has-s-font-size {
  font-size: 0.875rem; }

.has-d-font-size {
  font-size: 1rem; }

.has-m-font-size {
  font-size: 1.125rem; }

.has-l-font-size {
  font-size: 1.5rem; }

.has-xl-font-size {
  font-size: 1.75rem; }

.has-xxl-font-size {
  font-size: 2.25rem; }

.has-xxxl-font-size {
  font-size: 2.875rem; }

@media (min-width: 768px) {
  .has-xs-font-size {
    font-size: 0.875rem; }
  .has-s-font-size {
    font-size: 1rem; }
  .has-d-font-size {
    font-size: 1.125rem; }
  .has-m-font-size {
    font-size: 1.3125rem; }
  .has-l-font-size {
    font-size: 1.625rem; }
  .has-xl-font-size {
    font-size: 1.875rem; }
  .has-xxl-font-size {
    font-size: 2.375rem; }
  .has-xxxl-font-size {
    font-size: 3rem; } }

@media (min-width: 1280px) {
  .has-xs-font-size {
    font-size: 0.875rem; }
  .has-s-font-size {
    font-size: 1rem; }
  .has-d-font-size {
    font-size: 1.125rem; }
  .has-m-font-size {
    font-size: 1.3125rem; }
  .has-l-font-size {
    font-size: 1.875rem; }
  .has-xl-font-size {
    font-size: 2.25rem; }
  .has-xxl-font-size {
    font-size: 3rem; }
  .has-xxxl-font-size {
    font-size: 3.75rem; } }

.wp-block-group.is-style-s-section-padding {
  padding: 1.25rem 0; }
  @media (min-width: 992px) {
    .wp-block-group.is-style-s-section-padding {
      padding: 2.5rem 0; } }

.wp-block-group.is-style-m-section-padding {
  padding: 2.5rem 0; }
  @media (min-width: 992px) {
    .wp-block-group.is-style-m-section-padding {
      padding: 3.75rem 0; } }

.wp-block-group.is-style-l-section-padding {
  padding: 3.125rem 0; }
  @media (min-width: 992px) {
    .wp-block-group.is-style-l-section-padding {
      padding: 5rem 0; } }

.wp-block-image.is-style-rounded-circle img {
  border-radius: 50%; }

.has-blue-gradient-gradient-background {
  background: -webkit-gradient(linear, left top, right top, from(#CFE0F4), color-stop(47.72%, rgba(207, 224, 244, 0.52)), to(rgba(207, 224, 244, 0.1)));
  background: linear-gradient(90deg, #CFE0F4 0%, rgba(207, 224, 244, 0.52) 47.72%, rgba(207, 224, 244, 0.1) 100%); }

.wp-block-cover.alignfull {
  padding: 0; }
  .wp-block-cover.alignfull .wp-block-cover__inner-container {
    width: 100%; }

.columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .columns .column {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    padding-bottom: 0.9375rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; }
    @media (min-width: 768px) {
      .columns .column {
        padding-top: 0.9375rem; } }
    .columns .column.flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
  @media (min-width: 768px) {
    .columns.grid_2 .column {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }
  @media (min-width: 768px) {
    .columns.grid_3 .column {
      width: 33.333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%; } }
  @media (min-width: 768px) {
    .columns.grid_4 .column {
      width: 50%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  @media (min-width: 992px) {
    .columns.grid_4 .column {
      width: 25%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%; } }
  @media (min-width: 768px) {
    .columns.grid_5 .column {
      width: 20%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%; } }
  @media (min-width: 992px) {
    .columns.grid_5 .column {
      width: 20%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%; } }

.wp-block-rank-math-toc-block {
  background: #F6F9FF;
  padding: 1.5625rem 2.1875rem;
  position: relative; }
  @media (min-width: 992px) {
    .wp-block-rank-math-toc-block {
      padding: 2.5rem 3.4375rem; } }
  .wp-block-rank-math-toc-block:before {
    content: '';
    position: absolute;
    left: -100%;
    top: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(85%, white), color-stop(90%, rgba(255, 255, 255, 0.899619)), color-stop(95%, rgba(255, 255, 255, 0.795978)), to(rgba(255, 255, 255, 0.20214)));
    background: linear-gradient(180deg, white 0%, white 85%, rgba(255, 255, 255, 0.899619) 90%, rgba(255, 255, 255, 0.795978) 95%, rgba(255, 255, 255, 0.20214) 100%);
    z-index: 2;
    height: 100%;
    width: 100%; }
  .wp-block-rank-math-toc-block h2 {
    margin: 0 0 2rem 0;
    font-size: 1.625rem; }
    @media (min-width: 992px) {
      .wp-block-rank-math-toc-block h2 {
        margin: 0 0 2.8125rem 0;
        font-size: 2rem; } }
  .wp-block-rank-math-toc-block ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.875rem;
    list-style: none; }
    .wp-block-rank-math-toc-block ul li {
      counter-increment: step-counter;
      position: relative;
      font-size: 1.25rem;
      font-weight: 300;
      color: #1A1E22; }
      .wp-block-rank-math-toc-block ul li:before {
        content: counter(step-counter) ".";
        font-size: 1.25rem;
        position: absolute;
        right: 100%;
        top: 0; }
      .wp-block-rank-math-toc-block ul li a {
        color: #1A1E22;
        padding-left: 0.3125rem;
        display: block; }

.table-of-contents-sidebar {
  display: none; }
  @media (min-width: 992px) {
    .table-of-contents-sidebar {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      max-width: calc( ( 100% - 45rem - 5rem ) / 2);
      opacity: 0; }
      .table-of-contents-sidebar h2 {
        text-transform: uppercase;
        font-size: 1rem; }
      .table-of-contents-sidebar .content-element-row:not(:last-of-type) {
        margin-bottom: 0.625rem; }
      .table-of-contents-sidebar .content-element-row.active .content-heading span {
        color: #fff; }
        .table-of-contents-sidebar .content-element-row.active .content-heading span:before {
          background: blue; }
      .table-of-contents-sidebar .content-element-row.active .content-heading a {
        text-decoration: underline; }
      .table-of-contents-sidebar .content-element-row .content-heading {
        font-size: 0.875rem;
        color: #1A1E22;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 1.25rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .table-of-contents-sidebar .content-element-row .content-heading span {
          position: relative;
          max-width: 1.25rem;
          text-align: center;
          font-size: 0.75rem;
          line-height: 1.3125rem; }
          .table-of-contents-sidebar .content-element-row .content-heading span:before {
            content: "";
            background: red;
            width: 1.3125rem;
            height: 1.3125rem;
            position: absolute;
            border-radius: 50%;
            z-index: -1;
            left: 50%;
            top: 50%;
            -webkit-transform: translate(-50%, -50%);
                    transform: translate(-50%, -50%); }
        .table-of-contents-sidebar .content-element-row .content-heading a {
          color: #1A1E22; } }

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

@media (min-width: 992px) {
  .container-smaller {
    max-width: 38.125rem;
    margin: 0 auto; } }

.align-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }

.max-width-980 {
  max-width: 61.25rem;
  margin: 0 auto; }

.clear-margin {
  margin: 0; }

.page-404 .page-title {
  font-size: 2.25rem; }

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link {
  border: 0 none;
  border-radius: 1.55em;
  background: #32373c;
  color: #fff;
  font-size: 1rem;
  padding: .667em 1.333em;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out; }
  button:hover,
  .button:hover,
  input[type="button"]:hover,
  input[type="reset"]:hover,
  input[type="submit"]:hover,
  .wp-block-button__link:hover {
    background: #3b4147; }
  button:active, button:focus,
  .button:active,
  .button:focus,
  input[type="button"]:active,
  input[type="button"]:focus,
  input[type="reset"]:active,
  input[type="reset"]:focus,
  input[type="submit"]:active,
  input[type="submit"]:focus,
  .wp-block-button__link:active,
  .wp-block-button__link:focus {
    background: #454b52; }
  button:disabled, button[disabled],
  button .disabled,
  .button:disabled,
  .button[disabled],
  .button .disabled,
  input[type="button"]:disabled,
  input[type="button"][disabled],
  input[type="button"] .disabled,
  input[type="reset"]:disabled,
  input[type="reset"][disabled],
  input[type="reset"] .disabled,
  input[type="submit"]:disabled,
  input[type="submit"][disabled],
  input[type="submit"] .disabled,
  .wp-block-button__link:disabled,
  .wp-block-button__link[disabled],
  .wp-block-button__link .disabled {
    opacity: 0.4;
    cursor: not-allowed; }

.button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.25rem 0; }
  .button-wrapper.clear-margin {
    margin: 0; }
  @media (min-width: 992px) {
    .button-wrapper.book-visit {
      max-width: 31.25rem; } }
  .button-wrapper.book-visit a {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    padding: 1.125rem 1.875rem; }
    .button-wrapper.book-visit a:before {
      content: url("../icons/arrow.svg");
      width: 0.75rem;
      height: 1.125rem;
      position: absolute;
      right: 1.875rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
  .button-wrapper .default-button {
    padding: 0.75rem 2.1875rem;
    background: #4887F2;
    color: #fff;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1;
    border-radius: 0.5rem; }
    @media (min-width: 992px) {
      .button-wrapper .default-button {
        padding: 1.125rem 2.25rem; } }
  .button-wrapper .clear-button {
    color: #4887F2;
    font-size: 1rem;
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.5rem; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  padding: 3px;
  border-radius: 6px;
  min-height: 40px;
  -webkit-transition: 300ms all;
  transition: 300ms all; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="url"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="number"]:focus,
  input[type="tel"]:focus,
  input[type="range"]:focus,
  input[type="date"]:focus,
  input[type="month"]:focus,
  input[type="week"]:focus,
  input[type="time"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="color"]:focus,
  textarea:focus {
    color: #111;
    -webkit-transition: 300ms all;
    transition: 300ms all;
    outline: none; }

select {
  border: 1px solid #ccc; }

textarea {
  width: 100%; }

.menu_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media (min-width: 992px) {
    .menu_wrapper {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .menu_wrapper .main-navigation {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    clear: both;
    display: block; }
    @media (min-width: 992px) {
      .menu_wrapper .main-navigation {
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0; } }
    .menu_wrapper .main-navigation .site-nav-wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .menu_wrapper .main-navigation.toggled ul#primary-menu {
      max-height: 100vh;
      height: calc(100vh - 3.75rem); }
      .menu_wrapper .main-navigation.toggled ul#primary-menu .sub-menu {
        max-height: 0; }
    .menu_wrapper .main-navigation ul#primary-menu {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 2.1875rem; }
      .menu_wrapper .main-navigation ul#primary-menu li .button-wrapper {
        margin: 0; }
        .menu_wrapper .main-navigation ul#primary-menu li .button-wrapper a {
          color: #fff;
          padding: 1.125rem 2.25rem; }
      .menu_wrapper .main-navigation ul#primary-menu li a {
        color: #707B96;
        font-size: 1rem;
        font-weight: 400;
        padding: 0.75rem 1.5rem; }
        .menu_wrapper .main-navigation ul#primary-menu li a.default-button {
          font-weight: 600; }
      .menu_wrapper .main-navigation ul#primary-menu li.current_page_item a {
        font-weight: 600;
        font-size: 1.125rem;
        color: #243D6E; }
      .menu_wrapper .main-navigation ul#primary-menu li:first-of-type a {
        margin-top: 0.75rem; }
      .menu_wrapper .main-navigation ul#primary-menu li#boon-now-button {
        padding: 0.75rem 1.5rem; }
        @media (min-width: 992px) {
          .menu_wrapper .main-navigation ul#primary-menu li#boon-now-button {
            padding: 0; } }
      @media (min-width: 992px) {
        .menu_wrapper .main-navigation ul#primary-menu {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          list-style: none;
          margin: 0;
          padding-left: 0; }
          .menu_wrapper .main-navigation ul#primary-menu li {
            position: relative; }
            .menu_wrapper .main-navigation ul#primary-menu li:first-of-type a {
              margin-top: 0; }
            .menu_wrapper .main-navigation ul#primary-menu li#boon-now-button {
              padding: 0; }
              .menu_wrapper .main-navigation ul#primary-menu li#boon-now-button .button-wrapper {
                margin: 0; }
                .menu_wrapper .main-navigation ul#primary-menu li#boon-now-button .button-wrapper a {
                  padding: 1.125rem 2.25rem; }
            .menu_wrapper .main-navigation ul#primary-menu li a {
              padding: 0.75rem 0 0.75rem 1rem;
              height: 100%;
              display: block; }
            .menu_wrapper .main-navigation ul#primary-menu li ul {
              padding: 0;
              margin: 0;
              position: absolute;
              top: 100%;
              opacity: 0;
              pointer-events: none;
              -webkit-transition: opacity 0.2s ease-out;
              transition: opacity 0.2s ease-out;
              background: #fff; }
              .menu_wrapper .main-navigation ul#primary-menu li ul li {
                list-style: none; }
                .menu_wrapper .main-navigation ul#primary-menu li ul li a {
                  display: block;
                  margin: 0;
                  padding: 0.5rem 0.9rem;
                  line-height: 1.3;
                  width: 100%;
                  min-width: 10rem; }
                .menu_wrapper .main-navigation ul#primary-menu li ul li:first-child a {
                  padding-top: 0.8rem; }
                .menu_wrapper .main-navigation ul#primary-menu li ul li:last-child a {
                  padding-bottom: 0.8rem; }
            .menu_wrapper .main-navigation ul#primary-menu li:hover ul {
              pointer-events: all;
              opacity: 1; } }
      @media (max-width: 991px) {
        .menu_wrapper .main-navigation ul#primary-menu {
          opacity: 1;
          visibility: visible;
          position: absolute;
          width: 100%;
          left: 0;
          overflow-x: hidden;
          overflow-y: auto;
          background: white;
          z-index: 5;
          top: 3.75rem;
          -webkit-transition: max-height 0.2s ease-out;
          transition: max-height 0.2s ease-out;
          max-height: 0;
          padding-left: 0; }
          .menu_wrapper .main-navigation ul#primary-menu .menu-item-has-children:after {
            content: "";
            background-image: url(../icons/down-chevron.svg);
            background-size: contain;
            background-repeat: no-repeat;
            position: absolute;
            right: 1.4375rem;
            top: 1.55em;
            width: 1rem;
            height: 1rem;
            -webkit-transform: rotate(-90deg);
                    transform: rotate(-90deg);
            -webkit-transition: all 0.25s ease-out;
            transition: all 0.25s ease-out;
            z-index: -1; }
          .menu_wrapper .main-navigation ul#primary-menu .menu-item-has-children .sub-menu {
            max-height: 0;
            -webkit-transition: max-height 0.15s 0.15s, padding 0.15s 0.15s, margin 0.15s 0.15s;
            transition: max-height 0.15s 0.15s, padding 0.15s 0.15s, margin 0.15s 0.15s;
            margin-left: 0;
            padding-left: 0; }
            .menu_wrapper .main-navigation ul#primary-menu .menu-item-has-children .sub-menu li a {
              font-size: 1rem;
              padding: 1em 1.5625rem;
              font-weight: normal; }
          .menu_wrapper .main-navigation ul#primary-menu .menu-item-has-children.focus > .sub-menu {
            max-height: 31.25rem; }
          .menu_wrapper .main-navigation ul#primary-menu .menu-item-has-children.focus:after {
            -webkit-transform: rotate(0deg);
                    transform: rotate(0deg); }
          .menu_wrapper .main-navigation ul#primary-menu > li > a {
            text-transform: uppercase; }
          .menu_wrapper .main-navigation ul#primary-menu li {
            max-height: 43.75rem;
            width: 100%;
            display: block;
            position: relative;
            margin: 0;
            overflow: hidden;
            -webkit-transition: max-height 0.15s 0.15s, padding 0.15s 0.15s, margin 0.15s 0.15s;
            transition: max-height 0.15s 0.15s, padding 0.15s 0.15s, margin 0.15s 0.15s;
            font-weight: bold;
            font-size: 1.0625em;
            text-align: right; }
            .menu_wrapper .main-navigation ul#primary-menu li:last-child {
              border-bottom: 0px solid #646464; }
            .menu_wrapper .main-navigation ul#primary-menu li:not(#boon-now-button) a {
              border-radius: 30px;
              color: #646464;
              -webkit-transition: max-height 0.15s 0.15s, padding 0.15s 0.15s, margin 0.15s 0.15s;
              transition: max-height 0.15s 0.15s, padding 0.15s 0.15s, margin 0.15s 0.15s;
              font-weight: bold;
              display: block;
              text-align: left; } }
    @media (max-width: 991px) and (min-width: 992px) {
      .menu_wrapper .main-navigation ul#primary-menu li ul {
        margin: -1rem 0 0 0; } }
      @media (max-width: 991px) {
            .menu_wrapper .main-navigation ul#primary-menu li ul li {
              border-bottom: 0 none; }
              .menu_wrapper .main-navigation ul#primary-menu li ul li a {
                padding: 0.3em 2.25rem 0.3em 0; }
              .menu_wrapper .main-navigation ul#primary-menu li ul li:first-child a {
                padding-top: 0.6rem; }
              .menu_wrapper .main-navigation ul#primary-menu li ul li:last-child a {
                padding-bottom: 0.6rem; } }

.fixed .menu_wrapper .main-navigation ul#primary-menu {
  top: 3.1em; }

/* Small menu. */
.menu-toggle.toggled ul,
.main-navigation.toggled ul {
  max-height: 31.25em; }

@media (min-width: 992px) {
  .menu-toggle {
    display: none; } }

.hamburger {
  width: 1.9375rem;
  height: 1.25rem;
  position: relative;
  float: right;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  .hamburger span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #333333;
    border-radius: 0;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: 0.25s ease-in-out;
    transition: 0.25s ease-in-out; }
    .hamburger span:nth-child(1) {
      top: 0px; }
    .hamburger span:nth-child(2) {
      top: 0.625rem; }
    .hamburger span:nth-child(3) {
      top: 1.25rem; }
  .hamburger.open span:nth-child(1) {
    top: 0.625rem;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  .hamburger.open span:nth-child(2) {
    opacity: 0;
    left: -rem(-60); }
  .hamburger.open span:nth-child(3) {
    top: 0.625rem;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
    width: 100%; }

.site-header-cart {
  position: relative;
  margin-right: 0; }
  @media (min-width: 992px) {
    .site-header-cart {
      margin-left: initial; } }
  .site-header-cart.opened .cart-popup {
    display: block;
    z-index: 100;
    opacity: 1;
    height: auto;
    pointer-events: all; }
  .site-header-cart .cart-popup {
    display: block;
    opacity: 0;
    z-index: -100;
    position: absolute;
    top: 115%;
    right: 0;
    background: #fff;
    height: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
    width: 18.75em;
    padding: 1em;
    border-radius: 0.5em;
    -webkit-box-shadow: 0 19px 48px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0 19px 48px 0px rgba(0, 0, 0, 0.2);
    max-height: calc(100vh - 220px);
    overflow-y: scroll;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none; }
    .site-header-cart .cart-popup::-webkit-scrollbar {
      /* WebKit */
      width: 0;
      height: 0; }

.cart-contents {
  cursor: pointer;
  background: url(../icons/shopping-bag.svg);
  background-repeat: no-repeat;
  width: 1.6875em;
  height: 1.875em;
  background-size: contain;
  position: relative;
  display: block; }
  @media (min-width: 992px) {
    .cart-contents {
      margin-left: 2em;
      margin-right: 0; } }
  .cart-contents span.amount {
    display: none; }
  .cart-contents span.count {
    position: absolute;
    text-align: center;
    line-height: 19px;
    width: 20px;
    height: 20px;
    font-size: 12px;
    background: #646464;
    border-radius: 100%;
    top: -10px;
    left: -10px;
    color: #fff;
    font-weight: bold; }
  .cart-contents .cart-items[data-items="0"] {
    display: none; }

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
  .screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
            box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    -webkit-clip-path: none;
            clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */ }

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0; }

/*--------------------------------------------------------------
# Modules
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em; }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw; }

.alignwide {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
  padding-left: 1.875em;
  padding-right: 1.875em; }
  @media (max-width: 360px) {
    .alignwide {
      padding-left: 0.9375em;
      padding-right: 0.9375em; } }
  @media (min-width: 1280px) {
    .alignwide {
      margin-left: calc(50% - 600px);
      margin-right: calc(50% - 600px);
      max-width: 75rem;
      width: 75rem; } }

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed; }

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both; }

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0; }

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%; }

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */ }

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */ }

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .wp-caption .wp-caption-text {
    margin: 0.8075em 0; }

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

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em; }

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%; }
  .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%; }
  .gallery-columns-4 .gallery-item {
    max-width: 25%; }
  .gallery-columns-5 .gallery-item {
    max-width: 20%; }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%; }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%; }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%; }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%; }

.gallery-caption {
  display: block; }

@media (min-width: 768px) {
  .show-xs {
    display: none; } }

@media (max-width: 767px) {
  .hide-xs {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpdGUuc2NzcyIsInNpdGUuY3NzIiwidmFyaWFibGVzL19zaXppbmctZnVuY3Rpb25zLnNjc3MiLCJfbm9ybWFsaXplLnNjc3MiLCJsYXlvdXQvX2dlbmVyYWwuc2NzcyIsInZhcmlhYmxlcy9fdGhlbWUtY29uZmlnLnNjc3MiLCJ2YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2NzcyIsInZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsInZhcmlhYmxlcy9fc3RydWN0dXJlLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibWl4aW5zL19taXhpbnMtbWFzdGVyLnNjc3MiLCJ2YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fd2lkZ2V0cy5zY3NzIiwibGF5b3V0L19ibG9nLnNjc3MiLCJ0eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCJ0eXBvZ3JhcGh5L19mb250X2ZhY2VzLnNjc3MiLCJlbGVtZW50cy9fZWxlbWVudHMuc2NzcyIsImVsZW1lbnRzL19saXN0cy5zY3NzIiwiZWxlbWVudHMvX3RhYmxlcy5zY3NzIiwiZ3V0ZW5iZXJnL19ndXRlbl9mb250X2NvbG9yX3ZhcmlhYmxlcy5zY3NzIiwiZ3V0ZW5iZXJnL19ibG9ja19zdHlsZXMuc2NzcyIsImd1dGVuYmVyZy9fZ3V0ZW5iZXJnLnNjc3MiLCJmb3Jtcy9fYnV0dG9ucy5zY3NzIiwiZm9ybXMvX2ZpZWxkcy5zY3NzIiwibmF2aWdhdGlvbi9fbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwibW9kdWxlcy9fYWxpZ25tZW50cy5zY3NzIiwibW9kdWxlcy9fY2xlYXJpbmdzLnNjc3MiLCJtZWRpYS9fbWVkaWEuc2NzcyIsIm1lZGlhL19jYXB0aW9ucy5zY3NzIiwibWVkaWEvX2dhbGxlcmllcy5zY3NzIiwidmFyaWFibGVzL19jb2x1bW5zLnNjc3MiLCJsYXlvdXQvX3Zpc2liaWxpdHkuc2NzcyJdLCJuYW1l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b0I7RUFDcEIsZUFBZSxFQUFBO0VBRmhCO0lwQjJCQyxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBO0VvQjdCbkI7SUFTRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDQyxrQkFBa0IsRUFBQTs7QURrQm5COzsrRDVCdzdEK0Q7QThCeDlEL0Q7RUFDQyxvQkFBb0IsRUFBQTs7QUFHckI7RUFDQyxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixXQUFXLEVBQUE7RUFJVjtJQUNDLGNDWFcsRUFBQTtFRFVaO0lBQ0MsaUJDVmMsRUFBQTtFRFNmO0lBQ0MsY0NUVyxFQUFBO0VEUVo7SUFDQyxjQ1JXLEVBQUE7RURPWjtJQUNDLGlCQ1BjLEVBQUE7RURNZjtJQUNDLGlCQ05jLEVBQUE7RURLZjtJQUNDLGdCQ0xhLEVBQUE7RURJZDtJQUNDLGlCQ0pjLEVBQUE7O0FEU2pCO0VBQ0MsY0FBYyxFQUFBOztBeEI0Qlg7RTBCN0NKO0lBRUksYUFBYSxFQUFBLEVBRWhCOztBMUJtQ0c7RTBCakNKO0lBRUksYUFBYSxFQUFBLEVBRWhCIiwiZmlsZSI6InNpdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG5UaGVtZSBOYW1lOiBXZWJpeiBTdGFydGVyXG5UaGVtZSBVUkk6IGh0dHA6Ly93ZWJpei50ZWFtXG5BdXRob3I6IFdlYml6IFRlYW1cbkF1dGhvciBVUkk6IGh0dHBzOi8vd2ViaXoudGVhbS9cbkRlc2NyaXB0aW9uOiBXZWJpeiBTdGFydGVyIFRoZW1lXG5WZXJzaW9uOiAxLjAuMFxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiBMSUNFTlNFXG5UZXh0IERvbWFpbjogY3ZfbXVsdGlzaXRlXG5cbiovXG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXMvdmFyaWFibGVzLXNpdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbWl4aW5zLW1hc3RlclwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWFpbiBMYXlvdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vQGltcG9ydCBcImZsZXhib3hncmlkL2ZsZXhncmlkXCI7XG5cbkBpbXBvcnQgXCJsYXlvdXQvZ2VuZXJhbFwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvZm9vdGVyXCI7XG5AaW1wb3J0IFwibGF5b3V0L3dpZGdldHNcIjtcbkBpbXBvcnQgXCJsYXlvdXQvYmxvZ1wiO1xuXG5AaW1wb3J0IFwidHlwb2dyYXBoeS90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS9mb250X2ZhY2VzXCI7XG5cbkBpbXBvcnQgXCJlbGVtZW50cy9lbGVtZW50c1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEd1dGVuYmVyZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbkBpbXBvcnQgXCJndXRlbmJlcmcvZ3V0ZW5iZXJnXCI7XG5AaW1wb3J0IFwiZm9ybXMvZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZpZ2F0aW9uL25hdmlnYXRpb25cIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBY2Nlc3NpYmlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibW9kdWxlcy9hY2Nlc3NpYmlsaXR5XCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTW9kdWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm1vZHVsZXMvYWxpZ25tZW50c1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvY2xlYXJpbmdzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWVkaWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJtZWRpYS9tZWRpYVwiO1xuQGltcG9ydCBcImxheW91dC92aXNpYmlsaXR5XCI7XG5cblxuXG4iLCIvKiFcblRoZW1lIE5hbWU6IFdlYml6IFN0YXJ0ZXJcblRoZW1lIFVSSTogaHR0cDovL3dlYml6LnRlYW1cbkF1dGhvcjogV2ViaXogVGVhbVxuQXV0aG9yIFVSSTogaHR0cHM6Ly93ZWJpei50ZWFtL1xuRGVzY3JpcHRpb246IFdlYml6IFN0YXJ0ZXIgVGhlbWVcblZlcnNpb246IDEuMC4wXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IExJQ0VOU0VcblRleHQgRG9tYWluOiBjdl9tdWx0aXNpdGVcblxuKi9cbi8qKlxuICogU3RyaXBzIHRoZSB1bml0IGZyb20gYSBnaXZlbiBudW1iZXItdW5pdC1jb21iaW5hdGlvbiBhbmQgcmV0dXJucyB0aGUgbnVtYmVyLlxuICogQGxpbms6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzEyMzM1ODQxLzE3Nzk5OTlcbiAqIEB1c2FnZTogcGFyc2UtaW50KDEwcHgpID0+IDEwXG4gKi9cbi8qKlxuICAgKiBTaW1wbHkgYWRkcyB0aGUgZW0gdW5pdCB0byBhIGdpdmVuIG51bWJlci4gVGhpcyBpcyB1c2VkIHR3aWNlIGluIHRoZVxuICAgKiBmdW5jdGlvbiB1bmRlcm5lYXRoLCB0aHVzIHRoZSBuZWVkIGZvciBhIHNlcGFyYXRlIGZ1bmN0aW9uLlxuICAgKi9cbi8qKlxuICAgKiBDYWxjdWxhdGVzIGVtIHZhbHVlcyBmb3IgYSBnaXZlbiBsaXN0IG9mIChweCBvciBlbSkgdmFsdWVzIGFuZCBhIGdpdmVuIGVtXG4gICAqIGJhc2UuIE11bHRpcGx5IGJhc2UgdmFsdWVzIGZvciBuZXN0ZWQgZW0gc3RydWN0dXJlcyAobGFzdCBAdXNhZ2UgZXhhbXBsZSkuXG4gICAqIEB1c2FnZTogZW0oMTBweCwgMS4xMjUpID0+IC41NTU1NmVtXG4gICAqICAgICAgICAgZW0oMjRweCwgLjg3NWVtKSA9PiAxLjcxNDI5ZW1cbiAgICogICAgICAgICBlbSgxMnB4IDAgN2VtIHJnYmEoMCwgMCwgMCwgLjcpLCAxLjc1KSA9PiAuNDI4NTdlbSAwIDRlbSByZ2JhKDAsIDAsIDAsIDAuNylcbiAgICogICAgICAgICBlbSgxMnB4KSArIGVtKDNlbSkgPT4gMy43NWVtXG4gICAqICAgICAgICAgZW0oMjNweCwgZW0oNTNweCkpID0+IC40MzM5NmVtXG4gICAqICAgICAgICAgZW0oMjRweCwgMS41ICogMS4xMjUpID0+IC44ODg4OWVtXG4gICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBOb3JtYWxpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKlx0XHRgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBNYWluIExheW91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9XG5cbioge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4uY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciwgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMS44NzVlbTtcbiAgcGFkZGluZy1yaWdodDogMS44NzVlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAuY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciwgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhaW5lciwgLmFsaWduZnVsbCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogNDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciwgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiA1Ni4yNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciwgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiA5MyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmNvbnRhaW5lciwgLmFsaWduZnVsbCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5jb250YWluZXItaGVhZGVyLWZvb3RlciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhaW5lci1oZWFkZXItZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC4zNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjM3NXJlbTsgfSB9XG4gIC5jb250YWluZXItaGVhZGVyLWZvb3RlciAuY29sdW1uLmZsZXgge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmNvbnRhaW5lci1oZWFkZXItZm9vdGVyIC5jb2x1bW4uZmxleCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG5ib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogNDMuNzVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogNTYuMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICBib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4jcHJpbWFyeSB7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2l0ZS1jb250ZW50IHtcbiAgbWluLWhlaWdodDogNjV2aDtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuI3BhZ2UsIC5zaXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIge1xuICB0b3A6IDQ2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2UtaW4tb3V0OyB9XG4gIC5hZG1pbi1iYXIgLnNpdGUtaGVhZGVyLm5vdC1vbi10b3Age1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC8qIFRoZSBGYWxsYmFjayAqL1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5hZG1pbi1iYXIgLnNpdGUtaGVhZGVyLm5vdC1vbi10b3Age1xuICAgICAgICB0b3A6IDMycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYWRtaW4tYmFyIC5zaXRlLWhlYWRlciB7XG4gICAgICB0b3A6IDMycHg7IH1cbiAgICAgIC5hZG1pbi1iYXIgLnNpdGUtaGVhZGVyLm5vdC1vbi10b3Age1xuICAgICAgICB0b3A6IDMycHg7IH1cbiAgICAgICAgLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIubm90LW9uLXRvcC5oZWFkZXItaGlkZSB7XG4gICAgICAgICAgdG9wOiAtMy43NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuYWRtaW4tYmFyIC5zaXRlLWhlYWRlci5ub3Qtb24tdG9wLmhlYWRlci1oaWRlIHtcbiAgICAgICAgICB0b3A6IC00LjM3NXJlbTsgfSB9XG5cbi5zaXRlLWhlYWRlciB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5NTtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7IH1cbiAgLnNpdGUtaGVhZGVyLm5vdC1vbi10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC8qIFRoZSBGYWxsYmFjayAqL1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7IH1cbiAgLnNpdGUtaGVhZGVyLmhlYWRlci1oaWRlIHtcbiAgICB0b3A6IC0zLjc1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuc2l0ZS1oZWFkZXIuaGVhZGVyLWhpZGUge1xuICAgICAgICB0b3A6IC00LjM3NXJlbTsgfSB9XG4gIC5zaXRlLWhlYWRlciAuY29udGFpbmVyLCAuc2l0ZS1oZWFkZXIgLmFsaWduZnVsbCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyLCAuc2l0ZS1oZWFkZXIgLmFsaWduZnVsbCA+IC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLCAuc2l0ZS1oZWFkZXIgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgsIGJvZHkgLnNpdGUtaGVhZGVyIC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnNpdGUtaGVhZGVyIC5jb250YWluZXIgLmhlYWRlcl93cmFwcGVyLCAuc2l0ZS1oZWFkZXIgLmFsaWduZnVsbCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIC5oZWFkZXJfd3JhcHBlciwgLnNpdGUtaGVhZGVyIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciAuaGVhZGVyX3dyYXBwZXIsIC5zaXRlLWhlYWRlciBib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCAuaGVhZGVyX3dyYXBwZXIsIGJvZHkgLnNpdGUtaGVhZGVyIC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCAuaGVhZGVyX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgLmRvY3Rvci1uYW1lLWJyYW5kIGEge1xuICAgICAgY29sb3I6ICMyNDNENkU7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIGEgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5zaXRlLWhlYWRlciAubmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zaXRlLWhlYWRlciAuc2VhcmNoLXRyaWdnZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDQwNDA7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvc2VhcmNoLWljb24uc3ZnKTtcbiAgICBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvc2VhcmNoLWljb24uc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zaXRlLWhlYWRlciAuc2VhcmNoLWJhciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICB0b3A6IDQuMzc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoLWJhciBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaC1iYXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoLWJhclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBmb3JtIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMS44NzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoLWJhclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBmb3JtIGlucHV0IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiBpbml0aWFsOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaC1iYXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLnNlYXJjaC1pY29uIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3NlYXJjaC1pY29uLnN2Zyk7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9zZWFyY2gtaWNvbi5zdmcpO1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZzogMXJlbSAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogIzQ4ODdGMjtcbiAgY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDU1O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNpdGUtZm9vdGVyIC5zaXRlLWJyYW5kaW5nIC5kb2N0b3ItbmFtZS1icmFuZCBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuc2l0ZS1mb290ZXIgLmRvY3Rvci1zaG9ydC1pbmZvLXdyYXAge1xuICAgIG1heC13aWR0aDogMTguNzVyZW07IH1cbiAgICAuc2l0ZS1mb290ZXIgLmRvY3Rvci1zaG9ydC1pbmZvLXdyYXAgcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnNpdGUtZm9vdGVyIC5tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5tZW51IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAyLjE4NzVyZW07IH0gfVxuICAgIC5zaXRlLWZvb3RlciAubWVudSBsaSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgfVxuICAgICAgLnNpdGUtZm9vdGVyIC5tZW51IGxpIGEuZGVmYXVsdC1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzQ4ODdGMjsgfVxuICAuc2l0ZS1mb290ZXIgLnNvY2tldCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4MEJBQUM7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAgIC5zaXRlLWZvb3RlciAuc29ja2V0IC5zb2NrZXQtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuc2l0ZS1mb290ZXIgLnNvY2tldCAuc29ja2V0LXdyYXBwZXIge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgLnNpdGUtZm9vdGVyIC5zb2NrZXQgLnNvY2tldC13cmFwcGVyIC5zaXRlLWluZm8ge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAuc2l0ZS1mb290ZXIgLnNvY2tldCAuc29ja2V0LXdyYXBwZXIgLnNpdGUtaW5mbyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIC5zaXRlLWZvb3RlciAuc29ja2V0IC5zb2NrZXQtd3JhcHBlciAucHJpdmFjeS1tZW51ICNtZW51LXByaXZhY3ktbWVudS1mb290ZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAwLjYyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAuc2l0ZS1mb290ZXIgLnNvY2tldCAuc29ja2V0LXdyYXBwZXIgLnByaXZhY3ktbWVudSAjbWVudS1wcml2YWN5LW1lbnUtZm9vdGVyIHtcbiAgICAgICAgICAgIGdhcDogMi4xODc1cmVtO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gICAgICAgIC5zaXRlLWZvb3RlciAuc29ja2V0IC5zb2NrZXQtd3JhcHBlciAucHJpdmFjeS1tZW51ICNtZW51LXByaXZhY3ktbWVudS1mb290ZXIgbGkgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuc2l0ZS1mb290ZXIgLmZvb3Rlci1zb2NpYWwtaWNvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNpdGUtZm9vdGVyIC5mb290ZXItc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiB7XG4gICAgICB3aWR0aDogMS44NzVyZW07XG4gICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi53aWRnZXQge1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgLyogTWFrZSBzdXJlIHNlbGVjdCBlbGVtZW50cyBmaXQgaW4gd2lkZ2V0cy4gKi8gfVxuICAud2lkZ2V0IHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zaW5nbGUtY29udGFpbmVyLWlubmVyLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiA0NXJlbTsgfVxuXG4uYmxvZy1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2luZ2xlLWJsb2cge1xuICBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zaW5nbGUtYmxvZyB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4zNzVyZW07IH0gfVxuXG4uYmxvZy1zaW5nbGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAyNi44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjM4LjMyZGVnLCAjQkNGNDkxIC0zMS42NCUsICM5REVBQTggMS45OSUsICM2RUQ1ODYgMzAuNTUlLCAjMkM0QTg1IDkwLjIlKTsgfVxuICAuYmxvZy1zaW5nbGUtaGVhZGVyIC5ic2gtbWV0YSAuZW50cnlfbWV0YSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jYXRlZ29yeS1iYWRnZS12aWV3IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kOiAjMkM0QTg1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtIDA7IH1cblxuLmVudHJ5X21ldGEge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZW50cnlfbWV0YSAuZW50cnlfbWV0YV9pbmZvIHtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmVudHJ5X21ldGEgLmVudHJ5X21ldGFfaW5mbyAucmVhZF90aW1lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uYnNoLXNvY2lhbC1zaGFyZSAuc29jaWFsX3NoYXJlIC5rdF9zaGFyZV9zaG9ydGNvZGUgLmt0LXNvY2lhbHN0eWxlLXN0eWxlXzAzIGEge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwLjZyZW07IH1cbiAgLmJzaC1zb2NpYWwtc2hhcmUgLnNvY2lhbF9zaGFyZSAua3Rfc2hhcmVfc2hvcnRjb2RlIC5rdC1zb2NpYWxzdHlsZS1zdHlsZV8wMyBhOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hcnRpY2xlLnBvc3Qge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYXV0aG9yLWJveCB7XG4gIGJhY2tncm91bmQ6ICNGNkY5RkY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxLjA2MjVyZW07XG4gIHBhZGRpbmc6IDEuNTYyNXJlbTsgfVxuICAuYXV0aG9yLWJveCAuYXV0aG9yLWJveC1pbWFnZSB7XG4gICAgZmxleDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG1heC13aWR0aDogNi44NzVyZW07IH1cbiAgLmF1dGhvci1ib3ggLmF1dGhvci1ib3gtYmlvIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNjI1cmVtOyB9XG4gICAgLmF1dGhvci1ib3ggLmF1dGhvci1ib3gtYmlvID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwLjYyNXJlbTsgfVxuICAgICAgLmF1dGhvci1ib3ggLmF1dGhvci1ib3gtYmlvID4gZGl2IGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgICAuYXV0aG9yLWJveCAuYXV0aG9yLWJveC1iaW8gPiBkaXYgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6ICMwRTYwQzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmF1dGhvci1ib3ggLmF1dGhvci1ib3gtZGVzY3JpcHRpb24ge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC42MjVyZW07IH1cbiAgLmF1dGhvci1ib3ggLmF1dGhvci1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzFBMUUyMjQwOyB9XG5cbi5hdXRob3Itc29jaWFscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC42MjVyZW07IH1cbiAgLmF1dGhvci1zb2NpYWxzIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmF1dGhvci1ib3gtc2lkZWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC42MjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYXV0aG9yLWJveC1zaWRlYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoICggMTAwJSAtIDQ1cmVtIC0gNXJlbSApIC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICAuYXV0aG9yLWJveC1zaWRlYmFyIC5yb3VuZGVkX2ltYWdlIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1heC13aWR0aDogMy44MTI1cmVtO1xuICAgIG1heC1oZWlnaHQ6IDMuODEyNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAuYXV0aG9yLWJveC1zaWRlYmFyIGg1IHtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmF1dGhvci1ib3gtc2lkZWJhciAucG9zaXRpb24ge1xuICAgIGNvbG9yOiAjMEU2MEMzO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmF1dGhvci1ib3gtc2lkZWJhciAuYmlvIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnN1YnNjcmliZV9ib3gge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMThkZWcsICNCQ0Y0OTEgLTMxLjY0JSwgIzlERUFBOCAxLjk5JSwgIzZFRDU4NiAzMC41NSUsICMyQzRBODUgOTAuMiUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAyLjgxMjVyZW0gNXJlbSAzLjQzNzVyZW0gNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMy43NXJlbSAwOyB9XG4gIC5zdWJzY3JpYmVfYm94IGg1IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc3Vic2NyaWJlX2JveCBwIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLnN1YnNjcmliZV9ib3hfc2lkZWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnN1YnNjcmliZV9ib3hfc2lkZWJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoICggMTAwJSAtIDQ1cmVtIC0gNXJlbSApIC8gMik7IH0gfVxuXG4uc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlcyB7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxMTAsIDIxMywgMTM0LCAwLjIpIDg0LjExJSwgcmdiYSgxMTAsIDIxMywgMTM0LCAwKSAxMDAlKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlcyB7XG4gICAgICBwYWRkaW5nOiA0LjM3NXJlbSAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxMTAsIDIxMywgMTM0LCAwLjIpIDAlLCByZ2JhKDExMCwgMjEzLCAxMzQsIDApIDEwMCUpOyB9IH1cbiAgLnNpbmdsZS1ibG9nLXJlbGF0ZWQtYXJ0aWNsZXMgLnNlY3Rpb24tdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNpbmdsZS1ibG9nLXJlbGF0ZWQtYXJ0aWNsZXMgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgLnNpbmdsZS1ibG9nLXJlbGF0ZWQtYXJ0aWNsZXMgLnJlbGF0ZWQtcG9zdHMtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMi41cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5zaW5nbGUtYmxvZy1yZWxhdGVkLWFydGljbGVzIC5yZWxhdGVkLXBvc3RzLXdyYXBwZXIge1xuICAgICAgICBnYXA6IDIuMTg3NXJlbTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlcyAucmVsYXRlZC1wb3N0cy13cmFwcGVyIHtcbiAgICAgICAgZ2FwOiAyLjgxMjVyZW07IH0gfVxuICAgIC5zaW5nbGUtYmxvZy1yZWxhdGVkLWFydGljbGVzIC5yZWxhdGVkLXBvc3RzLXdyYXBwZXIgLnJlbGF0ZWQtYXJ0aWNsZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDEwcHggMTVweCByZ2JhKDExMCwgMjEzLCAxMzQsIDAuMSkpOyB9XG4gICAgICAuc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlcyAucmVsYXRlZC1wb3N0cy13cmFwcGVyIC5yZWxhdGVkLWFydGljbGUgLmltYWdlLXBhcnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMS41NjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlcyAucmVsYXRlZC1wb3N0cy13cmFwcGVyIC5yZWxhdGVkLWFydGljbGUgLmNvbnRlbnQtcGFydCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlcyAucmVsYXRlZC1wb3N0cy13cmFwcGVyIC5yZWxhdGVkLWFydGljbGUgLmNvbnRlbnQtcGFydCAucG9zdC10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC41NjI1cmVtIDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAuc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlcyAucmVsYXRlZC1wb3N0cy13cmFwcGVyIC5yZWxhdGVkLWFydGljbGUgLmNvbnRlbnQtcGFydCAucG9zdC10aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG4gICAgICAgIC5zaW5nbGUtYmxvZy1yZWxhdGVkLWFydGljbGVzIC5yZWxhdGVkLXBvc3RzLXdyYXBwZXIgLnJlbGF0ZWQtYXJ0aWNsZSAuY29udGVudC1wYXJ0IC5lbnRyeV9tZXRhIC5lbnRyeV9tZXRhX2luZm8ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBjb2xvcjogIzJGM0IzQjtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBjb2xvcjogIzQwNDA0MDtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmEge1xuICBjb2xvcjogIzAwODZlNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICMxYTlmZmY7IH1cbiAgYTpob3ZlciwgYTpmb2N1cywgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgYTpob3ZlciwgYTphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzI0M0Q2RTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuODc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDMuNzVyZW07IH0gfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH0gfVxuXG5oNSwgaDYge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbnAge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuODc1cmVtO1xuICBjb2xvcjogIzcwN0I5NjtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuaHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG5kZm4sIGNpdGUsIGVtLCBpIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMS41ZW07IH1cblxucHJlIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgZm9udC1mYW1pbHk6IFwiQ291cmllciAxMCBQaXRjaFwiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDEuNmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAxLjZlbTsgfVxuXG5jb2RlLCBrYmQsIHR0LCB2YXIge1xuICBmb250LWZhbWlseTogQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbmFiYnIsIGFjcm9ueW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5tYXJrLCBpbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmOWMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYmlnIHtcbiAgZm9udC1zaXplOiAxMjUlOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjYyNWVtOyB9XG5cbi5hY2NlbnQge1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hY2NlbnQuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyIE5leHQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9BdmVuaXJOZXh0TFRQcm8tUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0F2ZW5pciBOZXh0JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9BdmVuaXJOZXh0TFRQcm8tQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvQXZlbmlyTmV4dExUUHJvLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQXZlbmlyIE5leHQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1JdC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvQXZlbmlyTmV4dExUUHJvLUl0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUJsYWNrLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtQmxhY2sud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUV4dHJhQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUV4dHJhQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLVNlbWlCb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtU2VtaUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtTGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLVRoaW4ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1BvcHBpbnMvUG9wcGlucy1UaGluLndvZmYyXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci9JbnRlci1CbGFjay53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXIvSW50ZXItQmxhY2sud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyL0ludGVyLUV4dHJhQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXIvSW50ZXItRXh0cmFCb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci9JbnRlci1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9JbnRlci9JbnRlci1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci9JbnRlci1TZW1pQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXIvSW50ZXItU2VtaUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyL0ludGVyLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXIvSW50ZXItTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci9JbnRlci1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9JbnRlci9JbnRlci1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci9JbnRlci1MaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXIvSW50ZXItTGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyL0ludGVyLVRoaW4ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ludGVyL0ludGVyLVRoaW4ud29mZjJcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC8qIEluaGVyaXQgYm94LXNpemluZyB0byBtYWtlIGl0IGVhc2llciB0byBjaGFuZ2UgdGhlIHByb3BlcnR5IGZvciBjb21wb25lbnRzIHRoYXQgbGV2ZXJhZ2Ugb3RoZXIgYmVoYXZpb3I7IHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS8gKi9cbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG51bCwgb2wge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAgMCAwIDFyZW07IH1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG5cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuNWVtOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW46IDAgMS41ZW0gMS41ZW07IH1cblxuLnBhZ2luYXRpb25fd3JhcCB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG4gIC5wYWdpbmF0aW9uX3dyYXAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5wYWdpbmF0aW9uX3dyYXAgdWwgbGkuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgICAucGFnaW5hdGlvbl93cmFwIHVsIGxpIGEge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDdweCA5cHggNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDAgNHB4OyB9XG5cbnRhYmxlIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50YWJsZS13cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgR3V0ZW5iZXJnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uaGFzLWdyZXktdGV4dC1jb2xvciB7XG4gIGNvbG9yOiAjNjQ2NDY0OyB9XG5cbi5oYXMtZ3JleS10ZXh0LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQ2NDY0OyB9XG5cbi5oYXMtZGFyay1ncmV5LWNvbG9yIHtcbiAgY29sb3I6ICMzMzMzMzM7IH1cblxuLmhhcy1kYXJrLWdyZXktYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cblxuLmhhcy1wcmltYXJ5LWNvbG9yLWNvbG9yIHtcbiAgY29sb3I6ICM0ODg3RjI7IH1cblxuLmhhcy1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg4N0YyOyB9XG5cbi5oYXMtc2Vjb25kYXJ5LWNvbG9yLWNvbG9yIHtcbiAgY29sb3I6ICM0ODg3RjI7IH1cblxuLmhhcy1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ODg3RjI7IH1cblxuLmhhcy13aGl0ZS1jb2xvciB7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLmhhcy1ibGFjay1jb2xvciB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLyoqXG4gKiBGb250IHNpemVzLlxuICpcbiAqIFR3byBzZXRzLCBvbmNlIGZvciBtb2JpbGUgYW5kIG9uZSBmb3IgZGVza3RvcC4gRmVlbCBmcmVlIHRvIGFkZCBvciByZW1vdmUgaWYgbmVlZGVkXG4gKi9cbi5oYXMteHMtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5oYXMtcy1mb250LXNpemUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5oYXMtZC1mb250LXNpemUge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmhhcy1tLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLmhhcy1sLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5oYXMteGwtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG5cbi5oYXMteHhsLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuXG4uaGFzLXh4eGwtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAyLjg3NXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhhcy14cy1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmhhcy1zLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5oYXMtZC1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLmhhcy1tLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH1cbiAgLmhhcy1sLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICAuaGFzLXhsLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAuaGFzLXh4bC1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07IH1cbiAgLmhhcy14eHhsLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAuaGFzLXhzLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuaGFzLXMtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmhhcy1kLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuaGFzLW0tZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICAuaGFzLWwtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIC5oYXMteGwtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07IH1cbiAgLmhhcy14eGwtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgLmhhcy14eHhsLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtOyB9IH1cblxuLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXMtc2VjdGlvbi1wYWRkaW5nIHtcbiAgcGFkZGluZzogMS4yNXJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1zLXNlY3Rpb24tcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMDsgfSB9XG5cbi53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1tLXNlY3Rpb24tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1tLXNlY3Rpb24tcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiAzLjc1cmVtIDA7IH0gfVxuXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtbC1zZWN0aW9uLXBhZGRpbmcge1xuICBwYWRkaW5nOiAzLjEyNXJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1sLXNlY3Rpb24tcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiA1cmVtIDA7IH0gfVxuXG4ud3AtYmxvY2staW1hZ2UuaXMtc3R5bGUtcm91bmRlZC1jaXJjbGUgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5oYXMtYmx1ZS1ncmFkaWVudC1ncmFkaWVudC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjQ0ZFMEY0IDAlLCByZ2JhKDIwNywgMjI0LCAyNDQsIDAuNTIpIDQ3LjcyJSwgcmdiYSgyMDcsIDIyNCwgMjQ0LCAwLjEpIDEwMCUpOyB9XG5cbi53cC1ibG9jay1jb3Zlci5hbGlnbmZ1bGwge1xuICBwYWRkaW5nOiAwOyB9XG4gIC53cC1ibG9jay1jb3Zlci5hbGlnbmZ1bGwgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gIC5jb2x1bW5zIC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZsZXg6IDEgMSAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29sdW1ucyAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbHVtbnMgLmNvbHVtbi5mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2x1bW5zLmdyaWRfMiAuY29sdW1uIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sdW1ucy5ncmlkXzMgLmNvbHVtbiB7XG4gICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sdW1ucy5ncmlkXzQgLmNvbHVtbiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb2x1bW5zLmdyaWRfNCAuY29sdW1uIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbGV4OiAwIDAgMjUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbHVtbnMuZ3JpZF81IC5jb2x1bW4ge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIGZsZXg6IDAgMCAyMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29sdW1ucy5ncmlkXzUgLmNvbHVtbiB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgZmxleDogMCAwIDIwJTsgfSB9XG5cbi53cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogI0Y2RjlGRjtcbiAgcGFkZGluZzogMS41NjI1cmVtIDIuMTg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC53cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAzLjQzNzVyZW07IH0gfVxuICAud3AtYmxvY2stcmFuay1tYXRoLXRvYy1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgd2hpdGUgMCUsIHdoaXRlIDg1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg5OTYxOSkgOTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzk1OTc4KSA5NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMDIxNCkgMTAwJSk7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLndwLWJsb2NrLXJhbmstbWF0aC10b2MtYmxvY2sgaDIge1xuICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAud3AtYmxvY2stcmFuay1tYXRoLXRvYy1ibG9jayBoMiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuODEyNXJlbSAwO1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuICAud3AtYmxvY2stcmFuay1tYXRoLXRvYy1ibG9jayB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMS44NzVyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC53cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2NrIHVsIGxpIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwLWNvdW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6ICMxQTFFMjI7IH1cbiAgICAgIC53cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2NrIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKSBcIi5cIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAgIC53cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2NrIHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzFBMUUyMjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50YWJsZS1vZi1jb250ZW50cy1zaWRlYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAudGFibGUtb2YtY29udGVudHMtc2lkZWJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoICggMTAwJSAtIDQ1cmVtIC0gNXJlbSApIC8gMik7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMtc2lkZWJhciBoMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzLXNpZGViYXIgLmNvbnRlbnQtZWxlbWVudC1yb3c6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cy1zaWRlYmFyIC5jb250ZW50LWVsZW1lbnQtcm93LmFjdGl2ZSAuY29udGVudC1oZWFkaW5nIHNwYW4ge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAudGFibGUtb2YtY29udGVudHMtc2lkZWJhciAuY29udGVudC1lbGVtZW50LXJvdy5hY3RpdmUgLmNvbnRlbnQtaGVhZGluZyBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogYmx1ZTsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzLXNpZGViYXIgLmNvbnRlbnQtZWxlbWVudC1yb3cuYWN0aXZlIC5jb250ZW50LWhlYWRpbmcgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMtc2lkZWJhciAuY29udGVudC1lbGVtZW50LXJvdyAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICMxQTFFMjI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMS4yNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAudGFibGUtb2YtY29udGVudHMtc2lkZWJhciAuY29udGVudC1lbGVtZW50LXJvdyAuY29udGVudC1oZWFkaW5nIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEuMjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtOyB9XG4gICAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzLXNpZGViYXIgLmNvbnRlbnQtZWxlbWVudC1yb3cgLmNvbnRlbnQtaGVhZGluZyBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmVkO1xuICAgICAgICAgICAgd2lkdGg6IDEuMzEyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4zMTI1cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAgIC50YWJsZS1vZi1jb250ZW50cy1zaWRlYmFyIC5jb250ZW50LWVsZW1lbnQtcm93IC5jb250ZW50LWhlYWRpbmcgYSB7XG4gICAgICAgICAgY29sb3I6ICMxQTFFMjI7IH0gfVxuXG4udGV4dC1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250YWluZXItc21hbGxlciB7XG4gICAgbWF4LXdpZHRoOiAzOC4xMjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4uYWxpZ24tc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuXG4ubWF4LXdpZHRoLTk4MCB7XG4gIG1heC13aWR0aDogNjEuMjVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jbGVhci1tYXJnaW4ge1xuICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtNDA0IC5wYWdlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG5cbmJ1dHRvbixcbi5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbi53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMS41NWVtO1xuICBiYWNrZ3JvdW5kOiAjMzIzNzNjO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAuNjY3ZW0gMS4zMzNlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDsgfVxuICBidXR0b246aG92ZXIsXG4gIC5idXR0b246aG92ZXIsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzNiNDE0NzsgfVxuICBidXR0b246YWN0aXZlLCBidXR0b246Zm9jdXMsXG4gIC5idXR0b246YWN0aXZlLFxuICAuYnV0dG9uOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluazphY3RpdmUsXG4gIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICM0NTRiNTI7IH1cbiAgYnV0dG9uOmRpc2FibGVkLCBidXR0b25bZGlzYWJsZWRdLFxuICBidXR0b24gLmRpc2FibGVkLFxuICAuYnV0dG9uOmRpc2FibGVkLFxuICAuYnV0dG9uW2Rpc2FibGVkXSxcbiAgLmJ1dHRvbiAuZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06ZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIC5kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0gLmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSAuZGlzYWJsZWQsXG4gIC53cC1ibG9jay1idXR0b25fX2xpbms6ZGlzYWJsZWQsXG4gIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLFxuICAud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gIC5idXR0b24td3JhcHBlci5jbGVhci1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYnV0dG9uLXdyYXBwZXIuYm9vay12aXNpdCB7XG4gICAgICBtYXgtd2lkdGg6IDMxLjI1cmVtOyB9IH1cbiAgLmJ1dHRvbi13cmFwcGVyLmJvb2stdmlzaXQgYSB7XG4gICAgZmxleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMS44NzVyZW07IH1cbiAgICAuYnV0dG9uLXdyYXBwZXIuYm9vay12aXNpdCBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pY29ucy9hcnJvdy5zdmdcIik7XG4gICAgICB3aWR0aDogMC43NXJlbTtcbiAgICAgIGhlaWdodDogMS4xMjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMS44NzVyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuYnV0dG9uLXdyYXBwZXIgLmRlZmF1bHQtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDIuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjNDg4N0YyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5idXR0b24td3JhcHBlciAuZGVmYXVsdC1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAxLjEyNXJlbSAyLjI1cmVtOyB9IH1cbiAgLmJ1dHRvbi13cmFwcGVyIC5jbGVhci1idXR0b24ge1xuICAgIGNvbG9yOiAjNDg4N0YyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTsgfVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgdHJhbnNpdGlvbjogMzAwbXMgYWxsOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBjb2xvcjogIzExMTtcbiAgICB0cmFuc2l0aW9uOiAzMDBtcyBhbGw7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5zZWxlY3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XG5cbnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1lbnVfd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm1lbnVfd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24ge1xuICAgIG9yZGVyOiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBvcmRlcjogMDsgfSB9XG4gICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIC5zaXRlLW5hdi13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uLnRvZ2dsZWQgdWwjcHJpbWFyeS1tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMy43NXJlbSk7IH1cbiAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIHVsI3ByaW1hcnktbWVudSAuc3ViLW1lbnUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAwOyB9XG4gICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAyLjE4NzVyZW07IH1cbiAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgLmJ1dHRvbi13cmFwcGVyIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHBhZGRpbmc6IDEuMTI1cmVtIDIuMjVyZW07IH1cbiAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjNzA3Qjk2O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtOyB9XG4gICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYS5kZWZhdWx0LWJ1dHRvbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICMyNDNENkU7IH1cbiAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGk6Zmlyc3Qtb2YtdHlwZSBhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTsgfVxuICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaSNib29uLW5vdy1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpI2Jvb24tbm93LWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpOmZpcnN0LW9mLXR5cGUgYSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkjYm9vbi1ub3ctYnV0dG9uIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpI2Jvb24tbm93LWJ1dHRvbiAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkjYm9vbi1ub3ctYnV0dG9uIC5idXR0b24td3JhcHBlciBhIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMTI1cmVtIDIuMjVyZW07IH1cbiAgICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMCAwLjc1cmVtIDFyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgdWwge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgdWwgbGkge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgICAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpIHVsIGxpIGEge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC45cmVtO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMHJlbTsgfVxuICAgICAgICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgdWwgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMC44cmVtOyB9XG4gICAgICAgICAgICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaSB1bCBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTsgfVxuICAgICAgICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaTpob3ZlciB1bCB7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgIHRvcDogMy43NXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1jaGV2cm9uLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICAgIHRvcDogMS41NWVtO1xuICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItbWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjE1cyAwLjE1cywgcGFkZGluZyAwLjE1cyAwLjE1cywgbWFyZ2luIDAuMTVzIDAuMTVzO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLnN1Yi1tZW51IGxpIGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAxLjU2MjVyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmZvY3VzID4gLnN1Yi1tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMxLjI1cmVtOyB9XG4gICAgICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5mb2N1czphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDMuNzVyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4xNXMgMC4xNXMsIHBhZGRpbmcgMC4xNXMgMC4xNXMsIG1hcmdpbiAwLjE1cyAwLjE1cztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHggc29saWQgIzY0NjQ2NDsgfVxuICAgICAgICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaTpub3QoI2Jvb24tbm93LWJ1dHRvbikgYSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMTVzIDAuMTVzLCBwYWRkaW5nIDAuMTVzIDAuMTVzLCBtYXJnaW4gMC4xNXMgMC4xNXM7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5tZW51X3dyYXBwZXIgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgdWwge1xuICAgICAgICBtYXJnaW46IC0xcmVtIDAgMCAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaSB1bCBsaSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgbm9uZTsgfVxuICAgICAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpIHVsIGxpIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuM2VtIDIuMjVyZW0gMC4zZW0gMDsgfVxuICAgICAgICAgICAgICAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpIHVsIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH1cbiAgICAgICAgICAgICAgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaSB1bCBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07IH0gfVxuXG4uZml4ZWQgLm1lbnVfd3JhcHBlciAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSB7XG4gIHRvcDogMy4xZW07IH1cblxuLyogU21hbGwgbWVudS4gKi9cbi5tZW51LXRvZ2dsZS50b2dnbGVkIHVsLFxuLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIHVsIHtcbiAgbWF4LWhlaWdodDogMzEuMjVlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1lbnUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhhbWJ1cmdlciB7XG4gIHdpZHRoOiAxLjkzNzVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9yZGVyOiAyOyB9XG4gIC5oYW1idXJnZXIgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAuaGFtYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRvcDogMHB4OyB9XG4gICAgLmhhbWJ1cmdlciBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICB0b3A6IDAuNjI1cmVtOyB9XG4gICAgLmhhbWJ1cmdlciBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICB0b3A6IDEuMjVyZW07IH1cbiAgLmhhbWJ1cmdlci5vcGVuIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICB0b3A6IDAuNjI1cmVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgLmhhbWJ1cmdlci5vcGVuIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IC1yZW0oLTYwKTsgfVxuICAuaGFtYnVyZ2VyLm9wZW4gc3BhbjpudGgtY2hpbGQoMykge1xuICAgIHRvcDogMC42MjVyZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnNpdGUtaGVhZGVyLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2l0ZS1oZWFkZXItY2FydCB7XG4gICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfSB9XG4gIC5zaXRlLWhlYWRlci1jYXJ0Lm9wZW5lZCAuY2FydC1wb3B1cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMTAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cbiAgLnNpdGUtaGVhZGVyLWNhcnQgLmNhcnQtcG9wdXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTEwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMTUlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICB3aWR0aDogMTguNzVlbTtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gICAgYm94LXNoYWRvdzogMCAxOXB4IDQ4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjIwcHgpO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgLyogRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgfVxuICAgIC5zaXRlLWhlYWRlci1jYXJ0IC5jYXJ0LXBvcHVwOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAvKiBXZWJLaXQgKi9cbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwOyB9XG5cbi5jYXJ0LWNvbnRlbnRzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvc2hvcHBpbmctYmFnLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxLjY4NzVlbTtcbiAgaGVpZ2h0OiAxLjg3NWVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmNhcnQtY29udGVudHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5jYXJ0LWNvbnRlbnRzIHNwYW4uYW1vdW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jYXJ0LWNvbnRlbnRzIHNwYW4uY291bnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjNjQ2NDY0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgdG9wOiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuY2FydC1jb250ZW50cyAuY2FydC1pdGVtc1tkYXRhLWl0ZW1zPVwiMFwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEFjY2Vzc2liaWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIC8qIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LiAqLyB9XG4gIC5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGNvbG9yOiAjMjE3NTliO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdG9wOiA1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovIH1cblxuLyogRG8gbm90IHNob3cgdGhlIG91dGxpbmUgb24gdGhlIHNraXAgbGluayB0YXJnZXQuICovXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE1vZHVsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hbGlnbmxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuNWVtOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmFsaWduZnVsbCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uYWxpZ253aWRlIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgd2lkdGg6IDEwMHZ3O1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuODc1ZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgLmFsaWdud2lkZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmFsaWdud2lkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA2MDBweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNjAwcHgpO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG5cbi5jbGVhcjpiZWZvcmUsXG4uY2xlYXI6YWZ0ZXIsXG4uZW50cnktY29udGVudDpiZWZvcmUsXG4uZW50cnktY29udGVudDphZnRlcixcbi5jb21tZW50LWNvbnRlbnQ6YmVmb3JlLFxuLmNvbW1lbnQtY29udGVudDphZnRlcixcbi5zaXRlLWhlYWRlcjpiZWZvcmUsXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OmJlZm9yZSxcbi5zaXRlLWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6YmVmb3JlLFxuLnNpdGUtZm9vdGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cblxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWVkaWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wYWdlLWNvbnRlbnQgLndwLXNtaWxleSxcbi5lbnRyeS1jb250ZW50IC53cC1zbWlsZXksXG4uY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycy4gKi9cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgLyogTWFrZSBzdXJlIGltYWdlcyBhcmUgc2NhbGVkIGNvcnJlY3RseS4gKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqLyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDA7XG4gIC8qIEV4dHJhIHdpZGUgaW1hZ2VzIHdpdGhpbiBmaWd1cmUgdGFncyBkb24ndCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhLiAqLyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIENhcHRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud3AtY2FwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICAgIG1hcmdpbjogMC44MDc1ZW0gMDsgfVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIEdhbGxlcmllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmdhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG4uZ2FsbGVyeS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMyU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAxNi42NiU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTQuMjglOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDExLjExJTsgfVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaG93LXhzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRlLXhzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8vIFBYIHRvIEVNL1JFTSAtIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2lzZWxsc29hcC84Mjk5NzI2XG5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweDtcblxuLyoqXG4gKiBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIGdpdmVuIG51bWJlci11bml0LWNvbWJpbmF0aW9uIGFuZCByZXR1cm5zIHRoZSBudW1iZXIuXG4gKiBAbGluazogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTIzMzU4NDEvMTc3OTk5OVxuICogQHVzYWdlOiBwYXJzZS1pbnQoMTBweCkgPT4gMTBcbiAqL1xuXG4gQGZ1bmN0aW9uIHBhcnNlLWludCgkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBTaW1wbHkgYWRkcyB0aGUgZW0gdW5pdCB0byBhIGdpdmVuIG51bWJlci4gVGhpcyBpcyB1c2VkIHR3aWNlIGluIHRoZVxuICAgKiBmdW5jdGlvbiB1bmRlcm5lYXRoLCB0aHVzIHRoZSBuZWVkIGZvciBhIHNlcGFyYXRlIGZ1bmN0aW9uLlxuICAgKi9cbiAgXG4gIEBmdW5jdGlvbiBhZGQtZW0tdW5pdCgkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyICogMWVtO1xuICB9XG4gIFxuICBAZnVuY3Rpb24gYWRkLXJlbS11bml0KCRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXIgKiAxcmVtO1xuICB9XG4gIFxuICAvKipcbiAgICogQ2FsY3VsYXRlcyBlbSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gbGlzdCBvZiAocHggb3IgZW0pIHZhbHVlcyBhbmQgYSBnaXZlbiBlbVxuICAgKiBiYXNlLiBNdWx0aXBseSBiYXNlIHZhbHVlcyBmb3IgbmVzdGVkIGVtIHN0cnVjdHVyZXMgKGxhc3QgQHVzYWdlIGV4YW1wbGUpLlxuICAgKiBAdXNhZ2U6IGVtKDEwcHgsIDEuMTI1KSA9PiAuNTU1NTZlbVxuICAgKiAgICAgICAgIGVtKDI0cHgsIC44NzVlbSkgPT4gMS43MTQyOWVtXG4gICAqICAgICAgICAgZW0oMTJweCAwIDdlbSByZ2JhKDAsIDAsIDAsIC43KSwgMS43NSkgPT4gLjQyODU3ZW0gMCA0ZW0gcmdiYSgwLCAwLCAwLCAwLjcpXG4gICAqICAgICAgICAgZW0oMTJweCkgKyBlbSgzZW0pID0+IDMuNzVlbVxuICAgKiAgICAgICAgIGVtKDIzcHgsIGVtKDUzcHgpKSA9PiAuNDMzOTZlbVxuICAgKiAgICAgICAgIGVtKDI0cHgsIDEuNSAqIDEuMTI1KSA9PiAuODg4ODllbVxuICAgKi9cbiAgXG4gIEBmdW5jdGlvbiBlbSgkdmFsdWVzLCAkZW0tYmFzZTogMSkge1xuICAgICRiYXNlLWZvbnQtc2l6ZTogcGFyc2UtaW50KCRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgJGVtLWJhc2U6IHBhcnNlLWludCgkZW0tYmFzZSk7XG4gICAgJHJlc3VsdDogKCk7XG4gIFxuICAgIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gMCBvciB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiB1bml0KCR2YWx1ZSk7XG4gICAgICAgICR2YWx1ZTogcGFyc2UtaW50KCR2YWx1ZSk7XG4gIFxuICAgICAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLWVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiZW1cIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1lbS11bml0KCR2YWx1ZSAvICRlbS1iYXNlKSk7XG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1lbS11bml0KCR2YWx1ZSAvICgkYmFzZS1mb250LXNpemUgKiAkZW0tYmFzZSkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgLyoqXG4gICAgICogSWYgb25seSBvbmUgdmFsdWUgaXMgcHJvdmlkZWQsIG91dHB1dCB0aGUgaW5zdGFuY2Ugb2YgdGhhdCBvYmplY3QgaW5zdGVhZFxuICAgICAqIG9mIHRoZSB3aG9sZSBsaXN0LiBUaGlzIGVuYWJsZXMgdXNlIGNhc2VzIGxpa2UgbmVzdGVkIGZ1bmN0aW9uIGludm9jYXRpb25zXG4gICAgICogKGUuZy4gYGVtKDJweCwgZW0oMTVweCkpYCkgb3IgYWRkaXRpb25zL3N1YnRyYWN0aW9ucyAoZS5nLiBgZW0oNXB4KSArIGVtKDMycHgpYCkuXG4gICAgICovXG4gICAgQGlmIGxlbmd0aCgkcmVzdWx0KSA9PSAxIHtcbiAgICAgIEByZXR1cm4gbnRoKCRyZXN1bHQsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcmVzdWx0O1xuICAgIH1cbiAgfVxuICBcbiAgXG4gIEBmdW5jdGlvbiByZW0oJHZhbHVlcywgJGVtLWJhc2U6IDEpIHtcbiAgICAkYmFzZS1mb250LXNpemU6IHBhcnNlLWludCgkYmFzZS1mb250LXNpemUpO1xuICAgICRlbS1iYXNlOiBwYXJzZS1pbnQoJGVtLWJhc2UpO1xuICAgICRyZXN1bHQ6ICgpO1xuICBcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuICAgICAgICAkdmFsdWU6IHBhcnNlLWludCgkdmFsdWUpO1xuICBcbiAgICAgICAgQGlmICR1bml0ID09IFwicHhcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1yZW0tdW5pdCgkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSk7XG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJlbVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLXJlbS11bml0KCR2YWx1ZSAvICRlbS1iYXNlKSk7XG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1yZW0tdW5pdCgkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC8qKlxuICAgICAqIElmIG9ubHkgb25lIHZhbHVlIGlzIHByb3ZpZGVkLCBvdXRwdXQgdGhlIGluc3RhbmNlIG9mIHRoYXQgb2JqZWN0IGluc3RlYWRcbiAgICAgKiBvZiB0aGUgd2hvbGUgbGlzdC4gVGhpcyBlbmFibGVzIHVzZSBjYXNlcyBsaWtlIG5lc3RlZCBmdW5jdGlvbiBpbnZvY2F0aW9uc1xuICAgICAqIChlLmcuIGBlbSgycHgsIGVtKDE1cHgpKWApIG9yIGFkZGl0aW9ucy9zdWJ0cmFjdGlvbnMgKGUuZy4gYGVtKDVweCkgKyBlbSgzMnB4KWApLlxuICAgICAqL1xuICAgIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7XG4gICAgICBAcmV0dXJuIG50aCgkcmVzdWx0LCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHJlc3VsdDtcbiAgICB9XG4gIH0iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuXHRtYXJnaW46IDA7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcblx0Zm9udC1zaXplOiAyZW07XG5cdG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cblx0aGVpZ2h0OiAwOyAvKiAxICovXG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cblx0Zm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG5cdGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuXHRmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuXHRmb250LXNpemU6IDc1JTtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuXHRib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG5cdHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuXHRmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cblx0bWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqXHRcdGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0Y29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cblx0ZGlzcGxheTogdGFibGU7IC8qIDEgKi9cblx0bWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG5cdHBhZGRpbmc6IDA7IC8qIDMgKi9cblx0d2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0cGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuXHRmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsImh0bWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IFxuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuKiB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogZW0oMzApO1xuICBwYWRkaW5nLXJpZ2h0OiBlbSgzMCk7XG4gIEBpbmNsdWRlIGJwKHBob25leHNkb3duKXtcbiAgICBwYWRkaW5nLWxlZnQ6IGVtKDE1KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBlbSgxNSk7XG4gIH1cbiAgQGluY2x1ZGUgYnAodGFibGV0KXtcbiAgICBtYXgtd2lkdGg6ICRzaXRlX3dpZHRoX3RhYmxldDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnAodGFibGV0eGwpe1xuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlX3RvX2xhcHRvcF94cztcbiAgfVxuICBAaW5jbHVkZSBicChsYXB0b3B4cyl7XG4gICAgbWF4LXdpZHRoOiAkc2l0ZV93aWR0aF9sYXB0b3B4cztcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzMCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDMwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4uY29udGFpbmVyLWhlYWRlci1mb290ZXJ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiByZW0oMzApO1xuICBwYWRkaW5nLXJpZ2h0OiByZW0oMzApO1xuXG4gIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0oNzApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg3MCk7XG4gIH1cblxuXG4gIC5jb2x1bW57XG4gICAgJi5mbGV4e1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFsaWduZnVsbD4ud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciwgLmFsaWduZnVsbD4ud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lcntcbiAgQGV4dGVuZCAuY29udGFpbmVyO1xufVxuXG5ib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGw+Lmt0LXJvdy1sYXlvdXQtaW5uZXI+Lmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgQGV4dGVuZCAuY29udGFpbmVyO1xuICBtYXgtd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0IWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBicChsYXB0b3B4cyl7XG4gICAgbWF4LXdpZHRoOiAkc2l0ZV93aWR0aF9sYXB0b3B4cyFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI3ByaW1hcnl7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNpdGUtY29udGVudHtcbiAgbWluLWhlaWdodDogNjV2aDtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNwYWdlLCAuc2l0ZXtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59IiwiLy8gQWRkIG1haW4gY29sb3IgdmFyaWFibGVzIGhlcmVcblxuJGNvbmZpZy1tYWluLWNvbG9yOiAjNDg4N0YyO1xuJGNvbmZpZy1tYWluLWNvbG9yLWRhcms6ICMyNDNENkU7XG4kY29uZmlnLW1haW4tY29sb3ItbGlnaHQ6ICNEOEU5RTU7XG4kY29uZmlnLW1haW4tY29sb3ItdGV4dC1kYXJrOiAjNzA3Qjk2O1xuJGNvbmZpZy1tYWluLWNvbG9yLXRleHQtbGlnaHQ6ICM5RDlEOUQ7XG4kY29uZmlnLWJ1dHRvbnMtYmFja2dyb3VuZC1jb2xvcjogIzQ4ODdGMjtcbiR3aGl0ZTogI2ZmZjtcblxuJGJvZHktYmFja2dyb3VuZDogI2ZmZjtcbiRjYXJkcy1iYWNrZ3JvdW5kOiAjRjlGQUZCO1xuXG4kY29uZmlnLWJhY2tncm91bmQtZ3JhZGllbnQtYmx1ZTogIGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0NGRTBGNCAwJSwgcmdiYSgyMDcsIDIyNCwgMjQ0LCAwLjUyKSA0Ny43MiUsIHJnYmEoMjA3LCAyMjQsIDI0NCwgMC4xMCkgMTAwJSk7ICA7XG4kY29uZmlnLWJhY2tncm91bmQtZ3JhZGllbnQtMjogIGxpbmVhci1ncmFkaWVudCg0NS4wNGRlZywgIzA3NDUzQSAwJSwgIzAwNjY0MyAxMDAlKTtcblxuJGNvbmZpZy1ib3JkZXItcmFkaXVzLWJpZ2dlcjogcmVtKDEwKTtcbiRjb25maWctYm9yZGVyLXJhZGl1cy1zbWFsbGVyOiByZW0oOCk7XG4kY29uZmlnLWJvcmRlci1yYWRpdXMtaW1hZ2U6IHJlbSgyMCk7XG5cbiRtYXJnaW4tYm90dG9tLXRpdGxlOiByZW0oODApO1xuJGNhcmRzLWNvbHVtbnMtZ2FwOiByZW0oNjApO1xuJGxheW91dC1iaWctZ2FwOiByZW0oMTAwKTtcblxuXG4vLyBOZXcgaWRlYSBmb3Igc2l6ZXNcbiRwYWRkaW5nLW1haW46IHJlbSgxMDApO1xuJG1hcmdpbi1tYWluOiByZW0oMTAwKTtcbiRmb250c2l6ZS1tYWluOiByZW0oMTAwKTtcblxuIiwiLy8gIEZvbnRzIGFuZCBpY29uc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vL1xuLy8gRm9yIEdvb2dsZSBGb250cyB1c2UgIGh0dHBzOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL2ZvbnRzXG4vLyBhbmQgcHV0IHRoZSBkZWZpbml0aW9ucyBpbiB0eXBvZ3JhcGh5L2ZvbnRfZmFjZXNcbi8vXG4vL1xuXG4vLyBVc2VkIG1haW5seSBmb3IgR3V0ZW5iZXJnIGZvbnQtc2l6ZXNcbi8vRGVza3RvcFxuJGZvbnQtc2l6ZS14czogcmVtKDE0KTtcbiRmb250LXNpemUtczogcmVtKDE2KTtcbiRmb250LXNpemUtZDogcmVtKDE4KTtcbiRmb250LXNpemUtbTogcmVtKDIxKTtcbiRmb250LXNpemUtbDogcmVtKDMwKTtcbiRmb250LXNpemUteGw6IHJlbSgzNik7XG4kZm9udC1zaXplLXh4bDogcmVtKDQ4KTtcbiRmb250LXNpemUteHh4bDogcmVtKDYwKTtcblxuLy9Nb2JpbGUgR3V0ZW5iZXJnIGZvbnQtc2l6ZXNcbiRmb250LXNpemUteHMtbW9iaWxlOiByZW0oMTIpO1xuJGZvbnQtc2l6ZS1zLW1vYmlsZTogcmVtKDE0KTtcbiRmb250LXNpemUtZC1tb2JpbGU6IHJlbSgxNik7XG4kZm9udC1zaXplLW0tbW9iaWxlOiByZW0oMTgpO1xuJGZvbnQtc2l6ZS1sLW1vYmlsZTogcmVtKDI0KTtcbiRmb250LXNpemUteGwtbW9iaWxlOiByZW0oMjgpO1xuJGZvbnQtc2l6ZS14eGwtbW9iaWxlOiByZW0oMzYpO1xuJGZvbnQtc2l6ZS14eHhsLW1vYmlsZTogcmVtKDQ2KTtcblxuLy9UYWJsZXQgR3V0ZW5iZXJnIGZvbnQtc2l6ZXMgIChNYXliZSBsZWF2ZSBzYW1lIGFzIG1vYmlsZSBmb3Igc3RhcnRlcnMpXG4kZm9udC1zaXplLXhzLXRhYmxldDogcmVtKDE0KTtcbiRmb250LXNpemUtcy10YWJsZXQ6IHJlbSgxNik7XG4kZm9udC1zaXplLWQtdGFibGV0OiByZW0oMTgpO1xuJGZvbnQtc2l6ZS1tLXRhYmxldDogcmVtKDIxKTtcbiRmb250LXNpemUtbC10YWJsZXQ6IHJlbSgyNik7XG4kZm9udC1zaXplLXhsLXRhYmxldDogcmVtKDMwKTtcbiRmb250LXNpemUteHhsLXRhYmxldDogcmVtKDM4KTtcbiRmb250LXNpemUteHh4bC10YWJsZXQ6IHJlbSg0OCk7XG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnUG9wcGlucycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG5cbiRmb250X19tYWluOiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRmb250X19jb2RlOiBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4kZm9udF9fcHJlOiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuJGZvbnRfX2xpbmUtaGVpZ2h0LWJvZHk6IDEuNTtcbiRmb250X19saW5lLWhlaWdodC1wcmU6IDEuNjtcblxuJGZvbnRfZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRmb250X2ZhbWlseV9tZW51OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRmb250X2ZhbWlseV9oZWFkaW5nczogJGZvbnQtZmFtaWx5LXNlcmlmO1xuXG4kZWFzaW5nOiBlYXNlLW91dDtcblxuXG5cblxuIiwiXG4vLyBEZWZhdWx0IC0gMzIxIC0gNDAwXG5cbkBtaXhpbiBicCgkcG9pbnQpIHtcblxuICBAaWYgJHBvaW50ID09IHBob25leHhze1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkcG9pbnQgPT0gcGhvbmV4c2Rvd257XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25leGx7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NjhweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXRPbmx5IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTY4cHgpIGFuZCAobWF4LXdpZHRoOiA2NzBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lcG9ydHJhaXR4bE9ubHkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRkb3duIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRsYW5kc2NhcGV7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXR4bHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSBsYXB0b3B4cyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCl7XG4gICAgICBAY29udGVudDsgXG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGxhcHRvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFwdG9weGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3B4cyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcHhsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG59IiwiLy8gTWFpbiBDb250YWluZXIgU2l6ZXNcbiRzaXRlX3dpZHRoX2xhcHRvcHhzOiByZW0oMTIwMCk7XG4kc2l0ZV93aWR0aF90YWJsZXRsYW5kc2NhcGU6IHJlbSg5MDApOyAvLyBtYXliZSBjaGFuZ2UgdG8gcGVyY2VudCB0byBoYXZlIGZsdWlkIGNvbnRhaW5lciBiZXR3ZWVuIDEwMjQgYW5kIDEyODBweCByZXMuXG5cbiRzaXRlX3dpZHRoX3RhYmxldGxhbmRzY2FwZV90b19sYXB0b3BfeHM6IDkzJTtcblxuJHNpdGVfd2lkdGhfdGFibGV0OiByZW0oNzAwKTtcblxuJHNpbmdsZV9wb3N0X2NvbnRlbnRfd2lkdGhfZGVza3RvcDogcmVtKDcyMCk7XG5cbi8vSGVhZGVyIHNpemVzXG4kaGVhZGVyX2hlaWdodF9tb2JpbGU6IHJlbSg2MCk7XG4kaGVhZGVyX2hlaWdodF9kZXNrdG9wOiByZW0oNzApO1xuXG4vL05lZ2F0aXZlIHZhbHVlcyB1c2VkIGZvciBoaWRpbmcgdGhlIGhlYWRlciwgc2hvdWxkIG1hdGNoIHRoZSBhYm92ZSBoZWFkZXIgaGVpZ2h0XG4kaGVhZGVyX2hlaWdodF9tb2JpbGVfbmVnYXRpdmU6IHJlbSgtI3skaGVhZGVyX2hlaWdodF9tb2JpbGV9KTsgLy8gdG9kbyBtYXliZSByZWZhY3RvciB0byBhdXRvbWF0aWNhbGx5IHRha2UgdGhlIHZhbHVlIGZyb20gYWJvdmUgYW5kIG1ha2UgaXQgbmVnYXRpdmU/XG4kaGVhZGVyX2hlaWdodF9kZXNrdG9wX25lZ2F0aXZlOiByZW0oLTcwKTsiLCJAbWl4aW4gaGVhZGVyLWhpZGV7XG4gIHRvcDogJGhlYWRlcl9oZWlnaHRfbW9iaWxlX25lZ2F0aXZlO1xuICBAaW5jbHVkZSBicCggdGFibGV0bGFuZHNjYXBlICkge1xuICAgIHRvcDogJGhlYWRlcl9oZWlnaHRfZGVza3RvcF9uZWdhdGl2ZTtcbiAgfVxufVxuXG4uYWRtaW4tYmFye1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIHRvcDogNDZweDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlLWluLW91dDtcblxuICAgICYubm90LW9uLXRvcHtcbiAgICAgIHRvcDogMDtcblxuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1vcGFjaXR5KCNmZmYsIDAuMyk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgICAgIHRvcDogMzJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCggdGFibGV0bGFuZHNjYXBlICkge1xuICAgICAgdG9wOiAzMnB4O1xuXG4gICAgICAmLm5vdC1vbi10b3B7XG4gICAgICAgIHRvcDogMzJweDtcblxuICAgICAgICAmLmhlYWRlci1oaWRle1xuICAgICAgICAgIEBpbmNsdWRlIGhlYWRlci1oaWRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyNwYWdle1xuLy8gIHBhZGRpbmctdG9wOiAkaGVhZGVyX2hlaWdodF9tb2JpbGU7XG4vLyAgQGluY2x1ZGUgYnAoIHRhYmxldGxhbmRzY2FwZSApIHtcbi8vICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyX2hlaWdodF9kZXNrdG9wO1xuLy8gIH1cbi8vfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBoZWlnaHQ6IGF1dG87XG4gIC8vYmFja2dyb3VuZDogJHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk1O1xuICB0b3A6IDA7XG4gIC8vYm94LXNoYWRvdzogMHB4IDNweCA2cHggIzAwMDAwMDE0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG5cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcblxuICAmLm5vdC1vbi10b3B7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1vcGFjaXR5KCNmZmYsIDAuMyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuXG4gIH1cblxuICAmLmhlYWRlci1oaWRle1xuICAgIEBpbmNsdWRlIGhlYWRlci1oaWRlO1xuICB9ICBcblxuICAuY29udGFpbmVye1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAuaGVhZGVyX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuc2l0ZS1icmFuZGluZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IHJlbSgxMikgMCA7XG4gICAgLmRvY3Rvci1uYW1lLWJyYW5ke1xuICAgICAgYXtcbiAgICAgICAgY29sb3I6ICRjb25maWctbWFpbi1jb2xvci1kYXJrO1xuICAgICAgfVxuICAgIH1cbiAgICBhe1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBpbWd7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLnNlYXJjaC10cmlnZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3RleHQtbWFpbjtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCguLi9pY29ucy9zZWFyY2gtaWNvbi5zdmcpO1xuICAgIG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9zZWFyY2gtaWNvbi5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiByZW0oMzIpO1xuICAgIGhlaWdodDogcmVtKDMyKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuc2VhcmNoLWJhcntcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIHRvcDogJGhlYWRlcl9oZWlnaHRfZGVza3RvcDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMHZ3OyAgICAgIFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgXG4gICAgbGVmdDogMDsgICAgICBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBmb3Jte1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXXtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBmb3Jte1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCByZW0oMzApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBpbnB1dHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAuc2VhcmNoLWljb257XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCguLi9pY29ucy9zZWFyY2gtaWNvbi5zdmcpO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvc2VhcmNoLWljb24uc3ZnKTtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAwIWltcG9ydGFudFxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIFJlbSBvdXRwdXQgd2l0aCBweCBmYWxsYmFja1xuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxKSB7XG5cdGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxNikgKiAxcHg7XG5cdGZvbnQtc2l6ZTogJHNpemVWYWx1ZSAqIDFyZW07XG59XG5cbi8vIENlbnRlciBibG9ja1xuQG1peGluIGNlbnRlci1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBDbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLy8gQ2xlYXIgYWZ0ZXIgKG5vdCBhbGwgY2xlYXJmaXggbmVlZCB0aGlzIGFsc28pXG5AbWl4aW4gY2xlYXJmaXgtYWZ0ZXIoKSB7XG5cdGNsZWFyOiBib3RoO1xufVxuXG4vLyBDZW50ZXIgYmxvY2tcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gQ29sdW1uIHdpZHRoIHdpdGggbWFyZ2luXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRudW1iZXJDb2x1bW5zOiAzKSB7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjb2x1bW5zLCAkbnVtYmVyQ29sdW1ucykgLSAoICggJGNvbHVtbnNfX21hcmdpbiAqICggJG51bWJlckNvbHVtbnMgLSAxICkgKSAvICRudW1iZXJDb2x1bW5zICk7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLW9wYWNpdHkoJGNvbG9yLCAkb3BhY2l0eTogMC4zKSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvcjsgLyogVGhlIEZhbGxiYWNrICovXG5cdGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XG59IiwiLy8gQWRkIHlvdXIgbWFpbiBjb2xvciB2YXJpYWJsZXMgaGVyZVxuXG4kZ3JleS10ZXh0OiAjNjQ2NDY0O1xuJGRhcmstZ3JleTogIzMzMzMzMztcbiR3aGl0ZTogI2ZmZjtcblxuLy8gVmFyaWFibGVzIGZvcm0gVW5kZXJzY29yZXNcblxuLy9UaGUgbmV4dCBmZXcgc2hvdWxkIGJlIHJldmlzZWQgb24gcHJvamVjdCBzdGFydDpcbiRjb2xvcl9fdGV4dC1tYWluOiAjNDA0MDQwOyAvLyBNYWluIHRleHQgY29sb3JcblxuJGNvbG9yX19saW5rOiAjMDA4NmU2OyAgLy8gTGlua3NcbiRjb2xvcl9fbGluay12aXNpdGVkOiBsaWdodGVuKCRjb2xvcl9fbGluaywxMCUpO1xuJGNvbG9yX19saW5rLWhvdmVyOiAjNmQ2ZDZkO1xuIFxuJGNvbG9yX19iYWNrZ3JvdW5kLWJvZHk6ICR3aGl0ZTtcblxuXG4vL0J1dHRvbnNcbiRjb2xvcl9fdGV4dC1idXR0b246ICR3aGl0ZTtcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICMzMjM3M2M7XG5cbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24taG92ZXI6IGxpZ2h0ZW4oJGNvbG9yX19iYWNrZ3JvdW5kLWJ1dHRvbiw0JSk7XG4kY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLWZvY3VzOiBsaWdodGVuKCRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24sOCUpO1xuXG4vL0lucHV0c1xuJGNvbG9yX19ib3JkZXItaW5wdXQ6ICNjY2M7XG4kY29sb3JfX2JvcmRlci1hYmJyOiAjNjY2O1xuJGNvbG9yX190ZXh0LXNjcmVlbjogIzIxNzU5YjtcbiRjb2xvcl9fdGV4dC1pbnB1dDogIzY2NjtcbiRjb2xvcl9fdGV4dC1pbnB1dC1mb2N1czogIzExMTtcblxuXG4vL1RoZXNlIGNhbiBiZSByZXZpc2VkIG9uIHRoZSBtb3ZlIHdoaWxlIGRldmVsb3Bpbmc6XG4kY29sb3JfX2JhY2tncm91bmQtc2NyZWVuOiAjZjFmMWYxO1xuJGNvbG9yX19iYWNrZ3JvdW5kLWhyOiAjY2NjO1xuJGNvbG9yX19iYWNrZ3JvdW5kLXByZTogI2VlZTtcbiRjb2xvcl9fYmFja2dyb3VuZC1pbnM6ICNmZmY5YzA7XG5cbi8vIEJsb2dcbiRjb2xvcl9fYmFja2dyb3VuZC1kYXJrZXItZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxOGRlZywgI0JDRjQ5MSAtMzEuNjQlLCAjOURFQUE4IDEuOTklLCAjNkVENTg2IDMwLjU1JSwgIzJDNEE4NSA5MC4yJSk7XG4kY29sb3JfX2JhY2tncm91bmQtYmxvZy1oZWFkZXItZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgyMzguMzJkZWcsICNCQ0Y0OTEgLTMxLjY0JSwgIzlERUFBOCAxLjk5JSwgIzZFRDU4NiAzMC41NSUsICMyQzRBODUgOTAuMiUpO1xuXG4kY29sb3JfX2JhY2tncm91bmQtYXV0aG9yOiAjRjZGOUZGO1xuXG5cbiIsIi5zaXRlLWZvb3RlciB7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICRjb25maWctbWFpbi1jb2xvcjtcbiAgY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIHotaW5kZXg6IDU1O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLnNpdGUtYnJhbmRpbmd7XG4gICAgLmRvY3Rvci1uYW1lLWJyYW5ke1xuICAgICAgYXtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZG9jdG9yLXNob3J0LWluZm8td3JhcHtcbiAgICBtYXgtd2lkdGg6IHJlbSgzMDApO1xuICAgIHB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xuICAgIH1cbiAgfVxuXG5cbiAgLm1lbnV7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogcmVtKDEwKTtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IHJlbSgzNSk7XG4gICAgfVxuICAgIGxpe1xuICAgICAgYXtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNvbmZpZy1ib3JkZXItcmFkaXVzLXNtYWxsZXI7XG4gICAgICAgICYuZGVmYXVsdC1idXR0b257XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIGNvbG9yOiAkY29uZmlnLW1haW4tY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc29ja2V0e1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODBCQUFDO1xuICAgIHBhZGRpbmc6IHJlbSgzMCkgMDtcbiAgICAuc29ja2V0LXdyYXBwZXJ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgfVxuICAgICAgLnNpdGUtaW5mb3tcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcml2YWN5LW1lbnV7XG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgICAjbWVudS1wcml2YWN5LW1lbnUtZm9vdGVye1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgZ2FwOiByZW0oMTApO1xuICAgICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgICAgICAgICBnYXA6IHJlbSgzNSk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaXtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAuZm9vdGVyLXNvY2lhbC1pY29uc3tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAuc29jaWFsLWljb24ge1xuICAgICAgd2lkdGg6IHJlbSgzMCk7XG4gICAgICBoZWlnaHQ6IHJlbSgzMCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICAgIH1cbiAgfVxufSIsIi53aWRnZXQge1xuXHRtYXJnaW46IDAgMCAxLjVlbTtcblxuXHQvKiBNYWtlIHN1cmUgc2VsZWN0IGVsZW1lbnRzIGZpdCBpbiB3aWRnZXRzLiAqL1xuXHRzZWxlY3Qge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLy8gQ2xhc3Nlc1xuLnNpbmdsZS1jb250YWluZXItaW5uZXItd2lkdGh7XG4gIG1heC13aWR0aDogJHNpbmdsZV9wb3N0X2NvbnRlbnRfd2lkdGhfZGVza3RvcDtcbn1cbi5ibG9nLXJlbGF0aXZle1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaW5nbGUtYmxvZ3tcbiAgcGFkZGluZy10b3A6IHJlbSgyNSk7XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSl7XG4gICAgcGFkZGluZy10b3A6IHJlbSg3MCk7XG4gIH1cbn1cblxuLmJsb2ctc2luZ2xlLWhlYWRlcntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiByZW0oNDMwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZDogJGNvbG9yX19iYWNrZ3JvdW5kLWJsb2ctaGVhZGVyLWdyYWRpZW50O1xuXG4gIC5ic2gtbWV0YXtcbiAgICAuZW50cnlfbWV0YXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4uY2F0ZWdvcnktYmFkZ2Utdmlld3tcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiByZW0oNikgcmVtKDEyKTtcbiAgYmFja2dyb3VuZDogIzJDNEE4NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogcmVtKDQpIDA7XG59XG5cbi5lbnRyeV9tZXRhe1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLmVudHJ5X21ldGFfaW5mb3tcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIC5yZWFkX3RpbWV7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi5ic2gtc29jaWFsLXNoYXJlIHtcbiAgLnNvY2lhbF9zaGFyZSB7XG4gICAgLmt0X3NoYXJlX3Nob3J0Y29kZSB7XG4gICAgICAua3Qtc29jaWFsc3R5bGUtc3R5bGVfMDMgYXtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42cmVtO1xuICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmFydGljbGV7XG4gICYucG9zdHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4uYXV0aG9yLWJveHtcbiAgYmFja2dyb3VuZDogJGNvbG9yX19iYWNrZ3JvdW5kLWF1dGhvcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHJlbSgxNyk7XG4gIHBhZGRpbmc6IHJlbSgyNSk7XG4gIC5hdXRob3ItYm94LWltYWdle1xuICAgIGZsZXg6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbSgxMTApO1xuICB9XG4gIC5hdXRob3ItYm94LWJpb3tcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSgxMCk7XG4gICAgJiA+IGRpdntcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiByZW0oMTApO1xuICAgICAgaDV7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgY29sb3I6ICMwRTYwQzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5hdXRob3ItYm94LWRlc2NyaXB0aW9ue1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDEwKTtcbiAgfVxuXG4gIC5hdXRob3Itc2VjdGlvbi10aXRsZXtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzFBMUUyMjQwO1xuICB9XG59XG5cbi5hdXRob3Itc29jaWFsc3tcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiByZW0oMTApO1xuICBpbWd7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmF1dGhvci1ib3gtc2lkZWJhcntcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IHJlbSgxMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogcmVtKDEwKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gIHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoICggMTAwJSAtICN7JHNpbmdsZV9wb3N0X2NvbnRlbnRfd2lkdGhfZGVza3RvcH0gLSAje3JlbSggMiAqIDQwcHggKX0gKSAvIDIpIDtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjApO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuICAucm91bmRlZF9pbWFnZXtcbiAgICBpbWd7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IHJlbSg2MSk7XG4gICAgICBtYXgtaGVpZ2h0OiByZW0oNjEpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuICBoNXtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbiAgLnBvc2l0aW9ue1xuICAgIGNvbG9yOiAjMEU2MEMzO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgfVxuICAuYmlve1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgfVxufVxuXG4uc3Vic2NyaWJlX2JveHtcbiAgYmFja2dyb3VuZDogJGNvbG9yX19iYWNrZ3JvdW5kLWRhcmtlci1ncmFkaWVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogcmVtKDQpO1xuICBwYWRkaW5nOiByZW0oNDUpIHJlbSg4MCkgcmVtKDU1KSByZW0oODApO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiByZW0oNjApIDA7XG4gIGg1e1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBwe1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgfVxufVxuXG4uc3Vic2NyaWJlX2JveF9zaWRlYmFye1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoICggMTAwJSAtICN7JHNpbmdsZV9wb3N0X2NvbnRlbnRfd2lkdGhfZGVza3RvcH0gLSAje3JlbSggMiAqIDQwcHggKX0gKSAvIDIpIDtcbiAgfVxufVxuXG4uc2luZ2xlLWJsb2ctcmVsYXRlZC1hcnRpY2xlc3tcbiAgcGFkZGluZzogcmVtKDYwKSAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDExMCwgMjEzLCAxMzQsIDAuMikgODQuMTElLCByZ2JhKDExMCwgMjEzLCAxMzQsIDApIDEwMCUpO1xuICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgIHBhZGRpbmc6IHJlbSg3MCkgMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDExMCwgMjEzLCAxMzQsIDAuMikgMCUsIHJnYmEoMTEwLCAyMTMsIDEzNCwgMCkgMTAwJSk7XG4gIH1cbiAgLnNlY3Rpb24tdGl0bGV7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgZm9udC1zaXplOiByZW0oMjYpO1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSl7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTApO1xuICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIH1cbiAgfVxuICAucmVsYXRlZC1wb3N0cy13cmFwcGVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHJlbSg0MCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgICAgZ2FwOiByZW0oMzUpO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcbiAgICAgIGdhcDogcmVtKDQ1KTtcbiAgICB9XG4gICAgLnJlbGF0ZWQtYXJ0aWNsZXtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSg0KTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxMHB4IDE1cHggcmdiYSgxMTAsIDIxMywgMTM0LCAwLjEpKTtcbiAgICAgIC5pbWFnZS1wYXJ0e1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0oMTg1KTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgfVxuICAgICAgLmNvbnRlbnQtcGFydHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAucG9zdC10aXRsZXtcbiAgICAgICAgICBtYXJnaW46IDAgMCByZW0oOSkgMDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIHJlbSgxMikgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmVudHJ5X21ldGF7XG4gICAgICAgICAgLmVudHJ5X21ldGFfaW5mbyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgICBjb2xvcjogIzJGM0IzQjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiYm9keSxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkY29sb3JfX3RleHQtbWFpbjtcblx0Zm9udC1mYW1pbHk6ICRmb250X2ZhbWlseTtcblx0Zm9udC1zaXplOiAkYmFzZV9mb250X3NpemU7XG5cdGxpbmUtaGVpZ2h0OiAkZm9udF9fbGluZS1oZWlnaHQtYm9keTtcbn1cblxuLy8gTWFpbiBsaW5rIHN0eWxpbmdcbmEge1xuXHRjb2xvcjogJGNvbG9yX19saW5rO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjp2aXNpdGVkIHtcblx0XHRjb2xvcjogJGNvbG9yX19saW5rLXZpc2l0ZWQ7XG5cdH1cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyxcblx0JjphY3RpdmUge1xuXHRcdGNvbG9yOiAkY29sb3JfX2xpbmstaG92ZXI7XG5cdFx0Ly90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG59XG5cbmgxLGgyLGgzLGg0LGg1LGg2IHtcblx0Zm9udC1mYW1pbHk6ICdQb3BwaW5zJztcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiAkY29uZmlnLW1haW4tY29sb3ItZGFyaztcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRtYXJnaW4tdG9wOiByZW0oOCk7XG59XG5oMXtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLXh4eGwtbW9iaWxlO1xuXHRAaW5jbHVkZSBicChsYXB0b3B4cykge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHhsO1xuXHR9XG59XG5cbmgye1xuXHRmb250LXNpemU6ICRmb250LXNpemUteHhsLW1vYmlsZTtcblx0QGluY2x1ZGUgYnAobGFwdG9weHMpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUteHhsO1xuXHR9XG59XG5cbmgze1xuXHRmb250LXNpemU6ICRmb250LXNpemUtbC1tb2JpbGU7XG5cdEBpbmNsdWRlIGJwKGxhcHRvcHhzKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWw7XG5cdH1cbn1cblxuaDR7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tLW1vYmlsZTtcblx0QGluY2x1ZGUgYnAobGFwdG9weHMpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtbTtcblx0fVxufVxuXG5oNSxoNntcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWQ7XG59XG5cbnB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1kLW1vYmlsZTtcblx0QGluY2x1ZGUgYnAodGFibGV0KSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWQtdGFibGV0O1xuXHR9XG5cdEBpbmNsdWRlIGJwKGxhcHRvcHhzKSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWQ7XG5cdH1cblx0bWFyZ2luLWJvdHRvbTogcmVtKDE0KTtcblx0Y29sb3I6ICRjb25maWctbWFpbi1jb2xvci10ZXh0LWRhcms7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmhyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19iYWNrZ3JvdW5kLWhyO1xuXHRib3JkZXI6IDA7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuZGZuLCBjaXRlLCBlbSwgaSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYmxvY2txdW90ZSB7XG5cdG1hcmdpbjogMCAxLjVlbTtcbn1cblxuXG5hZGRyZXNzIHtcblx0Ly9tYXJnaW46IDAgMCByZW0oNDApO1xufVxuXG5wcmUge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQtcHJlO1xuXHRmb250LWZhbWlseTogJGZvbnRfX3ByZTtcblx0QGluY2x1ZGUgZm9udC1zaXplKDAuOTM3NSk7XG5cdGxpbmUtaGVpZ2h0OiAkZm9udF9fbGluZS1oZWlnaHQtcHJlO1xuXHRtYXJnaW4tYm90dG9tOiAxLjZlbTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cGFkZGluZzogMS42ZW07XG59XG5cbmNvZGUsIGtiZCwgdHQsIHZhciB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udF9fY29kZTtcblx0QGluY2x1ZGUgZm9udC1zaXplKDAuOTM3NSk7XG59XG5cbmFiYnIsIGFjcm9ueW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRjb2xvcl9fYm9yZGVyLWFiYnI7XG5cdGN1cnNvcjogaGVscDtcbn1cblxubWFyaywgaW5zIHtcblx0YmFja2dyb3VuZDogJGNvbG9yX19iYWNrZ3JvdW5kLWlucztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5iaWcge1xuXHRmb250LXNpemU6IDEyNSU7XG59XG5cbnNtYWxsIHtcblx0Zm9udC1zaXplOiBlbSgxMCk7XG59XG5cblxuLy8gSGVscGVyIGZvbnQgY2xhc3Nlc1xuLmFjY2VudCB7XG5cdGZvbnQtc2l6ZTogZW0oMTYpO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdCYuc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogZW0oMTIpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdH1cbn1cblxuXG4iLCIvLyAgRGVmaW5lIGhlcmUgR29vbGUgb3IgQ3VzdG9tIEZvbnRzIGFuZCBpY29ucyBmYWNlc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3IgR29vZ2xlIEZvbnRzIHVzZSAgaHR0cHM6Ly9nb29nbGUtd2ViZm9udHMtaGVscGVyLmhlcm9rdWFwcC5jb20vZm9udHNcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0F2ZW5pciBOZXh0JztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0F2ZW5pciBOZXh0JztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL0F2ZW5pck5leHRMVFByby1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBdmVuaXIgTmV4dCc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9BdmVuaXJOZXh0TFRQcm8tSXQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvQXZlbmlyTmV4dExUUHJvLUl0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUJsYWNrLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMvUG9wcGlucy1CbGFjay53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtRXh0cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMvUG9wcGlucy1FeHRyYUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLVNlbWlCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMvUG9wcGlucy1TZW1pQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMvUG9wcGlucy1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy9Qb3BwaW5zLUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMvUG9wcGlucy1MaWdodC53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtVGhpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi9mb250cy9Qb3BwaW5zL1BvcHBpbnMtVGhpbi53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBzcmM6IHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItQmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItQmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0ludGVyL0ludGVyLUV4dHJhQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi9mb250cy9JbnRlci9JbnRlci1FeHRyYUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0ludGVyL0ludGVyLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBzcmM6IHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0ludGVyL0ludGVyLU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcuLi9mb250cy9JbnRlci9JbnRlci1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0ludGVyL0ludGVyLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBzcmM6IHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0ludGVyL0ludGVyLVRoaW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvSW50ZXIvSW50ZXItVGhpbi53b2ZmMicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuIiwiaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIgeyAvKiBJbmhlcml0IGJveC1zaXppbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY2hhbmdlIHRoZSBwcm9wZXJ0eSBmb3IgY29tcG9uZW50cyB0aGF0IGxldmVyYWdlIG90aGVyIGJlaGF2aW9yOyBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvICovXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbkBpbXBvcnQgXCJsaXN0c1wiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuIiwidWwsIG9sIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwIDAgMCAxcmVtO1xufVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG59XG5cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kZCB7XG4gIG1hcmdpbjogMCAxLjVlbSAxLjVlbTtcbn1cblxuLnBhZ2luYXRpb25fd3JhcHtcblx0cGFkZGluZy10b3A6IHJlbSgyMCk7XG4gICAgdWx7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCA5cHggNXB4OyBcbiAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgbWFyZ2luOiAwIDRweDs7XG4gICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJ0YWJsZSB7XG4gIG1hcmdpbjogMCAwIDEuNWVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVXNlIGZvciBhbGwgdGFibGVzXG4udGFibGUtd3JhcHBlciB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuIiwiLy8gTWFwcy5cbi8vIFRoZSBjb2xvciB2YXJpYWJsZXMgYXJlIGRlZmluZWQgaW4gdmFyaWFibGVzL19jb2xvcnMuc2NzcywgaW4gb3JkZXIgdG8gYmUgYXZhaWxhYmxlIGV2ZXJ5d2hlcmVcbiRjb2xvcjogKFxuICBncmV5LXRleHQ6ICRncmV5LXRleHQsXG4gIGRhcmstZ3JleTogJGRhcmstZ3JleSxcbiAgcHJpbWFyeS1jb2xvcjogJGNvbmZpZy1tYWluLWNvbG9yLFxuICBzZWNvbmRhcnktY29sb3I6ICRjb25maWctYnV0dG9ucy1iYWNrZ3JvdW5kLWNvbG9yLFxuICB3aGl0ZTogI0ZGRkZGRixcbiAgYmxhY2s6ICMwMDAwMDBcbik7XG5cbkBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9yIHtcbiAgLmhhcy0jeyRuYW1lfS1jb2xvciB7XG4gICAgY29sb3I6ICR2YWx1ZTtcbiAgfVxuXG4gIC5oYXMtI3skbmFtZX0tYmFja2dyb3VuZC1jb2xvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogRm9udCBzaXplcy5cbiAqXG4gKiBUd28gc2V0cywgb25jZSBmb3IgbW9iaWxlIGFuZCBvbmUgZm9yIGRlc2t0b3AuIEZlZWwgZnJlZSB0byBhZGQgb3IgcmVtb3ZlIGlmIG5lZWRlZFxuICovXG4kZm9udC1zaXplOiAoXG4gIHhzOiAkZm9udC1zaXplLXhzLW1vYmlsZSxcbiAgczogJGZvbnQtc2l6ZS1zLW1vYmlsZSxcbiAgZDogJGZvbnQtc2l6ZS1kLW1vYmlsZSxcbiAgbTogJGZvbnQtc2l6ZS1tLW1vYmlsZSxcbiAgbDogJGZvbnQtc2l6ZS1sLW1vYmlsZSxcbiAgeGw6ICRmb250LXNpemUteGwtbW9iaWxlLFxuICB4eGw6ICRmb250LXNpemUteHhsLW1vYmlsZSxcbiAgeHh4bDogJGZvbnQtc2l6ZS14eHhsLW1vYmlsZVxuKTtcbkBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGZvbnQtc2l6ZSB7XG4gIC5oYXMtI3skbmFtZX0tZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgfVxufVxuXG5cbiRmb250LXNpemUtdGFibGV0OiAoXG4gIHhzOiAkZm9udC1zaXplLXhzLXRhYmxldCxcbiAgczogJGZvbnQtc2l6ZS1zLXRhYmxldCxcbiAgZDogJGZvbnQtc2l6ZS1kLXRhYmxldCxcbiAgbTogJGZvbnQtc2l6ZS1tLXRhYmxldCxcbiAgbDogJGZvbnQtc2l6ZS1sLXRhYmxldCxcbiAgeGw6ICRmb250LXNpemUteGwtdGFibGV0LFxuICB4eGw6ICRmb250LXNpemUteHhsLXRhYmxldCxcbiAgeHh4bDogJGZvbnQtc2l6ZS14eHhsLXRhYmxldCxcbik7XG5cbkBpbmNsdWRlIGJwKHRhYmxldCl7XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGZvbnQtc2l6ZS10YWJsZXQge1xuICAgIC5oYXMtI3skbmFtZX0tZm9udC1zaXplIHtcbiAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG5cbiRmb250LXNpemUtZGVza3RvcDogKFxuICB4czogJGZvbnQtc2l6ZS14cyxcbiAgczogJGZvbnQtc2l6ZS1zLFxuICBkOiAkZm9udC1zaXplLWQsXG4gIG06ICRmb250LXNpemUtbSxcbiAgbDogJGZvbnQtc2l6ZS1sLFxuICB4bDogJGZvbnQtc2l6ZS14bCxcbiAgeHhsOiAkZm9udC1zaXplLXh4bCxcbiAgeHh4bDogJGZvbnQtc2l6ZS14eHhsLFxuKTtcbkBpbmNsdWRlIGJwKGxhcHRvcHhzKXtcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkZm9udC1zaXplLWRlc2t0b3Age1xuICAgIC5oYXMtI3skbmFtZX0tZm9udC1zaXplIHtcbiAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4iLCIud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtcy1zZWN0aW9uLXBhZGRpbmd7XG4gIHBhZGRpbmc6IHJlbSgyMCkgMDtcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcbiAgICBwYWRkaW5nOiByZW0oNDApIDA7XG4gIH1cbn1cblxuLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLW0tc2VjdGlvbi1wYWRkaW5ne1xuICBwYWRkaW5nOiByZW0oNDApIDA7XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSl7XG4gICAgcGFkZGluZzogcmVtKDYwKSAwO1xuICB9XG59XG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtbC1zZWN0aW9uLXBhZGRpbmd7XG4gIHBhZGRpbmc6IHJlbSg1MCkgMDtcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcbiAgICBwYWRkaW5nOiByZW0oODApIDA7XG4gIH1cbn1cblxuLndwLWJsb2NrLWltYWdlLmlzLXN0eWxlLXJvdW5kZWQtY2lyY2xlIGltZ3tcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uaGFzLWJsdWUtZ3JhZGllbnQtZ3JhZGllbnQtYmFja2dyb3VuZHtcbiAgYmFja2dyb3VuZDogJGNvbmZpZy1iYWNrZ3JvdW5kLWdyYWRpZW50LWJsdWU7XG59IiwiQGltcG9ydCBcImd1dGVuX2ZvbnRfY29sb3JfdmFyaWFibGVzXCI7IC8vIEhlcmUgaXMgdGhlIG1haW4gR3V0ZW5iZXJnIEZPbnRzIGFuZCBjb2xvcnMgY29uZmlnLCBtdXN0IG1pbWljIHRoZSBzZXR0aW5ncyBpbiBpbmMvZ3V0ZW5fZm9udF9jb2xvcl92YXJpYWJsZXNcbkBpbXBvcnQgXCJibG9ja19zdHlsZXNcIjtcblxuXG4ud3AtYmxvY2stY292ZXIuYWxpZ25mdWxse1xuICBwYWRkaW5nOiAwO1xuICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lcntcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5cbi8vU2ltcGxlIEZsZXggQ29sdW1ucy4gQ2FuIGJlIG1hbnVhbGx5IGFkZGVkIHRvIEdyb3VwIGJsb2NrcyBhbmQgaXQncyBpbm5lciBibG9ja3MuXG4kY29sdW1ucy1nYXA6IDAuOTM3NXJlbTtcbi5jb2x1bW5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLSRjb2x1bW5zLWdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNvbHVtbnMtZ2FwO1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2x1bW5zLWdhcDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29sdW1ucy1nYXA7XG4gICAgcGFkZGluZy1ib3R0b206ICRjb2x1bW5zLWdhcDtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgICAgcGFkZGluZy10b3A6ICRjb2x1bW5zLWdhcDtcbiAgICB9XG4gICAgJi5mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYuZ3JpZF8yIHtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xuICAgICAgLmNvbHVtbntcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5ncmlkXzMge1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgICAuY29sdW1ue1xuICAgICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5ncmlkXzQge1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgICAuY29sdW1ue1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgICAgLmNvbHVtbntcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5ncmlkXzUge1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XG4gICAgICAuY29sdW1ue1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgICAgLmNvbHVtbntcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi53cC1ibG9jay1yYW5rLW1hdGgtdG9jLWJsb2Nre1xuICBiYWNrZ3JvdW5kOiAjRjZGOUZGO1xuICBwYWRkaW5nOiByZW0oMjUpIHJlbSgzNSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcbiAgICBwYWRkaW5nOiByZW0oNDApIHJlbSg1NSk7XG4gIH1cbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDg1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjg5OTYxOTIyMjY4OTA3NTYpIDkwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjc5NTk3Nzc2NjEwNjQ0MjYpIDk1JSwgcmdiYSgyNTUsMjU1LDI1NSwwLjIwMjE0MDIzMTA5MjQzNjk1KSAxMDAlKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBoMntcbiAgICBtYXJnaW46IDAgMCByZW0oMzIpIDA7XG4gICAgZm9udC1zaXplOiByZW0oMjYpO1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSl7XG4gICAgICBtYXJnaW46IDAgMCByZW0oNDUpIDA7XG4gICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgfVxuICB9XG4gIHVse1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSgzMCk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaXtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwLWNvdW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6ICMxQTFFMjI7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDogY291bnRlcihzdGVwLWNvdW50ZXIpJy4nO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIGNvbG9yOiAjMUExRTIyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg1KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1vZi1jb250ZW50cy1zaWRlYmFye1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoICggMTAwJSAtICN7JHNpbmdsZV9wb3N0X2NvbnRlbnRfd2lkdGhfZGVza3RvcH0gLSAje3JlbSggMiAqIDQwcHggKX0gKSAvIDIpIDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGgye1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICB9XG4gICAgLmNvbnRlbnQtZWxlbWVudC1yb3d7XG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZle1xuICAgICAgICAuY29udGVudC1oZWFkaW5ne1xuICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBhe1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29udGVudC1oZWFkaW5ne1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGNvbG9yOiAjMUExRTIyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHJlbSgyMCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHNwYW57XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1heC13aWR0aDogcmVtKDIwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjEpO1xuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMjEpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjEpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhe1xuICAgICAgICAgIGNvbG9yOiAjMUExRTIyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlcnMgY2xhc3Nlc1xuXG4udGV4dC1hbGlnbi1jZW50ZXJ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbnRhaW5lci1zbWFsbGVye1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xuICAgIG1heC13aWR0aDogcmVtKDYxMCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLmFsaWduLXN0YXJ0e1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLm1heC13aWR0aC05ODB7XG4gIG1heC13aWR0aDogcmVtKDk4MCk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY2xlYXItbWFyZ2lue1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEVORCBIZWxwZXJzIGNsYXNzZXNcblxuLnBhZ2UtNDA0e1xuICAucGFnZS10aXRsZXtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteGw7XG4gIH1cbn0iLCJidXR0b24sXG4uYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4ud3AtYmxvY2stYnV0dG9uX19saW5re1xuXHRib3JkZXI6IDAgbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMS41NWVtO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQtYnV0dG9uO1xuXHRjb2xvcjogJGNvbG9yX190ZXh0LWJ1dHRvbjtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRwYWRkaW5nOiAuNjY3ZW0gMS4zMzNlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyAkZWFzaW5nO1xuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLWhvdmVyO1xuXHR9XG5cblx0JjphY3RpdmUsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24tZm9jdXM7XG5cdH1cblxuXHQmOmRpc2FibGVkLFxuXHQmW2Rpc2FibGVkXSxcblx0LmRpc2FibGVke1xuXHRcdG9wYWNpdHk6IDAuNDtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG59XG5cbi5idXR0b24td3JhcHBlcntcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbjogcmVtKDIwKSAwO1xuXHQmLmNsZWFyLW1hcmdpbntcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0Ji5ib29rLXZpc2l0e1xuXHRcdEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSl7XG5cdFx0XHRtYXgtd2lkdGg6IHJlbSg1MDApO1xuXHRcdH1cblx0XHRhe1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmc6IHJlbSgxOCkgcmVtKDMwKTtcblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHQvL2NvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcblx0XHRcdFx0Y29udGVudDogdXJsKFwiLi4vaWNvbnMvYXJyb3cuc3ZnXCIpO1xuXHRcdFx0XHR3aWR0aDogcmVtKDEyKTtcblx0XHRcdFx0aGVpZ2h0OiByZW0oMTgpO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiByZW0oMzApO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZGVmYXVsdC1idXR0b257XG5cdFx0cGFkZGluZzogcmVtKDEyKSByZW0oMzUpO1xuXHRcdGJhY2tncm91bmQ6ICRjb25maWctYnV0dG9ucy1iYWNrZ3JvdW5kLWNvbG9yO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IHJlbSgxOCk7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGNvbmZpZy1ib3JkZXItcmFkaXVzLXNtYWxsZXI7XG5cdFx0QGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcblx0XHRcdHBhZGRpbmc6IHJlbSgxOCkgcmVtKDM2KTtcblx0XHR9XG5cdH1cblx0LmNsZWFyLWJ1dHRvbntcblx0XHRjb2xvcjogJGNvbmZpZy1idXR0b25zLWJhY2tncm91bmQtY29sb3I7XG5cdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGdhcDogcmVtKDgpO1xuXHR9XG5cbn1cblxuIiwiaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInJhbmdlXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxudGV4dGFyZWEge1xuXHRjb2xvcjogJGNvbG9yX190ZXh0LWlucHV0O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2JvcmRlci1pbnB1dDtcblx0cGFkZGluZzogM3B4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdG1pbi1oZWlnaHQ6IDQwcHg7XG5cdHRyYW5zaXRpb246IDMwMG1zIGFsbDtcblxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJGNvbG9yX190ZXh0LWlucHV0LWZvY3VzO1xuXHRcdHRyYW5zaXRpb246IDMwMG1zIGFsbDtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG5cbnNlbGVjdCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fYm9yZGVyLWlucHV0O1xuXHQvL2hlaWdodDogMi40Mzc1cmVtO1xuXHQvL21hcmdpbjogMCAwIDFyZW07XG5cdC8vLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQvLy1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0Ly9hcHBlYXJhbmNlOiBub25lO1xuXHQvL2JvcmRlci1yYWRpdXM6IDA7XG5cdC8vYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcblx0Ly9mb250LWZhbWlseTogaW5oZXJpdDtcblx0Ly9mb250LXNpemU6IDFyZW07XG5cdC8vZm9udC13ZWlnaHQ6IDQwMDtcblx0Ly9saW5lLWhlaWdodDogMS41O1xuXHQvL2NvbG9yOiAjMGEwYTBhO1xuXHQvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblx0Ly9iYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG5cdC8vYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuXHQvL2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdC8vYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXHQvL3BhZGRpbmc6IC41cmVtIDEuNXJlbSAuNXJlbSAuNXJlbTtcblx0Ly8td2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMjVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgLjVzO1xuXHQvL3RyYW5zaXRpb246IGJveC1zaGFkb3cgLjVzLCBib3JkZXItY29sb3IgLjI1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IC41cztcbn1cblxudGV4dGFyZWEge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLy8gQ29udGFjdCBmb3JtIDcgc3BlY2lmaWMgc3R5bGVzXG4vLy53cGNmNyB7XG4vL1x0LndwY2Y3LWxpc3QtaXRlbSB7XG4vL1x0XHRiYWNrZ3JvdW5kOiAkY2F0c2tpbGxfd2hpdGU7XG4vL1x0XHRkaXNwbGF5OiB0YWJsZTtcbi8vXHRcdHBhZGRpbmc6IC41cmVtIDFyZW07XG4vL1x0XHRtYXJnaW4tYm90dG9tOiByZW0oNCk7XG4vL1x0XHRtYXJnaW4tbGVmdDogMDtcbi8vXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcbi8vXHR9XG4vL1x0LndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XG4vL1x0XHRwYWRkaW5nOiAuM3JlbTtcbi8vXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vL1x0fVxuLy9cdGxhYmVsIHtcbi8vXHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcbi8vXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG4vL1x0fVxuLy9cbi8vXHQud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbi8vXHRcdHBhZGRpbmc6IDFyZW07XG4vL1x0XHRib3JkZXItd2lkdGg6IDFweDtcbi8vXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG4vL1x0XHQmLndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcbi8vXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHJpY2hfZ29sZDtcbi8vXHRcdH1cbi8vXHR9XG4vL30iLCIubWVudV93cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAvL2NoYW5nZSBvcmRlciB0byAtMSB0byBtb3ZlIGhhbWJ1cmdlciBtZW51IHRvIHRoZSBsZWZ0XG4gICAgb3JkZXI6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgIG9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5zaXRlLW5hdi13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmLnRvZ2dsZWQge1xuICAgICAgdWwge1xuICAgICAgICAmI3ByaW1hcnktbWVudSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skaGVhZGVyX2hlaWdodF9tb2JpbGV9KTtcblxuICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsI3ByaW1hcnktbWVudSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiByZW0oMzUpO1xuICAgICAgbGkge1xuXG4gICAgICAgIC5idXR0b24td3JhcHBlcntcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTgpIHJlbSgzNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkY29uZmlnLW1haW4tY29sb3ItdGV4dC1kYXJrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgcGFkZGluZzogcmVtKDEyKSByZW0oMjQpO1xuICAgICAgICAgICYuZGVmYXVsdC1idXR0b257XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVte1xuICAgICAgICAgIGF7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWQ7XG4gICAgICAgICAgICBjb2xvcjogJGNvbmZpZy1tYWluLWNvbG9yLWRhcmtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYjYm9vbi1ub3ctYnV0dG9ue1xuICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMikgcmVtKDI0KTtcbiAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYjYm9vbi1ub3ctYnV0dG9ue1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlcntcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxOCkgcmVtKDM2KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMikgMCByZW0oMTIpIHJlbSgxNik7XG4gICAgICAgICAgICAvL2NvbG9yOiAkZ3JleS10ZXh0O1xuICAgICAgICAgICAgLy9mb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IGVtKDQwKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC45cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcmVtKDE2MCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB0b3A6ICRoZWFkZXJfaGVpZ2h0X21vYmlsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzICRlYXNpbmc7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tY2hldnJvbi5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMjMpO1xuICAgICAgICAgICAgdG9wOiAxLjU1ZW07XG4gICAgICAgICAgICB3aWR0aDogcmVtKDE2KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDE2KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4xNXMgMC4xNXMsIHBhZGRpbmcgMC4xNXMgMC4xNXMsXG4gICAgICAgICAgICAgIG1hcmdpbiAwLjE1cyAwLjE1cztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxZW0gcmVtKDI1KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5mb2N1cyB7XG4gICAgICAgICAgICA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbSg1MDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgLy8mOjpiZWZvcmUge1xuICAgICAgICAgIC8vICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIC8vICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LXRleHQ7XG4gICAgICAgICAgLy8gIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjFlbSk7XG4gICAgICAgICAgLy8gIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIC8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy8gIGJvdHRvbTogMDtcbiAgICAgICAgICAvLyAgbGVmdDogMS41NWVtO1xuICAgICAgICAgIC8vfVxuXG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbSg3MDApO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMTVzIDAuMTVzLCBwYWRkaW5nIDAuMTVzIDAuMTVzLFxuICAgICAgICAgICAgbWFyZ2luIDAuMTVzIDAuMTVzO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAkZ3JleS10ZXh0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bm90KCNib29uLW5vdy1idXR0b24pe1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS10ZXh0O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMTVzIDAuMTVzLCBwYWRkaW5nIDAuMTVzIDAuMTVzLFxuICAgICAgICAgICAgICBtYXJnaW4gMC4xNXMgMC4xNXM7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICBtYXJnaW46IC0xcmVtIDAgMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgbm9uZTtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4zZW0gcmVtKDM2KSAwLjNlbSAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5maXhlZCAubWVudV93cmFwcGVyIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IHtcbiAgdG9wOiAzLjFlbTtcbn1cbi8qIFNtYWxsIG1lbnUuICovXG4ubWVudS10b2dnbGUsXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgJi50b2dnbGVkIHtcbiAgICB1bCB7XG4gICAgICBtYXgtaGVpZ2h0OiBlbSg1MDApO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgLm1lbnUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhhbWJ1cmdlciBJQ29uXG4uaGFtYnVyZ2VyIHtcbiAgd2lkdGg6IHJlbSgzMSk7XG4gIGhlaWdodDogcmVtKDIwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9yZGVyOiAyO1xuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JleTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IDBweDtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiByZW0oMTApO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0b3A6IHJlbSgyMCk7XG4gICAgfVxuICB9XG4gICYub3BlbiB7XG4gICAgc3BhbiB7XG4gICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHRvcDogcmVtKDEwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgbGVmdDogLXJlbSgtNjApO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICB0b3A6IHJlbSgxMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMDtcblxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgfVxuXG4gICYub3BlbmVkIHtcbiAgICAuY2FydC1wb3B1cCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIH1cbiAgfVxuICAuY2FydC1wb3B1cCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDExNSU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiBlbSgzMDApO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBib3JkZXItcmFkaXVzOiBlbSg4KTtcbiAgICBib3gtc2hhZG93OiAwIDE5cHggNDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyMjBweCk7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAvKiBXZWJLaXQgKi9cbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuLmNhcnQtY29udGVudHMge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9zaG9wcGluZy1iYWcuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IGVtKDI3KTtcbiAgaGVpZ2h0OiBlbSgzMCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLy8gbWFyZ2luLXJpZ2h0OiAyZW07XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgc3Bhbi5hbW91bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgc3Bhbi5jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICRncmV5LXRleHQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IC0xMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5jYXJ0LWl0ZW1zIHtcbiAgICAmW2RhdGEtaXRlbXM9XCIwXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiIsIi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHg7XG5cdHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IC8qIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LiAqL1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmFja2dyb3VuZC1zY3JlZW47XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcblx0XHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0Y2xpcC1wYXRoOiBub25lO1xuXHRcdGNvbG9yOiAkY29sb3JfX3RleHQtc2NyZWVuO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgwLjg3NSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDVweDtcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0b3A6IDVweDtcblx0XHR3aWR0aDogYXV0bztcblx0XHR6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG5cdH1cbn1cblxuLyogRG8gbm90IHNob3cgdGhlIG91dGxpbmUgb24gdGhlIHNraXAgbGluayB0YXJnZXQuICovXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcblx0b3V0bGluZTogMDtcbn1cbiIsIi5hbGlnbmxlZnQge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuXG4uYWxpZ25yaWdodCB7XG5cdGRpc3BsYXk6IGlubGluZTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi5hbGlnbmNlbnRlciB7XG5cdGNsZWFyOiBib3RoO1xuXHRAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG59XG5cblxuLmFsaWduZnVsbCB7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG5cdG1heC13aWR0aDogMTAwdnc7XG5cdHdpZHRoOiAxMDB2dztcbn1cblxuLmFsaWdud2lkZSB7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG5cdG1heC13aWR0aDogMTAwdnc7XG5cdHdpZHRoOiAxMDB2dztcblx0cGFkZGluZy1sZWZ0OiBlbSgzMCk7XG5cdHBhZGRpbmctcmlnaHQ6IGVtKDMwKTtcblx0QGluY2x1ZGUgYnAocGhvbmV4c2Rvd24pe1xuXHRcdHBhZGRpbmctbGVmdDogZW0oMTUpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGVtKDE1KTtcblx0fVxuXHRAaW5jbHVkZSBicChsYXB0b3B4cyl7XG5cdFx0bWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjAwcHgpO1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA2MDBweCk7XG5cdFx0bWF4LXdpZHRoOiAkc2l0ZV93aWR0aF9sYXB0b3B4cztcblx0XHR3aWR0aDogJHNpdGVfd2lkdGhfbGFwdG9weHM7XG5cblx0fVxuXG59IiwiLmNsZWFyOmJlZm9yZSxcbi5jbGVhcjphZnRlcixcbi5lbnRyeS1jb250ZW50OmJlZm9yZSxcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDpiZWZvcmUsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmJlZm9yZSxcbi5zaXRlLWhlYWRlcjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6YmVmb3JlLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjpiZWZvcmUsXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjphZnRlciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4LWFmdGVyO1xufVxuIiwiLnBhZ2UtY29udGVudCAud3Atc21pbGV5LFxuLmVudHJ5LWNvbnRlbnQgLndwLXNtaWxleSxcbi5jb21tZW50LWNvbnRlbnQgLndwLXNtaWxleSB7XG5cdGJvcmRlcjogbm9uZTtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0bWFyZ2luLXRvcDogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycy4gKi9cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuXHRoZWlnaHQ6IGF1dG87IC8qIE1ha2Ugc3VyZSBpbWFnZXMgYXJlIHNjYWxlZCBjb3JyZWN0bHkuICovXG5cdG1heC13aWR0aDogMTAwJTsgLyogQWRoZXJlIHRvIGNvbnRhaW5lciB3aWR0aC4gKi9cbn1cblxuZmlndXJlIHtcblx0bWFyZ2luOiAxZW0gMDsgLyogRXh0cmEgd2lkZSBpbWFnZXMgd2l0aGluIGZpZ3VyZSB0YWdzIGRvbid0IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEuICovXG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBDYXB0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImNhcHRpb25zXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIEdhbGxlcmllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImdhbGxlcmllc1wiO1xuIiwiLndwLWNhcHRpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuXHRcdEBpbmNsdWRlIGNlbnRlci1ibG9jaztcblx0fVxuXG5cdC53cC1jYXB0aW9uLXRleHQge1xuXHRcdG1hcmdpbjogMC44MDc1ZW0gMDtcblx0fVxufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLmdhbGxlcnkge1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR3aWR0aDogMTAwJTtcblxuXHQvLyBMb29wcyB0byBlbnVtZXJhdGUgdGhlIGNsYXNzZXMgZm9yIGdhbGxlcnkgY29sdW1ucy5cblx0QGZvciAkaSBmcm9tIDIgdGhyb3VnaCA5IHtcblx0XHQuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9ICYge1xuXHRcdFx0bWF4LXdpZHRoOiBtYXAtZ2V0KCAkY29sdW1ucywgJGkgKTtcblx0XHR9XG5cdH1cbn1cblxuLmdhbGxlcnktY2FwdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiJGNvbHVtbnM6IChcbiAgICAgICAgMTogMTAwJSxcbiAgICAgICAgMjogNTAlLFxuICAgICAgICAzOiAzMy4zMyUsXG4gICAgICAgIDQ6IDI1JSxcbiAgICAgICAgNTogMjAlLFxuICAgICAgICA2OiAxNi42NiUsXG4gICAgICAgIDc6IDE0LjI4JSxcbiAgICAgICAgODogMTIuNSUsXG4gICAgICAgIDk6IDExLjExJVxuKTtcblxuJGNvbHVtbnNfX21hcmdpbjogMy44JTtcbiIsIlxuLy8gVmlzaWJpbGl0eSBjbGFzc2VzXG4uc2hvdy14cyB7XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhpZGUteHMge1xuICBAaW5jbHVkZSBicCh0YWJsZXRkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSJdfQ== */
