@charset "UTF-8";
/*! normalize.css v8.0.1 | 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;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * 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 {
  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 {
  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] {
  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;
}

/*
Préfixe des paramètres :
    ff_     -> font-family
    fs_     -> font-size
    fw_     -> font-weight
    ls_     -> letter-spacing
    lh_     -> line-height
    upper_  -> uppercase -> true or false
    c_      -> color
    m_      -> margin
    p_      -> padding
    td_     -> text-decoration
    bc_     -> background-color
    bs_     -> background-size
    bp_     -> background-position
    br_     -> background-repeat
    bd_     -> border
    bdc_    -> border-color
    bdr_    -> border-radius
    bxs_    -> box-shadow
    mw_     -> max-width
    w_      -> width
    h_      -> height
    tr_     -> transition
Suffixe des paramètres :
    _mob    -> mobile -> définis la version mobile du paramètre
*/
.AltiFaqContainer, .AltiFaqContainer-full {
  width: 100%;
  margin: 0 auto;
  max-width: 155rem;
  box-sizing: border-box;
}
@media (min-width: 993px) {
  .AltiFaqContainer, .AltiFaqContainer-full {
    padding: 5rem 2.5rem;
  }
}
@media (max-width: 992px) and (min-width: 769px) {
  .AltiFaqContainer, .AltiFaqContainer-full {
    padding: 4rem 2.5rem;
  }
}
@media (max-width: 768px) {
  .AltiFaqContainer, .AltiFaqContainer-full {
    padding: 3rem 2.5rem;
  }
}
@media (min-width: 993px) {
  .AltiFaqContainer-full {
    max-width: initial;
  }
}

.AltiFaq {
  margin: 0 auto;
}
.AltiFaq-inner {
  display: grid;
  align-items: start;
  grid-template-columns: 380px 1fr;
  gap: 76px;
  width: 100%;
}
@media (max-width: 992px) {
  .AltiFaq-inner {
    gap: 20px;
    grid-template-columns: 250px 1fr;
  }
}
@media (max-width: 768px) {
  .AltiFaq-inner {
    grid-template-columns: 1fr;
  }
}
.AltiFaq-filter {
  background-color: #F1EFEA;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  padding: 3rem;
}
.AltiFaq-filter--name {
  font-family: Pier Sans, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.14rem;
  line-height: 1.9rem;
  color: rgba(113, 105, 81, 0.4);
  text-transform: uppercase;
  margin: 0 0 0.8rem 0;
  cursor: pointer;
}
.AltiFaq-filter--name:last-child {
  margin-bottom: 0;
}
.AltiFaq-filter--name.active {
  color: #716951;
}
.AltiFaq-content {
  border-bottom: 0.1rem solid rgba(186, 176, 174, 0.3);
  max-width: 968px;
  width: 100%;
}
.AltiFaq-questions.hide {
  display: none;
}
.AltiFaq-question {
  border-top: 0.1rem solid rgba(186, 176, 174, 0.3);
  padding: 2.8rem 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: 100%;
}
@media (max-width: 768px) {
  .AltiFaq-question {
    padding: 2rem 0;
  }
}
.AltiFaq-question.hide {
  display: none;
}
.AltiFaq-question--link {
  width: 100%;
  cursor: pointer;
  position: relative;
}
.AltiFaq-question--link:after {
  content: "";
  width: 3rem;
  height: 3rem;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22%23716951%22%2F%3E%0A%3Crect%20x%3D%228%22%20y%3D%2214.3%22%20width%3D%2214%22%20height%3D%221.4%22%20rx%3D%220.7%22%20fill%3D%22white%22%2F%3E%0A%3Crect%20x%3D%228%22%20y%3D%2214.3%22%20width%3D%2214%22%20height%3D%221.4%22%20rx%3D%220.7%22%20fill%3D%22%23716951%22%20fill-opacity%3D%220.05%22%2F%3E%0A%3Crect%20x%3D%2215.7%22%20y%3D%228%22%20width%3D%2214%22%20height%3D%221.4%22%20rx%3D%220.7%22%20transform%3D%22rotate(90%2015.7%208)%22%20fill%3D%22white%22%2F%3E%0A%3Crect%20x%3D%2215.7%22%20y%3D%228%22%20width%3D%2214%22%20height%3D%221.4%22%20rx%3D%220.7%22%20transform%3D%22rotate(90%2015.7%208)%22%20fill%3D%22%23716951%22%20fill-opacity%3D%220.05%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  pointer-events: none;
  transform: translateY(-50%);
}
.is-open .AltiFaq-question--link:after {
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22%23716951%22%2F%3E%0A%3Crect%20x%3D%228%22%20y%3D%2214.3%22%20width%3D%2214%22%20height%3D%221.4%22%20rx%3D%220.7%22%20fill%3D%22white%22%2F%3E%0A%3Crect%20x%3D%228%22%20y%3D%2214.3%22%20width%3D%2214%22%20height%3D%221.4%22%20rx%3D%220.7%22%20fill%3D%22%23716951%22%20fill-opacity%3D%220.05%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}
@media (max-width: 768px) {
  .AltiFaq-question--link:after {
    right: 0;
  }
}
.AltiFaq-question--row {
  display: flex;
  flex-wrap: wrap;
}
.AltiFaq-question--cat {
  font-family: petersburg-web, sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4rem;
  color: #716951;
  text-transform: initial;
  margin: 0 0 0.6rem 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.AltiFaq-question--cat + * {
  margin-left: 0.5rem;
}
.AltiFaq-question--title {
  font-family: Pier Sans, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.15rem;
  line-height: 2rem;
  color: #716951;
  text-transform: uppercase;
  max-width: 794px;
  width: calc(100% - 60px);
}
@media (max-width: 768px) {
  .AltiFaq-question--title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
.AltiFaq-question--text {
  font-family: Pier Sans, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.075rem;
  line-height: 2rem;
  color: #716951;
  text-transform: initial;
  max-height: 0;
  overflow: hidden;
  will-change: max-height;
  transition: all 0.25s ease-out;
  opacity: 0;
}
.is-open .AltiFaq-question--text {
  opacity: 1;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZhcS5jc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vLi4vdGhlbWVzL3RoZW1lX2FsdGltYXgvYXNzZXRzL3Njc3MvbW9kdWxlL2ZhcS9fY29uZmlnLnNjc3MiLCJjb25maWcvX2xheW91dC5zY3NzIiwidmVuZG9yL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJmYXEuc2NzcyIsImNvbmZpZy9fbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCLDJFQUFBO0FBRUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLGlCQUFBLEVBQUEsTUFBQTtFQUNBLDhCQUFBLEVBQUEsTUFBQTtBRERGOztBQ0lBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLFNBQUE7QURIRjs7QUNNQTs7RUFBQTtBQUlBO0VBQ0UsY0FBQTtBREpGOztBQ09BOzs7RUFBQTtBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FETEY7O0FDUUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLHVCQUFBLEVBQUEsTUFBQTtFQUNBLFNBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0FEUEY7O0FDVUE7OztFQUFBO0FBS0E7RUFDRSxpQ0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtBRFJGOztBQ1dBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLDZCQUFBO0FEVkY7O0FDYUE7OztFQUFBO0FBS0E7RUFDRSxtQkFBQSxFQUFBLE1BQUE7RUFDQSwwQkFBQSxFQUFBLE1BQUE7RUFDQSx5Q0FBQTtVQUFBLGlDQUFBLEVBQUEsTUFBQTtBRFhGOztBQ2NBOztFQUFBO0FBSUE7O0VBRUUsbUJBQUE7QURaRjs7QUNlQTs7O0VBQUE7QUFLQTs7O0VBR0UsaUNBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7QURiRjs7QUNnQkE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QURkRjs7QUNpQkE7OztFQUFBO0FBS0E7O0VBRUUsY0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0FEZkY7O0FDa0JBO0VBQ0UsZUFBQTtBRGZGOztBQ2tCQTtFQUNFLFdBQUE7QURmRjs7QUNrQkE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0Usa0JBQUE7QURqQkY7O0FDb0JBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBS0Usb0JBQUEsRUFBQSxNQUFBO0VBQ0EsZUFBQSxFQUFBLE1BQUE7RUFDQSxpQkFBQSxFQUFBLE1BQUE7RUFDQSxTQUFBLEVBQUEsTUFBQTtBRG5CRjs7QUNzQkE7OztFQUFBO0FBS0E7UUFDUSxNQUFBO0VBQ04saUJBQUE7QURwQkY7O0FDdUJBOzs7RUFBQTtBQUtBO1NBQ1MsTUFBQTtFQUNQLG9CQUFBO0FEckJGOztBQ3dCQTs7RUFBQTtBQUlBOzs7O0VBSUUsMEJBQUE7QUR0QkY7O0FDeUJBOztFQUFBO0FBSUE7Ozs7RUFJRSxrQkFBQTtFQUNBLFVBQUE7QUR2QkY7O0FDMEJBOztFQUFBO0FBSUE7Ozs7RUFJRSw4QkFBQTtBRHhCRjs7QUMyQkE7O0VBQUE7QUFJQTtFQUNFLDhCQUFBO0FEekJGOztBQzRCQTs7Ozs7RUFBQTtBQU9BO0VBQ0Usc0JBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtFQUNBLGVBQUEsRUFBQSxNQUFBO0VBQ0EsVUFBQSxFQUFBLE1BQUE7RUFDQSxtQkFBQSxFQUFBLE1BQUE7QUQxQkY7O0FDNkJBOztFQUFBO0FBSUE7RUFDRSx3QkFBQTtBRDNCRjs7QUM4QkE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QUQ1QkY7O0FDK0JBOzs7RUFBQTtBQUtBOztFQUVFLHNCQUFBLEVBQUEsTUFBQTtFQUNBLFVBQUEsRUFBQSxNQUFBO0FEN0JGOztBQ2dDQTs7RUFBQTtBQUlBOztFQUVFLFlBQUE7QUQ5QkY7O0FDaUNBOzs7RUFBQTtBQUtBO0VBQ0UsNkJBQUEsRUFBQSxNQUFBO0VBQ0Esb0JBQUEsRUFBQSxNQUFBO0FEL0JGOztBQ2tDQTs7RUFBQTtBQUlBO0VBQ0Usd0JBQUE7QURoQ0Y7O0FDbUNBOzs7RUFBQTtBQUtBO0VBQ0UsMEJBQUEsRUFBQSxNQUFBO0VBQ0EsYUFBQSxFQUFBLE1BQUE7QURqQ0Y7O0FDb0NBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QURuQ0Y7O0FDc0NBOztFQUFBO0FBSUE7RUFDRSxrQkFBQTtBRHBDRjs7QUN1Q0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsYUFBQTtBRHRDRjs7QUN5Q0E7O0VBQUE7QUFJQTtFQUNFLGFBQUE7QUR2Q0Y7O0FFcFRBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7RUFDSSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGlCRHNEc0I7RUNyRHRCLHNCQUFBO0FIa1ZKO0FJdU5JO0VEN2lCSjtJQU1RLG9CRHNEZ0I7RUY4UnRCO0FBQ0Y7QUlrTkk7RUQ3aUJKO0lBU1Esb0JEb0RnQjtFRmtTdEI7QUFDRjtBSTZNSTtFRDdpQko7SUFhUSxvQkRpRGdCO0VGc1N0QjtBQUNGO0FJd01JO0VEN2hCQTtJQUlRLGtCQUFBO0VIcVZWO0FBQ0Y7O0FLaFdBO0VBQ0ksY0FBQTtBTG1XSjtBS2xXSTtFQUNJLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7QUxvV1I7QUl3TEk7RUNqaUJBO0lBT1EsU0FBQTtJQUNBLGdDQUFBO0VMc1dWO0FBQ0Y7QUlrTEk7RUNqaUJBO0lBV1EsMEJBQUE7RUx3V1Y7QUFDRjtBS3RXSTtFQUNJLHlCSGtCVTtFR2pCVixnQkh1Q0s7RUd0Q0wsU0h1Q0k7RUd0Q0osZ0JIdUNNO0VHdENOLGFIdUNJO0FGaVVaO0FLdldRO0VDL0JKLGtDSjZCYztFSTVCZCxpQkp3RWtCO0VJdkVsQixnQkp3RWtCO0VJdkVsQix1Qkp3RWtCO0VJdkVsQixtQkp3RWtCO0VJdkVsQiw4Qkp5RWtCO0VJbkVkLHlCQUFBO0VEc0JJLG9CSCtDVTtFRzlDVixlQUFBO0FMK1daO0FLOVdZO0VBQ0ksZ0JBQUE7QUxnWGhCO0FLOVdZO0VBQ0ksY0h3Q007QUZ3VXRCO0FLM1dJO0VBQ0ksb0RIc0NVO0VHckNWLGdCQUFBO0VBQ0EsV0FBQTtBTDZXUjtBS3pXUTtFQUNJLGFBQUE7QUwyV1o7QUt2V0k7RUFDSSxpREgwQlU7RUd6QlYsaUJIMEJVO0VHekJWLGFBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0FMeVdSO0FJb0lJO0VDcGZBO0lBU1EsZUhvQk07RUZ1VmhCO0FBQ0Y7QUt6V1E7RUFDSSxhQUFBO0FMMldaO0FLeFdRO0VBQ0ksV0FBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBTDBXWjtBS3pXWTtFQUNJLFdBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLDJCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzN0JBQUE7RUFDQSx3QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0Esb0JBQUE7RUFDQSwyQkFBQTtBTDJXaEI7QUsxV2dCO0VBQ0ksd2tCQUFBO0FMNFdwQjtBSXFHSTtFQ2hlUTtJQWtCUSxRQUFBO0VMNldsQjtBQUNGO0FLeldRO0VBQ0ksYUFBQTtFQUNBLGVBQUE7QUwyV1o7QUt6V1E7RUN2R0osdUNKNEJjO0VJM0JkLGlCSndGa0I7RUl2RmxCLGdCSndGa0I7RUl2RmxCLGlCSndGa0I7RUl2RmxCLG1CSndGa0I7RUl2RmxCLGNKMkJjO0VJbkJWLHVCQUFBO0VENEZJLG9CSFRXO0VHVVgsVUhYVztFR1lYLHVCSFZXO0VHV1gsZ0JIVlc7QUYyWHZCO0FLL1dZO0VBQ0ksbUJBQUE7QUxpWGhCO0FLOVdRO0VDbEhKLGtDSjZCYztFSTVCZCxpQkpxR29CO0VJcEdwQixnQkpzR29CO0VJckdwQix1QkpzR29CO0VJckdwQixpQkpzR29CO0VJckdwQixjSjJCYztFSXJCVix5QkFBQTtFRHlHSSxnQkFBQTtFQUNBLHdCQUFBO0FMc1haO0FJaUVJO0VDMWJJO0lBS1EsaUJIaEJRO0lHaUJSLGlCSGJRO0VGcVl0QjtBQUNGO0FLdFhRO0VDM0hKLGtDSjZCYztFSTVCZCxpQkpnSG1CO0VJL0duQixnQkpnSG1CO0VJL0duQix3QkpnSG1CO0VJL0duQixpQkpnSG1CO0VJL0duQixjSjJCYztFSW5CVix1QkFBQTtFRGtISSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLDhCQUFBO0VBQ0EsVUFBQTtBTDRYWjtBSzNYWTtFQUNJLFVBQUE7QUw2WGhCIiwiZmlsZSI6ImZhcS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG5QcsOpZml4ZSBkZXMgcGFyYW3DqHRyZXMgOlxuICAgIGZmXyAgICAgLT4gZm9udC1mYW1pbHlcbiAgICBmc18gICAgIC0+IGZvbnQtc2l6ZVxuICAgIGZ3XyAgICAgLT4gZm9udC13ZWlnaHRcbiAgICBsc18gICAgIC0+IGxldHRlci1zcGFjaW5nXG4gICAgbGhfICAgICAtPiBsaW5lLWhlaWdodFxuICAgIHVwcGVyXyAgLT4gdXBwZXJjYXNlIC0+IHRydWUgb3IgZmFsc2VcbiAgICBjXyAgICAgIC0+IGNvbG9yXG4gICAgbV8gICAgICAtPiBtYXJnaW5cbiAgICBwXyAgICAgIC0+IHBhZGRpbmdcbiAgICB0ZF8gICAgIC0+IHRleHQtZGVjb3JhdGlvblxuICAgIGJjXyAgICAgLT4gYmFja2dyb3VuZC1jb2xvclxuICAgIGJzXyAgICAgLT4gYmFja2dyb3VuZC1zaXplXG4gICAgYnBfICAgICAtPiBiYWNrZ3JvdW5kLXBvc2l0aW9uXG4gICAgYnJfICAgICAtPiBiYWNrZ3JvdW5kLXJlcGVhdFxuICAgIGJkXyAgICAgLT4gYm9yZGVyXG4gICAgYmRjXyAgICAtPiBib3JkZXItY29sb3JcbiAgICBiZHJfICAgIC0+IGJvcmRlci1yYWRpdXNcbiAgICBieHNfICAgIC0+IGJveC1zaGFkb3dcbiAgICBtd18gICAgIC0+IG1heC13aWR0aFxuICAgIHdfICAgICAgLT4gd2lkdGhcbiAgICBoXyAgICAgIC0+IGhlaWdodFxuICAgIHRyXyAgICAgLT4gdHJhbnNpdGlvblxuU3VmZml4ZSBkZXMgcGFyYW3DqHRyZXMgOlxuICAgIF9tb2IgICAgLT4gbW9iaWxlIC0+IGTDqWZpbmlzIGxhIHZlcnNpb24gbW9iaWxlIGR1IHBhcmFtw6h0cmVcbiovXG4uQWx0aUZhcUNvbnRhaW5lciwgLkFsdGlGYXFDb250YWluZXItZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxNTVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkzcHgpIHtcbiAgLkFsdGlGYXFDb250YWluZXIsIC5BbHRpRmFxQ29udGFpbmVyLWZ1bGwge1xuICAgIHBhZGRpbmc6IDVyZW0gMi41cmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuQWx0aUZhcUNvbnRhaW5lciwgLkFsdGlGYXFDb250YWluZXItZnVsbCB7XG4gICAgcGFkZGluZzogNHJlbSAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuQWx0aUZhcUNvbnRhaW5lciwgLkFsdGlGYXFDb250YWluZXItZnVsbCB7XG4gICAgcGFkZGluZzogM3JlbSAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTNweCkge1xuICAuQWx0aUZhcUNvbnRhaW5lci1mdWxsIHtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gIH1cbn1cblxuLkFsdGlGYXEge1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5BbHRpRmFxLWlubmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM4MHB4IDFmcjtcbiAgZ2FwOiA3NnB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuQWx0aUZhcS1pbm5lciB7XG4gICAgZ2FwOiAyMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUwcHggMWZyO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLkFsdGlGYXEtaW5uZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4uQWx0aUZhcS1maWx0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFFRkVBO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDNyZW07XG59XG4uQWx0aUZhcS1maWx0ZXItLW5hbWUge1xuICBmb250LWZhbWlseTogUGllciBTYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjlyZW07XG4gIGNvbG9yOiByZ2JhKDExMywgMTA1LCA4MSwgMC40KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwIDAgMC44cmVtIDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5BbHRpRmFxLWZpbHRlci0tbmFtZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5BbHRpRmFxLWZpbHRlci0tbmFtZS5hY3RpdmUge1xuICBjb2xvcjogIzcxNjk1MTtcbn1cbi5BbHRpRmFxLWNvbnRlbnQge1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSgxODYsIDE3NiwgMTc0LCAwLjMpO1xuICBtYXgtd2lkdGg6IDk2OHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5BbHRpRmFxLXF1ZXN0aW9ucy5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5BbHRpRmFxLXF1ZXN0aW9uIHtcbiAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkIHJnYmEoMTg2LCAxNzYsIDE3NCwgMC4zKTtcbiAgcGFkZGluZzogMi44cmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5BbHRpRmFxLXF1ZXN0aW9uIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gIH1cbn1cbi5BbHRpRmFxLXF1ZXN0aW9uLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLkFsdGlGYXEtcXVlc3Rpb24tLWxpbmsge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uQWx0aUZhcS1xdWVzdGlvbi0tbGluazphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnJTIwd2lkdGglM0QlMjIzMCUyMiUyMGhlaWdodCUzRCUyMjMwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzAlMjAzMCUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElM0NyZWN0JTIwd2lkdGglM0QlMjIzMCUyMiUyMGhlaWdodCUzRCUyMjMwJTIyJTIwZmlsbCUzRCUyMiUyMzcxNjk1MSUyMiUyRiUzRSUwQSUzQ3JlY3QlMjB4JTNEJTIyOCUyMiUyMHklM0QlMjIxNC4zJTIyJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjEuNCUyMiUyMHJ4JTNEJTIyMC43JTIyJTIwZmlsbCUzRCUyMndoaXRlJTIyJTJGJTNFJTBBJTNDcmVjdCUyMHglM0QlMjI4JTIyJTIweSUzRCUyMjE0LjMlMjIlMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMS40JTIyJTIwcnglM0QlMjIwLjclMjIlMjBmaWxsJTNEJTIyJTIzNzE2OTUxJTIyJTIwZmlsbC1vcGFjaXR5JTNEJTIyMC4wNSUyMiUyRiUzRSUwQSUzQ3JlY3QlMjB4JTNEJTIyMTUuNyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjEuNCUyMiUyMHJ4JTNEJTIyMC43JTIyJTIwdHJhbnNmb3JtJTNEJTIycm90YXRlKDkwJTIwMTUuNyUyMDgpJTIyJTIwZmlsbCUzRCUyMndoaXRlJTIyJTJGJTNFJTBBJTNDcmVjdCUyMHglM0QlMjIxNS43JTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMS40JTIyJTIwcnglM0QlMjIwLjclMjIlMjB0cmFuc2Zvcm0lM0QlMjJyb3RhdGUoOTAlMjAxNS43JTIwOCklMjIlMjBmaWxsJTNEJTIyJTIzNzE2OTUxJTIyJTIwZmlsbC1vcGFjaXR5JTNEJTIyMC4wNSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4uaXMtb3BlbiAuQWx0aUZhcS1xdWVzdGlvbi0tbGluazphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMzAlMjIlMjBoZWlnaHQlM0QlMjIzMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMwJTIwMzAlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTNDcmVjdCUyMHdpZHRoJTNEJTIyMzAlMjIlMjBoZWlnaHQlM0QlMjIzMCUyMiUyMGZpbGwlM0QlMjIlMjM3MTY5NTElMjIlMkYlM0UlMEElM0NyZWN0JTIweCUzRCUyMjglMjIlMjB5JTNEJTIyMTQuMyUyMiUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxLjQlMjIlMjByeCUzRCUyMjAuNyUyMiUyMGZpbGwlM0QlMjJ3aGl0ZSUyMiUyRiUzRSUwQSUzQ3JlY3QlMjB4JTNEJTIyOCUyMiUyMHklM0QlMjIxNC4zJTIyJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjEuNCUyMiUyMHJ4JTNEJTIyMC43JTIyJTIwZmlsbCUzRCUyMiUyMzcxNjk1MSUyMiUyMGZpbGwtb3BhY2l0eSUzRCUyMjAuMDUlMjIlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLkFsdGlGYXEtcXVlc3Rpb24tLWxpbms6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG4uQWx0aUZhcS1xdWVzdGlvbi0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLkFsdGlGYXEtcXVlc3Rpb24tLWNhdCB7XG4gIGZvbnQtZmFtaWx5OiBwZXRlcnNidXJnLXdlYiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS40cmVtO1xuICBjb2xvcjogIzcxNjk1MTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIG1hcmdpbjogMCAwIDAuNnJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5BbHRpRmFxLXF1ZXN0aW9uLS1jYXQgKyAqIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbi5BbHRpRmFxLXF1ZXN0aW9uLS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBQaWVyIFNhbnMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGNvbG9yOiAjNzE2OTUxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXgtd2lkdGg6IDc5NHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLkFsdGlGYXEtcXVlc3Rpb24tLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgfVxufVxuLkFsdGlGYXEtcXVlc3Rpb24tLXRleHQge1xuICBmb250LWZhbWlseTogUGllciBTYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDc1cmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgY29sb3I6ICM3MTY5NTE7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogbWF4LWhlaWdodDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBvcGFjaXR5OiAwO1xufVxuLmlzLW9wZW4gLkFsdGlGYXEtcXVlc3Rpb24tLXRleHQge1xuICBvcGFjaXR5OiAxO1xufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICovXHJcblxyXG5tYWluIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gIGhlaWdodDogMDsgLyogMSAqL1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxuLyogTWlzY1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qXHJcblByw6lmaXhlIGRlcyBwYXJhbcOodHJlcyA6XHJcbiAgICBmZl8gICAgIC0+IGZvbnQtZmFtaWx5XHJcbiAgICBmc18gICAgIC0+IGZvbnQtc2l6ZVxyXG4gICAgZndfICAgICAtPiBmb250LXdlaWdodFxyXG4gICAgbHNfICAgICAtPiBsZXR0ZXItc3BhY2luZ1xyXG4gICAgbGhfICAgICAtPiBsaW5lLWhlaWdodFxyXG4gICAgdXBwZXJfICAtPiB1cHBlcmNhc2UgLT4gdHJ1ZSBvciBmYWxzZVxyXG4gICAgY18gICAgICAtPiBjb2xvclxyXG4gICAgbV8gICAgICAtPiBtYXJnaW5cclxuICAgIHBfICAgICAgLT4gcGFkZGluZ1xyXG4gICAgdGRfICAgICAtPiB0ZXh0LWRlY29yYXRpb25cclxuICAgIGJjXyAgICAgLT4gYmFja2dyb3VuZC1jb2xvclxyXG4gICAgYnNfICAgICAtPiBiYWNrZ3JvdW5kLXNpemVcclxuICAgIGJwXyAgICAgLT4gYmFja2dyb3VuZC1wb3NpdGlvblxyXG4gICAgYnJfICAgICAtPiBiYWNrZ3JvdW5kLXJlcGVhdFxyXG4gICAgYmRfICAgICAtPiBib3JkZXJcclxuICAgIGJkY18gICAgLT4gYm9yZGVyLWNvbG9yXHJcbiAgICBiZHJfICAgIC0+IGJvcmRlci1yYWRpdXNcclxuICAgIGJ4c18gICAgLT4gYm94LXNoYWRvd1xyXG4gICAgbXdfICAgICAtPiBtYXgtd2lkdGhcclxuICAgIHdfICAgICAgLT4gd2lkdGhcclxuICAgIGhfICAgICAgLT4gaGVpZ2h0XHJcbiAgICB0cl8gICAgIC0+IHRyYW5zaXRpb25cclxuU3VmZml4ZSBkZXMgcGFyYW3DqHRyZXMgOlxyXG4gICAgX21vYiAgICAtPiBtb2JpbGUgLT4gZMOpZmluaXMgbGEgdmVyc2lvbiBtb2JpbGUgZHUgcGFyYW3DqHRyZVxyXG4qL1xyXG5cclxuLy8gLS0tLS0tLS0tIElOSVQgVkFSSUFCTEVTIC0tLS0tLS0tLSAvL1xyXG4kZmZfMSAgICAgICAgICAgOiBwZXRlcnNidXJnLXdlYiwgc2Fucy1zZXJpZjsgLy9XZWlnaHQgTW9zdHJhIE51b3ZhIHRoaW4gMjAwLCBsaWdodCAzMDAsIHJlZ3VsYXIgNDAwLCBib2xkIDcwMCwgaGVhdnkgODAwLCBibGFjayA5MDBcclxuJGZmXzIgICAgICAgICAgIDogUGllciBTYW5zLCBzYW5zLXNlcmlmOyAvL1dlaWdodCBCcmFuZG9uIEdyb3Rlc3F1ZSB0aGluIDEwMCwgbGlnaHQgMzAwLCByZWd1bGFyIDQwMCwgbWVkaXVtIDUwMCwgYm9sZCA3MDAsIGJsYWNrIDkwMFxyXG4kZmZfMyAgICAgICAgICAgOiBQaWVyIFNhbnMsIHNhbnMtc2VyaWY7IC8vV2VpZ2h0IExhdG8gbGlnaHQgMzAwLCByZWd1bGFyIDQwMCwgbWVkaXVtIDUwMCwgc2VtaWJvbGQgNjAwLCBib2xkIDcwMFxyXG5cclxuJGNvbG9yXzEgICAgICAgIDogIzcxNjk1MTsgLy9UaXRyZSBIblxyXG4kY29sb3JfMiAgICAgICAgOiAjNzE2OTUxOyAvL0ZvbmQgZGUgY291bGV1clxyXG4kY29sb3JfMyAgICAgICAgOiAjNzE2OTUxOyAvL1RleHRlc1xyXG4kY29sb3JfNCAgICAgICAgOiByZ2JhKCNCQUIwQUUsIDAuMyk7IC8vU8OpcGFyYXRldXIgZGUgRkFRXHJcbiRjb2xvcl81ICAgICAgICA6ICNEOUQ5RDk7IC8vQ29udG91ciBkZSB2aWduZXR0ZVxyXG4kY29sb3JfNiAgICAgICAgOiAjNTQyNDEzOyAvL8OJbGVtZW50IGdyYXBoaXF1ZSBzZWNvbmRhaXJlICsgYnVsbGV0IG5vcm1hbFxyXG4kY29sb3JfNyAgICAgICAgOiAjRkZGOyAvL1RleHRlIExpZ2h0XHJcbiRjb2xvcl84ICAgICAgICA6ICNGRkY7IC8vRm9uZCBnbG9iYWwgZHUgc2l0ZVxyXG4kY29sb3JfOSAgICAgICAgOiAjNzE2OTUxOyAvL1BpY3RvcyBub3RhdGlvblxyXG4kY29sb3JfMTAgICAgICAgOiAjNzE2OTUxOyAvL0NUQSBTZWNvbmRhcnlcclxuJGNvbG9yXzExICAgICAgIDogIzcxNjk1MTsgLy9DVEEgcHJpbWFyeSArIGJ1bGxldCBhY3RpZlxyXG4kY29sb3JfMTIgICAgICAgOiAjNzE2OTUxOyAvL8OJbGVtZW50IGdyYXBoaXF1ZSBwcm9qZXQgKHV0aWxpc8OpIHBhciBleGVtcGxlIHBvdXIgbGUgYmxvY2txdW90ZSlcclxuJGNvbG9yXzE0ICAgICAgIDogI0YxRUZFQTtcclxuXHJcbiRjb2xvcl9ibGFjayAgICA6ICMwMDA7XHJcbiRjb2xvcl93aGl0ZSAgICA6ICNmZmY7XHJcblxyXG4vLyAtIEJvdXRvbiArIC0gcG91ciBsJ2FjY29yZMOpb25zIC0gLy9cclxuJGFjY29yZGlvbnNfbGVzcyA6IFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnJTIwd2lkdGglM0QlMjIzMCUyMiUyMGhlaWdodCUzRCUyMjMwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzAlMjAzMCUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElM0NyZWN0JTIwd2lkdGglM0QlMjIzMCUyMiUyMGhlaWdodCUzRCUyMjMwJTIyJTIwZmlsbCUzRCUyMiUyMzcxNjk1MSUyMiUyRiUzRSUwQSUzQ3JlY3QlMjB4JTNEJTIyOCUyMiUyMHklM0QlMjIxNC4zJTIyJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjEuNCUyMiUyMHJ4JTNEJTIyMC43JTIyJTIwZmlsbCUzRCUyMndoaXRlJTIyJTJGJTNFJTBBJTNDcmVjdCUyMHglM0QlMjI4JTIyJTIweSUzRCUyMjE0LjMlMjIlMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMS40JTIyJTIwcnglM0QlMjIwLjclMjIlMjBmaWxsJTNEJTIyJTIzNzE2OTUxJTIyJTIwZmlsbC1vcGFjaXR5JTNEJTIyMC4wNSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiO1xyXG4kYWNjb3JkaW9uc19tb3JlIDogXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmclMjB3aWR0aCUzRCUyMjMwJTIyJTIwaGVpZ2h0JTNEJTIyMzAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzMCUyMDMwJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUzQ3JlY3QlMjB3aWR0aCUzRCUyMjMwJTIyJTIwaGVpZ2h0JTNEJTIyMzAlMjIlMjBmaWxsJTNEJTIyJTIzNzE2OTUxJTIyJTJGJTNFJTBBJTNDcmVjdCUyMHglM0QlMjI4JTIyJTIweSUzRCUyMjE0LjMlMjIlMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMS40JTIyJTIwcnglM0QlMjIwLjclMjIlMjBmaWxsJTNEJTIyd2hpdGUlMjIlMkYlM0UlMEElM0NyZWN0JTIweCUzRCUyMjglMjIlMjB5JTNEJTIyMTQuMyUyMiUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxLjQlMjIlMjByeCUzRCUyMjAuNyUyMiUyMGZpbGwlM0QlMjIlMjM3MTY5NTElMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIwLjA1JTIyJTJGJTNFJTBBJTNDcmVjdCUyMHglM0QlMjIxNS43JTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMS40JTIyJTIwcnglM0QlMjIwLjclMjIlMjB0cmFuc2Zvcm0lM0QlMjJyb3RhdGUoOTAlMjAxNS43JTIwOCklMjIlMjBmaWxsJTNEJTIyd2hpdGUlMjIlMkYlM0UlMEElM0NyZWN0JTIweCUzRCUyMjE1LjclMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxLjQlMjIlMjByeCUzRCUyMjAuNyUyMiUyMHRyYW5zZm9ybSUzRCUyMnJvdGF0ZSg5MCUyMDE1LjclMjA4KSUyMiUyMGZpbGwlM0QlMjIlMjM3MTY5NTElMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIwLjA1JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCI7XHJcbiRhY2NvcmRpb25zX3Bvc190b3AgOiA0LjhyZW07IC8vcG9zaXRpb24gdG9wIHBvdXIgbGUgKyAtXHJcbiRhY2NvcmRpb25zX3Bvc190b3BfbW9iIDogMy41cmVtOyAvL3Bvc2l0aW9uIHRvcCBwb3VyIGxlICsgLVxyXG5cclxuLy9Db25maWdcclxuJHdwX2NvbnRhaW5lciAgICAgICAgICAgOiBjYWxjKCAxNTByZW0gKyAyLjVyZW0gKyAyLjVyZW0gKTsvL21heC13aWR0aCBkdSBjb250YWluZXIgYXZlYyBwYWRkaW5nXHJcbiR3X2NvbnRhaW5lciAgICAgICAgICAgIDogMTUwcmVtOyAvL21heC13aWR0aCBkdSBjb250YWluZXJcclxuJHBfc2lkZSAgICAgICAgICAgICAgIDogMi41cmVtO1xyXG4kcF9jb250YWluZXIgICAgICAgICAgOiA1cmVtICRwX3NpZGU7XHJcbiRwX2NvbnRhaW5lcl90YWJsZXR0ZSA6IDRyZW0gJHBfc2lkZTtcclxuJHBfY29udGFpbmVyX21vYmlsZSAgIDogM3JlbSAkcF9zaWRlO1xyXG5cclxuXHJcbi8vRmlsdGVyXHJcbiRiY19maWx0ZXIgOiAkY29sb3JfMTQ7XHJcbiRiZHJfZmlsdGVyOiAwO1xyXG4kYmRfZmlsdGVyOiAwO1xyXG4kYnhzX2ZpbHRlciA6IG5vbmU7XHJcbiRwX2ZpbHRlciA6IDNyZW07XHJcblxyXG4vL1RleHQgZmlsdGVyIG5hbWVcclxuJGZmX2ZpbHRlcm5hbWUgICAgICA6ICRmZl8yO1xyXG4kZnNfZmlsdGVybmFtZSAgICAgIDogMS40cmVtO1xyXG4kZndfZmlsdGVybmFtZSAgICAgIDogNDAwO1xyXG4kbHNfZmlsdGVybmFtZSAgICAgIDogMC4xNHJlbTtcclxuJGxoX2ZpbHRlcm5hbWUgICAgICA6IDEuOXJlbTtcclxuJHVwcGVyX2ZpbHRlcm5hbWUgICA6IHRydWU7XHJcbiRjX2ZpbHRlcm5hbWUgICAgICAgOiByZ2JhKCRjb2xvcl8xLCAwLjQpO1xyXG4kY19maWx0ZXJuYW1lX2FjdGl2ZTogcmdiYSgkY29sb3JfMSwgMSk7XHJcbiRtX2ZpbHRlcm5hbWUgICAgICAgOiAwIDAgMC44cmVtIDA7XHJcblxyXG4vL1F1ZXN0aW9uXHJcbiRiZF9xdWVzdGlvbiAgICA6IC4xcmVtIHNvbGlkICRjb2xvcl80O1xyXG4kcF9xdWVzdGlvbiAgICAgOiAyLjhyZW0gMDtcclxuJHBfcXVlc3Rpb25fbW9iIDogMnJlbSAwO1xyXG5cclxuLy8gUXVlc3Rpb24gLSBjYXRcclxuJGZmX3F1ZXN0aW9uX2NhdCAgICA6ICRmZl8xO1xyXG4kZnNfcXVlc3Rpb25fY2F0ICAgIDogMS4ycmVtO1xyXG4kZndfcXVlc3Rpb25fY2F0ICAgIDogNDAwO1xyXG4kbHNfcXVlc3Rpb25fY2F0ICAgIDogMDtcclxuJGxoX3F1ZXN0aW9uX2NhdCAgICA6IDEuNHJlbTtcclxuJHVwcGVyX3F1ZXN0aW9uX2NhdCA6IGZhbHNlO1xyXG4kY19xdWVzdGlvbl9jYXQgICAgIDogJGNvbG9yXzE7XHJcbiRwX3F1ZXN0aW9uX2NhdCAgICAgIDogMDtcclxuJG1fcXVlc3Rpb25fY2F0ICAgICAgOiAwIDAgLjZyZW0gMDtcclxuJGJjX3F1ZXN0aW9uX2NhdCAgICAgOiB0cmFuc3BhcmVudDtcclxuJGJkcl9xdWVzdGlvbl9jYXQgICAgOiAwO1xyXG5cclxuLy8gUXVlc3Rpb24gLSB0aXRsZVxyXG4kZmZfcXVlc3Rpb25fdGl0bGUgICAgOiAkZmZfMjtcclxuJGZzX3F1ZXN0aW9uX3RpdGxlICAgIDogMS41cmVtO1xyXG4kZmZfcXVlc3Rpb25fdGl0bGVfbW9iOiAxLjVyZW07XHJcbiRmd19xdWVzdGlvbl90aXRsZSAgICA6IDQwMDtcclxuJGxzX3F1ZXN0aW9uX3RpdGxlICAgIDogMC4xNXJlbTtcclxuJGxoX3F1ZXN0aW9uX3RpdGxlICAgIDogMnJlbTtcclxuJGxoX3F1ZXN0aW9uX3RpdGxlX21vYjogMnJlbTtcclxuJHVwcGVyX3F1ZXN0aW9uX3RpdGxlIDogdHJ1ZTtcclxuJGNfcXVlc3Rpb25fdGl0bGUgICAgIDogJGNvbG9yXzE7XHJcblxyXG4vLyBRdWVzdGlvbiAtIHRleHRcclxuJGZmX3F1ZXN0aW9uX3RleHQgICAgOiAkZmZfMjtcclxuJGZzX3F1ZXN0aW9uX3RleHQgICAgOiAxLjVyZW07XHJcbiRmd19xdWVzdGlvbl90ZXh0ICAgIDogNDAwO1xyXG4kbHNfcXVlc3Rpb25fdGV4dCAgICA6IDAuMDc1cmVtO1xyXG4kbGhfcXVlc3Rpb25fdGV4dCAgICA6IDJyZW07XHJcbiR1cHBlcl9xdWVzdGlvbl90ZXh0IDogZmFsc2U7XHJcbiRjX3F1ZXN0aW9uX3RleHQgICAgIDogJGNvbG9yXzE7IiwiLkFsdGlGYXFDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIG1heC13aWR0aDogJHdwX2NvbnRhaW5lcjtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1lZGl1bScpIHtcclxuICAgICAgICBwYWRkaW5nOiAkcF9jb250YWluZXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1tZWRpdW0nLCAnPnNtYWxsJykge1xyXG4gICAgICAgIHBhZGRpbmc6ICRwX2NvbnRhaW5lcl90YWJsZXR0ZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1zbWFsbCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAkcF9jb250YWluZXJfbW9iaWxlO1xyXG4gICAgfVxyXG5cclxuICAgICYtZnVsbCB7XHJcbiAgICAgICAgQGV4dGVuZCAuQWx0aUZhcUNvbnRhaW5lcjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZWRpdW0nKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAncGhvbmUnOiAzMjBweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCJAaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcclxuQGltcG9ydCAndmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xyXG5cclxuQGltcG9ydCAnLi4vLi4vLi4vLi4vdGhlbWVzL3RoZW1lX2FsdGltYXgvYXNzZXRzL3Njc3MvbW9kdWxlL2ZhcS9jb25maWcnO1xyXG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xyXG5AaW1wb3J0ICdjb25maWcvbWl4aW5zJztcclxuQGltcG9ydCAnY29uZmlnL2xheW91dCc7XHJcblxyXG5cclxuLy9DU1NcclxuLkFsdGlGYXF7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICYtaW5uZXJ7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzODBweCAxZnI7XHJcbiAgICAgICAgZ2FwOiA3NnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1lZGl1bScpIHtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1MHB4IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9c21hbGwnKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtZmlsdGVye1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiY19maWx0ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJkcl9maWx0ZXI7XHJcbiAgICAgICAgYm9yZGVyOiAkYmRfZmlsdGVyO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRieHNfZmlsdGVyO1xyXG4gICAgICAgIHBhZGRpbmc6ICRwX2ZpbHRlcjtcclxuICAgICAgICAmLS1uYW1le1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0eHRQYXJhbWV0ZXIoJGZmX2ZpbHRlcm5hbWUsICRmc19maWx0ZXJuYW1lLCAkZndfZmlsdGVybmFtZSwgJGxzX2ZpbHRlcm5hbWUsICRsaF9maWx0ZXJuYW1lLCAkdXBwZXJfZmlsdGVybmFtZSwgJGNfZmlsdGVybmFtZSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJG1fZmlsdGVybmFtZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjX2ZpbHRlcm5hbWVfYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtY29udGVudHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkYmRfcXVlc3Rpb247XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5NjhweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLXF1ZXN0aW9uc3tcclxuICAgICAgICAmLmhpZGV7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtcXVlc3Rpb257XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGJkX3F1ZXN0aW9uO1xyXG4gICAgICAgIHBhZGRpbmc6ICRwX3F1ZXN0aW9uO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9c21hbGwnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwX3F1ZXN0aW9uX21vYjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaGlkZXtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWxpbmt7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogM3JlbTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGFjY29yZGlvbnNfbW9yZSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIC5pcy1vcGVuICZ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRhY2NvcmRpb25zX2xlc3MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9c21hbGwnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90b3A6ICRhY2NvcmRpb25zX3Bvc190b3BfbW9iO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLXJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tY2F0e1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0eHRQYXJhbWV0ZXIoJGZmX3F1ZXN0aW9uX2NhdCwgJGZzX3F1ZXN0aW9uX2NhdCwgJGZ3X3F1ZXN0aW9uX2NhdCwgJGxzX3F1ZXN0aW9uX2NhdCwgJGxoX3F1ZXN0aW9uX2NhdCwgJHVwcGVyX3F1ZXN0aW9uX2NhdCwgJGNfcXVlc3Rpb25fY2F0KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAkbV9xdWVzdGlvbl9jYXQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwX3F1ZXN0aW9uX2NhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJjX3F1ZXN0aW9uX2NhdDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJkcl9xdWVzdGlvbl9jYXQ7XHJcblxyXG4gICAgICAgICAgICAmICsgKiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tdGl0bGV7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHR4dFBhcmFtZXRlcigkZmZfcXVlc3Rpb25fdGl0bGUsICRmc19xdWVzdGlvbl90aXRsZSwgJGZ3X3F1ZXN0aW9uX3RpdGxlLCAkbHNfcXVlc3Rpb25fdGl0bGUsICRsaF9xdWVzdGlvbl90aXRsZSwgJHVwcGVyX3F1ZXN0aW9uX3RpdGxlLCAkY19xdWVzdGlvbl90aXRsZSk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzk0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gNjBweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXNtYWxsJykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZmZfcXVlc3Rpb25fdGl0bGVfbW9iO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaF9xdWVzdGlvbl90aXRsZV9tb2I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tdGV4dHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHh0UGFyYW1ldGVyKCRmZl9xdWVzdGlvbl90ZXh0LCAkZnNfcXVlc3Rpb25fdGV4dCwgJGZ3X3F1ZXN0aW9uX3RleHQsICRsc19xdWVzdGlvbl90ZXh0LCAkbGhfcXVlc3Rpb25fdGV4dCwgJHVwcGVyX3F1ZXN0aW9uX3RleHQsICRjX3F1ZXN0aW9uX3RleHQpO1xyXG5cclxuXHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBtYXgtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIC5pcy1vcGVuICZ7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxXHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuIiwiQG1peGluIHR4dFBhcmFtZXRlcigkZmFtaWxseSwgJHNpemUsICR3ZWlnaHQsICRsZXR0ZXItc3BhY2luZywgJGxpbmUtaGVpZ2h0LCAkdXBwZXJjYXNlOiBmYWxzZSwgJGNvbG9yICkge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmYW1pbGx5O1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgIEBpZiAkdXBwZXJjYXNlICE9IHRydWUgYW5kICR1cHBlcmNhc2UgIT0gZmFsc2Uge1xyXG4gICAgICAgIEBlcnJvciBcIkNPTkZJRyA6IExhIHZhcmlhYmxlICcjeyR1cHBlcmNhc2V9JyBkb2l0IGF2b2lyIGxhIHZhbGV1ciAndHJ1ZScgb3UgJ2ZhbHNlJy5cIjtcclxuICAgIH1cclxuICAgIEBpZiAkdXBwZXJjYXNlID09IHRydWUge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9QGVsc2Uge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdmlkZW8oKXtcclxuICAgIC5fX3ZpZGVvX3BhcmVudHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAuX192aWRlb19vcGVue1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICYuX19pc19vcGVue1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkcGxheSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2U7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcmVtO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuX192aWRlb19pbiwgLl9fdmlkZW9fb3V0e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIC5fX3ZpZGVvX291dHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= */
