@charset "UTF-8";
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* -----------------------------------------
   Variables: Branding / Colors / Fonts
----------------------------------------- */
html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

.container {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto; }
  .container::after {
    clear: both;
    content: "";
    display: table; }

.row {
  display: block; }
  .row::after {
    clear: both;
    content: "";
    display: table; }
  .row .col-1 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 6.17215%; }
    .row .col-1:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-1 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-1:last-child {
          margin-right: 0; } }
  .row .col-2 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 14.70196%; }
    .row .col-2:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-2 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-2:last-child {
          margin-right: 0; } }
  .row .col-3 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .row .col-3:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-3 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-3:last-child {
          margin-right: 0; } }
  .row .col-4 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .row .col-4:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-4 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-4:last-child {
          margin-right: 0; } }
  .row .col-5 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 40.29137%; }
    .row .col-5:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-5 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-5:last-child {
          margin-right: 0; } }
  .row .col-6 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 48.82117%; }
    .row .col-6:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-6 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-6:last-child {
          margin-right: 0; } }
  .row .col-7 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 57.35098%; }
    .row .col-7:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-7 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-7:last-child {
          margin-right: 0; } }
  .row .col-8 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    .row .col-8:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-8 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-8:last-child {
          margin-right: 0; } }
  .row .col-9 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .row .col-9:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-9 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-9:last-child {
          margin-right: 0; } }
  .row .col-10 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 82.94039%; }
    .row .col-10:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-10 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-10:last-child {
          margin-right: 0; } }
  .row .col-11 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 91.4702%; }
    .row .col-11:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-11 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-11:last-child {
          margin-right: 0; } }
  .row .col-12 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%; }
    .row .col-12:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .row .col-12 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 100%; }
        .row .col-12:last-child {
          margin-right: 0; } }
  @media screen and (max-width: 767px) {
    .row .small-col-1 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 6.17215%; }
      .row .small-col-1:last-child {
        margin-right: 0; }
    .row .small-col-2 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 14.70196%; }
      .row .small-col-2:last-child {
        margin-right: 0; }
    .row .small-col-3 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .row .small-col-3:last-child {
        margin-right: 0; }
    .row .small-col-4 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .row .small-col-4:last-child {
        margin-right: 0; }
    .row .small-col-5 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 40.29137%; }
      .row .small-col-5:last-child {
        margin-right: 0; }
    .row .small-col-6 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .row .small-col-6:last-child {
        margin-right: 0; }
    .row .small-col-7 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 57.35098%; }
      .row .small-col-7:last-child {
        margin-right: 0; }
    .row .small-col-8 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%; }
      .row .small-col-8:last-child {
        margin-right: 0; }
    .row .small-col-9 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 74.41059%; }
      .row .small-col-9:last-child {
        margin-right: 0; }
    .row .small-col-10 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 82.94039%; }
      .row .small-col-10:last-child {
        margin-right: 0; }
    .row .small-col-11 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 91.4702%; }
      .row .small-col-11:last-child {
        margin-right: 0; }
    .row .small-col-12 {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 100%; }
      .row .small-col-12:last-child {
        margin-right: 0; } }

.table-row {
  width: 100%;
  display: table;
  width: 100%;
  table-layout: fixed; }
  .table-row .col-1 {
    display: table-cell;
    width: 8.33333%; }
    @media screen and (max-width: 767px) {
      .table-row .col-1 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-2 {
    display: table-cell;
    width: 16.66667%; }
    @media screen and (max-width: 767px) {
      .table-row .col-2 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-3 {
    display: table-cell;
    width: 25%; }
    @media screen and (max-width: 767px) {
      .table-row .col-3 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-4 {
    display: table-cell;
    width: 33.33333%; }
    @media screen and (max-width: 767px) {
      .table-row .col-4 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-5 {
    display: table-cell;
    width: 41.66667%; }
    @media screen and (max-width: 767px) {
      .table-row .col-5 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-6 {
    display: table-cell;
    width: 50%; }
    @media screen and (max-width: 767px) {
      .table-row .col-6 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-7 {
    display: table-cell;
    width: 58.33333%; }
    @media screen and (max-width: 767px) {
      .table-row .col-7 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-8 {
    display: table-cell;
    width: 66.66667%; }
    @media screen and (max-width: 767px) {
      .table-row .col-8 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-9 {
    display: table-cell;
    width: 75%; }
    @media screen and (max-width: 767px) {
      .table-row .col-9 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-10 {
    display: table-cell;
    width: 83.33333%; }
    @media screen and (max-width: 767px) {
      .table-row .col-10 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-11 {
    display: table-cell;
    width: 91.66667%; }
    @media screen and (max-width: 767px) {
      .table-row .col-11 {
        display: table-cell;
        width: 100%; } }
  .table-row .col-12 {
    display: table-cell;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .table-row .col-12 {
        display: table-cell;
        width: 100%; } }
  @media screen and (max-width: 767px) {
    .table-row .small-col-1 {
      display: table-cell;
      width: 8.33333%; }
    .table-row .small-col-2 {
      display: table-cell;
      width: 16.66667%; }
    .table-row .small-col-3 {
      display: table-cell;
      width: 25%; }
    .table-row .small-col-4 {
      display: table-cell;
      width: 33.33333%; }
    .table-row .small-col-5 {
      display: table-cell;
      width: 41.66667%; }
    .table-row .small-col-6 {
      display: table-cell;
      width: 50%; }
    .table-row .small-col-7 {
      display: table-cell;
      width: 58.33333%; }
    .table-row .small-col-8 {
      display: table-cell;
      width: 66.66667%; }
    .table-row .small-col-9 {
      display: table-cell;
      width: 75%; }
    .table-row .small-col-10 {
      display: table-cell;
      width: 83.33333%; }
    .table-row .small-col-11 {
      display: table-cell;
      width: 91.66667%; }
    .table-row .small-col-12 {
      display: table-cell;
      width: 100%; } }
  .table-row *[vertical="top"] {
    vertical-align: top; }
  .table-row *[vertical="center"],
  .table-row *[vertical="middle"] {
    vertical-align: middle; }
  .table-row *[vertical="bottom"] {
    vertical-align: bottom; }

.shift-1 {
  margin-left: 8.5298%; }
  @media screen and (max-width: 767px) {
    .shift-1 {
      margin: 0; } }

.shift-2 {
  margin-left: 17.05961%; }
  @media screen and (max-width: 767px) {
    .shift-2 {
      margin: 0; } }

.shift-3 {
  margin-left: 25.58941%; }
  @media screen and (max-width: 767px) {
    .shift-3 {
      margin: 0; } }

.shift-4 {
  margin-left: 34.11922%; }
  @media screen and (max-width: 767px) {
    .shift-4 {
      margin: 0; } }

.shift-5 {
  margin-left: 42.64902%; }
  @media screen and (max-width: 767px) {
    .shift-5 {
      margin: 0; } }

.shift-6 {
  margin-left: 51.17883%; }
  @media screen and (max-width: 767px) {
    .shift-6 {
      margin: 0; } }

.shift-7 {
  margin-left: 59.70863%; }
  @media screen and (max-width: 767px) {
    .shift-7 {
      margin: 0; } }

.shift-8 {
  margin-left: 68.23843%; }
  @media screen and (max-width: 767px) {
    .shift-8 {
      margin: 0; } }

.shift-9 {
  margin-left: 76.76824%; }
  @media screen and (max-width: 767px) {
    .shift-9 {
      margin: 0; } }

.shift-10 {
  margin-left: 85.29804%; }
  @media screen and (max-width: 767px) {
    .shift-10 {
      margin: 0; } }

.shift-11 {
  margin-left: 93.82785%; }
  @media screen and (max-width: 767px) {
    .shift-11 {
      margin: 0; } }

.shift-12 {
  margin-left: 102.35765%; }
  @media screen and (max-width: 767px) {
    .shift-12 {
      margin: 0; } }

/* -----------------------------------------
   Breakpoints
----------------------------------------- */
/* -----------------------------------------
   REM conversions
----------------------------------------- */
/* -----------------------------------------
   Color functions
----------------------------------------- */
/* -----------------------------------------
   Typography
----------------------------------------- */
.preheader {
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  font-weight: lighter;
  font-size: 19.2px;
  font-size: 1.2rem;
  color: #303030;
  margin: 0px 0px 48px;
  margin: 0rem 0rem 3rem;
  line-height: 1; }

button, input[type="button"], input[type="reset"], input[type="submit"], .button, .action-button,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  color: #FFF;
  display: inline-block;
  border: 1px solid #FFF;
  padding: 6px 8px;
  font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
  text-transform: uppercase;
  border-radius: 0;
  font-size: 32px;
  font-size: 2rem; }
  button.dark, input[type="button"].dark, input[type="reset"].dark, input[type="submit"].dark, .button.dark, .action-button.dark,
  button.dark {
    border-color: #2e2e2e;
    color: #303030; }
  button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:focus, .button:hover, .button:focus, .action-button:hover, .action-button:focus,
  button:hover,
  button:focus {
    background-color: #FFF;
    border-color: #FFF;
    color: #2e2e2e; }
    button:hover.dark, button:focus.dark, input[type="button"]:hover.dark, input[type="button"]:focus.dark, input[type="reset"]:hover.dark, input[type="reset"]:focus.dark, input[type="submit"]:hover.dark, input[type="submit"]:focus.dark, .button:hover.dark, .button:focus.dark, .action-button:hover.dark, .action-button:focus.dark,
    button:hover.dark,
    button:focus.dark {
      color: #0a0a0a; }
  button:disabled, input[type="button"]:disabled, input[type="reset"]:disabled, input[type="submit"]:disabled, .button:disabled, .action-button:disabled,
  button:disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  button + .action-button, input[type="button"] + .action-button, input[type="reset"] + .action-button, input[type="submit"] + .action-button, .button + .action-button, .action-button + .action-button,
  button + .action-button {
    margin-left: 20px; }

fieldset {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  margin: 0 0 0.75rem;
  padding: 1.5rem; }

input,
label,
select {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem; }

label {
  font-weight: 600;
  margin-bottom: 0.375rem; }
  label.required::after {
    content: "*"; }
  label abbr {
    display: none; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea,
select[multiple=multiple],
textarea {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  transition: border-color;
  width: 100%; }
  input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, input:not([type]):hover, textarea:hover,
  select[multiple=multiple]:hover,
  textarea:hover {
    border-color: #c4c4c4; }
  input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, input:not([type]):focus, textarea:focus,
  select[multiple=multiple]:focus,
  textarea:focus {
    border-color: #477dca;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(55, 112, 192, 0.7);
    outline: none; }

textarea {
  resize: vertical; }

input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

input[type="checkbox"],
input[type="radio"] {
  display: inline;
  margin-right: 0.375rem; }

input[type="file"] {
  padding-bottom: 0.75rem;
  width: 100%; }

select {
  margin-bottom: 1.5rem;
  max-width: 100%;
  width: auto; }

.hbspt-form label, .hbspt-form legend {
  color: #FFF; }

.hbspt-form input[type="text"], .hbspt-form input[type="email"] {
  color: #b86c61; }

.hbspt-form .hs-button {
  background-color: transparent; }

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }

dl {
  margin-bottom: 0.75rem; }
  dl dt {
    font-weight: bold;
    margin-top: 0.75rem; }
  dl dd {
    margin: 0; }

table {
  -ms-font-feature-settings: "kern", "liga", "tnum";
  font-feature-settings: "kern", "liga", "tnum";
  border-collapse: collapse;
  margin: 0.75rem 0;
  table-layout: fixed;
  width: 100%; }

th {
  border-bottom: 1px solid #b7b7b7;
  font-weight: 600;
  padding: 0.75rem 0;
  text-align: left; }

td {
  border-bottom: 1px solid #ddd;
  padding: 0.75rem 0; }

tr,
td,
th {
  vertical-align: middle; }

body {
  -ms-font-feature-settings: "kern", "liga", "pnum";
  font-feature-settings: "kern", "liga", "pnum";
  -webkit-font-smoothing: antialiased;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  margin: 0 0 0.75rem; }

p {
  margin: 0 0 0.75rem;
  font-size: 19.2px;
  font-size: 1.2rem; }

a {
  color: #477dca;
  text-decoration: none;
  transition: color 0.1s linear;
  /*
  &:active,
  &:focus,
  &:hover {
    color: darken($action-color, 15%);
  }
*/ }
  a:active, a:focus {
    outline: none; }

hr {
  border-bottom: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-top: none;
  margin: 1.5rem 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

/* -----------------------------------------
   Mixins
----------------------------------------- */
/* -----------------------------------------
   General
----------------------------------------- */
* {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased; }

img {
  display: inline-block;
  max-width: 100%;
  margin: 0px;
  height: auto; }

img.align-center {
  margin: 0 auto;
  display: block; }

@media screen and (max-width: 1300px) {
  .container {
    padding: 0px 32px;
    padding: 0rem 2rem; } }

/* -----------------------------------------
   Typography
----------------------------------------- */
html {
  font-size: 10px; }
  @media screen and (min-width: 1024px) and (max-width: 1199px) {
    html {
      font-size: 9px; } }
  @media screen and (min-width: 768px) and (max-width: 1023px) {
    html {
      font-size: 8px; } }
  @media screen and (max-width: 767px) {
    html {
      font-size: 9px; } }

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

a {
  color: inherit;
  text-decoration: none; }

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

/* -----------------------------------------
   Headers & Header types
----------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-rendering: optimizeLegibility; }
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    text-decoration: none; }

h2 {
  font-size: 1.625rem;
  line-height: 1.25; }

/* -----------------------------------------
   Layout
----------------------------------------- */
/* -----------------------------------------
   Modules
----------------------------------------- */
#main #content .fw-page-builder-content .spot {
  position: relative;
  margin-bottom: 0px;
  margin-bottom: 0rem;
  margin-left: 5rem; }
  #main #content .fw-page-builder-content .spot .img {
    position: absolute;
    top: 0.8rem;
    left: 0;
    max-width: 4rem;
    left: -96px;
    left: -6rem; }
    #main #content .fw-page-builder-content .spot .img .fa {
      font-size: 3rem; }
  #main #content .fw-page-builder-content .spot div.img {
    width: 50px;
    text-align: center;
    top: 4px; }
  #main #content .fw-page-builder-content .spot h2 {
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    text-transform: none;
    font-weight: normal;
    font-size: 54.4px;
    font-size: 3.4rem;
    color: #2e2e2e;
    line-height: 1.1;
    margin-bottom: 32px;
    margin-bottom: 2rem; }
    #main #content .fw-page-builder-content .spot h2 a {
      color: #2e2e2e; }
  #main #content .fw-page-builder-content .spot.medium h2 {
    font-size: 2.6rem; }
  #main #content .fw-page-builder-content .spot.medium .img {
    top: 0.2rem;
    left: 0;
    max-width: 4rem;
    left: -80px;
    left: -5rem; }
    #main #content .fw-page-builder-content .spot.medium .img .fa {
      font-size: 2.6rem; }

.spot {
  position: relative;
  margin-bottom: 0px;
  margin-bottom: 0rem; }
  @media screen and (max-width: 767px) {
    .spot {
      margin-left: 7rem;
      margin-right: 3rem;
      margin-bottom: 5rem; } }
  .spot .img {
    position: absolute;
    top: 8px;
    left: 0;
    max-width: 4rem;
    left: -96px;
    left: -6rem; }
  .spot h2 {
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    text-transform: none;
    font-weight: normal;
    font-size: 54.4px;
    font-size: 3.4rem;
    color: #2e2e2e;
    line-height: 1.1;
    margin-bottom: 32px;
    margin-bottom: 2rem; }
    .spot h2 a {
      color: #2e2e2e; }

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

img.media-image {
  margin-bottom: 96px;
  margin-bottom: 6rem; }

.video-popup {
  position: relative; }
  .video-popup img {
    width: 100%; }

#video-modal {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1005;
  display: none;
  opacity: 0; }
  #video-modal .wrapper {
    top: 50%;
    position: relative;
    transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -moz-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    padding: 2.5rem 2.5rem;
    background-color: #2e2e2e;
    text-align: center; }
    #video-modal .wrapper img {
      max-height: 80vh; }
  #video-modal .close {
    position: absolute;
    top: 0;
    right: 3rem;
    color: #fff;
    opacity: 1;
    font-size: 1.6rem;
    font-family: "open-sans", Arial, Helvetica, Sans-serif; }
    @media screen and (max-width: 767px) {
      #video-modal .close {
        top: -40px; } }

.twitterfeeds {
  padding: 6rem 0 0;
  margin-bottom: -6rem; }
  .twitterfeeds .twitterfeed {
    position: relative;
    margin-bottom: 80px;
    margin-bottom: 5rem; }
    .twitterfeeds .twitterfeed .twitter-avatar {
      border-radius: 50%;
      position: absolute;
      top: 0;
      left: 0;
      width: 80px;
      width: 5rem; }
    .twitterfeeds .twitterfeed h4 {
      text-transform: uppercase;
      font-family: "open-sans", Arial, Helvetica, Sans-serif;
      font-weight: lighter;
      font-size: 1.4rem;
      color: #2e2e2e;
      font-size: 19.2px;
      font-size: 1.2rem; }
    .twitterfeeds .twitterfeed date {
      font-weight: lighter;
      font-family: "open-sans", Arial, Helvetica, Sans-serif;
      font-size: 17.6px;
      font-size: 1.1rem;
      text-transform: uppercase; }
    .twitterfeeds .twitterfeed .content {
      padding-left: 96px;
      padding-left: 6rem;
      font-size: 17.6px;
      font-size: 1.1rem; }
      .twitterfeeds .twitterfeed .content .text a {
        color: #1876b6; }
    .twitterfeeds .twitterfeed.tweet-hidden {
      display: none; }

.header-quotes, #content .header-quotes {
  margin-top: 80px;
  margin-top: 5rem; }
  .header-quotes .quote, #content .header-quotes .quote {
    padding: 0 0 0 55px;
    margin-left: -55px;
    background: url("../images/quote-white.png") no-repeat 0 5px; }
    .header-quotes .quote .text, #content .header-quotes .quote .text {
      font-style: italic;
      font-size: 25.6px;
      font-size: 1.6rem; }
      .header-quotes .quote .text p, #content .header-quotes .quote .text p {
        line-height: 1.3; }
    .header-quotes .quote .name, #content .header-quotes .quote .name {
      margin: 0;
      text-transform: uppercase;
      font-size: 19.2px;
      font-size: 1.2rem; }
    .header-quotes .quote .title, #content .header-quotes .quote .title {
      font-size: 17.6px;
      font-size: 1.1rem; }

#content .header-quotes {
  margin-top: 0; }
  #content .header-quotes .quote {
    background: url("../images/quote-black.png") no-repeat 0 5px; }
    @media screen and (max-width: 767px) {
      #content .header-quotes .quote {
        margin: 0 0 8rem; } }

.box-area {
  background-color: #FFF;
  padding-bottom: 1px; }
  .box-area .row {
    display: table;
    width: 100%; }
    .box-area .row .content-box {
      position: relative;
      width: 16%;
      display: table-cell;
      vertical-align: top;
      background: transparent url(../images/bg_feed_center.png) top center no-repeat;
      background-size: cover;
      float: none; }
      .box-area .row .content-box:first-child {
        width: 42%; }
        .box-area .row .content-box:first-child .box-content {
          float: right; }
        .box-area .row .content-box:first-child .bg-cover {
          background-color: #B47F3F; }
      .box-area .row .content-box:last-child {
        width: 42%;
        background: transparent url(../images/bg_feed_right.jpg) top center no-repeat;
        background-size: cover; }
        .box-area .row .content-box:last-child .bg-cover {
          background-color: #C25E4E; }
      .box-area .row .content-box .bg-cover {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #CCC26A;
        z-index: 10;
        opacity: 0.75; }
      .box-area .row .content-box .box-content {
        position: relative;
        float: left;
        width: 390px;
        padding: 58px 35px;
        z-index: 20; }
      .box-area .row .content-box h2 {
        font-family: "open-sans", Arial, Helvetica, Sans-serif;
        font-weight: lighter;
        font-size: 1.4rem;
        color: #FFF;
        margin: 0;
        line-height: 1; }
      .box-area .row .content-box p {
        font-size: 30px;
        font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
        text-transform: none;
        color: #FFF;
        line-height: 1.4; }
      .box-area .row .content-box .more-links {
        margin-top: 15px; }
        .box-area .row .content-box .more-links a {
          color: #FFF;
          margin: 0;
          line-height: 1; }
          .box-area .row .content-box .more-links a:first-child {
            margin-right: 56px; }
          .box-area .row .content-box .more-links a:hover {
            color: #2e2e2e; }
      @media screen and (max-width: 1199px) {
        .box-area .row .content-box {
          width: 100%;
          float: none;
          display: block;
          text-align: center;
          min-height: 280px; }
          .box-area .row .content-box:first-child, .box-area .row .content-box:last-child {
            width: 100%; }
            .box-area .row .content-box:first-child .box-content, .box-area .row .content-box:last-child .box-content {
              float: none; }
          .box-area .row .content-box .box-content {
            float: none;
            display: inline-block;
            text-align: left; } }
      @media screen and (max-width: 767px) {
        .box-area .row .content-box {
          width: 100%;
          float: none;
          display: block;
          min-height: 0; }
          .box-area .row .content-box:first-child, .box-area .row .content-box:last-child {
            width: 100%; }
            .box-area .row .content-box:first-child .box-content, .box-area .row .content-box:last-child .box-content {
              float: none;
              width: 100%; }
          .box-area .row .content-box .box-content {
            float: none;
            width: 100%; } }
  .box-area #cyber-daily-form {
    padding-top: 10px; }
    .box-area #cyber-daily-form input {
      color: #b86c61;
      border-radius: 4px;
      width: 100%; }
    .box-area #cyber-daily-form button {
      color: #FFF;
      background: transparent;
      border: 1px solid #FFF;
      font-size: 14px;
      font-family: "open-sans", Arial, Helvetica, Sans-serif;
      padding: 8px 8px;
      font-weight: normal;
      border-radius: 0; }
    .box-area #cyber-daily-form .more-links a {
      float: right;
      margin-top: 10px; }

#content .page .fw-page-builder-content {
  padding-top: 3rem; }

#content .page section.fw-main-row {
  padding: 0; }
  #content .page section.fw-main-row.fw-section-top-margin {
    padding: 4rem 0; }

#content .page.no-header section.fw-main-row {
  padding: 20px 0; }
  #content .page.no-header section.fw-main-row:first-child {
    padding-top: 0; }
  #content .page.no-header section.fw-main-row:last-child {
    padding-bottom: 0; }

#content .page h1 {
  margin-bottom: 2rem; }

#content .page h2 {
  margin: 0 0 0.5rem; }

#content .page h1 {
  line-height: 1;
  margin-bottom: 2.5rem; }

#content .page h2.blog-title {
  font-weight: 200;
  font-size: 1.4rem;
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  line-height: 1;
  margin: 0; }

#content .page p {
  margin-bottom: 1.5rem; }
  #content .page p a {
    color: #1876b6; }

#content .page ul, #content .page ol {
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  color: #2e2e2e;
  font-size: 1.4rem;
  list-style-type: decimal;
  margin-bottom: 2.5rem;
  margin-left: 2.5rem;
  line-height: 1.8; }
  #content .page ul a, #content .page ol a {
    color: #1876b6; }
  #content .page ul ul, #content .page ul ol, #content .page ol ul, #content .page ol ol {
    margin-bottom: 0; }

#content .page ul {
  list-style-type: disc; }

#content .page ol {
  list-style-type: decimal; }

#content .page .pad-left .fw-row > :first-child {
  padding-right: 5rem; }
  @media screen and (max-width: 767px) {
    #content .page .pad-left .fw-row > :first-child {
      padding-right: 0; } }

#content .page .media-image.align-right {
  float: right; }

.cat-list {
  overflow: hidden;
  margin: 35px 0 35px; }
  .cat-list li {
    float: left;
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-size: 13px;
    border-top: 1px solid #2e2e2e;
    border-bottom: 1px solid #2e2e2e;
    border-left: 1px solid #2e2e2e;
    margin: 0; }
    .cat-list li a {
      padding: 5px 10px;
      display: block; }
    .cat-list li.current-cat a {
      color: #FFF;
      background-color: #2e2e2e; }
    .cat-list li:last-child {
      border-right: 1px solid #2e2e2e; }

.blog-list #content {
  padding: 0 60px; }
  @media screen and (max-width: 1199px) {
    .blog-list #content {
      padding: 0; } }
  @media screen and (max-width: 767px) {
    .blog-list #content {
      padding: 0; } }
  .blog-list #content .page-summary p {
    margin-top: 20px; }
  .blog-list #content h1.page-title {
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    font-size: 26px;
    color: #FFF;
    font-weight: normal;
    line-height: 1.4; }
  .blog-list #content h2 {
    margin-bottom: 5px; }
  .blog-list #content .col-8 h1.page-title {
    font-size: 30px; }
  .blog-list #content .col-8 address {
    margin-bottom: 0; }
  .blog-list #content article {
    padding-bottom: 30px; }
  .blog-list #content .table-row {
    width: 100%; }
    .blog-list #content .table-row > div {
      background-position: top left;
      background-size: cover;
      vertical-align: bottom;
      border: 1px solid #fff;
      border-top: none;
      border-left: none;
      height: 350px;
      position: relative; }
    .blog-list #content .table-row article {
      background-color: rgba(0, 0, 0, 0.5);
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
    .blog-list #content .table-row .post-content {
      position: absolute;
      bottom: 35px;
      left: 40px;
      right: 40px; }
      .blog-list #content .table-row .post-content p {
        line-height: 2.2; }
      .blog-list #content .table-row .post-content p, .blog-list #content .table-row .post-content address {
        font-family: "open-sans", Arial, Helvetica, Sans-serif;
        font-weight: 100;
        font-size: 14px;
        color: #FFF; }
      .blog-list #content .table-row .post-content address {
        font-size: 1.4rem;
        font-style: normal;
        line-height: 2.2;
        margin-top: 5px; }
  .blog-list #content .action-button {
    font-size: 24px;
    padding: 3px 10px 8px;
    line-height: 1;
    margin: 15px 0 20px;
    color: #2e2e2e; }
  .blog-list #content .post-content {
    padding-right: 50px; }
  .blog-list #content .post-categories {
    display: inline-block; }
    .blog-list #content .post-categories p, .blog-list #content .post-categories ul, .blog-list #content .post-categories li {
      display: inline-block; }
    .blog-list #content .post-categories p {
      margin-right: 5px; }
    .blog-list #content .post-categories a {
      color: #1876b6;
      font-size: 16px;
      margin: 0 5px;
      font-weight: lighter; }
  .blog-list #content .post-date {
    font-size: 16px;
    font-weight: lighter;
    margin-bottom: 5px;
    display: inline-block; }
  .blog-list #content .widget_categories h6 {
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    font-weight: normal;
    font-size: 40px;
    line-height: 1.25; }
  .blog-list #content .widget_categories li {
    margin-bottom: 5px; }
  .blog-list #content .widget_categories a {
    font-size: 1.4rem;
    color: #2e2e2e; }
  .blog-list #content .pagination {
    padding-top: 40px;
    text-align: center; }
    .blog-list #content .pagination a {
      display: inline-block;
      text-transform: uppercase;
      font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
      font-size: 24px;
      color: #2e2e2e;
      border: 1px solid #2e2e2e;
      line-height: 1;
      padding: 3px 10px 8px; }

.blog-list .post-content img.wp-post-image {
  margin: 0 0 10px;
  padding: 0; }

.customers #main {
  padding-bottom: 0; }
  .customers #main .fw-page-builder-content {
    padding: 2rem 0 0; }
  .customers #main .fw-row > div {
    margin: 0 0 8rem; }
  @media screen and (max-width: 767px) {
    .customers #main section.fw-main-row {
      padding: 0px 24px;
      padding: 0rem 1.5rem; } }

.customers .wordpress-content {
  margin-bottom: 0; }

.customers #content .action-button {
  padding: 5px 10px 8px;
  line-height: 1;
  color: #2e2e2e;
  font-size: 24px; }
  .customers #content .action-button + .action-button {
    margin-left: 15px; }

.single .blog-list #content .post-content h1 {
  line-height: 1;
  margin-bottom: 2rem; }

.single .blog-list #content .post-content h2.blog-title {
  font-weight: 200;
  font-size: 1.4rem;
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  line-height: 1;
  margin: 0 0 1rem; }

.single .blog-list #content .post-content p {
  margin-bottom: 25px; }

.single .blog-list #content .post-content ul, .single .blog-list #content .post-content ol {
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  color: #2e2e2e;
  font-size: 1.4rem;
  list-style-type: decimal;
  margin-bottom: 25px;
  margin-left: 25px;
  line-height: 1.8; }
  .single .blog-list #content .post-content ul ul, .single .blog-list #content .post-content ul ol, .single .blog-list #content .post-content ol ul, .single .blog-list #content .post-content ol ol {
    margin-bottom: 0; }

.single .blog-list #content .post-content ul {
  list-style-type: disc; }

.single .blog-list #content .post-content ol {
  list-style-type: decimal; }

.single .blog-list #content .post-content a {
  color: #1876b6; }

.single .blog-list #content .post-content ul.post-categories {
  margin: 0; }
  .single .blog-list #content .post-content ul.post-categories > li {
    padding-left: 0; }
  .single .blog-list #content .post-content ul.post-categories a {
    font-size: 1.4rem; }

.single .blog-list #content .post-content p.post-date {
  margin-bottom: 2rem;
  font-size: 1.4rem; }

@media screen and (max-width: 767px) {
  .single .blog-list #content .post-content p.post-date {
    display: inline;
    line-height: 1.4; }
  .single .blog-list #content .post-content .post-date-container {
    margin-bottom: 2rem; } }

.single .blog-list #sidebar {
  padding-left: 50px; }
  @media screen and (max-width: 1199px) {
    .single .blog-list #sidebar {
      padding-left: 0; } }
  .single .blog-list #sidebar .author-info {
    padding: 15px 10px 10px;
    background-color: #d6d6d6;
    margin-bottom: 30px; }
    .single .blog-list #sidebar .author-info h2 {
      font-size: 24px;
      font-weight: normal;
      color: #2e2e2e;
      margin: 13px 0; }
    .single .blog-list #sidebar .author-info h3 {
      font-family: "open-sans", Arial, Helvetica, Sans-serif;
      color: #2e2e2e;
      font-weight: normal;
      font-size: 1.4rem; }
    .single .blog-list #sidebar .author-info p {
      font-family: "open-sans", Arial, Helvetica, Sans-serif;
      color: #2e2e2e;
      font-weight: normal;
      font-size: 13px;
      margin-bottom: 0; }
      .single .blog-list #sidebar .author-info p a {
        color: #1876b6; }
  .single .blog-list #sidebar .dpArticleShare li .dpas-icon {
    width: 25px !important;
    height: 25px !important; }
  .single .blog-list #sidebar .dpArticleShare.color li .dpas-icon i, .single .blog-list #sidebar .dpArticleShare.light li .dpas-icon i, .single .blog-list #sidebar .dpArticleShare.dark li .dpas-icon i {
    margin: 3px 0;
    font-size: 19px; }
  .single .blog-list #sidebar .dpArticleShare.color.counter-right li .dpShareArticleCounter, .single .blog-list #sidebar .dpArticleShare.light.counter-right li .dpShareArticleCounter, .single .blog-list #sidebar .dpArticleShare.dark.counter-right li .dpShareArticleCounter {
    width: 25px !important;
    height: 25px !important;
    margin-left: 25px; }
  .single .blog-list #sidebar .dpArticleShare.color.counter-right li span, .single .blog-list #sidebar .dpArticleShare.light.counter-right li span, .single .blog-list #sidebar .dpArticleShare.dark.counter-right li span {
    height: 25px;
    line-height: 25px !important; }
  .single .blog-list #sidebar .widget-heading {
    display: none; }
  .single .blog-list #sidebar .rf-widget_recent_entries li {
    margin-bottom: 25px; }
  .single .blog-list #sidebar .rf-widget_recent_entries a {
    display: block;
    font-weight: bold;
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    color: #2e2e2e;
    font-size: 18px;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 5px; }
  .single .blog-list #sidebar .rf-widget_recent_entries span {
    display: block;
    font-size: 1.4rem;
    color: #2e2e2e;
    font-family: "open-sans", Arial, Helvetica, Sans-serif; }

.use-cases-banner {
  text-align: center;
  color: #FFF; }
  .use-cases-banner h1, .use-cases-banner h2 {
    color: #FFF; }
  .use-cases-banner h1 {
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    font-weight: bold;
    font-size: 6rem;
    line-height: 1.4;
    text-align: left; }

.use-cases-content {
  width: 600px;
  margin: 0 auto;
  text-align: left; }
  .use-cases-content p {
    color: #FFF;
    font-size: 1.4rem; }
  @media screen and (max-width: 767px) {
    .use-cases-content {
      width: auto; } }

.use-cases-wrapper {
  position: relative; }

.use-cases-banner-inner {
  margin: 0 auto;
  width: 700px; }
  @media screen and (max-width: 767px) {
    .use-cases-banner-inner {
      width: auto; } }

.use-cases-links {
  width: 600px;
  margin: 0 auto;
  padding: 40px 0 10px; }
  @media screen and (max-width: 767px) {
    .use-cases-links {
      width: auto; } }
  .use-cases-links ul {
    width: 100%;
    display: table;
    table-layout: fixed; }
    .use-cases-links ul::after {
      clear: both;
      content: "";
      display: table; }
  .use-cases-links li {
    display: table-cell;
    text-align: left;
    width: 100%; }
    .use-cases-links li.active {
      /*
			&:before,
			&:after {
			  display: block;
			  position: absolute;
			  content: '';
			  width: 40px;
			  background: $white;
			  bottom: 0;
			  margin-left: 50px;
			}

			&:before {
			  bottom: -40px;
			  transform: rotate(90deg);
			  height: 1px;
			}

			&:after {
			  bottom: -20px;
			  height: 5px;
			}*/ }
      .use-cases-links li.active a {
        font-weight: bold;
        border-bottom: 1px solid #FFF; }
  .use-cases-links a {
    font-size: 22px;
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif; }

.use-cases-nodes {
  position: relative;
  margin-top: 60px; }
  .use-cases-nodes:before {
    display: block;
    content: '';
    left: 87px;
    right: 86px;
    height: 1px;
    top: 0;
    position: absolute;
    border-bottom: 1px solid #fff; }

.use-cases-nodes-inner {
  display: table;
  width: 100%;
  table-layout: fixed;
  padding: 0;
  position: relative; }

.use-case-node {
  height: 90px;
  width: 25%;
  display: table-cell;
  padding-bottom: 30px;
  vertical-align: top; }
  .use-case-node:hover {
    background: linear-gradient(transparent, rgba(255, 255, 255, 0.5)); }

.use-case-node-link {
  padding: 0;
  background: transparent;
  border: none;
  text-align: center; }

.use-case-node-inner {
  display: inline-block;
  background: transparent url("../images/node.svg");
  background-size: cover;
  border: 0;
  height: 90px;
  width: 42px;
  position: relative; }

.use-case-node-number {
  position: absolute;
  display: block;
  bottom: 9px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1.4rem; }

h3.use-case-node-text {
  text-align: center;
  display: block;
  color: #FFF;
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: normal; }

#content .use-case-section p {
  margin-bottom: 25px; }

#content .use-case-section .action-button {
  font-size: 24px;
  padding: 3px 10px 8px;
  line-height: 1;
  margin: 15px 0 20px; }

.use-cases-sections .container {
  padding: 0 60px; }
  @media screen and (max-width: 767px) {
    .use-cases-sections .container {
      padding: 0 10px; } }

.custom-header-container {
  padding-top: 40px; }
  @media screen and (max-width: 767px) {
    .custom-header-container {
      padding-top: 1rem; } }

#logo img {
  height: auto;
  min-height: 0; }

.logo-left {
  float: left;
  width: 195px; }
  @media screen and (max-width: 768px) {
    .logo-left {
      float: none;
      text-align: center;
      margin-bottom: 4rem;
      width: auto; }
      .logo-left a {
        width: 62%;
        display: inline-block; } }

.header-right a.action-button {
  float: right;
  margin-top: 0;
  font-size: 1.8rem;
  text-transform: uppercase;
  padding: 3px 10px 4px;
  margin-left: 20px;
  font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif; }

.feat-image > div {
  position: relative;
  min-height: 50rem; }
  @media screen and (max-width: 1199px) {
    .feat-image > div {
      height: auto;
      min-height: 0; } }
  @media screen and (max-width: 767px) {
    .feat-image > div {
      height: auto; } }

.header-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -101; }

.feat-video > div {
  position: relative; }
  @media screen and (max-width: 1199px) {
    .feat-video > div {
      height: auto;
      min-height: 0; } }

#header-video {
  display: none;
  object-fit: cover;
  position: absolute;
  overflow: hidden;
  background-size: cover;
  height: 100%;
  left: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  z-index: -100; }
  @media screen and (max-width: 1199px) {
    #header-video {
      height: 100%; } }
  @media screen and (max-width: 767px) {
    #header-video {
      display: none; } }

.object-fit #header-video {
  display: block; }

#header {
  position: relative;
  z-index: 21;
  top: 0; }
  #header .image-attribution {
    color: #FFF;
    position: absolute;
    bottom: 1rem;
    right: 2rem;
    font-style: italic;
    margin: 0; }

.top-menu-row {
  margin-bottom: 31px; }
  .top-menu-row ul.menu {
    margin-right: 30px;
    margin-top: 2px; }
    .top-menu-row ul.menu a {
      font-size: 13px;
      font-weight: lighter; }

.feat-image .header-row, .feat-header .header-row {
  margin: 50px 0 100px; }
  .feat-image .header-row h1, .feat-header .header-row h1 {
    color: #FFF; }
  .feat-image .header-row p, .feat-header .header-row p {
    color: #FFF; }

.feat-video .header-row {
  margin: 15rem 0 7.5rem; }
  .feat-video .header-row h1 {
    color: #FFF; }
  .feat-video .header-row p {
    color: #FFF; }
  @media screen and (max-height: 900px) {
    .feat-video .header-row {
      margin: 0 0 5rem; } }
  @media screen and (max-width: 1199px) {
    .feat-video .header-row {
      margin: 1rem 0 5rem; } }
  @media screen and (min-width: 768px) and (max-width: 1023px) {
    .feat-video .header-row {
      margin: 1rem 0 7.5rem; } }
  @media screen and (max-width: 767px) {
    .feat-video .header-row {
      margin: 0 0 2rem; } }

.header-row {
  margin: 30px 0 0; }
  .header-row a.action-button {
    font-size: 51.2px;
    font-size: 3.2rem;
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    text-transform: uppercase;
    padding: 0 16px; }
  .header-row h1 {
    color: #2e2e2e;
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    font-weight: bold;
    font-size: 60px;
    line-height: 1.4;
    text-align: left; }
  .header-row p {
    text-align: left;
    font-weight: 200;
    font-size: 1.7rem;
    line-height: 2;
    color: #2e2e2e;
    font-family: "open-sans", Arial, Helvetica, Sans-serif; }
  .header-row ul {
    list-style-type: circle;
    margin: -2rem 0 2.5rem 1.5rem;
    font-family: "open-sans", Arial, Helvetica, Sans-serif; }
    .header-row ul li {
      color: #FFF;
      font-size: 1.2rem;
      margin-bottom: 1rem; }
      .header-row ul li:last-child {
        margin-bottom: 0; }

@media screen and (max-width: 768px) {
  .header-wrap .header-right {
    display: none; } }

@media screen and (max-width: 768px) {
  .header-wrap .top-menu-row {
    display: none; } }

/*------------------------------------*  NAV
\*------------------------------------*/
.menu-header-container {
  float: right; }

.no-feat {
  padding-bottom: 40px; }
  .no-feat .header-right a.action-button {
    color: #3d3d3d;
    border-color: #3d3d3d; }
  .no-feat .custom-header-container nav#main-navigation ul.menu li:hover, .no-feat .custom-header-container nav#main-navigation ul.menu li.active, .no-feat .custom-header-container ul.menu li:hover, .no-feat .custom-header-container ul.menu li.active {
    background: #3d3d3d; }
  .no-feat .custom-header-container nav#main-navigation ul.menu a, .no-feat .custom-header-container ul.menu a {
    color: #707070; }
  .no-feat .custom-header-container nav#main-navigation ul.menu a:hover, .no-feat .custom-header-container ul.menu a:hover {
    color: #FFF;
    background: #3d3d3d; }
  .no-feat .custom-header-container nav#main-navigation ul.menu ul, .no-feat .custom-header-container ul.menu ul {
    background: #3d3d3d;
    /* Adding a background makes the dropdown work properly in IE7+. Make this as close to your page's background as possible (i.e. white page == white background). */ }
  .no-feat .custom-header-container nav#main-navigation ul.menu ul li, .no-feat .custom-header-container ul.menu ul li {
    background: #3d3d3d; }
  .no-feat .custom-header-container nav#main-navigation ul.menu li:hover a, .no-feat .custom-header-container nav#main-navigation ul.menu li.active a, .no-feat .custom-header-container ul.menu li:hover a, .no-feat .custom-header-container ul.menu li.active a {
    /* These create persistent hover states, meaning the top-most link stays 'hovered' even when your cursor has moved down the list. */
    background: #3d3d3d;
    color: #FFF; }
  .no-feat .custom-header-container nav#main-navigation ul.menu li:hover .dummy-item, .no-feat .custom-header-container nav#main-navigation ul.menu li.active .dummy-item, .no-feat .custom-header-container ul.menu li:hover .dummy-item, .no-feat .custom-header-container ul.menu li.active .dummy-item {
    padding: 10px 0; }
    .no-feat .custom-header-container nav#main-navigation ul.menu li:hover .dummy-item > a, .no-feat .custom-header-container nav#main-navigation ul.menu li.active .dummy-item > a, .no-feat .custom-header-container ul.menu li:hover .dummy-item > a, .no-feat .custom-header-container ul.menu li.active .dummy-item > a {
      color: #707070;
      cursor: default; }
      .no-feat .custom-header-container nav#main-navigation ul.menu li:hover .dummy-item > a:hover, .no-feat .custom-header-container nav#main-navigation ul.menu li.active .dummy-item > a:hover, .no-feat .custom-header-container ul.menu li:hover .dummy-item > a:hover, .no-feat .custom-header-container ul.menu li.active .dummy-item > a:hover {
        color: #707070; }
  .no-feat .custom-header-container nav#main-navigation ul.menu li:hover ul a, .no-feat .custom-header-container nav#main-navigation ul.menu li.active ul a, .no-feat .custom-header-container ul.menu li:hover ul a, .no-feat .custom-header-container ul.menu li.active ul a {
    /* The persistent hover state does however create a global style for links even before they're hovered. Here we undo these effects. */
    color: #FFF; }
  .no-feat .custom-header-container nav#main-navigation ul.menu li:hover ul li a:hover, .no-feat .custom-header-container nav#main-navigation ul.menu li.active ul li a:hover, .no-feat .custom-header-container ul.menu li:hover ul li a:hover, .no-feat .custom-header-container ul.menu li.active ul li a:hover {
    /* Here we define the most explicit hover states--what happens when you hover each individual link. */
    color: #707070; }

.custom-header-container nav#main-navigation ul.menu, .custom-header-container ul.menu {
  padding-right: 0;
  list-style: none;
  margin-bottom: 10px;
  /* Clear floats */
  float: left;
  width: 100%;
  /* Bring the nav above everything else--uncomment if needed.
	position:relative;
	z-index:5;
	*/ }
  .custom-header-container nav#main-navigation ul.menu li, .custom-header-container ul.menu li {
    float: left;
    margin-right: 10px;
    position: relative;
    padding-bottom: 0; }
    .custom-header-container nav#main-navigation ul.menu li:hover, .custom-header-container nav#main-navigation ul.menu li.active, .custom-header-container ul.menu li:hover, .custom-header-container ul.menu li.active {
      background: #FFF; }
    .custom-header-container nav#main-navigation ul.menu li.menu-item-has-children, .custom-header-container ul.menu li.menu-item-has-children {
      padding-bottom: 20px; }
  .custom-header-container nav#main-navigation ul.menu > li:last-child, .custom-header-container ul.menu > li:last-child {
    margin-right: 0; }
  .custom-header-container nav#main-navigation ul.menu a, .custom-header-container ul.menu a {
    display: block;
    padding: 7px 10px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-family: "open-sans", Arial, Helvetica, Sans-serif; }
  .custom-header-container nav#main-navigation ul.menu a:hover, .custom-header-container ul.menu a:hover {
    color: #1876b6;
    background: #fff; }
  .custom-header-container nav#main-navigation ul.menu > li > ul, .custom-header-container ul.menu > li > ul {
    background: #fff;
    /* Adding a background makes the dropdown work properly in IE7+. Make this as close to your page's background as possible (i.e. white page == white background). */
    list-style: none;
    position: absolute;
    left: -9999px;
    /* Hide off-screen when not needed (this is more accessible than display:none;) */
    margin-left: 0;
    z-index: 999;
    padding: 10px 0; }
  .custom-header-container nav#main-navigation ul.menu ul li, .custom-header-container ul.menu ul li {
    background: #fff;
    padding: 8px 0;
    float: none; }
    .custom-header-container nav#main-navigation ul.menu ul li.dummy-item > a, .custom-header-container ul.menu ul li.dummy-item > a {
      color: #9d9d9d;
      cursor: default; }
      .custom-header-container nav#main-navigation ul.menu ul li.dummy-item > a:hover, .custom-header-container ul.menu ul li.dummy-item > a:hover {
        color: #9d9d9d; }
  .custom-header-container nav#main-navigation ul.menu ul a, .custom-header-container ul.menu ul a {
    white-space: nowrap;
    /* Stop text wrapping and creating multi-line dropdown items */
    padding: 0 63px 0 15px;
    font-size: 13px;
    color: #2e2e2e; }
    @media screen and (max-width: 1199px) {
      .custom-header-container nav#main-navigation ul.menu ul a, .custom-header-container ul.menu ul a {
        height: auto;
        padding: 0 10px 0 15px; } }
  .custom-header-container nav#main-navigation ul.menu li:hover .dummy-item, .custom-header-container nav#main-navigation ul.menu li.active .dummy-item, .custom-header-container ul.menu li:hover .dummy-item, .custom-header-container ul.menu li.active .dummy-item {
    padding: 10px 0; }
    .custom-header-container nav#main-navigation ul.menu li:hover .dummy-item > a, .custom-header-container nav#main-navigation ul.menu li.active .dummy-item > a, .custom-header-container ul.menu li:hover .dummy-item > a, .custom-header-container ul.menu li.active .dummy-item > a {
      color: #9d9d9d;
      cursor: default; }
      .custom-header-container nav#main-navigation ul.menu li:hover .dummy-item > a:hover, .custom-header-container nav#main-navigation ul.menu li.active .dummy-item > a:hover, .custom-header-container ul.menu li:hover .dummy-item > a:hover, .custom-header-container ul.menu li.active .dummy-item > a:hover {
        color: #9d9d9d; }
  .custom-header-container nav#main-navigation ul.menu li:hover ul, .custom-header-container nav#main-navigation ul.menu li.active ul, .custom-header-container ul.menu li:hover ul, .custom-header-container ul.menu li.active ul {
    /* Display the dropdown on hover */
    left: 0;
    /* Bring back on-screen when needed */ }
  .custom-header-container nav#main-navigation ul.menu li:hover a, .custom-header-container nav#main-navigation ul.menu li.active a, .custom-header-container ul.menu li:hover a, .custom-header-container ul.menu li.active a {
    /* These create persistent hover states, meaning the top-most link stays 'hovered' even when your cursor has moved down the list. */
    background: #fff;
    text-decoration: none;
    color: #1876b6; }
  .custom-header-container nav#main-navigation ul.menu li:hover ul a, .custom-header-container nav#main-navigation ul.menu li.active ul a, .custom-header-container ul.menu li:hover ul a, .custom-header-container ul.menu li.active ul a {
    /* The persistent hover state does however create a global style for links even before they're hovered. Here we undo these effects. */
    color: #333333; }
  .custom-header-container nav#main-navigation ul.menu li:hover ul li a:hover, .custom-header-container nav#main-navigation ul.menu li.active ul li a:hover, .custom-header-container ul.menu li:hover ul li a:hover, .custom-header-container ul.menu li.active ul li a:hover {
    /* Here we define the most explicit hover states--what happens when you hover each individual link. */
    color: #1876b6; }

/**
 * Menu overview.
 */
.menu-toggle {
  display: none;
  background: transparent url(../images/menu-icon.png) right 9px no-repeat; }
  @media screen and (max-width: 768px) {
    .menu-toggle {
      display: inline-block;
      padding-right: 2.5rem;
      color: #fff;
      font-size: 25.6px;
      font-size: 1.6rem;
      margin-bottom: 3rem; } }

.no-feat .menu-toggle {
  color: #262626;
  background-image: url(../images/menu-icon-close.png); }

.c-menu {
  position: fixed;
  z-index: 200;
  background-color: #f5f5f5;
  transition: transform 0.3s; }
  .c-menu .menu-header-container {
    padding: 1.5rem 1rem;
    float: none; }
    .c-menu .menu-header-container a {
      color: #262626;
      font-size: 1.6rem;
      font-family: "open-sans", Arial, Helvetica, Sans-serif;
      line-height: 2.2; }
    .c-menu .menu-header-container ul li ul li {
      background: transparent url(../images/mobile-menu-arrow.png) left 13px no-repeat;
      padding: 1rem 1.2rem;
      background-size: 7px 7px; }
    .c-menu .menu-header-container ul li ul li.dummy-item {
      background: none;
      padding-left: 0; }
    .c-menu .menu-header-container ul li ul a {
      font-size: 1.4rem;
      color: #737373;
      line-height: 1.3;
      /*
		&:before {
		  content: "\f178";
		  font-family:"FontAwesome";
		  font-weight:lighter;
		}
		*/ }

.c-menu__items {
  list-style: none;
  margin: 0;
  padding: 0; }

/**
 * Close button resets.
 */
.c-menu__close {
  color: #FFF;
  background-color: #262626;
  font-size: 2rem;
  border: none;
  box-shadow: none;
  border-radius: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  border-bottom: 1px solid #262626; }

/**
 * Close button resets.
 */
.c-menu__close:focus {
  outline: none; }

/**
 * Body states.
 *
 * When a menu is active, we want to hide the overflows on the body to prevent
 * awkward document scrolling.
 */
body.has-active-menu {
  overflow: hidden; }

/**
 * Mask component
 */
.c-mask {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.3s, width 0s 0.3s, height 0s 0.3s; }

.c-mask.is-active {
  width: 100%;
  height: 100%;
  opacity: 0.7;
  transition: opacity 0.3s; }

.c-menu--slide-left,
.c-menu--slide-right,
.c-menu--push-left,
.c-menu--push-right {
  width: 100%;
  height: 100%;
  overflow-y: scroll; }

@media all and (min-width: 320px) {
  .c-menu--slide-left,
  .c-menu--slide-right,
  .c-menu--push-left,
  .c-menu--push-right {
    width: 250px; } }

.c-menu--slide-left .c-menu__item,
.c-menu--slide-right .c-menu__item,
.c-menu--push-left .c-menu__item,
.c-menu--push-right .c-menu__item {
  display: block;
  text-align: center;
  border-top: solid 1px #b5dbe9;
  border-bottom: solid 1px #3184a1; }

.c-menu--slide-left .c-menu__item:first-child,
.c-menu--slide-right .c-menu__item:first-child,
.c-menu--push-left .c-menu__item:first-child,
.c-menu--push-right .c-menu__item:first-child {
  border-top: none; }

.c-menu--slide-left .c-menu__item:last-child,
.c-menu--slide-right .c-menu__item:last-child,
.c-menu--push-left .c-menu__item:last-child,
.c-menu--push-right .c-menu__item:last-child {
  border-bottom: none; }

.c-menu--slide-left .c-menu__link,
.c-menu--slide-right .c-menu__link,
.c-menu--push-left .c-menu__link,
.c-menu--push-right .c-menu__link {
  display: block;
  padding: 12px 24px;
  color: #fff; }

.c-menu--slide-left .c-menu__close,
.c-menu--slide-right .c-menu__close,
.c-menu--push-left .c-menu__close,
.c-menu--push-right .c-menu__close {
  display: block;
  padding: 12px 24px;
  width: 100%; }

.c-menu--slide-left,
.c-menu--push-left {
  top: 0;
  left: 0;
  transform: translateX(-100%); }

@media all and (min-width: 320px) {
  .c-menu--slide-left,
  .c-menu--push-left {
    transform: translateX(-250px); } }

.c-menu--slide-left.is-active,
.c-menu--push-left.is-active {
  transform: translateX(0); }

.hbspt-form label {
  font-size: 1.4rem; }

.hbspt-form legend {
  font-size: 1.2rem; }

.hbspt-form select {
  font-size: 1.4rem; }

/* -----------------------------------------
   Site
----------------------------------------- */
.entry-content img {
  margin: 0 0 1rem 0; }

.alignleft, img.alignleft {
  margin-right: 1rem;
  display: inline;
  float: left; }

.alignright, img.alignright {
  margin-left: 1rem;
  display: inline;
  float: right; }

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

.alignnone, img.alignnone {
  /* not sure about this one */ }

.wp-caption {
  margin-bottom: 1rem;
  text-align: center;
  padding-top: 5px; }

.wp-caption img {
  border: 0 none;
  padding: 0;
  margin: 0; }

.wp-caption p.wp-caption-text {
  line-height: 1.5;
  font-size: 10px;
  margin: 0; }

.wp-smiley {
  margin: 0 !important;
  max-height: 1em; }

blockquote.left {
  margin-right: 1rem;
  text-align: right;
  margin-left: 0;
  width: 33%;
  float: left; }

blockquote.right {
  margin-left: 1rem;
  text-align: left;
  margin-right: 0;
  width: 33%;
  float: right; }

section.fw-main-row {
  position: relative;
  padding: 64px 0px 0px;
  padding: 4rem 0rem 0rem;
  background-size: cover;
  background-position: bottom center; }
  @media screen and (max-width: 767px) {
    section.fw-main-row {
      padding: 80px 0px;
      padding: 5rem 0rem; } }

div.fw-container {
  max-width: 1170px; }
  @media screen and (max-width: 767px) {
    div.fw-container {
      padding: 0px 32px;
      padding: 0rem 2rem; } }

.fw-row.margin-bottom {
  margin-bottom: 48px;
  margin-bottom: 3rem; }

.bg-color.white {
  background-color: #fff; }

.fw-logo-grid .fw-row {
  display: table;
  width: 100%;
  table-layout: fixed;
  padding-bottom: 6rem; }
  .fw-logo-grid .fw-row:last-child {
    padding-bottom: 4rem; }
  .fw-logo-grid .fw-row .fw-col-sm-1 {
    display: table-cell;
    width: 8.33333%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-1 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-1 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-2 {
    display: table-cell;
    width: 16.66667%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-2 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-2 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-3 {
    display: table-cell;
    width: 25%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-3 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-3 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-4 {
    display: table-cell;
    width: 33.33333%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-4 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-4 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-5 {
    display: table-cell;
    width: 41.66667%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-5 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-5 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-6 {
    display: table-cell;
    width: 50%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-6 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-6 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-7 {
    display: table-cell;
    width: 58.33333%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-7 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-7 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-8 {
    display: table-cell;
    width: 66.66667%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-8 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-8 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-9 {
    display: table-cell;
    width: 75%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-9 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-9 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-10 {
    display: table-cell;
    width: 83.33333%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-10 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-10 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-11 {
    display: table-cell;
    width: 91.66667%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-11 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-11 {
        display: table-cell;
        width: 100%; } }
  .fw-logo-grid .fw-row .fw-col-sm-12 {
    display: table-cell;
    width: 100%;
    float: none;
    padding: 0rem 3rem;
    vertical-align: middle; }
    .fw-logo-grid .fw-row .fw-col-sm-12 img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .fw-logo-grid .fw-row .fw-col-sm-12 {
        display: table-cell;
        width: 100%; } }

/**/
@media screen and (max-width: 767px) {
  body .fw-col-xs-1, body .fw-col-sm-1, body .fw-col-md-1, body .fw-col-lg-1, body .fw-col-xs-2, body .fw-col-sm-2, body .fw-col-md-2, body .fw-col-lg-2, body .fw-col-xs-3, body .fw-col-sm-3, body .fw-col-md-3, body .fw-col-lg-3, body .fw-col-xs-4, body .fw-col-sm-4, body .fw-col-md-4, body .fw-col-lg-4, body .fw-col-xs-5, body .fw-col-sm-5, body .fw-col-md-5, body .fw-col-lg-5, body .fw-col-xs-6, body .fw-col-sm-6, body .fw-col-md-6, body .fw-col-lg-6, body .fw-col-xs-7, body .fw-col-sm-7, body .fw-col-md-7, body .fw-col-lg-7, body .fw-col-xs-8, body .fw-col-sm-8, body .fw-col-md-8, body .fw-col-lg-8, body .fw-col-xs-9, body .fw-col-sm-9, body .fw-col-md-9, body .fw-col-lg-9, body .fw-col-xs-10, body .fw-col-sm-10, body .fw-col-md-10, body .fw-col-lg-10, body .fw-col-xs-11, body .fw-col-sm-11, body .fw-col-md-11, body .fw-col-lg-11, body .fw-col-xs-12, body .fw-col-sm-12, body .fw-col-md-12, body .fw-col-lg-12, body .fw-col-xs-15, body .fw-col-sm-15, body .fw-col-md-15, body .fw-col-lg-15 {
    padding-left: 0;
    padding-right: 0; } }

body {
  background-color: #FFF; }

.home #main {
  background-color: #f2f2f2; }

.home .header-row h1 {
  font-size: 112px;
  font-size: 7rem; }
  @media screen and (max-width: 767px) {
    .home .header-row h1 {
      font-size: 80px;
      font-size: 5rem; } }

.home-citations {
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  font-weight: lighter;
  font-style: italic;
  font-size: 25.6px;
  font-size: 1.6rem;
  color: #FFF;
  display: table;
  width: 100%; }
  .home-citations p {
    font-size: 25.6px;
    font-size: 1.6rem;
    position: relative;
    margin-bottom: 10px;
    line-height: 1.3; }
    .home-citations p:before {
      width: 35px;
      content: " ";
      background-image: url(/assets/citation.png);
      position: absolute;
      left: -60px;
      top: 6px;
      height: 27px; }
  .home-citations address {
    font-style: normal;
    text-transform: uppercase;
    font-size: 22.4px;
    font-size: 1.4rem; }
    .home-citations address span {
      text-transform: none; }
  .home-citations .left-quote, .home-citations .right-quote {
    width: 50%;
    display: table-cell;
    vertical-align: top;
    background-color: #0d3c60;
    min-height: 20px;
    padding: 6.6rem 7rem 6.2rem 8.8rem; }
    .home-citations .left-quote .quote-inner, .home-citations .right-quote .quote-inner {
      float: right; }
    @media screen and (max-width: 767px) {
      .home-citations .left-quote, .home-citations .right-quote {
        width: 100%;
        float: none;
        display: block; }
        .home-citations .left-quote .quote-inner, .home-citations .right-quote .quote-inner {
          float: none; } }
  .home-citations .right-quote {
    background-color: #0a3353; }
    .home-citations .right-quote .quote-inner {
      float: left; }
      @media screen and (max-width: 767px) {
        .home-citations .right-quote .quote-inner {
          float: none; } }

.home-content-list {
  padding: 90px 0 90px; }
  .home-content-list .action-button {
    color: #303030;
    border: 1px solid #303030;
    font-weight: lighter;
    font-size: 22.4px;
    font-size: 1.4rem; }
  .home-content-list h2 {
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-weight: lighter;
    font-size: 1.4rem;
    color: #303030;
    margin: 0 0 30px;
    line-height: 1; }
  .home-content-list ul li {
    font-size: 34px;
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    text-transform: none;
    color: #2e2e2e;
    line-height: 1.1;
    margin-bottom: 70px;
    position: relative; }
    .home-content-list ul li:last-child {
      margin-bottom: 38px; }
  .home-content-list .threat-list li:before {
    width: 38px;
    content: " ";
    background-image: url(/assets/icon-pie.png);
    position: absolute;
    left: -60px;
    top: 6px;
    height: 38px; }
  .home-content-list .threat-list li:first-child:before {
    background-image: url(/assets/icon-shield.png);
    height: 45px; }
  .home-content-list .threat-list li:last-child:before {
    background-image: url(/assets/icon-eye.png);
    width: 42px;
    height: 26px; }
  .home-content-list .soc-list li:before {
    width: 40px;
    content: " ";
    background-image: url(/assets/icon-radar.png);
    position: absolute;
    left: -60px;
    top: 6px;
    height: 40px; }
  .home-content-list .soc-list li:first-child:before {
    background-image: url(/assets/icon-stopwatch.png);
    width: 42px;
    height: 45px; }
  .home-content-list .soc-list li:last-child:before {
    background-image: url(/assets/icon-globe.png);
    width: 42px;
    height: 37px; }

#footer-wrap {
  padding-top: 40px;
  background: url(/assets/bg_footer.jpg) no-repeat left top;
  background-size: cover; }

#footer-widgets {
  padding-bottom: 30px; }
  #footer-widgets .widget-heading h6 {
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    color: #B5BFC8;
    font-size: 1.6rem;
    font-weight: normal;
    margin-bottom: 1.8rem; }
  #footer-widgets .menu a {
    color: #FFF;
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-weight: normal;
    font-size: 13px; }
  #footer-widgets .menu > li {
    border-top: none;
    margin-bottom: 20px; }
    #footer-widgets .menu > li a {
      padding: 0; }
  #footer-widgets .menu .sub-menu {
    margin-top: 0px; }
    #footer-widgets .menu .sub-menu li {
      border-top: none;
      padding-left: 0;
      margin-bottom: 16px; }
      #footer-widgets .menu .sub-menu li a {
        font-weight: lighter;
        font-size: 1.4rem;
        padding: 0; }

#copyright {
  border-top: 1px solid #FFF;
  padding: 55px 0 60px; }
  @media screen and (max-width: 1300px) {
    #copyright {
      padding: 80px 32px;
      padding: 5rem 2rem; } }
  #copyright nav .menu {
    float: right; }
    #copyright nav .menu li {
      border: none;
      display: inline-block; }
      #copyright nav .menu li a {
        color: #FFF;
        font-family: "open-sans", Arial, Helvetica, Sans-serif;
        font-size: 1.4rem;
        text-decoration: underline;
        margin: 0 12px; }
      #copyright nav .menu li:last-child a {
        margin-right: 0; }
  #copyright p {
    color: #FFF;
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-size: 1.4rem;
    float: left; }

#main {
  background-color: #FFF;
  padding-bottom: 60px; }
  #main .action-button {
    color: #2e2e2e;
    border-color: #2e2e2e;
    line-height: 1; }
    #main .action-button:hover {
      border-color: #FFF; }

.has-feeds #main {
  background-color: #f2f2f2; }

#content h1 {
  color: #2e2e2e;
  font-size: 6rem;
  margin: 0;
  font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif; }

#content h2 {
  color: #2e2e2e;
  font-size: 4rem;
  font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
  font-weight: normal; }

#content h3 {
  color: #2e2e2e;
  font-size: 3rem;
  font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
  font-weight: normal; }

#content h4 {
  color: #2e2e2e;
  font-size: 2rem;
  font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
  font-weight: normal;
  margin-bottom: 0; }

#content p {
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  font-size: 1.4rem;
  color: #2e2e2e;
  line-height: 2; }
  #content p.ingress {
    font-weight: lighter;
    font-size: 1.8rem;
    line-height: 1.8; }

#content .action-button {
  font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
  color: #2e2e2e;
  border-color: #2e2e2e;
  text-transform: uppercase;
  font-size: 51.2px;
  font-size: 3.2rem;
  padding: 0 15px;
  line-height: 1.7; }

.home .fw-page-builder-content {
  padding-top: 80px;
  padding-top: 5rem; }

.home section.fw-main-row {
  padding: 48px 0px 0px;
  padding: 3rem 0rem 0rem; }
  @media screen and (max-width: 767px) {
    .home section.fw-main-row {
      padding: 80px 0px;
      padding: 5rem 0rem; } }

@media screen and (max-width: 1120px) {
  .home div.fw-container {
    padding: 0px 32px;
    padding: 0rem 2rem; } }

.home .fw-row.margin-bottom {
  margin-bottom: 48px;
  margin-bottom: 3rem; }

.home .preheader {
  margin: 0px 0px 32px;
  margin: 0rem 0rem 2rem; }
  @media screen and (max-width: 767px) {
    .home .preheader {
      display: none; } }

.home .intro-box .content-box .box-content strong {
  font-size: 2.6rem;
  line-height: 1.2; }

.home .intro-box .content-box .box-content p {
  font-family: "open-sans", Arial, Helvetica, Sans-serif;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 4rem; }

.home .intro-box .content-box .box-content h2 {
  font-size: 1.8rem;
  font-weight: normal;
  text-align: center;
  position: static; }

.home .intro-area {
  padding: 4.5rem 0 6rem;
  background-color: #f2f2f2; }
  .home .intro-area p {
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 6rem; }
  .home .intro-area h2 {
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-size: 3.7rem;
    text-align: center;
    font-weight: 500;
    margin-bottom: 4rem; }
  .home .intro-area .intro-box {
    padding: 2.8rem 0;
    background-color: #FFF;
    text-align: center; }
    .home .intro-area .intro-box h3 {
      font-family: "open-sans", Arial, Helvetica, Sans-serif;
      font-size: 1.8rem; }
    .home .intro-area .intro-box img {
      width: 9.2rem; }

.home .business-areas {
  padding: 5.8rem 0 5.5rem; }
  .home .business-areas .intro-box {
    text-align: center; }
    .home .business-areas .intro-box img {
      margin-bottom: 2rem;
      height: 4rem; }
    .home .business-areas .intro-box h3 {
      font-size: 2rem;
      margin-bottom: 1rem; }
    .home .business-areas .intro-box p {
      font-size: 2.1rem;
      font-family: "open-sans", Arial, Helvetica, Sans-serif; }

.home .customer-list {
  background-color: #FFF;
  padding: 8rem; }
  .home .customer-list h2 {
    text-align: center;
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-size: 3rem;
    font-weight: 400;
    margin-bottom: 4.8rem; }

.home .sc {
  padding: 5.4rem 0 0;
  text-align: center; }
  .home .sc img {
    width: 5.2rem;
    margin-bottom: 1.7rem; }
  .home .sc h2 {
    font-size: 2.1rem;
    font-family: "open-sans", Arial, Helvetica, Sans-serif;
    font-weight: 300;
    color: #303030;
    opacity: 0.6; }

.home .spot h2 {
  margin-bottom: 48px;
  margin-bottom: 3rem; }

@media screen and (max-width: 767px) {
  .home .action-button {
    font-weight: normal;
    font-family: "acumin-pro-extra-condensed", Arial, Helvetica, Sans-serif;
    text-transform: uppercase;
    font-size: 2rem;
    padding: 1rem 1rem 1rem;
    margin-left: 2rem;
    margin-bottom: 5rem; }
  .home .customer-list {
    padding: 2rem; }
  .home .intro-area .intro-box {
    margin-bottom: 4rem; }
    .home .intro-area .intro-box:last-child {
      margin-bottom: 0; }
  .home .business-areas {
    padding: 5.8rem 2rem 5.5rem; }
    .home .business-areas .intro-box {
      margin-bottom: 4rem; }
      .home .business-areas .intro-box:last-child {
        margin-bottom: 0; } }

.page-template-tpl-rfun {
  /*
  .header-row a.action-button {
    font-family:$openSans;
    color: rgba(18,52,82,1);
    font-weight:bold;
    font-size:1.8rem;
    background-color: #FFF;
    border:none;
    padding:1.2rem 3rem;
    border-radius:3px;
    box-shadow: 0 2px 30px rgba(0,0,0,0.3);
  }*/ }
  .page-template-tpl-rfun #main {
    padding-bottom: 0; }
    .page-template-tpl-rfun #main .rfun-flex {
      display: -ms-flexbox;
      display: flex;
      /* or inline-flex */ }
    .page-template-tpl-rfun #main .sticky-menu {
      padding-top: 8.7rem; }
    .page-template-tpl-rfun #main .left-menu {
      background-color: #F2F2F2;
      width: 31%;
      /*
      .action-button {
        font-family:$openSans;
        color:#FFF;
        font-weight:bold;
        font-size:1.8rem;
        background-color: rgba(18,52,82,1);
        border:none;
        padding:1.8rem 2.4rem;
        border-radius:3px;
        box-shadow: 0 2px 30px rgba(0,0,0,0.3);
      }*/ }
      .page-template-tpl-rfun #main .left-menu .menu-content {
        float: right;
        margin-right: 10rem; }
      .page-template-tpl-rfun #main .left-menu .anchor-menu {
        padding-left: 15px;
        margin: 5rem 0; }
        .page-template-tpl-rfun #main .left-menu .anchor-menu li {
          font-family: "open-sans", Arial, Helvetica, Sans-serif;
          color: rgba(18, 52, 82, 0.5);
          font-size: 2rem;
          font-weight: bold;
          margin-bottom: 2rem;
          position: relative; }
          .page-template-tpl-rfun #main .left-menu .anchor-menu li.active {
            color: #123452;
            padding-left: 24px; }
            .page-template-tpl-rfun #main .left-menu .anchor-menu li.active:before {
              content: "";
              height: 2px;
              width: 2.7rem;
              display: block;
              background-color: rgba(18, 52, 82, 0.2);
              position: absolute;
              bottom: 12px;
              left: -15px; }
          .page-template-tpl-rfun #main .left-menu .anchor-menu li:hover {
            color: #123452; }
    .page-template-tpl-rfun #main #content {
      padding: 6rem 8rem; }
      .page-template-tpl-rfun #main #content a {
        color: #477dca; }
      .page-template-tpl-rfun #main #content .content-box {
        width: 715px;
        margin-bottom: 3.2rem; }
        .page-template-tpl-rfun #main #content .content-box:after {
          content: "";
          height: 18.5rem;
          width: 2px;
          display: block;
          background-color: rgba(18, 52, 82, 0.2);
          margin-left: 1.9rem;
          margin-top: 3rem; }
        .page-template-tpl-rfun #main #content .content-box:last-child:after {
          content: none; }
        .page-template-tpl-rfun #main #content .content-box > p > img {
          margin-left: -105px;
          max-width: 114.5%;
          width: 114.5%; }
      .page-template-tpl-rfun #main #content h2 {
        color: rgba(0, 0, 0, 0.7);
        line-height: 4.4rem;
        font-weight: bold;
        font-family: "open-sans", Arial, Helvetica, Sans-serif;
        margin-bottom: 2.4rem;
        font-size: 4.8rem; }
      .page-template-tpl-rfun #main #content h3 {
        color: rgba(0, 0, 0, 0.7);
        font-family: "open-sans", Arial, Helvetica, Sans-serif;
        font-size: 2.8rem;
        font-weight: bold;
        margin-bottom: 2px; }
      .page-template-tpl-rfun #main #content h4 {
        font-family: "open-sans", Arial, Helvetica, Sans-serif;
        text-transform: uppercase;
        color: rgba(27, 74, 113, 0.5);
        font-weight: bold;
        font-size: 1.4rem;
        margin-bottom: 0.8rem; }
      .page-template-tpl-rfun #main #content .agenda h4 {
        margin-bottom: -2rem; }
      .page-template-tpl-rfun #main #content h5 {
        font-family: "open-sans", Arial, Helvetica, Sans-serif;
        color: rgba(0, 0, 0, 0.7);
        font-size: 2.8rem;
        font-weight: bold;
        margin-top: 4rem; }
      .page-template-tpl-rfun #main #content p {
        font-size: 2rem;
        color: rgba(0, 0, 0, 0.7);
        line-height: 1.4;
        margin-top: 2rem; }
      .page-template-tpl-rfun #main #content em {
        font-weight: 500;
        font-size: 1.5rem;
        font-style: normal;
        opacity: .7; }
      .page-template-tpl-rfun #main #content ul {
        list-style: none;
        padding-left: 0;
        margin-bottom: 3.5rem;
        margin-left: 0.8rem; }
        .page-template-tpl-rfun #main #content ul li {
          font-size: 2rem;
          line-height: 1.4;
          font-family: "open-sans", Arial, Helvetica, Sans-serif;
          color: rgba(0, 0, 0, 0.7);
          padding-left: 1em;
          text-indent: -2.5rem;
          margin-bottom: 1.2rem; }
        .page-template-tpl-rfun #main #content ul li:before {
          content: '•';
          font-weight: 700;
          margin-right: .8em;
          opacity: .3; }
      .page-template-tpl-rfun #main #content .agenda .agenda-switcher {
        overflow: hidden; }
        .page-template-tpl-rfun #main #content .agenda .agenda-switcher h5 {
          float: left;
          margin-right: 2.5rem; }
          .page-template-tpl-rfun #main #content .agenda .agenda-switcher h5 a {
            border: 2px solid rgba(27, 74, 113, 0.3);
            color: rgba(27, 74, 113, 0.3);
            padding: 0.3rem 1.5rem 0.5rem; }
            .page-template-tpl-rfun #main #content .agenda .agenda-switcher h5 a.active {
              color: rgba(27, 74, 113, 0.5);
              border-color: rgba(27, 74, 113, 0.5); }
            .page-template-tpl-rfun #main #content .agenda .agenda-switcher h5 a:hover {
              color: #e6452a;
              border-color: #e6452a; }
      .page-template-tpl-rfun #main #content .agenda ul {
        margin-left: 0; }
      .page-template-tpl-rfun #main #content .agenda li {
        background-color: #F2F2F2;
        margin: 0;
        text-indent: 0;
        padding: 1.7rem 3.5rem;
        line-height: 1.2; }
        .page-template-tpl-rfun #main #content .agenda li:nth-child(even) {
          background-color: #FAFAFA; }
      .page-template-tpl-rfun #main #content .agenda li:before {
        content: none;
        margin-right: 0; }
      .page-template-tpl-rfun #main #content table tr td {
        vertical-align: top; }
      .page-template-tpl-rfun #main #content table tr td:last-child {
        width: 75%; }
      .page-template-tpl-rfun #main #content .content-blocks {
        margin-top: 3rem; }
      .page-template-tpl-rfun #main #content .speaker-box {
        overflow: visible;
        margin-bottom: 6rem; }
        .page-template-tpl-rfun #main #content .speaker-box:last-child {
          margin-bottom: 0; }
        .page-template-tpl-rfun #main #content .speaker-box img {
          margin-left: -105px; }
        .page-template-tpl-rfun #main #content .speaker-box img, .page-template-tpl-rfun #main #content .speaker-box .speaker-info {
          display: inline-block; }
        .page-template-tpl-rfun #main #content .speaker-box .speaker-info {
          margin-left: 3rem;
          width: 520px;
          vertical-align: top; }
          .page-template-tpl-rfun #main #content .speaker-box .speaker-info p {
            margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .page-template-tpl-rfun #main .left-menu {
        display: none; }
      .page-template-tpl-rfun #main #content {
        width: 100%;
        padding: 2.4rem 1.6rem; }
        .page-template-tpl-rfun #main #content .content-box {
          width: auto; }
          .page-template-tpl-rfun #main #content .content-box:after {
            height: 62px; }
          .page-template-tpl-rfun #main #content .content-box > p > img {
            margin-left: -1.6rem;
            max-width: 100%;
            width: 100%; }
        .page-template-tpl-rfun #main #content .speaker-box .speaker-info, .page-template-tpl-rfun #main #content .speaker-box img {
          display: block; }
        .page-template-tpl-rfun #main #content .speaker-box img {
          margin-bottom: 2rem;
          margin-left: -1.6rem; }
        .page-template-tpl-rfun #main #content .speaker-box .speaker-info {
          width: auto;
          margin: 0; }
        .page-template-tpl-rfun #main #content h2 {
          font-size: 2rem;
          line-height: 2.6rem; }
        .page-template-tpl-rfun #main #content h3 {
          font-size: 2rem; }
        .page-template-tpl-rfun #main #content h4 {
          font-size: 1.7rem; }
        .page-template-tpl-rfun #main #content h5 {
          font-size: 1.6rem; }
        .page-template-tpl-rfun #main #content p {
          font-size: 1.7rem;
          line-height: 2.2rem; }
        .page-template-tpl-rfun #main #content ul li {
          font-size: 1.6rem;
          line-height: 3rem; } }

/*
.success {
  @extend %flash-success;
}*/
.wf-loading {
  visibility: hidden; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJzaXRlL19yZXNldC5zY3NzIiwiYXBwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJzaXRlL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19wcml2YXRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fZmlsbC1wYXJlbnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NoaWZ0LnNjc3MiLCJzaXRlL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX3ByZWhlYWRlci5zY3NzIiwic2l0ZS9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fbGlzdHMuc2NzcyIsImNvbXBvbmVudHMvX3RhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwic2l0ZS9fYnJlYWtwb2ludC5zY3NzIiwibW9kdWxlcy9fc3BvdC5zY3NzIiwibW9kdWxlcy9fbWVkaWEtaW1hZ2Uuc2NzcyIsIm1vZHVsZXMvX3ZpZGVvLW1vZGFsLnNjc3MiLCJtb2R1bGVzL190d2l0dGVyLWZlZWQuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci1xdW90ZXMuc2NzcyIsIm1vZHVsZXMvX2ZlZWQtYm94ZXMuc2NzcyIsIm1vZHVsZXMvX3BhZ2Uuc2NzcyIsIm1vZHVsZXMvX2NhdC1saXN0LnNjc3MiLCJtb2R1bGVzL19ibG9nLWxpc3Quc2NzcyIsIm1vZHVsZXMvX2N1c3RvbWVycy5zY3NzIiwibW9kdWxlcy9fc2luZ2xlLnNjc3MiLCJtb2R1bGVzL191c2UtY2FzZXMuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci5zY3NzIiwibW9kdWxlcy9fbWVudS5zY3NzIiwibW9kdWxlcy9fbW9iaWxlLW1lbnUuc2NzcyIsIm1vZHVsZXMvX2h1YnNwb3Quc2NzcyIsInNpdGUvX3d5c2l3eWcuc2NzcyIsInNpdGUvX2Z3LWdyaWQuc2NzcyIsInNpdGUvX3JlY29yZGVkLnNjc3MiLCJzaXRlL19ob21lLnNjc3MiLCJzaXRlL19yZnVuLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLDREQUE0RDtBQUU1RDs7OztHQUlHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRyxPQUFPO0VBQ2pDLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsK0JBQThCO0VBQUcsT0FBTyxFQUN6Qzs7QUFFRDs7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LGdCQUE4QixFQUMvQixFQUFBO0VKbEZQO0lJMkRJLFlBQU87SUFHTCxlQUFjO0lBZWQsdUJDdEUwQztJRHVFMUMsaUJDNUV5QyxFTFUxQztJQVBEO01JNEVJLGdCQUE4QixFQUMvQjtJRUpIO01OekVBO1FJc0RBLFlBQU87UUFHTCxlQUFjO1FBZWQsdUJDdEUwQztRRHVFMUMsWUM1RXlDLEVMVTFDO1FBWkw7VUlpRlEsZ0JBQThCLEVBQy9CLEVBQUE7RUo3RUg7SUlzREEsWUFBTztJQUdMLGVBQWM7SUFlZCx1QkN0RTBDO0lEdUUxQyxpQkM1RXlDLEVMVTFDO0lBUEQ7TUk0RUksZ0JBQThCLEVBQy9CO0lFSkg7TU56RUE7UUlzREEsWUFBTztRQUdMLGVBQWM7UUFlZCx1QkN0RTBDO1FEdUUxQyxZQzVFeUMsRUxVMUM7UUFaTDtVSWlGUSxnQkFBOEIsRUFDL0IsRUFBQTtFSjdFSDtJSXNEQSxZQUFPO0lBR0wsZUFBYztJQWVkLHVCQ3RFMEM7SUR1RTFDLGlCQzVFeUMsRUxVMUM7SUFaTDtNSWlGUSxnQkFBOEIsRUFDL0I7SUVKSDtNTjlFSjtRSTJESSxZQUFPO1FBR0wsZUFBYztRQWVkLHVCQ3RFMEM7UUR1RTFDLFlDNUV5QyxFTFUxQztRQVBEO1VJNEVJLGdCQUE4QixFQUMvQixFQUFBO0VKN0VIO0lJc0RBLFlBQU87SUFHTCxlQUFjO0lBZWQsdUJDdEUwQztJRHVFMUMsaUJDNUV5QyxFTFUxQztJQVpMO01JaUZRLGdCQUE4QixFQUMvQjtJRUpIO01OOUVKO1FJMkRJLFlBQU87UUFHTCxlQUFjO1FBZWQsdUJDdEUwQztRRHVFMUMsWUM1RXlDLEVMVTFDO1FBUEQ7VUk0RUksZ0JBQThCLEVBQy9CLEVBQUE7RUpsRlA7SUkyREksWUFBTztJQUdMLGVBQWM7SUFlZCx1QkN0RTBDO0lEdUUxQyxpQkM1RXlDLEVMVTFDO0lBUEQ7TUk0RUksZ0JBQThCLEVBQy9CO0lFSkg7TU45RUo7UUkyREksWUFBTztRQUdMLGVBQWM7UUFlZCx1QkN0RTBDO1FEdUUxQyxZQzVFeUMsRUxVMUM7UUFQRDtVSTRFSSxnQkFBOEIsRUFDL0IsRUFBQTtFSmxGUDtJSTJESSxZQUFPO0lBR0wsZUFBYztJQWVkLHVCQ3RFMEM7SUR1RTFDLGlCQzVFeUMsRUxVMUM7SUFQRDtNSTRFSSxnQkFBOEIsRUFDL0I7SUVKSDtNTjlFSjtRSTJESSxZQUFPO1FBR0wsZUFBYztRQWVkLHVCQ3RFMEM7UUR1RTFDLFlDNUV5QyxFTFUxQztRQVpMO1VJaUZRLGdCQUE4QixFQUMvQixFQUFBO0VKbEZQO0lJMkRJLFlBQU87SUFHTCxlQUFjO0lBZWQsdUJDdEUwQztJRHVFMUMsZ0JDNUV5QyxFTFUxQztJQVpMO01JaUZRLGdCQUE4QixFQUMvQjtJRUpIO01OOUVKO1FJMkRJLFlBQU87UUFHTCxlQUFjO1FBZWQsdUJDdEUwQztRRHVFMUMsWUM1RXlDLEVMVTFDO1FBWkw7VUlpRlEsZ0JBQThCLEVBQy9CLEVBQUE7RUpsRlA7SUkyREksWUFBTztJQUdMLGVBQWM7SUFlZCx1QkN0RTBDO0lEdUUxQyxZQzVFeUMsRUxVMUM7SUFaTDtNSWlGUSxnQkFBOEIsRUFDL0I7SUVKSDtNTnpFQTtRSXNEQSxZQUFPO1FBR0wsZUFBYztRQWVkLHVCQ3RFMEM7UUR1RTFDLFlDNUV5QyxFTFUxQztRQVBEO1VJNEVJLGdCQUE4QixFQUMvQixFQUFBO0VFSkg7SU45RUo7TUkyREksWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxnQkM1RXlDLEVMa0J4QztNQUZEO1FJK0RFLGdCQUE4QixFQUMvQjtJSmhFRDtNSXlDRixZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxrQnhDO01BRkQ7UUkrREUsZ0JBQThCLEVBQy9CO0lKaEVEO01JeUNGLFlBQU87TUFHTCxlQUFjO01BZWQsdUJDdEUwQztNRHVFMUMsaUJDNUV5QyxFTGtCeEM7TUFGRDtRSStERSxnQkFBOEIsRUFDL0I7SUpoRUQ7TUl5Q0YsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMa0J4QztNQUZEO1FJK0RFLGdCQUE4QixFQUMvQjtJSmhFRDtNSXlDRixZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxrQnhDO01BcEJQO1FJaUZRLGdCQUE4QixFQUMvQjtJSmxGUDtNSTJESSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxrQnhDO01BcEJQO1FJaUZRLGdCQUE4QixFQUMvQjtJSmxGUDtNSTJESSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxrQnhDO01BcEJQO1FJaUZRLGdCQUE4QixFQUMvQjtJSmxGUDtNSTJESSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxrQnhDO01BcEJQO1FJaUZRLGdCQUE4QixFQUMvQjtJSmxGUDtNSTJESSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxrQnhDO01BcEJQO1FJaUZRLGdCQUE4QixFQUMvQjtJSmxGUDtNSTJESSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxrQnhDO01BcEJQO1FJaUZRLGdCQUE4QixFQUMvQjtJSmxGUDtNSTJESSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGdCQzVFeUMsRUxrQnhDO01BcEJQO1FJaUZRLGdCQUE4QixFQUMvQjtJSmxGUDtNSTJESSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLFlDNUV5QyxFTGtCeEM7TUFwQlA7UUlpRlEsZ0JBQThCLEVBQy9CLEVBQUE7O0FKeERQO0VPbEJFLFlBQVc7RUowQlQsZUFBYztFSTFCaEIsWUFBVztFSjRCVCxvQkFBbUIsRUg0QnRCO0VBakNHO0lJeUJBLG9CQUFtQjtJQUNuQixnQkFBZ0QsRUpuQi9DO0lNd0NEO01OcERKO1FJOEJJLG9CQUFtQjtRQUNuQixZQUFnRCxFSm5CL0MsRUFBQTtFQVBEO0lJeUJBLG9CQUFtQjtJQUNuQixpQkFBZ0QsRUpuQi9DO0lNd0NEO01OL0NBO1FJeUJBLG9CQUFtQjtRQUNuQixZQUFnRCxFSm5CL0MsRUFBQTtFQVBEO0lJeUJBLG9CQUFtQjtJQUNuQixXQUFnRCxFSm5CL0M7SU13Q0Q7TU4vQ0E7UUl5QkEsb0JBQW1CO1FBQ25CLFlBQWdELEVKbkIvQyxFQUFBO0VBWkw7SUk4Qkksb0JBQW1CO0lBQ25CLGlCQUFnRCxFSm5CL0M7SU13Q0Q7TU5wREo7UUk4Qkksb0JBQW1CO1FBQ25CLFlBQWdELEVKbkIvQyxFQUFBO0VBUEQ7SUl5QkEsb0JBQW1CO0lBQ25CLGlCQUFnRCxFSm5CL0M7SU13Q0Q7TU5wREo7UUk4Qkksb0JBQW1CO1FBQ25CLFlBQWdELEVKbkIvQyxFQUFBO0VBUEQ7SUl5QkEsb0JBQW1CO0lBQ25CLFdBQWdELEVKbkIvQztJTXdDRDtNTi9DQTtRSXlCQSxvQkFBbUI7UUFDbkIsWUFBZ0QsRUpuQi9DLEVBQUE7RUFQRDtJSXlCQSxvQkFBbUI7SUFDbkIsaUJBQWdELEVKbkIvQztJTXdDRDtNTi9DQTtRSXlCQSxvQkFBbUI7UUFDbkIsWUFBZ0QsRUpuQi9DLEVBQUE7RUFaTDtJSThCSSxvQkFBbUI7SUFDbkIsaUJBQWdELEVKbkIvQztJTXdDRDtNTnBESjtRSThCSSxvQkFBbUI7UUFDbkIsWUFBZ0QsRUpuQi9DLEVBQUE7RUFQRDtJSXlCQSxvQkFBbUI7SUFDbkIsV0FBZ0QsRUpuQi9DO0lNd0NEO01OcERKO1FJOEJJLG9CQUFtQjtRQUNuQixZQUFnRCxFSm5CL0MsRUFBQTtFQVBEO0lJeUJBLG9CQUFtQjtJQUNuQixpQkFBZ0QsRUpuQi9DO0lNd0NEO01OL0NBO1FJeUJBLG9CQUFtQjtRQUNuQixZQUFnRCxFSm5CL0MsRUFBQTtFQVBEO0lJeUJBLG9CQUFtQjtJQUNuQixpQkFBZ0QsRUpuQi9DO0lNd0NEO01OL0NBO1FJeUJBLG9CQUFtQjtRQUNuQixZQUFnRCxFSm5CL0MsRUFBQTtFQVBEO0lJeUJBLG9CQUFtQjtJQUNuQixZQUFnRCxFSm5CL0M7SU13Q0Q7TU5wREo7UUk4Qkksb0JBQW1CO1FBQ25CLFlBQWdELEVKbkIvQyxFQUFB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RSxjQUFhLEVBQ2Q7TUE5T1A7UUFnUFEsWUFBVztRQUNYLHVCQUFxQixFQWtEdEI7UUFqREM7VUFDRSxZQUFVLEVBVVg7VUFYRDtZQUdJLGFBQVcsRUFDWjtVQXRQWDtZQXdQWSxxQkFBbUI7WUFDbkIsZ0JBQWU7WUFDZixZQUFXLEVBQ1o7UUEzUFg7VUFnUVksZUFBYyxFQUNmO1FBQ0Q7VUFDRSxvQkFBbUI7VUFDbkIscUJBQW1CLEVBQ3BCO1FBQ0Q7VUFDRSxZQUFVO1VBQ1YsVUFBUSxFQUNUO1FBelFYO1VBNFFVLGdCQUFjO1VBQ2Qsb0JBQWtCLEVBQ25CO1FBQ0Q7VUFDRSxnQkFBZSxFQUNoQjtRQWpSVDtVQW1SVSxrQkFBZ0IsRUFFakI7UUFyUlQ7VUF1UlUsa0JBQWdCLEVBQ2pCO1FBQ0Q7VUFDRSxrQkFBZ0I7VUFDaEIsb0JBQWtCLEVBQ25CO1FBNVJUO1VBK1JZLGtCQUFnQjtVQUNoQixrQkFBZ0IsRUFDakIsRUFBQTs7QXpDN0dYOzs7R0FHRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25CIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBWYXJpYWJsZXM6IEJyYW5kaW5nIC8gQ29sb3JzIC8gRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOjphZnRlciwgKjo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5yb3cgLmNvbC0xIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA2LjE3MjE1JTsgfVxuICAgIC5yb3cgLmNvbC0xOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5yb3cgLmNvbC0xIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucm93IC5jb2wtMTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAucm93IC5jb2wtMiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogMTQuNzAxOTYlOyB9XG4gICAgLnJvdyAuY29sLTI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnJvdyAuY29sLTIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5yb3cgLmNvbC0yOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5yb3cgLmNvbC0zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiAyMy4yMzE3NiU7IH1cbiAgICAucm93IC5jb2wtMzpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucm93IC5jb2wtMyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnJvdyAuY29sLTM6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnJvdyAuY29sLTQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgd2lkdGg6IDMxLjc2MTU3JTsgfVxuICAgIC5yb3cgLmNvbC00Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5yb3cgLmNvbC00IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucm93IC5jb2wtNDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAucm93IC5jb2wtNSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogNDAuMjkxMzclOyB9XG4gICAgLnJvdyAuY29sLTU6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnJvdyAuY29sLTUge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5yb3cgLmNvbC01Omxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5yb3cgLmNvbC02IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA0OC44MjExNyU7IH1cbiAgICAucm93IC5jb2wtNjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucm93IC5jb2wtNiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnJvdyAuY29sLTY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnJvdyAuY29sLTcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgd2lkdGg6IDU3LjM1MDk4JTsgfVxuICAgIC5yb3cgLmNvbC03Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5yb3cgLmNvbC03IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucm93IC5jb2wtNzpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAucm93IC5jb2wtOCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogNjUuODgwNzglOyB9XG4gICAgLnJvdyAuY29sLTg6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnJvdyAuY29sLTgge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5yb3cgLmNvbC04Omxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5yb3cgLmNvbC05IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA3NC40MTA1OSU7IH1cbiAgICAucm93IC5jb2wtOTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucm93IC5jb2wtOSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnJvdyAuY29sLTk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnJvdyAuY29sLTEwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA4Mi45NDAzOSU7IH1cbiAgICAucm93IC5jb2wtMTA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnJvdyAuY29sLTEwIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucm93IC5jb2wtMTA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnJvdyAuY29sLTExIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA5MS40NzAyJTsgfVxuICAgIC5yb3cgLmNvbC0xMTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucm93IC5jb2wtMTEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5yb3cgLmNvbC0xMTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAucm93IC5jb2wtMTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucm93IC5jb2wtMTI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnJvdyAuY29sLTEyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucm93IC5jb2wtMTI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucm93IC5zbWFsbC1jb2wtMSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA2LjE3MjE1JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTE6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC0yIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDE0LjcwMTk2JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC0zIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDIzLjIzMTc2JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTM6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC00IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDMxLjc2MTU3JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC01IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDQwLjI5MTM3JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTU6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC02IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDQ4LjgyMTE3JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC03IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDU3LjM1MDk4JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTc6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC04IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDY1Ljg4MDc4JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTg6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC05IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDc0LjQxMDU5JTsgfVxuICAgICAgLnJvdyAuc21hbGwtY29sLTk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC0xMCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA4Mi45NDAzOSU7IH1cbiAgICAgIC5yb3cgLnNtYWxsLWNvbC0xMDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnJvdyAuc21hbGwtY29sLTExIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDkxLjQ3MDIlOyB9XG4gICAgICAucm93IC5zbWFsbC1jb2wtMTE6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5yb3cgLnNtYWxsLWNvbC0xMiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucm93IC5zbWFsbC1jb2wtMTI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi50YWJsZS1yb3cge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIC50YWJsZS1yb3cgLmNvbC0xIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtMSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtMiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtMyB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtNCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtNSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTYge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtNiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTcge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtNyB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTgge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtOCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtOSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAuY29sLTEwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnRhYmxlLXJvdyAuY29sLTEwIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAudGFibGUtcm93IC5jb2wtMTEge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtMTEge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC50YWJsZS1yb3cgLmNvbC0xMiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGFibGUtcm93IC5jb2wtMTIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRhYmxlLXJvdyAuc21hbGwtY29sLTEge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC50YWJsZS1yb3cgLnNtYWxsLWNvbC0yIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnRhYmxlLXJvdyAuc21hbGwtY29sLTMge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAudGFibGUtcm93IC5zbWFsbC1jb2wtNCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC50YWJsZS1yb3cgLnNtYWxsLWNvbC01IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnRhYmxlLXJvdyAuc21hbGwtY29sLTYge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAudGFibGUtcm93IC5zbWFsbC1jb2wtNyB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC50YWJsZS1yb3cgLnNtYWxsLWNvbC04IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnRhYmxlLXJvdyAuc21hbGwtY29sLTkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAudGFibGUtcm93IC5zbWFsbC1jb2wtMTAge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAudGFibGUtcm93IC5zbWFsbC1jb2wtMTEge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAudGFibGUtcm93IC5zbWFsbC1jb2wtMTIge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRhYmxlLXJvdyAqW3ZlcnRpY2FsPVwidG9wXCJdIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC50YWJsZS1yb3cgKlt2ZXJ0aWNhbD1cImNlbnRlclwiXSxcbiAgLnRhYmxlLXJvdyAqW3ZlcnRpY2FsPVwibWlkZGxlXCJdIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC50YWJsZS1yb3cgKlt2ZXJ0aWNhbD1cImJvdHRvbVwiXSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4uc2hpZnQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjUyOTglOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTEge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTIge1xuICBtYXJnaW4tbGVmdDogMTcuMDU5NjElOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTMge1xuICBtYXJnaW4tbGVmdDogMjUuNTg5NDElOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTMge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTQge1xuICBtYXJnaW4tbGVmdDogMzQuMTE5MjIlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTQge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTUge1xuICBtYXJnaW4tbGVmdDogNDIuNjQ5MDIlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTUge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTYge1xuICBtYXJnaW4tbGVmdDogNTEuMTc4ODMlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTYge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTcge1xuICBtYXJnaW4tbGVmdDogNTkuNzA4NjMlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTcge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTgge1xuICBtYXJnaW4tbGVmdDogNjguMjM4NDMlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTgge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTkge1xuICBtYXJnaW4tbGVmdDogNzYuNzY4MjQlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTkge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnNoaWZ0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDg1LjI5ODA0JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5zaGlmdC0xMCB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uc2hpZnQtMTEge1xuICBtYXJnaW4tbGVmdDogOTMuODI3ODUlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTExIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5zaGlmdC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDIuMzU3NjUlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNoaWZ0LTEyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBSRU0gY29udmVyc2lvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgQ29sb3IgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucHJlaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBmb250LXNpemU6IDE5LjJweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAjMzAzMDMwO1xuICBtYXJnaW46IDBweCAwcHggNDhweDtcbiAgbWFyZ2luOiAwcmVtIDByZW0gM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuYnV0dG9uLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24sIC5hY3Rpb24tYnV0dG9uLFxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAtby1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjb2xvcjogI0ZGRjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGO1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBmb250LWZhbWlseTogXCJhY3VtaW4tcHJvLWV4dHJhLWNvbmRlbnNlZFwiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBidXR0b24uZGFyaywgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5kYXJrLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0uZGFyaywgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kYXJrLCAuYnV0dG9uLmRhcmssIC5hY3Rpb24tYnV0dG9uLmRhcmssXG4gIGJ1dHRvbi5kYXJrIHtcbiAgICBib3JkZXItY29sb3I6ICMyZTJlMmU7XG4gICAgY29sb3I6ICMzMDMwMzA7IH1cbiAgYnV0dG9uOmhvdmVyLCBidXR0b246Zm9jdXMsIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlciwgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAuYWN0aW9uLWJ1dHRvbjpob3ZlciwgLmFjdGlvbi1idXR0b246Zm9jdXMsXG4gIGJ1dHRvbjpob3ZlcixcbiAgYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRjtcbiAgICBjb2xvcjogIzJlMmUyZTsgfVxuICAgIGJ1dHRvbjpob3Zlci5kYXJrLCBidXR0b246Zm9jdXMuZGFyaywgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3Zlci5kYXJrLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLmRhcmssIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3Zlci5kYXJrLCBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMuZGFyaywgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3Zlci5kYXJrLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLmRhcmssIC5idXR0b246aG92ZXIuZGFyaywgLmJ1dHRvbjpmb2N1cy5kYXJrLCAuYWN0aW9uLWJ1dHRvbjpob3Zlci5kYXJrLCAuYWN0aW9uLWJ1dHRvbjpmb2N1cy5kYXJrLFxuICAgIGJ1dHRvbjpob3Zlci5kYXJrLFxuICAgIGJ1dHRvbjpmb2N1cy5kYXJrIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGJ1dHRvbjpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLCAuYnV0dG9uOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCxcbiAgYnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBidXR0b24gKyAuYWN0aW9uLWJ1dHRvbiwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSArIC5hY3Rpb24tYnV0dG9uLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0gKyAuYWN0aW9uLWJ1dHRvbiwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSArIC5hY3Rpb24tYnV0dG9uLCAuYnV0dG9uICsgLmFjdGlvbi1idXR0b24sIC5hY3Rpb24tYnV0dG9uICsgLmFjdGlvbi1idXR0b24sXG4gIGJ1dHRvbiArIC5hY3Rpb24tYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG5maWVsZHNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIG1hcmdpbjogMCAwIDAuNzVyZW07XG4gIHBhZGRpbmc6IDEuNXJlbTsgfVxuXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gIGxhYmVsLnJlcXVpcmVkOjphZnRlciB7XG4gICAgY29udGVudDogXCIqXCI7IH1cbiAgbGFiZWwgYWJiciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSwgaW5wdXQ6bm90KFt0eXBlXSksIHRleHRhcmVhLFxuc2VsZWN0W211bHRpcGxlPW11bHRpcGxlXSxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3ZlciwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3ZlciwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJ0ZWxcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwidGltZVwiXTpob3ZlciwgaW5wdXRbdHlwZT1cInVybFwiXTpob3ZlciwgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsIGlucHV0Om5vdChbdHlwZV0pOmhvdmVyLCB0ZXh0YXJlYTpob3ZlcixcbiAgc2VsZWN0W211bHRpcGxlPW11bHRpcGxlXTpob3ZlcixcbiAgdGV4dGFyZWE6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2M0YzRjNDsgfVxuICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cywgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsIHRleHRhcmVhOmZvY3VzLFxuICBzZWxlY3RbbXVsdGlwbGU9bXVsdGlwbGVdOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDc3ZGNhO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDYpLCAwIDAgNXB4IHJnYmEoNTUsIDExMiwgMTkyLCAwLjcpO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtOyB9XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbnNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bzsgfVxuXG4uaGJzcHQtZm9ybSBsYWJlbCwgLmhic3B0LWZvcm0gbGVnZW5kIHtcbiAgY29sb3I6ICNGRkY7IH1cblxuLmhic3B0LWZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sIC5oYnNwdC1mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gIGNvbG9yOiAjYjg2YzYxOyB9XG5cbi5oYnNwdC1mb3JtIC5ocy1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG51bCxcbm9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIGRsIGR0IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtOyB9XG4gIGRsIGRkIHtcbiAgICBtYXJnaW46IDA7IH1cblxudGFibGUge1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcInRudW1cIjtcbiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpZ2FcIiwgXCJ0bnVtXCI7XG4gIC1tcy1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpZ2FcIiwgXCJ0bnVtXCI7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcInRudW1cIjtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAwLjc1cmVtIDA7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbnRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiN2I3Yjc7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50ZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nOiAwLjc1cmVtIDA7IH1cblxudHIsXG50ZCxcbnRoIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpZ2FcIiwgXCJwbnVtXCI7XG4gIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiwgXCJsaWdhXCIsIFwicG51bVwiO1xuICAtbXMtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiwgXCJsaWdhXCIsIFwicG51bVwiO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpZ2FcIiwgXCJwbnVtXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTsgfVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgZm9udC1zaXplOiAxOS4ycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG5cbmEge1xuICBjb2xvcjogIzQ3N2RjYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGxpbmVhcjtcbiAgLypcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBkYXJrZW4oJGFjdGlvbi1jb2xvciwgMTUlKTtcbiAgfVxuKi8gfVxuICBhOmFjdGl2ZSwgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5ociB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW46IDEuNXJlbSAwOyB9XG5cbmltZyxcbnBpY3R1cmUge1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEdlbmVyYWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4qIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMHB4O1xuICBoZWlnaHQ6IGF1dG87IH1cblxuaW1nLmFsaWduLWNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMHB4IDMycHg7XG4gICAgcGFkZGluZzogMHJlbSAycmVtOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiA5cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiA4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiA5cHg7IH0gfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEhlYWRlcnMgJiBIZWFkZXIgdHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBhOmhvdmVyLCBoMiBhOmhvdmVyLCBoMyBhOmhvdmVyLCBoNCBhOmhvdmVyLCBoNSBhOmhvdmVyLCBoNiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgTGF5b3V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIE1vZHVsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jbWFpbiAjY29udGVudCAuZnctcGFnZS1idWlsZGVyLWNvbnRlbnQgLnNwb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDVyZW07IH1cbiAgI21haW4gI2NvbnRlbnQgLmZ3LXBhZ2UtYnVpbGRlci1jb250ZW50IC5zcG90IC5pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuOHJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIG1heC13aWR0aDogNHJlbTtcbiAgICBsZWZ0OiAtOTZweDtcbiAgICBsZWZ0OiAtNnJlbTsgfVxuICAgICNtYWluICNjb250ZW50IC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCAuc3BvdCAuaW1nIC5mYSB7XG4gICAgICBmb250LXNpemU6IDNyZW07IH1cbiAgI21haW4gI2NvbnRlbnQgLmZ3LXBhZ2UtYnVpbGRlci1jb250ZW50IC5zcG90IGRpdi5pbWcge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDRweDsgfVxuICAjbWFpbiAjY29udGVudCAuZnctcGFnZS1idWlsZGVyLWNvbnRlbnQgLnNwb3QgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDU0LjRweDtcbiAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgICNtYWluICNjb250ZW50IC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCAuc3BvdCBoMiBhIHtcbiAgICAgIGNvbG9yOiAjMmUyZTJlOyB9XG4gICNtYWluICNjb250ZW50IC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCAuc3BvdC5tZWRpdW0gaDIge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtOyB9XG4gICNtYWluICNjb250ZW50IC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCAuc3BvdC5tZWRpdW0gLmltZyB7XG4gICAgdG9wOiAwLjJyZW07XG4gICAgbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDRyZW07XG4gICAgbGVmdDogLTgwcHg7XG4gICAgbGVmdDogLTVyZW07IH1cbiAgICAjbWFpbiAjY29udGVudCAuZnctcGFnZS1idWlsZGVyLWNvbnRlbnQgLnNwb3QubWVkaXVtIC5pbWcgLmZhIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtOyB9XG5cbi5zcG90IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDByZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc3BvdCB7XG4gICAgICBtYXJnaW4tbGVmdDogN3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH0gfVxuICAuc3BvdCAuaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDRyZW07XG4gICAgbGVmdDogLTk2cHg7XG4gICAgbGVmdDogLTZyZW07IH1cbiAgLnNwb3QgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDU0LjRweDtcbiAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5zcG90IGgyIGEge1xuICAgICAgY29sb3I6ICMyZTJlMmU7IH1cblxuLmZ3LWhlYWRpbmctY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmltZy5tZWRpYS1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIG1hcmdpbi1ib3R0b206IDZyZW07IH1cblxuLnZpZGVvLXBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52aWRlby1wb3B1cCBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbiN2aWRlby1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDsgfVxuICAjdmlkZW8tbW9kYWwgLndyYXBwZXIge1xuICAgIHRvcDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMi41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3ZpZGVvLW1vZGFsIC53cmFwcGVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHZoOyB9XG4gICN2aWRlby1tb2RhbCAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDNyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjdmlkZW8tbW9kYWwgLmNsb3NlIHtcbiAgICAgICAgdG9wOiAtNDBweDsgfSB9XG5cbi50d2l0dGVyZmVlZHMge1xuICBwYWRkaW5nOiA2cmVtIDAgMDtcbiAgbWFyZ2luLWJvdHRvbTogLTZyZW07IH1cbiAgLnR3aXR0ZXJmZWVkcyAudHdpdHRlcmZlZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgICAudHdpdHRlcmZlZWRzIC50d2l0dGVyZmVlZCAudHdpdHRlci1hdmF0YXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgd2lkdGg6IDVyZW07IH1cbiAgICAudHdpdHRlcmZlZWRzIC50d2l0dGVyZmVlZCBoNCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgY29sb3I6ICMyZTJlMmU7XG4gICAgICBmb250LXNpemU6IDE5LjJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLnR3aXR0ZXJmZWVkcyAudHdpdHRlcmZlZWQgZGF0ZSB7XG4gICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNy42cHg7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAudHdpdHRlcmZlZWRzIC50d2l0dGVyZmVlZCAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gICAgICBmb250LXNpemU6IDE3LjZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgICAudHdpdHRlcmZlZWRzIC50d2l0dGVyZmVlZCAuY29udGVudCAudGV4dCBhIHtcbiAgICAgICAgY29sb3I6ICMxODc2YjY7IH1cbiAgICAudHdpdHRlcmZlZWRzIC50d2l0dGVyZmVlZC50d2VldC1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uaGVhZGVyLXF1b3RlcywgI2NvbnRlbnQgLmhlYWRlci1xdW90ZXMge1xuICBtYXJnaW4tdG9wOiA4MHB4O1xuICBtYXJnaW4tdG9wOiA1cmVtOyB9XG4gIC5oZWFkZXItcXVvdGVzIC5xdW90ZSwgI2NvbnRlbnQgLmhlYWRlci1xdW90ZXMgLnF1b3RlIHtcbiAgICBwYWRkaW5nOiAwIDAgMCA1NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNTVweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcXVvdGUtd2hpdGUucG5nXCIpIG5vLXJlcGVhdCAwIDVweDsgfVxuICAgIC5oZWFkZXItcXVvdGVzIC5xdW90ZSAudGV4dCwgI2NvbnRlbnQgLmhlYWRlci1xdW90ZXMgLnF1b3RlIC50ZXh0IHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogMjUuNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIC5oZWFkZXItcXVvdGVzIC5xdW90ZSAudGV4dCBwLCAjY29udGVudCAuaGVhZGVyLXF1b3RlcyAucXVvdGUgLnRleHQgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAuaGVhZGVyLXF1b3RlcyAucXVvdGUgLm5hbWUsICNjb250ZW50IC5oZWFkZXItcXVvdGVzIC5xdW90ZSAubmFtZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxOS4ycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5oZWFkZXItcXVvdGVzIC5xdW90ZSAudGl0bGUsICNjb250ZW50IC5oZWFkZXItcXVvdGVzIC5xdW90ZSAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNy42cHg7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTsgfVxuXG4jY29udGVudCAuaGVhZGVyLXF1b3RlcyB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgI2NvbnRlbnQgLmhlYWRlci1xdW90ZXMgLnF1b3RlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcXVvdGUtYmxhY2sucG5nXCIpIG5vLXJlcGVhdCAwIDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjY29udGVudCAuaGVhZGVyLXF1b3RlcyAucXVvdGUge1xuICAgICAgICBtYXJnaW46IDAgMCA4cmVtOyB9IH1cblxuLmJveC1hcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgcGFkZGluZy1ib3R0b206IDFweDsgfVxuICAuYm94LWFyZWEgLnJvdyB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYm94LWFyZWEgLnJvdyAuY29udGVudC1ib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDE2JTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltYWdlcy9iZ19mZWVkX2NlbnRlci5wbmcpIHRvcCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAuYm94LWFyZWEgLnJvdyAuY29udGVudC1ib3g6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogNDIlOyB9XG4gICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveDpmaXJzdC1jaGlsZCAuYm94LWNvbnRlbnQge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAuYm94LWFyZWEgLnJvdyAuY29udGVudC1ib3g6Zmlyc3QtY2hpbGQgLmJnLWNvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjQ3RjNGOyB9XG4gICAgICAuYm94LWFyZWEgLnJvdyAuY29udGVudC1ib3g6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiA0MiU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYmdfZmVlZF9yaWdodC5qcGcpIHRvcCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveDpsYXN0LWNoaWxkIC5iZy1jb3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0MyNUU0RTsgfVxuICAgICAgLmJveC1hcmVhIC5yb3cgLmNvbnRlbnQtYm94IC5iZy1jb3ZlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDMjZBO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgb3BhY2l0eTogMC43NTsgfVxuICAgICAgLmJveC1hcmVhIC5yb3cgLmNvbnRlbnQtYm94IC5ib3gtY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzOTBweDtcbiAgICAgICAgcGFkZGluZzogNThweCAzNXB4O1xuICAgICAgICB6LWluZGV4OiAyMDsgfVxuICAgICAgLmJveC1hcmVhIC5yb3cgLmNvbnRlbnQtYm94IGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJhY3VtaW4tcHJvLWV4dHJhLWNvbmRlbnNlZFwiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveCAubW9yZS1saW5rcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgICAgLmJveC1hcmVhIC5yb3cgLmNvbnRlbnQtYm94IC5tb3JlLWxpbmtzIGEge1xuICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveCAubW9yZS1saW5rcyBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTZweDsgfVxuICAgICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveCAubW9yZS1saW5rcyBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMmUyZTJlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgLmJveC1hcmVhIC5yb3cgLmNvbnRlbnQtYm94IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWluLWhlaWdodDogMjgwcHg7IH1cbiAgICAgICAgICAuYm94LWFyZWEgLnJvdyAuY29udGVudC1ib3g6Zmlyc3QtY2hpbGQsIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICAuYm94LWFyZWEgLnJvdyAuY29udGVudC1ib3g6Zmlyc3QtY2hpbGQgLmJveC1jb250ZW50LCAuYm94LWFyZWEgLnJvdyAuY29udGVudC1ib3g6bGFzdC1jaGlsZCAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgICBmbG9hdDogbm9uZTsgfVxuICAgICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveCAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWluLWhlaWdodDogMDsgfVxuICAgICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveDpmaXJzdC1jaGlsZCwgLmJveC1hcmVhIC5yb3cgLmNvbnRlbnQtYm94Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveDpmaXJzdC1jaGlsZCAuYm94LWNvbnRlbnQsIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveDpsYXN0LWNoaWxkIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC5ib3gtYXJlYSAucm93IC5jb250ZW50LWJveCAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5ib3gtYXJlYSAjY3liZXItZGFpbHktZm9ybSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICAuYm94LWFyZWEgI2N5YmVyLWRhaWx5LWZvcm0gaW5wdXQge1xuICAgICAgY29sb3I6ICNiODZjNjE7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ib3gtYXJlYSAjY3liZXItZGFpbHktZm9ybSBidXR0b24ge1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICAgIHBhZGRpbmc6IDhweCA4cHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5ib3gtYXJlYSAjY3liZXItZGFpbHktZm9ybSAubW9yZS1saW5rcyBhIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuI2NvbnRlbnQgLnBhZ2UgLmZ3LXBhZ2UtYnVpbGRlci1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cblxuI2NvbnRlbnQgLnBhZ2Ugc2VjdGlvbi5mdy1tYWluLXJvdyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgI2NvbnRlbnQgLnBhZ2Ugc2VjdGlvbi5mdy1tYWluLXJvdy5mdy1zZWN0aW9uLXRvcC1tYXJnaW4ge1xuICAgIHBhZGRpbmc6IDRyZW0gMDsgfVxuXG4jY29udGVudCAucGFnZS5uby1oZWFkZXIgc2VjdGlvbi5mdy1tYWluLXJvdyB7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICAjY29udGVudCAucGFnZS5uby1oZWFkZXIgc2VjdGlvbi5mdy1tYWluLXJvdzpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgI2NvbnRlbnQgLnBhZ2Uubm8taGVhZGVyIHNlY3Rpb24uZnctbWFpbi1yb3c6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuI2NvbnRlbnQgLnBhZ2UgaDEge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbiNjb250ZW50IC5wYWdlIGgyIHtcbiAgbWFyZ2luOiAwIDAgMC41cmVtOyB9XG5cbiNjb250ZW50IC5wYWdlIGgxIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4jY29udGVudCAucGFnZSBoMi5ibG9nLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwOyB9XG5cbiNjb250ZW50IC5wYWdlIHAge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgI2NvbnRlbnQgLnBhZ2UgcCBhIHtcbiAgICBjb2xvcjogIzE4NzZiNjsgfVxuXG4jY29udGVudCAucGFnZSB1bCwgI2NvbnRlbnQgLnBhZ2Ugb2wge1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAjY29udGVudCAucGFnZSB1bCBhLCAjY29udGVudCAucGFnZSBvbCBhIHtcbiAgICBjb2xvcjogIzE4NzZiNjsgfVxuICAjY29udGVudCAucGFnZSB1bCB1bCwgI2NvbnRlbnQgLnBhZ2UgdWwgb2wsICNjb250ZW50IC5wYWdlIG9sIHVsLCAjY29udGVudCAucGFnZSBvbCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jY29udGVudCAucGFnZSB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG4jY29udGVudCAucGFnZSBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxuXG4jY29udGVudCAucGFnZSAucGFkLWxlZnQgLmZ3LXJvdyA+IDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAjY29udGVudCAucGFnZSAucGFkLWxlZnQgLmZ3LXJvdyA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuI2NvbnRlbnQgLnBhZ2UgLm1lZGlhLWltYWdlLmFsaWduLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jYXQtbGlzdCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMzVweCAwIDM1cHg7IH1cbiAgLmNhdC1saXN0IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyZTJlMmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyZTJlMmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMmUyZTJlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jYXQtbGlzdCBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY2F0LWxpc3QgbGkuY3VycmVudC1jYXQgYSB7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7IH1cbiAgICAuY2F0LWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMmUyZTJlOyB9XG5cbi5ibG9nLWxpc3QgI2NvbnRlbnQge1xuICBwYWRkaW5nOiAwIDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmJsb2ctbGlzdCAjY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYmxvZy1saXN0ICNjb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYmxvZy1saXN0ICNjb250ZW50IC5wYWdlLXN1bW1hcnkgcCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYmxvZy1saXN0ICNjb250ZW50IGgxLnBhZ2UtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAuYmxvZy1saXN0ICNjb250ZW50IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLmJsb2ctbGlzdCAjY29udGVudCAuY29sLTggaDEucGFnZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5ibG9nLWxpc3QgI2NvbnRlbnQgLmNvbC04IGFkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJsb2ctbGlzdCAjY29udGVudCBhcnRpY2xlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuYmxvZy1saXN0ICNjb250ZW50IC50YWJsZS1yb3cge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJsb2ctbGlzdCAjY29udGVudCAudGFibGUtcm93ID4gZGl2IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnRhYmxlLXJvdyBhcnRpY2xlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDsgfVxuICAgIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnRhYmxlLXJvdyAucG9zdC1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzVweDtcbiAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICByaWdodDogNDBweDsgfVxuICAgICAgLmJsb2ctbGlzdCAjY29udGVudCAudGFibGUtcm93IC5wb3N0LWNvbnRlbnQgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI7IH1cbiAgICAgIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnRhYmxlLXJvdyAucG9zdC1jb250ZW50IHAsIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnRhYmxlLXJvdyAucG9zdC1jb250ZW50IGFkZHJlc3Mge1xuICAgICAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogI0ZGRjsgfVxuICAgICAgLmJsb2ctbGlzdCAjY29udGVudCAudGFibGUtcm93IC5wb3N0LWNvbnRlbnQgYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjI7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAuYmxvZy1saXN0ICNjb250ZW50IC5hY3Rpb24tYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgcGFkZGluZzogM3B4IDEwcHggOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMTVweCAwIDIwcHg7XG4gICAgY29sb3I6ICMyZTJlMmU7IH1cbiAgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jb250ZW50IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY2F0ZWdvcmllcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jYXRlZ29yaWVzIHAsIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY2F0ZWdvcmllcyB1bCwgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jYXRlZ29yaWVzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY2F0ZWdvcmllcyBwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jYXRlZ29yaWVzIGEge1xuICAgICAgY29sb3I6ICMxODc2YjY7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7IH1cbiAgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1kYXRlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYmxvZy1saXN0ICNjb250ZW50IC53aWRnZXRfY2F0ZWdvcmllcyBoNiB7XG4gICAgZm9udC1mYW1pbHk6IFwiYWN1bWluLXByby1leHRyYS1jb25kZW5zZWRcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAuYmxvZy1saXN0ICNjb250ZW50IC53aWRnZXRfY2F0ZWdvcmllcyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5ibG9nLWxpc3QgI2NvbnRlbnQgLndpZGdldF9jYXRlZ29yaWVzIGEge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiAjMmUyZTJlOyB9XG4gIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBhZ2luYXRpb24ge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBhZ2luYXRpb24gYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiYWN1bWluLXByby1leHRyYS1jb25kZW5zZWRcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjMmUyZTJlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJlMmUyZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZzogM3B4IDEwcHggOHB4OyB9XG5cbi5ibG9nLWxpc3QgLnBvc3QtY29udGVudCBpbWcud3AtcG9zdC1pbWFnZSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmN1c3RvbWVycyAjbWFpbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5jdXN0b21lcnMgI21haW4gLmZ3LXBhZ2UtYnVpbGRlci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAycmVtIDAgMDsgfVxuICAuY3VzdG9tZXJzICNtYWluIC5mdy1yb3cgPiBkaXYge1xuICAgIG1hcmdpbjogMCAwIDhyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY3VzdG9tZXJzICNtYWluIHNlY3Rpb24uZnctbWFpbi1yb3cge1xuICAgICAgcGFkZGluZzogMHB4IDI0cHg7XG4gICAgICBwYWRkaW5nOiAwcmVtIDEuNXJlbTsgfSB9XG5cbi5jdXN0b21lcnMgLndvcmRwcmVzcy1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY3VzdG9tZXJzICNjb250ZW50IC5hY3Rpb24tYnV0dG9uIHtcbiAgcGFkZGluZzogNXB4IDEwcHggOHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuICAuY3VzdG9tZXJzICNjb250ZW50IC5hY3Rpb24tYnV0dG9uICsgLmFjdGlvbi1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5zaW5nbGUgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jb250ZW50IGgxIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLnNpbmdsZSAuYmxvZy1saXN0ICNjb250ZW50IC5wb3N0LWNvbnRlbnQgaDIuYmxvZy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuLnNpbmdsZSAuYmxvZy1saXN0ICNjb250ZW50IC5wb3N0LWNvbnRlbnQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnNpbmdsZSAuYmxvZy1saXN0ICNjb250ZW50IC5wb3N0LWNvbnRlbnQgdWwsIC5zaW5nbGUgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jb250ZW50IG9sIHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMmUyZTJlO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAuc2luZ2xlIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY29udGVudCB1bCB1bCwgLnNpbmdsZSAuYmxvZy1saXN0ICNjb250ZW50IC5wb3N0LWNvbnRlbnQgdWwgb2wsIC5zaW5nbGUgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jb250ZW50IG9sIHVsLCAuc2luZ2xlIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY29udGVudCBvbCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2luZ2xlIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY29udGVudCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG4uc2luZ2xlIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY29udGVudCBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxuXG4uc2luZ2xlIC5ibG9nLWxpc3QgI2NvbnRlbnQgLnBvc3QtY29udGVudCBhIHtcbiAgY29sb3I6ICMxODc2YjY7IH1cblxuLnNpbmdsZSAuYmxvZy1saXN0ICNjb250ZW50IC5wb3N0LWNvbnRlbnQgdWwucG9zdC1jYXRlZ29yaWVzIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5zaW5nbGUgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jb250ZW50IHVsLnBvc3QtY2F0ZWdvcmllcyA+IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnNpbmdsZSAuYmxvZy1saXN0ICNjb250ZW50IC5wb3N0LWNvbnRlbnQgdWwucG9zdC1jYXRlZ29yaWVzIGEge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG5cbi5zaW5nbGUgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jb250ZW50IHAucG9zdC1kYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNpbmdsZSAuYmxvZy1saXN0ICNjb250ZW50IC5wb3N0LWNvbnRlbnQgcC5wb3N0LWRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5zaW5nbGUgLmJsb2ctbGlzdCAjY29udGVudCAucG9zdC1jb250ZW50IC5wb3N0LWRhdGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zaW5nbGUgLmJsb2ctbGlzdCAjc2lkZWJhciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAuc2luZ2xlIC5ibG9nLWxpc3QgI3NpZGViYXIgLmF1dGhvci1pbmZvIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkNmQ2O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuc2luZ2xlIC5ibG9nLWxpc3QgI3NpZGViYXIgLmF1dGhvci1pbmZvIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzJlMmUyZTtcbiAgICAgIG1hcmdpbjogMTNweCAwOyB9XG4gICAgLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIC5hdXRob3ItaW5mbyBoMyB7XG4gICAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMmUyZTJlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIC5hdXRob3ItaW5mbyBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICMyZTJlMmU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIC5hdXRob3ItaW5mbyBwIGEge1xuICAgICAgICBjb2xvcjogIzE4NzZiNjsgfVxuICAuc2luZ2xlIC5ibG9nLWxpc3QgI3NpZGViYXIgLmRwQXJ0aWNsZVNoYXJlIGxpIC5kcGFzLWljb24ge1xuICAgIHdpZHRoOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIC5kcEFydGljbGVTaGFyZS5jb2xvciBsaSAuZHBhcy1pY29uIGksIC5zaW5nbGUgLmJsb2ctbGlzdCAjc2lkZWJhciAuZHBBcnRpY2xlU2hhcmUubGlnaHQgbGkgLmRwYXMtaWNvbiBpLCAuc2luZ2xlIC5ibG9nLWxpc3QgI3NpZGViYXIgLmRwQXJ0aWNsZVNoYXJlLmRhcmsgbGkgLmRwYXMtaWNvbiBpIHtcbiAgICBtYXJnaW46IDNweCAwO1xuICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAuc2luZ2xlIC5ibG9nLWxpc3QgI3NpZGViYXIgLmRwQXJ0aWNsZVNoYXJlLmNvbG9yLmNvdW50ZXItcmlnaHQgbGkgLmRwU2hhcmVBcnRpY2xlQ291bnRlciwgLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIC5kcEFydGljbGVTaGFyZS5saWdodC5jb3VudGVyLXJpZ2h0IGxpIC5kcFNoYXJlQXJ0aWNsZUNvdW50ZXIsIC5zaW5nbGUgLmJsb2ctbGlzdCAjc2lkZWJhciAuZHBBcnRpY2xlU2hhcmUuZGFyay5jb3VudGVyLXJpZ2h0IGxpIC5kcFNoYXJlQXJ0aWNsZUNvdW50ZXIge1xuICAgIHdpZHRoOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH1cbiAgLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIC5kcEFydGljbGVTaGFyZS5jb2xvci5jb3VudGVyLXJpZ2h0IGxpIHNwYW4sIC5zaW5nbGUgLmJsb2ctbGlzdCAjc2lkZWJhciAuZHBBcnRpY2xlU2hhcmUubGlnaHQuY291bnRlci1yaWdodCBsaSBzcGFuLCAuc2luZ2xlIC5ibG9nLWxpc3QgI3NpZGViYXIgLmRwQXJ0aWNsZVNoYXJlLmRhcmsuY291bnRlci1yaWdodCBsaSBzcGFuIHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHggIWltcG9ydGFudDsgfVxuICAuc2luZ2xlIC5ibG9nLWxpc3QgI3NpZGViYXIgLndpZGdldC1oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaW5nbGUgLmJsb2ctbGlzdCAjc2lkZWJhciAucmYtd2lkZ2V0X3JlY2VudF9lbnRyaWVzIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5zaW5nbGUgLmJsb2ctbGlzdCAjc2lkZWJhciAucmYtd2lkZ2V0X3JlY2VudF9lbnRyaWVzIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMyZTJlMmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLnNpbmdsZSAuYmxvZy1saXN0ICNzaWRlYmFyIC5yZi13aWRnZXRfcmVjZW50X2VudHJpZXMgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgY29sb3I6ICMyZTJlMmU7XG4gICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7IH1cblxuLnVzZS1jYXNlcy1iYW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGOyB9XG4gIC51c2UtY2FzZXMtYmFubmVyIGgxLCAudXNlLWNhc2VzLWJhbm5lciBoMiB7XG4gICAgY29sb3I6ICNGRkY7IH1cbiAgLnVzZS1jYXNlcy1iYW5uZXIgaDEge1xuICAgIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udXNlLWNhc2VzLWNvbnRlbnQge1xuICB3aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC51c2UtY2FzZXMtY29udGVudCBwIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC51c2UtY2FzZXMtY29udGVudCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi51c2UtY2FzZXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udXNlLWNhc2VzLWJhbm5lci1pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNzAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAudXNlLWNhc2VzLWJhbm5lci1pbm5lciB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi51c2UtY2FzZXMtbGlua3Mge1xuICB3aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA0MHB4IDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC51c2UtY2FzZXMtbGlua3Mge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAudXNlLWNhc2VzLWxpbmtzIHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLnVzZS1jYXNlcy1saW5rcyB1bDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnVzZS1jYXNlcy1saW5rcyBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnVzZS1jYXNlcy1saW5rcyBsaS5hY3RpdmUge1xuICAgICAgLypcblx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgIGNvbnRlbnQ6ICcnO1xuXHRcdFx0ICB3aWR0aDogNDBweDtcblx0XHRcdCAgYmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0ICBib3R0b206IDA7XG5cdFx0XHQgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHQgIGJvdHRvbTogLTQwcHg7XG5cdFx0XHQgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRcdCAgaGVpZ2h0OiAxcHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0ICBib3R0b206IC0yMHB4O1xuXHRcdFx0ICBoZWlnaHQ6IDVweDtcblx0XHRcdH0qLyB9XG4gICAgICAudXNlLWNhc2VzLWxpbmtzIGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkZGOyB9XG4gIC51c2UtY2FzZXMtbGlua3MgYSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7IH1cblxuLnVzZS1jYXNlcy1ub2RlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAudXNlLWNhc2VzLW5vZGVzOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgbGVmdDogODdweDtcbiAgICByaWdodDogODZweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmOyB9XG5cbi51c2UtY2FzZXMtbm9kZXMtaW5uZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udXNlLWNhc2Utbm9kZSB7XG4gIGhlaWdodDogOTBweDtcbiAgd2lkdGg6IDI1JTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnVzZS1jYXNlLW5vZGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpKTsgfVxuXG4udXNlLWNhc2Utbm9kZS1saW5rIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi51c2UtY2FzZS1ub2RlLWlubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbm9kZS5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiA5MHB4O1xuICB3aWR0aDogNDJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51c2UtY2FzZS1ub2RlLW51bWJlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogOXB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG5oMy51c2UtY2FzZS1ub2RlLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS43O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbiNjb250ZW50IC51c2UtY2FzZS1zZWN0aW9uIHAge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbiNjb250ZW50IC51c2UtY2FzZS1zZWN0aW9uIC5hY3Rpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBwYWRkaW5nOiAzcHggMTBweCA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDE1cHggMCAyMHB4OyB9XG5cbi51c2UtY2FzZXMtc2VjdGlvbnMgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgNjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC51c2UtY2FzZXMtc2VjdGlvbnMgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuXG4uY3VzdG9tLWhlYWRlci1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfSB9XG5cbiNsb2dvIGltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogMDsgfVxuXG4ubG9nby1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxOTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5sb2dvLWxlZnQge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5sb2dvLWxlZnQgYSB7XG4gICAgICAgIHdpZHRoOiA2MiU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5oZWFkZXItcmlnaHQgYS5hY3Rpb24tYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogM3B4IDEwcHggNHB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgZm9udC1mYW1pbHk6IFwiYWN1bWluLXByby1leHRyYS1jb25kZW5zZWRcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjsgfVxuXG4uZmVhdC1pbWFnZSA+IGRpdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTByZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmZlYXQtaW1hZ2UgPiBkaXYge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmZlYXQtaW1hZ2UgPiBkaXYge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLmhlYWRlci1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAtMTAxOyB9XG5cbi5mZWF0LXZpZGVvID4gZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5mZWF0LXZpZGVvID4gZGl2IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuXG4jaGVhZGVyLXZpZGVvIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IC0xMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgI2hlYWRlci12aWRlbyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNoZWFkZXItdmlkZW8ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vYmplY3QtZml0ICNoZWFkZXItdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMTtcbiAgdG9wOiAwOyB9XG4gICNoZWFkZXIgLmltYWdlLWF0dHJpYnV0aW9uIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxcmVtO1xuICAgIHJpZ2h0OiAycmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDA7IH1cblxuLnRvcC1tZW51LXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDMxcHg7IH1cbiAgLnRvcC1tZW51LXJvdyB1bC5tZW51IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMnB4OyB9XG4gICAgLnRvcC1tZW51LXJvdyB1bC5tZW51IGEge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7IH1cblxuLmZlYXQtaW1hZ2UgLmhlYWRlci1yb3csIC5mZWF0LWhlYWRlciAuaGVhZGVyLXJvdyB7XG4gIG1hcmdpbjogNTBweCAwIDEwMHB4OyB9XG4gIC5mZWF0LWltYWdlIC5oZWFkZXItcm93IGgxLCAuZmVhdC1oZWFkZXIgLmhlYWRlci1yb3cgaDEge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5mZWF0LWltYWdlIC5oZWFkZXItcm93IHAsIC5mZWF0LWhlYWRlciAuaGVhZGVyLXJvdyBwIHtcbiAgICBjb2xvcjogI0ZGRjsgfVxuXG4uZmVhdC12aWRlbyAuaGVhZGVyLXJvdyB7XG4gIG1hcmdpbjogMTVyZW0gMCA3LjVyZW07IH1cbiAgLmZlYXQtdmlkZW8gLmhlYWRlci1yb3cgaDEge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5mZWF0LXZpZGVvIC5oZWFkZXItcm93IHAge1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA5MDBweCkge1xuICAgIC5mZWF0LXZpZGVvIC5oZWFkZXItcm93IHtcbiAgICAgIG1hcmdpbjogMCAwIDVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZmVhdC12aWRlbyAuaGVhZGVyLXJvdyB7XG4gICAgICBtYXJnaW46IDFyZW0gMCA1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuZmVhdC12aWRlbyAuaGVhZGVyLXJvdyB7XG4gICAgICBtYXJnaW46IDFyZW0gMCA3LjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5mZWF0LXZpZGVvIC5oZWFkZXItcm93IHtcbiAgICAgIG1hcmdpbjogMCAwIDJyZW07IH0gfVxuXG4uaGVhZGVyLXJvdyB7XG4gIG1hcmdpbjogMzBweCAwIDA7IH1cbiAgLmhlYWRlci1yb3cgYS5hY3Rpb24tYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDUxLjJweDtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICBmb250LWZhbWlseTogXCJhY3VtaW4tcHJvLWV4dHJhLWNvbmRlbnNlZFwiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMCAxNnB4OyB9XG4gIC5oZWFkZXItcm93IGgxIHtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBmb250LWZhbWlseTogXCJhY3VtaW4tcHJvLWV4dHJhLWNvbmRlbnNlZFwiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmhlYWRlci1yb3cgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGNvbG9yOiAjMmUyZTJlO1xuICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmOyB9XG4gIC5oZWFkZXItcm93IHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgICBtYXJnaW46IC0ycmVtIDAgMi41cmVtIDEuNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjsgfVxuICAgIC5oZWFkZXItcm93IHVsIGxpIHtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAuaGVhZGVyLXJvdyB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLXdyYXAgLmhlYWRlci1yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItd3JhcCAudG9wLW1lbnUtcm93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICBOQVZcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubWVudS1oZWFkZXItY29udGFpbmVyIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5uby1mZWF0IHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLm5vLWZlYXQgLmhlYWRlci1yaWdodCBhLmFjdGlvbi1idXR0b24ge1xuICAgIGNvbG9yOiAjM2QzZDNkO1xuICAgIGJvcmRlci1jb2xvcjogIzNkM2QzZDsgfVxuICAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLmFjdGl2ZSwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGk6aG92ZXIsIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzNkM2QzZDsgfVxuICAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGEsIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGEge1xuICAgIGNvbG9yOiAjNzA3MDcwOyB9XG4gIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgYTpob3ZlciwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgYTpob3ZlciB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgYmFja2dyb3VuZDogIzNkM2QzZDsgfVxuICAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IHVsLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSB1bCB7XG4gICAgYmFja2dyb3VuZDogIzNkM2QzZDtcbiAgICAvKiBBZGRpbmcgYSBiYWNrZ3JvdW5kIG1ha2VzIHRoZSBkcm9wZG93biB3b3JrIHByb3Blcmx5IGluIElFNysuIE1ha2UgdGhpcyBhcyBjbG9zZSB0byB5b3VyIHBhZ2UncyBiYWNrZ3JvdW5kIGFzIHBvc3NpYmxlIChpLmUuIHdoaXRlIHBhZ2UgPT0gd2hpdGUgYmFja2dyb3VuZCkuICovIH1cbiAgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSB1bCBsaSwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgdWwgbGkge1xuICAgIGJhY2tncm91bmQ6ICMzZDNkM2Q7IH1cbiAgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaTpob3ZlciBhLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLmFjdGl2ZSBhLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaTpob3ZlciBhLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaS5hY3RpdmUgYSB7XG4gICAgLyogVGhlc2UgY3JlYXRlIHBlcnNpc3RlbnQgaG92ZXIgc3RhdGVzLCBtZWFuaW5nIHRoZSB0b3AtbW9zdCBsaW5rIHN0YXlzICdob3ZlcmVkJyBldmVuIHdoZW4geW91ciBjdXJzb3IgaGFzIG1vdmVkIGRvd24gdGhlIGxpc3QuICovXG4gICAgYmFja2dyb3VuZDogIzNkM2QzZDtcbiAgICBjb2xvcjogI0ZGRjsgfVxuICAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyIC5kdW1teS1pdGVtLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLmFjdGl2ZSAuZHVtbXktaXRlbSwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGk6aG92ZXIgLmR1bW15LWl0ZW0sIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSAuZHVtbXktaXRlbSB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaTpob3ZlciAuZHVtbXktaXRlbSA+IGEsIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkuYWN0aXZlIC5kdW1teS1pdGVtID4gYSwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGk6aG92ZXIgLmR1bW15LWl0ZW0gPiBhLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaS5hY3RpdmUgLmR1bW15LWl0ZW0gPiBhIHtcbiAgICAgIGNvbG9yOiAjNzA3MDcwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyIC5kdW1teS1pdGVtID4gYTpob3ZlciwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaS5hY3RpdmUgLmR1bW15LWl0ZW0gPiBhOmhvdmVyLCAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaTpob3ZlciAuZHVtbXktaXRlbSA+IGE6aG92ZXIsIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSAuZHVtbXktaXRlbSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzcwNzA3MDsgfVxuICAubm8tZmVhdCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyIHVsIGEsIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkuYWN0aXZlIHVsIGEsIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpOmhvdmVyIHVsIGEsIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSB1bCBhIHtcbiAgICAvKiBUaGUgcGVyc2lzdGVudCBob3ZlciBzdGF0ZSBkb2VzIGhvd2V2ZXIgY3JlYXRlIGEgZ2xvYmFsIHN0eWxlIGZvciBsaW5rcyBldmVuIGJlZm9yZSB0aGV5J3JlIGhvdmVyZWQuIEhlcmUgd2UgdW5kbyB0aGVzZSBlZmZlY3RzLiAqL1xuICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5uby1mZWF0IC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGk6aG92ZXIgdWwgbGkgYTpob3ZlciwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaS5hY3RpdmUgdWwgbGkgYTpob3ZlciwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGk6aG92ZXIgdWwgbGkgYTpob3ZlciwgLm5vLWZlYXQgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGkuYWN0aXZlIHVsIGxpIGE6aG92ZXIge1xuICAgIC8qIEhlcmUgd2UgZGVmaW5lIHRoZSBtb3N0IGV4cGxpY2l0IGhvdmVyIHN0YXRlcy0td2hhdCBoYXBwZW5zIHdoZW4geW91IGhvdmVyIGVhY2ggaW5kaXZpZHVhbCBsaW5rLiAqL1xuICAgIGNvbG9yOiAjNzA3MDcwOyB9XG5cbi5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgLyogQ2xlYXIgZmxvYXRzICovXG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgLyogQnJpbmcgdGhlIG5hdiBhYm92ZSBldmVyeXRoaW5nIGVsc2UtLXVuY29tbWVudCBpZiBuZWVkZWQuXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjU7XG5cdCovIH1cbiAgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaSwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLmFjdGl2ZSwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGk6aG92ZXIsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGOyB9XG4gICAgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgPiBsaTpsYXN0LWNoaWxkLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSA+IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7IH1cbiAgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBhOmhvdmVyLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzE4NzZiNjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgPiBsaSA+IHVsLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLyogQWRkaW5nIGEgYmFja2dyb3VuZCBtYWtlcyB0aGUgZHJvcGRvd24gd29yayBwcm9wZXJseSBpbiBJRTcrLiBNYWtlIHRoaXMgYXMgY2xvc2UgdG8geW91ciBwYWdlJ3MgYmFja2dyb3VuZCBhcyBwb3NzaWJsZSAoaS5lLiB3aGl0ZSBwYWdlID09IHdoaXRlIGJhY2tncm91bmQpLiAqL1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgLyogSGlkZSBvZmYtc2NyZWVuIHdoZW4gbm90IG5lZWRlZCAodGhpcyBpcyBtb3JlIGFjY2Vzc2libGUgdGhhbiBkaXNwbGF5Om5vbmU7KSAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSB1bCBsaSwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgdWwgbGkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IHVsIGxpLmR1bW15LWl0ZW0gPiBhLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSB1bCBsaS5kdW1teS1pdGVtID4gYSB7XG4gICAgICBjb2xvcjogIzlkOWQ5ZDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSB1bCBsaS5kdW1teS1pdGVtID4gYTpob3ZlciwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgdWwgbGkuZHVtbXktaXRlbSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzlkOWQ5ZDsgfVxuICAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IHVsIGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IHVsIGEge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogU3RvcCB0ZXh0IHdyYXBwaW5nIGFuZCBjcmVhdGluZyBtdWx0aS1saW5lIGRyb3Bkb3duIGl0ZW1zICovXG4gICAgcGFkZGluZzogMCA2M3B4IDAgMTVweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMyZTJlMmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgdWwgYSwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgdWwgYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMTVweDsgfSB9XG4gIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGk6aG92ZXIgLmR1bW15LWl0ZW0sIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkuYWN0aXZlIC5kdW1teS1pdGVtLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaTpob3ZlciAuZHVtbXktaXRlbSwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGkuYWN0aXZlIC5kdW1teS1pdGVtIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyIC5kdW1teS1pdGVtID4gYSwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaS5hY3RpdmUgLmR1bW15LWl0ZW0gPiBhLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaTpob3ZlciAuZHVtbXktaXRlbSA+IGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSAuZHVtbXktaXRlbSA+IGEge1xuICAgICAgY29sb3I6ICM5ZDlkOWQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGk6aG92ZXIgLmR1bW15LWl0ZW0gPiBhOmhvdmVyLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpLmFjdGl2ZSAuZHVtbXktaXRlbSA+IGE6aG92ZXIsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpOmhvdmVyIC5kdW1teS1pdGVtID4gYTpob3ZlciwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGkuYWN0aXZlIC5kdW1teS1pdGVtID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjOWQ5ZDlkOyB9XG4gIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGk6aG92ZXIgdWwsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkuYWN0aXZlIHVsLCAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgdWwubWVudSBsaTpob3ZlciB1bCwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGkuYWN0aXZlIHVsIHtcbiAgICAvKiBEaXNwbGF5IHRoZSBkcm9wZG93biBvbiBob3ZlciAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogQnJpbmcgYmFjayBvbi1zY3JlZW4gd2hlbiBuZWVkZWQgKi8gfVxuICAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyIGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkuYWN0aXZlIGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpOmhvdmVyIGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSBhIHtcbiAgICAvKiBUaGVzZSBjcmVhdGUgcGVyc2lzdGVudCBob3ZlciBzdGF0ZXMsIG1lYW5pbmcgdGhlIHRvcC1tb3N0IGxpbmsgc3RheXMgJ2hvdmVyZWQnIGV2ZW4gd2hlbiB5b3VyIGN1cnNvciBoYXMgbW92ZWQgZG93biB0aGUgbGlzdC4gKi9cbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzE4NzZiNjsgfVxuICAuY3VzdG9tLWhlYWRlci1jb250YWluZXIgbmF2I21haW4tbmF2aWdhdGlvbiB1bC5tZW51IGxpOmhvdmVyIHVsIGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGkuYWN0aXZlIHVsIGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpOmhvdmVyIHVsIGEsIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB1bC5tZW51IGxpLmFjdGl2ZSB1bCBhIHtcbiAgICAvKiBUaGUgcGVyc2lzdGVudCBob3ZlciBzdGF0ZSBkb2VzIGhvd2V2ZXIgY3JlYXRlIGEgZ2xvYmFsIHN0eWxlIGZvciBsaW5rcyBldmVuIGJlZm9yZSB0aGV5J3JlIGhvdmVyZWQuIEhlcmUgd2UgdW5kbyB0aGVzZSBlZmZlY3RzLiAqL1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUgbGk6aG92ZXIgdWwgbGkgYTpob3ZlciwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSBsaS5hY3RpdmUgdWwgbGkgYTpob3ZlciwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGk6aG92ZXIgdWwgbGkgYTpob3ZlciwgLmN1c3RvbS1oZWFkZXItY29udGFpbmVyIHVsLm1lbnUgbGkuYWN0aXZlIHVsIGxpIGE6aG92ZXIge1xuICAgIC8qIEhlcmUgd2UgZGVmaW5lIHRoZSBtb3N0IGV4cGxpY2l0IGhvdmVyIHN0YXRlcy0td2hhdCBoYXBwZW5zIHdoZW4geW91IGhvdmVyIGVhY2ggaW5kaXZpZHVhbCBsaW5rLiAqL1xuICAgIGNvbG9yOiAjMTg3NmI2OyB9XG5cbi8qKlxuICogTWVudSBvdmVydmlldy5cbiAqL1xuLm1lbnUtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltYWdlcy9tZW51LWljb24ucG5nKSByaWdodCA5cHggbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLm1lbnUtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAyNS42cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuXG4ubm8tZmVhdCAubWVudS10b2dnbGUge1xuICBjb2xvcjogIzI2MjYyNjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tZW51LWljb24tY2xvc2UucG5nKTsgfVxuXG4uYy1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOyB9XG4gIC5jLW1lbnUgLm1lbnUtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS41cmVtIDFyZW07XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAuYy1tZW51IC5tZW51LWhlYWRlci1jb250YWluZXIgYSB7XG4gICAgICBjb2xvcjogIzI2MjYyNjtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDogMi4yOyB9XG4gICAgLmMtbWVudSAubWVudS1oZWFkZXItY29udGFpbmVyIHVsIGxpIHVsIGxpIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvbW9iaWxlLW1lbnUtYXJyb3cucG5nKSBsZWZ0IDEzcHggbm8tcmVwZWF0O1xuICAgICAgcGFkZGluZzogMXJlbSAxLjJyZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDdweCA3cHg7IH1cbiAgICAuYy1tZW51IC5tZW51LWhlYWRlci1jb250YWluZXIgdWwgbGkgdWwgbGkuZHVtbXktaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmMtbWVudSAubWVudS1oZWFkZXItY29udGFpbmVyIHVsIGxpIHVsIGEge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBjb2xvcjogIzczNzM3MztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAvKlxuXHRcdCY6YmVmb3JlIHtcblx0XHQgIGNvbnRlbnQ6IFwiXFxmMTc4XCI7XG5cdFx0ICBmb250LWZhbWlseTpcIkZvbnRBd2Vzb21lXCI7XG5cdFx0ICBmb250LXdlaWdodDpsaWdodGVyO1xuXHRcdH1cblx0XHQqLyB9XG5cbi5jLW1lbnVfX2l0ZW1zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQ2xvc2UgYnV0dG9uIHJlc2V0cy5cbiAqL1xuLmMtbWVudV9fY2xvc2Uge1xuICBjb2xvcjogI0ZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjYyNjI2OyB9XG5cbi8qKlxuICogQ2xvc2UgYnV0dG9uIHJlc2V0cy5cbiAqL1xuLmMtbWVudV9fY2xvc2U6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qKlxuICogQm9keSBzdGF0ZXMuXG4gKlxuICogV2hlbiBhIG1lbnUgaXMgYWN0aXZlLCB3ZSB3YW50IHRvIGhpZGUgdGhlIG92ZXJmbG93cyBvbiB0aGUgYm9keSB0byBwcmV2ZW50XG4gKiBhd2t3YXJkIGRvY3VtZW50IHNjcm9sbGluZy5cbiAqL1xuYm9keS5oYXMtYWN0aXZlLW1lbnUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qKlxuICogTWFzayBjb21wb25lbnRcbiAqL1xuLmMtbWFzayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgd2lkdGggMHMgMC4zcywgaGVpZ2h0IDBzIDAuM3M7IH1cblxuLmMtbWFzay5pcy1hY3RpdmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsgfVxuXG4uYy1tZW51LS1zbGlkZS1sZWZ0LFxuLmMtbWVudS0tc2xpZGUtcmlnaHQsXG4uYy1tZW51LS1wdXNoLWxlZnQsXG4uYy1tZW51LS1wdXNoLXJpZ2h0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC5jLW1lbnUtLXNsaWRlLWxlZnQsXG4gIC5jLW1lbnUtLXNsaWRlLXJpZ2h0LFxuICAuYy1tZW51LS1wdXNoLWxlZnQsXG4gIC5jLW1lbnUtLXB1c2gtcmlnaHQge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbi5jLW1lbnUtLXNsaWRlLWxlZnQgLmMtbWVudV9faXRlbSxcbi5jLW1lbnUtLXNsaWRlLXJpZ2h0IC5jLW1lbnVfX2l0ZW0sXG4uYy1tZW51LS1wdXNoLWxlZnQgLmMtbWVudV9faXRlbSxcbi5jLW1lbnUtLXB1c2gtcmlnaHQgLmMtbWVudV9faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjYjVkYmU5O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzMxODRhMTsgfVxuXG4uYy1tZW51LS1zbGlkZS1sZWZ0IC5jLW1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQsXG4uYy1tZW51LS1zbGlkZS1yaWdodCAuYy1tZW51X19pdGVtOmZpcnN0LWNoaWxkLFxuLmMtbWVudS0tcHVzaC1sZWZ0IC5jLW1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQsXG4uYy1tZW51LS1wdXNoLXJpZ2h0IC5jLW1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5jLW1lbnUtLXNsaWRlLWxlZnQgLmMtbWVudV9faXRlbTpsYXN0LWNoaWxkLFxuLmMtbWVudS0tc2xpZGUtcmlnaHQgLmMtbWVudV9faXRlbTpsYXN0LWNoaWxkLFxuLmMtbWVudS0tcHVzaC1sZWZ0IC5jLW1lbnVfX2l0ZW06bGFzdC1jaGlsZCxcbi5jLW1lbnUtLXB1c2gtcmlnaHQgLmMtbWVudV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uYy1tZW51LS1zbGlkZS1sZWZ0IC5jLW1lbnVfX2xpbmssXG4uYy1tZW51LS1zbGlkZS1yaWdodCAuYy1tZW51X19saW5rLFxuLmMtbWVudS0tcHVzaC1sZWZ0IC5jLW1lbnVfX2xpbmssXG4uYy1tZW51LS1wdXNoLXJpZ2h0IC5jLW1lbnVfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTJweCAyNHB4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYy1tZW51LS1zbGlkZS1sZWZ0IC5jLW1lbnVfX2Nsb3NlLFxuLmMtbWVudS0tc2xpZGUtcmlnaHQgLmMtbWVudV9fY2xvc2UsXG4uYy1tZW51LS1wdXNoLWxlZnQgLmMtbWVudV9fY2xvc2UsXG4uYy1tZW51LS1wdXNoLXJpZ2h0IC5jLW1lbnVfX2Nsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEycHggMjRweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmMtbWVudS0tc2xpZGUtbGVmdCxcbi5jLW1lbnUtLXB1c2gtbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xuICAuYy1tZW51LS1zbGlkZS1sZWZ0LFxuICAuYy1tZW51LS1wdXNoLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9IH1cblxuLmMtbWVudS0tc2xpZGUtbGVmdC5pcy1hY3RpdmUsXG4uYy1tZW51LS1wdXNoLWxlZnQuaXMtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5oYnNwdC1mb3JtIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuLmhic3B0LWZvcm0gbGVnZW5kIHtcbiAgZm9udC1zaXplOiAxLjJyZW07IH1cblxuLmhic3B0LWZvcm0gc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW50cnktY29udGVudCBpbWcge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cblxuLmFsaWdubGVmdCwgaW1nLmFsaWdubGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYWxpZ25yaWdodCwgaW1nLmFsaWducmlnaHQge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmFsaWduY2VudGVyLCBpbWcuYWxpZ25jZW50ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFsaWdubm9uZSwgaW1nLmFsaWdubm9uZSB7XG4gIC8qIG5vdCBzdXJlIGFib3V0IHRoaXMgb25lICovIH1cblxuLndwLWNhcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA1cHg7IH1cblxuLndwLWNhcHRpb24gaW1nIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi53cC1zbWlsZXkge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMWVtOyB9XG5cbmJsb2NrcXVvdGUubGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB3aWR0aDogMzMlO1xuICBmbG9hdDogbGVmdDsgfVxuXG5ibG9ja3F1b3RlLnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDMzJTtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbnNlY3Rpb24uZnctbWFpbi1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDY0cHggMHB4IDBweDtcbiAgcGFkZGluZzogNHJlbSAwcmVtIDByZW07XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBzZWN0aW9uLmZ3LW1haW4tcm93IHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMHB4O1xuICAgICAgcGFkZGluZzogNXJlbSAwcmVtOyB9IH1cblxuZGl2LmZ3LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTE3MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgZGl2LmZ3LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwcHggMzJweDtcbiAgICAgIHBhZGRpbmc6IDByZW0gMnJlbTsgfSB9XG5cbi5mdy1yb3cubWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cblxuLmJnLWNvbG9yLndoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uZnctbG9nby1ncmlkIC5mdy1yb3cge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdzpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuICAuZnctbG9nby1ncmlkIC5mdy1yb3cgLmZ3LWNvbC1zbS0xIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTEgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTEge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTIgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTMgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTMge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTQgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTUgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTYge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTYgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTYge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTcge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTcgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTcge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTgge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTggaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTgge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTkgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTEwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogMHJlbSAzcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZnctbG9nby1ncmlkIC5mdy1yb3cgLmZ3LWNvbC1zbS0xMCBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmZ3LWxvZ28tZ3JpZCAuZnctcm93IC5mdy1jb2wtc20tMTAge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTExIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogMHJlbSAzcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZnctbG9nby1ncmlkIC5mdy1yb3cgLmZ3LWNvbC1zbS0xMSBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmZ3LWxvZ28tZ3JpZCAuZnctcm93IC5mdy1jb2wtc20tMTEge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTEyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDByZW0gM3JlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmZ3LWxvZ28tZ3JpZCAuZnctcm93IC5mdy1jb2wtc20tMTIgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5mdy1sb2dvLWdyaWQgLmZ3LXJvdyAuZnctY29sLXNtLTEyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICBib2R5IC5mdy1jb2wteHMtMSwgYm9keSAuZnctY29sLXNtLTEsIGJvZHkgLmZ3LWNvbC1tZC0xLCBib2R5IC5mdy1jb2wtbGctMSwgYm9keSAuZnctY29sLXhzLTIsIGJvZHkgLmZ3LWNvbC1zbS0yLCBib2R5IC5mdy1jb2wtbWQtMiwgYm9keSAuZnctY29sLWxnLTIsIGJvZHkgLmZ3LWNvbC14cy0zLCBib2R5IC5mdy1jb2wtc20tMywgYm9keSAuZnctY29sLW1kLTMsIGJvZHkgLmZ3LWNvbC1sZy0zLCBib2R5IC5mdy1jb2wteHMtNCwgYm9keSAuZnctY29sLXNtLTQsIGJvZHkgLmZ3LWNvbC1tZC00LCBib2R5IC5mdy1jb2wtbGctNCwgYm9keSAuZnctY29sLXhzLTUsIGJvZHkgLmZ3LWNvbC1zbS01LCBib2R5IC5mdy1jb2wtbWQtNSwgYm9keSAuZnctY29sLWxnLTUsIGJvZHkgLmZ3LWNvbC14cy02LCBib2R5IC5mdy1jb2wtc20tNiwgYm9keSAuZnctY29sLW1kLTYsIGJvZHkgLmZ3LWNvbC1sZy02LCBib2R5IC5mdy1jb2wteHMtNywgYm9keSAuZnctY29sLXNtLTcsIGJvZHkgLmZ3LWNvbC1tZC03LCBib2R5IC5mdy1jb2wtbGctNywgYm9keSAuZnctY29sLXhzLTgsIGJvZHkgLmZ3LWNvbC1zbS04LCBib2R5IC5mdy1jb2wtbWQtOCwgYm9keSAuZnctY29sLWxnLTgsIGJvZHkgLmZ3LWNvbC14cy05LCBib2R5IC5mdy1jb2wtc20tOSwgYm9keSAuZnctY29sLW1kLTksIGJvZHkgLmZ3LWNvbC1sZy05LCBib2R5IC5mdy1jb2wteHMtMTAsIGJvZHkgLmZ3LWNvbC1zbS0xMCwgYm9keSAuZnctY29sLW1kLTEwLCBib2R5IC5mdy1jb2wtbGctMTAsIGJvZHkgLmZ3LWNvbC14cy0xMSwgYm9keSAuZnctY29sLXNtLTExLCBib2R5IC5mdy1jb2wtbWQtMTEsIGJvZHkgLmZ3LWNvbC1sZy0xMSwgYm9keSAuZnctY29sLXhzLTEyLCBib2R5IC5mdy1jb2wtc20tMTIsIGJvZHkgLmZ3LWNvbC1tZC0xMiwgYm9keSAuZnctY29sLWxnLTEyLCBib2R5IC5mdy1jb2wteHMtMTUsIGJvZHkgLmZ3LWNvbC1zbS0xNSwgYm9keSAuZnctY29sLW1kLTE1LCBib2R5IC5mdy1jb2wtbGctMTUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cblxuLmhvbWUgI21haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG5cbi5ob21lIC5oZWFkZXItcm93IGgxIHtcbiAgZm9udC1zaXplOiAxMTJweDtcbiAgZm9udC1zaXplOiA3cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmhvbWUgLmhlYWRlci1yb3cgaDEge1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgZm9udC1zaXplOiA1cmVtOyB9IH1cblxuLmhvbWUtY2l0YXRpb25zIHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMjUuNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgY29sb3I6ICNGRkY7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaG9tZS1jaXRhdGlvbnMgcCB7XG4gICAgZm9udC1zaXplOiAyNS42cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIC5ob21lLWNpdGF0aW9ucyBwOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvY2l0YXRpb24ucG5nKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC02MHB4O1xuICAgICAgdG9wOiA2cHg7XG4gICAgICBoZWlnaHQ6IDI3cHg7IH1cbiAgLmhvbWUtY2l0YXRpb25zIGFkZHJlc3Mge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMjIuNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmhvbWUtY2l0YXRpb25zIGFkZHJlc3Mgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuaG9tZS1jaXRhdGlvbnMgLmxlZnQtcXVvdGUsIC5ob21lLWNpdGF0aW9ucyAucmlnaHQtcXVvdGUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDNjNjA7XG4gICAgbWluLWhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiA2LjZyZW0gN3JlbSA2LjJyZW0gOC44cmVtOyB9XG4gICAgLmhvbWUtY2l0YXRpb25zIC5sZWZ0LXF1b3RlIC5xdW90ZS1pbm5lciwgLmhvbWUtY2l0YXRpb25zIC5yaWdodC1xdW90ZSAucXVvdGUtaW5uZXIge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5ob21lLWNpdGF0aW9ucyAubGVmdC1xdW90ZSwgLmhvbWUtY2l0YXRpb25zIC5yaWdodC1xdW90ZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmhvbWUtY2l0YXRpb25zIC5sZWZ0LXF1b3RlIC5xdW90ZS1pbm5lciwgLmhvbWUtY2l0YXRpb25zIC5yaWdodC1xdW90ZSAucXVvdGUtaW5uZXIge1xuICAgICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgLmhvbWUtY2l0YXRpb25zIC5yaWdodC1xdW90ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMzM1MzsgfVxuICAgIC5ob21lLWNpdGF0aW9ucyAucmlnaHQtcXVvdGUgLnF1b3RlLWlubmVyIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuaG9tZS1jaXRhdGlvbnMgLnJpZ2h0LXF1b3RlIC5xdW90ZS1pbm5lciB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG4uaG9tZS1jb250ZW50LWxpc3Qge1xuICBwYWRkaW5nOiA5MHB4IDAgOTBweDsgfVxuICAuaG9tZS1jb250ZW50LWxpc3QgLmFjdGlvbi1idXR0b24ge1xuICAgIGNvbG9yOiAjMzAzMDMwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMDMwMzA7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgZm9udC1zaXplOiAyMi40cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmhvbWUtY29udGVudC1saXN0IGgyIHtcbiAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogIzMwMzAzMDtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5ob21lLWNvbnRlbnQtbGlzdCB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICMyZTJlMmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5ob21lLWNvbnRlbnQtbGlzdCB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7IH1cbiAgLmhvbWUtY29udGVudC1saXN0IC50aHJlYXQtbGlzdCBsaTpiZWZvcmUge1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ljb24tcGllLnBuZyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC02MHB4O1xuICAgIHRvcDogNnB4O1xuICAgIGhlaWdodDogMzhweDsgfVxuICAuaG9tZS1jb250ZW50LWxpc3QgLnRocmVhdC1saXN0IGxpOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaWNvbi1zaGllbGQucG5nKTtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgLmhvbWUtY29udGVudC1saXN0IC50aHJlYXQtbGlzdCBsaTpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaWNvbi1leWUucG5nKTtcbiAgICB3aWR0aDogNDJweDtcbiAgICBoZWlnaHQ6IDI2cHg7IH1cbiAgLmhvbWUtY29udGVudC1saXN0IC5zb2MtbGlzdCBsaTpiZWZvcmUge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ljb24tcmFkYXIucG5nKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTYwcHg7XG4gICAgdG9wOiA2cHg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5ob21lLWNvbnRlbnQtbGlzdCAuc29jLWxpc3QgbGk6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pY29uLXN0b3B3YXRjaC5wbmcpO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDVweDsgfVxuICAuaG9tZS1jb250ZW50LWxpc3QgLnNvYy1saXN0IGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pY29uLWdsb2JlLnBuZyk7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiAzN3B4OyB9XG5cbiNmb290ZXItd3JhcCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9iZ19mb290ZXIuanBnKSBuby1yZXBlYXQgbGVmdCB0b3A7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuI2Zvb3Rlci13aWRnZXRzIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgI2Zvb3Rlci13aWRnZXRzIC53aWRnZXQtaGVhZGluZyBoNiB7XG4gICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICNCNUJGQzg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjhyZW07IH1cbiAgI2Zvb3Rlci13aWRnZXRzIC5tZW51IGEge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICNmb290ZXItd2lkZ2V0cyAubWVudSA+IGxpIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAjZm9vdGVyLXdpZGdldHMgLm1lbnUgPiBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI2Zvb3Rlci13aWRnZXRzIC5tZW51IC5zdWItbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gICAgI2Zvb3Rlci13aWRnZXRzIC5tZW51IC5zdWItbWVudSBsaSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICAgI2Zvb3Rlci13aWRnZXRzIC5tZW51IC5zdWItbWVudSBsaSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG5cbiNjb3B5cmlnaHQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0ZGRjtcbiAgcGFkZGluZzogNTVweCAwIDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgI2NvcHlyaWdodCB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDMycHg7XG4gICAgICBwYWRkaW5nOiA1cmVtIDJyZW07IH0gfVxuICAjY29weXJpZ2h0IG5hdiAubWVudSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgI2NvcHlyaWdodCBuYXYgLm1lbnUgbGkge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAjY29weXJpZ2h0IG5hdiAubWVudSBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIG1hcmdpbjogMCAxMnB4OyB9XG4gICAgICAjY29weXJpZ2h0IG5hdiAubWVudSBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgI2NvcHlyaWdodCBwIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4jbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gICNtYWluIC5hY3Rpb24tYnV0dG9uIHtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBib3JkZXItY29sb3I6ICMyZTJlMmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAjbWFpbiAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNGRkY7IH1cblxuLmhhcy1mZWVkcyAjbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cblxuI2NvbnRlbnQgaDEge1xuICBjb2xvcjogIzJlMmUyZTtcbiAgZm9udC1zaXplOiA2cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7IH1cblxuI2NvbnRlbnQgaDIge1xuICBjb2xvcjogIzJlMmUyZTtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBmb250LWZhbWlseTogXCJhY3VtaW4tcHJvLWV4dHJhLWNvbmRlbnNlZFwiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbiNjb250ZW50IGgzIHtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgZm9udC1mYW1pbHk6IFwiYWN1bWluLXByby1leHRyYS1jb25kZW5zZWRcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4jY29udGVudCBoNCB7XG4gIGNvbG9yOiAjMmUyZTJlO1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI2NvbnRlbnQgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG4gICNjb250ZW50IHAuaW5ncmVzcyB7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG4jY29udGVudCAuYWN0aW9uLWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImFjdW1pbi1wcm8tZXh0cmEtY29uZGVuc2VkXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMmUyZTJlO1xuICBib3JkZXItY29sb3I6ICMyZTJlMmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogNTEuMnB4O1xuICBmb250LXNpemU6IDMuMnJlbTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBsaW5lLWhlaWdodDogMS43OyB9XG5cbi5ob21lIC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLXRvcDogNXJlbTsgfVxuXG4uaG9tZSBzZWN0aW9uLmZ3LW1haW4tcm93IHtcbiAgcGFkZGluZzogNDhweCAwcHggMHB4O1xuICBwYWRkaW5nOiAzcmVtIDByZW0gMHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5ob21lIHNlY3Rpb24uZnctbWFpbi1yb3cge1xuICAgICAgcGFkZGluZzogODBweCAwcHg7XG4gICAgICBwYWRkaW5nOiA1cmVtIDByZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbiAgLmhvbWUgZGl2LmZ3LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMHB4IDMycHg7XG4gICAgcGFkZGluZzogMHJlbSAycmVtOyB9IH1cblxuLmhvbWUgLmZ3LXJvdy5tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4uaG9tZSAucHJlaGVhZGVyIHtcbiAgbWFyZ2luOiAwcHggMHB4IDMycHg7XG4gIG1hcmdpbjogMHJlbSAwcmVtIDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaG9tZSAucHJlaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaG9tZSAuaW50cm8tYm94IC5jb250ZW50LWJveCAuYm94LWNvbnRlbnQgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmhvbWUgLmludHJvLWJveCAuY29udGVudC1ib3ggLmJveC1jb250ZW50IHAge1xuICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuXG4uaG9tZSAuaW50cm8tYm94IC5jb250ZW50LWJveCAuYm94LWNvbnRlbnQgaDIge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5ob21lIC5pbnRyby1hcmVhIHtcbiAgcGFkZGluZzogNC41cmVtIDAgNnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICAuaG9tZSAuaW50cm8tYXJlYSBwIHtcbiAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07IH1cbiAgLmhvbWUgLmludHJvLWFyZWEgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMy43cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgLmhvbWUgLmludHJvLWFyZWEgLmludHJvLWJveCB7XG4gICAgcGFkZGluZzogMi44cmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaG9tZSAuaW50cm8tYXJlYSAuaW50cm8tYm94IGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICAuaG9tZSAuaW50cm8tYXJlYSAuaW50cm8tYm94IGltZyB7XG4gICAgICB3aWR0aDogOS4ycmVtOyB9XG5cbi5ob21lIC5idXNpbmVzcy1hcmVhcyB7XG4gIHBhZGRpbmc6IDUuOHJlbSAwIDUuNXJlbTsgfVxuICAuaG9tZSAuYnVzaW5lc3MtYXJlYXMgLmludHJvLWJveCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhvbWUgLmJ1c2luZXNzLWFyZWFzIC5pbnRyby1ib3ggaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICBoZWlnaHQ6IDRyZW07IH1cbiAgICAuaG9tZSAuYnVzaW5lc3MtYXJlYXMgLmludHJvLWJveCBoMyB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmhvbWUgLmJ1c2luZXNzLWFyZWFzIC5pbnRyby1ib3ggcCB7XG4gICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmOyB9XG5cbi5ob21lIC5jdXN0b21lci1saXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgcGFkZGluZzogOHJlbTsgfVxuICAuaG9tZSAuY3VzdG9tZXItbGlzdCBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuXG4uaG9tZSAuc2Mge1xuICBwYWRkaW5nOiA1LjRyZW0gMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhvbWUgLnNjIGltZyB7XG4gICAgd2lkdGg6IDUuMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjdyZW07IH1cbiAgLmhvbWUgLnNjIGgyIHtcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAjMzAzMDMwO1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuXG4uaG9tZSAuc3BvdCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhvbWUgLmFjdGlvbi1idXR0b24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IFwiYWN1bWluLXByby1leHRyYS1jb25kZW5zZWRcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIC5ob21lIC5jdXN0b21lci1saXN0IHtcbiAgICBwYWRkaW5nOiAycmVtOyB9XG4gIC5ob21lIC5pbnRyby1hcmVhIC5pbnRyby1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgICAuaG9tZSAuaW50cm8tYXJlYSAuaW50cm8tYm94Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaG9tZSAuYnVzaW5lc3MtYXJlYXMge1xuICAgIHBhZGRpbmc6IDUuOHJlbSAycmVtIDUuNXJlbTsgfVxuICAgIC5ob21lIC5idXNpbmVzcy1hcmVhcyAuaW50cm8tYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07IH1cbiAgICAgIC5ob21lIC5idXNpbmVzcy1hcmVhcyAuaW50cm8tYm94Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4ge1xuICAvKlxuICAuaGVhZGVyLXJvdyBhLmFjdGlvbi1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiRvcGVuU2FucztcbiAgICBjb2xvcjogcmdiYSgxOCw1Miw4MiwxKTtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIGZvbnQtc2l6ZToxLjhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBwYWRkaW5nOjEuMnJlbSAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6M3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDMwcHggcmdiYSgwLDAsMCwwLjMpO1xuICB9Ki8gfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAucmZ1bi1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvKiBvciBpbmxpbmUtZmxleCAqLyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gLnN0aWNreS1tZW51IHtcbiAgICAgIHBhZGRpbmctdG9wOiA4LjdyZW07IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAubGVmdC1tZW51IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XG4gICAgICB3aWR0aDogMzElO1xuICAgICAgLypcbiAgICAgIC5hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6JG9wZW5TYW5zO1xuICAgICAgICBjb2xvcjojRkZGO1xuICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICBmb250LXNpemU6MS44cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LDUyLDgyLDEpO1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgcGFkZGluZzoxLjhyZW0gMi40cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOjNweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMzBweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgICB9Ki8gfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gLmxlZnQtbWVudSAubWVudS1jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcmVtOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAubGVmdC1tZW51IC5hbmNob3ItbWVudSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgbWFyZ2luOiA1cmVtIDA7IH1cbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gLmxlZnQtbWVudSAuYW5jaG9yLW1lbnUgbGkge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDE4LCA1MiwgODIsIDAuNSk7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gLmxlZnQtbWVudSAuYW5jaG9yLW1lbnUgbGkuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMTIzNDUyO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XG4gICAgICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAubGVmdC1tZW51IC5hbmNob3ItbWVudSBsaS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAyLjdyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCA1MiwgODIsIDAuMik7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgICBsZWZ0OiAtMTVweDsgfVxuICAgICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluIC5sZWZ0LW1lbnUgLmFuY2hvci1tZW51IGxpOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMTIzNDUyOyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogNnJlbSA4cmVtOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCBhIHtcbiAgICAgICAgY29sb3I6ICM0NzdkY2E7IH1cbiAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5jb250ZW50LWJveCB7XG4gICAgICAgIHdpZHRoOiA3MTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4ycmVtOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5jb250ZW50LWJveDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDE4LjVyZW07XG4gICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCA1MiwgODIsIDAuMik7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuOXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5jb250ZW50LWJveDpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5jb250ZW50LWJveCA+IHAgPiBpbWcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTA1cHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMTQuNSU7XG4gICAgICAgICAgd2lkdGg6IDExNC41JTsgfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgaDIge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICBsaW5lLWhlaWdodDogNC40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiA0LjhyZW07IH1cbiAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IGgzIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIFNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCBoNCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogcmdiYSgyNywgNzQsIDExMywgMC41KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07IH1cbiAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5hZ2VuZGEgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMnJlbTsgfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgaDUge1xuICAgICAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCBlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIG9wYWNpdHk6IC43OyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC44cmVtOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IHVsIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAtMi41cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICfigKInO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuOGVtO1xuICAgICAgICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuYWdlbmRhIC5hZ2VuZGEtc3dpdGNoZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5hZ2VuZGEgLmFnZW5kYS1zd2l0Y2hlciBoNSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07IH1cbiAgICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuYWdlbmRhIC5hZ2VuZGEtc3dpdGNoZXIgaDUgYSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI3LCA3NCwgMTEzLCAwLjMpO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjcsIDc0LCAxMTMsIDAuMyk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjNyZW0gMS41cmVtIDAuNXJlbTsgfVxuICAgICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLmFnZW5kYSAuYWdlbmRhLXN3aXRjaGVyIGg1IGEuYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjcsIDc0LCAxMTMsIDAuNSk7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNywgNzQsIDExMywgMC41KTsgfVxuICAgICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLmFnZW5kYSAuYWdlbmRhLXN3aXRjaGVyIGg1IGE6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogI2U2NDUyYTtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTY0NTJhOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuYWdlbmRhIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5hZ2VuZGEgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjdyZW0gMy41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5hZ2VuZGEgbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuYWdlbmRhIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgdGFibGUgdHIgdGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCB0YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLmNvbnRlbnQtYmxvY2tzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLnNwZWFrZXItYm94IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07IH1cbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLnNwZWFrZXItYm94Omxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLnNwZWFrZXItYm94IGltZyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDVweDsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuc3BlYWtlci1ib3ggaW1nLCAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuc3BlYWtlci1ib3ggLnNwZWFrZXItaW5mbyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5zcGVha2VyLWJveCAuc3BlYWtlci1pbmZvIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICAgICAgICB3aWR0aDogNTIwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5zcGVha2VyLWJveCAuc3BlYWtlci1pbmZvIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAubGVmdC1tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMi40cmVtIDEuNnJlbTsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuY29udGVudC1ib3gge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLmNvbnRlbnQtYm94OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogNjJweDsgfVxuICAgICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IC5jb250ZW50LWJveCA+IHAgPiBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjZyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuc3BlYWtlci1ib3ggLnNwZWFrZXItaW5mbywgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLnNwZWFrZXItYm94IGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgLnNwZWFrZXItYm94IGltZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNnJlbTsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCAuc3BlYWtlci1ib3ggLnNwZWFrZXItaW5mbyB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNnJlbTsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1yZnVuICNtYWluICNjb250ZW50IGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCBoNSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLXJmdW4gI21haW4gI2NvbnRlbnQgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTsgfVxuICAgICAgICAucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biAjbWFpbiAjY29udGVudCB1bCBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07IH0gfVxuXG4vKlxuLnN1Y2Nlc3Mge1xuICBAZXh0ZW5kICVmbGFzaC1zdWNjZXNzO1xufSovXG4ud2YtbG9hZGluZyB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTEgYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59IiwiQGltcG9ydCAnc2l0ZS9yZXNldCc7XG5AaW1wb3J0ICdzaXRlL2JyZWFrcG9pbnQnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVmFyaWFibGVzOiBCcmFuZGluZyAvIENvbG9ycyAvIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuLy8gYm93ZXI6c2Nzc1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fbmVhdC5zY3NzXCI7XG4vLyBlbmRib3dlclxuXG4vLyBib3dlcjpjc3Ncbi8vIGVuZGJvd2VyXG5cbi8vIEdyaWRcbkBpbXBvcnQgXCJzaXRlL3ZhcmlhYmxlc1wiO1xuXG4kbWF4LXdpZHRoOiAxMTcwcHggIWdsb2JhbDtcbiRndXR0ZXI6ICRiYXNlLXBhZGRpbmcgIWdsb2JhbDtcbiRncmlkLWNvbHVtbnM6IDEyICFnbG9iYWw7XG4kYm9yZGVyLWJveC1zaXppbmc6IHRydWUgIWdsb2JhbDtcbkBpbXBvcnQgJ3NpdGUvZ3JpZCc7XG5AaW1wb3J0ICdzaXRlL21peGlucyc7XG5cbi8vIEJhc2Ugc3R5bGVzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcmVoZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saXN0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFibGVzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90eXBvZ3JhcGh5XCI7XG5cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gYm9sZCB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1zdGFjaztcbn1cblxuQG1peGluIGJvb2sge1xuICBmb250LWZhbWlseTogJGJvb2stZm9udC1zdGFjaztcbn1cblxuQG1peGluIHNlcmlmIHtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtc3RhY2s7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBHZW5lcmFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuKiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOjBweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbWcuYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luOjAgYXV0bztcbiAgZGlzcGxheTpibG9jaztcbn1cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIG1heC1zY3JlZW4oMTMwMHB4KSB7XG4gICAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdwYWRkaW5nJywgMCwgMik7XG4gIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IDhweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gIH1cblxufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtc3RhY2s7XG59XG5cbnAsIHVsLCBvbCB7XG5cbn1cblxucCB7IH1cblxuLy8gIExpbmtzXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpob3ZlciB7IH1cbn1cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEhlYWRlcnMgJiBIZWFkZXIgdHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5oMSxoMixoMyxoNCxoNSxoNiB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1zdGFjaztcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuICBhIHtcbiAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lIH1cbiAgfVxufVxuXG5oMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcbn1cblxuXG5cbi8vIEhlYWRlciB0eXBlc1xuQG1peGluIG1haW4taGVhZGVyIHt9XG5AbWl4aW4gcHJlLWhlYWRlciB7fVxuQG1peGluIHN1Yi1oZWFkZXIge31cbkBtaXhpbiBjb250ZXh0LWhlYWRlciB7fVxuQG1peGluIHNlY3Rpb24taGVhZGVyIHt9XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIExheW91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyXCI7XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgTW9kdWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3Nwb3RcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21lZGlhLWltYWdlXCI7XG5AaW1wb3J0IFwibW9kdWxlcy92aWRlby1tb2RhbFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvdHdpdHRlci1mZWVkXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9oZWFkZXItcXVvdGVzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mZWVkLWJveGVzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9wYWdlXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jYXQtbGlzdFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvYmxvZy1saXN0XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jdXN0b21lcnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3NpbmdsZVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvdXNlLWNhc2VzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21lbnVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21vYmlsZS1tZW51XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9odWJzcG90XCI7XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwic2l0ZS93eXNpd3lnXCI7XG5AaW1wb3J0IFwic2l0ZS9mdy1ncmlkXCI7XG5AaW1wb3J0IFwic2l0ZS9yZWNvcmRlZFwiO1xuQGltcG9ydCBcInNpdGUvaG9tZVwiO1xuQGltcG9ydCBcInNpdGUvcmZ1blwiO1xuXG4vKlxuLnN1Y2Nlc3Mge1xuICBAZXh0ZW5kICVmbGFzaC1zdWNjZXNzO1xufSovXG5cbi53Zi1sb2FkaW5nIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcbiAgaHRtbCB7IC8vIGh0dHA6Ly9iaXQubHkvMXFrMnRWUlxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAqIHtcbiAgICAmLFxuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8qICAgR3JpZCBTZXR1cFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xufVxuXG4vLyogICBSZWd1bGFyIHJvd1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnJvdyB7XG4gIEBpbmNsdWRlIHJvdygpO1xuXG4gIC8vIFJlZ3VsYXIgZ3JpZFxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAuY29sLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygkaSk7XG5cbiAgICAgIC8vIE1vYmlsZVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vYmlsZSBncmlkXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgIC5zbWFsbC1jb2wtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8qICAgVGFibGUgcm93XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udGFibGUtcm93IHtcbiAgQGluY2x1ZGUgZmlsbC1wYXJlbnQoKTtcbiAgQGluY2x1ZGUgcm93KHRhYmxlKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAuY29sLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygkaSk7XG5cbiAgICAgIC8vIE1vYmlsZSBzdGFja1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vYmlsZSBncmlkXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgIC5zbWFsbC1jb2wtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICpbdmVydGljYWw9XCJ0b3BcIl0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuXG5cbiAgKlt2ZXJ0aWNhbD1cImNlbnRlclwiXSxcbiAgKlt2ZXJ0aWNhbD1cIm1pZGRsZVwiXSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICpbdmVydGljYWw9XCJib3R0b21cIl0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cbkBpbmNsdWRlIHJlc2V0LWFsbDtcblxuXG5cbi8vKiAgIEdyaWQgY29uZmlndXJhdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XG4gIC5zaGlmdC0jeyRpfSB7XG4gICAgQGluY2x1ZGUgc2hpZnQoJGkpO1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbjowO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudGVyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxuLy8vIEFsdGhvdWdoIG9wdGlvbmFsLCB1c2luZyBgb3V0ZXItY29udGFpbmVyYCBpcyByZWNvbW1lbmRlZC4gVGhlIG1peGluIGNhbiBiZSBjYWxsZWQgb24gbW9yZSB0aGFuIG9uZSBlbGVtZW50IHBlciBwYWdlLCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBuZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXG4vLy8gICBNYXggd2lkdGggdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBhIG1lYXN1cmUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAqem9vbTogMTtcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBtYXJnaW4tbGVmdDogYXV0bztcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpiZWZvcmUsIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY29udGVudDogXCIgXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgfVxuXG5AbWl4aW4gb3V0ZXItY29udGFpbmVyKCRsb2NhbC1tYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1heC13aWR0aDogJGxvY2FsLW1heC13aWR0aDtcbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERlc2lnbmF0ZXMgdGhlIGVsZW1lbnQgYXMgYSByb3cgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZCBsYXlvdXQuIEl0IGNsZWFycyB0aGUgZmxvYXRzIG9uIHRoZSBlbGVtZW50IGFuZCBzZXRzIGl0cyBkaXNwbGF5IHByb3BlcnR5LiBSb3dzIGNhbid0IGJlIG5lc3RlZCwgYnV0IHRoZXJlIGNhbiBiZSBtb3JlIHRoYW4gb25lIHJvdyBlbGVtZW504oCUd2l0aCBkaWZmZXJlbnQgZGlzcGxheSBwcm9wZXJ0aWVz4oCUcGVyIGxheW91dC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbZGVmYXVsdF1cbi8vLyAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGRpc3BsYXkgY29udGV4dCB0aGF0IHdpbGwgYmUgdXNlZCBieSBpdHMgY2hpbGRyZW4uIENhbiBiZSBgYmxvY2tgIG9yIGB0YWJsZWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbl1cbi8vLyAgU2V0cyB0aGUgbGF5b3V0IGRpcmVjdGlvbi4gQ2FuIGJlIGBMVFJgIChsZWZ0LXRvLXJpZ2h0KSBvciBgUlRMYCAocmlnaHQtdG8tbGVmdCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIHJvdygpO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICAqem9vbTogMTtcbi8vLyAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgfVxuLy8vXG4vLy8gLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICBjb250ZW50OiBcIiBcIjtcbi8vLyAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vIH1cbi8vL1xuLy8vIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgIGNsZWFyOiBib3RoO1xuLy8vIH1cblxuQG1peGluIHJvdygkZGlzcGxheTogZGVmYXVsdCwgJGRpcmVjdGlvbjogJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiAhPSAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXJlY3Rpb24gYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH1cblxuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRpcmVjdGlvbiAhZ2xvYmFsO1xuXG4gIEBpZiAkZGlzcGxheSAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICRkaXNwbGF5IGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpc3BsYXkoKXsuLi59IG1peGluLlwiKTtcbiAgfVxuXG4gIEBpZiAkZGlzcGxheSA9PSB0YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQ7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IHRydWUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZ2xvYmFsO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4uIElmIHRoZSBzZWxlY3RvciBpcyBuZXN0ZWQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGl0cyBwYXJlbnQgZWxlbWVudCBzaG91bGQgYmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IGFzIHdlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXG4vLy8gICBBIGxpc3QgY29udGFpbmluZyBgJGNvbHVtbnNgLCB0aGUgdW5pdGxlc3MgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMgKHJlcXVpcmVkKSwgYW5kIGAkY29udGFpbmVyLWNvbHVtbnNgLCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIHBhcmVudCBlbGVtZW50IHNwYW5zIChvcHRpb25hbCkuXG4vLy9cbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGUgdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyAgIGAkY29sdW1uc2AgYWxzbyBhY2NlcHRzIGRlY2ltYWxzIGZvciB3aGVuIGl0J3MgbmVjZXNzYXJ5IHRvIGJyZWFrIG91dCBvZiB0aGUgc3RhbmRhcmQgZ3JpZC4gRS5nLiBQYXNzaW5nIGAyLjRgIGluIGEgc3RhbmRhcmQgMTIgY29sdW1uIGdyaWQgd2lsbCBkaXZpZGUgdGhlIHJvdyBpbnRvIDUgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEZvcmNlcyB0aGUgZWxlbWVudCB0byBmaWxsIGl0cyBwYXJlbnQgY29udGFpbmVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vLyAgIH1cblxuQG1peGluIGZpbGwtcGFyZW50KCkge1xuICB3aWR0aDogMTAwJTtcblxuICBAaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IGZhbHNlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMuIFBvc2l0aXZlIGFyZ3VtZW50cyBzaGlmdCB0aGUgZWxlbWVudCB0byB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24sIHdoaWxlIG5lZ2F0aXZlIG9uZXMgc2hpZnQgaXQgdG8gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICRuLWNvbHVtbnMgWzFdXG4vLy8gICBOdW1iZXIgb2YgY29sdW1ucyBieSB3aGljaCB0aGUgZWxlbWVudCBzaGlmdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTI1LjU4OTQxJTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0KCRuLWNvbHVtbnM6IDEpIHtcbiAgQGluY2x1ZGUgc2hpZnQtaW4tY29udGV4dCgkbi1jb2x1bW5zKTtcbn1cblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucywgaW4gYSBzcGVjaWZpYyBuZXN0aW5nIGNvbnRleHQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGlmdFxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRvIHNoaWZ0IChgJGNvbHVtbnNgKSBhbmQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBwYXJlbnQgZWxlbWVudCAoYCRjb250YWluZXItY29sdW1uc2ApLlxuLy8vXG4vLy8gICBUaGUgdHdvIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zIG9mIDYpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tbGVmdDogLTUyLjQxNDU4JTtcbi8vLyAgIH1cblxuQG1peGluIHNoaWZ0LWluLWNvbnRleHQoJHNoaWZ0OiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMpIHtcbiAgJG4tY29sdW1uczogbnRoKCRzaGlmdCwgMSk7XG4gICRwYXJlbnQtY29sdW1uczogY29udGFpbmVyLXNoaWZ0KCRzaGlmdCkgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJG4tY29sdW1ucyAqIGZsZXgtZ3JpZCgxLCAkcGFyZW50LWNvbHVtbnMpICsgJG4tY29sdW1ucyAqIGZsZXgtZ3V0dGVyKCRwYXJlbnQtY29sdW1ucyk7XG5cbiAgLy8gUmVzZXQgbmVzdGluZyBjb250ZXh0XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGJyZWFrcG9pbnQoJGNsYXNzKSB7XG4gIEBpZiAkY2xhc3MgPT0geHMgeyBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7IEBjb250ZW50OyB9IH1cbiAgQGlmICRjbGFzcyA9PSBtb2JpbGUgeyBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7IEBjb250ZW50OyB9IH1cblxuICBAZWxzZSBpZiAkY2xhc3MgPT0gc20geyBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhcmdlKSB7IEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJGNsYXNzID09IG1vYmlsZS1sYXJnZSB7IEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFyZ2UpIHsgQGNvbnRlbnQ7IH0gfVxuXG4gIEBlbHNlIGlmICRjbGFzcyA9PSBtZCB7IEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHsgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSBpZiAkY2xhc3MgPT0gdGFibGV0IHsgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkgeyBAY29udGVudDsgfSB9XG5cbiAgQGVsc2UgaWYgJGNsYXNzID09IHRiIHsgQGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYXJnZSkgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSB0YWJsZXQtbGFyZ2UgeyBAaW5jbHVkZSBtZWRpYSgkdGFibGV0LWxhcmdlKSB7IEBjb250ZW50OyB9IH1cblxuICBAZWxzZSBpZiAkY2xhc3MgPT0gZHQgeyBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSBkZXNrdG9wIHsgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHsgQGNvbnRlbnQ7IH0gfVxuXG4gIEBlbHNlIGlmICRjbGFzcyA9PSBsZyB7IEBpbmNsdWRlIG1lZGlhKCRsYXJnZSkgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSBsYXJnZSB7IEBpbmNsdWRlIG1lZGlhKCRsYXJnZSkgeyBAY29udGVudDsgfSB9XG5cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50IG1peGluIHN1cHBvcnRzOiB4cywgc20sIG1kLCB0YiwgZHQgLGxnIChtb2JpbGUsIG1vYmlsZS1sYXJnZSwgdGFibGV0LCB0YWJsZXQtbGFyZ2UsIGRlc2t0b3AsIGxhcmdlKVwiO1xuICB9XG59XG5cblxuQG1peGluIGJlbG93LWJyZWFrcG9pbnQoJGNsYXNzKSB7XG4gIEBpZiAkY2xhc3MgPT0geHMgeyBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cykgeyBAY29udGVudDsgfSB9XG4gIEBpZiAkY2xhc3MgPT0gbW9iaWxlIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMpIHsgQGNvbnRlbnQ7IH0gfVxuXG4gIEBlbHNlIGlmICRjbGFzcyA9PSBzbSB7IEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSBtb2JpbGUtbGFyZ2UgeyBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1taW4pIHsgQGNvbnRlbnQ7IH0gfVxuXG4gIEBlbHNlIGlmICRjbGFzcyA9PSBtZCB7IEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSB0YWJsZXQgeyBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZC1taW4pIHsgQGNvbnRlbnQ7IH0gfVxuXG4gIEBlbHNlIGlmICRjbGFzcyA9PSB0YiB7IEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXRiLW1pbikgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSB0YWJsZXQtbGFyZ2UgeyBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi10Yi1taW4pIHsgQGNvbnRlbnQ7IH0gfVxuXG4gIEBlbHNlIGlmICRjbGFzcyA9PSBkdCB7IEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLWR0LW1pbikgeyBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICRjbGFzcyA9PSBkZXNrdG9wIHsgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tZHQtbWluKSB7IEBjb250ZW50OyB9IH1cblxuICBAZWxzZSBpZiAkY2xhc3MgPT0gbGcgeyBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHsgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSBpZiAkY2xhc3MgPT0gbGFyZ2UgeyBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHsgQGNvbnRlbnQ7IH0gfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgbWl4aW4gc3VwcG9ydHM6IHhzLCBzbSwgbWQsIHRiLCBkdCAsbGcgKG1vYmlsZSwgbW9iaWxlLWxhcmdlLCB0YWJsZXQsIHRhYmxldC1sYXJnZSwgZGVza3RvcCwgbGFyZ2UpXCI7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFJFTSBjb252ZXJzaW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIHJlbS1mYWxsYmFjaygkcHJvcGVydHksICR2YWx1ZXMuLi4pIHtcbiAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuICAkcHhWYWx1ZXM6ICcnO1xuICAkcmVtVmFsdWVzOiAnJztcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdChudGgoJHZhbHVlcywgJGkpKTtcbiAgICAkcHhWYWx1ZXM6ICN7JHB4VmFsdWVzICsgJHZhbHVlICogMTZ9cHg7XG5cbiAgICBAaWYgJGkgPCAkbWF4IHtcbiAgICAgICRweFZhbHVlczogI3skcHhWYWx1ZXMgKyBcIiBcIn07XG4gICAgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQobnRoKCR2YWx1ZXMsICRpKSk7XG4gICAgJHJlbVZhbHVlczogI3skcmVtVmFsdWVzICsgJHZhbHVlfXJlbTtcblxuICAgIEBpZiAkaSA8ICRtYXgge1xuICAgICAgJHJlbVZhbHVlczogI3skcmVtVmFsdWVzICsgXCIgXCJ9O1xuICAgIH1cbiAgfVxuXG4gICN7JHByb3BlcnR5fTogJHB4VmFsdWVzO1xuICAjeyRwcm9wZXJ0eX06ICRyZW1WYWx1ZXM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBDb2xvciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AZnVuY3Rpb24gZ2V0LXRoZW1lLWNvbG9yKCRjb2xvciwgJHByb3BlcnR5OiBudWxsKSB7XG4gICR0aGlzQ29sb3I6IG1hcC1nZXQoJHRoZW1lQ29sb3JzLCAkY29sb3IpO1xuICBAaWYgJHByb3BlcnR5ID09IG51bGwge1xuICAgICRwcm9wZXJ0eTogXCJiYXNlXCJcbiAgfVxuICBAcmV0dXJuIG1hcC1nZXQoJHRoaXNDb2xvciwgJHByb3BlcnR5KTtcbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBmdW5jdGlvbiB0ZXh0LWJyZWFrcG9pbnRzLWZvcigkdGV4dC1zaXplKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGV4dC1zaXppbmcsICR0ZXh0LXNpemUpO1xufVxuXG5AZnVuY3Rpb24gdGV4dC1wcm9wZXJ0aWVzLWZvcigkdGV4dC1zaXplLCAkYnJlYWtwb2ludC1uYW1lKSB7XG4gICR0ZXh0LWJyZWFrcG9pbnRzLW1hcDogdGV4dC1icmVha3BvaW50cy1mb3IoJHRleHQtc2l6ZSk7XG4gIEByZXR1cm4gbWFwLWdldCgkdGV4dC1icmVha3BvaW50cy1tYXAsICRicmVha3BvaW50LW5hbWUpO1xufVxuXG5AbWl4aW4gdGV4dC1zaXplKCR0ZXh0LXNpemUsICRicmVha3BvaW50LW5hbWU6IFwic21cIikge1xuICAkdGV4dC1zaXplLXByb3BlcnRpZXM6IHRleHQtcHJvcGVydGllcy1mb3IoJHRleHQtc2l6ZSwgJGJyZWFrcG9pbnQtbmFtZSk7XG5cbiAgQGlmICR0ZXh0LXNpemUtcHJvcGVydGllcyAhPSBudWxsIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJHRleHQtc2l6ZS1wcm9wZXJ0aWVzLCBcImZvbnQtc2l6ZVwiKTtcbiAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkdGV4dC1zaXplLXByb3BlcnRpZXMsIFwibGluZS1oZWlnaHRcIik7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skYnJlYWtwb2ludC1uYW1lfScgZm9yIHRleHQgc2l6ZSAnI3skdGV4dC1zaXplfScgaXMgbm90IGRlZmluZWRcIjtcbiAgfVxufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS10ZXh0LXNpemUoJHRleHQtc2l6ZSwgJGRlZmF1bHQtYnJlYWtwb2ludDogXCJzbVwiKSB7XG4gIEBpbmNsdWRlIHRleHQtc2l6ZSgkdGV4dC1zaXplLCAkZGVmYXVsdC1icmVha3BvaW50KTtcblxuICAkdGV4dC1icmVha3BvaW50cy1tYXA6IHRleHQtYnJlYWtwb2ludHMtZm9yKCR0ZXh0LXNpemUpO1xuICAkdGV4dC1icmVha3BvaW50cy1rZXlzOiBtYXAta2V5cygkdGV4dC1icmVha3BvaW50cy1tYXApO1xuXG4gIEBlYWNoICRicmVha3BvaW50LW5hbWUgaW4gJHRleHQtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICRicmVha3BvaW50LW5hbWUgIT0gJGRlZmF1bHQtYnJlYWtwb2ludCBhbmQgYnJlYWtwb2ludCgkYnJlYWtwb2ludC1uYW1lKSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQtbmFtZSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoJHRleHQtc2l6ZSwgJGJyZWFrcG9pbnQtbmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AbWl4aW4gZm9udC1zaXplKCR0ZXh0LXNpemUsICRkZWZhdWx0LWJyZWFrcG9pbnQ6IFwic21cIil7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdGV4dC1zaXplKCR0ZXh0LXNpemUsICRkZWZhdWx0LWJyZWFrcG9pbnQpO1xufSIsIi5wcmVoZWFkZXIge1xuICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjIpO1xuICBjb2xvcjogJGRhcmtHcmV5O1xuICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ21hcmdpbicsIDAsMCwzKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59IiwiQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gQ29sb3JzXG4kYmx1ZTogIzQ3N2RjYTtcbiRkYXJrLWdyYXk6ICMzMzM7XG4kbWVkaXVtLWdyYXk6ICM5OTk7XG4kbGlnaHQtZ3JheTogI2RkZDtcblxuXG4vLyBWYXJzXG4kdGV4dC1jb2xvcjogICAgICAgICAgIzMzMztcbiRoZWFkaW5ncy1jb2xvcjogICAgICAjMzMzO1xuJGxpbmstY29sb3I6ICAgICAgICAgIHJlZDtcbiRiYXNlLWZvbnQtc3RhY2s6ICAgICAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvb2stZm9udC1zdGFjazogICAgICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kaGVhZGluZ3MtZm9udC1zdGFjazogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRiYXNlLXBhZGRpbmc6IDJyZW07XG5cbi8vIEJyZWFrcG9pbnRzXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICAgIDQ3OXB4O1xuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgICAgIDc2N3B4O1xuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgICAgIDk5MXB4O1xuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweDtcbiRzY3JlZW4tdGItbWluOiAgICAgICAgICAgICAgICAgIDEwMjNweDtcbiRzY3JlZW4tdGI6ICAgICAgICAgICAgICAgICAgMTAyNHB4O1xuJHNjcmVlbi1kdC1taW46ICAgICAgICAgICAgICAgICAgMTE5OXB4O1xuJHNjcmVlbi1kdDogICAgICAgICAgICAgICAgICAxMjAwcHg7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICAgICAxNDM5cHg7XG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDE0NDBweDtcblxuJG1vYmlsZTogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoICRzY3JlZW4tc20tbWluIDEyKTtcbiRtb2JpbGUtbGFyZ2U6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAkc2NyZWVuLXhzIG1heC13aWR0aCAkc2NyZWVuLXNtLW1pbiAxMik7XG4kdGFibGV0LWRvd246IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAkc2NyZWVuLXNtIDEyKTtcbiR0YWJsZXQ6ICBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJHNjcmVlbi1zbSBtYXgtd2lkdGggJHNjcmVlbi10Yi1taW4gMTIpO1xuJHRhYmxldC1sYXJnZTogIG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAkc2NyZWVuLXRiIG1heC13aWR0aCAkc2NyZWVuLWR0LW1pbiAxMik7XG4kdGFibGV0LWxhcmdlLWRvd246ICBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggJHNjcmVlbi1kdC1taW4gMTIpO1xuJGRlc2t0b3A6ICBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJHNjcmVlbi10YiBtYXgtd2lkdGggJHNjcmVlbi1sZy1taW4gMTIpO1xuJGxhcmdlOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJHNjcmVlbi1sZyAxMik7XG4kc21hbGxTY3JlZW46IG5ldy1icmVha3BvaW50KG1heC1oZWlnaHQgOTAwcHgpO1xuJGJpZ1NjcmVlbjogbmV3LWJyZWFrcG9pbnQobWluLWhlaWdodCAxMTAwcHgpO1xuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4naW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4naW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbidpbnB1dFt0eXBlPVwic3VibWl0XCJdJyxcbicuYnV0dG9uJyxcbicuYWN0aW9uLWJ1dHRvbic7XG5cbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xuXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xuXG4vLyBUeXBvZ3JhcGh5XG4kYmFzZS1mb250LWZhbWlseTogJGJhc2UtZm9udC1zdGFjaztcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1zdGFjaztcblxuLy8gRm9udCBTaXplc1xuJHJlbS1iYXNlOiAxNnB4O1xuJGJhc2UtZm9udC1zaXplOiAxcmVtO1xuXG4vLyBMaW5lIGhlaWdodFxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNTtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAxLjI7XG5cbi8vIE90aGVyIFNpemVzXG4kYmFzZS1ib3JkZXItcmFkaXVzOiAzcHg7XG4kYmFzZS1zcGFjaW5nOiAkYmFzZS1saW5lLWhlaWdodCAqIDFyZW07XG4kc21hbGwtc3BhY2luZzogJGJhc2Utc3BhY2luZyAvIDI7XG4kYmFzZS16LWluZGV4OiAwO1xuXG5cbi8vIEZvbnQgQ29sb3JzXG4kYmFzZS1mb250LWNvbG9yOiAkdGV4dC1jb2xvcjtcbiRhY3Rpb24tY29sb3I6ICRibHVlO1xuXG4vLyBCb3JkZXJcbiRiYXNlLWJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4kYmFzZS1ib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG5cbi8vIEJhY2tncm91bmQgQ29sb3JzXG4kYmFzZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuJHNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRiYXNlLWJvcmRlci1jb2xvciwgMTAlKTtcblxuLy8gRm9ybXNcbiRmb3JtLWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCByZ2JhKCMwMDAsIDAuMDYpO1xuJGZvcm0tYm94LXNoYWRvdy1mb2N1czogJGZvcm0tYm94LXNoYWRvdywgMCAwIDVweCBhZGp1c3QtY29sb3IoJGFjdGlvbi1jb2xvciwgJGxpZ2h0bmVzczogLTUlLCAkYWxwaGE6IC0wLjMpO1xuXG4kdGV4dC1zaXppbmctYmFzZTogc3RyaXAtdW5pdCgkcmVtLWJhc2UpO1xuJHRleHQtc2l6aW5nOiAoXG4gICAgICAgIHh4czogKFxuICAgICAgICAgICAgICAgIHNtOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgxMnJlbSAvICR0ZXh0LXNpemluZy1iYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICB4czogKFxuICAgICAgICAgICAgICAgIHNtOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgxM3JlbSAvICR0ZXh0LXNpemluZy1iYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBzOiAoXG4gICAgICAgICAgICAgICAgc206IChcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE0cmVtIC8gJHRleHQtc2l6aW5nLWJhc2UpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGJhc2U6IChcbiAgICAgICAgICAgICAgICBzbTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMTZyZW0gLyAkdGV4dC1zaXppbmctYmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBtOiAoXG4gICAgICAgICAgICAgICAgc206IChcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKDIwcmVtIC8gJHRleHQtc2l6aW5nLWJhc2UpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGw6IChcbiAgICAgICAgICAgICAgICBzbTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMjZyZW0gLyAkdGV4dC1zaXppbmctYmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgeGw6IChcbiAgICAgICAgICAgICAgICBzbTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoNDhyZW0gLyAkdGV4dC1zaXppbmctYmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgeHhsOiAoXG4gICAgICAgICAgICAgICAgc206IChcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKDY0cmVtIC8gJHRleHQtc2l6aW5nLWJhc2UpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVcbiAgICAgICAgICAgICAgICApXG4gICAgICAgIClcbik7XG5cbiR3aGl0ZTogI0ZGRjtcbiRkYXJrR3JleTogIzMwMzAzMDtcbiR0ZXh0R3JleTogIzJlMmUyZTtcbiR0ZXh0UmVkOiAjYjg2YzYxO1xuJHRleHRBY3RpdmU6ICMxODc2YjY7XG4kdGV4dEhvdmVyOiAjNGQ0ZDRkO1xuJHRleHRNZW51OiAjMzMzMzMzO1xuJHRleHRNZW51RGFyazogIzcwNzA3MDtcbiRiZ01lbnVEYXJrOiAjM2QzZDNkO1xuJGFjY3VtZW46IFwiYWN1bWluLXByby1leHRyYS1jb25kZW5zZWRcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiRvcGVuU2FuczogXCJvcGVuLXNhbnNcIiwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1zZXJpZjtcbiRmb250QmFzZVNpemU6IDEuNHJlbTtcbiRpbmdyZXNzU2l6ZTogMS44cmVtO1xuJGhlYWRlclNpemU6IDEuOHJlbTsiLCIjeyRhbGwtYnV0dG9uLWlucHV0c30sXG5idXR0b24ge1xuICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICBjb2xvcjogJHdoaXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgZm9udC1mYW1pbHk6ICRhY2N1bWVuO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOjA7XG4gIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnZm9udC1zaXplJywgMik7XG4gICYuZGFyayB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGV4dEdyZXk7XG4gICAgY29sb3I6JGRhcmtHcmV5O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJHRleHRHcmV5O1xuICAgICYuZGFyayB7XG4gICAgICBjb2xvcjpkYXJrZW4oJGRhcmtHcmV5LCAxNSUpO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG4gICYgKyAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6MjBweDtcbiAgfVxufVxuXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJmaWVsZHNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xuICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nO1xufVxuXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG59XG5cbmxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmcgLyAyO1xuXG4gICYucmVxdWlyZWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIipcIjtcbiAgfVxuXG4gIGFiYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3skYWxsLXRleHQtaW5wdXRzfSxcbnNlbGVjdFttdWx0aXBsZT1tdWx0aXBsZV0sXG50ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlcjogJGJhc2UtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYmFzZS1ib3JkZXItcmFkaXVzO1xuICBib3gtc2hhZG93OiAkZm9ybS1ib3gtc2hhZG93O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nIC8gMjtcbiAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAvIDM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJhc2UtYm9yZGVyLWNvbG9yLCAxMCUpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3ctZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1yaWdodDogJHNtYWxsLXNwYWNpbmcgLyAyO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIHBhZGRpbmctYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5oYnNwdC1mb3JtIHtcbiAgbGFiZWwsIGxlZ2VuZCB7XG5cdGNvbG9yOiR3aGl0ZTtcbiAgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuXHRjb2xvcjogJHRleHRSZWQ7XG4gIH1cbiAgLmhzLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIH1cbn1cbiIsInVsLFxub2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmJWRlZmF1bHQtdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gIH1cblxuICAmJWRlZmF1bHQtb2wge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gIH1cbn1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcblxuICBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmc7XG4gIH1cblxuICBkZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCJ0YWJsZSB7XG4gIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcImtlcm5cIiwgXCJsaWdhXCIsIFwidG51bVwiKTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAkc21hbGwtc3BhY2luZyAwO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbn1cblxudGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRiYXNlLWJvcmRlci1jb2xvciwgMTUlKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogJHNtYWxsLXNwYWNpbmcgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGQge1xuICBib3JkZXItYm90dG9tOiAkYmFzZS1ib3JkZXI7XG4gIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nIDA7XG59XG5cbnRyLFxudGQsXG50aCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4iLCJib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwia2VyblwiLCBcImxpZ2FcIiwgXCJwbnVtXCIpO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgY29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkc21hbGwtc3BhY2luZztcbn1cblxucCB7XG4gIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xuICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ2ZvbnQtc2l6ZScsIDEuMik7XG59XG5cbmEge1xuICBjb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGxpbmVhcjtcbi8qXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCRhY3Rpb24tY29sb3IsIDE1JSk7XG4gIH1cbiovXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbmhyIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cblxuaW1nLFxucGljdHVyZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIEF1dGhvcjogUmFmYWwgQnJvbWlyc2tpXG4vLyAgd3d3OiBodHRwOi8vcGFyYW5vaWRhLmNvbS9cbi8vICB0d2l0dGVyOiBodHRwOi8vdHdpdHRlci5jb20vcGFyYW5vaWRhXG4vLyAgZHJpYmJibGU6IGh0dHA6Ly9kcmliYmJsZS5jb20vcGFyYW5vaWRhXG4vL1xuLy8gIExpY2Vuc2VkIHVuZGVyIGEgTUlUIExpY2Vuc2Vcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyBSZXF1aXJlbWVudHM6XG4vLyAgIFNhc3MgMy4yLjArXG4vL1xuLy8gIFZlcnNpb246XG4vLyAgIDEuMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGV2ZWxvcGVkIG9uIDE0LzExLzIwMTNcbi8vXG4vLyBNaXhpbnM6XG4vLyAgIEAgbWluLXNjcmVlbih3aWR0aCkgICAgICAgICAgICAgICAgICAgICAgLy8gc2hvcnRjdXQgZm9yIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGggLi4uKVxuLy8gICBAIG1heC1zY3JlZW4od2lkdGgpICAgICAgICAgICAgICAgICAgICAgIC8vIHNob3J0Y3V0IGZvciBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoIC4uLilcbi8vICAgQCBzY3JlZW4obWluLXdpZHRoLCBtYXgtd2lkdGgpICAgICAgICAgICAvLyBzaG9ydGN1dCBmb3IgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aCAuLi4pIGFuZCAobWF4LXdpZHRoIC4uLilcbi8vICAgLS0tXG4vLyAgIEAgbWluLXNjcmVlbi1oZWlnaHQoaGVpZ2h0KSAgICAgICAgICAgICAgLy8gc2hvcnRjdXQgZm9yIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0IC4uLilcbi8vICAgQCBtYXgtc2NyZWVuLWhlaWdodChoZWlnaHQpICAgICAgICAgICAgICAvLyBzaG9ydGN1dCBmb3IgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQgLi4uKVxuLy8gICBAIHNjcmVlbi1oZWlnaHQobWluLWhlaWdodCwgbWF4LWhlaWdodCkgIC8vIHNob3J0Y3V0IGZvciBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodCAuLi4pIGFuZCAobWF4LWhlaWdodCAuLi4pXG4vLyAgIC0tLVxuLy8gICBAIGlwaG9uZTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICgyLCAzRywgM0dTKSBsYW5kc2NhcGUgJiBwb3J0cmFpdFxuLy8gICBAIGlwaG9uZTMobGFuZHNjYXBlKSAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICgyLCAzRywgM0dTKSBvbmx5IGxhbmRzY2FwZVxuLy8gICBAIGlwaG9uZTMocG9ydHJhaXQpICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICgyLCAzRywgM0dTKSBvbmx5IHBvcnRyYWl0XG4vLyAgIC0tLVxuLy8gICBAIGlwaG9uZTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICg0LCA0UykgbGFuZHNjYXBlICYgcG9ydHJhaXRcbi8vICAgQCBpcGhvbmU0KGxhbmRzY2FwZSkgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGlQaG9uZSAoNCwgNFMpIG9ubHkgbGFuZHNjYXBlXG4vLyAgIEAgaXBob25lNChwb3J0cmFpdCkgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDQsIDRTKSBvbmx5IHBvcnRyYWl0XG4vLyAgIC0tLVxuLy8gICBAIGlwaG9uZTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICg1KSBsYW5kc2NhcGUgJiBwb3J0cmFpdFxuLy8gICBAIGlwaG9uZTUobGFuZHNjYXBlKSAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICg1KSBvbmx5IGxhbmRzY2FwZVxuLy8gICBAIGlwaG9uZTUocG9ydHJhaXQpICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICg1KSBvbmx5IHBvcnRyYWl0XG4vLyAgIC0tLVxuLy8gICBAIGlwYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsbCBpUGFkcyAoMSwgMiwgMywgNCwgTWluaSkgbGFuZHNjYXBlICYgcG9ydHJhaXRcbi8vICAgQCBpcGFkKGxhbmRzY2FwZSkgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbGwgaVBhZHMgKDEsIDIsIDMsIDQsIE1pbmkpIG9ubHkgbGFuZHNjYXBlXG4vLyAgIEAgaXBhZChwb3J0cmFpdCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxsIGlQYWRzICgxLCAyLCAzLCA0LCBNaW5pKSBvbmx5IHBvcnRyYWl0XG4vLyAgIC0tLVxuLy8gICBAIGlwYWQtcmV0aW5hICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBhZCAoMywgNCkgbGFuZHNjYXBlICYgcG9ydHJhaXRcbi8vICAgQCBpcGFkLXJldGluYShsYW5kc2NhcGUpICAgICAgICAgICAgICAgICAvLyBvbmx5IGlQYWQgKDMsIDQpIG9ubHkgbGFuZHNjYXBlXG4vLyAgIEAgaXBhZC1yZXRpbmEocG9ydHJhaXQpICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGFkICgzLCA0KSBvbmx5IHBvcnRyYWl0XG4vLyAgIC0tLVxuLy8gICBAIGhkcGkocmF0aW8pICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRldmljZXMgd2l0aCBoaWRwaSBkaXNwbGF5cyAoZGVmYXVsdCByYXRpbzogMS4zKVxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLSBzY3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBzY3JlZW4oJHJlc01pbiwgJHJlc01heClcbntcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlc01pbikgYW5kIChtYXgtd2lkdGg6ICRyZXNNYXgpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWF4LXNjcmVlbigkcmVzKVxue1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcmVzKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1pbi1zY3JlZW4oJHJlcylcbntcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHJlcylcbiAge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBzY3JlZW4taGVpZ2h0KCRyZXNNaW4sICRyZXNNYXgpXG57XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiAkcmVzTWluKSBhbmQgKG1heC1oZWlnaHQ6ICRyZXNNYXgpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWF4LXNjcmVlbi1oZWlnaHQoJHJlcylcbntcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6ICRyZXMpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWluLXNjcmVlbi1oZWlnaHQoJHJlcylcbntcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6ICRyZXMpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLSBoZHBpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2VkIG9uIGJvdXJib24gaGlkcGktbWVkaWEtcXVlcmllcyBmaWxlIChodHRwczovL2dpdGh1Yi5jb20vdGhvdWdodGJvdC9ib3VyYm9uL2Jsb2IvbWFzdGVyL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2Nzcylcbi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcblxuQG1peGluIGhkcGkoJHJhdGlvOiAxLjMpXG57XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAje3JvdW5kKCRyYXRpbyo5Nil9ZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogI3skcmF0aW99ZHBweClcbiAge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tIGlwaG9uZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGlwaG9uZTMoJG9yaWVudGF0aW9uOiBhbGwpXG57XG4gICRkZXZpY2VNaW5XaWR0aDogMzIwcHg7XG4gICRkZXZpY2VNYXhXaWR0aDogNDgwcHg7XG4gICRkZXZpY2VQaXhlbFJhdGlvOiAxO1xuXG4gIEBpZiAkb3JpZW50YXRpb24gPT0gYWxsXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRkZXZpY2VQaXhlbFJhdGlvKVxuICAgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZVxuICB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogJGRldmljZU1pbldpZHRoKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNYXhXaWR0aClcbiAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAkZGV2aWNlUGl4ZWxSYXRpbykgYW5kIChvcmllbnRhdGlvbjojeyRvcmllbnRhdGlvbn0pXG4gICAge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tIGlwaG9uZS1yZXRpbmEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGlwaG9uZTQoJG9yaWVudGF0aW9uOiBhbGwpXG57XG4gICRkZXZpY2VNaW5XaWR0aDogMzIwcHg7XG4gICRkZXZpY2VNYXhXaWR0aDogNDgwcHg7XG4gICRkZXZpY2VQaXhlbFJhdGlvOiAyO1xuICAkZGV2aWNlQXNwZWN0UmF0aW86ICcyLzMnO1xuXG4gIEBpZiAkb3JpZW50YXRpb24gPT0gYWxsXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRkZXZpY2VQaXhlbFJhdGlvKSBhbmQgKGRldmljZS1hc3BlY3QtcmF0aW86ICRkZXZpY2VBc3BlY3RSYXRpbylcbiAgICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2VcbiAge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNaW5XaWR0aCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWF4V2lkdGgpXG4gICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogJGRldmljZVBpeGVsUmF0aW8pIGFuZCAoZGV2aWNlLWFzcGVjdC1yYXRpbzogMi8zKSBhbmQgKG9yaWVudGF0aW9uOiN7JG9yaWVudGF0aW9ufSlcbiAgICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0gaXBob25lLTUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaXBob25lNSgkb3JpZW50YXRpb246IGFsbClcbntcbiAgJGRldmljZU1pbldpZHRoOiAzMjBweDtcbiAgJGRldmljZU1heFdpZHRoOiA1NjhweDtcbiAgJGRldmljZVBpeGVsUmF0aW86IDI7XG4gICRkZXZpY2VBc3BlY3RSYXRpbzogJzQwLzcxJztcblxuICBAaWYgJG9yaWVudGF0aW9uID09IGFsbFxuICB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogJGRldmljZU1pbldpZHRoKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNYXhXaWR0aClcbiAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAkZGV2aWNlUGl4ZWxSYXRpbykgYW5kIChkZXZpY2UtYXNwZWN0LXJhdGlvOiAkZGV2aWNlQXNwZWN0UmF0aW8pXG4gICAge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRkZXZpY2VQaXhlbFJhdGlvKSBhbmQgKGRldmljZS1hc3BlY3QtcmF0aW86ICRkZXZpY2VBc3BlY3RSYXRpbykgYW5kIChvcmllbnRhdGlvbjojeyRvcmllbnRhdGlvbn0pXG4gICAge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tIGlwYWRzIChhbGwpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGlwYWQoJG9yaWVudGF0aW9uOiBhbGwpXG57XG4gICRkZXZpY2VNaW5XaWR0aDogNzY4cHg7XG4gICRkZXZpY2VNYXhXaWR0aDogMTAyNHB4O1xuXG4gIEBpZiAkb3JpZW50YXRpb24gPT0gYWxsXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZVxuICB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogJGRldmljZU1pbldpZHRoKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNYXhXaWR0aClcbiAgICBhbmQgKG9yaWVudGF0aW9uOiN7JG9yaWVudGF0aW9ufSlcbiAgICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0gaXBhZC1yZXRpbmEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaXBhZC1yZXRpbmEoJG9yaWVudGF0aW9uOiBhbGwpXG57XG4gICRkZXZpY2VNaW5XaWR0aDogNzY4cHg7XG4gICRkZXZpY2VNYXhXaWR0aDogMTAyNHB4O1xuICAkZGV2aWNlUGl4ZWxSYXRpbzogMjtcblxuICBAaWYgJG9yaWVudGF0aW9uID09IGFsbFxuICB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogJGRldmljZU1pbldpZHRoKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNYXhXaWR0aClcbiAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAkZGV2aWNlUGl4ZWxSYXRpbylcbiAgICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2VcbiAge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNaW5XaWR0aCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWF4V2lkdGgpXG4gICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogJGRldmljZVBpeGVsUmF0aW8pIGFuZCAob3JpZW50YXRpb246I3skb3JpZW50YXRpb259KVxuICAgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufSIsIiNtYWluICNjb250ZW50IC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCB7XG4uc3BvdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdtYXJnaW4tYm90dG9tJywgMCk7XG4gIG1hcmdpbi1sZWZ0OiA1cmVtO1xuICAuaW1nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6MC44cmVtO1xuXHRsZWZ0OjA7XG5cdG1heC13aWR0aDogNHJlbTtcblx0QGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdsZWZ0JywgLTYpO1xuXHQuZmEge1xuXHQgIGZvbnQtc2l6ZTogM3JlbTtcblx0fVxuICB9XG4gIGRpdi5pbWcge1xuXHR3aWR0aDo1MHB4O1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0dG9wOjRweDtcbiAgfVxuICBoMiB7XG5cdGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnZm9udC1zaXplJywgMy40KTtcblx0Y29sb3I6ICR0ZXh0R3JleTtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0QGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdtYXJnaW4tYm90dG9tJywgMik7XG5cdGEge1xuXHQgIGNvbG9yOiAkdGV4dEdyZXk7XG5cblx0fVxuICB9XG4gIC5jb250ZW50IHtcbiAgfVxuXHQmLm1lZGl1bSB7XG5cdFx0aDIge1xuXHRcdFx0Zm9udC1zaXplOiAyLjZyZW07XG5cdFx0fVxuXHRcdC5pbWcge1xuXHRcdFx0dG9wOjAuMnJlbTtcblx0XHRcdGxlZnQ6MDtcblx0XHRcdG1heC13aWR0aDogNHJlbTtcblx0XHRcdEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnbGVmdCcsIC01KTtcblx0XHRcdC5mYSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMi42cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxufVxuLnNwb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0bWFyZ2luLWxlZnQ6IDdyZW07XG5cdG1hcmdpbi1yaWdodDogM3JlbTtcblx0bWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgfVxuICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ21hcmdpbi1ib3R0b20nLCAwKTtcbiAgLmltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOjhweDtcblx0bGVmdDowO1xuXHRtYXgtd2lkdGg6IDRyZW07XG5cdEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnbGVmdCcsIC02KTtcbiAgfVxuICBoMiB7XG5cdGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnZm9udC1zaXplJywgMy40KTtcblx0Y29sb3I6ICR0ZXh0R3JleTtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0QGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdtYXJnaW4tYm90dG9tJywgMik7XG5cdGEge1xuXHQgIGNvbG9yOiAkdGV4dEdyZXk7XG5cblx0fVxuICB9XG4gIC5jb250ZW50IHtcbiAgfVxufVxuXG4uZnctaGVhZGluZy1jZW50ZXIge1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbn0iLCJpbWcubWVkaWEtaW1hZ2Uge1xuICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ21hcmdpbi1ib3R0b20nLCA2KTtcbn0iLCIudmlkZW8tcG9wdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGltZyB7XG5cdHdpZHRoOjEwMCU7XG4gIH1cbn1cblxuI3ZpZGVvLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6MDtcbiAgbGVmdDowO1xuICBib3R0b206MDtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpO1xuICB6LWluZGV4OjEwMDU7XG4gIGRpc3BsYXk6bm9uZTtcbiAgb3BhY2l0eTogMDtcblxuICAud3JhcHBlciB7XG5cdHRvcDogNTAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLC01MCUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLC01MCUpO1xuXHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsLTUwJSk7XG5cdCAgcGFkZGluZzoyLjVyZW0gMi41cmVtO1xuXHQgIGJhY2tncm91bmQtY29sb3I6JHRleHRHcmV5O1xuXHQgIGltZyB7XG5cdFx0ICBtYXgtaGVpZ2h0Ojgwdmg7XG5cdCAgfVxuXHQgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOjA7XG5cdHJpZ2h0OjNyZW07XG5cdGNvbG9yOiNmZmY7XG5cdG9wYWNpdHk6IDE7XG5cdGZvbnQtc2l6ZToxLjZyZW07XG5cdGZvbnQtZmFtaWx5OiRvcGVuU2Fucztcblx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXHQgIHRvcDotNDBweDtcblx0fVxuICB9XG59XG4iLCIudHdpdHRlcmZlZWRzIHtcbiAgcGFkZGluZzo2cmVtIDAgMDtcbiAgbWFyZ2luLWJvdHRvbTotNnJlbTtcbiAgLnR3aXR0ZXJmZWVkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRAaW5jbHVkZSByZW0tZmFsbGJhY2soJ21hcmdpbi1ib3R0b20nLCA1KTtcblx0LnR3aXR0ZXItYXZhdGFyIHtcblx0ICBib3JkZXItcmFkaXVzOjUwJTtcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgdG9wOjA7XG5cdCAgbGVmdDowO1xuXHQgIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnd2lkdGgnLCA1KTtcblx0fVxuXG5cdGg0IHtcblx0ICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHQgIGZvbnQtZmFtaWx5OiAkb3BlblNhbnM7XG5cdCAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG5cdCAgZm9udC1zaXplOiAkZm9udEJhc2VTaXplO1xuXHQgIGNvbG9yOiAkdGV4dEdyZXk7XG5cdCAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjIpO1xuXHR9XG5cdGRhdGUge1xuXHQgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuXHQgIGZvbnQtZmFtaWx5OiAkb3BlblNhbnM7XG5cdCAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjEpO1xuXHQgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cblx0LmNvbnRlbnQge1xuXHQgIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygncGFkZGluZy1sZWZ0JywgNik7XG5cdCAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjEpO1xuXHQgIC50ZXh0IHtcblx0XHRhIHtcblx0XHQgIGNvbG9yOiR0ZXh0QWN0aXZlO1xuXHRcdH1cblx0ICB9XG5cblx0fVxuXHQmLnR3ZWV0LWhpZGRlbiB7XG5cdCAgZGlzcGxheTpub25lO1xuXHR9XG4gIH1cblxuICAubG9hZC1tb3JlLXR3ZWV0cyB7XG5cbiAgfVxufSIsIi5oZWFkZXItcXVvdGVzLCAjY29udGVudCAuaGVhZGVyLXF1b3RlcyB7XG4gIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnbWFyZ2luLXRvcCcsIDUpO1xuICAucXVvdGUge1xuXHRwYWRkaW5nOjAgMCAwIDU1cHg7XG5cdG1hcmdpbi1sZWZ0Oi01NXB4O1xuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9xdW90ZS13aGl0ZS5wbmcnKSBuby1yZXBlYXQgMCA1cHg7XG5cdC50ZXh0IHtcblx0ICBmb250LXN0eWxlOiBpdGFsaWM7XG5cdCAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjYpO1xuXHQgIHAge1xuXHRcdGxpbmUtaGVpZ2h0OjEuMztcblx0ICB9XG5cdH1cblx0Lm5hbWUge1xuXHQgIG1hcmdpbjowO1xuXHQgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjIpO1xuXHR9XG5cdC50aXRsZSB7XG5cdCAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjEpO1xuXHR9XG4gIH1cbn1cbiNjb250ZW50IC5oZWFkZXItcXVvdGVzIHtcbiAgbWFyZ2luLXRvcDowO1xuICAucXVvdGUge1xuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9xdW90ZS1ibGFjay5wbmcnKSBuby1yZXBlYXQgMCA1cHg7XG5cdCAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXHRcdCAgbWFyZ2luOiAwIDAgOHJlbTtcblx0ICB9XG4gIH1cbn0iLCIuYm94LWFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIC5yb3cge1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0d2lkdGg6IDEwMCU7XG5cdC5jb250ZW50LWJveCB7XG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgIHdpZHRoOiAxNiU7XG5cdCAgZGlzcGxheTogdGFibGUtY2VsbDtcblx0ICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHQgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYmdfZmVlZF9jZW50ZXIucG5nKSB0b3AgY2VudGVyIG5vLXJlcGVhdDtcblx0ICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHQgIC8vYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ICBmbG9hdDogbm9uZTtcblx0ICAmOmZpcnN0LWNoaWxkIHtcblx0XHR3aWR0aDogNDIlO1xuXHRcdC5ib3gtY29udGVudCB7XG5cdFx0ICBmbG9hdDogcmlnaHQ7XG5cdFx0fVxuXHRcdC5iZy1jb3ZlciB7XG5cdFx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjQ3RjNGO1xuXHRcdH1cblx0ICB9XG5cdCAgJjpsYXN0LWNoaWxkIHtcblx0XHR3aWR0aDogNDIlO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvYmdfZmVlZF9yaWdodC5qcGcpIHRvcCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0LmJnLWNvdmVyIHtcblx0XHQgIGJhY2tncm91bmQtY29sb3I6ICNDMjVFNEU7XG5cdFx0fVxuXHQgIH1cblx0ICAuYmctY292ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0NDQzI2QTtcblx0XHR6LWluZGV4OiAxMDtcblx0XHRvcGFjaXR5OiAwLjc1O1xuXHQgIH1cblx0ICAuYm94LWNvbnRlbnQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogMzkwcHg7XG5cdFx0cGFkZGluZzogNThweCAzNXB4O1xuXHRcdHotaW5kZXg6IDIwO1xuXHQgIH1cblx0ICBoMiB7XG5cdFx0Zm9udC1mYW1pbHk6ICRvcGVuU2Fucztcblx0XHRmb250LXdlaWdodDogbGlnaHRlcjtcblx0XHRmb250LXNpemU6ICRmb250QmFzZVNpemU7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdCAgfVxuXHQgIHAge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRmb250LWZhbWlseTogJGFjY3VtZW47XG5cdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXHQgIH1cblx0ICAubW9yZS1saW5rcyB7XG5cdFx0bWFyZ2luLXRvcDoxNXB4O1xuXHRcdGEge1xuXHRcdCAgY29sb3I6ICR3aGl0ZTtcblx0XHQgIG1hcmdpbjogMDtcblx0XHQgIGxpbmUtaGVpZ2h0OiAxO1xuXHRcdCAgJjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDU2cHg7XG5cdFx0ICB9XG5cdFx0ICAmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkdGV4dEdyZXk7XG5cdFx0ICB9XG5cdFx0fVxuXHQgIH1cblx0ICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0LWxhcmdlLWRvd24pIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRtaW4taGVpZ2h0OiAyODBweDtcblx0XHQmOmZpcnN0LWNoaWxkLCAmOmxhc3QtY2hpbGQge1xuXHRcdCAgd2lkdGg6IDEwMCU7XG5cdFx0ICAuYm94LWNvbnRlbnQge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0ICB9XG5cdFx0fVxuXHRcdC5ib3gtY29udGVudCB7XG5cdFx0ICBmbG9hdDogbm9uZTtcblx0XHQgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgIHRleHQtYWxpZ246bGVmdDtcblx0XHR9XG5cdCAgfVxuXHQgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAwO1xuXHRcdCY6Zmlyc3QtY2hpbGQsICY6bGFzdC1jaGlsZCB7XG5cdFx0ICB3aWR0aDogMTAwJTtcblx0XHQgIC5ib3gtY29udGVudCB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdCAgfVxuXHRcdH1cblx0XHQuYm94LWNvbnRlbnQge1xuXHRcdCAgZmxvYXQ6IG5vbmU7XG5cdFx0ICB3aWR0aDogMTAwJTtcblx0XHR9XG5cdCAgfVxuXHR9XG4gIH1cbiAgI2N5YmVyLWRhaWx5LWZvcm0ge1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0aW5wdXQge1xuXHQgIGNvbG9yOiAkdGV4dFJlZDtcblx0ICBib3JkZXItcmFkaXVzOiA0cHg7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdH1cblx0YnV0dG9uIHtcblx0ICBjb2xvcjogJHdoaXRlO1xuXHQgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHQgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblx0ICBmb250LXNpemU6IDE0cHg7XG5cdCAgZm9udC1mYW1pbHk6ICRvcGVuU2Fucztcblx0ICBwYWRkaW5nOiA4cHggOHB4O1xuXHQgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdCAgYm9yZGVyLXJhZGl1czogMDtcblx0fVxuXHQubW9yZS1saW5rcyB7XG5cdCAgYSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdCAgfVxuXHR9XG4gIH1cbn0iLCIjY29udGVudCB7XG5cdC5wYWdlIHtcblx0XHQuZnctcGFnZS1idWlsZGVyLWNvbnRlbnQge1xuXHRcdFx0cGFkZGluZy10b3A6M3JlbTtcblx0XHR9XG5cdFx0c2VjdGlvbi5mdy1tYWluLXJvdyB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Ji5mdy1zZWN0aW9uLXRvcC1tYXJnaW4ge1xuXHRcdFx0XHRwYWRkaW5nOjRyZW0gMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5uby1oZWFkZXIge1xuXHRcdFx0c2VjdGlvbi5mdy1tYWluLXJvdyB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGgxIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdG1hcmdpbjogMCAwIDAuNXJlbTtcblx0XHR9XG5cdFx0aDEge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdCYuYmxvZy10aXRsZSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGZvbnRCYXNlU2l6ZTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRvcGVuU2Fucztcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0QWN0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR1bCwgb2wge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRvcGVuU2Fucztcblx0XHRcdGNvbG9yOiAkdGV4dEdyZXk7XG5cdFx0XHRmb250LXNpemU6ICRmb250QmFzZVNpemU7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogMi41cmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuODtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJHRleHRBY3RpdmU7XG5cdFx0XHR9XG5cdFx0XHR1bCwgb2wge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR1bCB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG5cdFx0fVxuXHRcdG9sIHtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblx0XHR9XG5cblx0XHQucGFkLWxlZnQge1xuXHRcdFx0LmZ3LXJvdyA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDVyZW07XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5tZWRpYS1pbWFnZSB7XG5cdFx0XHQmLmFsaWduLXJpZ2h0IHtcblx0XHRcdFx0ZmxvYXQ6cmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLmNhdC1saXN0IHtcbiAgb3ZlcmZsb3c6aGlkZGVuO1xuICBtYXJnaW46IDM1cHggMCAzNXB4O1xuICBsaSB7XG5cdGZsb2F0OmxlZnQ7XG5cdGZvbnQtZmFtaWx5OiRvcGVuU2Fucztcblx0Zm9udC1zaXplOjEzcHg7XG5cdGJvcmRlci10b3A6MXB4IHNvbGlkICR0ZXh0R3JleTtcblx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJHRleHRHcmV5O1xuXHRib3JkZXItbGVmdDoxcHggc29saWQgJHRleHRHcmV5O1xuXHRtYXJnaW46MDtcblx0YSB7XG5cdCAgcGFkZGluZzo1cHggMTBweDtcblx0ICBkaXNwbGF5OiBibG9jaztcblxuXHR9XG5cdCYuY3VycmVudC1jYXQge1xuXHRhIHtcblx0ICBjb2xvcjogJHdoaXRlO1xuXHQgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0R3JleTtcblx0fVxuICB9XG5cdCY6bGFzdC1jaGlsZCB7XG5cdCAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAkdGV4dEdyZXk7XG5cdH1cbiAgfVxufSIsIi5ibG9nLWxpc3Qge1xuICAjY29udGVudCB7XG5cdHBhZGRpbmc6IDAgNjBweDtcblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYXJnZS1kb3duKSB7XG5cdCAgcGFkZGluZzowO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0ICBwYWRkaW5nOjA7XG5cdH1cblx0LnBhZ2Utc3VtbWFyeSB7XG5cdCAgcCB7XG5cdFx0bWFyZ2luLXRvcDoyMHB4O1xuXHQgIH1cblx0fVxuXHRoMS5wYWdlLXRpdGxlIHtcblx0ICBmb250LWZhbWlseTogJGFjY3VtZW47XG5cdCAgZm9udC1zaXplOiAyNnB4O1xuXHQgIGNvbG9yOiAkd2hpdGU7XG5cdCAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0ICBsaW5lLWhlaWdodDogMS40O1xuXHR9XG5cdGgyIHtcblx0ICBtYXJnaW4tYm90dG9tOjVweDtcblx0fVxuXHQuY29sLTgge1xuXHQgIGgxLnBhZ2UtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0ICB9XG5cdCAgYWRkcmVzcyB7XG5cdFx0bWFyZ2luLWJvdHRvbTowO1xuXHQgIH1cblx0fVxuXHRhcnRpY2xlIHtcblx0ICBwYWRkaW5nLWJvdHRvbTozMHB4O1xuXHR9XG5cdC50YWJsZS1yb3cge1xuXHQgIHdpZHRoOiAxMDAlO1xuXHQgID4gZGl2IHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdGhlaWdodDogMzUwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQgIH1cblx0ICBhcnRpY2xlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0ICB9XG5cdCAgLnBvc3QtY29udGVudCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMzVweDtcblx0XHRsZWZ0OiA0MHB4O1xuXHRcdHJpZ2h0OiA0MHB4O1xuXHRcdHAge1xuXHRcdCAgbGluZS1oZWlnaHQ6Mi4yO1xuXHRcdH1cblx0XHRwLCBhZGRyZXNzIHtcblx0XHQgIGZvbnQtZmFtaWx5OiAkb3BlblNhbnM7XG5cdFx0ICBmb250LXdlaWdodDogMTAwO1xuXHRcdCAgZm9udC1zaXplOiAxNHB4O1xuXHRcdCAgY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdFx0YWRkcmVzcyB7XG5cdFx0ICBmb250LXNpemU6ICRmb250QmFzZVNpemU7XG5cdFx0ICBmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0ICBsaW5lLWhlaWdodDogMi4yO1xuXHRcdCAgbWFyZ2luLXRvcDogNXB4O1xuXHRcdH1cblx0ICB9XG5cdH1cblx0LnBhZ2Utc3VtbWFyeSB7XG5cdCAgLy9tYXJnaW4tYm90dG9tOjMwcHg7XG5cdH1cblx0LmFjdGlvbi1idXR0b24ge1xuXHQgIGZvbnQtc2l6ZToyNHB4O1xuXHQgIHBhZGRpbmc6IDNweCAxMHB4IDhweDtcblx0ICBsaW5lLWhlaWdodDoxO1xuXHQgIG1hcmdpbjogMTVweCAwIDIwcHg7XG5cdCAgY29sb3I6ICR0ZXh0R3JleTtcblx0fVxuXHQucG9zdC1jb250ZW50IHtcblx0ICBwYWRkaW5nLXJpZ2h0OjUwcHg7XG5cdH1cblx0LnBvc3QtY2F0ZWdvcmllcyB7XG5cdCAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdCAgcCwgdWwsIGxpIHtkaXNwbGF5OmlubGluZS1ibG9jazt9XG5cdCAgcCB7bWFyZ2luLXJpZ2h0OjVweDt9XG5cdCAgYSB7Y29sb3I6ICR0ZXh0QWN0aXZlO2ZvbnQtc2l6ZToxNnB4O21hcmdpbjogMCA1cHg7Zm9udC13ZWlnaHQ6bGlnaHRlcjt9XG5cdH1cblx0LnBvc3QtZGF0ZSB7XG5cdCAgZm9udC1zaXplOjE2cHg7XG5cdCAgZm9udC13ZWlnaHQ6bGlnaHRlcjtcblx0ICBtYXJnaW4tYm90dG9tOjVweDtcblx0ICBkaXNwbGF5OmlubGluZS1ibG9jaztcblx0fVxuXHQud2lkZ2V0X2NhdGVnb3JpZXMge1xuXHQgIGg2IHtcblx0XHRmb250LWZhbWlseTokYWNjdW1lbjtcblx0XHRmb250LXdlaWdodDpub3JtYWw7XG5cdFx0Zm9udC1zaXplOjQwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdCAgfVxuXHQgIGxpIHttYXJnaW4tYm90dG9tOjVweDt9XG5cdCAgYSB7XG5cdFx0Zm9udC1zaXplOiRmb250QmFzZVNpemU7XG5cdFx0Y29sb3I6ICR0ZXh0R3JleTtcblx0ICB9XG5cdH1cblx0LnBhZ2luYXRpb24ge1xuXHQgIHBhZGRpbmctdG9wOjQwcHg7XG5cdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHQgIGEge1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1mYW1pbHk6JGFjY3VtZW47XG5cdFx0Zm9udC1zaXplOjI0cHg7XG5cdFx0Y29sb3I6ICR0ZXh0R3JleTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkdGV4dEdyZXk7XG5cdFx0bGluZS1oZWlnaHQ6MTtcblx0XHRwYWRkaW5nOiAzcHggMTBweCA4cHg7XG5cblx0ICB9XG5cdH1cbiAgfVxuICAucG9zdC1jb250ZW50IGltZy53cC1wb3N0LWltYWdlIHtcblx0bWFyZ2luOjAgMCAxMHB4O1xuXHRwYWRkaW5nOjA7XG4gIH1cbn0iLCIuY3VzdG9tZXJzIHtcblx0I21haW4ge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAycmVtIDAgMDtcblx0XHR9XG5cdFx0LmZ3LXJvdyB7XG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDhyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNlY3Rpb24uZnctbWFpbi1yb3cge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXHRcdFx0XHRAaW5jbHVkZSByZW0tZmFsbGJhY2soJ3BhZGRpbmcnLCAwLCAxLjUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQud29yZHByZXNzLWNvbnRlbnQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblx0I2NvbnRlbnQgLmFjdGlvbi1idXR0b24ge1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4IDhweDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRjb2xvcjogJHRleHRHcmV5O1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblxuXHRcdCYgKyAuYWN0aW9uLWJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHR9XG5cdH1cblxufSIsIi5zaW5nbGUge1xuICAuYmxvZy1saXN0IHtcblx0I2NvbnRlbnQge1xuXHQgIC5wb3N0LWNvbnRlbnQge1xuXHRcdGgxIHtcblx0XHQgIGxpbmUtaGVpZ2h0OiAxO1xuXHRcdCAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHR9XG5cdFx0aDIge1xuXHRcdCAgJi5ibG9nLXRpdGxlIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdFx0XHRmb250LXNpemU6ICRmb250QmFzZVNpemU7XG5cdFx0XHRmb250LWZhbWlseTogJG9wZW5TYW5zO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRtYXJnaW46IDAgMCAxcmVtO1xuXHRcdCAgfVxuXHRcdH1cblx0XHRwIHtcblx0XHQgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cdFx0fVxuXHRcdHVsLCBvbCB7XG5cdFx0ICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuXHRcdCAgY29sb3I6ICR0ZXh0R3JleTtcblx0XHQgIGZvbnQtc2l6ZTogJGZvbnRCYXNlU2l6ZTtcblx0XHQgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblx0XHQgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cdFx0ICBtYXJnaW4tbGVmdDogMjVweDtcblx0XHQgIGxpbmUtaGVpZ2h0OiAxLjg7XG5cdFx0ICB1bCwgb2wge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHQgIH1cblx0XHR9XG5cdFx0dWwge1xuXHRcdCAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuXHRcdH1cblx0XHRvbCB7XG5cdFx0ICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG5cdFx0fVxuXHRcdGEge1xuXHRcdCAgY29sb3I6ICR0ZXh0QWN0aXZlO1xuXHRcdH1cblx0XHR1bC5wb3N0LWNhdGVnb3JpZXMge1xuXHRcdCAgbWFyZ2luOjA7XG5cdFx0ICA+IGxpIHtwYWRkaW5nLWxlZnQ6MDt9XG5cdFx0ICBhIHtcblx0XHRcdGZvbnQtc2l6ZToxLjRyZW07XG5cdFx0ICB9XG5cdFx0fVxuXHRcdHAucG9zdC1kYXRlIHtcblx0XHQgIG1hcmdpbi1ib3R0b206MnJlbTtcblx0XHQgIGZvbnQtc2l6ZToxLjRyZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0XHQgIHAucG9zdC1kYXRlIHtcblx0XHRcdGRpc3BsYXk6aW5saW5lO1xuXHRcdFx0bGluZS1oZWlnaHQ6MS40O1xuXHRcdCAgfVxuXHRcdCAgLnBvc3QtZGF0ZS1jb250YWluZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdCAgfVxuXHRcdH1cblx0ICB9XG5cdH1cblx0I3NpZGViYXIge1xuXHQgIHBhZGRpbmctbGVmdDogNTBweDtcblx0ICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0LWxhcmdlLWRvd24pIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdCAgfVxuXHQgIC5hdXRob3ItaW5mbyB7XG5cdFx0cGFkZGluZzogMTVweCAxMHB4IDEwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2Q2ZDZkNjtcblx0XHRtYXJnaW4tYm90dG9tOjMwcHg7XG5cdFx0aDIge1xuXHRcdCAgZm9udC1zaXplOiAyNHB4O1xuXHRcdCAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHQgIGNvbG9yOiAkdGV4dEdyZXk7XG5cdFx0ICBtYXJnaW46IDEzcHggMDtcblxuXHRcdH1cblx0XHRoMyB7XG5cdFx0ICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuXHRcdCAgY29sb3I6ICR0ZXh0R3JleTtcblx0XHQgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0ICBmb250LXNpemU6ICRmb250QmFzZVNpemU7XG5cdFx0fVxuXHRcdHAge1xuXHRcdCAgZm9udC1mYW1pbHk6ICRvcGVuU2Fucztcblx0XHQgIGNvbG9yOiAkdGV4dEdyZXk7XG5cdFx0ICBmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdCAgZm9udC1zaXplOiAxM3B4O1xuXHRcdCAgbWFyZ2luLWJvdHRvbTogMDtcblx0XHQgIGEge1xuXHRcdFx0Y29sb3I6ICR0ZXh0QWN0aXZlO1xuXHRcdCAgfVxuXHRcdH1cblxuXHQgIH1cblx0ICAuZHBBcnRpY2xlU2hhcmUgbGkgLmRwYXMtaWNvbiB7XG5cdFx0d2lkdGg6IDI1cHggIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcblx0ICB9XG5cdCAgLmRwQXJ0aWNsZVNoYXJlLmNvbG9yIGxpIC5kcGFzLWljb24gaSwgLmRwQXJ0aWNsZVNoYXJlLmxpZ2h0IGxpIC5kcGFzLWljb24gaSwgLmRwQXJ0aWNsZVNoYXJlLmRhcmsgbGkgLmRwYXMtaWNvbiBpIHtcblx0XHRtYXJnaW46IDNweCAwO1xuXHRcdGZvbnQtc2l6ZTogMTlweDtcblx0ICB9XG5cdCAgLmRwQXJ0aWNsZVNoYXJlLmNvbG9yLmNvdW50ZXItcmlnaHQgbGkgLmRwU2hhcmVBcnRpY2xlQ291bnRlciwgLmRwQXJ0aWNsZVNoYXJlLmxpZ2h0LmNvdW50ZXItcmlnaHQgbGkgLmRwU2hhcmVBcnRpY2xlQ291bnRlciwgLmRwQXJ0aWNsZVNoYXJlLmRhcmsuY291bnRlci1yaWdodCBsaSAuZHBTaGFyZUFydGljbGVDb3VudGVyIHtcblx0XHR3aWR0aDogMjVweCAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1sZWZ0OiAyNXB4O1xuXHQgIH1cblx0ICAuZHBBcnRpY2xlU2hhcmUuY29sb3IuY291bnRlci1yaWdodCBsaSBzcGFuLCAuZHBBcnRpY2xlU2hhcmUubGlnaHQuY291bnRlci1yaWdodCBsaSBzcGFuLCAuZHBBcnRpY2xlU2hhcmUuZGFyay5jb3VudGVyLXJpZ2h0IGxpIHNwYW4ge1xuXHRcdGhlaWdodDogMjVweDtcblx0XHRsaW5lLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuXHQgIH1cblx0ICAud2lkZ2V0LWhlYWRpbmcge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdCAgfVxuXHQgIC5yZi13aWRnZXRfcmVjZW50X2VudHJpZXMge1xuXHRcdGxpIHtcblx0XHQgIG1hcmdpbi1ib3R0b206MjVweDtcblx0XHR9XG5cdFx0YSB7XG5cdFx0ICBkaXNwbGF5OiBibG9jaztcblx0XHQgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdCAgZm9udC1mYW1pbHk6JGFjY3VtZW47XG5cdFx0ICBjb2xvcjokdGV4dEdyZXk7XG5cdFx0ICBmb250LXNpemU6MThweDtcblx0XHQgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0ICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdCAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdH1cblx0XHRzcGFuIHtcblx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAgZm9udC1zaXplOiRmb250QmFzZVNpemU7XG5cdFx0ICBjb2xvcjokdGV4dEdyZXk7XG5cdFx0ICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuXG5cdFx0fVxuXHQgIH1cblx0fVxuICB9XG59IiwiLnVzZS1jYXNlcy1iYW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgaDEsIGgyIHtcblx0Y29sb3I6ICR3aGl0ZTtcbiAgfVxuICBoMSB7XG5cdGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZvbnQtc2l6ZTogNnJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4udXNlLWNhc2VzLWNvbnRlbnQge1xuICB3aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIHAge1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6MS40cmVtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0d2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLnVzZS1jYXNlcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udXNlLWNhc2VzLWJhbm5lci1pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNzAwcHg7XG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0d2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLnVzZS1jYXNlcy1saW5rcyB7XG5cbiAgd2lkdGg6IDYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNDBweCAwIDEwcHg7XG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0d2lkdGg6IGF1dG87XG4gIH1cbiAgdWwge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogdGFibGU7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgbGkge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR3aWR0aDogMTAwJTtcblxuXHQmLmFjdGl2ZSB7XG5cdCAgLypcblx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgIGNvbnRlbnQ6ICcnO1xuXHRcdFx0ICB3aWR0aDogNDBweDtcblx0XHRcdCAgYmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0ICBib3R0b206IDA7XG5cdFx0XHQgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHQgIGJvdHRvbTogLTQwcHg7XG5cdFx0XHQgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRcdCAgaGVpZ2h0OiAxcHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0ICBib3R0b206IC0yMHB4O1xuXHRcdFx0ICBoZWlnaHQ6IDVweDtcblx0XHRcdH0qL1xuXHQgIGEge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG5cdCAgfVxuXG5cdH1cblxuICB9XG5cbiAgYSB7XG5cdGZvbnQtc2l6ZTogMjJweDtcblx0Zm9udC1mYW1pbHk6ICRhY2N1bWVuO1xuICB9XG5cbn1cblxuLnVzZS1jYXNlcy1ub2RlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNjBweDtcblxuICAmOmJlZm9yZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb250ZW50OiAnJztcblx0bGVmdDogODdweDtcblx0cmlnaHQ6IDg2cHg7XG5cdGhlaWdodDogMXB4O1xuXHR0b3A6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIH1cblxufVxuXG4udXNlLWNhc2VzLW5vZGVzLWlubmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51c2UtY2FzZS1ub2RlIHtcbiAgaGVpZ2h0OiA5MHB4O1xuICB3aWR0aDogMjUlO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgJjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgkd2hpdGUsIDAuNSkpO1xuICB9XG5cbn1cblxuLnVzZS1jYXNlLW5vZGUtbGluayB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnVzZS1jYXNlLW5vZGUtaW5uZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL25vZGUuc3ZnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiA5MHB4O1xuICB3aWR0aDogNDJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udXNlLWNhc2Utbm9kZS1udW1iZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3R0b206IDlweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAkZm9udEJhc2VTaXplO1xufVxuXG5oMy51c2UtY2FzZS1ub2RlLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuI2NvbnRlbnQge1xuICAudXNlLWNhc2Utc2VjdGlvbiB7XG5cdHAge1xuXHQgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cdH1cblx0LmFjdGlvbi1idXR0b24ge1xuXHQgIGZvbnQtc2l6ZTogMjRweDtcblx0ICBwYWRkaW5nOiAzcHggMTBweCA4cHg7XG5cdCAgbGluZS1oZWlnaHQ6IDE7XG5cdCAgbWFyZ2luOiAxNXB4IDAgMjBweDtcblx0fVxuICB9XG59XG5cbi51c2UtY2FzZXMtc2VjdGlvbnMge1xuICAuY29udGFpbmVyIHtcblx0cGFkZGluZzogMCA2MHB4O1xuXHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cdCAgcGFkZGluZzogMCAxMHB4O1xuXHR9XG4gIH1cbn0iLCIuY3VzdG9tLWhlYWRlci1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXHRwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxufVxuXG4jbG9nbyBpbWcge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5sb2dvLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE5NXB4O1xuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0LWRvd24pIHtcblx0ZmxvYXQ6IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogNHJlbTtcblx0d2lkdGg6IGF1dG87XG5cdGEge1xuXHQgIHdpZHRoOiA2MiU7XG5cdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG4gIH1cbn1cblxuLmhlYWRlci1yaWdodCB7XG4gIGEuYWN0aW9uLWJ1dHRvbiB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luLXRvcDogMDtcblx0Zm9udC1zaXplOiAxLjhyZW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDNweCAxMHB4IDRweDtcblx0bWFyZ2luLWxlZnQ6MjBweDtcblx0Zm9udC1mYW1pbHk6JGFjY3VtZW47XG4gIH1cbn1cblxuLmZlYXQtaW1hZ2Uge1xuICA+IGRpdiB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiA1MHJlbTtcblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYXJnZS1kb3duKSB7XG5cdCAgaGVpZ2h0OiBhdXRvO1xuXHQgIG1pbi1oZWlnaHQ6IDA7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXHQgIGhlaWdodDogYXV0bztcblx0fVxuICB9XG59XG4uaGVhZGVyLWJnIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG4gIHJpZ2h0OjA7XG4gIGJvdHRvbTowO1xuICB6LWluZGV4OiAtMTAxO1xufVxuLmZlYXQtdmlkZW8ge1xuXG4gID4gZGl2IHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtbGFyZ2UtZG93bikge1xuXHQgIGhlaWdodDogYXV0bztcblx0ICBtaW4taGVpZ2h0OiAwO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRiaWdTY3JlZW4pIHtcblxuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbFNjcmVlbikge1xuXG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYXJnZS1kb3duKSB7XG5cblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cblx0fVxuICB9XG59XG5cbiNoZWFkZXItdmlkZW8ge1xuXHRkaXNwbGF5Om5vbmU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOjA7XG4gIHRvcDowO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogLTEwMDtcbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYXJnZS1kb3duKSB7XG5cdGhlaWdodDogMTAwJTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5vYmplY3QtZml0ICNoZWFkZXItdmlkZW8ge1xuXHRkaXNwbGF5OmJsb2NrO1xufVxuI2hlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjE7XG4gIHRvcDogMDtcblx0LmltYWdlLWF0dHJpYnV0aW9uIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdGJvdHRvbToxcmVtO1xuXHRcdHJpZ2h0OjJyZW07XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuXG4udG9wLW1lbnUtcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMzFweDtcbiAgdWwubWVudSB7XG5cdG1hcmdpbi1yaWdodDogMzBweDtcblx0bWFyZ2luLXRvcDogMnB4O1xuXHRhIHtcblx0ICBmb250LXNpemU6IDEzcHg7XG5cdCAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG5cdH1cbiAgfVxufVxuXG4uZmVhdC1pbWFnZSwgLmZlYXQtaGVhZGVyIHtcbiAgLmhlYWRlci1yb3cge1xuXHRtYXJnaW46IDUwcHggMCAxMDBweDtcblx0aDEge1xuXHQgIGNvbG9yOiAkd2hpdGU7XG5cdH1cblx0cCB7XG5cdCAgY29sb3I6ICR3aGl0ZTtcblx0fVxuICB9XG59XG5cbi5mZWF0LXZpZGVvIHtcbiAgLmhlYWRlci1yb3cge1xuXHRtYXJnaW46IDE1cmVtIDAgNy41cmVtO1xuXHRoMSB7XG5cdCAgY29sb3I6ICR3aGl0ZTtcblx0fVxuXHRwIHtcblx0ICBjb2xvcjogJHdoaXRlO1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRiaWdTY3JlZW4pIHtcblxuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCRzbWFsbFNjcmVlbikge1xuXHQgIG1hcmdpbjogMCAwIDVyZW07XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYXJnZS1kb3duKSB7XG5cdCAgbWFyZ2luOiAxcmVtIDAgNXJlbTtcblxuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0ICBtYXJnaW46IDFyZW0gMCA3LjVyZW07XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXHQgIG1hcmdpbjogMCAwIDJyZW07XG5cblx0fVxuICB9XG59XG5cbi5oZWFkZXItcm93IHtcbiAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgYS5hY3Rpb24tYnV0dG9uIHtcblx0QGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAzLjIpO1xuXHRmb250LWZhbWlseTogJGFjY3VtZW47XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDAgMTZweDtcbiAgfVxuICBoMSB7XG5cdGNvbG9yOiAkdGV4dEdyZXk7XG5cdGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZvbnQtc2l6ZTogNjBweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICBwIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Zm9udC13ZWlnaHQ6IDIwMDtcblx0Zm9udC1zaXplOiAxLjdyZW07XG5cdGxpbmUtaGVpZ2h0OiAyO1xuXHRjb2xvcjogJHRleHRHcmV5O1xuXHRmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICB9XG5cdHVsIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcblx0XHRtYXJnaW46IC0ycmVtIDAgMi41cmVtIDEuNXJlbTtcblx0XHRmb250LWZhbWlseTogJG9wZW5TYW5zO1xuXHRcdGxpIHtcblx0XHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZToxLjJyZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOjFyZW07XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5oZWFkZXItd3JhcCB7XG5cblx0LmhlYWRlci1yaWdodCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1kb3duKSB7XG5cdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LnRvcC1tZW51LXJvdyB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1kb3duKSB7XG5cdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0fVxuXHR9XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgTkFWXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLm1lbnUtaGVhZGVyLWNvbnRhaW5lciB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLm5vLWZlYXQge1xuICBwYWRkaW5nLWJvdHRvbTo0MHB4O1xuICAuaGVhZGVyLXJpZ2h0IHtcblx0YS5hY3Rpb24tYnV0dG9uIHtcblx0ICBjb2xvcjogJGJnTWVudURhcms7XG5cdCAgYm9yZGVyLWNvbG9yOiAkYmdNZW51RGFyaztcblx0fVxuICB9XG4gIC5jdXN0b20taGVhZGVyLWNvbnRhaW5lciB7XG5cdG5hdiNtYWluLW5hdmlnYXRpb24gdWwubWVudSwgdWwubWVudSB7XG5cdCAgbGkge1xuXHRcdCY6aG92ZXIsICYuYWN0aXZlIHtcblx0XHQgIGJhY2tncm91bmQ6ICRiZ01lbnVEYXJrO1xuXHRcdH1cblx0ICB9XG5cdCAgYSB7XG5cdFx0Y29sb3I6ICR0ZXh0TWVudURhcms7XG5cdCAgfVxuXHQgIGE6aG92ZXIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0YmFja2dyb3VuZDogJGJnTWVudURhcms7XG5cdCAgfVxuXHQgIHVsIHtcblx0XHRiYWNrZ3JvdW5kOiAkYmdNZW51RGFyazsgLyogQWRkaW5nIGEgYmFja2dyb3VuZCBtYWtlcyB0aGUgZHJvcGRvd24gd29yayBwcm9wZXJseSBpbiBJRTcrLiBNYWtlIHRoaXMgYXMgY2xvc2UgdG8geW91ciBwYWdlJ3MgYmFja2dyb3VuZCBhcyBwb3NzaWJsZSAoaS5lLiB3aGl0ZSBwYWdlID09IHdoaXRlIGJhY2tncm91bmQpLiAqL1xuXHQgIH1cblx0ICB1bCBsaSB7XG5cdFx0YmFja2dyb3VuZDogJGJnTWVudURhcms7XG5cdCAgfVxuXHQgIGxpOmhvdmVyIGEsIGxpLmFjdGl2ZSBhIHsgLyogVGhlc2UgY3JlYXRlIHBlcnNpc3RlbnQgaG92ZXIgc3RhdGVzLCBtZWFuaW5nIHRoZSB0b3AtbW9zdCBsaW5rIHN0YXlzICdob3ZlcmVkJyBldmVuIHdoZW4geW91ciBjdXJzb3IgaGFzIG1vdmVkIGRvd24gdGhlIGxpc3QuICovXG5cdFx0YmFja2dyb3VuZDogJGJnTWVudURhcms7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0ICB9XG5cdCAgbGk6aG92ZXIgLmR1bW15LWl0ZW0sIGxpLmFjdGl2ZSAuZHVtbXktaXRlbSB7XG5cdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdD4gYSB7XG5cdFx0ICBjb2xvcjogJHRleHRNZW51RGFyaztcblx0XHQgIGN1cnNvcjogZGVmYXVsdDtcblx0XHQgICY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICR0ZXh0TWVudURhcms7XG5cdFx0ICB9XG5cdFx0fVxuXHQgIH1cblx0ICBsaTpob3ZlciB1bCBhLCBsaS5hY3RpdmUgdWwgYSB7IC8qIFRoZSBwZXJzaXN0ZW50IGhvdmVyIHN0YXRlIGRvZXMgaG93ZXZlciBjcmVhdGUgYSBnbG9iYWwgc3R5bGUgZm9yIGxpbmtzIGV2ZW4gYmVmb3JlIHRoZXkncmUgaG92ZXJlZC4gSGVyZSB3ZSB1bmRvIHRoZXNlIGVmZmVjdHMuICovXG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0ICB9XG5cdCAgbGk6aG92ZXIgdWwgbGkgYTpob3ZlciwgbGkuYWN0aXZlIHVsIGxpIGE6aG92ZXIgeyAvKiBIZXJlIHdlIGRlZmluZSB0aGUgbW9zdCBleHBsaWNpdCBob3ZlciBzdGF0ZXMtLXdoYXQgaGFwcGVucyB3aGVuIHlvdSBob3ZlciBlYWNoIGluZGl2aWR1YWwgbGluay4gKi9cblx0XHRjb2xvcjogJHRleHRNZW51RGFyaztcblx0ICB9XG5cdH1cbiAgfVxufVxuXG4uY3VzdG9tLWhlYWRlci1jb250YWluZXIge1xuICBuYXYjbWFpbi1uYXZpZ2F0aW9uIHVsLm1lbnUsIHVsLm1lbnUge1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHQvKiBDbGVhciBmbG9hdHMgKi9cblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiAxMDAlO1xuXHQvKiBCcmluZyB0aGUgbmF2IGFib3ZlIGV2ZXJ5dGhpbmcgZWxzZS0tdW5jb21tZW50IGlmIG5lZWRlZC5cblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6NTtcblx0Ki9cblx0bGkge1xuXHQgIGZsb2F0OiBsZWZ0O1xuXHQgIG1hcmdpbi1yaWdodDogMTBweDtcblx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgJjpob3ZlciwgJi5hY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0ICB9XG5cdCAgcGFkZGluZy1ib3R0b206IDA7XG5cdCAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0ICB9XG5cdH1cblx0PiBsaTpsYXN0LWNoaWxkIHtcblx0ICBtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cblx0YSB7XG5cdCAgZGlzcGxheTogYmxvY2s7XG5cdCAgcGFkZGluZzogN3B4IDEwcHg7XG5cdCAgY29sb3I6ICNmZmY7XG5cdCAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQgIGZvbnQtc2l6ZTogMTRweDtcblx0ICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuXHR9XG5cdGE6aG92ZXIge1xuXHQgIGNvbG9yOiAkdGV4dEFjdGl2ZTtcblx0ICBiYWNrZ3JvdW5kOiAjZmZmO1xuXHR9XG5cdD4gbGkge1xuXHQgID4gdWwge1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7IC8qIEFkZGluZyBhIGJhY2tncm91bmQgbWFrZXMgdGhlIGRyb3Bkb3duIHdvcmsgcHJvcGVybHkgaW4gSUU3Ky4gTWFrZSB0aGlzIGFzIGNsb3NlIHRvIHlvdXIgcGFnZSdzIGJhY2tncm91bmQgYXMgcG9zc2libGUgKGkuZS4gd2hpdGUgcGFnZSA9PSB3aGl0ZSBiYWNrZ3JvdW5kKS4gKi9cblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAtOTk5OXB4OyAvKiBIaWRlIG9mZi1zY3JlZW4gd2hlbiBub3QgbmVlZGVkICh0aGlzIGlzIG1vcmUgYWNjZXNzaWJsZSB0aGFuIGRpc3BsYXk6bm9uZTspICovXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0ei1pbmRleDogOTk5O1xuXHRcdHBhZGRpbmc6IDEwcHggMDtcblx0ICB9XG5cblx0fVxuXHR1bCBsaSB7XG5cdCAgYmFja2dyb3VuZDogI2ZmZjtcblx0ICBwYWRkaW5nOiA4cHggMDtcblx0ICBmbG9hdDogbm9uZTtcblx0ICAmLmR1bW15LWl0ZW0ge1xuXHRcdD4gYSB7XG5cdFx0ICBjb2xvcjogIzlkOWQ5ZDtcblx0XHQgIGN1cnNvcjogZGVmYXVsdDtcblx0XHQgICY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICM5ZDlkOWQ7XG5cdFx0ICB9XG5cdFx0fVxuXHQgIH1cblx0fVxuXHR1bCBhIHtcblx0ICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiBTdG9wIHRleHQgd3JhcHBpbmcgYW5kIGNyZWF0aW5nIG11bHRpLWxpbmUgZHJvcGRvd24gaXRlbXMgKi9cblx0ICBwYWRkaW5nOiAwIDYzcHggMCAxNXB4O1xuXHQgIGZvbnQtc2l6ZTogMTNweDtcblx0ICBjb2xvcjogJHRleHRHcmV5O1xuXHQgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtbGFyZ2UtZG93bikge1xuXHRcdGhlaWdodDphdXRvO1xuXHRcdHBhZGRpbmc6IDAgMTBweCAwIDE1cHg7XG5cdCAgfVxuXHR9XG5cdGxpOmhvdmVyIC5kdW1teS1pdGVtLCBsaS5hY3RpdmUgLmR1bW15LWl0ZW0ge1xuXHQgIHBhZGRpbmc6IDEwcHggMDtcblx0ICA+IGEge1xuXHRcdGNvbG9yOiAjOWQ5ZDlkO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHQmOmhvdmVyIHtcblx0XHQgIGNvbG9yOiAjOWQ5ZDlkO1xuXHRcdH1cblx0ICB9XG5cdH1cblx0bGk6aG92ZXIgdWwsIGxpLmFjdGl2ZSB1bCB7IC8qIERpc3BsYXkgdGhlIGRyb3Bkb3duIG9uIGhvdmVyICovXG5cdCAgbGVmdDogMDsgLyogQnJpbmcgYmFjayBvbi1zY3JlZW4gd2hlbiBuZWVkZWQgKi9cblx0fVxuXHRsaTpob3ZlciBhLCBsaS5hY3RpdmUgYSB7IC8qIFRoZXNlIGNyZWF0ZSBwZXJzaXN0ZW50IGhvdmVyIHN0YXRlcywgbWVhbmluZyB0aGUgdG9wLW1vc3QgbGluayBzdGF5cyAnaG92ZXJlZCcgZXZlbiB3aGVuIHlvdXIgY3Vyc29yIGhhcyBtb3ZlZCBkb3duIHRoZSBsaXN0LiAqL1xuXHQgIGJhY2tncm91bmQ6ICNmZmY7XG5cdCAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQgIGNvbG9yOiAkdGV4dEFjdGl2ZTtcblx0fVxuXHRsaTpob3ZlciB1bCBhLCBsaS5hY3RpdmUgdWwgYSB7IC8qIFRoZSBwZXJzaXN0ZW50IGhvdmVyIHN0YXRlIGRvZXMgaG93ZXZlciBjcmVhdGUgYSBnbG9iYWwgc3R5bGUgZm9yIGxpbmtzIGV2ZW4gYmVmb3JlIHRoZXkncmUgaG92ZXJlZC4gSGVyZSB3ZSB1bmRvIHRoZXNlIGVmZmVjdHMuICovXG5cdCAgY29sb3I6ICR0ZXh0TWVudTtcblx0fVxuXHRsaTpob3ZlciB1bCBsaSBhOmhvdmVyLCBsaS5hY3RpdmUgdWwgbGkgYTpob3ZlciB7IC8qIEhlcmUgd2UgZGVmaW5lIHRoZSBtb3N0IGV4cGxpY2l0IGhvdmVyIHN0YXRlcy0td2hhdCBoYXBwZW5zIHdoZW4geW91IGhvdmVyIGVhY2ggaW5kaXZpZHVhbCBsaW5rLiAqL1xuXHQgIGNvbG9yOiAkdGV4dEFjdGl2ZTtcblx0fVxuXG4gIH1cbn0iLCIkbWVudVdpZHRoOiAyNTBweDtcbi8qKlxuICogTWVudSBvdmVydmlldy5cbiAqL1xuLm1lbnUtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldC1kb3duKSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZy1yaWdodDogMi41cmVtO1xuXHRjb2xvcjogI2ZmZjtcblx0QGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjYpO1xuXHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvbWVudS1pY29uLnBuZykgcmlnaHQgOXB4IG5vLXJlcGVhdDtcbn1cblxuLm5vLWZlYXQge1xuICAubWVudS10b2dnbGUge1xuXHRjb2xvcjogIzI2MjYyNjtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9tZW51LWljb24tY2xvc2UucG5nKTtcbiAgfVxufVxuXG4uYy1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAubWVudS1oZWFkZXItY29udGFpbmVyIHtcblx0cGFkZGluZzogMS41cmVtIDFyZW07XG5cdGZsb2F0OiBub25lO1xuXHRhIHtcblx0ICBjb2xvcjogIzI2MjYyNjtcblx0ICBmb250LXNpemU6IDEuNnJlbTtcblx0ICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuXHQgIGxpbmUtaGVpZ2h0OiAyLjI7XG5cdH1cblx0dWwgbGkgdWwge1xuXHQgIGxpIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1hZ2VzL21vYmlsZS1tZW51LWFycm93LnBuZykgbGVmdCAxM3B4IG5vLXJlcGVhdDtcblx0XHRwYWRkaW5nOiAxcmVtIDEuMnJlbTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDdweCA3cHg7XG5cdCAgfVxuXHQgIGxpLmR1bW15LWl0ZW0ge1xuXHRcdGJhY2tncm91bmQ6bm9uZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdCAgfVxuXHQgIGEge1xuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRcdGNvbG9yOiAjNzM3MzczO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0Lypcblx0XHQmOmJlZm9yZSB7XG5cdFx0ICBjb250ZW50OiBcIlxcZjE3OFwiO1xuXHRcdCAgZm9udC1mYW1pbHk6XCJGb250QXdlc29tZVwiO1xuXHRcdCAgZm9udC13ZWlnaHQ6bGlnaHRlcjtcblx0XHR9XG5cdFx0Ki9cblx0ICB9XG5cdH1cbiAgfVxufVxuXG4uYy1tZW51X19pdGVtcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBDbG9zZSBidXR0b24gcmVzZXRzLlxuICovXG4uYy1tZW51X19jbG9zZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI2MjYyNjtcbn1cblxuLyoqXG4gKiBDbG9zZSBidXR0b24gcmVzZXRzLlxuICovXG4uYy1tZW51X19jbG9zZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qKlxuICogQm9keSBzdGF0ZXMuXG4gKlxuICogV2hlbiBhIG1lbnUgaXMgYWN0aXZlLCB3ZSB3YW50IHRvIGhpZGUgdGhlIG92ZXJmbG93cyBvbiB0aGUgYm9keSB0byBwcmV2ZW50XG4gKiBhd2t3YXJkIGRvY3VtZW50IHNjcm9sbGluZy5cbiAqL1xuYm9keS5oYXMtYWN0aXZlLW1lbnUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKipcbiAqIE1hc2sgY29tcG9uZW50XG4gKi9cblxuLmMtbWFzayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgd2lkdGggMHMgMC4zcywgaGVpZ2h0IDBzIDAuM3M7XG59XG5cbi5jLW1hc2suaXMtYWN0aXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMC43O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG5cbi5jLW1lbnUtLXNsaWRlLWxlZnQsXG4uYy1tZW51LS1zbGlkZS1yaWdodCxcbi5jLW1lbnUtLXB1c2gtbGVmdCxcbi5jLW1lbnUtLXB1c2gtcmlnaHQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC5jLW1lbnUtLXNsaWRlLWxlZnQsXG4gIC5jLW1lbnUtLXNsaWRlLXJpZ2h0LFxuICAuYy1tZW51LS1wdXNoLWxlZnQsXG4gIC5jLW1lbnUtLXB1c2gtcmlnaHQge1xuXHR3aWR0aDogJG1lbnVXaWR0aDtcbiAgfVxufVxuXG4uYy1tZW51LS1zbGlkZS1sZWZ0IC5jLW1lbnVfX2l0ZW0sXG4uYy1tZW51LS1zbGlkZS1yaWdodCAuYy1tZW51X19pdGVtLFxuLmMtbWVudS0tcHVzaC1sZWZ0IC5jLW1lbnVfX2l0ZW0sXG4uYy1tZW51LS1wdXNoLXJpZ2h0IC5jLW1lbnVfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2I1ZGJlOTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzMTg0YTE7XG59XG5cbi5jLW1lbnUtLXNsaWRlLWxlZnQgLmMtbWVudV9faXRlbTpmaXJzdC1jaGlsZCxcbi5jLW1lbnUtLXNsaWRlLXJpZ2h0IC5jLW1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQsXG4uYy1tZW51LS1wdXNoLWxlZnQgLmMtbWVudV9faXRlbTpmaXJzdC1jaGlsZCxcbi5jLW1lbnUtLXB1c2gtcmlnaHQgLmMtbWVudV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5jLW1lbnUtLXNsaWRlLWxlZnQgLmMtbWVudV9faXRlbTpsYXN0LWNoaWxkLFxuLmMtbWVudS0tc2xpZGUtcmlnaHQgLmMtbWVudV9faXRlbTpsYXN0LWNoaWxkLFxuLmMtbWVudS0tcHVzaC1sZWZ0IC5jLW1lbnVfX2l0ZW06bGFzdC1jaGlsZCxcbi5jLW1lbnUtLXB1c2gtcmlnaHQgLmMtbWVudV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmMtbWVudS0tc2xpZGUtbGVmdCAuYy1tZW51X19saW5rLFxuLmMtbWVudS0tc2xpZGUtcmlnaHQgLmMtbWVudV9fbGluayxcbi5jLW1lbnUtLXB1c2gtbGVmdCAuYy1tZW51X19saW5rLFxuLmMtbWVudS0tcHVzaC1yaWdodCAuYy1tZW51X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEycHggMjRweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jLW1lbnUtLXNsaWRlLWxlZnQgLmMtbWVudV9fY2xvc2UsXG4uYy1tZW51LS1zbGlkZS1yaWdodCAuYy1tZW51X19jbG9zZSxcbi5jLW1lbnUtLXB1c2gtbGVmdCAuYy1tZW51X19jbG9zZSxcbi5jLW1lbnUtLXB1c2gtcmlnaHQgLmMtbWVudV9fY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTJweCAyNHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtbWVudS0tc2xpZGUtbGVmdCxcbi5jLW1lbnUtLXB1c2gtbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLmMtbWVudS0tc2xpZGUtbGVmdCxcbiAgLmMtbWVudS0tcHVzaC1sZWZ0IHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kbWVudVdpZHRoKTtcbiAgfVxufVxuXG4uYy1tZW51LS1zbGlkZS1sZWZ0LmlzLWFjdGl2ZSxcbi5jLW1lbnUtLXB1c2gtbGVmdC5pcy1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59IiwiLmhic3B0LWZvcm0ge1xuICBsYWJlbCB7XG5cdGZvbnQtc2l6ZToxLjRyZW07XG4gIH1cbiAgbGVnZW5kIHtcblx0Zm9udC1zaXplOjEuMnJlbTtcbiAgfVxuICBzZWxlY3Qge1xuXHRmb250LXNpemU6MS40cmVtO1xuICB9XG59IiwiLmVudHJ5LWNvbnRlbnQgaW1nIHtcbiAgbWFyZ2luOiAwIDAgJGJhc2UtcGFkZGluZyAvIDIgMDtcbn1cbi5hbGlnbmxlZnQsIGltZy5hbGlnbmxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRiYXNlLXBhZGRpbmcgLyAyO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmFsaWducmlnaHQsIGltZy5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRiYXNlLXBhZGRpbmcgLyAyO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5hbGlnbmNlbnRlciwgaW1nLmFsaWduY2VudGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufVxuLmFsaWdubm9uZSwgaW1nLmFsaWdubm9uZSB7XG4gIC8qIG5vdCBzdXJlIGFib3V0IHRoaXMgb25lICovXG59XG4ud3AtY2FwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlLXBhZGRpbmcgLyAyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG4ud3AtY2FwdGlvbiBpbWcge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLndwLWNhcHRpb24gcC53cC1jYXB0aW9uLXRleHQge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDEwcHg7XG4gIG1hcmdpbjogMDtcbn1cbi53cC1zbWlsZXkge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMWVtO1xufVxuYmxvY2txdW90ZS5sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkYmFzZS1wYWRkaW5nIC8gMjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB3aWR0aDogMzMlO1xuICBmbG9hdDogbGVmdDtcbn1cbmJsb2NrcXVvdGUucmlnaHQge1xuICBtYXJnaW4tbGVmdDogJGJhc2UtcGFkZGluZyAvIDI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDMzJTtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmdhbGxlcnkgZGwge31cbi5nYWxsZXJ5IGR0IHt9XG4uZ2FsbGVyeSBkZCB7fVxuLmdhbGxlcnkgZGwgYSB7fVxuLmdhbGxlcnkgZGwgaW1nIHt9XG4uZ2FsbGVyeS1jYXB0aW9uIHt9XG5cbi5zaXplLWZ1bGwge31cbi5zaXplLWxhcmdlIHt9XG4uc2l6ZS1tZWRpdW0ge31cbi5zaXplLXRodW1ibmFpbCB7fSIsInNlY3Rpb24uZnctbWFpbi1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygncGFkZGluZycsIDQsIDAsIDApO1xuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cdEBpbmNsdWRlIHJlbS1mYWxsYmFjaygncGFkZGluZycsIDUsIDApO1xuICB9XG5cbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbn1cblxuZGl2LmZ3LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cdEBpbmNsdWRlIHJlbS1mYWxsYmFjaygncGFkZGluZycsIDAsIDIpO1xuICB9XG59XG5cbi5mdy1yb3cubWFyZ2luLWJvdHRvbSB7XG4gIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnbWFyZ2luLWJvdHRvbScsIDMpO1xufVxuXG4uYmctY29sb3Ige1xuICAmLndoaXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4uZnctbG9nby1ncmlkIHtcbiAgLmZ3LXJvdyB7XG5cdEBpbmNsdWRlIHJvdyh0YWJsZSk7XG5cdHBhZGRpbmctYm90dG9tOiA2cmVtO1xuXHQgICY6bGFzdC1jaGlsZCB7XG5cdFx0ICBwYWRkaW5nLWJvdHRvbTo0cmVtO1xuXHQgIH1cblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XG5cdCAgLmZ3LWNvbC1zbS0jeyRpfSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKCRpKTtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRwYWRkaW5nOiAwcmVtIDNyZW07XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRpbWcge1xuXHRcdCAgbWFyZ2luOiAwIGF1dG87XG5cdFx0fVxuXHRcdC8vIE1vYmlsZSBzdGFja1xuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0XHQgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG5cdFx0fVxuXHQgIH1cblx0fVxuICB9XG59XG4vKiovXG5AaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gIGJvZHkge1xuICAuZnctY29sLXhzLTEsIC5mdy1jb2wtc20tMSwgLmZ3LWNvbC1tZC0xLCAuZnctY29sLWxnLTEsIC5mdy1jb2wteHMtMiwgLmZ3LWNvbC1zbS0yLCAuZnctY29sLW1kLTIsIC5mdy1jb2wtbGctMiwgLmZ3LWNvbC14cy0zLCAuZnctY29sLXNtLTMsIC5mdy1jb2wtbWQtMywgLmZ3LWNvbC1sZy0zLCAuZnctY29sLXhzLTQsIC5mdy1jb2wtc20tNCwgLmZ3LWNvbC1tZC00LCAuZnctY29sLWxnLTQsIC5mdy1jb2wteHMtNSwgLmZ3LWNvbC1zbS01LCAuZnctY29sLW1kLTUsIC5mdy1jb2wtbGctNSwgLmZ3LWNvbC14cy02LCAuZnctY29sLXNtLTYsIC5mdy1jb2wtbWQtNiwgLmZ3LWNvbC1sZy02LCAuZnctY29sLXhzLTcsIC5mdy1jb2wtc20tNywgLmZ3LWNvbC1tZC03LCAuZnctY29sLWxnLTcsIC5mdy1jb2wteHMtOCwgLmZ3LWNvbC1zbS04LCAuZnctY29sLW1kLTgsIC5mdy1jb2wtbGctOCwgLmZ3LWNvbC14cy05LCAuZnctY29sLXNtLTksIC5mdy1jb2wtbWQtOSwgLmZ3LWNvbC1sZy05LCAuZnctY29sLXhzLTEwLCAuZnctY29sLXNtLTEwLCAuZnctY29sLW1kLTEwLCAuZnctY29sLWxnLTEwLCAuZnctY29sLXhzLTExLCAuZnctY29sLXNtLTExLCAuZnctY29sLW1kLTExLCAuZnctY29sLWxnLTExLCAuZnctY29sLXhzLTEyLCAuZnctY29sLXNtLTEyLCAuZnctY29sLW1kLTEyLCAuZnctY29sLWxnLTEyLCAuZnctY29sLXhzLTE1LCAuZnctY29sLXNtLTE1LCAuZnctY29sLW1kLTE1LCAuZnctY29sLWxnLTE1IHtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIH1cbn0iLCJib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4uaG9tZSB7XG4gICNtYWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG4gIC5oZWFkZXItcm93IHtcbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ2ZvbnQtc2l6ZScsIDcpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ2ZvbnQtc2l6ZScsIDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaG9tZS1jaXRhdGlvbnMge1xuICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ2ZvbnQtc2l6ZScsIDEuNik7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgcCB7XG4gICAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjYpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2NpdGF0aW9uLnBuZyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtNjBweDtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgIH1cbiAgfVxuICBhZGRyZXNzIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ2ZvbnQtc2l6ZScsIDEuNCk7XG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmxlZnQtcXVvdGUsIC5yaWdodC1xdW90ZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkM2M2MDtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDYuNnJlbSA3cmVtIDYuMnJlbSA4LjhyZW07XG4gICAgLnF1b3RlLWlubmVyIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAucXVvdGUtaW5uZXIge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnJpZ2h0LXF1b3RlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEzMzUzO1xuICAgIC5xdW90ZS1pbm5lciB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ob21lLWNvbnRlbnQtbGlzdCB7XG4gIHBhZGRpbmc6IDkwcHggMCA5MHB4O1xuICAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRkYXJrR3JleTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFya0dyZXk7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAxLjQpO1xuICB9XG4gIGgyIHtcbiAgICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgIGZvbnQtc2l6ZTogJGZvbnRCYXNlU2l6ZTtcbiAgICBjb2xvcjogJGRhcmtHcmV5O1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgdWwge1xuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICR0ZXh0R3JleTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRocmVhdC1saXN0IHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAzOHB4O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaWNvbi1waWUucG5nKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNjBweDtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaWNvbi1zaGllbGQucG5nKTtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ljb24tZXllLnBuZyk7XG4gICAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNvYy1saXN0IHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaWNvbi1yYWRhci5wbmcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC02MHB4O1xuICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pY29uLXN0b3B3YXRjaC5wbmcpO1xuICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgIGhlaWdodDogNDVweDtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaWNvbi1nbG9iZS5wbmcpO1xuICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgIGhlaWdodDogMzdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jZm9vdGVyLXdyYXAge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvYmdfZm9vdGVyLmpwZykgbm8tcmVwZWF0IGxlZnQgdG9wO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4jZm9vdGVyLXdpZGdldHMge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgLndpZGdldC1oZWFkaW5nIHtcbiAgICBoNiB7XG4gICAgICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICAgICAgY29sb3I6ICNCNUJGQzg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG4gICAgfVxuICB9XG4gIC5tZW51IHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gICAgPiBsaSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3ViLW1lbnUge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgbGkge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnRCYXNlU2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNjb3B5cmlnaHQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xuICBwYWRkaW5nOiA1NXB4IDAgNjBweDtcbiAgQGluY2x1ZGUgbWF4LXNjcmVlbigxMzAwcHgpIHtcbiAgICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ3BhZGRpbmcnLCA1LCAyKTtcbiAgfVxuICBuYXYgLm1lbnUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBsaSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuU2FucztcbiAgICAgICAgZm9udC1zaXplOiAkZm9udEJhc2VTaXplO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgbWFyZ2luOiAwIDEycHg7XG5cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBwIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkb3BlblNhbnM7XG4gICAgZm9udC1zaXplOiAkZm9udEJhc2VTaXplO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbiNtYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgLmFjdGlvbi1idXR0b24ge1xuICAgIGNvbG9yOiAkdGV4dEdyZXk7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGV4dEdyZXk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmhhcy1mZWVkcyB7XG4gICNtYWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG59XG5cbiNjb250ZW50IHtcbiAgaDEge1xuICAgIGNvbG9yOiAkdGV4dEdyZXk7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGFjY3VtZW47XG4gIH1cbiAgaDIge1xuICAgIGNvbG9yOiAkdGV4dEdyZXk7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG4gIGgzIHtcbiAgICBjb2xvcjogJHRleHRHcmV5O1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBmb250LWZhbWlseTogJGFjY3VtZW47XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuICBoNCB7XG4gICAgY29sb3I6ICR0ZXh0R3JleTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC1mYW1pbHk6ICRhY2N1bWVuO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBwIHtcbiAgICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICAgIGZvbnQtc2l6ZTogJGZvbnRCYXNlU2l6ZTtcbiAgICBjb2xvcjogJHRleHRHcmV5O1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICYuaW5ncmVzcyB7XG4gICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgIGZvbnQtc2l6ZTogJGluZ3Jlc3NTaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICB9XG4gIH1cbiAgLmFjdGlvbi1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcbiAgICBjb2xvcjogJHRleHRHcmV5O1xuICAgIGJvcmRlci1jb2xvcjogJHRleHRHcmV5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdmb250LXNpemUnLCAzLjIpO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuXG4gIH1cbn0iLCIuaG9tZSB7XG4gIC5mdy1wYWdlLWJ1aWxkZXItY29udGVudCB7XG4gICAgQGluY2x1ZGUgcmVtLWZhbGxiYWNrKCdwYWRkaW5nLXRvcCcsIDUpO1xuICB9XG4gIHNlY3Rpb24uZnctbWFpbi1yb3cge1xuICAgIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygncGFkZGluZycsIDMsIDAsIDApO1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygncGFkZGluZycsIDUsIDApO1xuICAgIH1cbiAgfVxuXG4gIGRpdi5mdy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oMTEyMHB4KSB7XG4gICAgICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ3BhZGRpbmcnLCAwLCAyKTtcbiAgICB9XG4gIH1cblxuICAuZnctcm93Lm1hcmdpbi1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnbWFyZ2luLWJvdHRvbScsIDMpO1xuICB9XG4gIC5wcmVoZWFkZXIge1xuICAgIEBpbmNsdWRlIHJlbS1mYWxsYmFjaygnbWFyZ2luJywgMCwgMCwgMik7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgIH1cbiAgfVxuICAuaW50cm8tYm94IHtcbiAgICAuY29udGVudC1ib3gge1xuICAgICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6Mi42cmVtO2xpbmUtaGVpZ2h0OjEuMjtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJG9wZW5TYW5zO1xuICAgICAgICAgIGZvbnQtc2l6ZToxLjhyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTo0cmVtO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6MS44cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjpzdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmludHJvLWFyZWEge1xuICAgIHBhZGRpbmc6IDQuNXJlbSAwIDZyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkb3BlblNhbnM7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOjZyZW07XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkb3BlblNhbnM7XG4gICAgICBmb250LXNpemU6IDMuN3JlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOjRyZW07XG4gICAgfVxuICAgIC5pbnRyby1ib3gge1xuICAgICAgcGFkZGluZzogMi44cmVtIDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkb3BlblNhbnM7XG4gICAgICAgIGZvbnQtc2l6ZToxLjhyZW07XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDo5LjJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5idXNpbmVzcy1hcmVhcyB7XG4gICAgcGFkZGluZzogNS44cmVtIDAgNS41cmVtO1xuICAgIC5pbnRyby1ib3gge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgICAgICBoZWlnaHQ6NHJlbTtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOjJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6Mi4xcmVtO1xuICAgICAgICBmb250LWZhbWlseTokb3BlblNhbnM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b21lci1saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgICBwYWRkaW5nOiA4cmVtO1xuICAgIGgyIHtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICRvcGVuU2FucztcbiAgICAgIGZvbnQtc2l6ZTozcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206NC44cmVtO1xuICAgIH1cbiAgfVxuICAuc2Mge1xuICAgIHBhZGRpbmc6IDUuNHJlbSAwIDA7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOjUuMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206MS43cmVtO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6Mi4xcmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICRvcGVuU2FucztcbiAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgIGNvbG9yOiMzMDMwMzA7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuICB9XG4gIC5zcG90IGgyIHtcbiAgICBAaW5jbHVkZSByZW0tZmFsbGJhY2soJ21hcmdpbi1ib3R0b20nLCAzKTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgLmFjdGlvbi1idXR0b24ge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWNjdW1lbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICB9XG4gICAgLmhic3B0LWZvcm0ge1xuICAgICAgLy9kaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgIC5jdXN0b21lci1saXN0IHtcbiAgICAgIHBhZGRpbmc6MnJlbTtcbiAgICB9XG4gICAgLmludHJvLWFyZWEgLmludHJvLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOjRyZW07XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuYnVzaW5lc3MtYXJlYXMge1xuICAgICAgcGFkZGluZzogNS44cmVtIDJyZW0gNS41cmVtO1xuXG4gICAgICAuaW50cm8tYm94IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo0cmVtO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucGFnZS10ZW1wbGF0ZS10cGwtcmZ1biB7XG4gICRjb2xvci1ibGFjazogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAvKlxuICAuaGVhZGVyLXJvdyBhLmFjdGlvbi1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiRvcGVuU2FucztcbiAgICBjb2xvcjogcmdiYSgxOCw1Miw4MiwxKTtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIGZvbnQtc2l6ZToxLjhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBwYWRkaW5nOjEuMnJlbSAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6M3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDMwcHggcmdiYSgwLDAsMCwwLjMpO1xuICB9Ki9cbiAgI21haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgLnJmdW4tZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyAvKiBvciBpbmxpbmUtZmxleCAqL1xuICAgIH1cbiAgICAuc3RpY2t5LW1lbnUge1xuICAgICAgcGFkZGluZy10b3A6IDguN3JlbTtcbiAgICB9XG4gICAgLmxlZnQtbWVudSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGMkYyRjI7XG4gICAgICB3aWR0aDozMSU7XG4gICAgICAubWVudS1jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDoxMHJlbTtcbiAgICAgIH1cbiAgICAgIC5hbmNob3ItbWVudSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDoxNXB4O1xuICAgICAgICBtYXJnaW46NXJlbSAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6JG9wZW5TYW5zO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDE4LDUyLDgyLDAuNSk7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDE4LDUyLDgyLDEpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjI0cHg7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICAgICAgaGVpZ2h0OjJweDtcbiAgICAgICAgICAgICAgd2lkdGg6Mi43cmVtO1xuICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LDUyLDgyLDAuMik7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206MTJweDtcbiAgICAgICAgICAgICAgbGVmdDotMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgxOCw1Miw4MiwxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8qXG4gICAgICAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRvcGVuU2FucztcbiAgICAgICAgY29sb3I6I0ZGRjtcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgZm9udC1zaXplOjEuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOCw1Miw4MiwxKTtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIHBhZGRpbmc6MS44cmVtIDIuNHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czozcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDMwcHggcmdiYSgwLDAsMCwwLjMpO1xuICAgICAgfSovXG4gICAgfVxuICAgICNjb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDZyZW0gOHJlbTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzQ3N2RjYTtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50LWJveCB7XG4gICAgICAgIHdpZHRoOjcxNXB4O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OlwiXCI7XG4gICAgICAgICAgaGVpZ2h0OjE4LjVyZW07XG4gICAgICAgICAgd2lkdGg6MnB4O1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOCw1Miw4MiwwLjIpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OjEuOXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICB9XG4gICAgICAgIG1hcmdpbi1ib3R0b206My4ycmVtO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IHAgPiBpbWcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0Oi0xMDVweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDExNC41JTtcbiAgICAgICAgICB3aWR0aDogMTE0LjUlO1xuICAgICAgICAgIC8vYm94LXNoYWRvdzogMCAycHggMjNweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgbGluZS1oZWlnaHQ6NC40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6JG9wZW5TYW5zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjIuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOjQuOHJlbTtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgZm9udC1mYW1pbHk6JG9wZW5TYW5zO1xuICAgICAgICBmb250LXNpemU6Mi44cmVtO1xuICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjJweDtcbiAgICAgIH1cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6JG9wZW5TYW5zO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOnJnYmEoMjcsNzQsMTEzLDAuNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZToxLjRyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206MC44cmVtO1xuICAgICAgfVxuICAgICAgLmFnZW5kYSB7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOi0ycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRvcGVuU2FucztcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgZm9udC1zaXplOjIuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgbWFyZ2luLXRvcDo0cmVtO1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLXRvcDoycmVtO1xuICAgICAgfVxuICAgICAgZW0geyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDEuNXJlbTsgZm9udC1zdHlsZTogbm9ybWFsOyBvcGFjaXR5OiAuNzsgfVxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206My41cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDowLjhyZW07XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICBmb250LWZhbWlseTokb3BlblNhbnM7XG4gICAgICAgICAgY29sb3I6cmdiYSgwLDAsMCwwLjcpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAtMi41cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MS4ycmVtO1xuXG4gICAgICAgIH1cbiAgICAgICAgbGk6YmVmb3JlIHsgY29udGVudDogJ+KAoic7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1yaWdodDogLjhlbTsgb3BhY2l0eTogLjM7fVxuICAgICAgfVxuICAgICAgLmFnZW5kYSB7XG4gICAgICAgIC5hZ2VuZGEtc3dpdGNoZXIge1xuICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICBoNSB7XG4gICAgICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjIuNXJlbTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI3LCA3NCwgMTEzLCAwLjMpO1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNywgNzQsIDExMywgMC4zKTtcbiAgICAgICAgICAgICAgcGFkZGluZzowLjNyZW0gMS41cmVtIDAuNXJlbTtcbiAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI3LCA3NCwgMTEzLCAwLjUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNywgNzQsIDExMywgMC41KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2U2NDUyYTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6I2U2NDUyYTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojRjJGMkYyO1xuICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIHRleHQtaW5kZW50OjA7XG4gICAgICAgICAgcGFkZGluZzoxLjdyZW0gMy41cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojRkFGQUZBO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaTpiZWZvcmUge2NvbnRlbnQ6bm9uZTsgbWFyZ2luLXJpZ2h0OjA7fVxuICAgICAgfVxuICAgICAgdGFibGUge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDo3NSU7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb250ZW50LWJsb2NrcyB7XG4gICAgICAgIG1hcmdpbi10b3A6M3JlbTtcbiAgICAgIH1cbiAgICAgIC5zcGVha2VyLWJveCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjZyZW07XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAvL2JveC1zaGFkb3c6IDAgMnB4IDIzcHggcmdiYSgwLDAsMCwwLjMpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0Oi0xMDVweDtcbiAgICAgICAgfVxuICAgICAgICBpbWcsIC5zcGVha2VyLWluZm8ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuc3BlYWtlci1pbmZvIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDozcmVtO1xuICAgICAgICAgIHdpZHRoOiA1MjBweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIC5sZWZ0LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgI2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzoyLjRyZW0gMS42cmVtO1xuICAgICAgICAuY29udGVudC1ib3gge1xuICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6NjJweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiBwID4gaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi0xLjZyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAuc3BlYWtlci1ib3gge1xuICAgICAgICAgIC5zcGVha2VyLWluZm8sIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDotMS42cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BlYWtlci1pbmZvIHtcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZToycmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OjIuNnJlbTtcbiAgICAgICAgfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6MS43cmVtO1xuXG4gICAgICAgIH1cbiAgICAgICAgaDUge1xuICAgICAgICAgIGZvbnQtc2l6ZToxLjZyZW07XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOjEuN3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDoyLjJyZW07XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxLjZyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDozcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSJdfQ== */
