@charset "UTF-8";
@font-face {
  font-family: 'LyonDisplay-Light';
  src: url("https://totokaelo.com/skin/frontend/totokaelo/default/fonts/LyonDisplay-Light.otf");
}

@font-face {
  font-family: 'LyonText-Regular';
  src: url("https://totokaelo.com/skin/frontend/totokaelo/default/fonts/LyonText-Regular.otf");
}

/* *******************************
 * CORE TOTOKAELO STYLES
 * VARIABLES AND MIXINS
 * ******************************* */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/*
 * tk-h-times, used for "brand header"
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * CORE TOTOKAELO STYLES
 * VARIABLES AND MIXINS
 * ******************************* */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/*
 * tk-h-times, used for "brand header"
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * CORE TOTOKAELO STYLES
 * VARIABLES AND MIXINS
 * ******************************* */
/* *******************************
 * HEADERS
 * ******************************* */
/*
 * tk-h1 - used for big page headers
 */
/*
 * tk-h2 - used as subheader
 */
/*
 * tk-h3 - used as subheader
 */
/*
 * tk-h4 - quaternary header
 */
/*
 * tk-h5 - used as subheader
 */
/*
 * tk-h-times, used for "brand header"
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/* *******************************
 * LINKS
 * ******************************* */
/*
 * tk-l1 - primary link
 */
/*
 * tk-l2 - secondary link
 */
/*
 * tk-l3 - tertiary link
 */
/*
 * tk-l4 - quaternary link
 */
/*
 * tk-h2 - quinary link
 */
/* *******************************
 * BODY TEXT
 * ******************************* */
/*
 * tk-p1 - primary body text
 */
/*
 * tk-p2 - secondary body text
 */
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

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

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

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

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

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

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
}

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

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

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

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

/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Sets consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

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

/*
 * Prevents `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
   ========================================================================== */
/*
 * Removes border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

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

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

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

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

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves 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],
input[disabled] {
  cursor: default;
}

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

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

/* ============================================ *
 * Reset
 * ============================================ */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* Prevent tap highlight on iOS/Android */
  -webkit-text-size-adjust: 100%;
  /* Prevent automatic scaling on iOS */
}

body {
  background: #FFFFFF;
  color: #000000;
  line-height: 1;
}

html,
body,
img,
fieldset,
abbr,
acronym {
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

th,
code,
cite,
caption {
  font-weight: normal;
  font-style: normal;
  text-align: left;
}

address {
  font-style: normal;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

img {
  display: block;
}

ol,
ul {
  list-style: none;
}

q:before,
q:after {
  content: '';
}

input:focus,
input[type="search"]:focus {
  outline-offset: -2px;
}

input[type="search"] {
  -webkit-appearance: none;
  /* 1 */
  -webkit-box-sizing: border-box;
  /* 2 */
  box-sizing: border-box;
}

/* ============================================ *
 * Base Styles
 * ============================================ */
@-ms-viewport {
  width: device-width;
}

@-o-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

a, button {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

body,
button,
input,
select,
table,
textarea {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  color: #111;
  font-size: 12px;
  line-height: 14px;
}

a {
  color: #0645AD;
  text-decoration: none;
}

a:hover {
  color: #053b94;
  text-decoration: underline;
}

a:focus {
  outline: 1px dotted #0645AD !important;
  outline-offset: 0;
}

b,
strong {
  font-weight: normal;
}

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

/* ============================================ *
 * Shared Classes
 * ============================================ */
.address-list address {
  margin-bottom: 1em;
}

.availability {
  margin-bottom: 0;
  font-size: 12px;
  text-transform: uppercase;
}

.availability .label {
  display: none;
}

.availability.in-stock {
  color: #FAFAFA;
}

.availability.available-soon,
.availability.out-of-stock {
  color: #DC2022;
}

.availability-only {
  color: #DC2022;
  margin-bottom: 10px;
}

/* -------------------------------------------- *
 * Page Titles
 */
/* -------------------------------------------- *
 * Block Module
 */
.block,
.col-left-first {
  margin-bottom: 20px;
}

.col-left-first .block:last-of-type {
  margin-bottom: 0;
}

.block-title {
  position: relative;
  padding: 10px 0 0;
  margin-bottom: 5px;
  border-top: 1px solid #000;
}

.block-title h2,
.block-title h3,
.block-title strong {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  color: #111;
  margin-bottom: 0;
  text-transform: uppercase;
  font-weight: 600;
}

.block-title small {
  font-size: 100%;
  font-weight: normal;
  color: #9B9B9B;
}

body:not(.customer-account) .block:first-child .block-title {
  border-top: none;
  padding-top: 0;
}

.block-subtitle {
  font-weight: bold;
  margin-bottom: 7px;
}

.block-content {
  margin-top: 5px;
}

.block-content.unpad {
  padding: 0;
}

.block-content li.item {
  margin: 0 0 10px 9px;
}

.block-content li.item:last-child {
  margin-bottom: 0;
}

.block .actions {
  margin: 10px 0 0;
}

.block .actions:after {
  content: '';
  display: table;
  clear: both;
}

.block .actions a {
  float: left;
}

.block .actions .button {
  float: right;
}

.col-left .block .actions .button ~ a,
.col-right .block .actions .button ~ a {
  line-height: 33px;
  margin-right: 5px;
}

@media only screen and (max-width: 770px) {
  .sidebar .block:not(.block-layered-nav) {
    margin-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title {
    padding: 0;
    margin-top: 0;
    border-bottom: none;
    border-top: none;
    margin-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    position: relative;
    background-color: #F4F4F4;
    display: block;
    width: 100%;
    cursor: pointer;
    border-bottom: 0;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #0645AD;
    border-right: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .sidebar .block:not(.block-layered-nav) .block-title > strong:hover {
    background-color: shade(#F4F4F4, 3%);
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    position: relative;
    background-color: #F4F4F4;
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .sidebar .block:not(.block-layered-nav) .block-title.active > strong:hover {
    background-color: shade(#F4F4F4, 3%);
  }
  .sidebar .block:not(.block-layered-nav) .block-content {
    padding: 10px;
    margin-top: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #000;
  }
  .sidebar .block:last-of-type {
    border-bottom: 1px solid #000;
  }
}

/* -------------------------------------------- *
 * Secondary Navigation
 */
.block-account .block-title,
.block-cms-menu .block-title {
  padding-top: 0;
  border-top: none;
}

.block-account li,
.block-cms-menu li {
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin: 7px 0;
}

.block-account li strong,
.block-cms-menu li strong {
  font-weight: 400;
  color: #0645AD;
}

.block-account li a,
.block-cms-menu li a {
  color: #111;
}

.block-account li a:hover,
.block-cms-menu li a:hover {
  color: #0645AD;
}

/* ============================================ *
 * Buttons
 * ============================================ */
/* Secondary Buttons */
.cart .buttons-set .button,
.cart-table .button,
.sidebar .actions .button,
.button.button-secondary {
  background: #DDDDDD;
  color: #111;
  padding: 7px 15px;
}

.cart .buttons-set .button:hover,
.cart-table .button:hover,
.sidebar .actions .button:hover,
.button.button-secondary:hover {
  background: #d0d0d0;
  cursor: pointer;
}

.cart .buttons-set .button:active,
.cart-table .button:active,
.sidebar .actions .button:active,
.button.button-secondary:active {
  background: #c4c4c4;
  color: #111;
}

.cart .buttons-set .button:focus,
.cart-table .button:focus,
.sidebar .actions .button:focus,
.button.button-secondary:focus {
  color: #111;
  background: #c4c4c4;
  outline: none;
}

.sidebar .actions button.button {
  white-space: normal;
}

/* Primary Buttons */
.button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button {
  /*
    background: $c-button;
    display: inline-block;
    padding: 7px 15px;
    border: 0;
    color: #FFFFFF;
    font-size: $f-size-s;
    font-weight: normal;
    font-family: $f-stack-special;
    line-height: 19px;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;

    &:hover {
        background: $c-button-hover;
        cursor: pointer;
    }
    &:active {
        background: $c-button-active;
        color: #FFFFFF;
    }
    &:focus {
        background-color: $c-button-active;
        outline: none;
        color: #FFFFFF;
    }
    */
}

a.button {
  text-decoration: none;
}

a.button:hover {
  color: #FFFFFF;
}

/* Disabled - class for anchor, state for form elements */
.button.disabled,
.button:disabled {
  background: #C8C8C8;
  opacity: 0.6;
  cursor: not-allowed;
}

/* Adjacent buttons */
.button + .button {
  margin-left: 5px;
}

.button2 {
  border: 0;
  padding: 0 5px;
  margin: 0;
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
}

.button2:focus {
  outline: none;
}

.button2 span,
.button2 span span {
  line-height: 30px;
  height: 30px;
  text-decoration: underline;
  text-transform: uppercase;
  display: inline-block;
  color: #0645AD;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.button2 span:hover,
.button2 span span:hover {
  text-decoration: none;
  color: #032863;
}

@media only screen and (max-width: 770px) {
  .col2-set .buttons-set .button,
  .col2-set .buttons-set .button2 {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .col2-set .buttons-set .back-link {
    display: none;
  }
  .col2-set .buttons-set .required {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  .buttons-set .button {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 7px;
  }
  .buttons-set .back-link {
    display: none;
  }
  .buttons-set .required {
    display: none;
  }
}

/* -------------------------------------------- *
 * Paypal Button
 */
.paypal-logo.paypal-after {
  float: left;
}

.paypal-after .paypal-or {
  float: left;
}

.paypal-or {
  line-height: 34px;
  margin: 0px 10px 5px;
}

.paypal-after .paypal-button {
  float: left;
}

.paypal-button {
  line-height: 0px;
}

.paypal-button img {
  display: inline;
}

@media only screen and (max-width: 740px) {
  .paypal-or {
    line-height: 20px;
  }
  .paypal-logo,
  .paypal-or,
  .paypal-button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}

/* -------------------------------------------- *
 * Button Sets
 */
.buttons-set {
  clear: both;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid #EDEDED;
  text-align: right;
}

.buttons-set p.required {
  margin: 0;
  margin-left: 10px;
  line-height: 33px;
  float: right;
}

.buttons-set .back-link {
  float: left;
  margin: 0;
  line-height: 33px;
}

.buttons-set a:not(.button) {
  line-height: 20px;
  display: inline-block;
  padding: 5px;
}

.buttons-set button.button {
  float: right;
  margin-left: 5px;
  min-width: 140px;
}

.buttons-set:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Icons
 */
.icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .sort-by .sort-by-switcher, .sorter > .view-mode .grid,
.sorter > .view-mode .list, .skip-nav .icon, .skip-search .icon, #search_mini_form .search-button:before, .skip-account .icon, .skip-cart .icon, .product-view .sharing-links a, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
  background-image: url(https://totokaelo.com/skin/frontend/totokaelo/default/images/icon_sprite.png);
  background-repeat: no-repeat;
  text-indent: -9999px;
}

@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .sort-by .sort-by-switcher, .sorter > .view-mode .grid,
  .sorter > .view-mode .list, .skip-nav .icon, .skip-search .icon, #search_mini_form .search-button:before, .skip-account .icon, .skip-cart .icon, .product-view .sharing-links a, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
    background-image: url(https://totokaelo.com/skin/frontend/totokaelo/default/images/icon_sprite@2x.png);
    background-size: 100px 1000px;
  }
}

/* -------------------------------------------- *
 * Breadcrumbs
 */
.breadcrumbs {
  display: none;
  overflow: hidden;
  margin: -15px 0 15px;
}

.breadcrumbs li {
  float: left;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  text-transform: uppercase;
}

.breadcrumbs a {
  float: left;
  color: #111;
}

.breadcrumbs a:hover {
  color: #0645AD;
}

.breadcrumbs strong {
  color: #111;
  font-weight: normal;
}

.breadcrumbs span {
  float: left;
  padding: 0 7px;
}

@media only screen and (max-width: 770px) {
  .breadcrumbs {
    display: none;
  }
}

/* -------------------------------------------- *
 * Button - Remove / Previous
 */
.btn-remove,
.btn-previous {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #EDEDED;
  text-align: center;
  /* Hide text */
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  position: relative;
}

.btn-remove:hover,
.btn-previous:hover {
  background-color: #0645AD;
  border-color: #0645AD;
}

.btn-remove:after {
  content: 'X';
  color: #0645AD;
  height: 20px;
  line-height: 20px;
  width: 100%;
  font-size: 10px;
  font-family: Arial, akzidenz-grotesk, Arial, sans-serif;
  font-weight: bold;
}

.btn-remove:hover:after {
  color: #FFFFFF;
  text-decoration: none;
}

.btn-remove2 {
  background-position: 4px -648px;
  border: none;
  vertical-align: top;
}

.btn-remove2:after {
  display: none;
}

.btn-remove2:hover {
  background-color: transparent;
  opacity: 0.8;
}

.btn-previous:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #0645AD;
  border-left: none;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -2px;
  margin-top: -4px;
}

.btn-previous:hover:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #FFFFFF;
  border-left: none;
}

.block-layered-nav .currently .btn-remove,
.block-layered-nav .currently .btn-previous,
.mini-products-list .btn-remove,
.mini-products-list .btn-previous,
#compare-items .btn-remove,
#compare-items .btn-previous {
  float: right;
  margin-left: 6px;
}

/* -------------------------------------------- *
 * Checkout Agreements
 */
.checkout-agreements li {
  margin-bottom: 20px;
}

.checkout-agreements .agreement-content {
  overflow-y: auto;
  max-width: 670px;
  max-height: 125px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #000;
  background: #F4F4F4;
}

/* -------------------------------------------- *
 * CVV Security Code
 */
.cvv-what-is-this {
  margin-left: 10px;
  font-size: 12px;
  line-height: 24px;
}

/* -------------------------------------------- *
 * Container
 */
.main-container,
.footer-container {
  position: relative;
  max-width: inherit;
  margin: 0 auto;
  padding: 30px;
}

.main-container:after,
.footer-container:after {
  content: '';
  display: table;
  clear: both;
}

/*
@include bp(min-width, 480px) {

    .main-container,
    .footer-container {
        padding: $trim;
    }
}
*/
.footer-container {
  padding-top: 0px;
}

/* -------------------------------------------- *
 * Column Layouts
 */
.main:after,
.col-wrapper:after {
  content: '';
  display: table;
  clear: both;
}

.col-left,
.col-right,
.col-main {
  padding: 0 10px;
}

.col-left {
  float: left;
  width: 25%;
  padding-left: 0;
  /* Remove the 15px padding */
  clear: left;
}

.col-left img {
  max-width: 100%;
}

.col-right {
  float: right;
  width: 25%;
  padding-right: 0;
  /* Remove the 15px padding */
}

.col-right img {
  max-width: 100%;
}

.col-main {
  float: left;
  width: 75%;
}

.col1-layout .col-main {
  float: none;
  width: auto;
  padding: 0;
  /* Remove the 15px padding */
}

.col2-left-layout .col-main {
  float: right;
  padding-right: 0;
  /* Remove the 15px padding */
}

.col2-right-layout .col-main {
  padding-left: 0;
  /* Remove the 15px padding */
}

.col3-layout .col-right {
  width: 20.83333%;
}

.col3-layout .col-wrapper {
  float: left;
  width: 79.16667%;
}

.col3-layout .col-wrapper .col-main {
  float: right;
  width: 73.68421%;
}

.col3-layout .col-wrapper .col-left {
  width: 26.31579%;
}

@media only screen and (max-width: 1000px) {
  .col3-layout .col-right {
    float: left;
    clear: left;
    padding-left: 0;
    padding-right: 10px;
    width: 25%;
  }
  .col3-layout .col-wrapper {
    float: right;
    width: 100%;
  }
  .col3-layout .col-wrapper .col-main {
    float: right;
    width: 75%;
  }
  .col3-layout .col-wrapper .col-left {
    width: 25%;
  }
}

@media only screen and (max-width: 770px) {
  .col-left,
  .col-right,
  .col-main,
  .col1-layout .col-left,
  .col1-layout .col-right,
  .col1-layout .col-main,
  .col2-left-layout .col-left,
  .col2-left-layout .col-right,
  .col2-left-layout .col-main,
  .col2-right-layout .col-left,
  .col2-right-layout .col-right,
  .col2-right-layout .col-main,
  .col3-layout .col-wrapper .col-left,
  .col3-layout .col-right,
  .col3-layout .col-wrapper .col-main {
    padding: 0;
    margin-bottom: 10px;
    float: none;
    width: auto;
  }
  .col3-layout .col-wrapper {
    float: none;
    width: auto;
  }
  .col-main {
    float: none;
    width: auto;
  }
  .col-main .col-left {
    padding: 0;
    /* On product listing pages, the left column gets moved inside col-main on small viewports */
  }
}

/* Content Columns */
.col2-set {
  width: 100%;
}

.col2-set .col-1,
.col2-set .col-2 {
  width: 50%;
  padding: 20px;
}

@media only screen and (max-width: 770px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    padding: 10px;
  }
}

.col2-set .col-1 {
  float: left;
  padding-left: 0;
}

.col2-set .col-2 {
  float: right;
  padding-right: 0;
}

@media only screen and (max-width: 359px) {
  .col2-set .col-1,
  .col2-set .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}

.col2-set .narrow {
  width: 33%;
}

.col2-set .wide {
  width: 65%;
}

.col2-set:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Top Container
 */
@media only screen and (min-width: 771px) {
  .top-container {
    max-width: inherit;
    margin: 0 auto;
    padding: 0 30px;
  }
}

/* -------------------------------------------- *
 * Global Site Notice
 */
.global-site-notice {
  background: #676157;
  color: #E6E6E6;
  font-size: 12px;
}

.global-site-notice .notice-inner {
  padding-left: 120px;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  line-height: 12px;
  min-height: 40px;
  padding-top: 14px;
  padding-bottom: 14px;
  background-image: url("https://totokaelo.com/skin/frontend/totokaelo/default/images/demo-logo.png");
  background-position: left;
  background-repeat: no-repeat;
}

.global-site-notice p {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Promotional Message Banner
 */
.promo-msg {
  color: #111;
  text-align: center;
  margin: 10px;
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

/* -------------------------------------------- *
 * Grid
 */
.grid:after {
  content: '';
  display: table;
  clear: both;
}

/* -------------------------------------------- *
 * Messages
 */
.success {
  color: #FAFAFA;
}

.error {
  color: #DC2022;
  font-weight: bold;
}

.notice {
  color: #FAFAFA;
  font-weight: bold;
}

/* -------------------------------------------- *
 * Messages
 */
.messages {
  margin-bottom: 10px;
}

.messages li li {
  text-align: center;
  position: relative;
  margin-bottom: 5px;
  padding: 7px 10px 7px 20px;
  background: #F4F4F4;
  font-size: 12px;
  text-transform: uppercase;
}

.messages .error-msg li {
  color: #DC2022;
  background-color: #DC2022;
}

.messages .notice-msg li {
  color: #FAFAFA;
  background-color: #DC2022;
}

.messages .success-msg li {
  color: #FAFAFA;
  background-color: #2D9955;
}

@media only screen and (min-width: 915px) {
  .order-list-grid .col-1 {
    width: 30%;
  }
  .order-list-grid .col-2 {
    width: 50%;
    padding-right: 20px;
  }
  .order-list-grid .col-3 {
    clear: none;
    width: 20%;
    padding-top: 0;
  }
}

/* -------------------------------------------- *
 * Page Popup
 */
.page-popup {
  padding: 20px;
  background: #FFFFFF;
  height: auto;
}

.page-popup h1 {
  margin: 0 0 0.5em;
}

/* -------------------------------------------- *
 * Payment Methods
 */
.payment-methods {
  margin-bottom: 20px;
}

.payment-methods dt {
  padding: 5px 0;
}

.payment-methods dd {
  padding-top: 10px;
}

.payment-methods .form-list {
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin: 5px 15px 15px;
  padding: 15px;
  border: 1px solid #000;
  background: #F4F4F4;
}

.payment-methods .form-list:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #000;
  border-top: none;
  top: -11px;
  left: 30px;
}

.payment-methods .form-list:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #F4F4F4;
  border-top: none;
  top: -10px;
  left: 30px;
}

.payment-methods .form-list li:last-child {
  margin-bottom: 0;
}

/* -------------------------------------------- *
 * Please Wait (Loading Indicator)
 */
.please-wait {
  display: inline-block;
  margin-left: 10px;
  margin-top: 5px;
  line-height: 24px;
  height: 24px;
  white-space: nowrap;
  /* Prevent the linebreak in the HTML from causing layout issues */
}

.please-wait img {
  float: left;
  margin-right: 5px;
  width: 24px;
}

/* -------------------------------------------- *
 * Price Box - Standard
 */
.price-box {
  margin: 7px 0;
}

.price-box p {
  margin-bottom: 0;
}

.price-notice {
  color: #9B9B9B;
}

.price-box .price-label {
  white-space: nowrap;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.price-box .minimal-price-link {
  padding-left: 1em;
  display: block;
  /* We want this to show on its own line, otherwise the layout looks funky */
}

/* -------------------------------------------- *
 * Price Box - Special
 */
.price-box .old-price,
.price-box .special-price {
  display: inline-block;
}

.price-box .old-price .price-label,
.price-box .special-price .price-label {
  display: none;
}

.price-box .old-price .price,
.price-box .special-price .price {
  display: inline-block;
}

.price-box .old-price .price {
  color: #000;
  text-decoration: line-through;
}

.price-box .special-price {
  color: #DC2022;
  padding-left: 1em;
}

.price-box .special-price .price-label {
  color: #DC2022;
}

/* -------------------------------------------- *
 * Price Box - Taxes
 */
.price-box .price-excluding-tax,
.price-box .price-including-tax {
  display: block;
}

span.weee {
  display: block;
}

/* -------------------------------------------- *
 * Tier Prices
 */
.product-pricing,
.tier-prices,
.tier-prices-grouped {
  display: inline-block;
  padding: 4px 8px;
  background: #FBF4DE;
  border: 1px solid #E2D4C7;
  margin-top: 7px;
}

.product-pricing li,
.tier-prices li,
.tier-prices-grouped li {
  font-size: 12px;
}

.product-pricing .benefit,
.tier-prices .benefit,
.tier-prices-grouped .benefit {
  font-style: italic;
}

.product-pricing .price,
.tier-prices .price,
.tier-prices-grouped .price {
  font-weight: bold;
}

/* ============================================ *
 * Item Options
 * ============================================ */
.item-options {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.item-options:after {
  content: '';
  display: table;
  clear: both;
}

.item-options dt {
  float: left;
  clear: left;
  font-weight: 600;
  padding-right: 5px;
  font-style: italic;
}

.item-options dt:after {
  content: ': ';
}

.item-options dd {
  float: left;
  padding-left: 10px;
  margin: 0 0 6px;
}

.truncated,
.truncated a.dots {
  cursor: help;
}

.truncated a.details {
  cursor: help;
  height: 16px;
  line-height: 16px;
}

.truncated a.details:hover {
  text-decoration: none;
}

.truncated .truncated_full_value {
  position: relative;
  z-index: 300;
}

.truncated .truncated_full_value .item-options {
  display: none;
  position: absolute;
  z-index: 300;
  width: 200px;
  padding: 8px;
  border: 1px solid #0645AD;
  background-color: #F6F6F6;
  top: 21px;
  left: -100px;
}

.truncated .truncated_full_value .item-options:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #0645AD;
  border-top: none;
  left: 97px;
  top: -7px;
}

.truncated .truncated_full_value .item-options > p {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.truncated .show .item-options {
  display: block;
}

@media only screen and (max-width: 359px) {
  .truncated {
    cursor: inherit;
  }
  .truncated a.details {
    display: none;
  }
  .truncated .truncated_full_value .item-options {
    display: block;
    position: static;
    z-index: 1;
    width: 100%;
    border: none;
    background-color: transparent;
  }
  .truncated .truncated_full_value .item-options p {
    float: none;
  }
  .truncated .truncated_full_value .item-options:after {
    display: none;
  }
}

/* -------------------------------------------- *
 * Printer Friendly Page
 */
.page-print {
  width: 6.5in;
  margin: 20px;
  background: #FFFFFF;
}

/* -------------------------------------------- *
 * Add to links
 */
.add-to-links {
  margin: 7px 0;
}

.add-to-links a {
  display: inline-block;
  padding: 0px 3px 3px;
}

.add-to-links .separator {
  display: none;
}

/* -------------------------------------------- *
 * Product Image
 */
.product-image,
.no-touch .product-img-box .product-image:not(.zoom-available):hover {
  position: relative;
  display: block;
}

/*
@include bp (max-width, $bp-medium) {
    body .product-img-box .product-image:hover {
    }
}

.no-touch .product-image:hover {
}
*/
/* -------------------------------------------- *
 * Ratings
 */
.ratings {
  margin: 7px 0;
}

.ratings .rating-box,
.ratings .rating-links {
  margin: 5px 0;
}

.ratings .rating-box {
  width: 65px;
  height: 13px;
  background-repeat: repeat-x;
  background-position: 0 -615px;
  overflow: hidden;
}

.ratings .rating-box .rating {
  float: left;
  height: 13px;
  background-repeat: repeat-x;
  background-position: 0 -600px;
}

.ratings .amount {
  display: block;
  margin: 5px auto;
}

.ratings .rating-links .separator {
  margin: 0 3px;
}

/* -------------------------------------------- *
 * Standard Formatted Text Block
 */
.std p {
  margin: 0 0 10px;
}

.std ol {
  margin-bottom: 10px;
}

.std ul {
  margin-bottom: 10px;
}

.std .note {
  color: #9B9B9B;
  font-size: 12px;
}

/* -------------------------------------------- *
 * Tabs
 */
.tabs {
  margin-bottom: 10px;
  background: #FFFFFF;
}

/* -------------------------------------------- *
 * Toolbar
 */
.toolbar {
  margin-top: 10px;
  margin-bottom: 15px;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  background: #F4F4F4;
  padding: 5px 10px 0px 10px;
}

.toolbar:after {
  content: '';
  display: table;
  clear: both;
}

.pager-no-toolbar {
  margin-bottom: 10px;
}

.pager-no-toolbar ~ .pager-no-toolbar {
  margin-top: 10px;
}

.toolbar,
.pager {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  color: #111;
  line-height: 30px;
  font-size: 12px;
}

.toolbar label,
.pager-no-toolbar label {
  font-weight: normal;
  text-transform: uppercase;
}

.sorter {
  float: left;
  margin-bottom: 5px;
}

.sorter label {
  float: left;
  margin-right: 5px;
}

.sorter label:after {
  content: ':';
}

.sorter > .sort-by {
  float: left;
  margin-right: 5px;
  height: 30px;
}

.sorter > .sort-by .sort-by-switcher {
  width: 30px;
  height: 30px;
  display: inline-block;
}

.sorter > .sort-by .sort-by-switcher--asc {
  background-position: 4px -542px;
}

.sorter > .sort-by .sort-by-switcher--asc:hover {
  background-position: -46px -542px;
}

.sorter > .sort-by .sort-by-switcher--desc {
  background-position: 4px -567px;
}

.sorter > .sort-by .sort-by-switcher--desc:hover {
  background-position: -46px -567px;
}

.sorter > .view-mode {
  float: right;
}

.sorter > .view-mode .grid,
.sorter > .view-mode .list {
  float: left;
  width: 30px;
  height: 30px;
}

.sorter > .view-mode .grid {
  margin-right: 5px;
  background-position: 8px -492px;
}

.sorter > .view-mode strong.grid,
.sorter > .view-mode a.grid:hover {
  background-position: -42px -492px;
}

.sorter > .view-mode .list {
  background-position: 11px -517px;
}

.sorter > .view-mode strong.list,
.sorter > .view-mode a.list:hover {
  background-position: -39px -517px;
}

.pager {
  float: right;
  overflow: hidden;
}

.pager > .count-container {
  float: left;
}

.pager .amount {
  float: left;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  white-space: nowrap;
  margin: 0 15px 0 0;
}

.pager .limiter {
  float: left;
  height: 30px;
  line-height: 30px;
}

.pager .limiter > label {
  padding-right: 5px;
}

.pager .limiter > label:after {
  content: ':';
}

.pager .amount,
.pager .limiter,
.pager .pages {
  margin-bottom: 5px;
}

.pages {
  float: right;
  overflow: hidden;
  margin-left: 15px;
}

.pages strong {
  display: none;
}

.pages li {
  float: left;
}

.pages a,
.pages .current {
  display: inline-block;
  border: 0;
  font-size: 12px;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 30px;
  width: 25px;
  height: 30px;
  padding: 0;
  color: #0645AD;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.pages .current,
.pages .current:hover {
  color: #111;
  border: 1px solid #000;
  width: 30px;
  background-color: #FFFFFF;
  cursor: default;
}

.pages .next,
.pages .previous {
  font: 0/0 a;
  text-shadow: none;
  position: relative;
  text-indent: -999em;
}

.pages .next:hover,
.pages .previous:hover {
  border: 1px solid #0645AD;
}

.pages .next:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #0645AD;
  border-right: none;
  top: 50%;
  margin-top: -3px;
  left: 50%;
  margin-left: -2px;
}

.pages .next:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #032863;
  border-right: none;
}

.pages .previous:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #0645AD;
  border-left: none;
  top: 50%;
  margin-top: -3px;
  left: 50%;
  margin-left: -2px;
}

.pages .previous:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 4px solid #032863;
  border-left: none;
}

@media only screen and (max-width: 359px) {
  .pager .amount--has-pages {
    display: none;
  }
  .pages {
    float: left;
  }
  .limiter label {
    display: none;
  }
}

@media only screen and (max-width: 770px) {
  .col1-layout .sorter,
  .col1-layout .pager {
    width: 100%;
  }
  .col1-layout .pager {
    float: left;
    clear: both;
  }
  .col1-layout .pager .pages {
    float: left;
    margin-left: 0;
  }
  .col1-layout .pager .count-container {
    float: right;
  }
}

@media only screen and (max-width: 979px) {
  .col2-left-layout .sorter,
  .col2-left-layout .pager,
  .col2-right-layout .sorter,
  .col2-right-layout .pager,
  .col3-layout .sorter,
  .col3-layout .pager {
    width: 100%;
  }
  .col2-left-layout .pager,
  .col2-right-layout .pager,
  .col3-layout .pager {
    float: left;
    clear: both;
  }
  .col2-left-layout .pager .pages,
  .col2-right-layout .pager .pages,
  .col3-layout .pager .pages {
    float: left;
    margin-left: 0;
  }
  .col2-left-layout .pager .count-container,
  .col2-right-layout .pager .count-container,
  .col3-layout .pager .count-container {
    float: right;
  }
}

@media only screen and (max-width: 1279px) {
  .toolbar .view-mode > label {
    display: none;
  }
}

/* ============================================ *
 * Tax - Full Tax Summary
 * ============================================ */
#checkout-review-table .summary-collapse,
#shopping-cart-totals-table .summary-collapse,
body.customer-account .data-table .summary-collapse {
  position: relative;
  cursor: pointer;
}

#checkout-review-table .summary-collapse:before,
#shopping-cart-totals-table .summary-collapse:before,
body.customer-account .data-table .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #0645AD;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#checkout-review-table .summary-collapse:hover:before,
#shopping-cart-totals-table .summary-collapse:hover:before,
body.customer-account .data-table .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #032863;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#checkout-review-table .show-details .summary-collapse:before,
#shopping-cart-totals-table .show-details .summary-collapse:before,
body.customer-account .data-table .show-details .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #0645AD;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#checkout-review-table .show-details .summary-collapse:hover:before,
#shopping-cart-totals-table .show-details .summary-collapse:hover:before,
body.customer-account .data-table .show-details .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #032863;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#shopping-cart-totals-table tfoot td .summary-collapse:before, #shopping-cart-totals-table tfoot td .summary-collapse:hover:before {
  margin-bottom: 5px;
}

/* ============================================ *
 * Magento Helpers
 * ============================================ */
.a-center {
  text-align: center;
}

.a-right,
.align-right {
  text-align: right;
}

.no-display {
  display: none !important;
}

.nobr,
.nowrap {
  white-space: nowrap;
}

.width-full {
  width: 100%;
}

/* ============================================ *
 * Custom Helpers
 * ============================================ */
.hidden {
  display: none;
}

/* ============================================ *
 * Print Styles
 * ============================================ */
.page-print .print-head {
  margin: 0 0 15px;
}

.page-print .print-head .logo {
  float: none;
  max-height: 50px;
  width: auto;
}

/* ============================================ *
 * FORMS - COMMON
 * ============================================ */
/* -------------------------------------------- *
 * Fieldsets
 */
.fieldset p {
  margin-bottom: 7px;
}

.fieldset p.required {
  margin-bottom: 5px;
  float: right;
  font-size: 12px;
  margin-top: 0px;
}

.fieldset + .fieldset {
  margin-top: 5px;
}

form .legend {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 15px;
  padding-bottom: 7px;
  border-bottom: 1px solid #EDEDED;
}

/* -------------------------------------------- *
 * Input Box
 */
.input-box {
  padding-top: 2px;
}

.input-box:after {
  content: '';
  display: table;
  clear: both;
}

li.centinel-logos div.input-box img {
  display: inline;
  vertical-align: middle;
}

/* For adjacent select inputs. */
/* Example: credit card expiration month and year. */
.input-box .v-fix {
  float: left;
  margin-right: 5px;
  max-width: 100%;
}

/* -------------------------------------------- *
 * Labels
 */
label {
  display: inline-block;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: 600;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

label.required:after,
span.required:after {
  content: ' *';
  color: #DC2022;
  font-weight: normal;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
}

label.required em,
span.required em {
  display: none;
}

/* -------------------------------------------- *
 * Hints
 */
.input-hint {
  color: #9B9B9B;
  font-size: 12px;
}

/* -------------------------------------------- *
 * Select
 */
select {
  border: 1px solid #444;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 5px 15px 5px 10px;
  background-image: url("https://totokaelo.com/skin/frontend/totokaelo/default/css/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE3PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMTwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTctMTAtMzBUMDE6MTA6NjI8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMy42PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo9WpteAAAA00lEQVQoFZWPyw4BQRBFZ0s8QsIvWVv4D5EQGywkVhY+ytfYeCd2nNO6E4PxqOTM7aq6VdOdZfeoIT2ox/yb6NPvXIgG3yVsYQ4l+BT29el3zvmsC2e4Rp2iFXgX1u0/+p3PmrCAE6RFE87PTzO3nhbod875EGW+FpLhwHkG4apRza2nH+l3LhdedQUX0Oibx9CKam7dvr6iJ4fNAwxHcGAP66jm1u2/3IBaLqpkI3CBgwlz6/Z/Cq/ahx24RDUvfAK9t+HAEDZR/16QtrY5dEAtjBupQThnFk4bXwAAAABJRU5ErkJggg==");
  background-size: 10px;
  background-color: white;
  background-position: center right 10px;
  background-repeat: no-repeat;
}

select + select {
  margin-left: 5px;
}

select[multiple] {
  width: 270px;
  border: 1px solid #111;
  font-size: 12px;
  padding: 5px;
}

/* -------------------------------------------- *
 * Textarea
 */
textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 450px;
  padding: 5px;
}

/* -------------------------------------------- *
 * Inputs
 */
.input-text {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 2px;
  border: 1px solid #111;
  background: #FFFFFF;
  font-size: 12px;
}

.input-text:focus {
  border: 1px solid #0645AD;
  outline: none;
}

.input-text.validation-failed {
  border-color: #DC2022;
}

.input-text.validation-failed:focus {
  outline-color: tint(#DC2022, 50%);
}

input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
  height: 32px;
  padding: 0 8px;
}

input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
  width: 365px;
  max-width: 100%;
}

/* Only show on iPhones (not iPads or any other device) */
@media only screen and (max-device-width: 568px) and (-webkit-min-device-pixel-ratio: 0) {
  input[type=email],
  input[type=search],
  input[type=number],
  input[type=password],
  input[type=tel],
  input[type=text],
  select {
    font-size: 16px;
    /* Prevent from zooming on focus */
  }
}

.ie8 .input-text {
  max-width: none;
}

/* -------------------------------------------- *
 * Inputs - Quantity
 */
input[type=number].qty,
input[type=text].qty {
  width: 3em;
  text-align: center;
  vertical-align: middle;
}

/* -------------------------------------------- *
 * Placeholder
 */
::-webkit-input-placeholder {
  color: #9B9B9B;
}

input:-moz-placeholder {
  color: #9B9B9B;
}

/* -------------------------------------------- *
 * Checkbox And Radio
 */
.checkbox,
.radio {
  position: relative;
  top: -1px;
  display: inline-block;
}

.checkbox + label,
.radio + label {
  width: auto;
  max-width: 85%;
  padding: 0 0 0 8px;
  font-size: 12px;
  font-weight: normal;
  vertical-align: top;
}

/* -------------------------------------------- *
 * Validation
 */
p.required,
.validation-advice {
  margin: 5px 0 0;
  color: #DC2022;
  font-size: 12px;
}

/* ============================================ *
 * Form List
 * ============================================ */
.form-list > li {
  margin-bottom: 10px;
}

.form-list select {
  margin-top: 4px;
  width: 365px;
  max-width: 100%;
}

.form-list .input-range .input-text {
  width: 74px;
}

.form-list .field,
.form-list .wide,
.form-list .control {
  margin-bottom: 10px;
}

/* Turn the label of controls (radio/checkbox) into a button style that wraps the input */
.form-list .control,
.sp-methods dt,
#checkout-shipping-method-load .sp-methods dd,
#co-shipping-method-form .sp-methods dd,
.product-options ul.options-list {
  /* When a label is next to an input that is set to not display, we should style the label in a non-clickable state */
}

.form-list .control div.input-box,
.sp-methods dt div.input-box,
#checkout-shipping-method-load .sp-methods dd div.input-box,
#co-shipping-method-form .sp-methods dd div.input-box,
.product-options ul.options-list div.input-box {
  display: inline;
  float: left;
}

.form-list .control div.input-box:after,
.sp-methods dt div.input-box:after,
#checkout-shipping-method-load .sp-methods dd div.input-box:after,
#co-shipping-method-form .sp-methods dd div.input-box:after,
.product-options ul.options-list div.input-box:after {
  display: none;
}

.form-list .control input.radio,
.form-list .control input.checkbox,
.sp-methods dt input.radio,
.sp-methods dt input.checkbox,
#checkout-shipping-method-load .sp-methods dd input.radio,
#checkout-shipping-method-load .sp-methods dd input.checkbox,
#co-shipping-method-form .sp-methods dd input.radio,
#co-shipping-method-form .sp-methods dd input.checkbox,
.product-options ul.options-list input.radio,
.product-options ul.options-list input.checkbox {
  float: left;
  margin-right: -40px;
  margin-top: 10px;
  margin-left: 15px;
}

.form-list .control label,
.sp-methods dt label,
#checkout-shipping-method-load .sp-methods dd label,
#co-shipping-method-form .sp-methods dd label,
.product-options ul.options-list label {
  color: #111;
  background-color: #F4F4F4;
  padding: 5px 10px;
  display: inline-block;
  width: auto;
  max-width: none;
  min-width: 250px;
  float: none;
  padding: 6px 10px 6px 40px;
}

.form-list .control label:hover,
.sp-methods dt label:hover,
#checkout-shipping-method-load .sp-methods dd label:hover,
#co-shipping-method-form .sp-methods dd label:hover,
.product-options ul.options-list label:hover {
  background-color: shade(#F4F4F4, 3%);
}

.form-list .control .no-display + label,
.sp-methods dt .no-display + label,
#checkout-shipping-method-load .sp-methods dd .no-display + label,
#co-shipping-method-form .sp-methods dd .no-display + label,
.product-options ul.options-list .no-display + label {
  padding-left: 10px;
  background-color: transparent;
}

.form-list .control .no-display + label:hover,
.sp-methods dt .no-display + label:hover,
#checkout-shipping-method-load .sp-methods dd .no-display + label:hover,
#co-shipping-method-form .sp-methods dd .no-display + label:hover,
.product-options ul.options-list .no-display + label:hover {
  background-color: transparent;
}

.product-options ul.options-list label,
.col2-set .form-list .control label {
  min-width: inherit;
  width: 250px;
  max-width: 100%;
}

.form-list .control.remember-me-box label {
  width: auto;
  max-width: none;
  min-width: inherit;
}

.form-list .control {
  margin-top: 10px;
}

.form-list .control label {
  float: none;
}

.form-list .control .radio,
.form-list .control .checkbox {
  margin-right: 6px;
}

.form-list .control .input-box {
  clear: none;
  display: inline-block;
  width: auto;
  padding: 0;
}

form .form-instructions {
  font-style: italic;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  color: #9B9B9B;
}

/* ============================================ *
 * Table Helpers
 * ============================================ */
.hide-th {
  text-indent: -9999px;
}

/* ============================================ *
 * Data Table
 * ============================================ */
.data-table {
  width: 100%;
}

.data-table td,
.data-table th {
  padding: 10px;
  vertical-align: top;
}

.data-table th {
  background: transparent;
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  line-height: 1.4;
  white-space: nowrap;
}

.data-table thead th,
.data-table tbody td {
  border-bottom: 1px solid #C0C0C0;
}

.data-table tbody td,
.data-table tfoot td {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.data-table tfoot tr {
  background: transparent;
}

.data-table tbody td .item-options {
  margin-left: 20px;
  margin-top: 10px;
}

.data-table tbody td .item-options dt:after {
  content: ':';
}

/* ============================================ *
 * Generic Info Table
 * ============================================ */
.info-box {
  border: 1px solid #C0C0C0;
  padding: 12px 15px;
  margin: 0 0 15px;
}

.info-box h2 {
  font-weight: bold;
  font-size: 13px;
}

.info-table th,
.info-table td {
  vertical-align: top;
}

.info-table th {
  font-weight: bold;
  padding: 4px 20px 4px 0;
}

.info-table td {
  padding: 4px 0;
}

/* ============================================ *
 * Zebra-Stripe Table
 * ============================================ */
.zebra-table tr:first-child,
.zebra-table th:first-child {
  border-top: 1px solid #C0C0C0;
}

.zebra-table td,
.zebra-table th {
  border-bottom: 1px solid #C0C0C0;
  padding: 6px;
  background-color: transparent;
}

.zebra-table tr {
  background-color: #EEEDED;
}

.zebra-table tr:nth-child(odd) {
  background-color: #F8F7F5;
}

/* ============================================ *
 * Linearize Table
 * ============================================ */
@media only screen and (max-width: 359px) {
  .linearize-table {
    /* Helpers */
  }
  .linearize-table tr,
  .linearize-table th,
  .linearize-table td {
    display: block;
  }
  .linearize-table thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table thead th.lin-hide {
    display: none;
  }
  .linearize-table thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table tbody tr {
    position: relative;
    border-bottom: 1px solid #000;
  }
  .linearize-table tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table tbody td.lin-hide {
    display: none;
  }
  .linearize-table tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table tbody td:first-child,
  .linearize-table tbody td:first-child h3 {
    font-weight: bold;
  }
  .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table tfoot td {
    display: block;
    float: left;
  }
  .linearize-table tfoot td.lin-hide {
    display: none;
  }
  .linearize-table tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table .linearize-hide {
    display: none;
  }
  .linearize-table .linearize-unpad {
    padding: 0;
  }
  .linearize-table .linearize-show {
    display: block;
  }
}

@media only screen and (max-width: 599px) {
  .linearize-table-large {
    /* Helpers */
  }
  .linearize-table-large tr,
  .linearize-table-large th,
  .linearize-table-large td {
    display: block;
  }
  .linearize-table-large thead th {
    border-right: 0;
    border-left: 0;
  }
  .linearize-table-large thead th.lin-hide {
    display: none;
  }
  .linearize-table-large thead th:nth-child(1n+2) {
    display: none;
  }
  .linearize-table-large tbody tr {
    position: relative;
    border-bottom: 1px solid #000;
  }
  .linearize-table-large tbody td {
    padding: 0 10px 4px;
    border-right: 0;
    border-bottom: 0;
  }
  .linearize-table-large tbody td.lin-hide {
    display: none;
  }
  .linearize-table-large tbody td:first-child {
    padding-top: 10px;
  }
  .linearize-table-large tbody td:first-child,
  .linearize-table-large tbody td:first-child h3 {
    font-weight: bold;
  }
  .linearize-table-large tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 30px;
  }
  .linearize-table-large tbody td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .linearize-table-large tfoot tr {
    display: block;
    text-align: right;
  }
  .linearize-table-large tfoot tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .linearize-table-large tfoot td {
    display: block;
    float: left;
  }
  .linearize-table-large tfoot td.lin-hide {
    display: none;
  }
  .linearize-table-large tfoot td:nth-child(odd) {
    clear: left;
    width: 60%;
  }
  .linearize-table-large tfoot td:nth-child(even) {
    text-align: left;
    width: 40%;
  }
  .linearize-table-large .linearize-hide {
    display: none;
  }
  .linearize-table-large .linearize-unpad {
    padding: 0;
  }
  .linearize-table-large .linearize-show {
    display: block;
  }
}

@media only screen and (min-width: 600px) {
  .linearize-table .linearize-collapse {
    display: none;
  }
}

.header-skip-nav {
  padding: 10px;
  text-transform: uppercase;
  display: block;
  position: absolute;
  background-color: #fff;
  left: -999em;
}

.header-skip-nav:focus {
  z-index: 200;
  left: 0;
}

/* ============================================ *
 * Global
 * ============================================ */
html,
body {
  height: 100%;
}

.wrapper {
  min-width: 300px;
  min-height: 100%;
  margin: 0 auto;
  background: #FFFFFF;
}

.wrapper:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Header
 * ============================================ */
@media only screen and (min-width: 771px) {
  .page-header {
    max-width: inherit;
    margin: 0 auto;
    padding: 0 30px;
  }
  .page-header-container {
    position: relative;
  }
}

.header-language-container,
.page-header {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

/* ============================================ *
 * Language switcher + welcome message
 * ============================================ */
.header-language-background {
  padding: 10px;
  background-color: #0645AD;
  text-transform: uppercase;
}

.header-language-background .header-language-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.header-language-background:after {
  content: '';
  display: table;
  clear: both;
}

.header-language-background .form-language,
.header-language-background .currency-switcher {
  float: left;
  margin-right: 10px;
}

.header-language-background .welcome-msg {
  float: right;
}

.page-header-container .store-language-container {
  float: right;
  max-width: 35%;
  padding: 13px 15px 10px 10px;
}

.page-header-container .store-language-container label {
  display: none;
}

.page-header-container .store-language-container select {
  max-width: 100%;
}

@media only screen and (max-width: 359px) {
  .page-header-container .store-language-container {
    padding-top: 8px;
  }
  .page-header-container .store-language-container select {
    font-size: 12px;
  }
}

.header-language-background,
.header-language-background a {
  color: #E6E6E6;
}

@media only screen and (max-width: 770px) {
  .header-language-background {
    display: none;
  }
}

/* ============================================ *
 * Logo
 * ============================================ */
.logo {
  display: block;
  float: left;
  width: 65%;
  min-width: 100px;
  min-height: 44px;
  text-align: center;
  padding: 10px;
}

.logo img {
  max-width: 100%;
}

.logo .small {
  display: block;
}

.logo .large {
  display: none;
}

.logo:hover {
  opacity: 0.8;
}

@media only screen and (min-width: 771px) {
  .logo {
    max-width: 300px;
    min-height: 90px;
  }
  .logo .small {
    display: none;
  }
  .logo .large {
    display: block;
  }
}

/* ============================================ *
 * Skip Links
 * ============================================ */
.skip-links {
  clear: both;
  overflow: hidden;
  border-top: 1px solid #EDEDED;
  border-bottom: 1px solid #EDEDED;
}

@media only screen and (min-width: 771px) {
  .skip-links {
    border: 0;
  }
}

/* -------------------------------------------- *
 * Skip - Link
 */
.skip-link {
  position: relative;
  float: left;
  width: 20%;
  height: 44px;
  background: #FFFFFF;
  color: #111;
  line-height: 42px;
  text-align: center;
}

a.skip-link {
  text-decoration: none;
}

.skip-link:not(.skip-active):hover {
  opacity: 0.8;
}

@media only screen and (max-width: 770px) {
  .skip-link {
    border-right: 1px solid #EDEDED;
  }
  .skip-link:last-child {
    border-right: 0;
  }
}

@media only screen and (min-width: 500px) {
  .skip-link {
    width: 25%;
  }
}

/* -------------------------------------------- *
 * Skip Link - Active
 */
@media only screen and (max-width: 770px) {
  .skip-link.skip-active {
    background: #EDEDED;
    color: inherit;
  }
  .skip-link.skip-active span {
    color: inherit;
  }
}

/* -------------------------------------------- *
 * Skip Link - Icon
 */
.skip-link .icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
}

.skip-link.skip-nav .icon,
.skip-link.skip-cart:not(.no-count) .icon {
  margin-right: 3px;
}

@media only screen and (min-width: 500px) {
  .skip-link .icon {
    margin-right: 3px;
  }
}

/* -------------------------------------------- *
 * Skip Link - Label
 */
.skip-link .label {
  display: none;
}

@media only screen and (min-width: 500px) {
  .skip-link .label {
    display: inline;
  }
}

/* ============================================ *
 * Skip Content
 * ============================================ */
.skip-content {
  display: none;
}

.skip-content.skip-active {
  display: block;
  background: #EDEDED;
}

/* ============================================ *
 * Global Header Navigation
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-account li a,
  .nav-primary a.level0 {
    padding: 0 15px 0 25px;
    border-bottom: 1px solid #000;
    text-align: left;
    color: #111;
    text-transform: uppercase;
    line-height: 30px;
  }
  #header-account li:last-child a,
  .nav-primary li.level0:last-child a.level0 {
    border-bottom: 0;
  }
  .no-touch #header-account a:hover,
  .no-touch .nav-primary a:hover {
    background-color: #F4F4F4;
    text-decoration: none;
  }
}

.account-cart-wrapper {
  position: absolute;
  top: 0px;
  right: 0px;
}

@media only screen and (max-width: 770px) {
  .account-cart-wrapper {
    position: static;
  }
}

/* ============================================ *
 * Nav - Skip Link
 * ============================================ */
.skip-nav {
  width: 40%;
}

.skip-nav:not(.skip-active):hover {
  text-decoration: none;
}

.skip-nav:not(.skip-active):hover .icon {
  background-position: -46px 4px;
}

.skip-nav .label {
  display: inline;
}

.skip-nav .icon {
  background-position: 4px 4px;
}

@media only screen and (min-width: 500px) {
  .skip-nav {
    width: 25%;
  }
}

@media only screen and (min-width: 771px) {
  .skip-nav {
    display: none;
  }
}

/* ============================================ *
 * Nav - Skip Content
 * ============================================ */
@media only screen and (max-width: 770px) {
  #header-nav {
    padding: 5px 0;
  }
}

@media only screen and (min-width: 771px) {
  #header-nav {
    display: block;
    /* Force visibility */
    border-bottom: 1px solid #EDEDED;
  }
}

/* ============================================ *
 * Nav Primary
 * ============================================ */
@media only screen and (min-width: 771px) {
  .nav-primary {
    display: block;
    margin-top: 15px;
  }
}

/* ============================================ *
 * General Navigation Styles
 * ============================================ */
.nav-primary a {
  text-decoration: none;
  position: relative;
  display: block;
  color: #111;
  line-height: 30px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.nav-primary li {
  position: relative;
}

.nav-primary li.level1 a {
  border-bottom: 1px solid #000;
}

.nav-primary .menu-active > ul.level0,
.nav-primary li.level0 li.sub-menu-active > ul {
  display: block;
}

.nav-primary li.level0 > a {
  text-transform: uppercase;
}

/* ============================================ *
 * Small Viewports - Accordion Style Menu
 * ============================================ */
@media only screen and (max-width: 770px) {
  .nav-primary a.level0,
  .nav-primary a {
    line-height: 35px;
  }
  .nav-primary li.level0 ul {
    display: none;
  }
  .nav-primary li.level0 li {
    padding: 0 0 0 25px;
  }
  .nav-primary li.level1 a {
    padding: 0 15px 0 25px;
  }
  .nav-primary li.parent > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #ccc;
    border-right: none;
    top: 50%;
    left: 10px;
    right: auto;
    margin-top: -5px;
  }
  .nav-primary li.parent.sub-menu-active > a:after,
  .nav-primary li.parent.menu-active > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 5px solid #ccc;
    border-bottom: none;
    top: 50%;
    left: 10px;
    right: auto;
    margin-top: -5px;
  }
  .nav-primary li.menu-active > a,
  .nav-primary li.sub-menu-active > a {
    color: #0645AD;
  }
}

/* ============================================ *
 * Large Viewports - Dropdown Menu
 * ============================================ */
@media only screen and (min-width: 771px) {
  .nav-primary {
    /* Default styles for 1+ drop-down menus */
    /* Level 2+ */
    /* Class for js to add briefly to evaluate element positioning. */
    /* Correct menus that will hang off the page (class added by js) */
    /* Level 1+ */
  }
  .nav-primary a.level0 {
    padding: 0 25px;
  }
  .nav-primary li.level0,
  .nav-primary a.level0 {
    display: inline-block;
  }
  .nav-primary li:last-child > a {
    border-bottom: none;
  }
  .nav-primary a:hover,
  .nav-primary li:hover > a {
    color: #0645AD;
  }
  .nav-primary .menu-active {
    z-index: 200;
  }
  .nav-primary li.level0 ul {
    background: #FBFBFB;
    border: solid 1px #000;
    position: absolute;
    left: 0;
    top: 30px;
    /* Height of ".nav-primary a.level0" */
    z-index: 10;
    width: 250px;
    padding-left: 10px;
    padding-right: 10px;
    display: none;
    /* Hide until displayed. */
  }
  .nav-primary li.level1 ul {
    left: 60px;
    top: 15px;
  }
  .nav-primary li.level0 ul.level0.position-test {
    display: block;
  }
  .nav-primary li.level0 ul.level0.spill {
    right: 0;
    left: auto;
  }
  .nav-primary li.level0 ul.level0.spill li.level1 ul {
    left: auto;
    right: 50px;
    top: 20px;
  }
  .nav-primary li.level0 li.parent > a {
    position: relative;
  }
  .nav-primary li.level0 li.parent > a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #ccc;
    border-right: none;
    right: 5px;
    top: 50%;
    margin-top: -3px;
  }
}

.nav-primary li.menu-active > ul {
  display: block;
}

/* ============================================ *
 * Search - Skip Link
 * ============================================ */
.skip-search:not(.skip-active):hover .icon {
  background-position: -46px -146px;
}

.skip-search .icon {
  background-position: 4px -146px;
}

@media only screen and (min-width: 771px) {
  .skip-search {
    display: none;
  }
}

/* ============================================ *
 * Search - Skip Content
 * ============================================ */
#header-search {
  padding: 20px;
}

@media only screen and (min-width: 771px) {
  #header-search {
    display: block;
    position: absolute;
    top: 55px;
    right: 0;
    width: 25%;
    height: 50px;
    padding: 0;
  }
}

/* ============================================ *
 * Search Input
 * ============================================ */
#search_mini_form .input-box {
  position: relative;
  padding-top: 0;
}

#search_mini_form label {
  text-indent: -999em;
  float: left;
}

#search {
  width: 100%;
  height: 40px;
  padding-right: 40px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

#search_mini_form .search-button {
  text-indent: -9999px;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  border: 0;
  background: none;
}

#search_mini_form .search-button:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  background-position: 4px -146px;
}

#search_mini_form .search-button:hover:before {
  opacity: 0.8;
}

#search_mini_form .search-button:active:before {
  margin-top: -13px;
  margin-left: -13px;
}

/* ============================================ *
 * Header - Account
 * ============================================ */
/* -------------------------------------------- *
 * Skip Link - Account
 */
.skip-account:not(.skip-active):hover .icon {
  background-position: -46px -44px;
}

.skip-account .icon {
  background-position: 4px -44px;
}

@media only screen and (min-width: 771px) {
  .skip-account {
    float: none;
    width: auto;
    vertical-align: top;
    display: inline-block;
    padding: 0 10px;
    text-transform: uppercase;
  }
  #header-account.skip-active {
    background: #FBFBFB;
    border: solid 1px #000;
    display: block;
    position: absolute;
    z-index: 200;
    top: 40px;
    right: 115px;
    width: 200px;
  }
  #header-account a {
    display: block;
    padding: 5px 10px;
    color: #111;
    line-height: 2;
  }
  #header-account a:hover {
    color: #0645AD;
  }
}

/* -------------------------------------------- *
 * Account Links
 */
#header-account {
  padding: 5px 0;
}

#header-account a {
  position: relative;
  display: block;
  padding: 5px 10px;
  line-height: 23px;
  text-align: center;
}

#header-account a:hover {
  color: #0645AD;
}

/* ============================================ *
 * Header - Cart
 * ============================================ */
/* -------------------------------------------- *
 * Skip Link - Cart
 */
.skip-cart:not(.skip-active):hover .icon {
  background-position: -50px -95px;
}

.skip-cart .icon {
  background-position: 0px -95px;
}

@media only screen and (min-width: 771px) {
  .skip-cart {
    width: auto;
    padding: 0 10px;
  }
  #header-cart.skip-active {
    background: #FBFBFB;
    border: solid 1px #000;
    display: block;
    position: absolute;
    z-index: 200;
    top: 40px;
    right: 0;
    width: 320px;
    background: white;
  }
}

/* -------------------------------------------- *
 * Skip Cart Notifier
 */
.skip-cart .count {
  border-radius: 12px;
  display: inline-block;
  top: -6px;
  position: relative;
  z-index: 5;
  width: 22px;
  height: 22px;
  background: rgba(6, 69, 173, 0.9);
  color: #FFFFFF;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.skip-link.skip-active .count {
  color: white;
}

.skip-cart.no-count .count {
  display: none;
}

@media only screen and (max-width: 499px) {
  .skip-cart .count {
    margin-left: -12px;
  }
}

@media only screen and (min-width: 771px) {
  .skip-cart {
    color: #0645AD;
    text-transform: uppercase;
  }
  .skip-cart:hover {
    text-decoration: none;
  }
  .skip-cart .count {
    border-radius: 0px;
    position: static;
    background: none;
    margin-left: 0px;
    font-size: 12px;
    width: auto;
  }
  .skip-cart .count:before {
    content: '(';
  }
  .skip-cart .count:after {
    content: ')';
  }
  .skip-cart .count,
  .skip-link.skip-active .count {
    color: #0645AD;
  }
}

.skip-cart .count.empty {
  display: none;
}

/* -------------------------------------------- *
 * Mini Cart - Empty
 */
.cart-menu .empty {
  padding: 20px;
  text-align: center;
}

/* -------------------------------------------- *
 * Mini Cart - Full
 */
/* Actions */
.cart-menu .actions {
  overflow: hidden;
  padding: 15px;
}

.cart-menu .actions .button {
  float: left;
  width: 48%;
}

.cart-menu .actions .button + .button {
  margin-left: 4%;
}

/* Subtotal */
.cart-menu .subtotal {
  padding: 0 15px 15px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 24px;
  line-height: 1.2;
}

/* List */
.mini-cart-list {
  margin-bottom: 5px;
}

.mini-cart-list li {
  position: relative;
  min-height: 90px;
  padding: 15px 15px 15px 90px;
  border-top: 1px solid #000;
  font-size: 12px;
  line-height: 1.35;
}

.mini-cart-list .product-name {
  display: inline-block;
}

.mini-cart-list .product-image {
  position: absolute;
  left: 15px;
  top: 15px;
}

.mini-cart-list .product-image img {
  width: 60px;
  height: 60px;
}

.mini-cart-list .has-options {
  margin-bottom: 0;
  color: #9B9B9B;
  font-size: 12px;
}

/* Too full - additional items will be shown in cart */
.cart-menu .last-added {
  padding: 10px 15px 15px;
  border-top: 1px solid #000;
  font-size: 12px;
}

/* ================================================= *
 * General Product List Styles (not module-specific)
 * ================================================= */
/* -------------------------------------------- *
 * Product List General
 */
.category-title h1,
body.catalogsearch-result-index .page-title h1 {
  border-bottom: none;
}

.category-image {
  margin-bottom: 10px;
}

.products-list .action .button,
.products-grid .actions .button {
  white-space: normal;
}

/* ============================================ *
 * Product Grid
 * ============================================ */
.products-grid {
  position: relative;
}

.products-grid:after {
  content: '';
  display: table;
  clear: both;
}

.products-grid > li {
  position: relative;
  margin-bottom: 20px;
  text-align: center;
}

.products-grid > li:after {
  content: '';
  display: table;
  clear: both;
}

.products-grid .product-image {
  width: 100%;
  margin-bottom: 15px;
}

.products-grid .product-image img {
  width: 100%;
  height: auto;
}

.products-grid .product-image img:hidden {
  display: none;
}

.widget-new-products .products-grid .product-image {
  width: 75%;
  margin-bottom: 15px;
  margin-left: 10%;
}

.products-grid .product-info {
  position: relative;
  padding-bottom: 95px;
}

.products-grid .actions {
  padding-top: 10px;
  position: absolute;
  bottom: 0px;
  min-height: 85px;
  width: 100%;
}

.products-grid .ratings .rating-box {
  margin: 0 auto;
}

.products-grid .ratings .amount {
  display: none;
}

.products-grid .price-box {
  margin: 0 0 5px;
}

.products-grid .add-to-links {
  margin-bottom: 0;
}

/* Config: Two columns + flexible gutter */
/* ============================================ *
 * Product List
 * ============================================ */
.products-list {
  margin-top: 20px;
  margin-bottom: 20px;
}

.products-list > li {
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.products-list > li .product-image {
  float: left;
  width: 33.33333%;
}

.products-list > li .product-image img {
  width: 100%;
  max-width: 100%;
}

.products-list > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.products-list .product-shop {
  float: right;
  width: 66.66667%;
  padding-left: 20px;
}

.products-list .product-shop .product-name {
  margin-bottom: 0;
}

.products-list .product-shop .ratings {
  margin: 0;
}

.products-list .product-shop .ratings .rating-box,
.products-list .product-shop .ratings .rating-links {
  float: left;
  margin-right: 7px;
}

.products-list .product-shop .ratings .rating-links {
  margin-top: 4px;
}

.products-list .product-shop .price-box {
  margin-top: 0;
}

.products-list .product-shop .action {
  margin: 7px 0;
}

.products-list .product-shop .desc {
  margin-top: 7px;
}

.products-list .product-shop .product-primary,
.products-list .product-shop .desc {
  float: left;
  width: 65%;
  overflow: hidden;
}

.products-list .product-shop .product-secondary {
  float: right;
  width: 35%;
  text-align: right;
  clear: right;
}

@media only screen and (min-width: 360px) {
  .products-list .product-name a {
    font-size: 12px;
  }
}

@media only screen and (max-width: 1279px) {
  .products-list .product-shop .product-primary,
  .products-list .product-shop .desc {
    float: left;
    width: 60%;
    padding-right: 20px;
  }
  .products-list .product-shop .product-secondary {
    float: right;
    width: 40%;
  }
}

@media only screen and (max-width: 600px) {
  .products-list .product-shop .price-box .special-price {
    padding-left: 0;
  }
  .products-list .product-shop .product-primary,
  .products-list .product-shop .product-secondary,
  .products-list .product-shop .desc {
    float: none;
    width: 100%;
    padding-right: 0;
    text-align: left;
  }
}

/* ============================================ *
 * Mini Product List
 * ============================================ */
.mini-products-list .product-image {
  float: left;
  min-width: 50px;
}

.mini-products-list .product-details {
  margin-left: 60px;
}

.mini-products-list .product-details .product-name {
  padding-top: 10px;
}

.mini-products-list li {
  margin-bottom: 10px;
  clear: both;
}

.mini-products-list li:after {
  content: '';
  display: table;
  clear: both;
}

.mini-products-images-list:after {
  content: '';
  display: table;
  clear: both;
}

.mini-products-images-list li.item {
  float: left;
  width: 50%;
  margin: 0;
  padding: 0 5px 10px 0;
}

.mini-products-images-list li.item:nth-child(even) {
  padding-right: 0;
  padding-left: 5px;
}

.mini-products-images-list li.item .product-image {
  display: block;
}

.mini-products-images-list li.item .product-image img {
  width: 100%;
  max-width: 100%;
}

/* ============================================ *
 * Catalog - List
 * ============================================ */
.category-image {
  border: 1px solid #000;
  padding: 10px;
}

.category-image img {
  width: 100%;
  max-width: 100%;
}

.category-image img:hidden {
  display: none;
}

/* ============================================ *
 * Layered Navigation
 * ============================================ */
.block-layered-nav .block-subtitle--filter {
  display: none;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-weight: normal;
  margin-bottom: 0px;
  padding: 7px 10px 7px 24px;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  position: relative;
  background-color: #F4F4F4;
  cursor: pointer;
}

.block-layered-nav .block-subtitle--filter:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 4px solid #0645AD;
  border-bottom: none;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}

.block-layered-nav .block-subtitle--filter:hover {
  background-color: shade(#F4F4F4, 3%);
}

.block-layered-nav .block-content .toggle-tabs {
  display: none;
}

.block-layered-nav .block-content > dl > dt {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-weight: normal;
  margin-bottom: 0px;
  padding: 7px 10px 7px 24px;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  position: relative;
  background-color: #F4F4F4;
  display: block;
}

.block-layered-nav .block-content > dl > dt:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 4px solid #0645AD;
  border-bottom: none;
  left: 10px;
  top: 50%;
  margin-top: -3px;
}

.block-layered-nav .block-content > dl > dt:hover {
  background-color: shade(#F4F4F4, 3%);
}

.block-layered-nav .block-content > dl > dd {
  padding: 10px;
  margin: 0;
  border-width: 0 1px;
  border-style: solid;
  border-color: #000;
}

.block-layered-nav .block-content > dl > dd:last-child {
  border-width: 0 1px 1px 1px;
}

.block-layered-nav dl dd {
  margin-bottom: 10px;
  margin-top: 10px;
}

.block-layered-nav dl dd ol > li > span, .block-layered-nav dl dd ol > li > a {
  padding: 5px 15px;
  display: block;
}

.block-layered-nav dl dd ol > li > a .count {
  color: #9B9B9B;
}

@media only screen and (min-width: 771px) {
  .block-layered-nav .block-content > dl > dt {
    padding-left: 10px;
  }
  .block-layered-nav .block-content > dl > dt:after {
    display: none;
  }
}

@media only screen and (max-width: 770px) {
  .sidebar .block.block-layered-nav {
    border-bottom: none;
  }
  .block-layered-nav--no-filters .block-title {
    display: none;
  }
  .block-layered-nav .block-content {
    padding-top: 0;
    margin-top: 15px;
  }
  .block-layered-nav .block-content > dl > dt {
    cursor: pointer;
    border-bottom-width: 0;
  }
  .block-layered-nav .block-content > dl > dt:hover {
    color: #0645AD;
  }
  .block-layered-nav .block-content > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #0645AD;
    border-right: none;
  }
  .block-layered-nav .block-content > dl > dt.last {
    border-bottom-width: 1px;
  }
  .block-layered-nav .block-content > dl > dd {
    display: none;
  }
  .block-layered-nav .block-content.accordion-open > dl > dt.current {
    border-bottom-width: 1px;
  }
  .block-layered-nav .block-content.accordion-open > dl > dt.current:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 6px;
    top: 50%;
    margin-top: -3px;
  }
  .block-layered-nav .block-content.accordion-open > dl > dd.current {
    display: block;
  }
  .block-layered-nav .block-subtitle--filter {
    background-color: #0645AD;
    border: 0;
    margin-bottom: 0;
    display: block;
    color: #FFFFFF;
  }
  .block-layered-nav .block-subtitle--filter:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #FFFFFF;
    border-right: none;
    right: 10px;
    top: 50%;
    margin-top: -5px;
  }
  .block-layered-nav .block-subtitle--filter:hover {
    background-color: #053b94;
    color: #FFFFFF;
  }
  .block-layered-nav .block-subtitle--filter.active:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #FFFFFF;
    border-bottom: none;
    right: 10px;
    top: 50%;
    margin-top: -3px;
  }
  #narrow-by-list,
  #narrow-by-list2 {
    padding: 10px;
    border: 1px solid #000;
    border-top: 0;
  }
  .block-layered-nav dl ol > li > a,
  .block-layered-nav dl ol > li > span {
    padding: 7px;
    margin: 5px;
  }
  .block-layered-nav dl ol > li > a {
    color: #111;
    background-color: #F4F4F4;
    padding: 5px 10px;
  }
  .block-layered-nav dl ol > li > a:hover {
    text-decoration: none;
    background: shade(#F4F4F4, 3%);
  }
}

.block-layered-nav .currently .block-subtitle {
  display: block;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
}

.block-layered-nav .currently ol {
  padding-left: 10px;
  margin-bottom: 10px;
}

.block-layered-nav .currently ol li {
  margin-bottom: 5px;
}

.block-layered-nav .currently ol li .label {
  font-weight: bold;
}

.block-layered-nav .currently ol li:after {
  content: '';
  display: table;
  clear: both;
}

.block-layered-nav .actions {
  text-align: right;
  margin-bottom: 7px;
}

/* ============================================ *
 * Catalog - Product
 * ============================================ */
.product-view .product-essential .extra-info .ratings .rating-box,
.product-view .product-essential .extra-info .ratings .amount {
  float: left;
}

.product-view .product-essential .extra-info .ratings .rating-box {
  margin-top: 8px;
  margin-right: 10px;
}

.product-view .product-essential .extra-info .ratings:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .product-essential:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .product-shop .product-name .h1,
.product-view .product-img-box .product-name h1 {
  color: #0645AD;
  margin-bottom: 10px;
  border: 0;
}

.product-view .product-shop {
  width: 50%;
  float: right;
}

.product-view .product-shop .product-name {
  display: none;
  float: left;
}

.product-view .product-shop .product-name .h1 {
  float: left;
  margin-bottom: 5px;
}

.product-view .product-shop .extra-info {
  float: left;
  padding-right: 15px;
  clear: left;
  width: 70%;
}

.product-view .product-shop .price-info {
  float: right;
  padding-left: 15px;
  text-align: right;
}

.product-view .product-shop .extra-info,
.product-view .product-shop .price-info {
  max-width: 70%;
  margin-bottom: 10px;
}

.product-view .product-shop .short-description {
  margin-bottom: 10px;
  clear: both;
}

.product-view .product-shop .ratings {
  margin-bottom: 8px;
}

.product-view .product-shop .availability {
  font-size: 12px;
}

.product-view .product-shop .price-box {
  margin-top: 0;
}

.product-view .product-shop .price-box .old-price,
.product-view .product-shop .price-box .special-price,
.product-view .product-shop .price-box .regular-price {
  padding-right: 0;
  line-height: 1.2;
}

.product-view .product-shop .price-box .regular-price .price,
.product-view .product-shop .price-box .special-price .price,
.product-view .product-shop .price-box .full-product-price .price {
  color: #0645AD;
  font-size: 24px;
}

.product-view .product-shop .price-box .special-price .price-label {
  font-size: 12px;
  text-transform: uppercase;
}

.product-view .product-shop .price-box .special-price span.weee {
  color: #111;
}

.product-view .product-shop .price-box .special-price span.weee span.price {
  font-size: 12px;
}

.product-view .product-shop .price-box .price-excluding-tax,
.product-view .product-shop .price-box .price-including-tax {
  display: block;
  line-height: 1.2;
  color: #111;
}

.product-view .product-shop .price-box .price-excluding-tax .label,
.product-view .product-shop .price-box .price-including-tax .label {
  font-size: 12px;
  font-weight: 300;
}

.product-view .product-shop .price-box .price-excluding-tax .price,
.product-view .product-shop .price-box .price-including-tax .price {
  font-size: 20px;
}

.product-view .price-box.map-info a {
  display: inherit;
}

.product-view .old-price .price-label {
  display: none;
}

.product-view .add-to-cart-wrapper,
.product-view .block-related {
  width: 50%;
  float: right;
  clear: right;
}

@media only screen and (max-width: 850px) {
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 12px;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 12px;
  }
}

@media only screen and (max-width: 770px) {
  .product-view .add-to-cart-wrapper {
    float: none;
    width: 100%;
    clear: both;
  }
  .product-view .product-shop .price-box .price-excluding-tax .label,
  .product-view .product-shop .price-box .price-including-tax .label {
    font-size: 12px;
  }
  .product-view .product-shop .price-box .price-excluding-tax .price,
  .product-view .product-shop .price-box .price-including-tax .price {
    font-size: 20px;
  }
}

@media only screen and (max-width: 420px) {
  .product-view .product-shop .price-box .price-excluding-tax,
  .product-view .product-shop .price-box .price-including-tax {
    margin-bottom: 5px;
  }
  .product-view .product-shop .price-box .price-excluding-tax span,
  .product-view .product-shop .price-box .price-including-tax span {
    display: block;
  }
}

.product-img-box {
  width: 50%;
  float: left;
}

.product-img-box .product-name h1 {
  border: 0;
}

.product-img-box .product-image {
  margin-bottom: 10px;
}

.product-img-box .product-image img {
  max-width: 100%;
  max-height: 750px;
  margin: 0px auto;
}

@media only screen and (max-width: 359px) {
  .product-img-box .product-image img {
    max-height: 450px;
  }
}

.product-image-gallery {
  position: relative;
}

.product-image-gallery .gallery-image {
  display: none;
}

.product-image-gallery .gallery-image.visible {
  display: block;
}

.product-image-gallery .gallery-image.visible.hidden {
  visibility: hidden;
}

.product-image-gallery:before, .product-image-gallery:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
}

.product-image-gallery:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}

.product-image-gallery:after {
  background-image: url("https://totokaelo.com/skin/frontend/totokaelo/default/images/opc-ajax-loader.gif");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}

.product-image-gallery.loading {
  position: relative;
}

.product-image-gallery.loading:before, .product-image-gallery.loading:after {
  display: block;
}

.product-image-thumbs li {
  display: inline-block;
}

.product-image-thumbs li:first-child {
  margin-left: -1px;
}

.product-image-thumbs a {
  display: inline-block;
  border: 1px solid transparent;
}

.no-touch .product-image-thumbs a:hover {
  border-color: #c7c7c7;
}

.product-view .product-shop,
.product-view .add-to-cart-wrapper,
.product-view .block-related {
  padding-left: 15px;
}

.product-img-box {
  padding-right: 15px;
}

.product-view .product-shop,
.product-img-box,
.product-collateral,
.product-view .block-related,
.box-collateral {
  margin-bottom: 10px;
}

.product-view {
  /* Set a min-height so that the floated elements break appropriately */
}

.product-view .add-to-box:after,
.product-view .add-to-cart:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .add-to-cart {
  padding-bottom: 3px;
  margin-bottom: 10px;
  border-bottom: 1px solid #000;
}

.product-view .add-to-cart .qty-wrapper,
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart-buttons {
  min-height: 40px;
}

.product-view .product-options-bottom .price-box,
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart-buttons .button,
.product-view .add-to-cart-buttons .paypal-logo {
  margin-bottom: 10px;
}

.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart .qty-wrapper label {
  margin-right: 7px;
  float: left;
}

.product-view .add-to-cart .qty-wrapper label {
  line-height: 40px;
}

.product-view .add-to-cart .qty-wrapper .qty {
  float: left;
  height: 40px;
}

.product-view .add-to-cart-buttons {
  float: left;
  margin-right: 10px;
  max-width: 100%;
}

.product-view .add-to-cart-buttons .paypal-logo {
  clear: left;
  text-align: center;
}

.product-view .add-to-cart-buttons .paypal-logo .paypal-button {
  margin: 0 auto;
  display: block;
  width: 170px;
}

.product-view .add-to-cart-buttons .paypal-logo .bml_button {
  display: block;
  width: 174px;
  margin: 0 auto;
}

.product-view .add-to-cart-buttons .paypal-logo .bml_button a {
  text-align: center;
}

.product-view .add-to-cart-buttons .paypal-logo .paypal-or {
  display: block;
  margin-bottom: 10px;
  margin-left: 0;
  margin-right: 0;
  line-height: 1;
  text-align: center;
}

.product-view .add-to-cart-buttons .button {
  min-height: 40px;
  line-height: 40px;
  font-size: 12px;
  padding: 0px 30px;
  float: left;
  min-width: 160px;
  width: 100%;
  white-space: normal;
}

.product-view .alert-price,
.product-view .alert-stock {
  clear: both;
}

@media only screen and (max-width: 359px) {
  .product-view .add-to-cart-buttons .paypal-or {
    line-height: 20px;
  }
  .product-view .add-to-cart-buttons .paypal-logo,
  .product-view .add-to-cart-buttons .paypal-or,
  .product-view .add-to-cart-buttons .paypal-button,
  .product-view .add-to-cart-buttons .button {
    text-align: center;
    width: 100%;
    display: block;
    margin-right: 0;
    margin-left: 0;
    float: none;
  }
}

/* This is the "or" that separates the "Add to Cart" and "Add to X" links */
.add-to-box .or {
  display: none;
}

.product-view .add-to-links {
  clear: both;
  margin-top: 0px;
  margin-right: 15px;
  float: left;
}

.product-view .add-to-links:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .add-to-links li {
  float: left;
}

.product-view .add-to-links a {
  padding: 2px 7px 2px 0px;
  margin-left: 7px;
  border-right: 1px solid #000;
}

.product-view .add-to-links li:first-child a {
  margin-left: 0px;
}

.product-view .add-to-links li:last-child a {
  border-right: 0px;
}

.product-view .sharing-links {
  float: left;
}

.product-view .sharing-links:after {
  content: '';
  display: table;
  clear: both;
}

.product-view .sharing-links li {
  float: left;
  padding: 0px 7px 7px;
}

.product-view .sharing-links a {
  text-indent: -9999px;
  display: block;
  width: 26px;
  height: 26px;
}

.product-view .sharing-links a:hover {
  opacity: 0.8;
}

.product-view .sharing-links a.link-wishlist {
  background-position: 0px -225px;
}

.product-view .sharing-links a.link-compare {
  background-position: 0px -250px;
}

.product-view .sharing-links a.link-email-friend {
  background-position: 0px -322px;
}

.product-view .sharing-links a.link-facebook {
  background-position: 0px -425px;
}

.product-view .sharing-links a.link-twitter {
  background-position: 0px -372px;
}

@media only screen and (max-width: 599px) {
  .add-to-box .add-to-links a {
    float: none;
    width: auto;
    text-indent: 0;
  }
}

.product-collateral {
  clear: both;
}

.collateral-tabs dd h2 {
  display: none;
}

.box-collateral {
  clear: both;
}

@media only screen and (min-width: 771px) {
  .product-collateral .toggle-tabs {
    display: block;
    width: 100%;
    position: relative;
    border: 1px solid #000;
    background-color: #F4F4F4;
  }
  .product-collateral .toggle-tabs li {
    float: left;
    border-right: 1px solid transparent;
    border-left: 1px solid transparent;
  }
  .product-collateral .toggle-tabs li > span {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    display: inline-block;
    padding: 0 30px;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 12px;
    position: relative;
    bottom: -1px;
  }
  .product-collateral .toggle-tabs li.current {
    border-right: 1px solid #000;
    border-left: 1px solid #000;
  }
  .product-collateral .toggle-tabs li.current > span {
    background-color: #FFFFFF;
    z-index: 5;
  }
  .product-collateral .toggle-tabs li.current span,
  .product-collateral .toggle-tabs li:hover span {
    color: #0645AD;
  }
  .product-collateral .toggle-tabs li:first-child {
    border-left: none;
  }
  .product-collateral .toggle-tabs:after {
    content: '';
    display: table;
    clear: both;
  }
  .product-collateral > dl {
    width: 100%;
  }
  .product-collateral > dl > dt {
    display: none;
  }
  .product-collateral > dl > dd {
    width: 100%;
    display: none;
    padding: 15px;
    border: 1px solid #000;
    border-top: 0;
  }
  .product-collateral > dl > dd.current {
    display: block;
  }
}

@media only screen and (max-width: 770px) {
  .product-collateral .toggle-tabs {
    display: none;
  }
  .product-collateral > dl > dt {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    position: relative;
    background-color: #F4F4F4;
    display: block;
  }
  .product-collateral > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px;
  }
  .product-collateral > dl > dt:hover {
    background-color: shade(#F4F4F4, 3%);
  }
  .product-collateral > dl > dd {
    padding: 10px;
    margin: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #000;
  }
  .product-collateral > dl > dd:last-child {
    border-width: 0 1px 1px 1px;
  }
  .product-collateral > dl > dt {
    cursor: pointer;
    border-bottom-width: 0;
  }
  .product-collateral > dl > dt:hover {
    color: #0645AD;
  }
  .product-collateral > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #0645AD;
    border-right: none;
  }
  .product-collateral > dl > dt.last {
    border-bottom-width: 1px;
  }
  .product-collateral > dl > dd {
    display: none;
  }
  .product-collateral.accordion-open > dl > dt.current {
    border-bottom-width: 1px;
  }
  .product-collateral.accordion-open > dl > dt.current:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #0645AD;
    border-bottom: none;
    left: 6px;
    top: 50%;
    margin-top: -3px;
  }
  .product-collateral.accordion-open > dl > dd.current {
    display: block;
  }
}

@media only screen and (max-width: 770px) {
  .product-view .product-shop,
  .product-view .add-to-cart-wrapper,
  .product-view .block-related,
  .product-img-box,
  .product-collateral {
    width: 100%;
    float: none;
    padding-right: 0;
    padding-left: 0;
  }
}

@media only screen and (min-width: 771px) {
  .product-view .product-shop .product-name {
    display: block;
  }
  .product-img-box .product-name {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  .product-view .product-shop,
  .product-img-box,
  .product-collateral,
  .product-view .block-related,
  .box-collateral {
    margin-bottom: 15px;
  }
}

.product-view .ratings .rating-links {
  clear: left;
  float: left;
  margin-top: 0;
}

#product-attribute-specs-table {
  max-width: 50em;
  border: 1px solid #C0C0C0;
}

#product-attribute-specs-table th {
  border-right: 1px solid #C0C0C0;
  border-bottom: 1px solid #C0C0C0;
}

/* -------------------------------------------- *
 * Catalog - Grouped Product List
 */
.grouped-items-table-wrapper {
  border: solid 1px #C0C0C0;
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
}

.grouped-items-table-wrapper tbody tr:last-child td {
  border-bottom: none;
}

@media only screen and (max-width: 359px) {
  .grouped-items-table-wrapper {
    margin-bottom: 15px;
  }
}

.grouped-items-table .name-wrapper {
  color: #111;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.grouped-items-table .qty-wrapper {
  padding-top: 7px;
}

.grouped-items-table .qty-label {
  margin-left: 7px;
}

.grouped-items-table td {
  padding: 4px;
}

.grouped-items-table td:last-child {
  width: 30%;
  text-align: left;
}

.grouped-items-table .price-box {
  text-align: right;
}

/* -------------------------------------------- *
 * Catalog - Product Options
 */
.product-options {
  width: 100%;
  margin: 10px 0 0;
  padding: 10px 15px 15px;
  border: 1px solid #CCCCCC;
  clear: both;
  position: relative;
}

.product-options p.required {
  position: absolute;
  top: 6px;
  right: 15px;
  text-align: right;
}

@media only screen and (max-width: 979px) {
  .product-view .product-options .required {
    position: static;
  }
}

.product-options dt {
  margin: 10px 0 3px;
  font-weight: normal;
}

.product-options dt:first-child {
  margin-top: 0;
}

.product-options dd .qty-holder {
  display: block;
  padding: 10px 0 0 0;
}

.product-options dd .qty-holder .qty {
  width: 3em;
}

.product-options dd .qty-holder label {
  vertical-align: middle;
}

.product-options dd .qty-disabled {
  background: none;
  border: 0;
  padding: 0 2px;
}

.product-options dd {
  padding: 0 0 10px 0;
  margin: 0 0 5px;
  border-bottom: 1px solid #EDEDED;
}

.product-options dl.last dd.last {
  border-bottom: 0;
  padding-bottom: 5px;
  margin-bottom: 0;
}

.product-options dd .input-text {
  width: 98%;
}

.product-options dd .input-box {
  padding-top: 0;
}

.product-options dd input.datetime-picker {
  width: 150px;
}

.product-options dd .time-picker {
  display: inline-block;
  padding: 2px 0;
  vertical-align: middle;
}

.product-options dd textarea {
  width: 98%;
  height: 8em;
}

.product-options dd select {
  width: 330px;
  max-width: 100%;
}

.product-options ul.options-list {
  margin-right: 5px;
}

.product-options ul.options-list li {
  line-height: 1.5;
  margin-bottom: 7px;
}

.product-options ul.options-list li:last-child {
  margin-bottom: 0;
}

.product-options ul.options-list .radio,
.product-options ul.options-list .checkbox {
  float: left;
  margin-top: 5px;
}

.product-options ul.options-list .label {
  display: block;
}

.product-options ul.options-list label {
  font-weight: normal;
}

.product-options p.note {
  margin: 0;
  font-size: 12px;
}

.product-options-bottom {
  background-color: #F4F4F4;
  padding: 15px 20px;
  border: 1px solid #CCCCCC;
  border-top: 0;
  margin-bottom: 10px;
}

.product-options-bottom:after {
  content: '';
  display: table;
  clear: both;
}

.product-options-bottom .product-pricing,
.product-options-bottom .tier-prices {
  float: right;
  margin: 0;
  padding: 0 0 10px;
  border: 0;
  background: 0;
  color: #111;
}

@media only screen and (max-width: 1199px) {
  .product-options-bottom .product-pricing,
  .product-options-bottom .tier-prices {
    float: none;
    width: 100%;
    text-align: right;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #CCCCCC;
  }
}

.product-options-bottom .tier-prices li {
  background: 0;
  padding: 2px 0;
}

.product-options-bottom .tier-prices .price,
.product-options-bottom .tier-prices .benefit {
  color: #111;
}

/* "display: none" should be removed if products on site have a long list of product options and those product options */
/*  affect the price so that the customer can see the updated price close to the "Add to Cart" button */
.product-options-bottom .price-box {
  display: none;
  float: right;
  margin: 0 0 10px;
  padding: 0;
}

@media only screen and (max-width: 359px) {
  .product-options-bottom .price-box .price-as-configured {
    text-align: right;
  }
  .product-options-bottom .price-box .price-as-configured .price-label {
    display: block;
  }
}

.product-options-bottom .price-tax {
  float: left;
}

/* -------------------------------------------- *
 * Related Products
 */
/* Block: Related */
.block-related li {
  margin-bottom: 7px;
}

.block-related .block-title {
  border-bottom: none;
}

.block-related .block-title h2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  margin-bottom: 0;
}

.block-related .block-subtitle {
  margin-bottom: 7px;
}

.block-related .product {
  margin-left: 20px;
  position: relative;
}

.block-related .checkbox {
  float: left;
  margin-top: 36px;
}

.block-related .product-details {
  margin-left: 90px;
}

.block-related .product-name {
  margin-bottom: 3px;
}

.block-related .product-details .price-box {
  margin: 2px 0 3px;
}

.block-related .product-details .price-box a,
.block-related .product-details .price-box p,
.block-related .product-details .price-box span {
  float: left;
  margin-left: 3px;
}

.block-related .product-details .price-box a:first-child,
.block-related .product-details .price-box p:first-child,
.block-related .product-details .price-box span:first-child {
  margin-left: 0;
  font-size: 12px;
  padding-right: 5px;
  padding-left: 5px;
}

.block-related .product-details .price-box:after {
  content: '';
  display: table;
  clear: both;
}

.block-related .link-wishlist {
  display: none;
}

/* -------------------------------------------- *
 * Upsell Products
 */
.box-up-sell {
  margin-top: 20px;
}

.box-up-sell .ratings {
  display: none;
}

/* ============================================ *
 * Catalog - MSRP MAP Popup
 * ============================================ */
.cart-msrp-totals {
  color: red;
  font-size: 12px !important;
  font-weight: bold;
  margin: 10px 10px 0;
  padding: 10px;
  text-align: right;
  text-transform: uppercase;
}

.map-cart-sidebar-total {
  color: red;
  display: block;
  font-size: 10px;
  font-weight: bold;
  text-align: left;
  padding: 2px 5px;
}

.map-popup {
  background: #FFFFFF;
  border: 5px solid #000;
  margin: 12px 0 0;
  position: absolute;
  text-align: left;
  width: 450px;
  z-index: 100;
}

@media only screen and (min-width: 771px) {
  .map-popup.map-popup-right {
    left: 10px !important;
  }
  .map-popup.map-popup-left {
    left: auto !important;
    right: 10px !important;
  }
}

@media only screen and (max-width: 770px) {
  .map-popup {
    width: 100%;
    left: 0px !important;
  }
}

.map-popup .map-popup-heading {
  padding: 8px 10px;
  margin-right: 40px;
  width: auto;
}

.map-popup .map-popup-heading h3 {
  font-size: 12px;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  word-wrap: break-word;
  text-align: left;
  text-overflow: ellipsis;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-heading h3 {
    text-align: center;
  }
}

.map-popup .map-popup-close {
  display: block;
  position: absolute;
  top: 0px;
  right: 0px;
  height: 36px;
  width: 36px;
  font-size: 20px;
  line-height: 32px;
  text-align: center;
}

.map-popup .map-popup-content {
  border-top: 1px solid #EDEDED;
  padding: 10px;
  margin: 0 10px;
  overflow: hidden;
  text-align: left;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-content {
    text-align: center;
  }
}

.map-popup .map-popup-checkout {
  padding: 10px 0;
}

.map-popup .map-popup-checkout form:after {
  content: '';
  display: table;
  clear: both;
}

.map-popup .map-popup-checkout span {
  display: block;
}

.map-popup .map-popup-checkout .button {
  float: left;
  margin: 0 2px;
  clear: left;
}

.map-popup .map-popup-checkout .additional-addtocart-box {
  float: left;
  min-width: 210px;
}

.map-popup .map-popup-checkout .additional-addtocart-box li {
  list-style-type: none;
}

.map-popup .map-popup-checkout .paypal-logo {
  width: auto;
}

.map-popup .map-popup-checkout .paypal-logo a {
  display: inline-block;
  float: left;
  clear: left;
}

.map-popup .map-popup-checkout .paypal-logo .paypal-or {
  float: left;
  text-align: center;
  padding: 5px 15px;
  clear: left;
}

.map-popup .map-popup-checkout .paypal-logo:after {
  content: '';
  display: table;
  clear: both;
}

.map-popup .map-popup-checkout .paypal-logo .bml_button a {
  clear: left;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-checkout {
    text-align: center;
  }
  .map-popup .map-popup-checkout .button,
  .map-popup .map-popup-checkout .additional-addtocart-box,
  .map-popup .map-popup-checkout .paypal-logo a,
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    float: none;
  }
  .map-popup .map-popup-checkout .additional-addtocart-box {
    min-width: 0px;
  }
  .map-popup .map-popup-checkout .paypal-logo .paypal-or {
    margin: 0px;
    margin-bottom: 10px;
  }
}

.map-popup .map-popup-checkout:after {
  content: '';
  display: table;
  clear: both;
}

.map-popup .map-popup-price {
  padding: 10px 0;
}

@media only screen and (max-width: 359px) {
  .map-popup .map-popup-price {
    text-align: center;
    padding-top: 0px;
  }
}

.map-popup .map-popup-price .price-box,
.map-popup .map-popup-price .price-box .special-price {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.map-popup .map-popup-price .price-box .minimal-price-link {
  display: inline-block;
}

.map-popup .map-popup-text {
  padding: 10px 0;
  margin: 0 10px;
  word-wrap: break-word;
}

.map-popup .map-popup-text,
.map-popup .map-popup-only-text {
  border-top: 1px solid #EDEDED;
}

/* ============================================ *
 * Catalog - MSRP Product Listing
 * ============================================ */
.price-box .map-link {
  display: block;
  text-align: center;
}

/* ============================================ *
 * Catalog - Compare
 * ============================================ */
.block-compare .product-name:after {
  content: '';
  display: table;
  clear: both;
}

.compare-table .product-image {
  display: inline-block;
}

.compare-table .product-shop-row.top td {
  padding-bottom: 0;
  border-bottom: 0;
}

.compare-table .product-shop-row.bottom td {
  padding-top: 0;
}

/* ============================================ *
 * Checkout - Layout
 * ============================================ */
.cart {
  max-width: 1200px;
  margin: 0 auto;
}

.cart .page-title {
  margin: 0 0 30px 0;
  text-align: center;
}

.cart-table {
  width: 100%;
}

.cart .button {
  white-space: normal;
}

.cart-forms,
.cart-totals-wrapper,
.crosssell {
  float: right;
  clear: right;
  width: 40%;
  padding-left: 20px;
}

.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  padding: 10px;
  background-color: #F4F4F4;
  border: 1px solid #000;
}

.cart-table,
.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  margin-bottom: 20px;
}

.checkout-cart-index #postcode {
  width: 100%;
}

.display-both-prices .cart-table {
  float: none;
  width: 100%;
}

.display-both-prices .cart-forms {
  float: left;
  padding-right: 10px;
  padding-left: 0;
}

.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  padding-left: 10px;
}

.display-both-prices .cart-forms,
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  width: 50%;
}

.display-both-prices .crosssell {
  clear: right;
  float: right;
}

@media only screen and (max-width: 979px) {
  .display-single-price .cart-table {
    float: none;
    width: 100%;
  }
  .display-single-price .cart-forms {
    float: left;
    padding-right: 10px;
    padding-left: 0;
  }
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-left: 10px;
  }
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    width: 50%;
  }
  .display-single-price .crosssell {
    clear: right;
    float: right;
  }
}

@media only screen and (max-width: 599px) {
  .product-cart-sku {
    display: none;
  }
  .display-both-prices .cart-forms,
  .display-both-prices .cart-totals-wrapper,
  .display-both-prices .crosssell,
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    float: none;
    width: 100%;
  }
}

.display-single-price:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Checkout - Cart
 * ============================================ */
.checkout-types {
  float: right;
  text-align: right;
  max-width: 100%;
  /* We always want this shipping method to display on its own line */
}

.checkout-types li {
  vertical-align: top;
  margin: 0 0 5px 5px;
}

.checkout-types li:after {
  content: '';
  display: table;
  clear: both;
}

.checkout-types li img {
  display: inline;
  vertical-align: top;
}

.checkout-types li:first-child {
  margin-left: 0;
}

.checkout-types .method-checkout-cart-methods-multishipping {
  display: block;
}

.checkout-types.top li {
  display: inline-block;
}

.checkout-types.top .bml_button {
  display: inline-block;
  vertical-align: top;
}

.checkout-types.top .bml_button img {
  display: block;
}

.checkout-types.top .paypal-logo .paypal-or {
  margin-top: 5px;
}

.checkout-types.bottom .paypal-logo a, .checkout-types.minicart .paypal-logo a {
  display: block;
}

.checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
  margin: 0px;
  display: block;
  text-align: center;
}

@media only screen and (min-width: 741px) {
  .checkout-types.bottom .paypal-or {
    text-align: right;
    padding-right: 70px;
  }
}

.cart-totals .checkout-types .btn-checkout {
  margin-bottom: 7px;
}

@media only screen and (max-width: 740px) {
  .checkout-types {
    float: none;
    text-align: center;
  }
  .checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
    width: auto;
    float: none;
  }
  .checkout-types li {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (max-width: 599px) {
  .btn-checkout {
    width: 100%;
  }
}

.cart-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart-table th,
.cart-table td,
.cart-table tbody td {
  border-bottom: none;
  vertical-align: top;
}

.cart-table h2 {
  color: #000;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 0;
}

.cart-table thead th,
.cart-table tbody td {
  background-color: transparent;
  padding: 10px 5px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart-table .product-cart-info,
.cart-table .product-cart-actions {
  padding-left: 15px;
}

.cart-table tfoot tr {
  background: none;
}

.cart-table tfoot tr > td:after {
  content: '';
  display: table;
  clear: both;
}

.cart-table span.or {
  font-size: 9px;
  padding: 0 5px;
  text-transform: uppercase;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart-table .product-cart-image .cart-links,
.cart-table .product-cart-info .btn-remove,
.cart-table .product-cart-actions .button {
  display: none;
}

.cart-table .product-cart-image {
  padding-left: 0;
  padding-right: 0;
}

.cart-table .product-cart-image .product-image img {
  max-width: 100%;
  width: 100%;
}

.cart-table .product-cart-image a.cart-edit {
  display: none;
}

.cart-table .product-cart-sku {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: italic;
  font-size: 12px;
  margin: 5px 0 12px;
}

.cart-table .product-cart-sku .label {
  font-weight: 600;
}

.cart-table .btn-empty {
  float: left;
}

.cart-table .product-cart-total,
.cart-table .product-cart-price {
  text-align: center;
}

.cart-table .cart-tax-total {
  position: relative;
  cursor: pointer;
}

.cart-table .cart-tax-total:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid #111;
  border-left: none;
  position: absolute;
  top: 3px;
  right: -11px;
}

.cart-table .cart-tax-total.cart-tax-total-expanded:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 6px solid #111;
  border-bottom: none;
  right: -15px;
  top: 6px;
}

.cart-table .cart-links > li {
  white-space: nowrap;
  line-height: 1.3;
  margin-bottom: 5px;
  min-width: 65px;
  font-size: 12px;
}

.cart-table .cart-links > li > a {
  display: block;
}

.cart-table .cart-links > li:last-child {
  margin-bottom: 0;
}

.cart-table .product-cart-actions {
  min-width: 60px;
  text-align: center;
}

.cart-table .product-cart-actions .qty {
  height: 30px;
  border-color: #111;
  border-radius: 0;
  margin-bottom: 10px;
  text-align: center;
  width: 3.2em;
}

.cart-table .product-cart-actions .button {
  margin-bottom: 5px;
}

.cart-table .item-options {
  padding-left: 15px;
}

@media only screen and (max-width: 770px) {
  .cart-table th {
    font-size: 12px;
  }
  .cart-table th,
  .cart-table td {
    padding: 7px 6px;
  }
  .cart-table .product-cart-actions > li {
    white-space: inherit;
  }
}

@media only screen and (max-width: 699px) {
  .display-both-prices .cart-table thead th.cart-total-head,
  .display-both-prices .cart-table td.product-cart-total {
    display: none;
  }
}

@media only screen and (max-width: 599px) {
  .cart-table colgroup, .cart-table thead {
    display: none;
  }
  .cart-table tr {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
  }
  .cart-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .cart-table tr:last-child {
    margin-bottom: 0;
  }
  .cart-table tfoot tr {
    padding-bottom: 0;
  }
  .cart-table td {
    border: none;
    display: block;
  }
  .cart-table td[data-rwd-label] {
    padding-left: 15px;
    margin-bottom: 6px;
  }
  .cart-table td[data-rwd-label] .price {
    font-weight: normal;
  }
  .cart-table td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .cart-table td.product-cart-price {
    text-align: left;
  }
  .cart-table h2 {
    font-size: 12px;
  }
  .cart-table .cart-links {
    padding-top: 5px;
    padding-right: 5px;
  }
  .cart-table .cart-links > li {
    white-space: normal;
    text-align: center;
  }
  .cart-table .cart-links > li > a {
    padding: 2px 0px;
  }
  .cart-table .cart-tax-info {
    font-style: italic;
    padding-left: 15px;
    font-size: 12px;
  }
  .cart-table .cart-tax-info .price {
    font-size: 12px;
  }
  .cart-table .product-cart-image {
    width: 25%;
    float: left;
    padding-bottom: 0;
  }
  .cart-table .product-cart-image a.cart-edit {
    display: block;
    font-size: 12px;
    text-align: center;
    text-transform: uppercase;
  }
  .cart-table .product-cart-info,
  .cart-table td[data-rwd-label] {
    float: right;
    width: 75%;
  }
  .cart-table .product-cart-actions,
  .cart-table .product-cart-price {
    padding-bottom: 0;
    padding-top: 0;
    float: right;
  }
  .cart-table .product-cart-remove,
  .cart-table .product-cart-total,
  .cart-table .product-cart-actions .cart-links {
    display: none;
  }
  .cart-table .product-cart-image .cart-links,
  .cart-table .product-cart-info .btn-remove {
    display: block;
  }
  .cart-table .product-cart-actions .button {
    display: none;
  }
  .cart-table .product-cart-info .btn-remove {
    float: right;
    margin: -4px 0px 2px 7px;
  }
  .cart-table .product-cart-info .product-cart-sku {
    margin-bottom: 5px;
  }
  .cart-table .product-cart-actions {
    text-align: left;
  }
  .cart-table .product-cart-actions .qty {
    margin-right: 7px;
    margin-bottom: 7px;
  }
  .cart-table .price,
  .cart-table .product-cart-price:before {
    font-weight: 500;
    font-size: 12px;
    font-family: akzidenz-grotesk, Arial, sans-serif;
  }
  .cart-table .cart-footer-actions {
    text-align: center;
    width: 100%;
  }
  .cart-table .cart-footer-actions #empty_cart_button {
    float: right;
  }
  .cart-table .cart-footer-actions .btn-continue {
    float: left;
  }
  .cart-table .cart-footer-actions .btn-update,
  .cart-table .cart-footer-actions span.or {
    display: none;
  }
  .display-both-prices .cart-table td[data-rwd-tax-label]:before {
    content: attr(data-rwd-tax-label) ":";
  }
}

/* ============================================ *
 * Checkout - Estimate Shipping and Tax
 * ============================================ */
.shipping h2 {
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 5px;
}

.shipping select {
  max-width: 100%;
  height: 30px;
  display: block;
  border: 1px solid #111;
}

.shipping select.validation-failed {
  border-color: #DC2022;
}

.shipping .shipping-desc {
  display: none;
}

.shipping .buttons-set {
  border: none;
  margin: 0;
  padding: 0;
}

.shipping .form-list:after {
  content: '';
  display: table;
  clear: both;
}

.shipping .form-list li {
  float: left;
  margin: 5px 2% 10px 0;
}

.shipping .form-list .shipping-country {
  width: 37%;
}

.shipping .form-list .shipping-region {
  width: 41%;
}

.shipping .form-list .shipping-postcode {
  margin-right: 0;
  width: 18%;
}

.shipping .form-list .shipping-postcode input {
  margin-top: 4px;
}

.shipping .form-list .input-box {
  padding-top: 0;
}

.shipping .form-list input {
  height: 30px;
  margin-top: 4px;
}

.shipping .form-list label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  white-space: nowrap;
}

.shipping .sp-methods {
  padding: 10px 0 0;
  text-align: left;
}

.shipping .sp-methods dd {
  margin-bottom: 10px;
}

.shipping .sp-methods label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-style: italic;
  min-width: 100px;
}

.shipping .sp-methods label span {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: bold;
  font-style: normal;
}

.shipping #co-shipping-method-form .buttons-set .button {
  float: left;
  margin-left: 0;
}

.shipping #co-shipping-method-form .sp-methods dd label {
  border: 1px solid #000;
  background-color: shade(#F4F4F4, 3%);
  min-width: 220px;
}

.shipping #co-shipping-method-form .sp-methods dd label:hover {
  background-color: shade(#F4F4F4, 10%);
}

@media only screen and (max-width: 770px) {
  .shipping .shipping-form .form-list > li {
    width: 100%;
    float: none;
  }
  .shipping .shipping-form .form-list > li label {
    display: block;
  }
  .shipping .shipping-form .form-list > li input,
  .shipping .shipping-form .form-list > li select {
    width: 100%;
  }
}

.cart .cart-totals {
  text-align: right;
}

.cart .cart-totals:after {
  content: '';
  display: table;
  clear: both;
}

.cart .cart-totals table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  margin-bottom: 20px;
  text-transform: uppercase;
  width: 100%;
}

.cart .cart-totals table td {
  padding: 2px 0px;
}

.cart .cart-totals table td:first-child {
  padding-right: 10px;
  min-width: 120px;
}

.cart .cart-totals table tbody tr:last-child td,
.cart .cart-totals table tbody tr:last-child th {
  padding-bottom: 10px;
}

.cart .cart-totals table tfoot {
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
}

.cart .cart-totals table tfoot td {
  font-size: 24px;
  padding: 2px 5px;
  vertical-align: top;
}

.cart .cart-totals table tfoot strong span,
.cart .cart-totals table tfoot span.price {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.cart .cart-totals table tfoot strong {
  font-weight: 400;
}

@media only screen and (max-width: 600px) {
  .cart-totals {
    text-align: right;
  }
}

@media only screen and (max-width: 770px) {
  .cart .cart-totals table tfoot td {
    font-size: 12px;
  }
}

.discount-form:after,
#giftcard-form:after {
  content: '';
  display: table;
  clear: both;
}

#discount-coupon-form,
.cart .giftcard {
  width: 100%;
}

#discount-coupon-form h2,
.cart .giftcard h2 {
  display: none;
}

#discount-coupon-form .field-wrapper,
.cart .giftcard .field-wrapper {
  display: inline-block;
}

#discount-coupon-form .validation-advice,
.cart .giftcard .validation-advice {
  display: inline;
}

#discount-coupon-form .button-wrapper,
.cart .giftcard .button-wrapper {
  display: inline-block;
  vertical-align: bottom;
}

#discount-coupon-form .button-wrapper > button,
.cart .giftcard .button-wrapper > button {
  float: left;
}

#discount-coupon-form .input-text,
.cart .giftcard .input-text {
  border-radius: 0;
  height: 30px;
  margin: 4px 10px 0 0;
  width: 190px;
}

.cart .giftcard p {
  margin-bottom: 7px;
}

.cart .giftcard .check-gc-status {
  float: left;
  padding: 0px;
}

.cart .giftcard .check-gc-status > span > span {
  font-size: 12px;
  text-transform: none;
}

/* ============================================ *
 * Checkout - Cart Cross sell
 * ============================================ */
.crosssell h2 {
  color: #0645AD;
}

.crosssell .item a.product-image {
  width: auto;
  float: left;
}

/* Change the layout to 2 columns at a breakpoint that is higher than a 3 columns layout would normally break */
@media only screen and (max-width: 979px) {
  .crosssell {
    /* Undo three-column config */
  }
  .crosssell .products-grid > li:nth-child(even),
  .crosssell .products-grid > li:nth-child(3n),
  .crosssell .products-grid > li {
    width: 47.72727%;
    margin-right: 4.54545%;
  }
  .crosssell .products-grid > li:nth-child(odd) {
    clear: left;
  }
  .crosssell .products-grid > li:nth-child(even) {
    margin-right: 0;
  }
  .crosssell .products-grid > li:nth-child(3n+1) {
    clear: none;
  }
}

@media only screen and (max-width: 599px) {
  .cart-table .cart-tax-total:after {
    right: -9px;
  }
  .cart-table .cart-tax-total.cart-tax-total-expanded:after {
    right: -13px;
  }
}

@media only screen and (max-width: 320px) {
  .crosssell ul .item {
    padding: 0 0px 40px;
  }
  .crosssell ul .product-details .crosssell-actions {
    padding: 0 5px;
  }
}

/* ============================================ *
 * Checkout - One Page
 * ============================================ */
.checkout-onepage-index .col-right,
.checkout-onepage-index .col-left {
  display: none;
}

.checkout-onepage-index .col-main {
  width: auto;
  float: none;
}

@media only screen and (min-width: 980px) {
  .checkout-onepage-index .col-main {
    float: left;
    width: 68.75%;
    padding-right: 20px;
  }
  .checkout-onepage-index .col-right,
  .checkout-onepage-index .col-left {
    width: 31.25%;
    display: block;
  }
  .checkout-onepage-index .col-right {
    padding-left: 0;
  }
}

.opc select {
  width: 365px;
}

/* -------------------------------------------- *
 * Section Styling - Default
 */
.opc .section .step-title {
  width: 100%;
  border-top: 1px solid #9b9b9b;
  position: relative;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.opc .section .step-title:after {
  content: '';
  display: table;
  clear: both;
}

.opc .section.allow:not(.active) .step-title {
  cursor: pointer;
}

/* Using .no-touch since touch devices emulate hover, thereby making steps look active that are not */
.no-touch .opc .section.allow:not(.active) .step-title:hover {
  background-color: #F4F4F4;
}

.opc .section .step-title a {
  display: none;
}

.opc .section.allow:not(.active) .step-title a {
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  padding: 10px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.opc .section.allow:not(.active) .step-title a:hover {
  text-decoration: underline;
}

.no-touch .opc .section .step-title a:hover {
  text-decoration: none;
}

.opc .section .step-title .number,
.opc .section.allow.active .step-title .number,
.no-touch .opc .section.allow:hover .step-title .number {
  width: 26px;
  height: 26px;
  text-align: center;
  color: #000;
  line-height: 26px;
  border: 1px solid #000;
  display: block;
}

.opc .section .step {
  padding: 20px;
}

.opc .section .step:after {
  content: '';
  display: table;
  clear: both;
}

@media only screen and (max-width: 979px) {
  .opc .section .step {
    padding: 10px;
  }
}

.opc select {
  max-width: 365px;
  width: 100%;
}

.opc h3 {
  font-weight: 500;
}

.opc .buttons-set {
  text-align: left;
}

.opc .buttons-set button.button {
  float: left;
  margin-left: 0;
  margin-right: 10px;
  margin-bottom: 0;
}

.opc .buttons-set p.required {
  float: right;
  margin-left: 5px;
  margin-bottom: 0;
}

.opc .buttons-set .back-link {
  float: right;
  margin: 0;
}

.opc .buttons-set a {
  line-height: 20px;
  display: inline-block;
  padding: 5px 5px 5px 0;
}

@media only screen and (max-width: 359px) {
  .opc .buttons-set .button + .buttons-set .button,
  .paypal-express-review .buttons-set .button + .buttons-set .button {
    margin-left: 0;
  }
}

.opc #opc-login .step {
  padding: 0px;
}

.opc #opc-login .buttons-set {
  border-top: 0;
  padding-top: 5px;
}

@media only screen and (max-width: 770px) {
  .opc #opc-login .description,
  .opc #opc-login p.required {
    display: none;
  }
}

#opc-payment .note {
  padding: 10px;
}

/* -------------------------------------------- *
 * This section hides everything but the "Checkout Method" step of the checkout process and fades in the content
 * once the customer progresses to the next step. The purpose of this is to simplify what the customer has to focus on.
 * It is limited to larger viewports since smaller devices are inherently going to be focused solely on the
 * "Checkout Method" step.
 */
.opc.opc-firststep-login .section:not(#opc-login) .step-title,
.opc-block-progress-step-login {
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.opc.opc-firststep-login .section#opc-login .step-title .number {
  -webkit-transition: width 80ms;
  transition: width 80ms;
}

.opc.opc-firststep-login .section#opc-login .step-title h2 {
  -webkit-transition: margin-left 80ms;
  transition: margin-left 80ms;
}

/* When a user progresses from the "Checkout Method" to "Billing Information" for the first time, the              */
/* "opc-has-progressed-from-login" class gets added to the body. Also, the .opc element will only have the         */
/* "opc-firststep-login" class if the first step of the checkout is the "Checkout Method" (eg, not when logged in) */
/* -------------------------------------------- *
 * Shipping and Payment methods
 */
.sp-methods {
  margin: 0 0 8px;
}

.sp-methods dt {
  margin: 13px 0 5px;
  font-weight: bold;
}

.sp-methods dt:first-child {
  margin: 0 0 5px;
}

.sp-methods dd li {
  margin: 5px 0;
}

.sp-methods label img {
  float: left;
}

.sp-methods label a {
  margin-top: 6px;
  float: right;
  margin-left: 10px;
}

.sp-methods .price {
  font-weight: bold;
}

.sp-methods .form-list {
  padding-left: 20px;
}

.sp-methods .form-list li {
  margin: 0 0 8px;
}

.sp-methods select.month {
  width: 120px;
  margin-right: 10px;
}

.sp-methods select.year {
  width: 96px;
}

.sp-methods input.cvv {
  width: 4em !important;
}

.sp-methods #advice-validate-cc-exp-ccsave_expiration {
  max-width: 130px;
}

.sp-methods .checkmo-list li {
  margin: 0 0 5px;
  content: '';
  display: table;
  clear: both;
}

.sp-methods .checkmo-list label {
  width: 165px;
  padding-right: 15px;
  text-align: right;
  float: left;
}

.sp-methods .checkmo-list address {
  float: left;
}

@media only screen and (max-width: 359px) {
  .sp-methods .checkmo-list {
    padding-left: 0;
  }
  .sp-methods .checkmo-list label {
    width: 135px;
  }
}

.sp-methods .release-amounts {
  margin: 0.5em 0;
}

.sp-methods .release-amounts button {
  float: left;
  margin: 5px 10px 0 0;
}

/* One Page Checkout */
.block-progress {
  border: 0;
  margin: 0;
  border-left: 1px solid #9b9b9b;
  padding-left: 20px;
}

.block-progress .block-content {
  font-size: 12px;
}

.block-progress dt {
  padding-top: 6px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  margin-bottom: 6px;
  text-transform: uppercase;
  font-weight: normal;
  color: #9B9B9B;
}

.block-progress dt.complete {
  color: #000;
}

.block-progress dd {
  padding-left: 15px;
  margin-bottom: 10px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: italic;
}

.block-progress dd address {
  font-style: italic;
}

.block-progress #payment-progress-opcheckout .subtitle {
  margin-bottom: 3px;
}

.block-progress .payment-info dt {
  padding: 0;
  margin: 0 0 3px 0;
  color: #111;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  text-transform: none;
  font-style: italic;
  float: left;
  clear: both;
  font-size: 12px;
}

.block-progress .payment-info dt:after {
  content: ': ';
}

.block-progress .payment-info dd {
  float: left;
  margin-bottom: 3px;
  font-size: 12px;
}

.block-progress .payment-info:after {
  content: '';
  display: table;
  clear: both;
}

/* review step */
#checkout-review-table .btn-remove img {
  display: none;
}

#checkout-review-table-wrapper {
  clear: both;
}

#review-buttons-container {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
}

#review-buttons-container .btn-checkout {
  min-width: 220px;
}

#review-buttons-container .please-wait {
  float: left;
  margin-right: 10px;
}

#review-buttons-container .f-left {
  float: right;
}

@media only screen and (max-width: 599px) {
  .linearize-table-large.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  .linearize-table.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}

/* show/hide "change" link for progress step depend on complete status
 * should be placed in .css file */
.opc-block-progress dt.complete a,
.opc-block-progress dt.complete .separator {
  display: inline;
}

.opc-block-progress dt a,
.opc-block-progress dt .separator {
  display: none;
}

/* On small screens, the progress review content will be moved to the review step via JS. Styled via this CSS: */
#checkout-step-review .opc-block-progress {
  border-left: none;
  padding-left: 0;
}

#checkout-step-review .opc-block-progress .block-title {
  display: none;
}

#checkout-step-review .opc-block-progress .block-content {
  display: block !important;
  padding: 0;
}

#checkout-step-review .opc-block-progress .block-content > dl > div {
  float: left;
  width: 50%;
}

@media only screen and (max-width: 359px) {
  #checkout-step-review .opc-block-progress .block-content > dl > div {
    float: none;
    width: auto;
  }
}

#checkout-step-review .opc-block-progress .block-content .changelink {
  display: none;
}

@media only screen and (max-width: 359px) {
  #checkout-review-table thead > tr > th {
    display: none;
  }
  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }
  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }
}

#checkout-step-review .centinel > p {
  margin-bottom: 10px;
}

#checkout-step-review .centinel iframe {
  width: 100%;
  min-height: 400px;
}

/* Gift options */
.gift-messages-form .item {
  content: '';
  display: table;
  clear: both;
  margin-top: 30px;
}

.gift-messages-form .item h5 {
  font-weight: bold;
}

.gift-messages-form .item .product-img-box {
  width: auto;
  float: left;
  padding-right: 15px;
}

.gift-messages-form .item .details {
  float: left;
}

.gift-message-form .inner-box > div {
  content: '';
  display: table;
  clear: both;
  width: 100%;
  margin-top: 15px;
  display: block;
}

.gift-message-form .inner-box > div.extra-options-container p {
  margin-bottom: 15px;
}

.gift-message-form .gift-wrapping-form label {
  margin-right: 10px;
}

.gift-message-form .gift-wrapping-form img {
  float: left;
}

.gift-message-form .gift-wrapping-form .gift-wrapping-design {
  height: 75px;
}

.gift-message-form .gift-wrapping-form .gift-wrapping-design:after {
  content: '';
  display: table;
  clear: both;
}

.gift-message-form .gift-wrapping-form .gift-wrapping-design .image-box {
  margin-right: 5px;
}

.gift-message-form .gift-item {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: solid 1px #9b9b9b;
}

.gift-message-form .gift-item:after {
  content: '';
  display: table;
  clear: both;
}

.gift-message-form .gift-item .product-img-box {
  width: 200px;
}

.gift-message-form .gift-item .product-img-box .product-image {
  width: 75px;
  margin-left: auto;
  margin-right: auto;
}

.gift-message-form .gift-item .product-img-box .product-name {
  display: block;
}

.gift-message-form .gift-item .fieldset {
  margin-left: 200px;
}

@media only screen and (max-width: 770px) {
  .gift-message-form .giftmessage-area {
    max-width: 100%;
  }
  .gift-message-form .gift-item .product-img-box {
    width: 100%;
    float: none;
  }
  .gift-message-form .gift-item .fieldset {
    margin-left: 0px;
  }
  .gift-message-form .gift-item .fieldset textarea {
    width: 100%;
  }
}

/* ============================================ *
 * Checkout - Success
 * ============================================ */
.checkout-onepage-success .col-main {
  padding: 0;
  text-align: center;
}

.checkout-onepage-success .buttons-set {
  margin: 10px 0;
  text-align: center;
}

.checkout-onepage-success .buttons-set button {
  float: none;
}

/* ============================================ *
 * Configurable Swatches
 * ============================================ */
/* Clears */
.clearfix:after,
.configurable-swatch-list:after,
.product-view .product-options .swatch-attr:after {
  content: '';
  display: table;
  clear: both;
}

/* General Swatch Styling */
.swatch-link,
.swatch-label {
  display: block;
  border-radius: -2px;
  font-size: 12px;
  text-align: center;
  color: #000;
  text-decoration: none;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swatch-link {
  border: 1px solid #000;
  margin: 0 0 3px;
}

.swatch-link img {
  border-radius: -3px;
}

.swatch-link:hover {
  cursor: pointer;
  text-decoration: none;
}

.swatch-link .x {
  display: none;
  text-indent: -999em;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(https://totokaelo.com/skin/frontend/totokaelo/default/images/bg_x.png) center no-repeat transparent;
  z-index: 10;
}

.swatch-link.has-image .swatch-label {
  position: relative;
}

.swatch-link.has-image img {
  position: absolute;
  top: 0;
  left: 0;
}

.swatch-label {
  border: 1px solid #fff;
  margin: 0;
  white-space: nowrap;
  background: #F4F4F4;
}

.configurable-swatch-list {
  margin-left: -3px;
  zoom: 1;
  clear: both;
  -webkit-transform: translateZ(0px);
}

.configurable-swatch-list li {
  float: left;
  zoom: 1;
  margin: 0 0 0 3px;
}

.products-grid .configurable-swatch-list li {
  display: inline-block;
  float: none;
  margin: 0;
  vertical-align: top;
}

.configurable-swatch-list .not-available .x {
  display: block;
}

.configurable-swatch-list .not-available .swatch-link {
  border-color: #EDEDED;
  position: relative;
}

.configurable-swatch-list .not-available .swatch-link.has-image img {
  opacity: 0.4;
  filter: alpha(opacity=40);
}

.configurable-swatch-list .not-available .swatch-label {
  color: #aaa;
  background: #fff;
}

.configurable-swatch-list .wide-swatch .swatch-label {
  padding: 0 6px;
}

.configurable-swatch-list .not-available a:focus {
  outline: 0;
}

#narrow-by-list dd .configurable-swatch-list li {
  margin: 0 0 0 3px;
  width: 47%;
}

#narrow-by-list dd .swatch-link {
  border: none;
  line-height: 23px;
  margin-right: 2px;
  text-align: left;
}

#narrow-by-list dd .swatch-link.has-image {
  line-height: inherit;
}

#narrow-by-list dd .swatch-link:hover .swatch-label {
  border-color: #0645AD;
}

#narrow-by-list dd .swatch-label {
  background: #F4F4F4;
  border: 1px solid #000;
  border-radius: -2px;
  display: block;
  float: left;
  line-height: 1.5em;
  margin: 0 5px 0 0;
  padding: 1px 5px;
  white-space: nowrap;
}

#narrow-by-list dd .swatch-label img {
  border: 1px solid #fff;
  border-radius: -2px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

#narrow-by-list dd .has-image .swatch-label {
  padding: 0;
}

@media only screen and (max-width: 770px) {
  #narrow-by-list dd .configurable-swatch-list li:nth-child(odd) {
    clear: left;
  }
}

.currently .swatch-current {
  position: relative;
}

.currently .swatch-current .btn-remove {
  margin-top: -10px;
  position: absolute;
  right: 0;
  top: 50%;
}

.currently .swatch-current span {
  display: block;
  float: left;
}

.currently .swatch-link {
  display: inline-block;
  margin: 0 0 0 3px;
}

.currently .swatch-link:hover {
  border-color: #000;
  cursor: default;
}

/* Other Swatch States */
.configurable-swatch-list .hover .swatch-link,
.configurable-swatch-list .selected .swatch-link,
.swatch-link:hover {
  border-color: #0645AD;
}

.configurable-swatch-box {
  background: none !important;
}

.configurable-swatch-box select.swatch-select {
  display: none;
}

.configurable-swatch-box .validation-advice {
  margin: 0 0 5px;
  background: #DC2022;
  padding: 2px 5px !important;
  font-weight: bold;
  color: #fff !important;
  float: left;
  display: block;
  border-radius: -2px;
}

/* CUSTOM */
.availability.out-of-stock span {
  color: #9B9B9B;
}

.product-view .product-options .swatch-attr {
  float: none;
  display: block;
  clear: both;
  border: 0;
}

.product-view .product-options .swatch-attr label,
.product-view .product-options .swatch-attr .select-label {
  font-size: 12px;
}

.product-view .product-options .swatch-attr label {
  display: block;
  line-height: 1.3;
}

.product-view .product-options .swatch-attr .select-label {
  display: inline;
  font-weight: normal;
  color: #111;
  padding-left: 5px;
}

.product-view .product-options dd .input-box {
  width: auto;
  height: auto;
}

.product-view .product-options .select-label {
  display: none;
}

.product-view .add-to-cart button.out-of-stock {
  background-position: -80px -362px;
  cursor: default;
}

/* ============================================ *
 * Customer
 * ============================================ */
.customer-account-login .scaffold-form label:first-child {
  width: 115px;
}

.customer-account-login .col2-set .buttons-set {
  text-align: left;
  border-top: 0;
}

.customer-account-login .col2-set .buttons-set button,
.customer-account-login .col2-set .buttons-set .button {
  float: none;
  min-width: 50%;
  margin: 0;
}

.customer-account-login .col2-set .col-1 ul {
  list-style: disc;
  padding-left: 20px;
  margin: 10px 0 20px 0;
}

@media only screen and (min-width: 360px) {
  .customer-account-login .col2-set .col-1,
  .customer-account-login .col2-set .col-2 {
    padding-top: 0;
    margin-top: 20px;
  }
  .customer-account-login .col2-set .col-1 {
    padding-right: 20px;
  }
  .customer-account-login .col2-set .col-2 {
    padding-left: 20px;
    border-left: 1px solid #EDEDED;
  }
}

@media only screen and (min-width: 770px) {
  .customer-account-login .col2-set .col-1 {
    padding-right: 0;
  }
  .customer-account-login .col2-set .col-2 {
    padding-left: 60px;
    border-left: 1px solid #EDEDED;
  }
}

@media only screen and (max-width: 359px) {
  .customer-account-login .col2-set .col-1 {
    padding-bottom: 30px;
  }
  .customer-account-login .col2-set .col-2 {
    padding-top: 30px;
    border-top: 1px solid #EDEDED;
  }
}

@media only screen and (max-width: 770px) {
  .customer-account-login .col2-set p.required {
    display: none;
  }
}

.customer-account-create .scaffold-form label:first-child {
  width: 140px;
}

.remember-me-box a.hide {
  display: none;
}

.remember-me-box .link-tip {
  font-size: 12px;
  padding-left: 10px;
}

.remember-me-popup {
  display: none;
  border: 1px solid #000;
  padding: 10px;
  position: relative;
}

.remember-me-popup.show {
  display: block;
}

.remember-me-popup p {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.remember-me-popup .remember-me-popup-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px;
  font-size: 12px;
}

.remember-me-popup .remember-me-popup-close-button {
  display: none;
}

.customer-account-create .buttons-set {
  max-width: 455px;
}

.customer-account-create .fieldset,
.customer-account-create .buttons-set {
  margin-left: 30px;
}

@media only screen and (max-width: 359px) {
  .customer-account-create .fieldset,
  .customer-account-create .buttons-set {
    margin-left: 0;
  }
}

.customer-account-create .fieldset .hidden {
  display: none;
}

.customer-account-create #remember-me-popup {
  max-width: 455px;
}

.customer-account-forgotpassword .fieldset,
.customer-account-forgotpassword .buttons-set {
  margin-left: 30px;
  max-width: 400px;
}

@media only screen and (max-width: 359px) {
  .customer-account-forgotpassword .fieldset,
  .customer-account-forgotpassword .buttons-set {
    margin-left: 0;
  }
}

.customer-account-forgotpassword .fieldset .input-box input.input-text {
  width: 100%;
}

/* ============================================ *
 * My Account Global Styles
 * ============================================ */
body.customer-account .my-account .fieldset h2,
body.customer-account .my-account .addresses-list h2,
body.customer-account .my-account .order-details h2 {
  font-weight: bold;
  width: 100%;
  display: inline-block;
}

body.customer-account .my-account .order-details h2 {
  margin-bottom: 1em;
}

body.customer-account .my-account .order-details .order-links {
  display: none;
}

body.customer-account .my-account .addresses-list h3 {
  font-size: 12px;
  font-weight: 600;
}

body.customer-account .my-account .fieldset {
  margin-top: 30px;
  margin-bottom: 30px;
}

body.customer-account .my-account .fieldset h2.legend {
  border: 0;
}

body.customer-account .page-title {
  margin-bottom: 40px;
}

body.customer-account .page-title h1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #000;
  font-weight: bold;
  padding-bottom: 1em;
  text-align: left;
}

body.customer-account .title-buttons {
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
  position: relative;
  text-align: right;
}

body.customer-account .title-buttons:after {
  content: '';
  display: table;
  clear: both;
}

body.customer-account .title-buttons h1 {
  float: left;
  border: 0;
  padding-bottom: 0;
  text-align: left;
}

body.customer-account .title-buttons .button {
  background: transparent;
  color: #0645AD;
  float: right;
  padding: 0;
  text-transform: none;
}

body.customer-account .form-list .input-box {
  padding-top: 1em;
}

body.customer-account .form-list .input-text {
  border-radius: 0;
}

body.customer-account .form-list select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("https://totokaelo.com/skin/frontend/totokaelo/default/css/data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOC42MDFweCIgaGVpZ2h0PSI1LjM2cHgiIHZpZXdCb3g9IjAgMCA4LjYwMSA1LjM2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4LjYwMSA1LjM2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwb2x5Z29uIGZpbGw9IiM5Nzk3OTciIHBvaW50cz0iNC4zLDUuMzYgMCwxLjA2MSAxLjA2MSwwIDQuMywzLjIzOSA3LjU0MSwwIDguNjAxLDEuMDYxIAkiLz4NCjwvZz4NCjwvc3ZnPg0K");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 11px;
  border-radius: 0;
  border: 1px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font-size: 10px;
  line-height: 1em;
  max-width: 100%;
  padding: 8px 32px 8px 8px;
  position: relative;
  width: 365px;
}

body.customer-account .form-list select::-ms-expand {
  display: none;
}

@-moz-document url-prefix() {
  body.customer-account .form-list select {
    background-image: none !important;
    -moz-appearance: menulist !important;
    height: 50px !important;
  }
}

body.customer-account .form-list .control {
  line-height: 1.4em;
}

body.customer-account .form-list .control input[type=checkbox] {
  display: inline-block;
  float: none;
  margin: 0.4em 1em 0 0;
}

body.customer-account .form-list .control label {
  background-color: transparent;
  display: inline-block;
  padding: 0;
}

body.customer-account .buttons-set {
  margin: 0;
  padding: 0;
}

body.customer-account .buttons-set .required {
  display: block;
  float: none;
  margin: 0 0 1em 0;
  padding: 0;
  text-align: left;
}

body.customer-account .buttons-set .back-link {
  float: right;
}

body.customer-account .buttons-set button.button {
  float: left;
  margin: 0;
}

body.customer-account .data-table {
  margin-top: 5px;
}

body.customer-account .data-table colgroup {
  display: none;
}

body.customer-account .data-table th {
  background: transparent;
  border: 0;
  padding: 10px 10px 10px 0;
  text-transform: none;
}

body.customer-account .data-table td {
  border: 0;
  padding: 10px 10px 10px 0;
}

body.customer-account .data-table td a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  text-transform: uppercase;
  font-style: normal;
  font-size: 12px;
}

body.customer-account .data-table span.nobr {
  white-space: normal;
}

body.customer-account .data-table span.nobr a {
  display: inline-block;
  white-space: nowrap;
  padding: 0 0.5em;
}

body.customer-account .data-table td.view a {
  display: block;
}

body.customer-account .data-table .separator {
  display: none;
}

body.customer-account .pager .limiter select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("https://totokaelo.com/skin/frontend/totokaelo/default/css/data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOC42MDFweCIgaGVpZ2h0PSI1LjM2cHgiIHZpZXdCb3g9IjAgMCA4LjYwMSA1LjM2IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4LjYwMSA1LjM2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwb2x5Z29uIGZpbGw9IiM5Nzk3OTciIHBvaW50cz0iNC4zLDUuMzYgMCwxLjA2MSAxLjA2MSwwIDQuMywzLjIzOSA3LjU0MSwwIDguNjAxLDEuMDYxIAkiLz4NCjwvZz4NCjwvc3ZnPg0K");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 11px;
  border-radius: 0;
  border: 1px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font-size: 10px;
  line-height: 1em;
  padding: 8px 32px 8px 8px;
  position: relative;
}

body.customer-account .pager .limiter select::-ms-expand {
  display: none;
}

@-moz-document url-prefix() {
  body.customer-account .pager .limiter select {
    background-image: none !important;
    -moz-appearance: menulist !important;
    height: 50px !important;
  }
}

body.customer-account .separator {
  color: #9b9b9b;
}

body.customer-account .sidebar .block-account .block-title {
  margin-bottom: 40px;
}

body.customer-account .sidebar .block-account .block-title strong {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
}

body.customer-account .sidebar .block-account li {
  text-transform: none;
}

body.customer-account .sidebar .block-account .current strong {
  color: #000;
}

body.customer-account .sidebar .block-account a {
  color: #9B9B9B;
}

body.customer-account .sidebar .block-account a:hover {
  color: #000;
}

body.customer-account .sidebar .block ol#compare-items li {
  margin: 10px 0;
}

body.customer-account .sidebar .block .block-content p.block-subtitle {
  margin-bottom: 15px;
}

body.customer-account .sidebar .block .block-content .actions {
  margin-top: 30px;
}

body.customer-account .sidebar ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}

body.customer-account .sidebar ol#cart-sidebar-reorder p.product-name {
  display: inline-block;
  margin-bottom: 0;
}

body.customer-account .sidebar .block-cart .summary {
  margin-bottom: 15px;
}

body.customer-account .sidebar .block-reorder {
  padding-top: 30px;
}

body.customer-account .sidebar .block-reorder .block-title {
  border: 0;
  margin-bottom: 40px;
}

body.customer-account .sidebar .block-reorder .block-title strong {
  display: block;
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
}

body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li {
  margin: 10px 0 0 0;
}

body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}

body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder p.product-name {
  display: inline;
  margin-bottom: 0;
}

body.customer-account .messages {
  margin: 20px 0;
}

.form-list .customer-dob .dob-month,
.form-list .customer-dob .dob-day {
  width: 40px;
  float: left;
  margin-right: 10px;
}

.form-list .customer-dob .dob-year {
  width: 80px;
  float: left;
}

/* ============================================ *
 * Dashboard
 * ============================================ */
.dashboard .box-head {
  margin-top: 30px;
  border: 0;
}

.dashboard .box-head h2 {
  font-size: 12px;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 0;
  text-transform: uppercase;
}

.dashboard .box-head a {
  padding: 10px;
}

.dashboard .box-title a,
.dashboard .box-head a {
  text-transform: uppercase;
  font-size: 12px;
}

.dashboard .box-account {
  border: 0;
  padding: 0;
  margin-bottom: 45px;
}

.dashboard .box-account p,
.dashboard .box-account address {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: italic;
}

.dashboard .box-recent {
  border-bottom: 1px solid #9b9b9b;
  padding-bottom: 30px;
}

.dashboard #my-orders-table {
  margin: 20px 0 0 0;
}

.dashboard .col2-set {
  border-bottom: 1px solid #9b9b9b;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.dashboard .col2-set:last-child {
  border: 0;
  padding: 0;
  margin-bottom: 0;
}

.dashboard .col2-set .col-1,
.dashboard .col2-set .col-2 {
  padding-right: 12.09677%;
  padding-bottom: 0;
}

.dashboard .col2-set .box-title {
  position: relative;
  padding-bottom: 10px;
}

.dashboard .col2-set .box-title h2,
.dashboard .col2-set .box-title h3 {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 0;
}

.dashboard .col2-set .box-title a {
  line-height: 16.8px;
}

.dashboard .col2-set .box-content h4 {
  margin-bottom: 1em;
}

.dashboard .welcome-msg {
  border-bottom: 1px solid #9b9b9b;
  padding-bottom: 30px;
}

.dashboard .welcome-msg .hello {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  margin-bottom: 1em;
}

.dashboard .box-reviews.box-account {
  padding-bottom: 0;
}

.dashboard .box-reviews li {
  padding: 10px 0;
  border-top: 1px solid #EDEDED;
}

.dashboard .box-reviews li:first-child {
  border-top: 0;
}

.dashboard .box-reviews li .number {
  margin-right: -20px;
  float: left;
  line-height: 1.4;
  font-size: 12px;
}

.dashboard .box-reviews li .details {
  margin-left: 20px;
}

.dashboard .box-reviews li .details .ratings {
  content: '';
  display: table;
  clear: both;
  margin-bottom: 0;
}

.dashboard .box-reviews li .details .ratings strong {
  float: left;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  margin-right: 5px;
}

.dashboard .box-reviews li .details .ratings .rating-box {
  float: left;
  margin: 3px 0 0 0;
}

/* ============================================ *
 * Address Book
 * ============================================ */
.my-account .addresses-list {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.my-account .addresses-list .col-1,
.my-account .addresses-list .col-2 {
  padding-top: 0;
  padding-bottom: 0;
}

.my-account .addresses-list h2 {
  margin-bottom: 1em;
}

.my-account .addresses-list .item {
  margin: 0 0 30px 0;
}

.my-account .addresses-list .item h3 {
  margin-bottom: 0.5em;
}

.my-account .addresses-list .item p {
  margin-top: 10px;
}

@media only screen and (max-width: 770px) {
  .my-account .addresses-list .col-1,
  .my-account .addresses-list .col-2 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .my-account .addresses-list .col-1 li.empty,
  .my-account .addresses-list .col-2 li.empty {
    width: 100%;
  }
}

@media only screen and (max-width: 599px) {
  .my-account .addresses-list .addresses-additional p a {
    white-space: nowrap;
  }
}

/* ============================================ *
 * Order View
 * ============================================ */
.order-info {
  padding-bottom: 10px;
  border-bottom: 1px solid #EDEDED;
  width: 100%;
  margin-bottom: 30px;
}

.order-info dt,
.order-info dd,
.order-info ul,
.order-info li {
  display: inline;
}

.order-info dt {
  margin-right: 20px;
}

.order-info li {
  margin: 0 0 0 20px;
}

.order-info li.current {
  font-weight: 600;
}

.order-info li:first-child {
  margin-left: 0;
}

.order-date {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.order-info-box {
  margin-bottom: 40px;
  margin-top: 20px;
}

.order-info-box + .order-info-box {
  padding-bottom: 40px;
  border-bottom: 1px solid #EDEDED;
}

.order-info-box .col-1 {
  padding-right: 0;
  width: 48%;
}

.order-info-box .col-2 {
  width: 52%;
}

.order-info-box .col-1,
.order-info-box .col-2 {
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}

.order-info-box .box-title {
  width: 150px;
  padding-right: 10px;
  float: left;
}

.order-info-box .box-title h2 {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: bold;
  line-height: 1.5;
}

.order-info-box .box-title h2:after {
  content: ':';
}

.order-info-box .box-content {
  float: left;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.order-info-box .box-content td,
.order-info-box .box-content th {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  line-height: 1.3;
}

.order-info-box .box-content th {
  padding-top: 10px;
}

.order-info-box .box-content td {
  padding-left: 15px;
}

.order-info-box .box-content strong {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-weight: normal;
  text-transform: uppercase;
}

#my-orders-table {
  margin: 30px 0;
}

#my-orders-table .option-label {
  margin-left: 10px;
  font-weight: 600;
  font-style: italic;
}

#my-orders-table .option-value {
  margin-left: 20px;
}

#my-orders-table tr.bundle:not(:last-child) td {
  border-bottom: none;
  border-top: none;
}

#my-orders-table .item-options dt,
#my-orders-table .item-options dd {
  color: #9B9B9B;
  font-style: normal;
  font-weight: normal;
}

#my-orders-table tbody .a-right,
#my-orders-table tbody .a-center,
#my-orders-table thead .a-right,
#my-orders-table thead .a-center {
  text-align: left;
}

#my-orders-table tbody th:last-child.a-right,
#my-orders-table thead th:last-child.a-right {
  text-align: right;
}

#my-orders-table tbody .a-right.last,
#my-orders-table thead .a-right.last {
  text-align: right;
}

ol#cart-sidebar-reorder li {
  margin-top: 10px;
  margin-bottom: 0;
}

ol#cart-sidebar-reorder li input {
  margin-right: 10px;
}

ol#cart-sidebar-reorder p.product-name {
  display: inline;
}

@media only screen and (max-width: 599px) {
  #my-orders-table .option-label {
    margin-left: 20px;
  }
  #my-orders-table .option-value {
    margin-left: 35px;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr br {
    display: none;
  }
  #my-orders-table td[data-rwd-label=Qty] .nobr strong {
    margin-right: 10px;
  }
  #my-orders-table tr.bundle {
    border-color: #EDEDED;
  }
  #my-orders-table tr.bundle.child td[data-rwd-label] {
    padding-left: 60px;
  }
  #my-orders-table tbody:last-child tr:last-child td {
    padding-bottom: 10px;
    border-bottom: 0;
  }
  #my-orders-table tbody:last-child tr:last-child td:last-child {
    padding-bottom: 15px;
  }
  #my-orders-table tfoot tr.shipping {
    margin-top: 0;
  }
}

.order-additional {
  margin: 40px 0;
}

.order-gift-message dd {
  margin-top: 10px;
}

@media only screen and (max-width: 1199px) {
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    padding-right: 30px;
    padding-bottom: 0;
  }
  body.customer-account .data-table td.view a {
    white-space: normal;
  }
}

@media only screen and (max-width: 979px) {
  body.customer-account .my-account .title-buttons {
    text-align: left;
  }
}

@media only screen and (max-width: 770px) {
  body.customer-account .sidebar .block:not(.block-layered-nav) .block-content {
    border-bottom: 1px solid #000;
  }
  body.customer-account .sidebar .block-account {
    border: 0;
    margin-top: 45px;
  }
  body.customer-account .sidebar .block-account .block-title {
    margin-bottom: 0;
  }
  body.customer-account .data-table.orders th.ship,
  body.customer-account .data-table.orders td.ship,
  body.customer-account .data-table.orders td.status,
  body.customer-account .data-table.orders th.status {
    display: none;
  }
  .order-info-box .box-content {
    clear: left;
  }
  .addresses-list .item {
    float: left;
    width: 50%;
    padding-right: 30px;
  }
  .order-info dt {
    display: none;
  }
  .dashboard .page-title {
    margin-top: 20px;
  }
  .dashboard .page-title h1 {
    margin-top: 0;
  }
  .dashboard .welcome-msg {
    font-family: akzidenz-grotesk, Arial, sans-serif;
  }
  .dashboard .welcome-msg .hello {
    font-style: italic;
  }
  .dashboard .box-account {
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 48%;
    padding-right: 0;
    padding-left: 0;
  }
  .dashboard .col2-set .col-1 {
    float: left;
    margin-right: 4%;
  }
  .dashboard .col2-set .col-2 {
    float: right;
  }
}

@media only screen and (max-width: 599px) {
  body.customer-account .my-account .title-buttons h1, body.customer-account .my-account .title-buttons .button {
    float: none;
  }
  body.customer-account .my-account .title-buttons h1 {
    margin-bottom: 2em;
  }
  body.customer-account .my-account .form-list .control {
    padding-left: 0;
  }
}

@media only screen and (max-width: 359px) {
  body.customer-account .my-account .page-title h1 {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons {
    text-align: center;
  }
  body.customer-account .my-account .title-buttons .button {
    width: 100%;
    position: static;
    margin-bottom: 15px;
  }
  body.customer-account .my-account .title-buttons .button + .button {
    margin-left: 0px;
  }
  body.customer-account .my-account .fieldset h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .order-details h2 {
    margin-bottom: 15px;
  }
  body.customer-account .my-account .buttons-set {
    border-top: 0;
  }
  body.customer-account .my-account .addresses-list .item {
    margin-bottom: 15px;
    padding-right: 0;
    float: none;
    width: auto;
  }
  body.customer-account .my-account .addresses-list h2 {
    margin-bottom: 15px;
  }
  .order-info {
    margin-top: 15px;
  }
  .data-table.orders .link-reorder,
  .data-table.orders .date {
    display: none;
  }
  .data-table.orders td.view {
    text-align: right;
  }
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    width: 100%;
    margin-top: 15px;
  }
  .order-info-box {
    margin: 0;
  }
  .order-info-box .col-1,
  .order-info-box .col-2 {
    width: 100%;
    border-bottom: 1px solid #EDEDED;
    padding: 15px 0;
  }
  .order-info-box + .order-info-box {
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 30px;
  }
  #my-reviews-table .nobr {
    white-space: normal;
  }
}

/* ============================================ *
 * Newsletter Subscriptions
 * ============================================ */
body.newsletter-manage-index .my-account .fieldset {
  margin-bottom: 20px;
}

body.newsletter-manage-index .my-account .fieldset h2 {
  display: none;
}

body.newsletter-manage-index .my-account .form-list {
  margin-bottom: 30px;
}

body.newsletter-manage-index .my-account .form-list .control {
  display: none;
}

body.newsletter-manage-index .my-account .form-list .control.-m, body.newsletter-manage-index .my-account .form-list .control.-w {
  display: block;
}

/* ============================================ *
 * Page Pop Up
 * ============================================ */
.page-popup .page-title {
  margin-bottom: 40px;
}

.page-popup .page-title h1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #000;
  font-weight: bold;
  padding-bottom: 1em;
  text-align: left;
}

.page-popup .title-buttons {
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
  position: relative;
  text-align: right;
}

.page-popup .title-buttons:after {
  content: '';
  display: table;
  clear: both;
}

.page-popup .title-buttons h1 {
  float: left;
  border: 0;
  padding-bottom: 0;
  text-align: left;
}

.page-popup .title-buttons .button {
  background: transparent;
  color: #0645AD;
  float: right;
  padding: 0;
  text-transform: none;
}

.page-popup .sub-title {
  margin-bottom: 1em;
}

.page-popup .buttons-set {
  margin-top: 30px;
}

.page-popup .buttons-set button.button {
  float: left;
  margin: 0;
}

.customer-paymentinfo-index .col-1 {
  content: '';
  display: table;
  clear: both;
  padding-top: 0;
}

.customer-paymentinfo-index .col-1 .buttons-set {
  margin-top: 20px !important;
}

.customer-paymentinfo-index .col-1 .buttons-set .button {
  margin-right: 1em;
}

.customer-paymentinfo-index .col-2 {
  padding-top: 0;
}

.customer-paymentinfo-index .col-2 .buttons-set {
  text-align: left;
}

.customer-paymentinfo-index .col-2 .buttons-set a {
  margin-left: 1em;
}

@media only screen and (max-width: 770px) {
  .customer-account.customer-paymentinfo-index .my-account .col-1,
  .customer-account.customer-paymentinfo-index .my-account .col-2 {
    display: block;
    width: 100%;
    padding: 0;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 {
    margin-bottom: 30px;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 .box-title .pages {
    float: right;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 .buttons-set form {
    margin-top: 1em;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-1 .buttons-set .button {
    float: none;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-2 .buttons-set button {
    float: none;
  }
  .customer-account.customer-paymentinfo-index .my-account .col-2 .buttons-set a {
    display: block;
    margin-left: 0;
    padding: 10px;
    text-align: center;
  }
  .customer-account.customer-paymentinfo-index .my-account .addresses-list .item {
    display: block;
    float: none;
    width: auto;
    padding-right: 15px;
  }
}

/* ============================================ *
 * Contacts
 * ============================================ */
.contacts-index-index .buttons-set {
  margin-left: 30px;
  max-width: 435px;
}

.contacts-index-index .buttons-set p.required {
  float: left;
}

@media only screen and (max-width: 599px) {
  .contacts-index-index .buttons-set {
    max-width: 330px;
    margin-left: 0;
  }
  .contacts-index-index .buttons-set button {
    float: left;
    margin-left: 0px;
  }
  .contacts-index-index .buttons-set p.required {
    float: right;
  }
}

/* ============================================ *
 * PayPal
 * ============================================ */
@media only screen and (max-width: 870px) and (min-width: 771px) {
  .paypal-review-order .col2-set .col-1,
  .paypal-review-order .col2-set .col-2 {
    padding: 0px;
  }
}

.paypal-review-order .info-set {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #EDEDED;
}

.paypal-review-order .buttons-set {
  margin-top: 0px;
  padding-top: 0px;
  border: 0;
}

.paypal-review-order .buttons-set button {
  margin-bottom: 10px;
}

@media only screen and (max-width: 770px) {
  .paypal-review-order .col-1 {
    padding-bottom: 0;
  }
  .paypal-review-order .field.inactive {
    display: none;
  }
}

.top-container .bml-ad {
  margin-top: 7px;
  margin-bottom: 7px;
  text-align: center;
}

.top-container .bml-ad span {
  display: inline-block;
}

.top-container .bml-ad span a {
  display: block;
}

.bml-ad {
  display: none;
  text-align: center;
  margin-bottom: 5px;
}

.bml-ad span {
  display: block;
  line-height: 0;
}

.bml-ad a {
  display: inline-block;
  max-width: 100%;
}

.bml-ad a:hover {
  opacity: 0.7;
}

.bml-ad img {
  height: auto !important;
  max-width: 100%;
}

.cart-totals-wrapper .bml-ad.large img {
  display: block;
  margin: 0;
}

@media only screen and (max-width: 770px) {
  .bml-ad.small {
    display: block;
  }
}

@media only screen and (min-width: 771px) {
  .bml-ad.large {
    display: block;
  }
}

div.paypal-logo {
  text-align: center;
  margin: 15px 0;
  max-width: 100%;
}

div.paypal-logo span {
  display: block;
  width: 100%;
}

div.paypal-logo span a {
  display: inline-block;
  max-width: 100%;
}

div.paypal-logo span a img {
  max-width: 100%;
}

div.paypal-logo span > img {
  display: none;
}

.checkout-types div.paypal-logo {
  text-align: right;
}

.bml-checkout-type {
  list-style-type: none;
}

.sidebar .paypal-logo {
  text-align: center;
  line-height: 0;
}

.sidebar .paypal-logo > a {
  display: inline-block;
  max-width: 100%;
}

.sidebar .paypal-logo > a:hover {
  opacity: 0.8;
}

.sidebar .paypal-logo > a img {
  display: block;
}

.sidebar .paypal-logo .label {
  margin-top: 4px;
}

.sidebar .paypal-logo .label a {
  font-size: 12px;
  line-height: 1.5;
}

/* ============================================ *
 * Review - Customer
 * ============================================ */
#customer-reviews {
  width: auto;
  float: none;
}

#customer-reviews .review-heading {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 10px 0 5px;
}

#customer-reviews .review-heading:after {
  content: '';
  display: table;
  clear: both;
}

#customer-reviews .review-heading h2 {
  float: left;
  display: block;
}

#customer-reviews .review-heading .pager {
  clear: none;
  float: right;
  width: auto;
}

#customer-reviews .review-heading .pager .count-container .limiter {
  margin-bottom: 0;
}

#customer-reviews .review-heading .pager .count-container .limiter label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 10px;
  text-transform: uppercase;
}

#customer-reviews .review-heading .pager .amount {
  display: none;
}

#customer-reviews h2 {
  color: #0645AD;
  font-size: 12px;
  text-transform: uppercase;
}

#customer-reviews h2 span {
  color: #111;
}

#customer-reviews h3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  text-transform: uppercase;
}

#customer-reviews h3 span {
  color: #0645AD;
}

#customer-reviews .fieldset {
  padding-top: 25px;
  width: 470px;
}

#customer-reviews .fieldset h4 {
  border-bottom: 1px solid #000;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  padding-bottom: 5px;
  text-transform: uppercase;
}

#customer-reviews .fieldset h4 em {
  display: none;
}

#customer-reviews .fieldset .form-list {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  margin: 10px 0;
  text-transform: uppercase;
  width: 470px;
}

#customer-reviews .fieldset .form-list .inline-label:after {
  content: '';
  display: table;
  clear: both;
}

#customer-reviews .fieldset .form-list label {
  font-size: 12px;
  font-weight: normal;
}

#customer-reviews .fieldset .form-list textarea {
  border: 1px solid #000;
  border-radius: 0;
  min-width: 100%;
  -webkit-appearance: none;
}

#customer-reviews .fieldset .form-list input {
  border: 1px solid #000;
  border-radius: 0;
}

#customer-reviews .fieldset .form-list input[type="text"] {
  width: 100%;
}

#customer-reviews .buttons-set {
  border: none;
  margin: 0;
  width: 470px;
}

#customer-reviews dl {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  margin-bottom: 10px;
}

#customer-reviews dl dt {
  margin: 10px 0;
  text-transform: uppercase;
}

#customer-reviews dl dd {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  margin: 10px 0;
}

#customer-reviews dl dd .ratings-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  width: 100%;
}

#customer-reviews dl dd .ratings-table tr {
  margin-right: 15px;
}

#customer-reviews dl dd .ratings-table .review-label {
  width: 300px;
  max-width: 70%;
}

#customer-reviews dl dd table {
  margin: 15px 0;
}

#customer-reviews dl dd .review-meta {
  color: #0645AD;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 10px;
  font-weight: normal;
  text-transform: uppercase;
}

.review-summary-table {
  border-bottom: 1px solid #000;
  margin: 0 0 10px;
}

.review-summary-table thead {
  background: transparent;
}

.review-summary-table thead th {
  background: transparent;
  border: none;
  padding: 15px 7px 10px 8px;
}

.review-summary-table tbody th {
  background: #FFFFFF;
  font-size: 12px;
}

.review-summary-table tbody td {
  border: none;
  text-align: center;
  padding: 0;
}

.review-summary-table tbody td label {
  width: 100%;
  display: block;
  padding: 11px 0;
}

.review-summary-table .rating-box .rating-number {
  display: none;
}

.review-summary-table .rating-box .rating-number:after {
  content: "";
  display: inline-block;
  background-position: 0px -599px;
  width: 13px;
  height: 12px;
  margin-left: 5px;
  position: relative;
  top: 2px;
}

/* ============================================ *
 * Ratings - Global
 * ============================================ */
.ratings-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

.ratings-table th {
  padding-right: 10px;
}

.ratings-table .rating-box {
  background-position: 0 -615px;
  background-repeat: repeat-x;
  height: 13px;
  overflow: hidden;
  text-indent: -9999px;
  width: 65px;
}

.ratings-table .rating-box .rating {
  background-position: 0 -600px;
  background-repeat: repeat-x;
  float: left;
  height: 13px;
  text-indent: -9999px;
}

@media only screen and (max-width: 770px) {
  body.review-product-list .product-view .product-shop .price-info {
    padding-left: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info {
    padding: 0;
    min-width: 84%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table {
    margin: 10px 0;
    width: 100%;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    margin-right: 15px;
  }
}

@media only screen and (max-width: 535px) {
  body.review-product-list .product-view .product-shop .extra-info {
    min-width: 0;
  }
  body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
    float: none;
    margin-right: 0;
  }
}

@media only screen and (max-width: 520px) {
  #customer-reviews .fieldset {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list {
    width: 100%;
  }
  #customer-reviews .fieldset .form-list .inline-label label,
  #customer-reviews .fieldset .form-list .inline-label .input-box {
    float: none;
  }
  #customer-reviews .buttons-set {
    width: 100%;
  }
  #customer-reviews .review-summary-table thead th {
    padding-left: 0px;
    padding-right: 0px;
  }
  #customer-reviews .review-summary-table tbody th {
    padding-left: 0px;
    padding-right: 0px;
  }
  #customer-reviews .review-summary-table tbody td {
    width: 20%;
    padding: 0px;
  }
  #customer-reviews .review-summary-table .rating-box {
    text-indent: 0px;
    text-align: center;
    background: none;
    height: 16.8px;
    width: 100%;
  }
  #customer-reviews .review-summary-table .rating-box .rating {
    display: none;
  }
  #customer-reviews .review-summary-table .rating-box .rating-number {
    display: inline-block;
  }
}

@media only screen and (max-width: 450px) {
  #customer-reviews dl dd .ratings-table tr {
    float: none;
  }
}

/* ============================================ *
 * Review View Page
 * ============================================ */
.review-product-view .product-review .product-details h2 {
  border-bottom: none;
}

.review-product-view .product-review .product-img-box {
  width: auto;
  max-width: 50%;
}

.review-product-view .product-review .product-img-box > a {
  width: 100%;
}

.review-product-view .product-review .product-img-box .product-image {
  width: 100%;
}

@media only screen and (max-width: 770px) {
  .review-product-view .product-review .product-img-box {
    max-width: 100%;
  }
}

/* ============================================ *
 * Slideshow
 * ============================================ */
.slideshow-container {
  position: relative;
  display: block;
  width: 100%;
  margin: 10px 0;
  border: 1px solid #EDEDED;
}

.slideshow-container .slideshow {
  width: 100%;
  padding: 0;
  position: relative;
  margin: 0;
  border: 10px solid #FFFFFF;
}

.slideshow-container .slideshow > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0;
  display: block;
  margin: 0;
}

.slideshow-container .slideshow > li:first-child {
  position: static;
  z-index: 100;
}

.slideshow-container .slideshow > li img {
  max-width: 100%;
  width: 100%;
}

.slideshow-pager {
  text-align: center;
  width: 100%;
  z-index: 115;
  position: absolute;
  bottom: 0px;
  top: auto;
  overflow: hidden;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.slideshow-pager span {
  font-family: arial;
  width: 44px;
  height: 44px;
  display: inline-block;
  color: #DDDDDD;
  cursor: pointer;
}

.slideshow-pager span:before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  left: 50%;
  top: 50%;
  margin-left: -8px;
  margin-top: -8px;
  border-radius: 1px;
  background-color: #FFFFFF;
  position: relative;
}

.slideshow-pager span:hover:before {
  background-color: #053b94;
}

.slideshow-pager span.cycle-pager-active:before {
  background-color: #04317c;
}

.slideshow-pager > * {
  cursor: pointer;
}

.slideshow-prev,
.slideshow-next {
  position: absolute;
  top: 0;
  width: 15%;
  max-width: 80px;
  height: 100%;
  opacity: 0.6;
  z-index: 110;
  cursor: pointer;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.slideshow-prev:before,
.slideshow-next:before {
  content: '';
  width: 0;
  height: 0;
  font-size: 0;
  position: absolute;
  border-style: solid;
  display: block;
  top: 50%;
  margin-top: -15px;
}

.slideshow-prev:hover,
.slideshow-next:hover {
  opacity: 1;
}

.slideshow-prev.disabled,
.slideshow-next.disabled {
  opacity: 0.5;
  cursor: default;
}

.slideshow-prev {
  left: 8px;
}

.slideshow-prev:before {
  border-width: 15px 15px 15px 0;
  border-color: transparent #FFFFFF transparent transparent;
  top: 50%;
  left: 10px;
}

.slideshow-prev:hover:before {
  border-color: transparent #053b94 transparent transparent;
}

.slideshow-next {
  right: 8px;
}

.slideshow-next:before {
  border-width: 15px 0 15px 15px;
  border-color: transparent transparent transparent #FFFFFF;
  top: 50%;
  right: 10px;
}

.slideshow-next:hover:before {
  border-color: transparent transparent transparent #053b94;
}

.cycle-caption {
  position: absolute;
  color: white;
  bottom: 15px;
  right: 15px;
  z-index: 110;
}

.cycle-overlay {
  font-family: tahoma, arial;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 120;
  background: black;
  color: white;
  padding: 15px;
  opacity: .5;
}

/* ============================================ *
 * Wishlist
 * ============================================ */
#wishlist-table th {
  text-align: center;
}

#wishlist-table.clean-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  width: 100%;
}

#wishlist-table.clean-table th {
  border-bottom: 1px solid #C0C0C0;
}

#wishlist-table.clean-table td {
  padding: 15px;
  vertical-align: top;
}

#wishlist-table.clean-table thead th {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

#wishlist-table .product-name {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin-bottom: 0;
  text-transform: uppercase;
}

#wishlist-table .product-name a {
  color: #0645AD;
}

#wishlist-table .wishlist-sku {
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin: 5px 0;
}

#wishlist-table textarea {
  border: 1px solid #111;
  width: 100%;
  height: 45px;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

#wishlist-table textarea::-webkit-input-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea:-moz-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea::-moz-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea:-ms-input-placeholder {
  text-transform: uppercase;
}

#wishlist-table textarea:focus {
  border: 1px solid #0645AD;
}

#wishlist-table .item-manage {
  text-align: right;
  max-width: 450px;
  padding-top: 5px;
}

#wishlist-table .item-manage .button {
  font-size: 12px;
  padding: 3px 5px;
}

#wishlist-table .cart-cell {
  text-align: center;
}

#wishlist-table td.customer-wishlist-item-image {
  width: 113px;
}

#wishlist-table td.customer-wishlist-item-quantity {
  width: 3em;
}

#wishlist-table td.customer-wishlist-item-price {
  width: 120px;
  text-align: center;
}

#wishlist-table td.customer-wishlist-item-cart {
  width: 150px;
}

#wishlist-table td.customer-wishlist-item-cart .button {
  font-size: 12px;
  margin-bottom: 10px;
  padding: 3px 5px;
  width: 100%;
}

#wishlist-table td.customer-wishlist-item-cart .truncated {
  margin-bottom: 10px;
}

#wishlist-table td.customer-wishlist-item-cart > p {
  margin-bottom: 0;
}

#wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
  text-align: center;
}

#wishlist-table td.customer-wishlist-item-cart .btn-remove {
  vertical-align: top;
}

#wishlist-table td.customer-wishlist-item-remove {
  width: 20px;
}

#wishlist-table td .button,
#wishlist-table td button {
  white-space: normal;
}

#wishlist-table .price-box {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
}

#wishlist-table .price-box .price {
  color: #111;
}

#wishlist-table .giftregisty-add {
  margin-top: 5px;
}

#wishlist-table .giftregisty-add .change {
  display: none;
}

#wishlist-table .giftregisty-add li {
  cursor: pointer;
  color: #0645AD;
  margin-bottom: 3px;
}

#wishlist-table .truncated .details {
  background: none;
  color: #0645AD;
}

#wishlist-table td[data-rwd-label]:before {
  font-weight: 600;
}

@media only screen and (max-width: 1199px) {
  #wishlist-table.clean-table td {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media only screen and (max-width: 979px) {
  #wishlist-table.clean-table td {
    padding-left: 5px;
    padding-right: 5px;
  }
  #wishlist-table.clean-table td textarea {
    height: 100px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 110px;
  }
  #wishlist-table .product-name {
    font-size: 12px;
  }
}

@media only screen and (max-width: 770px) {
  #wishlist-table:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table .product-name {
    font-size: 12px;
  }
  #wishlist-table textarea {
    height: 68px;
    max-width: 100%;
  }
  #wishlist-table .item-manage {
    max-width: 100%;
  }
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  #wishlist-table td.customer-wishlist-item-image {
    width: 70px;
  }
  #wishlist-table td.customer-wishlist-item-image img {
    width: 70px;
    height: 70px;
  }
  #wishlist-table td.customer-wishlist-item-cart p {
    margin-bottom: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
    margin-right: 0;
    padding-top: 4px;
  }
  #wishlist-table td.customer-wishlist-item-cart {
    padding-right: 15px;
  }
}

@media only screen and (max-width: 599px) {
  #wishlist-table td.customer-wishlist-item-quantity {
    padding-left: 0;
  }
  #wishlist-table td.customer-wishlist-item-image,
  #wishlist-table th.customer-wishlist-item-image {
    display: none;
  }
}

@media only screen and (max-width: 359px) {
  #wishlist-table tr {
    position: relative;
  }
  #wishlist-table th.customer-wishlist-item-image {
    display: block;
  }
  #wishlist-table td.customer-wishlist-item-image, #wishlist-table td.customer-wishlist-item-info, #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price, #wishlist-table td.customer-wishlist-item-cart {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    empty-cells: hide;
  }
  #wishlist-table td.customer-wishlist-item-image {
    display: block;
    overflow: hidden;
  }
  #wishlist-table td.customer-wishlist-item-image a {
    float: left;
  }
  #wishlist-table td.customer-wishlist-item-image a img {
    width: 113px;
    height: 113px;
  }
  #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity:before, #wishlist-table td.customer-wishlist-item-price:before {
    float: left;
    margin-right: 15px;
  }
  #wishlist-table td.customer-wishlist-item-quantity .cart-cell, #wishlist-table td.customer-wishlist-item-price .cart-cell {
    text-align: left;
  }
  #wishlist-table td.customer-wishlist-item-quantity .price-box, #wishlist-table td.customer-wishlist-item-price .price-box {
    margin-top: 0;
  }
  #wishlist-table td.customer-wishlist-item-cart .cart-cell {
    float: left;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-cart > p {
    float: right;
    width: 48%;
  }
  #wishlist-table td.customer-wishlist-item-remove {
    position: absolute;
    top: 15px;
    right: 0px;
    display: block;
    padding: 0px;
    height: 20px;
  }
  #wishlist-table.clean-table td.customer-wishlist-item-cart {
    width: 100%;
  }
}

/* ============================================ *
 * Wishlist Sidebar
 * ============================================ */
.block-wishlist .mini-products-list > li:not(:last-child) {
  padding-bottom: 5px;
}

.block-wishlist .product-details .product-name {
  padding-top: 0;
  margin-bottom: 5px;
}

.block-wishlist .price-box {
  float: left;
  margin: 0;
}

.block-wishlist .price-box,
.block-wishlist .price-box .price,
.block-wishlist .link-cart {
  font-size: 12px;
}

.block-wishlist .link-cart {
  float: left;
  text-transform: uppercase;
  margin-right: 7px;
  padding-right: 7px;
  border-right: 1px solid #EDEDED;
}

/* ============================================ *
 * Checkout - Mini cart
 * ============================================ */
.header-minicart {
  display: inline-block;
}

@media only screen and (max-width: 770px) {
  .header-minicart {
    display: block;
  }
}

.header-minicart .minicart-message {
  display: block;
  padding: 10px;
}

.header-minicart .empty {
  padding: 10px;
  text-align: center;
}

.header-minicart .minicart-wrapper {
  clear: both;
  position: relative;
}

.header-minicart .minicart-wrapper:before, .header-minicart .minicart-wrapper:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
}

.header-minicart .minicart-wrapper:before {
  background-color: white;
  opacity: 0.8;
  z-index: 2;
}

.header-minicart .minicart-wrapper:after {
  background-image: url("https://totokaelo.com/skin/frontend/totokaelo/default/images/opc-ajax-loader.gif");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 3;
}

.header-minicart .minicart-wrapper.loading {
  position: relative;
}

.header-minicart .minicart-wrapper.loading:before, .header-minicart .minicart-wrapper.loading:after {
  display: block;
}

.header-minicart .block-cart {
  display: none;
}

.header-minicart .block-subtitle {
  color: #50A4CF;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.4;
  padding: 5px;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 0px;
}

.header-minicart .block-subtitle .close {
  width: 40px;
  float: right;
  display: block;
  color: #111;
  text-decoration: none;
  font-weight: normal;
  font-size: 30px;
  position: absolute;
  top: -8px;
  right: -3px;
}

.header-minicart .mini-products-list {
  padding: 10px;
  padding-top: 0px;
}

.header-minicart .mini-products-list li {
  padding: 8px 5px 8px 11px;
  border-bottom: 1px solid #DDDDDD;
  position: relative;
}

.header-minicart .mini-products-list li.last {
  border: none;
}

.header-minicart .mini-products-list li .product-details {
  position: relative;
}

.header-minicart .product-details .product-name {
  padding-top: 0px;
  font-weight: bold;
}

.header-minicart .product-details .product-name a {
  color: #0645AD;
}

.header-minicart .info-wrapper {
  margin-bottom: 0.5em;
}

.header-minicart .info-wrapper th {
  text-transform: uppercase;
  padding-right: 10px;
}

.header-minicart .info-wrapper td {
  color: #111;
  clear: right;
}

.header-minicart .info-wrapper .qty-wrapper td {
  height: 33px;
  line-height: 33px;
}

.header-minicart .info-wrapper .qty {
  padding-left: 4px;
  padding-right: 4px;
  margin-right: 2px;
  width: 3.2em;
  text-align: center;
  height: 30px;
}

.header-minicart .info-wrapper .quantity-button {
  opacity: 0;
  -webkit-transition: opacity 100ms;
  transition: opacity 100ms;
}

.header-minicart .info-wrapper .quantity-button[disabled] {
  cursor: default;
}

.header-minicart .info-wrapper .quantity-button.visible {
  opacity: 1;
}

.header-minicart .subtotal {
  background-color: #DDDDDD;
  text-align: center;
  line-height: 2em;
}

.header-minicart .subtotal .label {
  color: white;
  text-transform: uppercase;
}

.header-minicart .subtotal .price {
  color: #111;
}

.header-minicart .minicart-actions {
  padding: 10px;
  margin-top: 0px;
  overflow: hidden;
  position: relative;
  text-align: center;
}

.header-minicart .minicart-actions .checkout-button {
  min-width: 145px;
}

.header-minicart .minicart-actions .cart-link {
  height: 33px;
  line-height: 39px;
  text-transform: uppercase;
  font-size: 12px;
}

.header-minicart .minicart-actions .paypal-logo .paypal-or {
  line-height: 1.6;
}

.header-minicart #minicart-error-message {
  text-align: center;
  color: red;
  display: none;
}

.header-minicart #minicart-success-message {
  text-align: center;
  color: green;
  display: none;
}

.header-minicart .jcarousel-control-prev,
.header-minicart .jcarousel-control-next {
  display: none;
}

.header-minicart.skip-active .block-cart,
.block-cart.skip-active {
  display: block;
}

@media only screen and (min-width: 771px) {
  .checkout-types.minicart {
    float: none;
    text-align: center;
  }
}

@media only screen and (max-width: 359px) {
  .header-minicart a.skip-cart {
    z-index: 1;
  }
}

@media only screen and (max-width: 770px) {
  .header-minicart .subtotal .label {
    color: #111;
  }
  .header-minicart .minicart-wrapper:before {
    background-color: #EDEDED;
  }
  .header-minicart .quantity-button {
    float: none;
  }
  .header-minicart .header-minicart .block-cart {
    padding: 15px;
  }
  .header-minicart .header-minicart .block-subtitle {
    padding-top: 59px;
  }
  .header-minicart .minicart-actions {
    padding-bottom: 33px;
  }
  .header-minicart .minicart-actions .cart-link {
    bottom: 0;
    right: 10px;
    position: absolute;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li {
    display: inline-block;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo > a {
    display: inline;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .bml_button {
    display: inline-block;
    vertical-align: top;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
    width: auto;
    float: none;
    display: inline;
    margin: 0 10px 5px 10px;
    line-height: 40px;
  }
}

@media only screen and (max-width: 740px) {
  .header-minicart .minicart-actions .cart-link {
    right: auto;
    left: 0;
    text-align: center;
    width: 100%;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or,
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-button {
    width: 100%;
    display: block;
    margin-left: 0;
  }
  .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
    line-height: 1.6;
  }
}

@media only screen and (max-width: 599px) {
  .header-minicart .minicart-actions .checkout-button {
    width: 100%;
  }
}

/* ============================================ *
 * Search - Auto Suggest
 * ============================================ */
.search-autocomplete {
  left: 0 !important;
  overflow: visible !important;
  position: relative !important;
  top: 15px !important;
  width: 100% !important;
  z-index: 200;
}

.search-autocomplete ul {
  border-radius: 2px;
  background-color: #FFFFFF;
  border: 1px solid #0645AD;
  left: 0;
  padding-left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.search-autocomplete ul li {
  border-bottom: 1px solid #F4F4F4;
  color: #0645AD;
  cursor: pointer;
  font-size: 12px;
  padding: 4px 6px;
  text-align: left;
}

.search-autocomplete ul li:hover {
  color: #053b94;
}

.search-autocomplete ul li.selected {
  background-color: #0645AD;
  color: white;
}

.search-autocomplete ul li .amount {
  float: right;
  font-weight: bold;
}

.search-autocomplete ul li:last-child {
  border-bottom: none;
}

.search-autocomplete:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #0645AD;
  border-top: none;
  left: 50%;
  top: -7px;
}

/* ============================================ *
 * Search - Advanced
 * ============================================ */
.advanced-search {
  background: #F4F4F4;
  border: 1px solid #EDEDED;
  padding: 30px;
}

.advanced-search select.multiselect option {
  border-bottom: 1px solid #EDEDED;
  padding: 2px 5px;
}

@media only screen and (max-width: 359px) {
  .advanced-search {
    padding: 15px;
  }
}

/* ============================================ *
 * Account - Reviews
 * ============================================ */
.product-review .product-img-box p.label {
  border-bottom: 1px solid #000;
  font-size: 12px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin-top: 20px;
  padding-bottom: 10px;
  text-transform: uppercase;
}

.product-review .product-img-box .rating-box {
  margin: 15px 0;
}

.product-review .product-details h2 {
  border-bottom: 1px solid #000;
  color: #3399CC;
  font-size: 12px;
  font-weight: 600;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  padding-bottom: 10px;
}

.product-review .ratings-table {
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

.product-review .ratings-table th {
  padding-right: 10px;
}

.product-review .ratings-table tr {
  float: left;
  font-size: 12px;
  margin-right: 10px;
  text-transform: uppercase;
}

.product-review .ratings-description dt {
  border-bottom: 1px solid #000;
  font-size: 12px;
  font-weight: 400;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  margin-top: 20px;
  padding: 10px 0;
  text-transform: uppercase;
}

.product-review .ratings-description dd {
  color: #737373;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
}

@media only screen and (min-width: 771px) {
  .product-review .ratings-table tr {
    float: none;
  }
}

@media only screen and (min-width: 1126px) {
  .product-review .ratings-table tr {
    float: left;
    margin-right: 15px;
  }
}

@media only screen and (max-width: 320px) {
  .product-review .ratings-table tr {
    float: none;
  }
}

/* ============================================ *
 * Pricing Conditions
 * ============================================ */
.price-box .minimal-price-link .label {
  color: #DC2022;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-size: 12px;
  text-transform: uppercase;
}

.map-info {
  white-space: nowrap;
}

.catalog-product-view .map-info {
  white-space: normal;
}

.catalog-product-view .map-info > span {
  float: right;
  margin-bottom: 5px;
}

.catalog-product-view .map-info .price-box.map-info > a {
  float: right;
  width: 100%;
}

/* ============================================ *
 * Cookies
 * ============================================ */
.notice-cookie .notice-inner {
  padding-bottom: 0;
}

.notice-cookie .notice-inner:after {
  content: '';
  display: table;
  clear: both;
}

.notice-cookie .notice-text {
  float: left;
  max-width: 90%;
  padding-top: 4px;
  text-align: left;
}

.notice-cookie .notice-text p {
  padding-bottom: 14px;
  line-height: 1.3;
}

.notice-cookie .actions {
  float: left;
  text-align: right;
  padding-bottom: 14px;
}

@media only screen and (max-width: 979px) {
  .notice-cookie .notice-text {
    max-width: 86%;
  }
}

@media only screen and (max-width: 770px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-text {
    max-width: 82%;
    padding-top: 0;
  }
}

@media only screen and (max-width: 620px) {
  .notice-cookie {
    padding: 0 20px;
  }
  .notice-cookie .notice-inner {
    background-position: left 10px;
  }
  .notice-cookie .notice-inner:after {
    content: '';
    display: table;
    clear: both;
  }
  .notice-cookie .notice-text {
    float: none;
    max-width: 100%;
    padding-top: 0;
  }
  .notice-cookie .actions {
    text-align: left;
  }
}

/* ============================================ *
 * Tags
 * ============================================ */
#addTagForm button {
  margin-top: 5px;
  margin-bottom: 10px;
}

#addTagForm .form-add {
  margin-top: 10px;
}

.product-tags {
  background-color: #F4F4F4;
  border: 1px solid #000;
  float: left;
  margin-bottom: 10px;
  padding: 5px 1% 10px;
  width: 98%;
}

.product-tags li {
  float: left;
  margin-right: 15px;
}

.product-tags li.last {
  margin-right: 0px;
}

.tags-list {
  float: left;
  width: 100%;
  margin-bottom: 10px;
}

.tags-list > li {
  float: left;
  margin-right: 10px;
}

.block-tags .actions > a {
  font-size: 12px;
}

.my-tag-edit .button.btn-remove {
  padding: 0;
}

.my-tag-edit .button.btn-remove:after {
  color: white;
}

@media only screen and (max-width: 770px) {
  .tags-list > li,
  .tags-list {
    float: none;
  }
}

/* ============================================ *
 * Captcha
 * ============================================ */
.captcha-note {
  clear: left;
  padding-top: 5px;
}

.captcha-image {
  float: left;
  display: inline;
  max-width: 100%;
  position: relative;
  width: 258px;
  margin-bottom: 10px;
}

.captcha-image .captcha-img {
  border: 1px solid #b6b6b6;
  vertical-align: bottom;
  width: 100%;
}

.registered-users .captcha-image {
  margin: 0;
}

.captcha-reload {
  cursor: pointer;
  position: absolute;
  top: 2px;
  right: 2px;
}

.captcha-reload.refreshing {
  animation: rotate 1.5s infinite linear;
  -webkit-animation: rotate 1.5s infinite linear;
  -moz-animation: rotate 1.5s infinite linear;
}

.customer-account-create .scaffold-form .captcha-input-container label:first-child {
  width: 100%;
}

.captcha-reload {
  position: absolute;
  right: 4px;
  top: 4px;
}

.captcha-img {
  border: 20px solid #bbb;
}

.captcha-input-container {
  margin-bottom: 10px;
}

.control.newsletter-box, .captcha-input-container, .captcha-img-container {
  float: none;
  clear: both;
}

.control.newsletter-box:after, .captcha-input-container:after, .captcha-img-container:after {
  content: '';
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Checkout Billing Fix to place the Captcha properly
 * ============================================ */
#co-billing-form ul.form-list > .control {
  float: left;
  margin: 0 0 5px;
  width: 100%;
}

/* ============================================ *
 * Account - Orders, Invoices, Credit Memos.
 * ============================================ */
@media only screen and (max-width: 359px) {
  .sales-order-invoice .sub-title,
  .sales-order-creditmemo .sub-title,
  .sales-order-shipment .sub-title {
    float: left;
    font-size: 12px;
    text-align: center;
    width: 100%;
  }
  .sales-order-invoice .order-links,
  .sales-order-creditmemo .order-links,
  .sales-order-shipment .order-links {
    text-align: center;
    width: 100%;
  }
}

/* ============================================ *
 * Recurring Profiles
 * ============================================ */
#recurring_profile_list_view th {
  white-space: normal;
}

#recurring_profile_list_view th span {
  white-space: inherit;
}

@media only screen and (max-width: 359px) {
  #recurring_profile_list_view {
    font-size: 12px;
  }
  #recurring_profile_list_view a {
    font-size: inherit;
  }
  #recurring_profile_list_view th,
  #recurring_profile_list_view td {
    padding: 2px;
  }
}

.recurring-profiles-title {
  float: left;
}

.recurring-profiles-title h1 {
  margin-bottom: 7px;
}

body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
  float: right;
  text-align: right;
  margin-bottom: 30px;
}

@media only screen and (max-width: 359px) {
  body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
    text-align: center;
    float: none;
  }
}

body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons .button {
  position: static;
}

.recurring-profiles-messages:after {
  content: '';
  display: table;
  clear: both;
}

#recurring_start_date_trig {
  display: inline;
}

/* ============================================ *
 * Billing Agreements
 * ============================================ */
.billing-agreements .info-box {
  margin-bottom: 30px;
}

.billing-agreements .info-box:after {
  content: '';
  display: table;
  clear: both;
}

.billing-agreements .info-box .form-list {
  max-width: 400px;
  width: 100%;
}

.billing-agreements .info-box .box-title {
  margin-top: 20px;
  margin-bottom: 7px;
}

.billing-agreements .info-box .button {
  float: right;
  margin-top: 7px;
}

@media only screen and (max-width: 359px) {
  .billing-agreements .info-box .button {
    width: 100%;
    float: none;
  }
}

.billing-agreements #payment_method {
  width: 100%;
  margin-top: 7px;
  margin-bottom: 7px;
}

.billing-agreement-view-header-wrapper .heading {
  max-width: 80%;
}

@media only screen and (max-width: 359px) {
  .billing-agreement-view-header-wrapper .heading {
    max-width: 100%;
  }
}

.billing-agreement-details td, .billing-agreement-details th {
  padding: 3.5px;
}

@media only screen and (max-width: 979px) {
  .billing-agreements .data-table .created-at,
  .billing-agreements .data-table .updated-at {
    display: none;
  }
}

/* ============================================ *
 * Popular Search Terms Cloud
 * ============================================ */
.catalogsearch-term-popular .tags-list {
  float: left;
  width: 100%;
}

.catalogsearch-term-popular .tags-list > li {
  float: left;
  height: 40px;
  margin-right: 25px;
}

/* ============================================ *
 * Widgets
 * ============================================ */
/* -------------------------------------------- *
 * Add to cart by SKU
 */
.sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
  width: 100%;
}

@media only screen and (min-width: 771px) {
  .sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
    max-width: 100px;
  }
}

.widget {
  clear: both;
}

.widget .pager {
  float: none;
  width: 100%;
}

/* ============================================ *
 * Checkout - Multiple Addresses
 * ============================================ */
body[class*="checkout-multishipping-"] .checkout-progress {
  width: 100%;
  float: left;
  margin-bottom: 25px;
}

body[class*="checkout-multishipping-"] .checkout-progress > li {
  float: left;
  width: 20%;
  text-align: center;
  padding: 8px 1% 6px;
  background: #F4F4F4;
  text-transform: uppercase;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  margin-bottom: 10px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
}

body[class*="checkout-multishipping-"] .checkout-progress > li.active {
  background-color: #DDDDDD;
}

body[class*="checkout-multishipping-"] .checkout-progress > li.last {
  border-right: 0px;
}

body[class*="checkout-multishipping-"] .page-title {
  float: left;
  width: 100%;
  margin-bottom: 15px;
}

body[class*="checkout-multishipping-"] .page-title h1 {
  border: 0 none;
  float: left;
  margin-top: 2px;
  margin-right: 2%;
}

body[class*="checkout-multishipping-"] .page-title .button {
  float: right;
}

body[class*="checkout-multishipping-"] .multiple-checkout > h2 {
  text-transform: none;
  font-size: 17px;
  margin-bottom: 15px;
}

body[class*="checkout-multishipping-"] .messages {
  float: left;
  width: 100%;
}

body[class*="checkout-multishipping-"] .col-2.col-wide {
  width: 66%;
}

body[class*="checkout-multishipping-"] .col-1.col-narrow {
  width: 30%;
}

body[class*="checkout-multishipping-"] .actions {
  margin-bottom: 10px;
}

body[class*="checkout-multishipping-"] .grand-total {
  text-align: right;
  font-size: 12px;
  font-weight: bold;
}

body[class*="checkout-multishipping-"] #checkout-review-submit {
  float: right;
}

body[class*="checkout-multishipping-"] #review-buttons-container {
  float: right;
  text-align: right;
}

.checkout-multishipping-addresses .btn-remove2 {
  text-indent: -5555px;
  display: block;
  width: 22px;
  height: 22px;
}

.checkout-multishipping-shipping .gift-messages {
  margin-top: 20px;
}

.checkout-multishipping-shipping .gift-messages-form {
  margin-top: 15px;
}

.checkout-multishipping-shipping .gift-messages-form h4 {
  margin-top: 15px;
  margin-bottom: 5px;
}

.checkout-multishipping-shipping .gift-messages-form .form-list {
  margin-top: 10px;
  margin-bottom: 25px;
}

.checkout-multishipping-shipping .gift-messages-form .item {
  margin-top: 15px;
}

.checkout-multishipping-shipping .col-1 .box-title h2, .checkout-multishipping-shipping .col-1 .box-title h3, .checkout-multishipping-shipping .col-1 .box-title h4, .checkout-multishipping-shipping .col-2 .box-title h2, .checkout-multishipping-shipping .col-2 .box-title h3, .checkout-multishipping-shipping .col-2 .box-title h4,
.checkout-multishipping-billing .col-1 .box-title h2,
.checkout-multishipping-billing .col-1 .box-title h3,
.checkout-multishipping-billing .col-1 .box-title h4,
.checkout-multishipping-billing .col-2 .box-title h2,
.checkout-multishipping-billing .col-2 .box-title h3,
.checkout-multishipping-billing .col-2 .box-title h4,
.checkout-multishipping-overview .col-1 .box-title h2,
.checkout-multishipping-overview .col-1 .box-title h3,
.checkout-multishipping-overview .col-1 .box-title h4,
.checkout-multishipping-overview .col-2 .box-title h2,
.checkout-multishipping-overview .col-2 .box-title h3,
.checkout-multishipping-overview .col-2 .box-title h4 {
  font-weight: normal;
  width: 100%;
  background: #F4F4F4;
  border-bottom: 1px solid #000;
  padding: 10px;
  font-size: 14px;
}

.checkout-multishipping-shipping .col-1 > h4, .checkout-multishipping-shipping .col-2 > h4,
.checkout-multishipping-billing .col-1 > h4,
.checkout-multishipping-billing .col-2 > h4,
.checkout-multishipping-overview .col-1 > h4,
.checkout-multishipping-overview .col-2 > h4 {
  font-weight: normal;
  width: 100%;
  background: #F4F4F4;
  border-bottom: 1px solid #000;
  padding: 10px;
  font-size: 14px;
}

.checkout-multishipping-shipping .col-1 .box-content, .checkout-multishipping-shipping .col-2 .box-content,
.checkout-multishipping-billing .col-1 .box-content,
.checkout-multishipping-billing .col-2 .box-content,
.checkout-multishipping-overview .col-1 .box-content,
.checkout-multishipping-overview .col-2 .box-content {
  margin-bottom: 25px;
  padding-left: 10px;
  margin-top: 10px;
}

.checkout-multishipping-billing .sp-methods dt {
  float: left;
  width: 100%;
}

#multiship-addresses-table > tbody > tr > td.a-center.last > a {
  background-image: none;
}

#review-order-form > div:nth-child(3) > div.divider {
  width: 100%;
  clear: both;
}

@media only screen and (max-width: 979px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 300px;
  }
  #review-order-form .col-1,
  #review-order-form .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}

@media only screen and (max-width: 770px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress li {
    width: 100%;
    margin: 0;
    text-align: left;
    padding-left: 3%;
    border-right: 0px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 1px;
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .box-title {
    float: left;
    width: 100%;
  }
  body[class*="checkout-multishipping-"] .page-title .button {
    float: left;
    margin-bottom: 10px;
  }
  body[class*="checkout-multishipping-"] .linearize-table tfoot td {
    text-align: right;
  }
  body[class*="checkout-multishipping-"] .linearize-table select {
    width: 100%;
    min-width: 200px;
  }
  body[class*="checkout-multishipping-"] .col-1.col-narrow, body[class*="checkout-multishipping-"] .col-2.col-wide {
    width: 100%;
    padding: 0;
  }
}

@media only screen and (max-width: 599px) {
  .checkout-multishipping-addresses .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 10px;
    margin-top: 12px;
  }
}

@media only screen and (max-width: 359px) {
  body[class*="checkout-multishipping-"] .buttons-set .back-link {
    display: block;
  }
}

/* ============================================ *
 * Calendar styles (restore styles from /js/calendar)
 * ============================================ */
div.calendar table {
  border-collapse: separate;
}

div.calendar table td.button {
  display: table-cell;
  background: inherit;
  color: inherit;
  text-transform: none;
}

img {
  max-width: 100%;
}

label {
  font-weight: normal;
}

label.required:after,
span.required:after {
  content: none;
}

.button {
  background-color: #000;
}

.buttons-set {
  border-top: none;
}

body.customer-account-forgotpassword .back-link,
body.customer-account-forgotpassword p.required,
body.customer-account-forgotpassword h2.legend,
body.customer-account-create .back-link,
body.customer-account-create p.required,
body.customer-account-create h2.legend,
body.customer-account-login .back-link,
body.customer-account-login p.required,
body.customer-account-login h2.legend {
  display: none;
}

body.customer-account-forgotpassword .buttons-set, body.customer-account-forgotpassword .fieldset,
body.customer-account-create .buttons-set,
body.customer-account-create .fieldset,
body.customer-account-login .buttons-set,
body.customer-account-login .fieldset {
  margin-left: 0;
}

body.customer-account-forgotpassword .page-title,
body.customer-account-create .page-title,
body.customer-account-login .page-title {
  margin-bottom: 20px;
}

body.customer-account-forgotpassword .fieldset p,
body.customer-account-create .fieldset p,
body.customer-account-login .fieldset p {
  margin-bottom: 23px;
}

body.customer-account-create .customer-name-middlename .name-middlename,
body.customer-account-login .customer-name-middlename .name-middlename {
  display: none;
}

body.customer-account-create ul.form-list li.control,
body.customer-account-login ul.form-list li.control {
  display: none;
}

body.customer-account-create .buttons-set,
body.customer-account-login .buttons-set {
  max-width: 365px;
}

.messages .error-msg ul li {
  background-color: #DC2022;
  color: white;
  text-transform: uppercase;
  border-left: none;
}

.messages .error-msg ul li:before {
  border-left: none;
}

.messages .success-msg ul li {
  background-color: #2D9955;
  color: white;
  text-transform: uppercase;
  border-left: none;
}

.messages .success-msg ul li:before {
  border-left: none;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.tk-l1, .tk-l2, .tk-l3, .tk-l4, .tk-l5,
.tk-h1, .tk-h2, .tk-h3, .tk-h4, .tk-h5,
.tk-p1, .tk-p2 {
  font-weight: normal;
}

.tk-l1.-bold, .tk-l2.-bold, .tk-l3.-bold, .tk-l4.-bold, .tk-l5.-bold,
.tk-h1.-bold, .tk-h2.-bold, .tk-h3.-bold, .tk-h4.-bold, .tk-h5.-bold,
.tk-p1.-bold, .tk-p2.-bold {
  font-weight: bold;
}

.tk-l1.-block, .tk-l2.-block, .tk-l3.-block, .tk-l4.-block, .tk-l5.-block,
.tk-h1.-block, .tk-h2.-block, .tk-h3.-block, .tk-h4.-block, .tk-h5.-block,
.tk-p1.-block, .tk-p2.-block {
  display: block;
}

.tk-l1.-disabled, .tk-l1.-disabled:hover, .tk-l2.-disabled, .tk-l2.-disabled:hover, .tk-l3.-disabled, .tk-l3.-disabled:hover, .tk-l4.-disabled, .tk-l4.-disabled:hover, .tk-l5.-disabled, .tk-l5.-disabled:hover,
.tk-h1.-disabled,
.tk-h1.-disabled:hover, .tk-h2.-disabled, .tk-h2.-disabled:hover, .tk-h3.-disabled, .tk-h3.-disabled:hover, .tk-h4.-disabled, .tk-h4.-disabled:hover, .tk-h5.-disabled, .tk-h5.-disabled:hover,
.tk-p1.-disabled,
.tk-p1.-disabled:hover, .tk-p2.-disabled, .tk-p2.-disabled:hover {
  text-decoration: none;
  color: #9B9B9B;
}

.tk-l1.-title-case, .tk-l2.-title-case, .tk-l3.-title-case, .tk-l4.-title-case, .tk-l5.-title-case,
.tk-h1.-title-case, .tk-h2.-title-case, .tk-h3.-title-case, .tk-h4.-title-case, .tk-h5.-title-case,
.tk-p1.-title-case, .tk-p2.-title-case {
  text-transform: capitalize;
}

.tk-l1.-downcase, .tk-l2.-downcase, .tk-l3.-downcase, .tk-l4.-downcase, .tk-l5.-downcase,
.tk-h1.-downcase, .tk-h2.-downcase, .tk-h3.-downcase, .tk-h4.-downcase, .tk-h5.-downcase,
.tk-p1.-downcase, .tk-p2.-downcase {
  text-transform: lowercase;
}

.tk-l1.-no-case, .tk-l2.-no-case, .tk-l3.-no-case, .tk-l4.-no-case, .tk-l5.-no-case,
.tk-h1.-no-case, .tk-h2.-no-case, .tk-h3.-no-case, .tk-h4.-no-case, .tk-h5.-no-case,
.tk-p1.-no-case, .tk-p2.-no-case {
  text-transform: none;
}

.tk-l1.-margin, .tk-l2.-margin, .tk-l3.-margin, .tk-l4.-margin, .tk-l5.-margin,
.tk-h1.-margin, .tk-h2.-margin, .tk-h3.-margin, .tk-h4.-margin, .tk-h5.-margin,
.tk-p1.-margin, .tk-p2.-margin {
  margin: 10px 0;
}

.tk-l1.-underlined, .tk-l2.-underlined, .tk-l3.-underlined, .tk-l4.-underlined, .tk-l5.-underlined,
.tk-h1.-underlined, .tk-h2.-underlined, .tk-h3.-underlined, .tk-h4.-underlined, .tk-h5.-underlined,
.tk-p1.-underlined, .tk-p2.-underlined {
  text-decoration: underline;
}

.tk-l1.-no-hover:hover, .tk-l2.-no-hover:hover, .tk-l3.-no-hover:hover, .tk-l4.-no-hover:hover, .tk-l5.-no-hover:hover,
.tk-h1.-no-hover:hover, .tk-h2.-no-hover:hover, .tk-h3.-no-hover:hover, .tk-h4.-no-hover:hover, .tk-h5.-no-hover:hover,
.tk-p1.-no-hover:hover, .tk-p2.-no-hover:hover {
  text-decoration: none;
}

.tk-l1.-red, .tk-l2.-red, .tk-l3.-red, .tk-l4.-red, .tk-l5.-red,
.tk-h1.-red, .tk-h2.-red, .tk-h3.-red, .tk-h4.-red, .tk-h5.-red,
.tk-p1.-red, .tk-p2.-red {
  color: #DC2022;
}

.tk-l1.-soldOut, .tk-l2.-soldOut, .tk-l3.-soldOut, .tk-l4.-soldOut, .tk-l5.-soldOut,
.tk-h1.-soldOut, .tk-h2.-soldOut, .tk-h3.-soldOut, .tk-h4.-soldOut, .tk-h5.-soldOut,
.tk-p1.-soldOut, .tk-p2.-soldOut {
  color: #9B9B9B;
}

.tk-h-times {
  font-family: Times, serif;
  font-size: 36px;
  letter-spacing: -0.02em;
  line-height: 1em;
}

.tk-h1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.tk-h2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
}

.tk-h3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.tk-h4 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
}

.tk-h5 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
}

.tk-l1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.tk-l1:hover {
  text-decoration: underline;
}

.tk-l2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
}

.tk-l2:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-l2:hover {
  text-decoration: underline;
}

.tk-l2.--blue, .tk-l2.-blue {
  color: #0645AD;
}

.tk-l2.--grey {
  color: #9B9B9B;
}

.tk-l2.--remove:hover {
  color: #DC2022;
}

.tk-l3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #9B9B9B;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.tk-l3:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-l3:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-l4 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-l4:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-l5 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-l5:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-p1 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.tk-p2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
}

.tk-section {
  margin: 40px 0;
}

.tk-text {
  margin: 20px 0 0 0;
}

.tku-blurred {
  -webkit-filter: opacity(50%) blur(2px);
          filter: opacity(50%) blur(2px);
}

.tku-fixed-footer {
  position: fixed;
  bottom: 0;
  right: 0;
}

.tku-responsive-debug {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  background: #0645AD;
  color: #FAFAFA;
  padding: 8px 16px;
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .tku-responsive-debug:after {
    content: 'mobile';
  }
}

@media only screen and (min-width: 600px) and (max-width: 979px) {
  .tku-responsive-debug:after {
    content: 'tablet';
  }
}

@media only screen and (min-width: 980px) {
  .tku-responsive-debug:after {
    content: 'desktop';
  }
}

.tku-todo {
  color: white;
  background-color: #DC2022;
}

.tk-affiliates {
  max-width: 800px;
}

.tk-affiliates h2, .tk-affiliates p, .tk-affiliates ol {
  margin: 20px 0;
}

.tk-affiliates ol {
  list-style-type: decimal;
  padding-left: 20px;
}

.tk-affiliates .button {
  float: left;
}

.tk-button, .button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button, .checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .checkout-types button, .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .button, .ais-infinite-hits--showmore button {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  margin: 0;
  width: auto;
  overflow: visible;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
  /* Remove excess padding and border in Firefox 4+ */
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 15px 10px 15px;
  color: white;
  background-color: #000;
  border: none;
  border-radius: 0;
  cursor: pointer;
  /* TODO: DONT USE '--' PREFIX! IT BREAKS ON SAFARI
     * naming convention
     * -blue    blue bg
     * -o-blue  blue outline
     * -h-o-red hover outline red
     */
}

.tk-button::-moz-focus-inner, .button::-moz-focus-inner,
.cart-table .product-cart-actions .button::-moz-focus-inner,
#co-shipping-method-form .buttons-set .button::-moz-focus-inner,
.footer .button::-moz-focus-inner, .checkout-cart-index .cart-forms .discount button::-moz-focus-inner,
.checkout-cart-index .cart-forms .giftcard button::-moz-focus-inner,
.checkout-cart-index .cart-forms .shipping button::-moz-focus-inner, .checkout-cart-index .checkout-types button::-moz-focus-inner, .checkout-onepage-index .col-main .checkout-types > li button::-moz-focus-inner, .checkout-onepage-index .buttons-set button::-moz-focus-inner, .checkout-onepage-index .buttons-set .button::-moz-focus-inner, .ais-infinite-hits--showmore button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.tk-button.-plain-text, .-plain-text.button,
.cart-table .product-cart-actions .-plain-text.button,
#co-shipping-method-form .buttons-set .-plain-text.button, .checkout-cart-index .cart-forms .discount button.-plain-text,
.checkout-cart-index .cart-forms .giftcard button.-plain-text,
.checkout-cart-index .cart-forms .shipping button.-plain-text, .checkout-cart-index .checkout-types button.-plain-text, .checkout-onepage-index .col-main .checkout-types > li button.-plain-text, .checkout-onepage-index .buttons-set button.-plain-text, .checkout-onepage-index .buttons-set .-plain-text.button, .ais-infinite-hits--showmore button.-plain-text, .tk-button.--plain-text, .--plain-text.button,
.cart-table .product-cart-actions .--plain-text.button,
#co-shipping-method-form .buttons-set .--plain-text.button, .checkout-cart-index .cart-forms .discount button.--plain-text,
.checkout-cart-index .cart-forms .giftcard button.--plain-text,
.checkout-cart-index .cart-forms .shipping button.--plain-text, .checkout-cart-index .checkout-types button.--plain-text, .checkout-onepage-index .col-main .checkout-types > li button.--plain-text, .checkout-onepage-index .buttons-set button.--plain-text, .checkout-onepage-index .buttons-set .--plain-text.button, .ais-infinite-hits--showmore button.--plain-text {
  color: #000;
  text-transform: none;
  background-color: inherit;
  border: none;
  outline: none;
  background: transparent;
  padding: 0;
}

.tk-button.-o-black, .-o-black.button,
.cart-table .product-cart-actions .-o-black.button,
#co-shipping-method-form .buttons-set .-o-black.button, #co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .discount button.button, .checkout-cart-index .cart-forms .discount #co-shipping-method-form .buttons-set button.button,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .giftcard button.button, .checkout-cart-index .cart-forms .giftcard #co-shipping-method-form .buttons-set button.button,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .shipping button.button, .checkout-cart-index .cart-forms .shipping #co-shipping-method-form .buttons-set button.button, .checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .checkout-types button.-o-black, .checkout-onepage-index .col-main .checkout-types > li button.-o-black, .checkout-onepage-index .col-main .checkout-types > li .checkout-cart-index .cart-forms .discount button, .checkout-cart-index .cart-forms .discount .checkout-onepage-index .col-main .checkout-types > li button,
.checkout-onepage-index .col-main .checkout-types > li .checkout-cart-index .cart-forms .giftcard button, .checkout-cart-index .cart-forms .giftcard .checkout-onepage-index .col-main .checkout-types > li button,
.checkout-onepage-index .col-main .checkout-types > li .checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .cart-forms .shipping .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .buttons-set button.-o-black, .checkout-onepage-index .buttons-set .-o-black.button, .ais-infinite-hits--showmore button.-o-black, .tk-button.--oblack, .--oblack.button,
.cart-table .product-cart-actions .--oblack.button,
#co-shipping-method-form .buttons-set .--oblack.button, .checkout-cart-index .cart-forms .discount button.--oblack,
.checkout-cart-index .cart-forms .giftcard button.--oblack,
.checkout-cart-index .cart-forms .shipping button.--oblack, .checkout-cart-index .checkout-types button.--oblack, .checkout-onepage-index .col-main .checkout-types > li button.--oblack, .checkout-onepage-index .buttons-set button.--oblack, .checkout-onepage-index .buttons-set .--oblack.button, .ais-infinite-hits--showmore button.--oblack {
  border: 1px solid #000;
  background: transparent;
  color: #000;
}

.tk-button.-o-black:hover, .-o-black.button:hover,
#co-shipping-method-form .buttons-set .-o-black.button:hover, #co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .discount button.button:hover, .checkout-cart-index .cart-forms .discount #co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .giftcard button.button:hover, .checkout-cart-index .cart-forms .giftcard #co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .shipping button.button:hover, .checkout-cart-index .cart-forms .shipping #co-shipping-method-form .buttons-set button.button:hover, .checkout-cart-index .cart-forms .discount button:hover,
.checkout-cart-index .cart-forms .giftcard button:hover,
.checkout-cart-index .cart-forms .shipping button:hover, .checkout-cart-index .checkout-types button.-o-black:hover, .checkout-onepage-index .col-main .checkout-types > li button.-o-black:hover, .checkout-onepage-index .buttons-set button.-o-black:hover, .ais-infinite-hits--showmore button.-o-black:hover, .tk-button.--oblack:hover, .--oblack.button:hover,
#co-shipping-method-form .buttons-set .--oblack.button:hover, .checkout-cart-index .cart-forms .discount button.--oblack:hover,
.checkout-cart-index .cart-forms .giftcard button.--oblack:hover,
.checkout-cart-index .cart-forms .shipping button.--oblack:hover, .checkout-cart-index .checkout-types button.--oblack:hover, .checkout-onepage-index .col-main .checkout-types > li button.--oblack:hover, .checkout-onepage-index .buttons-set button.--oblack:hover, .ais-infinite-hits--showmore button.--oblack:hover {
  border-color: #0645AD;
  color: #0645AD;
}

.tk-button.-blue, .-blue.button,
.cart-table .product-cart-actions .-blue.button,
#co-shipping-method-form .buttons-set .-blue.button, .checkout-cart-index .cart-forms .discount button.-blue,
.checkout-cart-index .cart-forms .giftcard button.-blue,
.checkout-cart-index .cart-forms .shipping button.-blue, .checkout-cart-index .checkout-types button.-blue, .checkout-onepage-index .col-main .checkout-types > li button.-blue, .checkout-onepage-index .buttons-set button.-blue, .checkout-onepage-index .buttons-set .-blue.button, .ais-infinite-hits--showmore button.-blue {
  background-color: #0645AD;
  color: white;
}

.tk-button.-o-blue, .button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button, .checkout-cart-index .cart-forms .discount button.-o-blue, .checkout-cart-index .cart-forms .discount button.button, .checkout-cart-index .cart-forms .discount .checkout-types button, .checkout-cart-index .checkout-types .cart-forms .discount button, .checkout-cart-index .cart-forms .discount .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .checkout-cart-index .cart-forms .discount button, .checkout-cart-index .cart-forms .discount .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button.-o-blue, .checkout-cart-index .cart-forms .giftcard button.button, .checkout-cart-index .cart-forms .giftcard .checkout-types button, .checkout-cart-index .checkout-types .cart-forms .giftcard button, .checkout-cart-index .cart-forms .giftcard .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .checkout-cart-index .cart-forms .giftcard button, .checkout-cart-index .cart-forms .giftcard .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button.-o-blue, .checkout-cart-index .cart-forms .shipping button.button, .checkout-cart-index .cart-forms .shipping .checkout-types button, .checkout-cart-index .checkout-types .cart-forms .shipping button, .checkout-cart-index .cart-forms .shipping .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .cart-forms .shipping .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .checkout-types button, .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .button, .ais-infinite-hits--showmore button, .tk-button.--blue, .--blue.button,
.cart-table .product-cart-actions .--blue.button,
#co-shipping-method-form .buttons-set .--blue.button, .checkout-cart-index .cart-forms .discount button.--blue,
.checkout-cart-index .cart-forms .giftcard button.--blue,
.checkout-cart-index .cart-forms .shipping button.--blue, .checkout-cart-index .checkout-types button.--blue, .checkout-onepage-index .col-main .checkout-types > li button.--blue, .checkout-onepage-index .buttons-set button.--blue, .checkout-onepage-index .buttons-set .--blue.button, .ais-infinite-hits--showmore button.--blue {
  border: 1px solid #0645AD;
  background: transparent;
  color: #0645AD;
}

.tk-button.-h-o-blue:hover, .-h-o-blue.button:hover,
#co-shipping-method-form .buttons-set .-h-o-blue.button:hover, #co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .discount button.button:hover, .checkout-cart-index .cart-forms .discount #co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .giftcard button.button:hover, .checkout-cart-index .cart-forms .giftcard #co-shipping-method-form .buttons-set button.button:hover,
#co-shipping-method-form .buttons-set .checkout-cart-index .cart-forms .shipping button.button:hover, .checkout-cart-index .cart-forms .shipping #co-shipping-method-form .buttons-set button.button:hover, .checkout-cart-index .cart-forms .discount button:hover,
.checkout-cart-index .cart-forms .giftcard button:hover,
.checkout-cart-index .cart-forms .shipping button:hover, .checkout-cart-index .checkout-types button.-h-o-blue:hover, .checkout-onepage-index .col-main .checkout-types > li button.-h-o-blue:hover, .checkout-onepage-index .buttons-set button.-h-o-blue:hover, .ais-infinite-hits--showmore button.-h-o-blue:hover {
  background-color: white;
  color: #0645AD;
  border-color: #0645AD;
}

.tk-button.-wide, .-wide.button,
.cart-table .product-cart-actions .-wide.button, .cart-table .product-cart-actions .ais-infinite-hits--showmore button.button, .ais-infinite-hits--showmore .cart-table .product-cart-actions button.button,
#co-shipping-method-form .buttons-set .-wide.button, #co-shipping-method-form .buttons-set .ais-infinite-hits--showmore button.button, .ais-infinite-hits--showmore #co-shipping-method-form .buttons-set button.button, .footer .ais-infinite-hits--showmore button.button, .ais-infinite-hits--showmore .footer button.button, .checkout-cart-index .cart-forms .discount button.-wide, .checkout-cart-index .cart-forms .discount .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button.-wide, .checkout-cart-index .cart-forms .giftcard .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button.-wide, .checkout-cart-index .cart-forms .shipping .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-cart-index .cart-forms .shipping button, .checkout-cart-index .checkout-types button.-wide, .checkout-cart-index .checkout-types .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-cart-index .checkout-types button, .checkout-onepage-index .col-main .checkout-types > li button.-wide, .checkout-onepage-index .col-main .checkout-types > li .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-onepage-index .col-main .checkout-types > li button, .checkout-onepage-index .buttons-set button.-wide, .checkout-onepage-index .buttons-set .ais-infinite-hits--showmore button, .ais-infinite-hits--showmore .checkout-onepage-index .buttons-set button, .checkout-onepage-index .buttons-set .-wide.button, .ais-infinite-hits--showmore button, .tk-button.--wide, .--wide.button,
.cart-table .product-cart-actions .--wide.button,
#co-shipping-method-form .buttons-set .--wide.button, .checkout-cart-index .cart-forms .discount button.--wide,
.checkout-cart-index .cart-forms .giftcard button.--wide,
.checkout-cart-index .cart-forms .shipping button.--wide, .checkout-cart-index .checkout-types button.--wide, .checkout-onepage-index .col-main .checkout-types > li button.--wide, .checkout-onepage-index .buttons-set button.--wide, .checkout-onepage-index .buttons-set .--wide.button, .ais-infinite-hits--showmore button.--wide {
  display: block;
  width: 100%;
  text-align: center;
}

.tk-button.-o-red, .-o-red.button,
.cart-table .product-cart-actions .-o-red.button,
#co-shipping-method-form .buttons-set .-o-red.button, .checkout-cart-index .cart-forms .discount button.-o-red, .checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form button.-remove,
.checkout-cart-index .cart-forms .giftcard button.-o-red,
.checkout-cart-index .cart-forms .shipping button.-o-red, .checkout-cart-index .checkout-types button.-o-red, .checkout-onepage-index .col-main .checkout-types > li button.-o-red, .checkout-onepage-index .buttons-set button.-o-red, .checkout-onepage-index .buttons-set .-o-red.button, .ais-infinite-hits--showmore button.-o-red {
  color: #DC2022;
  border-color: #DC2022;
}

.tk-button.-h-o-red:hover, .-h-o-red.button:hover,
#co-shipping-method-form .buttons-set .-h-o-red.button:hover, .checkout-cart-index .cart-forms .discount button.-h-o-red:hover, .checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form button.-remove:hover,
.checkout-cart-index .cart-forms .giftcard button.-h-o-red:hover,
.checkout-cart-index .cart-forms .shipping button.-h-o-red:hover, .checkout-cart-index .checkout-types button.-h-o-red:hover, .checkout-onepage-index .col-main .checkout-types > li button.-h-o-red:hover, .checkout-onepage-index .buttons-set button.-h-o-red:hover, .ais-infinite-hits--showmore button.-h-o-red:hover {
  color: #DC2022;
  border-color: #DC2022;
}

a.tk-button, a.button,
.cart-table .product-cart-actions a.button,
#co-shipping-method-form .buttons-set a.button,
.footer a.button, .checkout-onepage-index .buttons-set a.button {
  padding: 9px 15px;
}

a.tk-button:hover, a.button:hover,
.cart-table .product-cart-actions a.button:hover,
#co-shipping-method-form .buttons-set a.button:hover, .checkout-onepage-index .buttons-set a.button:hover {
  text-decoration: none;
}

.tk-careers {
  max-width: 640px;
  margin: 0;
}

.tk-careers .tk-h1 {
  margin: 10px 0;
}

.tk-careers .__blurb p {
  margin: 20px 0;
}

.tk-careers .__list .__location {
  margin: 40px 0 20px 0;
}

.tk-careers .__list .__city {
  margin: 10px 0;
}

.tk-cart-summary {
  display: block;
  margin: 50px 0 30px 0;
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary {
    margin-top: 10px;
  }
}

.tk-cart-summary .__list {
  border-bottom: 1px solid #000;
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary .__list .__header {
    display: none;
  }
}

.tk-cart-summary .__header {
  border-bottom: 1px solid #000;
  padding-bottom: 11px;
}

.tk-cart-summary .__header > .__desc,
.tk-cart-summary .__header > .__price,
.tk-cart-summary .__header > .__qty {
  text-transform: uppercase;
  padding-right: 10px;
}

.tk-cart-summary .__header,
.tk-cart-summary .__product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-cart-summary .__header > .__desc,
.tk-cart-summary .__product > .__desc {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
}

.tk-cart-summary .__header > .__price,
.tk-cart-summary .__product > .__price {
  -ms-flex-preferred-size: 20%;
      flex-basis: 20%;
}

.tk-cart-summary .__header > .__qty,
.tk-cart-summary .__product > .__qty {
  -ms-flex-preferred-size: 30%;
      flex-basis: 30%;
}

.tk-cart-summary .__header > .__subtotal,
.tk-cart-summary .__product > .__subtotal {
  -ms-flex-preferred-size: 10%;
      flex-basis: 10%;
  text-align: right;
}

.tk-cart-summary .__product {
  margin: 20px 0;
  /*
        @include tk-bp-mobile {
            .__image {
                float: left;
                width: 50%;
            }

            .__description {
                .__configurable {
                    padding-top: 6px;
                }
            }

            .__price {
                padding-top: 0;
                margin-top: 20px;

                .__quantity {
                    margin-top: 12px;
                }

                .__subtotal {
                    margin-top: 7px;
                    margin-bottom: 42px;
                }
            }
        }
        */
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary .__product {
    border-bottom: 1px solid #000;
    display: block;
    position: relative;
  }
  .tk-cart-summary .__product:after {
    content: '';
    display: table;
    clear: both;
  }
  .tk-cart-summary .__product:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }
}

.tk-cart-summary .__product .__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-cart-summary .__product .__desc .__image {
  width: 86px;
  -ms-flex-preferred-size: 86px;
      flex-basis: 86px;
}

.tk-cart-summary .__product .__desc .__description {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  margin: 4px 15px 10px 7px;
  -ms-flex-preferred-size: 310px;
      flex-basis: 310px;
}

.tk-cart-summary .__product .__desc .__description .__designer-name {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.tk-cart-summary .__product .__desc .__description .__designer-name a {
  color: #000;
}

.tk-cart-summary .__product .__desc .__description .__product-name a {
  color: #666666;
}

.tk-cart-summary .__product .__desc .__sku {
  margin-top: 15px;
}

.tk-cart-summary .__product .__desc .__sku > dt, .tk-cart-summary .__product .__desc .__sku > dd {
  display: inline;
}

.tk-cart-summary .__product .__desc .__sku > dt {
  padding-right: 5px;
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary .__product .__desc .__sku {
    margin-top: 0;
  }
}

.tk-cart-summary .__product .__desc .__low-quantity {
  color: #DC2022;
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary .__product .__desc {
    display: block;
  }
  .tk-cart-summary .__product .__desc .__image {
    float: left;
    margin-right: 10px;
  }
}

.tk-cart-summary .__product .__price {
  margin-top: 5px;
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary .__product .__price {
    display: none;
  }
}

.tk-cart-summary .__product .__qty {
  margin-top: -1px;
}

.tk-cart-summary .__product .__qty label {
  display: none;
  text-transform: uppercase;
  padding-right: 10px;
}

.tk-cart-summary .__product .__qty input.qty {
  margin-top: 1px;
  margin-right: 5px;
}

.tk-cart-summary .__product .__qty .__update,
.tk-cart-summary .__product .__qty .__remove {
  margin-left: 20px;
  text-transform: uppercase;
  color: #444;
  border-bottom: 1px solid #444;
}

.tk-cart-summary .__product .__qty .__update:hover,
.tk-cart-summary .__product .__qty .__remove:hover {
  color: #000;
  border-bottom: 1px solid #000;
}

.tk-cart-summary .__product .__qty button.__update {
  padding-bottom: 1px;
}

.tk-cart-summary .__product .__qty a.__remove {
  padding-bottom: 0;
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary .__product .__qty {
    margin-top: 10px;
    margin-right: 0;
    margin-left: auto;
    max-width: calc(100% - 96px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .tk-cart-summary .__product .__qty label {
    display: block;
  }
  .tk-cart-summary .__product .__qty input.qty {
    margin-right: auto;
  }
  .tk-cart-summary .__product .__qty a.__remove {
    padding-bottom: 0;
  }
}

.tk-cart-summary .__product .__subtotal {
  margin-top: 5px;
}

@media only screen and (max-width: 599px) {
  .tk-cart-summary .__product .__subtotal {
    clear: both;
    margin-top: 25px;
    margin-bottom: 25px;
    font-size: 16px;
  }
}

.tk-cart-title {
  border-bottom: 1px solid #000;
  padding-bottom: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tk-cart-title .__title {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 16px;
}

@media only screen and (max-width: 599px) {
  .tk-cart-title {
    padding-bottom: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .tk-cart-title .__continue {
    border: 1px solid #0645AD;
    padding: 5px 9px;
  }
  .tk-cart-title .__continue .__extra {
    display: none;
  }
}

.tk-catalog-nav a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-catalog-nav a:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-catalog-nav a.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-catalog-nav > h6 {
  margin-bottom: 15px;
}

.tk-catalog-nav > h6, .tk-catalog-nav > a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
  margin-top: 16px;
}

.tk-catalog-nav > h6:first-child, .tk-catalog-nav > a:first-child {
  margin-top: 0;
}

.tk-catalog-nav > h6 > a, .tk-catalog-nav > a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
}

.tk-catalog-nav > h6 > a:hover, .tk-catalog-nav > a:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-catalog-nav > h6 > a.-sale, .tk-catalog-nav > a.-sale {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
  margin-top: 0;
  text-transform: none;
}

.tk-catalog-nav > h6 > a.-sale:hover, .tk-catalog-nav > a.-sale:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-catalog-nav > h6 > a.-sale.-current, .tk-catalog-nav > a.-sale.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-catalog-nav > .__list .__list, .tk-catalog-nav > .__list.-sale {
  margin-left: 16px;
  margin-bottom: 8px;
}

.tk-category-title {
  position: relative;
  padding-right: 6px;
}

.tk-category-title .__description h1 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 36px;
  text-align: center;
  z-index: 1;
}

@media only screen and (min-width: 600px) {
  .tk-category-title .__description h1 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media only screen and (max-width: 599px) {
  .tk-category-title .__description h1 {
    font-size: 22px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.tk-category-title .__description h1.-white {
  color: white;
}

@media only screen and (min-width: 600px) {
  .tk-category-title .__description.-noImage h1 {
    padding-top: 52px;
  }
}

@media only screen and (max-width: 599px) {
  .tk-category-title .__description.-noImage h1 {
    padding-top: 10px;
  }
}

.tk-category-title .__description.-withImage {
  margin-bottom: 30px;
}

.tk-category-title .__image {
  margin-bottom: 30px;
}

.tk-category-title .__image img {
  width: 100%;
}

.tk-chat-log {
  padding: 0 10px;
  max-height: 90vh;
}

.tk-chat-log .__entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 10px 0;
}

.tk-chat-log .__entry .__user {
  width: 22px;
  min-width: 22px;
  display: block;
  text-align: center;
}

.tk-chat-log .__entry .__user > img {
  margin-top: 10px;
  max-width: 100%;
  -webkit-clip-path: circle(50% at center);
          clip-path: circle(50% at center);
}

.tk-chat-log .__entry .__message {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border: 1px solid #aaa;
  padding: 10px;
  color: #000;
  overflow: auto;
  display: block;
}

.tk-chat-log .__entry.-client {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.tk-chat-log .__entry.-client .__user {
  margin-left: 10px;
}

.tk-chat-log .__entry.-other .__user {
  margin-right: 10px;
}

.tk-chat-log .__entry.-agent-is-typing > .__message {
  color: #666;
}

.tk-chat-log .__status {
  margin: 10px 0;
  text-align: center;
  color: #666;
}

.tk-checkout-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid #000;
  position: relative;
}

.tk-checkout-header *:focus {
  outline: 0;
}

.tk-checkout-header > span {
  padding-top: 13.5px;
  padding-bottom: 12.5px;
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
}

.tk-checkout-header > span.__lhs {
  text-align: left;
  padding-right: 30px;
  padding-left: 15px;
}

.tk-checkout-header > span.__lhs > a {
  padding-top: 13.5px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 12.5px;
}

.tk-checkout-header > span.__rhs {
  text-align: right;
  padding-top: 0;
  padding-bottom: 0;
}

.tk-checkout-header > span.__rhs > a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse nowrap;
          flex-flow: row-reverse nowrap;
  padding-top: 27px;
  padding-right: 30px;
  padding-bottom: 25px;
}

.tk-checkout-header > span > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  color: #000;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 25px;
}

.tk-checkout-header > span > a > * {
  padding-right: 7.5px;
}

.tk-checkout-header > span > a .__icon {
  display: none;
}

.tk-checkout-header > span > a .__text {
  display: block;
}

@media only screen and (max-width: 599px) {
  .tk-checkout-header > span > a .__text {
    display: none;
  }
}

.tk-checkout-header > span > a:hover, .tk-checkout-header > span > a:hover > * {
  text-decoration: none;
  color: #0645AD;
}

.tk-checkout-header > span > a:hover > .__text {
  text-decoration: underline;
}

.tk-checkout-header > span .fa {
  font-size: 18px;
}

.tk-checkout-header > .__logo {
  padding-top: 27px;
  padding-bottom: 25px;
  text-align: center;
}

.tk-checkout-header > .__logo img {
  margin: 0 auto;
}

.tk-checkout-header .__contact {
  background: white;
  position: absolute;
  right: 0;
  top: 76px;
  z-index: 1;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  border-left: 1px solid black;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  width: 33%;
}

.tk-checkout-header .__contact.-visible {
  visibility: visible;
  opacity: 1.0;
}

@media only screen and (max-width: 979px) {
  .tk-checkout-header .__contact {
    border-left: none;
    border-right: none;
    width: 100%;
  }
}

.tk-checkout-header .__contact > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  text-align: right;
  padding: 15px 30px;
  border-bottom: 1px solid #EFEFEF;
}

.tk-checkout-header .__contact > a:last-child {
  border-bottom: none;
}

.tk-checkout-header .__contact > a > span {
  margin-top: -1px;
  padding-right: 7.5px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.tk-checkout-header .__contact > a > span:hover {
  text-decoration: underline;
}

.tk-checkout-header .__contact > a > .fa {
  color: #000;
}

.tk-checkout-header .__contact > a:hover {
  text-decoration: none;
}

.tk-checkout-header .__contact > a:hover > span {
  text-decoration: underline;
  color: #0645AD;
}

.tk-checkout-header .__contact > a:hover > .fa {
  color: #0645AD;
}

@media only screen and (max-width: 599px) {
  .tk-checkout-header .__lhs, .tk-checkout-header .__rhs {
    display: none;
  }
  .tk-checkout-header .__logo img {
    text-align: left;
    width: 100px;
    margin-left: 16px;
  }
}

body .tk-checkout-header {
  display: none;
}

body.checkout-onepage-index div.header-container div.header .tk-nav-header {
  display: none;
}

body.checkout-onepage-index div.header-container div.header .tk-checkout-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tk-checkout #remember-me-box {
  display: none;
}

.tk-checkout .__checkout-steps .__step-sign-in-breadcrumb {
  display: none;
}

@media only screen and (max-width: 599px) {
  .tk-checkout .__help {
    display: none;
  }
  .tk-checkout .section .step-title h2 {
    padding-left: 40px;
  }
  .tk-checkout .__sign-in .__title {
    display: none;
  }
  .tk-checkout .__sign-in .__member {
    display: none;
  }
  .tk-checkout.-mobile-sign-in .__checkout-steps .__step-sign-in-breadcrumb {
    display: inline;
  }
  .tk-checkout.-mobile-sign-in .__checkout-steps .__step-sign-in-breadcrumb::before {
    content: ' – ';
  }
  .tk-checkout.-mobile-sign-in .__sign-in .__member {
    display: block;
  }
  .tk-checkout.-mobile-sign-in .__sign-in .__anonymous {
    display: none;
  }
  .tk-checkout .button {
    display: block;
    width: 100%;
  }
}

@media only screen and (min-width: 600px) {
  .tk-checkout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    max-width: 1024px;
  }
  .tk-checkout .__funnel {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .tk-checkout .__help {
    margin-left: 80px;
  }
  .tk-checkout .__checkout-steps .__step-sign-in-breadcrumb {
    display: none !important;
  }
}

.tk-checkout .__help p {
  margin: 20px 0;
}

.tk-checkout .__title {
  margin-bottom: 15px;
}

@media only screen and (min-width: 600px) {
  .tk-checkout .__sign-in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    margin: 0 0 60px 0;
  }
  .tk-checkout .__sign-in .__member, .tk-checkout .__sign-in .__anonymous {
    width: 50%;
    margin: 0;
    padding: 40px 50px 20px 50px;
  }
  .tk-checkout .__sign-in .__member {
    border-right: 1px solid #9b9b9b;
  }
  .tk-checkout .__sign-in .__mobile-sign-in {
    display: none;
  }
}

.tk-checkout .__sign-in .__member .input-text {
  height: unset;
  padding: 10px;
}

.tk-checkout .__sign-in .__member .form-list > li {
  margin-bottom: 20px;
}

.tk-checkout .__sign-in .__member .__forgot-password {
  margin-top: 20px;
}

.tk-checkout .__sign-in .__member .__forgot-password a {
  text-decoration: underline;
}

@media only screen and (max-width: 599px) {
  .tk-checkout .__sign-in .__member .__forgot-password {
    padding-bottom: 20px;
    text-align: center;
  }
}

.tk-checkout .__sign-in .__anonymous {
  padding-bottom: 20px;
}

@media only screen and (min-width: 600px) {
  .tk-checkout .__sign-in .__anonymous .__mobile-sign-in-link-container {
    display: none;
  }
}

.tk-checkout .__sign-in .__anonymous a.__mobile-sign-in,
.tk-checkout .__sign-in .__anonymous label {
  display: block;
  width: 100%;
  padding: 10px;
  text-align: center;
}

.tk-checkout .__sign-in .__anonymous a.__mobile-sign-in.-o-blue, .tk-checkout .__sign-in .__anonymous a.__mobile-sign-in.button,
.tk-checkout .__sign-in .__anonymous #co-shipping-method-form .buttons-set a.__mobile-sign-in.button, #co-shipping-method-form .buttons-set .tk-checkout .__sign-in .__anonymous a.__mobile-sign-in.button,
.tk-checkout .__sign-in .__anonymous label.-o-blue,
.tk-checkout .__sign-in .__anonymous label.button,
.tk-checkout .__sign-in .__anonymous #co-shipping-method-form .buttons-set label.button,
#co-shipping-method-form .buttons-set .tk-checkout .__sign-in .__anonymous label.button {
  color: #0645AD;
}

.tk-checkout .__sign-in .__anonymous input[type=radio] {
  visibility: hidden;
}

.tk-designers-list {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-designers-list .__department,
.tk-designers-list .__letter {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  padding: 2px 0 3px 0;
  font-size: 14px;
  line-height: 20px;
}

.tk-designers-list .__department.-current,
.tk-designers-list .__letter.-current {
  text-decoration: underline;
  color: #0645AD;
}

.tk-designers-list .__link {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  color: #9B9B9B;
  font-size: 12px;
  line-height: 20px;
}

.tk-designers-list .__link:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-designers-list .__departments {
  margin: 0 20px 0 0;
  width: 15vw;
}

.tk-designers-list .__designers {
  width: 100%;
  max-width: 70vw;
  margin: 0 15vw 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap;
  height: 1000px;
}

.tk-designers-list .__designers > li {
  margin: 0 20px 20px 20px;
  width: 25%;
}

.tk-designers-list .__designers .ais-refinement-list--body {
  margin-right: 0;
}

.tk-designers-list .__designers .__link {
  display: block;
  padding: 2px 0 3px 0;
}

@media only screen and (max-width: 599px) {
  .tk-designers-list {
    display: block;
  }
  .tk-designers-list .__departments {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-designers-list .__designers {
    margin-top: 20px;
    display: block;
    height: none;
  }
  .tk-designers-list .__designers > li {
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (min-width: 600px) and (max-width: 979px) {
  .tk-designers-list .__designers {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    height: none;
    max-width: 85vw;
    margin-left: 10px;
    margin-right: 0;
  }
  .tk-designers-list .__designers > li {
    width: 30%;
    margin-left: 0;
    margin-right: 0;
  }
}

.tk-editorial-credit {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 1px;
}

.tk-editorial-credit ul {
  margin: 20px 0;
}

.tk-editorial-credit li {
  padding-left: 10px !important;
}

.tk-editorial-credit span {
  text-transform: uppercase;
}

@media only screen and (min-width: 600px) {
  .tk-editorial-credit.-add-width {
    width: 40%;
  }
}

.tk-editorial-image {
  /* Captions of linked products/brands BELOW editorial images */
  /* Captions of linked products/brands in editorial images */
}

.tk-editorial-image .__caption {
  font-family: 'LyonText-Regular', Times, serif;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  margin-top: 10px;
  color: #666666;
}

.tk-editorial-image .__caption a,
.tk-editorial-image .__caption span {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
}

.tk-editorial-image .__caption a:hover,
.tk-editorial-image .__caption span:hover {
  text-decoration: underline;
}

.tk-editorial-image .__caption.-white {
  color: #fff;
}

.tk-editorial-image .__caption.-white a,
.tk-editorial-image .__caption.-white span {
  color: #fff;
}

.tk-editorial-image .__products {
  position: absolute;
  transition: opacity 0.5s ease, height 0.5s ease;
  -webkit-transition: opacity 0.5s ease, height 0.5s ease;
  visibility: hidden;
  opacity: 0;
  line-height: 17px;
}

.tk-editorial-image .__products a {
  font-family: 'AkzidenzGroteskRegular', Helvetica, Arial, sans-serif;
  color: black;
}

.tk-editorial-image .__products a:hover {
  color: black;
}

.tk-editorial-image .__products.-visible {
  padding-top: 8px;
  visibility: visible;
  opacity: 1;
}

.tk-editorial-image:hover .__products {
  padding-top: 8px;
  visibility: visible;
  opacity: 1;
}

@media only screen and (max-width: 599px) {
  .tk-editorial-image .__products {
    height: 0;
    position: relative;
    opacity: 1;
    overflow: hidden;
  }
  .tk-editorial-image:hover .__products {
    height: inherit;
  }
}

@media only screen and (min-width: 600px) {
  .tk-editorial-image.-overlay-products {
    position: relative;
  }
  .tk-editorial-image.-overlay-products .__products {
    bottom: 20px;
    left: 20px;
    color: white;
  }
  .tk-editorial-image.-overlay-products .__products a {
    color: white;
  }
  .tk-editorial-image.-overlay-products .__products a:hover {
    color: white;
  }
}

@media only screen and (max-width: 599px) {
  .tk-editorial, .tkEditorial {
    margin-top: 50px;
    margin-left: 0px;
    margin-right: 0px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-editorial, .tkEditorial {
    margin-top: 100px;
    margin-bottom: 83px;
  }
}

.tk-editorial .__title, .tkEditorial .__title {
  text-align: center;
  max-width: 600px;
  margin: 20px auto;
}

@media only screen and (min-width: 600px) {
  .tk-editorial .__title, .tkEditorial .__title {
    margin-bottom: 100px;
  }
}

.tk-editorial .__subtitle, .tkEditorial .__subtitle {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (max-width: 599px) {
  .tk-editorial .__row .__image, .tkEditorial .__row .__image {
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-editorial .__row, .tkEditorial .__row {
    margin-bottom: 100px;
  }
  .tk-editorial .__row.-noBottom, .tkEditorial .__row.-noBottom {
    margin-bottom: 0;
  }
  .tk-editorial .__row.-padBottom, .tk-editorial .__row.-pad-bottom, .tkEditorial .__row.-padBottom, .tkEditorial .__row.-pad-bottom {
    padding-bottom: 200px;
  }
  .tk-editorial .__row.-negMargin1, .tkEditorial .__row.-negMargin1 {
    margin-top: -1px;
  }
}

.tk-editorial .__credits, .tkEditorial .__credits {
  padding: 10px 10px 10px 20px;
  border: 1px solid #000;
  width: 29em;
}

.tk-editorial .__credits ul, .tk-editorial .__credits, .tkEditorial .__credits ul, .tkEditorial .__credits {
  list-style-type: disc !important;
}

.tk-editorial .__credits ul li, .tk-editorial .__credits li, .tkEditorial .__credits ul li, .tkEditorial .__credits li {
  padding-left: 10px !important;
}

.tk-editorial .__credits ul li::before, .tk-editorial .__credits li::before, .tkEditorial .__credits ul li::before, .tkEditorial .__credits li::before {
  content: none !important;
}

@media only screen and (min-width: 600px) {
  .tk-editorial.--sagHarbor .__row.-sagPair1, .tkEditorial.--sagHarbor .__row.-sagPair1 {
    height: 50.25vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair1 .-lh img, .tkEditorial.--sagHarbor .__row.-sagPair1 .-lh img {
    height: 25.5vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair1 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair1 .-rh img {
    height: 37.6vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2, .tkEditorial.--sagHarbor .__row.-sagPair2 {
    height: 63.5vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2 .-lh img, .tkEditorial.--sagHarbor .__row.-sagPair2 .-lh img {
    height: 50.8vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2 .-rh, .tkEditorial.--sagHarbor .__row.-sagPair2 .-rh {
    margin-right: calc(2.63 * 100vw / 18);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair2 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair2 .-rh img {
    height: 25.5vw;
  }
  .tk-editorial.--sagHarbor .__row.-sagPair3, .tkEditorial.--sagHarbor .__row.-sagPair3 {
    height: calc(11.86/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair3 .-lh img, .tkEditorial.--sagHarbor .__row.-sagPair3 .-lh img {
    height: calc(5.55/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair3 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair3 .-rh img {
    height: calc(9.05/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair4, .tkEditorial.--sagHarbor .__row.-sagPair4 {
    height: calc(14.12/18 * 100vw);
  }
  .tk-editorial.--sagHarbor .__row.-sagPair4 .-rh img, .tkEditorial.--sagHarbor .__row.-sagPair4 .-rh img {
    height: calc(11.35/18 * 100vw);
  }
}

.tk-editorials-list {
  margin: 15px 15px 0 15px;
}

.tk-editorials-list .__cell {
  display: block;
  margin-bottom: 25px;
}

.tk-editorials-list .__cell .__cover {
  margin-bottom: 4px;
  width: 100%;
}

.tk-editorials-list .__cell img {
  width: 100%;
  margin-bottom: 5px;
}

.tk-editorials-list .__cell .tk-l2:hover * {
  color: #0645AD !important;
}

@media only screen and (min-width: 600px) {
  .tk-editorials-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-editorials-list .__cell {
    -ms-flex-preferred-size: calc(33% - 10px);
        flex-basis: calc(33% - 10px);
  }
}

@media only screen and (min-width: 980px) {
  .tk-editorials-list {
    margin: 80px 50px 50px 50px;
  }
}

.tk-final-sale {
  font-weight: bold;
  color: #DC2022;
}

/* http://totokaelo.com/about/tk-flex-row */
.tk-flex-row-guide {
  background: transparent;
}

.tk-flex-row-guide > .__example {
  color: #111;
  font-family: Courier, monospace;
  font-weight: bold;
  font-size: 18px;
  line-height: 21px;
  margin: 10px 0;
}

.tk-flex-row-guide > .__example > .__blurb {
  margin: 10px 0;
  padding: 10px;
  background: #fafafa;
}

.tk-flex-row-guide > .__example > .__row {
  margin: 10px 0;
  background: #fafafa;
}

.tk-flex-row-guide .__guide-block {
  padding: 10px;
}

.tk-flex-row-guide .__guide-block:nth-child(1) {
  background-color: #e6c4b3;
}

.tk-flex-row-guide .__guide-block:nth-child(2) {
  background-color: #e6d5b3;
}

.tk-flex-row-guide .__guide-block:nth-child(3) {
  background-color: #e6e6b3;
}

.tk-flex-row-guide .__guide-block:nth-child(4) {
  background-color: #d5e6b3;
}

.tk-flex-row-guide .__guide-block:nth-child(5) {
  background-color: #c4e6b3;
}

.tk-flex-row-guide .__guide-block:nth-child(6) {
  background-color: #b3e6b3;
}

.tk-flex-row-guide .__guide-block:nth-child(7) {
  background-color: #b3e6c4;
}

.tk-flex-row-guide .__guide-block:nth-child(8) {
  background-color: #b3e6d5;
}

.tk-flex-row-guide .__guide-block:nth-child(9) {
  background-color: #b3e6e6;
}

.tk-flex-row-guide .__guide-block:nth-child(10) {
  background-color: #b3d5e6;
}

.tk-flex-row-guide .__guide-block:nth-child(11) {
  background-color: #b3c4e6;
}

.tk-flex-row-guide .__guide-block:nth-child(12) {
  background-color: #b3b3e6;
}

.tk-flex-row-guide .__guide-block:nth-child(13) {
  background-color: #c4b3e6;
}

.tk-flex-row-guide .__guide-block:nth-child(14) {
  background-color: #d5b3e6;
}

.tk-flex-row-guide .__guide-block:nth-child(15) {
  background-color: #e6b3e6;
}

.tk-flex-row-guide .__guide-block:nth-child(16) {
  background-color: #e6b3d5;
}

.tk-flex-row-guide .__guide-block:nth-child(17) {
  background-color: #e6b3c4;
}

.tk-flex-row-guide .__guide-block:nth-child(18) {
  background-color: #e6b3b3;
}

.tk-flex-row-guide .__guide-block.-tall {
  height: 100px;
}

@media only screen and (min-width: 600px) {
  .tk-flex-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .tk-flex-row .-lh {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .tk-flex-row .-rh {
    -webkit-box-ordinal-group: 1000;
        -ms-flex-order: 999;
            order: 999;
  }
  .tk-flex-row .-w0 {
    width: calc( (0/12 * (100% - (11 * 0px))) + 0px * -1);
  }
  .tk-flex-row .-o0 {
    margin-left: calc( (0/12 * (100% - (11 * 0px))) + 0px * 0);
  }
  .tk-flex-row .-ro0 {
    margin-right: calc( (0/12 * (100% - (11 * 0px))) + 0px * 0);
  }
  .tk-flex-row .-w1 {
    width: calc( (1/12 * (100% - (11 * 0px))) + 0px * 0);
  }
  .tk-flex-row .-o1 {
    margin-left: calc( (1/12 * (100% - (11 * 0px))) + 0px * 1);
  }
  .tk-flex-row .-ro1 {
    margin-right: calc( (1/12 * (100% - (11 * 0px))) + 0px * 1);
  }
  .tk-flex-row .-w2 {
    width: calc( (2/12 * (100% - (11 * 0px))) + 0px * 1);
  }
  .tk-flex-row .-o2 {
    margin-left: calc( (2/12 * (100% - (11 * 0px))) + 0px * 2);
  }
  .tk-flex-row .-ro2 {
    margin-right: calc( (2/12 * (100% - (11 * 0px))) + 0px * 2);
  }
  .tk-flex-row .-w3 {
    width: calc( (3/12 * (100% - (11 * 0px))) + 0px * 2);
  }
  .tk-flex-row .-o3 {
    margin-left: calc( (3/12 * (100% - (11 * 0px))) + 0px * 3);
  }
  .tk-flex-row .-ro3 {
    margin-right: calc( (3/12 * (100% - (11 * 0px))) + 0px * 3);
  }
  .tk-flex-row .-w4 {
    width: calc( (4/12 * (100% - (11 * 0px))) + 0px * 3);
  }
  .tk-flex-row .-o4 {
    margin-left: calc( (4/12 * (100% - (11 * 0px))) + 0px * 4);
  }
  .tk-flex-row .-ro4 {
    margin-right: calc( (4/12 * (100% - (11 * 0px))) + 0px * 4);
  }
  .tk-flex-row .-w5 {
    width: calc( (5/12 * (100% - (11 * 0px))) + 0px * 4);
  }
  .tk-flex-row .-o5 {
    margin-left: calc( (5/12 * (100% - (11 * 0px))) + 0px * 5);
  }
  .tk-flex-row .-ro5 {
    margin-right: calc( (5/12 * (100% - (11 * 0px))) + 0px * 5);
  }
  .tk-flex-row .-w6 {
    width: calc( (6/12 * (100% - (11 * 0px))) + 0px * 5);
  }
  .tk-flex-row .-o6 {
    margin-left: calc( (6/12 * (100% - (11 * 0px))) + 0px * 6);
  }
  .tk-flex-row .-ro6 {
    margin-right: calc( (6/12 * (100% - (11 * 0px))) + 0px * 6);
  }
  .tk-flex-row .-w7 {
    width: calc( (7/12 * (100% - (11 * 0px))) + 0px * 6);
  }
  .tk-flex-row .-o7 {
    margin-left: calc( (7/12 * (100% - (11 * 0px))) + 0px * 7);
  }
  .tk-flex-row .-ro7 {
    margin-right: calc( (7/12 * (100% - (11 * 0px))) + 0px * 7);
  }
  .tk-flex-row .-w8 {
    width: calc( (8/12 * (100% - (11 * 0px))) + 0px * 7);
  }
  .tk-flex-row .-o8 {
    margin-left: calc( (8/12 * (100% - (11 * 0px))) + 0px * 8);
  }
  .tk-flex-row .-ro8 {
    margin-right: calc( (8/12 * (100% - (11 * 0px))) + 0px * 8);
  }
  .tk-flex-row .-w9 {
    width: calc( (9/12 * (100% - (11 * 0px))) + 0px * 8);
  }
  .tk-flex-row .-o9 {
    margin-left: calc( (9/12 * (100% - (11 * 0px))) + 0px * 9);
  }
  .tk-flex-row .-ro9 {
    margin-right: calc( (9/12 * (100% - (11 * 0px))) + 0px * 9);
  }
  .tk-flex-row .-w10 {
    width: calc( (10/12 * (100% - (11 * 0px))) + 0px * 9);
  }
  .tk-flex-row .-o10 {
    margin-left: calc( (10/12 * (100% - (11 * 0px))) + 0px * 10);
  }
  .tk-flex-row .-ro10 {
    margin-right: calc( (10/12 * (100% - (11 * 0px))) + 0px * 10);
  }
  .tk-flex-row .-w11 {
    width: calc( (11/12 * (100% - (11 * 0px))) + 0px * 10);
  }
  .tk-flex-row .-o11 {
    margin-left: calc( (11/12 * (100% - (11 * 0px))) + 0px * 11);
  }
  .tk-flex-row .-ro11 {
    margin-right: calc( (11/12 * (100% - (11 * 0px))) + 0px * 11);
  }
  .tk-flex-row .-w12 {
    width: calc( (12/12 * (100% - (11 * 0px))) + 0px * 11);
  }
  .tk-flex-row .-o12 {
    margin-left: calc( (12/12 * (100% - (11 * 0px))) + 0px * 12);
  }
  .tk-flex-row .-ro12 {
    margin-right: calc( (12/12 * (100% - (11 * 0px))) + 0px * 12);
  }
  .tk-flex-row .-w13 {
    width: calc( (13/12 * (100% - (11 * 0px))) + 0px * 12);
  }
  .tk-flex-row .-o13 {
    margin-left: calc( (13/12 * (100% - (11 * 0px))) + 0px * 13);
  }
  .tk-flex-row .-ro13 {
    margin-right: calc( (13/12 * (100% - (11 * 0px))) + 0px * 13);
  }
  .tk-flex-row .-w14 {
    width: calc( (14/12 * (100% - (11 * 0px))) + 0px * 13);
  }
  .tk-flex-row .-o14 {
    margin-left: calc( (14/12 * (100% - (11 * 0px))) + 0px * 14);
  }
  .tk-flex-row .-ro14 {
    margin-right: calc( (14/12 * (100% - (11 * 0px))) + 0px * 14);
  }
  .tk-flex-row .-w15 {
    width: calc( (15/12 * (100% - (11 * 0px))) + 0px * 14);
  }
  .tk-flex-row .-o15 {
    margin-left: calc( (15/12 * (100% - (11 * 0px))) + 0px * 15);
  }
  .tk-flex-row .-ro15 {
    margin-right: calc( (15/12 * (100% - (11 * 0px))) + 0px * 15);
  }
  .tk-flex-row .-w16 {
    width: calc( (16/12 * (100% - (11 * 0px))) + 0px * 15);
  }
  .tk-flex-row .-o16 {
    margin-left: calc( (16/12 * (100% - (11 * 0px))) + 0px * 16);
  }
  .tk-flex-row .-ro16 {
    margin-right: calc( (16/12 * (100% - (11 * 0px))) + 0px * 16);
  }
  .tk-flex-row .-w17 {
    width: calc( (17/12 * (100% - (11 * 0px))) + 0px * 16);
  }
  .tk-flex-row .-o17 {
    margin-left: calc( (17/12 * (100% - (11 * 0px))) + 0px * 17);
  }
  .tk-flex-row .-ro17 {
    margin-right: calc( (17/12 * (100% - (11 * 0px))) + 0px * 17);
  }
  .tk-flex-row .-w18 {
    width: calc( (18/12 * (100% - (11 * 0px))) + 0px * 17);
  }
  .tk-flex-row .-o18 {
    margin-left: calc( (18/12 * (100% - (11 * 0px))) + 0px * 18);
  }
  .tk-flex-row .-ro18 {
    margin-right: calc( (18/12 * (100% - (11 * 0px))) + 0px * 18);
  }
  .tk-flex-row .-v-top {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
  .tk-flex-row .-v-center {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .tk-flex-row .-pull-down,
  .tk-flex-row .-v-bottom {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
  .tk-flex-row .-stretch {
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
  .tk-flex-row.-left-align {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .tk-flex-row.-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .tk-flex-row.-center {
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .tk-flex-row .-text-center {
    text-align: center;
  }
  .tk-flex-row .-text-right {
    text-align: right;
  }
}

.tk-flex-row.-margin {
  margin-left: 30px;
  margin-right: 30px;
}

@media only screen and (max-width: 979px) {
  .tk-flex-row.-margin {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.tk-flex-row.-bleed img {
  width: 100% !important;
}

@media only screen and (max-width: 599px) {
  .tk-flex-row.-bleed {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-flex-row.-bleed .-w1 {
    width: 8.33333%;
  }
  .tk-flex-row.-bleed .-w2 {
    width: 16.66667%;
  }
  .tk-flex-row.-bleed .-w3 {
    width: 25%;
  }
  .tk-flex-row.-bleed .-w4 {
    width: 33.33333%;
  }
  .tk-flex-row.-bleed .-w5 {
    width: 41.66667%;
  }
  .tk-flex-row.-bleed .-w6 {
    width: 50%;
  }
  .tk-flex-row.-bleed .-w7 {
    width: 58.33333%;
  }
  .tk-flex-row.-bleed .-w8 {
    width: 66.66667%;
  }
  .tk-flex-row.-bleed .-w9 {
    width: 75%;
  }
  .tk-flex-row.-bleed .-w10 {
    width: 83.33333%;
  }
  .tk-flex-row.-bleed .-w11 {
    width: 91.66667%;
  }
  .tk-flex-row.-bleed .-w12 {
    width: 100%;
  }
}

.tk-flex-row.-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tk-flex-row .video-js {
  width: 100.1%;
}

@media only screen and (min-width: 600px) {
  .tk-flex-row--18 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .tk-flex-row--18 .-lh {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .tk-flex-row--18 .-rh {
    -webkit-box-ordinal-group: 1000;
        -ms-flex-order: 999;
            order: 999;
  }
  .tk-flex-row--18 .-w0 {
    width: calc( (0/18 * (100% - (17 * 10px))) + 10px * -1);
  }
  .tk-flex-row--18 .-o0 {
    margin-left: calc( (0/18 * (100% - (17 * 10px))) + 10px * 0);
  }
  .tk-flex-row--18 .-ro0 {
    margin-right: calc( (0/18 * (100% - (17 * 10px))) + 10px * 0);
  }
  .tk-flex-row--18 .-w1 {
    width: calc( (1/18 * (100% - (17 * 10px))) + 10px * 0);
  }
  .tk-flex-row--18 .-o1 {
    margin-left: calc( (1/18 * (100% - (17 * 10px))) + 10px * 1);
  }
  .tk-flex-row--18 .-ro1 {
    margin-right: calc( (1/18 * (100% - (17 * 10px))) + 10px * 1);
  }
  .tk-flex-row--18 .-w2 {
    width: calc( (2/18 * (100% - (17 * 10px))) + 10px * 1);
  }
  .tk-flex-row--18 .-o2 {
    margin-left: calc( (2/18 * (100% - (17 * 10px))) + 10px * 2);
  }
  .tk-flex-row--18 .-ro2 {
    margin-right: calc( (2/18 * (100% - (17 * 10px))) + 10px * 2);
  }
  .tk-flex-row--18 .-w3 {
    width: calc( (3/18 * (100% - (17 * 10px))) + 10px * 2);
  }
  .tk-flex-row--18 .-o3 {
    margin-left: calc( (3/18 * (100% - (17 * 10px))) + 10px * 3);
  }
  .tk-flex-row--18 .-ro3 {
    margin-right: calc( (3/18 * (100% - (17 * 10px))) + 10px * 3);
  }
  .tk-flex-row--18 .-w4 {
    width: calc( (4/18 * (100% - (17 * 10px))) + 10px * 3);
  }
  .tk-flex-row--18 .-o4 {
    margin-left: calc( (4/18 * (100% - (17 * 10px))) + 10px * 4);
  }
  .tk-flex-row--18 .-ro4 {
    margin-right: calc( (4/18 * (100% - (17 * 10px))) + 10px * 4);
  }
  .tk-flex-row--18 .-w5 {
    width: calc( (5/18 * (100% - (17 * 10px))) + 10px * 4);
  }
  .tk-flex-row--18 .-o5 {
    margin-left: calc( (5/18 * (100% - (17 * 10px))) + 10px * 5);
  }
  .tk-flex-row--18 .-ro5 {
    margin-right: calc( (5/18 * (100% - (17 * 10px))) + 10px * 5);
  }
  .tk-flex-row--18 .-w6 {
    width: calc( (6/18 * (100% - (17 * 10px))) + 10px * 5);
  }
  .tk-flex-row--18 .-o6 {
    margin-left: calc( (6/18 * (100% - (17 * 10px))) + 10px * 6);
  }
  .tk-flex-row--18 .-ro6 {
    margin-right: calc( (6/18 * (100% - (17 * 10px))) + 10px * 6);
  }
  .tk-flex-row--18 .-w7 {
    width: calc( (7/18 * (100% - (17 * 10px))) + 10px * 6);
  }
  .tk-flex-row--18 .-o7 {
    margin-left: calc( (7/18 * (100% - (17 * 10px))) + 10px * 7);
  }
  .tk-flex-row--18 .-ro7 {
    margin-right: calc( (7/18 * (100% - (17 * 10px))) + 10px * 7);
  }
  .tk-flex-row--18 .-w8 {
    width: calc( (8/18 * (100% - (17 * 10px))) + 10px * 7);
  }
  .tk-flex-row--18 .-o8 {
    margin-left: calc( (8/18 * (100% - (17 * 10px))) + 10px * 8);
  }
  .tk-flex-row--18 .-ro8 {
    margin-right: calc( (8/18 * (100% - (17 * 10px))) + 10px * 8);
  }
  .tk-flex-row--18 .-w9 {
    width: calc( (9/18 * (100% - (17 * 10px))) + 10px * 8);
  }
  .tk-flex-row--18 .-o9 {
    margin-left: calc( (9/18 * (100% - (17 * 10px))) + 10px * 9);
  }
  .tk-flex-row--18 .-ro9 {
    margin-right: calc( (9/18 * (100% - (17 * 10px))) + 10px * 9);
  }
  .tk-flex-row--18 .-w10 {
    width: calc( (10/18 * (100% - (17 * 10px))) + 10px * 9);
  }
  .tk-flex-row--18 .-o10 {
    margin-left: calc( (10/18 * (100% - (17 * 10px))) + 10px * 10);
  }
  .tk-flex-row--18 .-ro10 {
    margin-right: calc( (10/18 * (100% - (17 * 10px))) + 10px * 10);
  }
  .tk-flex-row--18 .-w11 {
    width: calc( (11/18 * (100% - (17 * 10px))) + 10px * 10);
  }
  .tk-flex-row--18 .-o11 {
    margin-left: calc( (11/18 * (100% - (17 * 10px))) + 10px * 11);
  }
  .tk-flex-row--18 .-ro11 {
    margin-right: calc( (11/18 * (100% - (17 * 10px))) + 10px * 11);
  }
  .tk-flex-row--18 .-w12 {
    width: calc( (12/18 * (100% - (17 * 10px))) + 10px * 11);
  }
  .tk-flex-row--18 .-o12 {
    margin-left: calc( (12/18 * (100% - (17 * 10px))) + 10px * 12);
  }
  .tk-flex-row--18 .-ro12 {
    margin-right: calc( (12/18 * (100% - (17 * 10px))) + 10px * 12);
  }
  .tk-flex-row--18 .-w13 {
    width: calc( (13/18 * (100% - (17 * 10px))) + 10px * 12);
  }
  .tk-flex-row--18 .-o13 {
    margin-left: calc( (13/18 * (100% - (17 * 10px))) + 10px * 13);
  }
  .tk-flex-row--18 .-ro13 {
    margin-right: calc( (13/18 * (100% - (17 * 10px))) + 10px * 13);
  }
  .tk-flex-row--18 .-w14 {
    width: calc( (14/18 * (100% - (17 * 10px))) + 10px * 13);
  }
  .tk-flex-row--18 .-o14 {
    margin-left: calc( (14/18 * (100% - (17 * 10px))) + 10px * 14);
  }
  .tk-flex-row--18 .-ro14 {
    margin-right: calc( (14/18 * (100% - (17 * 10px))) + 10px * 14);
  }
  .tk-flex-row--18 .-w15 {
    width: calc( (15/18 * (100% - (17 * 10px))) + 10px * 14);
  }
  .tk-flex-row--18 .-o15 {
    margin-left: calc( (15/18 * (100% - (17 * 10px))) + 10px * 15);
  }
  .tk-flex-row--18 .-ro15 {
    margin-right: calc( (15/18 * (100% - (17 * 10px))) + 10px * 15);
  }
  .tk-flex-row--18 .-w16 {
    width: calc( (16/18 * (100% - (17 * 10px))) + 10px * 15);
  }
  .tk-flex-row--18 .-o16 {
    margin-left: calc( (16/18 * (100% - (17 * 10px))) + 10px * 16);
  }
  .tk-flex-row--18 .-ro16 {
    margin-right: calc( (16/18 * (100% - (17 * 10px))) + 10px * 16);
  }
  .tk-flex-row--18 .-w17 {
    width: calc( (17/18 * (100% - (17 * 10px))) + 10px * 16);
  }
  .tk-flex-row--18 .-o17 {
    margin-left: calc( (17/18 * (100% - (17 * 10px))) + 10px * 17);
  }
  .tk-flex-row--18 .-ro17 {
    margin-right: calc( (17/18 * (100% - (17 * 10px))) + 10px * 17);
  }
  .tk-flex-row--18 .-w18 {
    width: calc( (18/18 * (100% - (17 * 10px))) + 10px * 17);
  }
  .tk-flex-row--18 .-o18 {
    margin-left: calc( (18/18 * (100% - (17 * 10px))) + 10px * 18);
  }
  .tk-flex-row--18 .-ro18 {
    margin-right: calc( (18/18 * (100% - (17 * 10px))) + 10px * 18);
  }
  .tk-flex-row--18 .-v-top {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
  .tk-flex-row--18 .-v-center {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .tk-flex-row--18 .-pull-down {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
  .tk-flex-row--18 .-stretch {
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
  .tk-flex-row--18.-left-align {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .tk-flex-row--18.-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .tk-flex-row--18.-center {
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .tk-flex-row--18 .-text-center {
    text-align: center;
  }
  .tk-flex-row--18 .-text-right {
    text-align: right;
  }
}

.tk-flex-row--18.-margin {
  margin-left: 30px;
  margin-right: 30px;
}

@media only screen and (max-width: 979px) {
  .tk-flex-row--18.-margin {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.tk-flex-row--18.-bleed img {
  width: 100% !important;
}

@media only screen and (max-width: 599px) {
  .tk-flex-row--18.-bleed {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-flex-row--18.-bleed .-w1 {
    width: 5.55556%;
  }
  .tk-flex-row--18.-bleed .-w2 {
    width: 11.11111%;
  }
  .tk-flex-row--18.-bleed .-w3 {
    width: 16.66667%;
  }
  .tk-flex-row--18.-bleed .-w4 {
    width: 22.22222%;
  }
  .tk-flex-row--18.-bleed .-w5 {
    width: 27.77778%;
  }
  .tk-flex-row--18.-bleed .-w6 {
    width: 33.33333%;
  }
  .tk-flex-row--18.-bleed .-w7 {
    width: 38.88889%;
  }
  .tk-flex-row--18.-bleed .-w8 {
    width: 44.44444%;
  }
  .tk-flex-row--18.-bleed .-w9 {
    width: 50%;
  }
  .tk-flex-row--18.-bleed .-w10 {
    width: 55.55556%;
  }
  .tk-flex-row--18.-bleed .-w11 {
    width: 61.11111%;
  }
  .tk-flex-row--18.-bleed .-w12 {
    width: 66.66667%;
  }
  .tk-flex-row--18.-bleed .-w13 {
    width: 72.22222%;
  }
  .tk-flex-row--18.-bleed .-w14 {
    width: 77.77778%;
  }
  .tk-flex-row--18.-bleed .-w15 {
    width: 83.33333%;
  }
  .tk-flex-row--18.-bleed .-w16 {
    width: 88.88889%;
  }
  .tk-flex-row--18.-bleed .-w17 {
    width: 94.44444%;
  }
  .tk-flex-row--18.-bleed .-w18 {
    width: 100%;
  }
}

.tk-flex-row--18.-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tk-flex-row--18 .video-js {
  width: 100.1%;
}

.tk-footer {
  border-top: 1px solid #000;
  padding: 27px 30px 30px 30px;
}

@media only screen and (max-width: 599px) {
  .tk-footer {
    padding: 27px 30px 30px 30px;
  }
}

.tk-footer .__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-footer .__container ul {
  margin-bottom: 30px;
}

@media only screen and (max-width: 599px) {
  .tk-footer .__container {
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
  }
  .tk-footer .__container a {
    padding: 2px 62px 3px 62px;
  }
  .tk-footer .__container .__client-service {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .tk-footer .__container .__contact {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .tk-footer .__container .__social {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .tk-footer .__container .__mailing-list {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .tk-footer .__container .__header.-desktop {
    display: none;
  }
}

@media only screen and (min-width: 600px) {
  .tk-footer .__container h5 {
    margin-bottom: 10px;
  }
  .tk-footer .__container .__header.-mobile {
    display: none;
  }
  .tk-footer .__container .__client-service,
  .tk-footer .__container .__contact,
  .tk-footer .__container .__social {
    padding-right: 25px;
  }
  .tk-footer .__container .__mailing-list {
    margin-right: auto;
  }
}

.tk-footer .__terms {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  margin-top: 20px;
}

@media only screen and (max-width: 599px) {
  .tk-footer .__terms {
    text-transform: uppercase;
  }
  .tk-footer .__terms span {
    display: block;
    text-align: center;
  }
}

@media only screen and (min-width: 600px) {
  .tk-footer .__terms {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.tk-footer .__terms > * {
  padding: 0 5px 0 0;
}

@media only screen and (max-width: 599px) {
  .tk-footer {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .tk-footer .tk-mailing-list-subscribe {
    margin-bottom: 0;
  }
  .tk-footer .tk-mailing-list-subscribe .input-box {
    min-height: none;
  }
  .tk-footer .__container > div {
    border-bottom: 1px solid #000;
    padding-left: 30px;
    padding-right: 30px;
  }
  .tk-footer .__container > div .block-subscribe, .tk-footer .__container > div ul {
    display: none;
  }
  .tk-footer .__container > div.-open .block-subscribe, .tk-footer .__container > div.-open ul {
    display: block;
  }
  .tk-footer .__container > div.-open .__header.-mobile img {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
  }
  .tk-footer .__container ul {
    text-align: left;
  }
  .tk-footer .__container ul a {
    padding-left: 20px;
    color: #000;
  }
  .tk-footer .__header.-mobile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 15px 0;
    cursor: pointer;
    height: 4em;
  }
  .tk-footer .__header.-mobile img {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    margin-right: 10px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
}

.tk-front-page--11-20 {
  margin: 30px;
  margin-bottom: 200px;
}

.tk-front-page--11-20 .__header-link {
  display: block;
  color: #000;
  text-align: center;
  padding-top: 24px;
  padding-bottom: 54px;
}

@media only screen and (max-width: 599px) {
  .tk-front-page--11-20 .__header-link {
    padding-top: 9px;
    padding-bottom: 39px;
  }
}

.tk-front-page--11-20 .__header-link:hover {
  text-decoration: none;
}

.tk-front-page--11-20 .__header-link:hover > * {
  text-decoration: underline;
}

.tk-front-page--11-20 .__header-link .__helvetica {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 30px;
  text-transform: uppercase;
  padding-right: 3px;
}

.tk-front-page--11-20 .__header-link .__times {
  font-family: Times, serif;
  font-size: 24px;
  line-height: 30px;
}

.tk-front-page--11-20 > .__row .__title a {
  display: block;
}

@media only screen and (max-width: 599px) {
  .tk-front-page--11-20 > .__row .__title {
    margin-top: 5px;
  }
  .tk-front-page--11-20 > .__row.-titles {
    display: none;
  }
  .tk-front-page--11-20 > .__row .__feature {
    margin-bottom: 32px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-front-page--11-20 > .__row.__row1 > *:first-child {
    margin-right: 15px;
  }
  .tk-front-page--11-20 > .__row.__row1 > *:last-child {
    margin-left: 15px;
  }
  .tk-front-page--11-20 > .__row.__row1 .__title {
    margin-top: 15px;
  }
  .tk-front-page--11-20 > .__row.-features {
    margin-bottom: 35px;
  }
  .tk-front-page--11-20 > .__row.__row1, .tk-front-page--11-20 > .__row.-titles {
    margin-bottom: 95px;
  }
}

.tk-front-page--12-05 {
  margin: 30px;
  margin-bottom: 200px;
}

.tk-front-page--12-05 .__header-link {
  display: block;
  color: #000;
  text-align: center;
  padding-top: 24px;
  padding-bottom: 54px;
}

@media only screen and (max-width: 599px) {
  .tk-front-page--12-05 .__header-link {
    padding-top: 9px;
    padding-bottom: 39px;
  }
}

.tk-front-page--12-05 .__header-link:hover {
  text-decoration: none;
}

.tk-front-page--12-05 .__header-link:hover > * {
  text-decoration: underline;
}

.tk-front-page--12-05 .__header-link .__helvetica {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  font-size: 24px;
  line-height: 30px;
  text-transform: uppercase;
  padding-right: 3px;
}

.tk-front-page--12-05 .__header-link .__times {
  font-family: Times, serif;
  font-size: 24px;
  line-height: 30px;
}

.tk-front-page--12-05 > .__row .__title a {
  display: block;
}

@media only screen and (max-width: 599px) {
  .tk-front-page--12-05 > .__row .__title {
    margin-top: 5px;
  }
  .tk-front-page--12-05 > .__row .__feature {
    margin-bottom: 32px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-front-page--12-05 > .__row {
    margin-bottom: 95px;
  }
  .tk-front-page--12-05 > .__row.__row1 > *:first-child {
    margin-right: 15px;
  }
  .tk-front-page--12-05 > .__row.__row1 > *:last-child {
    margin-left: 15px;
  }
  .tk-front-page--12-05 > .__row.__row1 .__title {
    margin-top: 15px;
  }
  .tk-front-page--12-05 > .__row.-features .__feature:hover, .tk-front-page--12-05 > .__row.-features .__feature:hover * {
    border: none;
    outline: none;
  }
  .tk-front-page--12-05 > .__row.-features .__feature .__image {
    height: 32vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .tk-front-page--12-05 > .__row.-features .__feature .__title {
    padding: 8px 0;
    text-align: center;
  }
}

.tk-front-page--2018-02-13 {
  margin: 30px 0;
}

@media only screen and (max-width: 599px) {
  .tk-front-page--2018-02-13 {
    margin-top: 0;
  }
}

@media only screen and (min-width: 600px) {
  .tk-front-page--2018-02-13 {
    margin-left: 30px;
    margin-right: 30px;
  }
}

.tk-front-page--2018-02-13 .__cell {
  margin-bottom: 10px;
}

.tk-front-page--2018-02-13 .__cell * {
  width: 100%;
}

.tk-front-page--2018-02-13 .tku-todo {
  width: 100%;
  min-height: 192px;
  background: #eee;
  color: #000;
}

.tk-front-page--9-28 {
  margin: 30px;
  margin-bottom: 200px;
}

@media only screen and (max-width: 599px) {
  .tk-front-page--9-28 > .__row.-titles {
    display: none;
  }
  .tk-front-page--9-28 > .__row .__feature {
    margin-bottom: 32px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-front-page--9-28 > .__row.__row1 > *:first-child {
    margin-right: 15px;
  }
  .tk-front-page--9-28 > .__row.__row1 > *:last-child {
    margin-left: 15px;
  }
  .tk-front-page--9-28 > .__row.__row1 .__title {
    margin-top: 15px;
  }
  .tk-front-page--9-28 > .__row.-features {
    margin-bottom: 35px;
  }
  .tk-front-page--9-28 > .__row.__row1, .tk-front-page--9-28 > .__row.-titles {
    margin-bottom: 95px;
  }
}

.tk-front-page a {
  color: #000;
}

.tk-front-page .__row .__cell {
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}

.tk-front-page .__row .__cell + .__cell {
  border-left: none;
}

.tk-front-page .__row1 img, .tk-front-page .__row2 img {
  width: 100%;
}

.tk-front-page .__row1 .section-title, .tk-front-page .__row2 .section-title {
  height: 60px;
  border-top: 1px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.tk-front-page .__row1 .section-title h2, .tk-front-page .__row2 .section-title h2 {
  padding: 16px;
  text-align: center;
  text-transform: uppercase;
}

.tk-front-page .__row1 > .__cell + .__cell .section-title, .tk-front-page .__row2 > .__cell + .__cell .section-title {
  border-left: none;
}

.tk-front-page .__row3 .__cell {
  position: relative;
  padding: 25px;
}

.tk-front-page .__row3 .__cell h2, .tk-front-page .__row3 .__cell h3 {
  line-height: 1.1;
  font-size: 1.6em;
}

.tk-front-page .__row3 .__cell .cta {
  position: absolute;
  right: 15px;
  top: 25px;
  font-size: .85em;
  color: #000;
  text-transform: uppercase;
}

.tk-front-page .__row3 .__cell img {
  margin-top: 20px;
}

@media only screen and (min-width: 600px) and (max-width: 979px) {
  .tk-front-page .__row3 .__cell {
    padding: 10px;
  }
  .tk-front-page .__row3 .__cell h2, .tk-front-page .__row3 .__cell h3 {
    font-size: 1.2em;
  }
}

@media only screen and (max-width: 979px) {
  .tk-front-page .__row3 .__cell .cta {
    position: static;
  }
}

.tk-front-page .__row4 .__cell {
  position: relative;
  border-bottom: none;
}

.tk-front-page .__row4 .__cell img {
  width: 100%;
}

.tk-front-page .__row4 .__cell .section-title {
  position: absolute;
  display: block;
  padding: 30px;
  background-color: #000;
  opacity: .75;
  top: 50px;
  left: 50px;
}

.tk-front-page .__row4 .__cell .section-title h2, .tk-front-page .__row4 .__cell .section-title h3 {
  font-size: 2em;
  color: #fff;
  line-height: 1.2;
}

.tk-gift-guide-2018 {
  margin-bottom: 0;
  margin-top: 50px;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 {
    margin-top: 30px;
  }
}

.tk-gift-guide-2018 img {
  width: 100%;
}

.tk-gift-guide-2018 .__header-image {
  margin-bottom: 50px;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__header-image {
    width: 44%;
    margin: 0 auto 30px;
  }
}

.tk-gift-guide-2018 .__header-image .__header-image-container {
  max-width: 300px;
  margin: 0 auto;
}

.tk-gift-guide-2018 .__body-text {
  font-family: Times, serif;
  font-size: 24px;
  line-height: 30px;
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__body-text {
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 50px;
  }
}

.tk-gift-guide-2018 .-full-bleed {
  margin-left: -30px;
  margin-right: -30px;
}

.tk-gift-guide-2018 .-full-bleed .__caption {
  margin-left: 30px;
  margin-right: 30px;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__image-container {
    margin-bottom: 50px;
  }
}

.tk-gift-guide-2018 .__diptych-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tk-gift-guide-2018 .__diptych-image {
  width: 49%;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__diptych-image {
    width: 100%;
    margin-bottom: 50px;
  }
}

.tk-gift-guide-2018 .__shop-btn-container {
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__shop-btn-container {
    margin: 50px auto 110px;
  }
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__product-feed {
    margin-bottom: 50px;
  }
}

.tk-gift-guide-2018 .__full-width-line {
  margin: 0px -30px;
  border-top: 1px solid #000;
}

.tk-gift-guide-2018 .__full-width-line.-pad-bottom {
  margin: 100px -30px;
}

.tk-gift-guide-2018 .__gift-guides-title {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 30px;
  margin: 15px;
  text-transform: uppercase;
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__gift-guides-title {
    font-size: 20px;
    line-height: 24px;
  }
}

.tk-gift-guide-2018 .__gallery-section {
  margin-bottom: -30px;
}

.tk-gift-guide-2018 .__gift-guide-tile {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  padding: 50px 30px;
  border-right: 1px solid #000;
}

.tk-gift-guide-2018 .__gift-guide-tile.-no-line {
  border-right: none;
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__gift-guide-tile {
    border-right: none;
  }
}

.tk-gift-guide-2018 .__tile-container {
  width: 85%;
}

@media only screen and (max-width: 979px) {
  .tk-gift-guide-2018 .__tile-container {
    width: 95%;
  }
}

.tk-gift-guide-2018 .__tile-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 20px;
}

.tk-gift-guide-2018 .__tile-title {
  font-size: 24px;
  line-height: 28px;
  margin-right: -15px;
}

@media only screen and (min-width: 600px) and (max-width: 979px) {
  .tk-gift-guide-2018 .__tile-title {
    font-size: 20px;
    line-height: 24px;
  }
}

@media only screen and (max-width: 599px) {
  .tk-gift-guide-2018 .__tile-title {
    font-size: 24px;
    line-height: 28px;
  }
}

.tk-gift-guide-2018 .__tile-links {
  text-align: right;
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
  margin-left: -15px;
}

.tk-gift-guide-2018 .__tile-links li {
  margin-bottom: 10px;
  margin-top: 5px;
  color: #9B9B9B;
}

.tk-gift-guide-2018 .__tile-links a {
  color: #000;
}

.tk-gift-guide-2018 .inactive {
  display: none;
}

/* consolidated help page. totokaelo.com/help */
.tk-help .tk-h1, .tk-help .tk-h2 {
  margin: 20px 0;
}

.tk-help .__nav a {
  display: block;
}

.tk-help .__current-section {
  display: none;
}

.tk-help .__list .__chat {
  margin: 0;
  padding: 0;
}

@media only screen and (min-width: 600px) {
  .tk-help {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 1px;
  }
  .tk-help .__nav {
    position: absolute;
    left: 30px;
    -webkit-transition: top 2s ease;
    transition: top 2s ease;
  }
  .tk-help .__nav.headroom--not-top {
    position: fixed;
    top: 30px;
    left: 30px;
  }
  .tk-help .__body {
    margin-left: 180px;
    max-width: 800px;
    min-height: 256px;
  }
}

@media only screen and (max-width: 599px) {
  .tk-help {
    font-family: akzidenz-grotesk, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #666666;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0.8px;
  }
  .tk-help .__nav-container {
    height: 80px;
  }
  .tk-help .__nav-container .__nav {
    position: fixed;
    top: 125px;
    left: 0;
    width: 100%;
    padding: 30px 30px 0 30px;
  }
  .tk-help .__nav-container .__nav::before {
    z-index: -1;
    display: block;
    position: absolute;
    content: ' ';
    width: 100%;
    height: 80px;
    background-size: cover;
    opacity: 0.9;
    -webkit-filter: blur(5px);
            filter: blur(5px);
    background: white;
    top: -10px;
    left: 0;
    height: 100px;
  }
  .tk-help .__nav-container .__nav .__current-section {
    z-index: 2;
    border: 1px solid black;
    background: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 10px;
    height: 3em;
    cursor: pointer;
  }
  .tk-help .__nav-container .__nav .__current-section img {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    margin-right: 10px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
  }
  .tk-help .__nav-container .__nav .__list {
    z-index: 2;
    background: white;
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    border-left: 1px solid black;
    display: none;
  }
  .tk-help .__nav-container .__nav .__list a {
    padding: 10px;
  }
  .tk-help .__nav-container .__nav .__list a.-current {
    color: #666666;
  }
  .tk-help .__nav-container .__nav.-open .__list {
    display: block;
  }
}

.tk-help .tk-section.-shipping h4 {
  margin: 20px 0 10px 0;
}

@media only screen and (min-width: 600px) {
  .tk-help .tk-section.-shipping table .__name {
    width: 150px;
  }
  .tk-help .tk-section.-shipping table .__delivered {
    width: 175px;
  }
  .tk-help .tk-section.-shipping table .__cost {
    width: 100%;
  }
}

.tk-help .tk-section.-size-guide .__definitionTitle, .tk-help .tk-section.-size-guide dt {
  margin: 20px 0 10px 0;
}

.tk-help .tk-section.-payment ul {
  list-style-type: disc;
  padding: 20px;
}

@media only screen and (max-width: 599px) {
  .tk-help .tk-section.-m-anchor {
    padding-top: 155px;
    margin-top: -155px;
  }
}

.tk-holiday-shipping {
  max-width: 550px;
  margin-bottom: 40px;
}

.tk-holiday-shipping h6 {
  margin-top: 20px;
}

.tk-holiday-shipping .__grey {
  background-color: #eee;
  padding: 10px;
  margin-bottom: 20px;
  margin-left: -10px;
}

.tk-hover-cell img {
  width: 100%;
}

@media only screen and (min-width: 600px) {
  .tk-hover-cell .__title {
    padding-top: 5px;
  }
}

.tk-hover-cell:hover .__image {
  outline: 1px solid #0645AD;
  outline-offset: -1px;
}

.tk-hover-cell:hover, .tk-hover-cell:hover p, .tk-hover-cell:hover .__title {
  text-decoration: underline;
  color: #0645AD;
}

.tk-hover-cell:hover .-no-underline, .tk-hover-cell:hover p .-no-underline, .tk-hover-cell:hover .__title .-no-underline {
  text-decoration: none;
}

.tk-hover-cell a:focus img {
  outline: 1px dotted #0645AD !important;
  outline-offset: 3px;
}

@media only screen and (min-width: 600px) {
  .tk-hover-cell.-desktop-hide-title .__title {
    display: none !important;
  }
}

@media only screen and (min-width: 600px) {
  .tk-hover-cell.-overlay-title {
    position: relative;
    text-shadow: 0 0 4px white !important;
  }
  .tk-hover-cell.-overlay-title .__title {
    position: absolute;
    bottom: 6px;
    left: 10px;
    color: #111;
    visibility: hidden;
  }
  .tk-hover-cell.-overlay-title .__title .__link {
    display: block;
  }
  .tk-hover-cell.-overlay-title:hover .__title, .tk-hover-cell.-overlay-title.-always-visible .__title {
    visibility: visible;
  }
  .tk-hover-cell.-overlay-title:hover .__image, .tk-hover-cell.-overlay-title.-always-visible .__image {
    outline: none;
  }
}

.tk-hover-cell.-mobile-overlay-title {
  position: relative;
}

.tk-hover-cell.-mobile-overlay-title .__title {
  position: absolute;
  bottom: 6px;
  left: 10px;
  color: #111;
  visibility: hidden;
}

.tk-hover-cell.-mobile-overlay-title .__title .__link {
  display: block;
}

.tk-hover-cell.-mobile-overlay-title:hover .__title {
  visibility: visible;
}

.tk-hover-cell.-mobile-overlay-title:hover .__image {
  outline: none;
}

.tk-hover-cell.-mobile-overlay-title.-whiteText, .tk-hover-cell.-mobile-overlay-title.-whiteText p, .tk-hover-cell.-mobile-overlay-title.-whiteText .__title, .tk-hover-cell.-mobile-overlay-title.-whiteText .__title > *, .tk-hover-cell.-mobile-overlay-title.-white-text, .tk-hover-cell.-mobile-overlay-title.-white-text p, .tk-hover-cell.-mobile-overlay-title.-white-text .__title, .tk-hover-cell.-mobile-overlay-title.-white-text .__title > * {
  color: white;
  text-shadow: 0 0 4px black !important;
}

@media only screen and (max-width: 599px) {
  .tk-hover-cell.-mobile-hide {
    display: none;
  }
}

.tk-hover-cell.-noTextHover, .tk-hover-cell.-noTextHover p, .tk-hover-cell.-noTextHover .__title, .tk-hover-cell.-no-text-hover, .tk-hover-cell.-no-text-hover p, .tk-hover-cell.-no-text-hover .__title {
  text-decoration: none;
}

@media only screen and (min-width: 600px) {
  .tk-hover-cell.-whiteText, .tk-hover-cell.-whiteText p, .tk-hover-cell.-whiteText .__title, .tk-hover-cell.-whiteText .__title *, .tk-hover-cell.-whiteText:hover, .tk-hover-cell.-whiteText:hover p, .tk-hover-cell.-whiteText:hover .__title, .tk-hover-cell.-whiteText:hover .__title *, .tk-hover-cell.-white-text, .tk-hover-cell.-white-text p, .tk-hover-cell.-white-text .__title, .tk-hover-cell.-white-text .__title *, .tk-hover-cell.-white-text:hover, .tk-hover-cell.-white-text:hover p, .tk-hover-cell.-white-text:hover .__title, .tk-hover-cell.-white-text:hover .__title * {
    color: white !important;
    text-shadow: 0 0 4px black !important;
  }
  .tk-hover-cell.-whiteText a:focus, .tk-hover-cell.-white-text a:focus {
    outline-color: #fff !important;
  }
}

.tk-image-zoom {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  padding: 16px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.tk-image-zoom .__mask {
  background: white;
  -webkit-filter: opacity(95%) blur(5px);
          filter: opacity(95%) blur(5px);
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
}

.tk-image-zoom .container {
  z-index: 3;
  cursor: pointer;
  position: relative;
}

.tk-image-zoom .container .close {
  position: absolute;
  top: 0;
  right: 0;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.tk-image-zoom .container .next,
.tk-image-zoom .container .previous {
  position: absolute;
  top: 40vh;
}

.tk-image-zoom .container .next {
  right: 0;
}

.tk-image-zoom .container .previous {
  left: 0;
}

@media only screen and (max-width: 599px) {
  .tk-image-zoom .container .previous {
    right: 8px;
  }
}

.tk-image-zoom .container img {
  display: block;
  max-width: 80%;
  margin: 0 auto;
}

@media only screen and (max-width: 599px) {
  .tk-image-zoom .container img {
    max-width: 90%;
  }
}

.tk-list {
  margin: 20px 0 20px 40px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.tk-list.-disc {
  list-style-type: disc;
}

.tk-list.-numeric {
  list-style-type: decimal;
}

.tk-list.-alpha {
  list-style-type: lower-alpha;
}

.tk-list > li {
  margin: 10px 0;
}

.tk-mailing-list-subscribe {
  width: 280px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 599px) {
  .tk-mailing-list-subscribe {
    width: 100%;
  }
}

.tk-mailing-list-subscribe .input-text {
  width: 100%;
}

.tk-mailing-list-subscribe .__inputs {
  margin: 15px 0;
}

.tk-mailing-list-subscribe .__inputs .__choices {
  margin: 5px 0;
}

.tk-mailing-list-subscribe .__promotion {
  white-space: nowrap;
}

@media only screen and (max-width: 599px) {
  .tk-mailing-list-subscribe .__promotion {
    white-space: normal;
  }
}

.tk-mailing-list-subscribe .__choices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tk-mailing-list-subscribe .__choices > p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tk-mailing-list-subscribe .__choices label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  padding: 5px;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  text-align: left;
}

.tk-mailing-list-subscribe .__choices label:hover {
  color: #0645AD;
  text-decoration: underline;
}

.tk-mailing-list-subscribe .__choices label:hover {
  text-decoration: underline;
  cursor: pointer;
}

.tk-mailing-list-subscribe .__choices label.-valid {
  color: #DC2022;
}

.tk-mailing-list-subscribe .__choices .validation-advice ~ label {
  color: #DC2022;
}

.tk-mailing-list-subscribe .__choices .validation-advice {
  display: none;
}

@media only screen and (max-width: 599px) {
  .tk-mailing-list-subscribe .__choices {
    margin-left: 30px;
    margin-right: 30px;
  }
  .tk-mailing-list-subscribe .__choices > p {
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .tk-mailing-list-subscribe .__choices label {
    -webkit-box-flex: unset;
        -ms-flex-positive: unset;
            flex-grow: unset;
    padding-left: 80px;
    margin-left: -72px;
  }
}

.tk-mailing-list-subscribe .__error {
  color: #DC2022;
  visibility: hidden;
  height: 0;
  opacity: 0.0;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.tk-mailing-list-subscribe .__error.-visible {
  visibility: visible;
  height: unset;
  opacity: 1.0;
}

@media only screen and (max-width: 599px) {
  .tk-mailing-list-subscribe .__subscribe-button {
    margin-bottom: 25px;
  }
}

.tk-modal-container {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  width: 100vw;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.tk-modal-container > div, .tk-modal-container > form {
  position: relative;
  display: none;
  margin: 25vh auto 0 auto;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

@media only screen and (max-width: 599px) {
  .tk-modal-container > div, .tk-modal-container > form {
    margin: 30px auto;
  }
}

.tk-modal-container.-visible {
  background-color: rgba(0, 0, 0, 0.6);
}

.tk-modal-container.-visible > div, .tk-modal-container.-visible > form {
  opacity: 1;
}

.tk-modal-container .__close {
  position: absolute;
  right: 0;
  top: 5px;
  font-size: 14px;
  line-height: 1px;
  padding: 15px;
  background-color: inherit;
  border: none;
  outline: none;
  background: transparent;
}

.tk-modal-container .tk-mailing-list-subscribe {
  background: white;
  border: 1px solid black;
  padding: 30px;
  width: 360px;
  max-width: 90vw;
}

.tk-modal-container .tk-mailing-list-subscribe .block-content {
  width: 100%;
}

.tk-multiselect-refinement-list {
  margin: 10px 0;
}

.tk-multiselect-refinement-list select {
  width: 100%;
}

@media only screen and (max-width: 599px) {
  .tk-nav-and-products > .__nav {
    display: none;
  }
}

@media only screen and (min-width: 600px) {
  .tk-nav-and-products {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-nav-and-products > .__nav {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
  }
  .tk-nav-and-products > .__products {
    -ms-flex-preferred-size: 80%;
        flex-basis: 80%;
  }
}

*[v-cloak] {
  opacity: 0;
}

.tk-nav-catalog {
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
}

.tk-nav-catalog a {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.tk-nav-catalog a:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.tk-nav-catalog a.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-nav-catalog h6 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.tk-nav-catalog > .__list {
  margin: 15px 0;
}

.tk-nav-catalog > .__list > li .__list {
  display: none;
  padding-left: 15px;
  padding-bottom: 10px;
}

.tk-nav-catalog > .__list > li.-expanded .__list {
  display: block;
}

.tk-nav-catalog > .__list > li.-sale a {
  color: #DC2022;
}

.tk-nav-catalog #tk-gift-guide a {
  cursor: pointer;
}

.tk-nav-desktop {
  background-color: white;
  position: relative;
  z-index: 1;
  border-bottom: 1px solid #000;
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.tk-nav-desktop > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.tk-nav-desktop > ul > li.__l.--last {
  margin-right: auto;
}

.tk-nav-desktop > ul > li.__r.--first {
  margin-left: auto;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop > ul > li.--mobile-hide {
    display: none;
  }
}

.tk-nav-desktop .__link {
  display: block;
  padding: 15px;
}

.tk-nav-desktop .__link.--first {
  padding-left: 30px;
}

.tk-nav-desktop .__link.-current {
  color: #0645AD;
  text-decoration: underline;
}

.tk-nav-desktop .__logo a {
  display: block;
  width: 150px;
  padding-top: 18px;
  padding-right: 15px;
  padding-left: 30px;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__account {
    background: transparent url("https://totokaelo.com/skin/frontend/totokaelo/default/images/nav/account.svg") no-repeat center left;
    background-size: 30px;
  }
  .tk-nav-desktop .__account .__rText {
    display: none;
  }
}

.tk-nav-desktop .__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-nav-desktop .__search .__link:focus {
  outline: none;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search .__link {
    background: transparent url("https://totokaelo.com/skin/frontend/totokaelo/default/images/nav/search.svg") no-repeat center left;
    background-size: 30px;
  }
  .tk-nav-desktop .__search .__link .__rText {
    display: none;
  }
}

.tk-nav-desktop .__search .__search-form {
  display: none;
}

.tk-nav-desktop .__search .__search-form .__input {
  outline: none;
}

.tk-nav-desktop .__search .__search-form .ais-search-box {
  background: transparent;
  padding-left: 0;
}

.tk-nav-desktop .__search .__search-form input#search {
  -webkit-box-shadow: none;
          box-shadow: none;
  height: inherit;
  padding: 0 0 4px 0;
  width: 0;
  -webkit-transition: width 0.4s ease;
  transition: width 0.4s ease;
  border: none;
  border-bottom: 1px solid #000;
  border-radius: 0;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search .__search-form input#search {
    position: absolute;
    left: 0;
    top: 48px;
    width: 100%;
    height: 0;
    z-index: 2;
    visibility: hidden;
    padding: 20px 30px !important;
  }
  .tk-nav-desktop .__search .__search-form input#search:placeholder, .tk-nav-desktop .__search .__search-form input#search::-webkit-input-placeholder {
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:placeholder, .tk-nav-desktop .__search .__search-form input#search:-ms-input-placeholder {
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:placeholder, .tk-nav-desktop .__search .__search-form input#search::placeholder {
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search::-moz-placeholder {
    /* Firefox 19+ */
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:-ms-input-placeholder {
    /* IE 10+ */
    color: #000;
  }
  .tk-nav-desktop .__search .__search-form input#search:-moz-placeholder {
    /* Firefox 18- */
    color: #000;
  }
}

.tk-nav-desktop .__search .__search-form button, .tk-nav-desktop .__search .__search-form input[type=submit] {
  display: none;
}

.tk-nav-desktop .__search.--active .__search-form {
  display: block;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search.--active .__link {
    background: transparent url("https://totokaelo.com/skin/frontend/totokaelo/default/images/nav/search_inverted.svg") no-repeat center left;
    background-size: 30px;
  }
}

.tk-nav-desktop .__search.--active input#search {
  width: 100%;
  height: 30px;
  visibility: visible;
  margin-top: 5px;
}

.tk-nav-desktop .__account {
  position: relative;
}

.tk-nav-desktop .__account:hover .__popup-login-container {
  display: block;
}

.tk-nav-desktop .__account .__popup-login-container {
  display: none;
  position: absolute;
  left: -240px;
}

.tk-nav-desktop .__account .__popup-login-container.--visible {
  display: block;
}

.tk-nav-desktop .__account .__popup-login-container.--logged-in {
  left: -30px;
}

.tk-nav-desktop .__account .__popup-login-container .buttons-set {
  margin-left: 0 !important;
}

.tk-nav-desktop .__cart-count .__cart {
  color: #000;
  border: 1px solid #000;
  padding: 3px 7px;
  margin-top: 12px;
  margin-right: 30px;
  margin-left: 15px;
}

.tk-nav-desktop .__cart-count .__cart:hover {
  color: #0645AD;
  border: 1px solid #0645AD;
  text-decoration: none;
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__cart-count .__cart {
    color: white;
    background-color: #000;
    border-radius: 50%;
    margin: 9px 0 0 0;
    padding: 6px 0 0 0;
    height: 29px;
    width: 30px;
    text-align: center;
  }
  .tk-nav-desktop .__cart-count .__cart:hover {
    color: white;
    border-color: #000;
  }
}

@media only screen and (max-width: 979px) {
  .tk-nav-desktop .__search, .tk-nav-desktop .__account {
    margin-right: 10px;
  }
  .tk-nav-desktop .__cart-count {
    margin-right: 30px;
  }
}

.tk-nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: calc(100vw - 91px);
  max-width: calc(100vw - 91px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: scroll;
  background-color: white;
  border-right: 1px solid #000;
  z-index: 10;
}

.tk-nav-drawer.-closed {
  display: none;
}

.tk-nav-drawer.-open {
  display: block;
}

.tk-nav-drawer .__search .__label {
  padding-left: 30px;
  padding-right: 20px;
  padding-top: 24px;
  padding-bottom: 19px;
  float: left;
}

.tk-nav-drawer .__search .tk-nav-search {
  padding-top: 17px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
}

.tk-nav-drawer .__search .tk-nav-search .__input {
  width: calc(100% - 100px);
}

.tk-nav-drawer .__search .tk-nav-search .__input:focus {
  outline: none;
}

.tk-nav-drawer .__search .tk-nav-search .__submit {
  display: none;
}

.tk-nav-drawer > .__categories li .__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tk-nav-drawer > .__categories li .__category .__link {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  padding: 20px 15px 18px 30px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 20px;
}

.tk-nav-drawer > .__categories li .__category .__toggle {
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: url("https://totokaelo.com/skin/frontend/totokaelo/default/images/nav/caret.svg") center center/10px 10px no-repeat;
  padding: 30px;
  padding-left: 60px;
  height: 8px;
  width: 8px;
  text-decoration: none;
}

.tk-nav-drawer > .__categories li .__category .__toggle:hover {
  text-decoration: none;
  cursor: pointer;
}

.tk-nav-drawer > .__categories li .__list {
  border-top: 1px solid #000;
  display: none;
}

.tk-nav-drawer > .__categories li.-expanded > .__category .__toggle {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.tk-nav-drawer > .__categories li.-expanded > .__list {
  display: block;
}

.tk-nav-drawer > .__categories > .__list > li {
  border-bottom: 1px solid #000;
}

.tk-nav-drawer > .__categories > .__list > li > .__category .__link {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li {
  border-bottom: 1px solid #000;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li:last-child {
  border-bottom: none;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li > .__category > .__link {
  padding-left: 45px;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li > .__list {
  padding-top: 16px;
  padding-bottom: 16px;
}

.tk-nav-drawer > .__categories > .__list > li > .__list > li > .__list > li > .__category > .__link {
  padding: 9px 15px 10px 60px;
}

.tk-nav-drawer > .__policy-links {
  margin-top: auto;
  margin-bottom: 30px;
}

.tk-nav-drawer > .__policy-links .__link {
  display: block;
  padding-left: 30px;
  padding-top: 7.5px;
  padding-bottom: 7.5px;
}

.tk-nav-header .__mobile {
  display: none;
}

.tk-nav-header .__tablet {
  display: block;
}

@media only screen and (max-width: 979px) {
  .tk-nav-header .__mobile {
    display: block;
  }
  .tk-nav-header .__tablet {
    display: none;
  }
}

.tk-nav-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  border-bottom: 1px solid #000;
}

.tk-nav-mobile *:focus {
  outline: 0;
}

.tk-nav-mobile > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tk-nav-mobile > span.__rhs {
  text-align: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.tk-nav-mobile > span a {
  color: #000;
  padding-top: 28px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 25px;
}

.tk-nav-mobile > span a:last-child {
  padding-right: 30px;
}

.tk-nav-mobile > span a.-bars {
  padding-top: 32px;
}

.tk-nav-mobile > .__logo {
  padding-top: 26px;
  padding-left: 30px;
  padding-bottom: 25px;
  margin-right: auto;
}

.tk-nav-mobile > .__logo > a {
  padding-top: 28px;
  padding-bottom: 25px;
}

.tk-nav-mobile > .__logo > a > img {
  width: 132px;
  margin: 0 auto;
}

.tk-nav-mobile .__nav-drawer-padder,
.tk-nav-mobile .__drawer-x {
  display: none;
}

.tk-nav-mobile .__drawer-x {
  text-align: center;
}

.tk-nav-mobile .__drawer-x a {
  display: block;
  padding: 24px 30px 19px 30px;
}

.tk-nav-mobile .__drawer-x a:hover {
  text-decoration: none;
}

.tk-nav-mobile.-nav-drawer-open {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.tk-nav-mobile.-nav-drawer-open .__lhs {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
}

.tk-nav-mobile.-nav-drawer-open .__logo,
.tk-nav-mobile.-nav-drawer-open .__rhs {
  display: none;
}

.tk-nav-mobile.-nav-drawer-open .__drawer-x {
  display: block;
}

.tk-nav-mobile.-nav-drawer-open .__nav-drawer-padder {
  display: block;
  width: 400px;
  max-width: 80vw;
  min-height: 74px;
}

@media only screen and (max-width: 599px) {
  .tk-nav-mobile.-nav-drawer-open .__logo {
    display: none;
  }
}

.tk-nav-search .__input {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  border: none;
}

.tk-option-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-option-list dt {
  display: none;
}

.tk-option-list dd.__color {
  margin-right: 7.5px;
}

.tk-option-list dd.__color::after {
  content: '/';
}

.tk-popup-login {
  background-color: white;
  border: 1px solid #000;
  padding: 20px 30px 10px 30px;
  width: 333px;
}

.tk-popup-login label {
  font-weight: normal;
}

.tk-popup-login .block-title {
  display: none;
}

.tk-popup-login .__actions-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 15px;
}

.tk-popup-login .__actions-container .links a {
  display: block;
}

.tk-popup-login .__actions-container .links a:first-child {
  margin-bottom: 10px;
}

.tk-popup-login #mini-login, .tk-popup-login #mini-password {
  margin-bottom: 20px;
}

.tk-popup-login .block .actions {
  margin-top: 4px;
  width: 100px;
}

.tk-popup-login.--logged-in {
  width: 160px;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 5px;
}

.tk-popup-login.--logged-in a {
  padding-bottom: 10px;
  display: block;
}

.tk-product-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 1;
  background: white;
  border: 1px solid #000;
  padding: 5px 10px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 11px;
}

.tk-product-browse .ais-hierarchical-menu--header .__designers,
.tk-product-browse .ais-hierearchical-link-wrapper[data-category-name="Designers"] {
  display: none;
}

.tk-product-browse.-designers-mode .ais-hierarchical-menu--header .__categories,
.tk-product-browse.-designers-mode .is-widget-container-categories .ais-hierarchical-menu--list__lvl1 > .ais-hierarchical-menu--item {
  display: none;
}

.tk-product-browse.-designers-mode .is-widget-container-categories {
  display: none;
}

.tk-product-browse.-designers-mode .is-widget-container-categories .ais-hierarchical-menu--list__lvl2 {
  padding-left: 0 !important;
}

.tk-product-browse.-designers-mode .is-widget-container-brand {
  display: none;
}

.tk-product-browse #tk-designer-list.-hidden {
  display: none;
}

@media only screen and (max-width: 599px) {
  .tk-product-browse .__refine {
    margin: 10px 0 20px 0;
  }
  .tk-product-browse .__refine .instant-search-facets-container {
    display: none;
  }
  .tk-product-browse .__refine .instant-search-mobile-facets-container {
    display: block;
  }
}

@media only screen and (min-width: 600px) {
  .tk-product-browse .__browse {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
  }
  .tk-product-browse .__refine {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
  }
  .tk-product-browse .__refine .instant-search-facets-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
  }
  .tk-product-browse .__refine .instant-search-facets-container.-brand-mode .is-widget-container-brand {
    display: none;
  }
  .tk-product-browse .__refine .instant-search-mobile-facets-container {
    display: none;
  }
  .tk-product-browse .__refine button {
    border: none;
    margin: 0;
    padding: 0;
    width: auto;
    overflow: visible;
    background: transparent;
    /* inherit font & color from ancestor */
    color: inherit;
    font: inherit;
    /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
    line-height: normal;
    font-smoothing: inherit;
    /* Corrects inability to style clickable `input` types in iOS */
    -webkit-appearance: none;
    /* Remove excess padding and border in Firefox 4+ */
  }
  .tk-product-browse .__refine button::-moz-focus-inner {
    border: 0;
    padding: 0;
  }
  .tk-product-browse .__refine button svg {
    width: 16px;
    height: 16px;
  }
  .tk-product-browse .__products {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
  }
}

@media only screen and (min-width: 980px) {
  .tk-product-browse .__refine {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
  }
  .tk-product-browse .__products {
    -ms-flex-preferred-size: 80%;
        flex-basis: 80%;
  }
}

.tk-product-browse .__refine input {
  height: 25px;
}

@media only screen and (max-width: 599px) {
  .tk-product-browse .__refine .__search {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding-right: 0;
    -webkit-box-ordinal-group: 1000;
        -ms-flex-order: 999;
            order: 999;
  }
}

@media only screen and (min-width: 600px) {
  .tk-product-browse .__refine .__search {
    display: none !important;
  }
  .tk-product-browse .__refine .instant-search-facets-container {
    margin-top: 28px;
  }
}

.tk-product-browse .__refine .is-widget-container-categories {
  margin: 0;
}

.tk-product-browse .__refine #current-refinements {
  margin: 20px 0 0 0;
}

.tk-product-browse .__refine #current-refinements .ais-current-refined-values {
  margin-bottom: 0;
}

.tk-product-browse .__products .__bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 20px;
}

.tk-product-browse .__products .__bar .__header {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: absolute;
  width: 100%;
  text-align: center;
  z-index: 0;
}

.tk-product-browse .__products .__bar .__stats {
  margin-right: 15px;
}

.tk-product-browse .__products .__bar .__sort {
  margin-right: 0;
  z-index: 1;
}

.tk-product-browse .__products .__bar .__sort label {
  display: none;
}

@media only screen and (max-width: 599px) {
  .tk-product-browse .__products .__bar {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.tk-product-browse .__products .__product {
  -ms-flex-preferred-size: calc(33% - 28px);
      flex-basis: calc(33% - 28px);
  margin-bottom: 32px;
  position: relative;
  list-style-type: none;
}

@media only screen and (min-width: 600px) and (max-width: 979px) {
  .tk-product-browse .__products .__product {
    -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px);
  }
}

@media only screen and (max-width: 599px) {
  .tk-product-browse .__products .__product {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-left: 0;
  }
}

.tk-product-feed {
  margin: 60px auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .tk-product-feed {
    margin: 0 auto;
  }
}

.tk-product-feed > div {
  margin-left: 1%;
  margin-right: 1%;
}

.tk-product-feed .__product-link span {
  color: #000;
}

.tk-product-feed .__product-link .__product-image {
  border: 1px solid transparent;
}

.tk-product-feed .__product-link .__product-image.-rollover {
  display: none;
}

.tk-product-feed .__product-link:hover, .tk-product-feed .__product-link:hover * {
  color: #0645AD;
  text-decoration: none;
}

.tk-product-feed .__product-link.-with-rollover-image:hover .__product-image.-primary {
  display: none;
}

.tk-product-feed .__product-link.-with-rollover-image:hover .__product-image.-rollover {
  display: block;
}

.tk-product-feed .__product-link .__product-info, .tk-product-feed .__product-link .__rollover-sizes {
  padding: 15px 0;
}

.tk-product-feed .__product-link .__common {
  display: block;
}

.tk-product-feed .__product-link .__rollover-sizes {
  display: none;
}

.tk-product-feed .__product-link.-with-sizes:hover .__product-info {
  display: none;
}

.tk-product-feed .__product-link.-with-sizes:hover .__rollover-sizes {
  display: block;
}

.tk-product-images .__list {
  display: block;
}

@media only screen and (max-width: 979px) {
  .tk-product-images .__list img {
    max-height: 90vh;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 980px) {
  .tk-product-images .__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-product-images .__list > li {
    -ms-flex-preferred-size: calc(50% - 5px);
        flex-basis: calc(50% - 5px);
    margin-bottom: 10px;
  }
  .tk-product-images .__list > li > img {
    width: 100%;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
  }
}

.tk-product-images .__slick {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 15px;
}

.tk-product-images .__slick .__prev,
.tk-product-images .__slick .__dots ul button,
.tk-product-images .__slick .__next {
  cursor: pointer;
  padding: 15px;
  margin: 0 15px;
}

.tk-product-images .__slick .__dots > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-product-images .__slick .__dots > ul li button {
  background: transparent;
  border: none;
  color: #666666;
  outline: none;
}

.tk-product-images .__slick .__dots > ul li .slick-active {
  color: #000;
}

.tk-product-images .__slick .__dots .slick-dots {
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.tk-product-images .__slick .__dots .slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 8px 5px;
  padding: 0;
  cursor: pointer;
}

.tk-product-images .__slick .__dots .slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.tk-product-images .__slick .__dots .slick-dots li button:hover, .tk-product-images .__slick .__dots .slick-dots li button:focus {
  outline: none;
}

.tk-product-images .__slick .__dots .slick-dots li button:hover:before, .tk-product-images .__slick .__dots .slick-dots li button:focus:before {
  opacity: 1;
}

.tk-product-images .__slick .__dots .slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\2219";
  font-size: 46px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.tk-product-images .__slick .__dots .slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

@media only screen and (min-width: 980px) {
  .tk-product-images .__slick {
    display: none;
  }
}

.tk-product-link {
  position: relative;
}

.tk-product-link span {
  color: #000;
}

.tk-product-link .__image {
  border: 1px solid transparent;
  margin-bottom: 10px;
}

.tk-product-link .__image.-rollover {
  display: none;
}

.tk-product-link:hover, .tk-product-link:hover * {
  color: #0645AD;
  text-decoration: none;
}

.tk-product-link:hover .__image.-rollover {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

.tk-product-list-item {
  text-align: center;
}

.tk-product-list-item span {
  color: #000;
}

.tk-product-list-item .__product-image-container {
  position: relative;
  margin-bottom: 15px;
}

.tk-product-list-item .product-image {
  border: 1px solid transparent;
}

.tk-product-list-item .product-image.-rollover {
  display: none;
}

.tk-product-list-item:hover, .tk-product-list-item:hover .__rollover * {
  color: #0645AD;
  text-decoration: none;
}

.tk-product-list-item:hover .product-image.-rollover {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

.tk-product-list-item .__rollover {
  padding-bottom: 22px;
}

.tk-product-list-item .__rollover .__available-sizes .__size:after, .tk-product-list-item .__rollover .__available-sizes .__size::after {
  content: ', ';
}

.tk-product-list-item .__rollover .__available-sizes .__size:last-child:after, .tk-product-list-item .__rollover .__available-sizes .__size:last-child::after {
  content: '';
}

.tk-product-list-item .__common {
  display: block;
}

.tk-product-list-item .__rollover {
  display: none;
}

.tk-product-list-item.-withRollover:hover .__common, .tk-product-list-item.-with-rollover:hover .__common,
.tk-product-list-item > a.-withRollover:hover .__common,
.tk-product-list-item > a.-with-rollover:hover .__common {
  display: none;
}

.tk-product-list-item.-withRollover:hover .__rollover, .tk-product-list-item.-with-rollover:hover .__rollover,
.tk-product-list-item > a.-withRollover:hover .__rollover,
.tk-product-list-item > a.-with-rollover:hover .__rollover {
  display: block;
}

.tk-product-price .__original-price {
  text-decoration: line-through;
}

.tk-product-price .__current-price.-sale {
  color: #DC2022 !important;
}

.tk-product-related-products {
  margin: 60px 0;
}

.tk-product-related-products .__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 15px;
}

.tk-product-related-products .__nav a {
  padding: 10px;
  margin: 0 5px;
  color: #000;
}

.tk-product-related-products .__nav a.-current {
  text-decoration: underline;
}

.tk-product-related-products .__lists .__list {
  display: none;
}

.tk-product-related-products .__lists .__list.-current {
  display: block;
}

.tk-product-related-products .__lists .__list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.tk-product-related-products .__lists .__list ul li {
  margin-right: 10px;
  width: calc(16.66% - 5px);
}

.tk-product-related-products .__lists .__list ul li:last-child {
  margin-right: 0;
}

.tk-product-related-products .__lists .__list ul li a {
  display: block;
  text-align: center;
  color: #000;
}

@media only screen and (max-width: 599px) {
  .tk-product-related-products .__lists .__list ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  .tk-product-related-products .__lists .__list ul li {
    width: calc(50% - 5px);
  }
  .tk-product-related-products .__lists .__list ul li:nth-child(2n) {
    margin-right: 0;
  }
}

.tk-product-view > .__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.tk-product-view .__images {
  -ms-flex-preferred-size: 66%;
      flex-basis: 66%;
}

@media only screen and (min-width: 600px) {
  .tk-product-view .__images {
    max-width: 66%;
  }
}

.tk-product-view .__details {
  -ms-flex-preferred-size: 33%;
      flex-basis: 33%;
}

.tk-product-view .__details .__header {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.tk-product-view .__details .__section {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  margin: 20px 0;
}

.tk-product-view .__details .__section > p {
  margin: 8px 0;
}

@media only screen and (max-width: 599px) {
  .tk-product-view .__details {
    margin-top: 15px;
  }
}

@media only screen and (min-width: 600px) {
  .tk-product-view .__details {
    margin-top: 100px;
    max-width: 33%;
    padding-left: 30px;
  }
}

.tk-product-view .__details .__vendor-sku {
  display: none;
}

.tk-product-view .__details .__product-name,
.tk-product-view .__details .__accordion {
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
}

.tk-product-view .__details .addtocart-shipping-promo {
  width: 100%;
  padding: 10px 0;
  text-align: center;
}

.tk-product-view .__in-store-only {
  text-align: center;
  margin: 30px 0;
}

.tk-product-view .__sold-out {
  text-align: center;
  color: #000;
  margin: 30px 0;
}

.tk-product-view .product-options,
.tk-product-view .product-options dd,
.tk-product-view .product-options-bottom {
  max-width: 400px;
  margin: 0 auto;
  padding: 0;
  padding-bottom: 10px;
  background-color: transparent;
  border: none;
}

.tk-product-view .product-options dd.last {
  padding: 0;
}

.tk-product-view .product-add-form {
  margin: 30px 0;
}

.tk-product-view .product-options dt,
.tk-product-view .product-options label.hidden {
  position: absolute;
  left: -999em;
}

.tk-product-view .product-options p.required {
  display: none;
}

.tk-product-view .product-options select,
.tk-product-view .product-options-bottom button {
  outline: none;
  font-size: 12px;
  display: block;
  width: 100%;
  border: 1px solid #0645AD;
  border-radius: 0;
  color: #0645AD;
  background-color: white;
}

.tk-product-view .product-options select {
  color: #000;
  border: 1px solid #000;
  border-radius: 0;
  background-color: white;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 10px 10px 10px 30px;
  text-transform: uppercase;
}

.tk-product-view .product-options select.-invisible {
  margin-top: -50px;
  visibility: hidden;
}

@media only screen and (max-width: 599px) {
  .tk-product-view > .__container {
    display: block;
  }
}

.tk-product-view .giftcard-form label.required {
  display: block;
}

.tk-product-view .giftcard-form label.required em {
  display: inline-block;
  padding-right: 2px;
}

.tk-product-view .giftcard-form p.required {
  display: inline-block;
}

.tk-product-view .giftcard-form .input-text {
  width: 100%;
}

.tk-product-view .giftcard-form select {
  display: inline-block;
}

.tk-product-view .giftcard-form .availability {
  display: none;
}

.tk-size-guide {
  max-width: 960px;
}

.tk-size-guide .__border {
  padding: 0;
  margin: 10px 0;
  border-bottom: 1px solid black;
}

.tk-size-guide .__header {
  margin: 0;
  padding: 10px;
}

.tk-size-guide .__tables .__table-container {
  overflow-x: auto;
  margin-bottom: 60px;
}

.tk-size-guide .__tables table th, .tk-size-guide .__tables table td {
  text-align: center;
  max-width: 110px;
}

.tk-size-guide .__definitionTitle, .tk-size-guide dt {
  margin-top: 20px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
}

.tk-size-guide .__definitionGuide, .tk-size-guide dd {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.tk-size-guide .__definitions {
  margin: 20px 0;
}

@media only screen and (min-width: 600px) {
  .tk-social-login-container, .inchoo-socialconnect-login {
    max-width: 365px;
  }
}

.tk-social-login-container .inchoo-socialconnect-login-lower, .inchoo-socialconnect-login .inchoo-socialconnect-login-lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tk-social-login-container a, .inchoo-socialconnect-login a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.tk-social-login-container img, .inchoo-socialconnect-login img {
  padding-right: 10px;
}

.tk-social-login.-google a {
  color: #DC2022;
}

.tk-social-login.-facebook a {
  color: #0645AD;
}

.tk-social-prelude {
  padding-bottom: 10px;
  margin: 10px 0;
}

.tk-social-prelude .__line {
  border-bottom: 1px solid #9B9B9B;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tk-social-prelude .__copy {
  background-color: white;
  color: #9B9B9B;
  margin: 0 auto -18px auto;
  text-align: center;
  padding: 10px 20px;
  letter-spacing: 1px;
}

.tk-store-info {
  max-width: 960px;
  margin: 0 auto;
}

.tk-store-info > h1 {
  margin: 50px 0;
}

.tk-store-info .__store {
  margin: 0 0 80px 0;
}

.tk-store-info .__store .__images .__image, .tk-store-info .__store .__images .__map {
  margin: 20px 0;
}

.tk-store-info .__store .__images .__map > iframe {
  width: calc(100vw - 75px);
  height: calc(1.33 * (100vw - 75px));
  filter: url("https://totokaelo.com/skin/frontend/totokaelo/default/css/data:image/svg+xml;utf8,<sv")xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
  /* Firefox 10+ */
  filter: gray;
  /* IE6-9 */
  -webkit-filter: grayscale(99%);
  /* Chrome 19+ & Safari 6+ */
  -webkit-backface-visibility: hidden;
  /* Fix for transition flickering */
}

.tk-store-info .__store .__info {
  margin: 0;
}

.tk-store-info .__store .__info .__title {
  margin: 0 0 20px 0;
}

.tk-store-info .__store .__info .__location,
.tk-store-info .__store .__info .__hours {
  margin: 0 0 20px 16%;
}

.tk-store-info .__store .__info .__description {
  margin: 0 0 20px 0;
}

@media only screen and (min-width: 600px) {
  .tk-store-info .__store .__images {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-store-info .__store .__images > * {
    width: calc(50% - 5px);
  }
  .tk-store-info .__store .__images .__img {
    margin: 20px 0;
  }
  .tk-store-info .__store .__images .__map > iframe {
    width: calc(50vw - 70px);
    height: calc(1.33 * (50vw - 70px) + 28px);
    max-width: 475px;
    max-height: 622px;
  }
  .tk-store-info .__store .__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .tk-store-info .__store .__info .__title {
    width: calc(20% - 5px);
  }
  .tk-store-info .__store .__info .__details {
    width: calc(30% - 5px);
  }
  .tk-store-info .__store .__info .__details .__location,
  .tk-store-info .__store .__info .__details .__hours {
    margin: 0 0 20px 0;
  }
  .tk-store-info .__store .__info .__description {
    width: calc(50% - 5px);
  }
}

.tk-table {
  height: auto;
  text-align: left;
  max-width: 100%;
  table-layout: fixed;
}

.tk-table .master {
  font-weight: normal;
}

.tk-table th, .tk-table td {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  color: #000;
  vertical-align: top;
  padding: 10px;
}

@media only screen and (min-width: 600px) {
  .tk-table th, .tk-table td {
    width: 150px;
  }
}

.tk-table.-tiger tr:nth-child(odd) {
  background-color: #EFEFEF;
}

.tk-table.-wide, .ais-infinite-hits--showmore button.tk-table {
  width: 100%;
}

.tk-top-bar {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  color: #0645AD !important;
  background-color: white;
  border-top: 1px solid #0645AD;
  border-bottom: 1px solid #0645AD;
}

.tk-top-bar a {
  color: #0645AD;
  text-decoration: underline;
}

.tk-ugly-header {
  text-align: center;
}

.tk-ugly-header .__h1 {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
  font-size: 100px;
  line-height: 118px;
  text-transform: uppercase;
}

.tk-ugly-header .__p, .tk-ugly-header .__link {
  font-family: Times, serif;
  font-size: 18px;
  line-height: 21px;
  color: #000;
}

.tk-ugly-header .__p {
  margin-bottom: 21px;
}

.tk-ugly-header .__cta-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 45px;
}

.tk-ugly-header .__cta-row > .__link {
  padding: 0 10px;
}

.tk-vendor-terms .__section {
  margin: 40px 0 40px 40px;
}

.tk-vendor-terms .__address {
  margin: 20px 0 20px 20px;
}

.tk-zendesk-chat-toggle {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  background: white;
  color: #0645AD;
  padding: 10px 0px;
  margin: 10px 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #666;
}

.tk-zendesk-chat-toggle .__icon {
  width: 16px;
  margin-right: 5px;
}

.tk-zendesk-chat-toggle .__title {
  padding-left: 5px;
}

.tk-zendesk-chat-toggle .__icon {
  display: none;
}

.tk-zendesk-chat-toggle:after {
  padding-left: 5px;
  content: ' (Offline)';
}

.tk-zendesk-chat-toggle.-online {
  color: #0645AD;
}

.tk-zendesk-chat-toggle.-online .__icon {
  display: inline;
}

.tk-zendesk-chat-toggle.-online:after {
  display: none;
}

/*
 * Styling for our Zendesk chat ~~* experience *~~
 */
.tk-zendesk-chat {
  position: fixed;
  bottom: 0;
  right: 0px;
  width: 330px;
  max-width: 50%;
  max-height: 100vh;
  z-index: 10;
  display: none;
}

.tk-zendesk-chat.-visible {
  display: block;
}

.tk-zendesk-chat .__widget,
.tk-zendesk-chat .__offline-widget,
.tk-zendesk-chat .__minimized {
  display: none;
}

.tk-zendesk-chat.-connected .__minimized {
  display: block;
}

.tk-zendesk-chat.-open.-offline .__offline-widget {
  display: block;
}

.tk-zendesk-chat.-open.-offline .__minimized {
  display: none;
}

.tk-zendesk-chat.-open.-online .__widget {
  display: block;
}

.tk-zendesk-chat.-open.-online .__minimized {
  display: none;
}

.tk-zendesk-chat .__title-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: white;
  padding: 10px 0 8px 0;
  cursor: pointer;
  text-align: center;
  border-bottom: 1px solid #000;
}

.tk-zendesk-chat .__title-bar button {
  border: none;
  background: transparent;
}

.tk-zendesk-chat .__title-bar button img {
  width: 12px;
  height: 24px;
}

.tk-zendesk-chat .__title-bar .__title {
  margin: 0 auto;
  padding-left: 54px;
}

.tk-zendesk-chat .__title-bar .__close-chat {
  margin-left: 0;
  margin-right: 20px;
}

.tk-zendesk-chat .__title-bar .__end-chat {
  margin-right: 10px;
}

.tk-zendesk-chat .__widget {
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  background: white;
}

.tk-zendesk-chat .__widget .__body {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  min-height: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.tk-zendesk-chat .__widget .__body .__chat-log {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
}

.tk-zendesk-chat .__widget .__status-bar {
  padding: 10px 0px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 1px;
  border-bottom: 1px solid #000;
  position: relative;
  text-align: center;
}

.tk-zendesk-chat .__widget .__status-bar .__agent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.tk-zendesk-chat .__widget .__status-bar .__agent .__avatar {
  width: 32px;
  height: 32px;
  -webkit-clip-path: circle(50% at center);
          clip-path: circle(50% at center);
}

.tk-zendesk-chat .__widget .__status-bar .__agent .__name {
  padding-left: 10px;
}

.tk-zendesk-chat .__widget .__chat-log {
  min-height: 100px;
  max-height: calc(100vh - 180px);
  overflow-y: scroll;
}

.tk-zendesk-chat .__widget .__input-form {
  border-top: 1px solid #000;
  padding: 10px;
  margin-top: auto;
  margin-bottom: 0;
}

.tk-zendesk-chat .__widget .__input-form .__input {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  color: #000;
  width: 100%;
  max-width: 100%;
  resize: none;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #000;
}

.tk-zendesk-chat .__widget .__input-form .__input:focus {
  outline: none !important;
}

.tk-zendesk-chat .__widget .__input-form .__input:focus::before {
  content: '> ';
}

.tk-zendesk-chat .__widget .__input-form .__submit {
  display: none;
}

.tk-zendesk-chat .__offline-widget {
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  background: white;
}

.tk-zendesk-chat .__offline-widget .__body {
  padding: 20px 20px 30px 20px;
}

.tk-zendesk-chat .__offline-widget .fieldset .field {
  margin: 10px 0;
}

.tk-zendesk-chat .__offline-widget .fieldset select {
  width: 100%;
}

.tk-zendesk-chat .__minimized {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  background: #FAFAFA;
  color: #0645AD;
  border: 1px solid #0645AD;
  padding: 10px 20px;
  cursor: pointer;
  float: right;
}

.tk-zendesk-chat .__minimized .__icon {
  width: 16px;
  display: inline;
}

.tk-zendesk-chat .__minimized .__title {
  padding-left: 5px;
}

.tk-zendesk-chat .__minimized.-active, .tk-zendesk-chat .__minimized.-active-unread {
  text-transform: uppercase;
  font-size: 13px;
}

.tk-zendesk-chat .__minimized.-active > div, .tk-zendesk-chat .__minimized.-active-unread > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tk-zendesk-chat .__minimized.-active .__chat-dot {
  font-size: 24px;
  margin-right: 10px;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0645AD;
  -webkit-box-shadow: 0 0 0 rgba(6, 69, 173, 0.4);
          box-shadow: 0 0 0 rgba(6, 69, 173, 0.4);
  -webkit-animation: zendesk-chat-pulse 2s infinite;
          animation: zendesk-chat-pulse 2s infinite;
}

.tk-zendesk-chat .__minimized.-active-unread {
  background: #0645AD;
  color: #FAFAFA;
}

.tk-zendesk-chat .__minimized.-active-unread .__unread-message-count {
  background: white;
  color: #0645AD;
  background: white;
  color: #0645AD;
  border-radius: 50%;
  display: block;
  height: 20px;
  min-width: 20px;
  text-align: center;
  font-size: 13px;
  line-height: 18px;
  padding-left: 1px;
  margin-right: 5px;
  letter-spacing: 0.4px;
}

.tk-zendesk-chat .__minimized, .tk-zendesk-chat .__widget {
  border-right: none;
  border-bottom: none;
}

@media only screen and (max-width: 599px) {
  .tk-zendesk-chat {
    width: 100%;
    max-width: 100%;
  }
  .tk-zendesk-chat .__minimized {
    margin-right: 10px;
    margin-bottom: 10px;
    border-right: 1px solid #0645AD;
    border-bottom: 1px solid #0645AD;
  }
}

@-webkit-keyframes zendesk-chat-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(6, 69, 173, 0.4);
  }
  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(6, 69, 173, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(6, 69, 173, 0);
  }
}

@keyframes zendesk-chat-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(6, 69, 173, 0.4);
            box-shadow: 0 0 0 0 rgba(6, 69, 173, 0.4);
  }
  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(6, 69, 173, 0);
            box-shadow: 0 0 0 10px rgba(6, 69, 173, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(6, 69, 173, 0);
            box-shadow: 0 0 0 0 rgba(6, 69, 173, 0);
  }
}

body.catalog-category-view .page-title,
body.catalogsearch-result-index .page-title {
  margin: 30px auto;
  text-align: center;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body.catalog-category-view .category-title,
body.catalogsearch-result-index .category-title {
  display: none;
}

body.catalog-category-view .toolbar,
body.catalogsearch-result-index .toolbar {
  background-color: transparent;
  border-top: none;
  border-bottom: none;
}

body.catalog-category-view .toolbar .sorter,
body.catalogsearch-result-index .toolbar .sorter {
  display: none;
}

body.catalog-category-view .toolbar .pager .amount,
body.catalog-category-view .toolbar .pager .limiter,
body.catalogsearch-result-index .toolbar .pager .amount,
body.catalogsearch-result-index .toolbar .pager .limiter {
  display: none;
}

body.catalog-category-view .toolbar .pager .pages .current, body.catalog-category-view .toolbar .pager .pages a,
body.catalogsearch-result-index .toolbar .pager .pages .current,
body.catalogsearch-result-index .toolbar .pager .pages a {
  font-size: inherit;
  line-height: inherit;
  height: inherit;
  width: inherit;
  padding: 4px 8px 0 8px;
  margin: 0 1px;
  border: none;
}

body.catalog-category-view .toolbar .pager .pages .current,
body.catalogsearch-result-index .toolbar .pager .pages .current {
  border-bottom: 1px solid #000;
}

body.catalog-category-view .toolbar .pager .pages a:hover,
body.catalogsearch-result-index .toolbar .pager .pages a:hover {
  text-decoration: none;
  border-bottom: 1px solid #0645AD;
}

body.catalog-category-view .toolbar .pager .pages a.i-previous:hover, body.catalog-category-view .toolbar .pager .pages a.i-next:hover,
body.catalogsearch-result-index .toolbar .pager .pages a.i-previous:hover,
body.catalogsearch-result-index .toolbar .pager .pages a.i-next:hover {
  border-bottom: none;
}

@media only screen and (max-width: 599px) {
  body.catalog-category-view .toolbar,
  body.catalogsearch-result-index .toolbar {
    padding-left: 0;
    padding-right: 0;
  }
  body.catalog-category-view .toolbar .pager .pages,
  body.catalogsearch-result-index .toolbar .pager .pages {
    float: none;
  }
  body.catalog-category-view .toolbar .pager .pages ol,
  body.catalogsearch-result-index .toolbar .pager .pages ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
  }
  body.catalog-category-view .toolbar .pager .pages ol a.next,
  body.catalogsearch-result-index .toolbar .pager .pages ol a.next {
    display: none;
  }
  body.catalog-category-view .toolbar .pager .pages ol .__back-to-top,
  body.catalogsearch-result-index .toolbar .pager .pages ol .__back-to-top {
    margin-left: auto;
    margin-right: 0;
  }
}

body.catalog-category-view .products-grid,
body.catalogsearch-result-index .products-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

body.catalog-category-view .products-grid .__product,
body.catalogsearch-result-index .products-grid .__product {
  -ms-flex-preferred-size: calc(33% - 28px);
      flex-basis: calc(33% - 28px);
  margin-bottom: 32px;
  margin-left: 30px;
  position: relative;
}

@media only screen and (min-width: 600px) and (max-width: 979px) {
  body.catalog-category-view .products-grid .__product,
  body.catalogsearch-result-index .products-grid .__product {
    -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px);
  }
}

@media only screen and (max-width: 599px) {
  body.catalog-category-view .products-grid .__product,
  body.catalogsearch-result-index .products-grid .__product {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-left: 0;
  }
}

body.catalog-category-view .products-grid .__product .actions,
body.catalogsearch-result-index .products-grid .__product .actions {
  display: none;
}

body.catalog-category-view.-hide-side-nav .tk-nav-and-products,
body.catalogsearch-result-index.-hide-side-nav .tk-nav-and-products {
  display: block;
}

body.catalog-category-view.-hide-side-nav .tk-nav-and-products > .__nav,
body.catalogsearch-result-index.-hide-side-nav .tk-nav-and-products > .__nav {
  display: none;
}

.checkout-cart-index .cart {
  max-width: 1024px;
}

.checkout-cart-index .cart-empty {
  text-align: center;
}

@media only screen and (min-width: 600px) {
  .checkout-cart-index .cart-empty {
    margin-bottom: 100px;
  }
}

.checkout-cart-index ul.messages {
  margin-top: 10px;
  margin-bottom: 10px;
}

.checkout-cart-index .cart-forms {
  float: left;
  padding-right: 0;
  padding-left: 0;
}

.checkout-cart-index .cart-forms .discount,
.checkout-cart-index .cart-forms .giftcard,
.checkout-cart-index .cart-forms .shipping {
  border: none;
  background: transparent;
  padding: 10px 0;
}

.checkout-cart-index .cart-forms .discount .buttons-set,
.checkout-cart-index .cart-forms .giftcard .buttons-set,
.checkout-cart-index .cart-forms .shipping .buttons-set {
  margin-top: 0;
  padding-top: 6px;
}

.checkout-cart-index .cart-forms .discount label,
.checkout-cart-index .cart-forms .giftcard label,
.checkout-cart-index .cart-forms .shipping label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  width: 100%;
  text-align: left;
  text-transform: capitalize;
  margin-right: 0;
}

.checkout-cart-index .cart-forms .discount input.input-text,
.checkout-cart-index .cart-forms .giftcard input.input-text,
.checkout-cart-index .cart-forms .shipping input.input-text {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
}

.checkout-cart-index .cart-forms .discount button,
.checkout-cart-index .cart-forms .giftcard button,
.checkout-cart-index .cart-forms .shipping button {
  min-width: unset;
  width: 87px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.checkout-cart-index .cart-forms .discount button.button2 span, .checkout-cart-index .cart-forms .discount button .button2 span span,
.checkout-cart-index .cart-forms .giftcard button.button2 span,
.checkout-cart-index .cart-forms .giftcard button .button2 span span,
.checkout-cart-index .cart-forms .shipping button.button2 span,
.checkout-cart-index .cart-forms .shipping button .button2 span span {
  color: #000;
  line-height: inherit;
  height: inherit;
  text-decoration: none;
}

.checkout-cart-index .cart-forms .discount button.button2 span:hover, .checkout-cart-index .cart-forms .discount button .button2 span span:hover,
.checkout-cart-index .cart-forms .giftcard button.button2 span:hover,
.checkout-cart-index .cart-forms .giftcard button .button2 span span:hover,
.checkout-cart-index .cart-forms .shipping button.button2 span:hover,
.checkout-cart-index .cart-forms .shipping button .button2 span span:hover {
  text-decoration: underline;
}

.checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form > .input-box {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-right: 10px;
}

.checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form > .input-box input.input-text {
  width: 100%;
  padding: 5px;
  margin-right: 0;
}

@media only screen and (max-width: 599px) {
  .checkout-cart-index .cart-forms #discount-coupon-form .discount .discount-form > .input-box {
    margin-right: 0;
  }
}

.checkout-cart-index .cart-forms .giftcard .check-gc-status {
  float: none;
  padding-top: 5px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.8px;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #0645AD !important;
  letter-spacing: 1px;
}

.checkout-cart-index .cart-forms .giftcard .check-gc-status:hover {
  text-decoration: underline;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper input.input-text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: inherit;
  max-width: inherit;
  padding: 5px;
  margin-top: 4px;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper #advice-required-entry-giftcard_code {
  display: none !important;
}

.checkout-cart-index .cart-forms .giftcard .field-wrapper .button-wrapper {
  display: block;
  margin-top: 4px;
  vertical-align: inherit;
}

@media only screen and (max-width: 599px) {
  .checkout-cart-index .cart-forms .giftcard label {
    display: block;
    text-align: right;
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.checkout-cart-index .shipping {
  display: none;
}

.checkout-cart-index .cart-totals-wrapper {
  padding-left: 0;
}

.checkout-cart-index .cart-totals {
  background: transparent;
  border: none;
  padding-right: 0;
  padding-left: 0;
}

.checkout-cart-index .cart-totals td {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.checkout-cart-index .cart-totals tfoot {
  display: none;
}

.checkout-cart-index .method-checkout-cart-methods-multishipping {
  display: none;
}

.checkout-cart-index .checkout-types {
  float: none;
}

.checkout-cart-index .checkout-types button {
  padding: 10px;
  width: 100%;
}

.checkout-cart-index .checkout-types li {
  margin-bottom: 0;
}

.checkout-cart-index .checkout-types .paypal-logo {
  display: none;
}

.checkout-onepage-index .col-main {
  margin: 0 auto;
  padding: 0;
  float: none;
  width: 100%;
}

.checkout-onepage-index .col-main .checkout-types {
  float: right;
  margin-top: -7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  /*
             * Hide the ugly "-or-", but show the Paypal button.
             * Selectors are all over the place. :(
             */
}

.checkout-onepage-index .col-main .checkout-types > li {
  margin: 0;
  padding: 0;
  width: inherit;
  display: none;
}

.checkout-onepage-index .col-main .checkout-types > li.method-checkout-cart-methods-paypal_express-bottom {
  display: none;
}

.checkout-onepage-index .col-main .checkout-types > li.method-checkout-cart-methods-onepage-bottom {
  display: block;
}

.checkout-onepage-index .col-main .checkout-types .paypal-logo {
  display: none;
}

.checkout-onepage-index .col-main .checkout-types .method-checkout-cart-methods-paypal_express-bottom {
  margin-right: 10px;
}

.checkout-onepage-index .col-main .checkout-types .method-checkout-cart-methods-paypal_express-bottom .paypal-logo {
  display: block;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index .col-main .checkout-types {
    float: none;
    margin-top: 15px;
    width: 100%;
  }
}

@media only screen and (max-width: 359px) {
  .checkout-onepage-index .col-main .checkout-types {
    display: block;
  }
  .checkout-onepage-index .col-main .checkout-types > li {
    margin-bottom: 5px;
  }
}

.checkout-onepage-index {
  /*
     * STEP 2
     */
  /*
     * STEP 3 SHIPPING INFORMATION
     */
  /*
     * STEP 4 SHIPPING METHOD INPUT
     */
  /*
     * STEP 4 PAYMENT
     */
  /*
     * STEP 5 CONFIRM
     */
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index .main-container {
    padding-top: 15px;
  }
}

.checkout-onepage-index .header-container .header {
  padding-bottom: 0;
}

.checkout-onepage-index .col-main {
  max-width: 1200px;
}

.checkout-onepage-index select {
  padding-top: 10px;
  padding-bottom: 10px;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index input[text],
  .checkout-onepage-index input[password] {
    width: 100%;
  }
  .checkout-onepage-index .main-container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.checkout-onepage-index .opc select {
  max-width: none;
}

.checkout-onepage-index .opc .section {
  opacity: 0.5;
}

.checkout-onepage-index .opc .section.allow {
  opacity: 1.0;
}

.checkout-onepage-index .opc .section .step-title .number {
  position: absolute;
  top: 20px;
  left: 0;
}

.checkout-onepage-index .opc .section .step-title h2 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  color: #666666;
  padding: 20px 0 20px 50px;
}

.checkout-onepage-index .opc .section .step {
  padding: 30px;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index .opc .section .step {
    padding: 30px 0 60px 0;
  }
}

.checkout-onepage-index .back-link {
  display: none;
}

.checkout-onepage-index .sp-methods label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
}

.checkout-onepage-index .sp-methods label:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.checkout-onepage-index .sp-methods label:hover {
  cursor: pointer;
}

.checkout-onepage-index #co-billing-form,
.checkout-onepage-index #co-shipping-form,
.checkout-onepage-index #co-shipping-method-form {
  padding-left: 15px;
  width: calc(50% - 15px);
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index #co-billing-form,
  .checkout-onepage-index #co-shipping-form,
  .checkout-onepage-index #co-shipping-method-form {
    width: 100%;
  }
}

.checkout-onepage-index #co-billing-form p,
.checkout-onepage-index #co-shipping-form p,
.checkout-onepage-index #co-shipping-method-form p {
  color: #DC2022;
}

.checkout-onepage-index .form-list .control label {
  background-color: transparent;
  display: block;
  width: 100%;
  cursor: pointer;
}

.checkout-onepage-index .buttons-set .required {
  display: none;
}

.checkout-onepage-index #opc-login h3 {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index #opc-login h3 {
    margin-bottom: 0;
  }
}

.checkout-onepage-index #opc-login .col2-set .col-1, .checkout-onepage-index #opc-login .col2-set .col-2 {
  padding: 0 15px;
}

.checkout-onepage-index #opc-login .col2-set .col-1 .form-list {
  margin-top: 48px;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index #opc-login .col2-set .col-1 .form-list {
    margin-top: 0;
    margin-bottom: 0;
  }
  .checkout-onepage-index #opc-login .col2-set .col-1 .form-list > .li {
    margin-bottom: 0;
  }
}

.checkout-onepage-index #opc-login .col2-set .col-2 {
  padding-bottom: 0;
}

.checkout-onepage-index #opc-login .col2-set .col-2 .input-box {
  min-height: 51px;
}

.checkout-onepage-index #opc-login .col2-set > div h4, .checkout-onepage-index #opc-login .col2-set > div p, .checkout-onepage-index #opc-login .col2-set > div .ul {
  display: none;
}

.checkout-onepage-index #opc-login .col2-set:nth-child(2) .col-1 {
  padding-top: 30px;
}

.checkout-onepage-index #opc-login .col2-set:nth-child(2) .col-2 {
  padding-top: 0;
}

.checkout-onepage-index #opc-login #login-form .input-text {
  width: 100%;
}

.checkout-onepage-index #opc-login #remember-me-box .link-tip {
  display: none;
}

.checkout-onepage-index #opc-login .buttons-set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  margin-top: 0;
}

.checkout-onepage-index #opc-login .buttons-set button {
  margin-right: 0;
}

.checkout-onepage-index #opc-billing form#co-billing-form {
  padding-left: 15px;
  width: calc(50% - 15px);
}

.checkout-onepage-index #opc-billing form#co-billing-form input[type=text], .checkout-onepage-index #opc-billing form#co-billing-form select {
  width: 100%;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index #opc-billing form#co-billing-form {
    width: 100%;
  }
}

.checkout-onepage-index #opc-billing .button {
  width: 100%;
}

.checkout-onepage-index #opc-shipping input[type=text], .checkout-onepage-index #opc-shipping select {
  width: 100%;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index #opc-shipping input[type=text], .checkout-onepage-index #opc-shipping select {
    width: 100%;
  }
}

.checkout-onepage-index #opc-shipping button {
  width: 100%;
}

.checkout-onepage-index #opc-shipping_method input[type=text], .checkout-onepage-index #opc-shipping_method select {
  width: 100%;
}

.checkout-onepage-index #opc-shipping_method #onepage-checkout-shipping-method-additional-load {
  display: none;
}

.checkout-onepage-index #opc-shipping_method .button {
  width: 100%;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dt {
  display: none;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li input.radio {
  float: none;
  margin-right: 0;
  margin-top: 0;
  margin-left: 0;
  margin-bottom: -3px;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li label {
  display: block;
  padding: 15px;
  -webkit-box-flex: 99;
      -ms-flex-positive: 99;
          flex-grow: 99;
  background-color: transparent;
}

.checkout-onepage-index #opc-shipping_method .sp-methods dd ul li label:hover {
  color: #0645AD !important;
}

.checkout-onepage-index #opc-payment > .step {
  max-width: 600px;
  padding-left: 45px;
  padding-right: 15px;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index #opc-payment > .step {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
  }
}

.checkout-onepage-index #opc-payment form#co-payment-form #dt_method_ccsave label {
  padding-left: 0;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list {
  padding-left: 0;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list input[type=text] {
  width: 100%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box:after {
  content: none;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box .v-fix {
  float: none;
  margin-right: 0;
  width: 48%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .form-list li:nth-child(4) .input-box .v-fix > select {
  margin-right: 0;
  width: 100%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods dt label {
  display: block;
  float: none;
  width: 100%;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods dt label img {
  float: none;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods dt label[for="p_method_paypal_express"] a {
  display: none;
}

.checkout-onepage-index #opc-payment form#co-payment-form .sp-methods #advice-validate-cc-exp-ccsave_expiration {
  max-width: none;
}

.checkout-onepage-index #opc-payment .button {
  width: 100%;
}

.checkout-onepage-index #opc-review #checkout-step-review {
  padding: 30px 0 30px 34px;
}

@media only screen and (max-width: 599px) {
  .checkout-onepage-index #opc-review #checkout-step-review {
    padding-left: 15px;
    padding-left: 15px;
  }
}

.checkout-onepage-index #opc-review #checkout-review-table thead {
  display: none;
}

.checkout-onepage-index #opc-review #checkout-review-table td {
  border: none;
}

.checkout-onepage-index #opc-review #checkout-review-table td.a-right {
  padding-right: 0;
}

.checkout-onepage-index #opc-review #checkout-review-table td .__product-details {
  max-width: 500px;
}

.checkout-onepage-index #opc-review #checkout-review-table td .__product-details .__product-image img {
  width: 30%;
  max-width: 400px;
  float: left;
  padding-right: 16px;
}

.checkout-onepage-index #opc-review #checkout-review-table td .__product-details .__final-sale {
  margin-top: 10px;
}

.checkout-onepage-index #opc-review #review-buttons-container .btn-checkout {
  width: 100%;
  float: none;
}

.checkout-onepage-index #opc-review .buttons-set .button {
  float: right;
  margin-right: 0;
}

.checkout-onepage-index #opc-review .f-left {
  display: none;
}

body.cms-about-style-guide .main-container {
  padding-left: 0;
  padding-right: 0;
}

body.cms-about-style-guide .col-main > * {
  margin: 20px 0;
}

body.cms-about-style-guide .__reference,
body.cms-about-style-guide .__examples {
  padding: 0px 30px;
  max-width: 800px;
}

body.cms-about-style-guide .__examples.-inputs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

body.cms-about-style-guide .__examples.-inputs > * {
  width: calc(33% - 5px);
}

body.cms-about-style-guide .__responsive > * {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background-color: #0645AD;
  color: white;
  margin: 10px 0;
  padding: 10px 30px;
}

@media only screen and (max-width: 359px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: '< xsmall';
  }
}

@media only screen and (min-width: 359px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'xsmall';
  }
}

@media only screen and (min-width: 599px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'small';
  }
}

@media only screen and (min-width: 770px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'medium';
  }
}

@media only screen and (min-width: 979px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'large';
  }
}

@media only screen and (min-width: 1199px) {
  body.cms-about-style-guide .__responsive .__current .__bp-name:after {
    content: 'xlarge';
  }
}

body.cms-about-style-guide .__responsive .__xsmall, body.cms-about-style-guide .__responsive .__small, body.cms-about-style-guide .__responsive .__medium, body.cms-about-style-guide .__responsive .__large, body.cms-about-style-guide .__responsive .__xlarge {
  display: none;
}

body.cms-about-style-guide .__responsive .__xsmall {
  width: 359px;
}

body.cms-about-style-guide .__responsive .__small {
  width: 599px;
}

body.cms-about-style-guide .__responsive .__medium {
  width: 770px;
}

body.cms-about-style-guide .__responsive .__large {
  width: 979px;
}

@media only screen and (min-width: 979px) and (max-width: 1198px) {
  body.cms-about-style-guide .__responsive .__large {
    background: red;
  }
}

@media only screen and (max-width: 979px) {
  body.cms-about-style-guide .__responsive .__large {
    display: none;
  }
}

body.cms-about-style-guide .__responsive .__xlarge {
  width: 100%;
}

@media only screen and (min-width: 1199px) {
  body.cms-about-style-guide .__responsive .__xlarge {
    background: red;
  }
}

@media only screen and (max-width: 1199px) {
  body.cms-about-style-guide .__responsive .__xlarge {
    display: none;
  }
}

.cms-home .main-container,
.cms-index-index .main-container {
  padding: 0;
}

.cms-home .algolia-instant-results-wrapper .algolia-instant-selector-results,
.cms-index-index .algolia-instant-results-wrapper .algolia-instant-selector-results {
  padding: 20px;
}

body.cms-no-route .main-container .__header {
  text-align: center;
  margin: 40px 0 5px 0;
}

body.cms-no-route .main-container .__search {
  text-align: center;
  margin: 10px auto;
}

body.cms-no-route .main-container .__search .__prompt {
  letter-spacing: 1px;
}

body.cms-no-route .main-container .__search .__input {
  border: 1px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 0 10px;
  margin: 10px 0;
}

body.cms-no-route .main-container .__search .__input input.input-text {
  border: none;
}

body.cms-no-route .main-container .__suggestions {
  text-align: left;
  margin: 30px auto;
}

@media only screen and (max-width: 599px) {
  body.cms-no-route .main-container .__suggestions {
    text-align: center;
  }
  body.cms-no-route .main-container .__suggestions > li > h2 {
    margin-top: 20px;
  }
}

@media only screen and (min-width: 600px) {
  body.cms-no-route .main-container .__suggestions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  body.cms-no-route .main-container .__suggestions > li > h2 {
    margin-bottom: 20px;
  }
}

body.cms-no-route .main-container .__contact {
  text-align: center;
  margin: 20px auto 40px auto;
}

body.cms-no-route .main-container .__search, body.cms-no-route .main-container .__suggestions {
  max-width: 500px;
}

.cms-page-view .std p {
  color: unset;
  font-size: unset;
  line-height: unset;
  font-family: unset;
  font-style: unset;
}

@media only screen and (min-width: 600px) {
  .contacts-index-index .contacts-index-index__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contacts-index-index .__info {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    padding-right: 20px;
  }
  .contacts-index-index .__info h1 {
    margin: 20px 0;
  }
  .contacts-index-index .__info p {
    margin: 10px 0;
  }
  .contacts-index-index .__form {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    padding-left: 20px;
  }
}

.contacts-index-index .contacts-index-index__container {
  max-width: 960px;
  margin: 0 auto;
}

.contacts-index-index .contacts-index-index__container h1 {
  margin: 20px 0;
}

.contacts-index-index .contacts-index-index__container p {
  margin: 10px 0;
}

.contacts-index-index .contacts-index-index__container .field {
  margin: 15px 0;
}

.contacts-index-index .__info, .contacts-index-index .__form {
  margin-bottom: 40px;
}

.contacts-index-index .__form input, .contacts-index-index .__form textarea, .contacts-index-index .__form select {
  width: 100%;
  max-width: unset;
}

.contacts-index-index .__form input.validation-failed, .contacts-index-index .__form textarea.validation-failed, .contacts-index-index .__form select.validation-failed {
  border: 1px solid #DC2022;
}

@media only screen and (max-width: 599px) {
  body.customer-account-create input[type=text],
  body.customer-account-create input[type=email],
  body.customer-account-create input[type=password],
  body.customer-account-create .buttons-set,
  body.customer-account-create .fieldset,
  body.customer-account-login input[type=text],
  body.customer-account-login input[type=email],
  body.customer-account-login input[type=password],
  body.customer-account-login .buttons-set,
  body.customer-account-login .fieldset,
  body.customer-account-forgotpassword input[type=text],
  body.customer-account-forgotpassword input[type=email],
  body.customer-account-forgotpassword input[type=password],
  body.customer-account-forgotpassword .buttons-set,
  body.customer-account-forgotpassword .fieldset {
    width: 100%;
    max-width: 100%;
  }
}

body.customer-account-create .form-instructions,
body.customer-account-login .form-instructions,
body.customer-account-forgotpassword .form-instructions {
  display: none;
}

body.customer-account-create .fields.-mailing-list .field,
body.customer-account-login .fields.-mailing-list .field,
body.customer-account-forgotpassword .fields.-mailing-list .field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 365px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

body.customer-account-create .fields.-mailing-list .field > p,
body.customer-account-login .fields.-mailing-list .field > p,
body.customer-account-forgotpassword .fields.-mailing-list .field > p {
  margin-bottom: 10px;
}

@media only screen and (max-width: 599px) {
  body.customer-account-create .fields.-mailing-list .field,
  body.customer-account-login .fields.-mailing-list .field,
  body.customer-account-forgotpassword .fields.-mailing-list .field {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
  }
  body.customer-account-create .fields.-mailing-list .field .__prompt,
  body.customer-account-login .fields.-mailing-list .field .__prompt,
  body.customer-account-forgotpassword .fields.-mailing-list .field .__prompt {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  body.customer-account-create .fields.-mailing-list .field .__women, body.customer-account-create .fields.-mailing-list .field .__men,
  body.customer-account-login .fields.-mailing-list .field .__women,
  body.customer-account-login .fields.-mailing-list .field .__men,
  body.customer-account-forgotpassword .fields.-mailing-list .field .__women,
  body.customer-account-forgotpassword .fields.-mailing-list .field .__men {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    text-align: center;
  }
}

@media only screen and (max-width: 979px) {
  .header-container .header {
    padding-bottom: 64px;
  }
  .header-container .header.-withNotificationBar {
    padding-top: 74px;
    padding-bottom: 0;
  }
  .header-container .header .tk-nav-mobile {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0px;
    background: #FAFAFA;
    z-index: 2;
  }
}

.tk-about > p {
  margin: 20px 0;
  max-width: 800px;
}

.tk-about.--affiliates > p, .tk-about.--affiliates ol {
  margin: 20px 0 40px 0;
}

.tk-about .tk-h1 {
  margin: 30px 0 10px 0;
}

.tk-about .tk-l2 {
  margin: 10px 0;
}

.tk-about .tk-p1 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.tk-about ul {
  list-style-type: disc;
  padding-left: 20px;
}

.tk-about ol {
  list-style-type: decimal;
  padding-left: 20px;
}

.tk-about a:hover {
  cursor: pointer;
}

@media only screen and (min-width: 360px) {
  .tk-about.--two-col .__info {
    float: left;
    max-width: 450px;
  }
  .tk-about.--two-col .__image {
    float: right;
    width: calc(50% - 10px);
  }
}

.algolia-instant-results-wrapper {
  min-height: 300px;
}

.ais-header {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 15px 0;
}

.ais-current-refined-values {
  margin-bottom: 15px;
}

.ais-current-refined-values--header {
  margin-top: -5px;
}

.ais-current-refined-values .current-refinement-label {
  display: none;
}

.ais-current-refined-values .current-refinement-name::after {
  content: 'x';
  color: #DC2022;
  padding-left: 10px;
}

.ais-hierarchical-menu--count {
  visibility: hidden;
}

.ais-hierarchical-menu--item__active > div > .ais-hierearchical-link-wrapper > a {
  color: #0645AD;
  text-decoration: underline;
}

.ais-hierarchical-menu--item__active > div > .ais-hierearchical-link-wrapper > a:hover {
  color: #0645AD;
  text-decoration: underline;
}

.ais-hierarchical-menu--item__active .ais-hierarchical-menu--list {
  padding-left: 20px;
}

.ais-hierarchical-menu.-hide-first-level .ais-hierarchical-menu--list__lvl0 > .ais-hierarchical-menu--item > div > .ais-hierearchical-link-wrapper,
.-hide-first-level .ais-hierarchical-menu .ais-hierarchical-menu--list__lvl0 > .ais-hierarchical-menu--item > div > .ais-hierearchical-link-wrapper {
  display: none;
}

.ais-hierarchical-menu.-hide-first-level .ais-hierarchical-menu--list__lvl0 > .ais-hierarchical-menu--item > .ais-hierarchical-menu--list,
.-hide-first-level .ais-hierarchical-menu .ais-hierarchical-menu--list__lvl0 > .ais-hierarchical-menu--item > .ais-hierarchical-menu--list {
  padding-left: 0;
}

.ais-infinite-hits {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.ais-infinite-hits__empty {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #000;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #666666;
}

@media only screen and (min-width: 600px) {
  .ais-infinite-hits__empty {
    margin-top: 40px;
    margin-left: -20%;
  }
}

.ais-infinite-hits--item {
  -ms-flex-preferred-size: calc(33% - 28px);
      flex-basis: calc(33% - 28px);
  margin-bottom: 32px;
  position: relative;
}

@media only screen and (min-width: 600px) and (max-width: 979px) {
  .ais-infinite-hits--item {
    -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px);
  }
}

@media only screen and (max-width: 599px) {
  .ais-infinite-hits--item {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-left: 0;
  }
}

.ais-infinite-hits--showmore button:focus {
  outline: none;
}

.ais-infinite-hits--showmore button[disabled] {
  display: none;
}

@media only screen and (min-width: 600px) {
  .ais-hierarchical-menu--body {
    overflow-y: scroll;
    max-height: 17em;
    margin-right: 30px;
  }
}

.ais-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  width: 100%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #9B9B9B;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.ais-pagination:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.ais-pagination--item {
  padding: 4px 8px 0 8px;
  display: block;
  margin: 0 1px;
}

.ais-pagination--item__next, .ais-pagination--item__previous {
  font-size: 9px;
}

.ais-pagination--item__active {
  border-bottom: 1px solid #000;
}

.ais-pagination--item__disabled {
  display: none;
}

@media only screen and (min-width: 600px) {
  .ais-refinement-list--body {
    overflow-y: scroll;
    max-height: 17em;
    margin-right: 30px;
  }
}

.ais-refinement-list--checkbox {
  display: none;
}

.ais-refinement-list--count {
  display: none;
}

.ais-refinement-list form {
  display: none;
}

.ais-refinement-list--item__active .ais-refinement-list--label {
  color: #0645AD;
  text-decoration: underline;
}

.ais-refinement-list--item__active .ais-refinement-list--label:hover {
  color: #0645AD;
  text-decoration: underline;
}

.ais-refinement-list--label {
  font-family: akzidenz-grotesk, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #666666;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
  cursor: pointer;
}

.ais-refinement-list--label:hover {
  color: #000 !important;
  text-decoration: none !important;
}

.ais-search-box {
  background: transparent url("https://totokaelo.com/skin/frontend/totokaelo/default/images/nav/search_inverted.svg") no-repeat left center;
  background-size: 16px;
  padding-left: 12px;
}

.ais-search-box input {
  border: none;
  background: transparent;
  width: inherit;
}

.ais-search-box input:focus {
  outline: none;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJfZm9udHMuc2NzcyIsIm1peGluL190eXBvZ3JhcGh5LnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwiY29yZS9fcmVzZXQuc2NzcyIsImZ1bmN0aW9uL19ibGFjay5zY3NzIiwiY29yZS9fY29tbW9uLnNjc3MiLCJfdmFyLnNjc3MiLCJtaXhpbi9fY2xlYXJmaXguc2NzcyIsIm1peGluL19icmVha3BvaW50LnNjc3MiLCJtaXhpbi9fbm90LXNlbGVjdGFibGUuc2NzcyIsIm1peGluL190b2dnbGUtY29udGVudC5zY3NzIiwibWl4aW4vX3RyaWFuZ2xlLnNjc3MiLCJtaXhpbi9faW1hZ2UtcmVwbGFjZW1lbnQuc2NzcyIsIm1peGluL19pZi1yZXNvbHV0aW9uLnNjc3MiLCJjb3JlL19mb3JtLnNjc3MiLCJjb3JlL190YWJsZS5zY3NzIiwiY29yZS9hMTF5LnNjc3MiLCJsYXlvdXQvX2dsb2JhbC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9faGVhZGVyLW5hdi5zY3NzIiwibWl4aW4vX21lbnUuc2NzcyIsImxheW91dC9faGVhZGVyLXNlYXJjaC5zY3NzIiwibGF5b3V0L19oZWFkZXItYWNjb3VudC5zY3NzIiwibGF5b3V0L19oZWFkZXItY2FydC5zY3NzIiwibW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyIsIm1vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MiLCJtaXhpbi9fbG9hZGluZy1vdmVybGF5LnNjc3MiLCJtb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzIiwibW9kdWxlL19jYXRhbG9nLWNvbXBhcmUuc2NzcyIsIm1vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzIiwibW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MiLCJtb2R1bGUvX2NoZWNrb3V0LXN1Y2Nlc3Muc2NzcyIsIm1vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyIsIm1vZHVsZS9fY3VzdG9tZXIuc2NzcyIsIm1vZHVsZS9fY3VzdG9tZXItcGF5bWVudC5zY3NzIiwibW9kdWxlL19jb250YWN0cy5zY3NzIiwibW9kdWxlL19wYXlwYWwuc2NzcyIsIm1vZHVsZS9fcmV2aWV3LnNjc3MiLCJtb2R1bGUvX3NsaWRlc2hvdy5zY3NzIiwibW9kdWxlL193aXNobGlzdC5zY3NzIiwibW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MiLCJtb2R1bGUvX3NlYXJjaC5zY3NzIiwibW9kdWxlL19hY2NvdW50LXJldmlld3Muc2NzcyIsIm1vZHVsZS9fcHJpY2luZ19jb25kaXRpb25zLnNjc3MiLCJtb2R1bGUvX2Nvb2tpZXMuc2NzcyIsIm1vZHVsZS9fdGFncy5zY3NzIiwibW9kdWxlL19jYXB0Y2hhLnNjc3MiLCJtb2R1bGUvX2FjY291bnQtb3JkZXJzLnNjc3MiLCJtb2R1bGUvX3JlY3VycmluZy1wcm9maWxlcy5zY3NzIiwibW9kdWxlL19iaWxsaW5nLWFncmVlbWVudHMuc2NzcyIsIm1vZHVsZS9fcG9wdWxhci10ZXJtcy5zY3NzIiwibW9kdWxlL193aWRnZXQuc2NzcyIsIm1vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzIiwib3ZlcnJpZGUvX3BsdWdpbi5zY3NzIiwiX2NvcmUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiX3RrLWNvcmUuc2NzcyIsIl90a3Uuc2NzcyIsInRrL190ay1hZmZpbGlhdGVzLnNjc3MiLCJ0ay9fdGstYnV0dG9uLnNjc3MiLCJ0ay9fdGstY2FyZWVycy5zY3NzIiwidGsvX3RrLWNhcnQtc3VtbWFyeS5zY3NzIiwidGsvX3RrLWNhcnQtdGl0bGUuc2NzcyIsInRrL190ay1jYXRhbG9nLW5hdi5zY3NzIiwidGsvX3RrLWNhdGVnb3J5LXRpdGxlLnNjc3MiLCJ0ay9fdGstY2hhdC1sb2cuc2NzcyIsInRrL190ay1jaGVja291dC1oZWFkZXIuc2NzcyIsInRrL190ay1jaGVja291dC5zY3NzIiwidGsvX3RrLWRlc2lnbmVycy1saXN0LnNjc3MiLCJ0ay9fdGstZWRpdG9yaWFsLWNyZWRpdC5zY3NzIiwidGsvX3RrLWVkaXRvcmlhbC1pbWFnZS5zY3NzIiwidGsvX3RrLWVkaXRvcmlhbC5zY3NzIiwidGsvX3RrLWVkaXRvcmlhbHMtbGlzdC5zY3NzIiwidGsvX3RrLWZpbmFsLXNhbGUuc2NzcyIsInRrL190ay1mbGV4LXJvdy1ndWlkZS5zY3NzIiwidGsvX3RrLWZsZXgtcm93LnNjc3MiLCJ0ay9fdGstZm9vdGVyLnNjc3MiLCJ0ay9fdGstZnJvbnQtcGFnZS0tMTEtMjAuc2NzcyIsInRrL190ay1mcm9udC1wYWdlLS0xMi0wNS5zY3NzIiwidGsvX3RrLWZyb250LXBhZ2UtLTIwMTgtMDItMTMuc2NzcyIsInRrL190ay1mcm9udC1wYWdlLS05LTI4LnNjc3MiLCJ0ay9fdGstZnJvbnQtcGFnZS5zY3NzIiwidGsvX3RrLWdpZnQtZ3VpZGUtMjAxOC5zY3NzIiwidGsvX3RrLWhlbHAuc2NzcyIsInRrL190ay1ob2xpZGF5LXNoaXBwaW5nLnNjc3MiLCJ0ay9fdGstaG92ZXItY2VsbC5zY3NzIiwidGsvX3RrLWltYWdlLXpvb20uc2NzcyIsInRrL190ay1saXN0LnNjc3MiLCJ0ay9fdGstbWFpbGluZy1saXN0LXN1YnNjcmliZS5zY3NzIiwidGsvX3RrLW1vZGFsLWNvbnRhaW5lci5zY3NzIiwidGsvX3RrLW11bHRpc2VsZWN0LXJlZmluZW1lbnQtbGlzdC5zY3NzIiwidGsvX3RrLW5hdi1hbmQtcHJvZHVjdHMuc2NzcyIsInRrL190ay1uYXYtY2F0YWxvZy5zY3NzIiwidGsvX3RrLW5hdi1kZXNrdG9wLnNjc3MiLCJ0ay9fdGstbmF2LWRyYXdlci5zY3NzIiwidGsvX3RrLW5hdi1oZWFkZXIuc2NzcyIsInRrL190ay1uYXYtbW9iaWxlLnNjc3MiLCJ0ay9fdGstbmF2LXNlYXJjaC5zY3NzIiwidGsvX3RrLW9wdGlvbi1saXN0LnNjc3MiLCJ0ay9fdGstcG9wdXAtbG9naW4uc2NzcyIsInRrL190ay1wcm9kdWN0LWJhZGdlLnNjc3MiLCJ0ay9fdGstcHJvZHVjdC1icm93c2Uuc2NzcyIsIm1peGluL19idXR0b24tcmVzZXQuc2NzcyIsInRrL190ay1wcm9kdWN0LWZlZWQuc2NzcyIsInRrL190ay1wcm9kdWN0LWltYWdlcy5zY3NzIiwidGsvX3RrLXByb2R1Y3QtbGluay5zY3NzIiwidGsvX3RrLXByb2R1Y3QtbGlzdC1pdGVtLnNjc3MiLCJ0ay9fdGstcHJvZHVjdC1wcmljZS5zY3NzIiwidGsvX3RrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cy5zY3NzIiwidGsvX3RrLXByb2R1Y3Qtdmlldy5zY3NzIiwidGsvX3RrLXNpemUtZ3VpZGUuc2NzcyIsInRrL190ay1zb2NpYWwtbG9naW4tY29udGFpbmVyLnNjc3MiLCJ0ay9fdGstc29jaWFsLWxvZ2luLnNjc3MiLCJ0ay9fdGstc29jaWFsLXByZWx1ZGUuc2NzcyIsInRrL190ay1zdG9yZS1pbmZvLnNjc3MiLCJ0ay9fdGstdGFibGUuc2NzcyIsInRrL190ay10b3AtYmFyLnNjc3MiLCJ0ay9fdGstdWdseS1oZWFkZXIuc2NzcyIsInRrL190ay12ZW5kb3ItdGVybXMuc2NzcyIsInRrL190ay16ZW5kZXNrLWNoYXQtdG9nZ2xlLnNjc3MiLCJ0ay9fdGstemVuZGVzay1jaGF0LnNjc3MiLCJjb250ZW50L19jYXRhbG9nLWNhdGVnb3J5LXZpZXcuc2NzcyIsImNvbnRlbnQvX2NoZWNrb3V0LWNhcnQtaW5kZXguc2NzcyIsImNvbnRlbnQvX2NoZWNrb3V0LW9uZXBhZ2UtaW5kZXguc2NzcyIsImNvbnRlbnQvX2Ntcy1hYm91dC1zdHlsZS1ndWlkZS5zY3NzIiwiY29udGVudC9fY21zLWhvbWUuc2NzcyIsImNvbnRlbnQvX2Ntcy1uby1yb3V0ZS5zY3NzIiwiY29udGVudC9fY21zLXBhZ2Utdmlldy5zY3NzIiwiY29udGVudC9fY29udGFjdHMtaW5kZXgtaW5kZXguc2NzcyIsImNvbnRlbnQvX2N1c3RvbWVyLWFjY291bnQtbG9naW4uc2NzcyIsImNvbnRlbnQvX2hlYWRlci5zY3NzIiwiY29udGVudC9fdGstYWJvdXQuc2NzcyIsIl9hbGdvbGlhLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWhCO0VBQ0UsaUNBQWdDO0VBQ2hDLDJDQUEwQztDREU1Qzs7QUNDQTtFQUNFLGdDQUErQjtFQUMvQiwwQ0FBeUM7Q0RFM0M7O0FFQ0Q7OztxQ0FHcUM7QUFvQnJDOztxQ0FFcUM7QUFFckM7O0dBRUc7QUFVSDs7R0FFRztBQVNIOztHQUVHO0FBVUg7O0dBRUc7QUFTSDs7R0FFRztBQVNIOztHQUVHO0FBUUg7O3FDQUVxQztBQUVyQzs7R0FFRztBQVVIOztHQUVHO0FBV0g7O0dBRUc7QUFjSDs7R0FFRztBQWFIOztHQUVHO0FBWUg7O3FDQUVxQztBQUVyQzs7R0FFRztBQVNIOztHQUVHO0FBU0g7O3FDQUVxQztBQUVyQzs7R0FFRztBQVdIOztHQUVHO0FBV0g7O0dBRUc7QUFpQkg7O0dBRUc7QUFlSDs7R0FFRztBQVVIOztxQ0FFcUM7QUFFckM7O0dBRUc7QUFTSDs7R0FFRztBQWpTSDs7O3FDQUdxQztBQW9CckM7O3FDQUVxQztBQUVyQzs7R0FFRztBQVVIOztHQUVHO0FBU0g7O0dBRUc7QUFVSDs7R0FFRztBQVNIOztHQUVHO0FBU0g7O0dBRUc7QUFRSDs7cUNBRXFDO0FBRXJDOztHQUVHO0FBVUg7O0dBRUc7QUFXSDs7R0FFRztBQWNIOztHQUVHO0FBYUg7O0dBRUc7QUFZSDs7cUNBRXFDO0FBRXJDOztHQUVHO0FBU0g7O0dBRUc7QUFTSDs7cUNBRXFDO0FBRXJDOztHQUVHO0FBV0g7O0dBRUc7QUFXSDs7R0FFRztBQWlCSDs7R0FFRztBQWVIOztHQUVHO0FBVUg7O3FDQUVxQztBQUVyQzs7R0FFRztBQVNIOztHQUVHO0FBalNIOzs7cUNBR3FDO0FBb0JyQzs7cUNBRXFDO0FBRXJDOztHQUVHO0FBVUg7O0dBRUc7QUFTSDs7R0FFRztBQVVIOztHQUVHO0FBU0g7O0dBRUc7QUFTSDs7R0FFRztBQVFIOztxQ0FFcUM7QUFFckM7O0dBRUc7QUFVSDs7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QXpCLG1CQUF5QjtVQUF6QiwwQkFBeUI7RW5Jekh2QixpREFBZ0Q7RUFDaEQsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQXVOaEIsZUE5TmE7RUErTmIsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsc0JBQXFCO0VBQ3JCLDBCQUF5QjtDbUkvRTVCOztBbklpRkc7RUFDSSx1QkFBMkI7RUFDM0IsaUNBQWdDO0NBQ25DOztBbUlyR0g7RUFDSSx1QkFBc0I7RUFDdEIsZUFBYztFQUNkLGNBQWE7Q0FhaEI7O0FBWEc7RUFDRSxlQUFjO0NBQ2Y7O0FBRUQ7RUFDSSw4Qm5JOUlLO0NtSStJUjs7QUFFRDtFQUNJLGNBQWE7Q0FDaEI7O0E1SDNIQztFNEhnSUo7SUFFUSxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtHQUV6QjtDckk2c2pCSjs7QXFJM3NqQkc7RUFDSSxjQUFhO0NBQ2hCOztBQUVEO0VBQ0ksY0FBYTtDQUNoQjs7QUFmTDtFQWtCUSxjQUFhO0NBQ2hCOztBQUVEO0VBckxBLGVuSVVhO0VtSVRiLDJCQUEwQjtDQXNMekI7O0FBcExEO0VBQ0ksZW5JTVM7RW1JTFQsMkJBQTBCO0NBQzdCOztBQW9MRDtFbkkxS0EsaURBQWdEO0VBQ2hELG1CQUFrQjtFQUNsQixpQkFBZ0I7RUEwT2hCLGVBaFBtQjtFQWlQbkIsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLHNCQUFxQjtFbUlwRWpCLGdCQUFlO0NBQ2xCOztBbklxRUQ7RUFDSSx1QkFBMkI7RUFDM0IsaUNBQWdDO0NBQ25DOztBbUlyRUw7RUFDSSx1RkFBc0Y7RUFDdEYsc0JBQXFCO0VBQ3JCLG1CQUFrQjtDQVdyQjs7QUFkRDtFQU1RLGFBQVk7RUFDWix3QkFBdUI7RUFDdkIsZUFBYztDQUtqQjs7QUFiTDtFQVdZLGNBQWE7Q0FDaEIiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0x5b25EaXNwbGF5LUxpZ2h0JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9MeW9uRGlzcGxheS1MaWdodC5vdGZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0x5b25UZXh0LVJlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0x5b25UZXh0LVJlZ3VsYXIub3RmXCIpO1xufVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDT1JFIFRPVE9LQUVMTyBTVFlMRVNcbiAqIFZBUklBQkxFUyBBTkQgTUlYSU5TXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBIRUFERVJTXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKlxuICogdGstaDEgLSB1c2VkIGZvciBiaWcgcGFnZSBoZWFkZXJzXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHVzZWQgYXMgc3ViaGVhZGVyXG4gKi9cbi8qXG4gKiB0ay1oMyAtIHVzZWQgYXMgc3ViaGVhZGVyXG4gKi9cbi8qXG4gKiB0ay1oNCAtIHF1YXRlcm5hcnkgaGVhZGVyXG4gKi9cbi8qXG4gKiB0ay1oNSAtIHVzZWQgYXMgc3ViaGVhZGVyXG4gKi9cbi8qXG4gKiB0ay1oLXRpbWVzLCB1c2VkIGZvciBcImJyYW5kIGhlYWRlclwiXG4gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIExJTktTXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKlxuICogdGstbDEgLSBwcmltYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWwyIC0gc2Vjb25kYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWwzIC0gdGVydGlhcnkgbGlua1xuICovXG4vKlxuICogdGstbDQgLSBxdWF0ZXJuYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWgyIC0gcXVpbmFyeSBsaW5rXG4gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEJPRFkgVEVYVFxuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLXAxIC0gcHJpbWFyeSBib2R5IHRleHRcbiAqL1xuLypcbiAqIHRrLXAyIC0gc2Vjb25kYXJ5IGJvZHkgdGV4dFxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ09SRSBUT1RPS0FFTE8gU1RZTEVTXG4gKiBWQVJJQUJMRVMgQU5EIE1JWElOU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWgxIC0gdXNlZCBmb3IgYmlnIHBhZ2UgaGVhZGVyc1xuICovXG4vKlxuICogdGstaDIgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDMgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaDQgLSBxdWF0ZXJuYXJ5IGhlYWRlclxuICovXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG4vKlxuICogdGstaC10aW1lcywgdXNlZCBmb3IgXCJicmFuZCBoZWFkZXJcIlxuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBMSU5LU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLWwxIC0gcHJpbWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sMyAtIHRlcnRpYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1oMiAtIHF1aW5hcnkgbGlua1xuICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTElOS1NcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1sMSAtIHByaW1hcnkgbGlua1xuICovXG4vKlxuICogdGstbDIgLSBzZWNvbmRhcnkgbGlua1xuICovXG4vKlxuICogdGstbDMgLSB0ZXJ0aWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sNCAtIHF1YXRlcm5hcnkgbGlua1xuICovXG4vKlxuICogdGstaDIgLSBxdWluYXJ5IGxpbmtcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQk9EWSBURVhUXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKlxuICogdGstcDEgLSBwcmltYXJ5IGJvZHkgdGV4dFxuICovXG4vKlxuICogdGstcDIgLSBzZWNvbmRhcnkgYm9keSB0ZXh0XG4gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENPUkUgVE9UT0tBRUxPIFNUWUxFU1xuICogVkFSSUFCTEVTIEFORCBNSVhJTlNcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEhFQURFUlNcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1oMSAtIHVzZWQgZm9yIGJpZyBwYWdlIGhlYWRlcnNcbiAqL1xuLypcbiAqIHRrLWgyIC0gdXNlZCBhcyBzdWJoZWFkZXJcbiAqL1xuLypcbiAqIHRrLWgzIC0gdXNlZCBhcyBzdWJoZWFkZXJcbiAqL1xuLypcbiAqIHRrLWg0IC0gcXVhdGVybmFyeSBoZWFkZXJcbiAqL1xuLypcbiAqIHRrLWg1IC0gdXNlZCBhcyBzdWJoZWFkZXJcbiAqL1xuLypcbiAqIHRrLWgtdGltZXMsIHVzZWQgZm9yIFwiYnJhbmQgaGVhZGVyXCJcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogTElOS1NcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qXG4gKiB0ay1sMSAtIHByaW1hcnkgbGlua1xuICovXG4vKlxuICogdGstbDIgLSBzZWNvbmRhcnkgbGlua1xuICovXG4vKlxuICogdGstbDMgLSB0ZXJ0aWFyeSBsaW5rXG4gKi9cbi8qXG4gKiB0ay1sNCAtIHF1YXRlcm5hcnkgbGlua1xuICovXG4vKlxuICogdGstaDIgLSBxdWluYXJ5IGxpbmtcbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQk9EWSBURVhUXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKlxuICogdGstcDEgLSBwcmltYXJ5IGJvZHkgdGV4dFxuICovXG4vKlxuICogdGstcDIgLSBzZWNvbmRhcnkgYm9keSB0ZXh0XG4gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIExJTktTXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKlxuICogdGstbDEgLSBwcmltYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWwyIC0gc2Vjb25kYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWwzIC0gdGVydGlhcnkgbGlua1xuICovXG4vKlxuICogdGstbDQgLSBxdWF0ZXJuYXJ5IGxpbmtcbiAqL1xuLypcbiAqIHRrLWgyIC0gcXVpbmFyeSBsaW5rXG4gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEJPRFkgVEVYVFxuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLypcbiAqIHRrLXAxIC0gcHJpbWFyeSBib2R5IHRleHRcbiAqL1xuLypcbiAqIHRrLXAyIC0gc2Vjb25kYXJ5IGJvZHkgdGV4dFxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2Mi4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENvcnJlY3RzIGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIENvcnJlY3RzIGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKlxuICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBmb3IgYGhpZGRlbmAgYXR0cmlidXRlIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXRzIGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnRzIGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKlxuICogUmVtb3ZlcyBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3NlcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkcmVzc2VzIGBoMWAgZm9udCBzaXplcyB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWAgaW4gRmlyZWZveCA0KyxcbiAqIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0cyBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLypcbiAqIFNldHMgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xucSB7XG4gIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3NlcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLypcbiAqIDEuIENvcnJlY3RzIGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQ29ycmVjdHMgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0cyBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWVcbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbn1cblxuLypcbiAqIEFkZHJlc3NlcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqL1xufVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLypcbiAqIDEuIEFkZHJlc3NlcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZXMgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLypcbiAqIDEuIEFkZHJlc3NlcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3NlcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qXG4gKiBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKlxuICogUmVtb3ZlcyBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiAxLiBSZW1vdmVzIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmVzIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJlc2V0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuaHRtbCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLyogUHJldmVudCB0YXAgaGlnaGxpZ2h0IG9uIGlPUy9BbmRyb2lkICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogUHJldmVudCBhdXRvbWF0aWMgc2NhbGluZyBvbiBpT1MgKi9cbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuaHRtbCxcbmJvZHksXG5pbWcsXG5maWVsZHNldCxcbmFiYnIsXG5hY3JvbnltIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbnRoLFxuY29kZSxcbmNpdGUsXG5jYXB0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnE6YmVmb3JlLFxucTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG5pbnB1dDpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBCYXNlIFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5ALW8tdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5Admlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5hLCBidXR0b24ge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50YWJsZSxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzExMTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbn1cblxuYSB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICBjb2xvcjogIzA1M2I5NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICMwNjQ1QUQgIWltcG9ydGFudDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTaGFyZWQgQ2xhc3Nlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hZGRyZXNzLWxpc3QgYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmF2YWlsYWJpbGl0eSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmF2YWlsYWJpbGl0eSAubGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXZhaWxhYmlsaXR5LmluLXN0b2NrIHtcbiAgY29sb3I6ICNGQUZBRkE7XG59XG5cbi5hdmFpbGFiaWxpdHkuYXZhaWxhYmxlLXNvb24sXG4uYXZhaWxhYmlsaXR5Lm91dC1vZi1zdG9jayB7XG4gIGNvbG9yOiAjREMyMDIyO1xufVxuXG4uYXZhaWxhYmlsaXR5LW9ubHkge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUGFnZSBUaXRsZXNcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQmxvY2sgTW9kdWxlXG4gKi9cbi5ibG9jayxcbi5jb2wtbGVmdC1maXJzdCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jb2wtbGVmdC1maXJzdCAuYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbn1cblxuLmJsb2NrLXRpdGxlIGgyLFxuLmJsb2NrLXRpdGxlIGgzLFxuLmJsb2NrLXRpdGxlIHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgY29sb3I6ICMxMTE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5ibG9jay10aXRsZSBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbmJvZHk6bm90KC5jdXN0b21lci1hY2NvdW50KSAuYmxvY2s6Zmlyc3QtY2hpbGQgLmJsb2NrLXRpdGxlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5ibG9jay1zdWJ0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5ibG9jay1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uYmxvY2stY29udGVudC51bnBhZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IGxpLml0ZW0ge1xuICBtYXJnaW46IDAgMCAxMHB4IDlweDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgbGkuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrIC5hY3Rpb25zIHtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbn1cblxuLmJsb2NrIC5hY3Rpb25zOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmJsb2NrIC5hY3Rpb25zIGEge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmJsb2NrIC5hY3Rpb25zIC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jb2wtbGVmdCAuYmxvY2sgLmFjdGlvbnMgLmJ1dHRvbiB+IGEsXG4uY29sLXJpZ2h0IC5ibG9jayAuYWN0aW9ucyAuYnV0dG9uIH4gYSB7XG4gIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay10aXRsZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUgPiBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG4gIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUgPiBzdHJvbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLXRpdGxlID4gc3Ryb25nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjRjRGNEY0LCAzJSk7XG4gIH1cbiAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay10aXRsZS5hY3RpdmUgPiBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICB9XG4gIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUuYWN0aXZlID4gc3Ryb25nOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay10aXRsZS5hY3RpdmUgPiBzdHJvbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDMlKTtcbiAgfVxuICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICB9XG4gIC5zaWRlYmFyIC5ibG9jazpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlY29uZGFyeSBOYXZpZ2F0aW9uXG4gKi9cbi5ibG9jay1hY2NvdW50IC5ibG9jay10aXRsZSxcbi5ibG9jay1jbXMtbWVudSAuYmxvY2stdGl0bGUge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmJsb2NrLWFjY291bnQgbGksXG4uYmxvY2stY21zLW1lbnUgbGkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogN3B4IDA7XG59XG5cbi5ibG9jay1hY2NvdW50IGxpIHN0cm9uZyxcbi5ibG9jay1jbXMtbWVudSBsaSBzdHJvbmcge1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuLmJsb2NrLWFjY291bnQgbGkgYSxcbi5ibG9jay1jbXMtbWVudSBsaSBhIHtcbiAgY29sb3I6ICMxMTE7XG59XG5cbi5ibG9jay1hY2NvdW50IGxpIGE6aG92ZXIsXG4uYmxvY2stY21zLW1lbnUgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBCdXR0b25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2Vjb25kYXJ5IEJ1dHRvbnMgKi9cbi5jYXJ0IC5idXR0b25zLXNldCAuYnV0dG9uLFxuLmNhcnQtdGFibGUgLmJ1dHRvbixcbi5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b24sXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjREREREREO1xuICBjb2xvcjogIzExMTtcbiAgcGFkZGluZzogN3B4IDE1cHg7XG59XG5cbi5jYXJ0IC5idXR0b25zLXNldCAuYnV0dG9uOmhvdmVyLFxuLmNhcnQtdGFibGUgLmJ1dHRvbjpob3Zlcixcbi5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b246aG92ZXIsXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZDBkMGQwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jYXJ0IC5idXR0b25zLXNldCAuYnV0dG9uOmFjdGl2ZSxcbi5jYXJ0LXRhYmxlIC5idXR0b246YWN0aXZlLFxuLnNpZGViYXIgLmFjdGlvbnMgLmJ1dHRvbjphY3RpdmUsXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2M0YzRjNDtcbiAgY29sb3I6ICMxMTE7XG59XG5cbi5jYXJ0IC5idXR0b25zLXNldCAuYnV0dG9uOmZvY3VzLFxuLmNhcnQtdGFibGUgLmJ1dHRvbjpmb2N1cyxcbi5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b246Zm9jdXMsXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzExMTtcbiAgYmFja2dyb3VuZDogI2M0YzRjNDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNpZGViYXIgLmFjdGlvbnMgYnV0dG9uLmJ1dHRvbiB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8qIFByaW1hcnkgQnV0dG9ucyAqL1xuLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuYnV0dG9uLFxuLmZvb3RlciAuYnV0dG9uIHtcbiAgLypcbiAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24taG92ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24tYWN0aXZlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1hY3RpdmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cbiAgICAqL1xufVxuXG5hLmJ1dHRvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYS5idXR0b246aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLyogRGlzYWJsZWQgLSBjbGFzcyBmb3IgYW5jaG9yLCBzdGF0ZSBmb3IgZm9ybSBlbGVtZW50cyAqL1xuLmJ1dHRvbi5kaXNhYmxlZCxcbi5idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiAjQzhDOEM4O1xuICBvcGFjaXR5OiAwLjY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIEFkamFjZW50IGJ1dHRvbnMgKi9cbi5idXR0b24gKyAuYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLmJ1dHRvbjIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5idXR0b24yOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmJ1dHRvbjIgc3Bhbixcbi5idXR0b24yIHNwYW4gc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5idXR0b24yIHNwYW46aG92ZXIsXG4uYnV0dG9uMiBzcGFuIHNwYW46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDMyODYzO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbiAgLmNvbDItc2V0IC5idXR0b25zLXNldCAuYnV0dG9uMiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IC5yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5idXR0b25zLXNldCAuYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICB9XG4gIC5idXR0b25zLXNldCAuYmFjay1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5idXR0b25zLXNldCAucmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUGF5cGFsIEJ1dHRvblxuICovXG4ucGF5cGFsLWxvZ28ucGF5cGFsLWFmdGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYXlwYWwtYWZ0ZXIgLnBheXBhbC1vciB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucGF5cGFsLW9yIHtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIG1hcmdpbjogMHB4IDEwcHggNXB4O1xufVxuXG4ucGF5cGFsLWFmdGVyIC5wYXlwYWwtYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYXlwYWwtYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLnBheXBhbC1idXR0b24gaW1nIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0MHB4KSB7XG4gIC5wYXlwYWwtb3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG4gIC5wYXlwYWwtbG9nbyxcbiAgLnBheXBhbC1vcixcbiAgLnBheXBhbC1idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnV0dG9uIFNldHNcbiAqL1xuLmJ1dHRvbnMtc2V0IHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5idXR0b25zLXNldCBwLnJlcXVpcmVkIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmJ1dHRvbnMtc2V0IC5iYWNrLWxpbmsge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMzNweDtcbn1cblxuLmJ1dHRvbnMtc2V0IGE6bm90KC5idXR0b24pIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNXB4O1xufVxuXG4uYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWluLXdpZHRoOiAxNDBweDtcbn1cblxuLmJ1dHRvbnMtc2V0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSWNvbnNcbiAqL1xuLmljb24tc3ByaXRlLCAuYnRuLXJlbW92ZTIsIC5yYXRpbmdzIC5yYXRpbmctYm94LCAucmF0aW5ncyAucmF0aW5nLWJveCAucmF0aW5nLCAuc29ydGVyID4gLnNvcnQtYnkgLnNvcnQtYnktc3dpdGNoZXIsIC5zb3J0ZXIgPiAudmlldy1tb2RlIC5ncmlkLFxuLnNvcnRlciA+IC52aWV3LW1vZGUgLmxpc3QsIC5za2lwLW5hdiAuaWNvbiwgLnNraXAtc2VhcmNoIC5pY29uLCAjc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjpiZWZvcmUsIC5za2lwLWFjY291bnQgLmljb24sIC5za2lwLWNhcnQgLmljb24sIC5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYSwgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmctbnVtYmVyOmFmdGVyLCAucmF0aW5ncy10YWJsZSAucmF0aW5nLWJveCwgLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbl9zcHJpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiA0IC8gMiksIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gIC5pY29uLXNwcml0ZSwgLmJ0bi1yZW1vdmUyLCAucmF0aW5ncyAucmF0aW5nLWJveCwgLnJhdGluZ3MgLnJhdGluZy1ib3ggLnJhdGluZywgLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLCAuc29ydGVyID4gLnZpZXctbW9kZSAuZ3JpZCxcbiAgLnNvcnRlciA+IC52aWV3LW1vZGUgLmxpc3QsIC5za2lwLW5hdiAuaWNvbiwgLnNraXAtc2VhcmNoIC5pY29uLCAjc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjpiZWZvcmUsIC5za2lwLWFjY291bnQgLmljb24sIC5za2lwLWNhcnQgLmljb24sIC5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYSwgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmctbnVtYmVyOmFmdGVyLCAucmF0aW5ncy10YWJsZSAucmF0aW5nLWJveCwgLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uX3Nwcml0ZUAyeC5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMTAwMHB4O1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEJyZWFkY3J1bWJzXG4gKi9cbi5icmVhZGNydW1icyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogLTE1cHggMCAxNXB4O1xufVxuXG4uYnJlYWRjcnVtYnMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5icmVhZGNydW1icyBhIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbG9yOiAjMTExO1xufVxuXG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4uYnJlYWRjcnVtYnMgc3Ryb25nIHtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5icmVhZGNydW1icyBzcGFuIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAgN3B4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCdXR0b24gLSBSZW1vdmUgLyBQcmV2aW91c1xuICovXG4uYnRuLXJlbW92ZSxcbi5idG4tcHJldmlvdXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogSGlkZSB0ZXh0ICovXG4gIGZvbnQ6IDAvMCBhO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idG4tcmVtb3ZlOmhvdmVyLFxuLmJ0bi1wcmV2aW91czpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjQ1QUQ7XG4gIGJvcmRlci1jb2xvcjogIzA2NDVBRDtcbn1cblxuLmJ0bi1yZW1vdmU6YWZ0ZXIge1xuICBjb250ZW50OiAnWCc7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmJ0bi1yZW1vdmU6aG92ZXI6YWZ0ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLXJlbW92ZTIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggLTY0OHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5idG4tcmVtb3ZlMjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4tcmVtb3ZlMjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5idG4tcHJldmlvdXM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG4uYnRuLXByZXZpb3VzOmhvdmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgLmJ0bi1yZW1vdmUsXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmN1cnJlbnRseSAuYnRuLXByZXZpb3VzLFxuLm1pbmktcHJvZHVjdHMtbGlzdCAuYnRuLXJlbW92ZSxcbi5taW5pLXByb2R1Y3RzLWxpc3QgLmJ0bi1wcmV2aW91cyxcbiNjb21wYXJlLWl0ZW1zIC5idG4tcmVtb3ZlLFxuI2NvbXBhcmUtaXRlbXMgLmJ0bi1wcmV2aW91cyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ2hlY2tvdXQgQWdyZWVtZW50c1xuICovXG4uY2hlY2tvdXQtYWdyZWVtZW50cyBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaGVja291dC1hZ3JlZW1lbnRzIC5hZ3JlZW1lbnQtY29udGVudCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC13aWR0aDogNjcwcHg7XG4gIG1heC1oZWlnaHQ6IDEyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDVlYgU2VjdXJpdHkgQ29kZVxuICovXG4uY3Z2LXdoYXQtaXMtdGhpcyB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDb250YWluZXJcbiAqL1xuLm1haW4tY29udGFpbmVyLFxuLmZvb3Rlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cbi5tYWluLWNvbnRhaW5lcjphZnRlcixcbi5mb290ZXItY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLypcbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgNDgwcHgpIHtcblxuICAgIC5tYWluLWNvbnRhaW5lcixcbiAgICAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6ICR0cmltO1xuICAgIH1cbn1cbiovXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENvbHVtbiBMYXlvdXRzXG4gKi9cbi5tYWluOmFmdGVyLFxuLmNvbC13cmFwcGVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbC1sZWZ0LFxuLmNvbC1yaWdodCxcbi5jb2wtbWFpbiB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLmNvbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbiAgY2xlYXI6IGxlZnQ7XG59XG5cbi5jb2wtbGVmdCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jb2wtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG59XG5cbi5jb2wtcmlnaHQgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29sLW1haW4ge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbn1cblxuLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAvKiBSZW1vdmUgdGhlIDE1cHggcGFkZGluZyAqL1xufVxuXG4uY29sMi1yaWdodC1sYXlvdXQgLmNvbC1tYWluIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBSZW1vdmUgdGhlIDE1cHggcGFkZGluZyAqL1xufVxuXG4uY29sMy1sYXlvdXQgLmNvbC1yaWdodCB7XG4gIHdpZHRoOiAyMC44MzMzMyU7XG59XG5cbi5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDc5LjE2NjY3JTtcbn1cblxuLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLW1haW4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA3My42ODQyMSU7XG59XG5cbi5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIgLmNvbC1sZWZ0IHtcbiAgd2lkdGg6IDI2LjMxNTc5JTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgLmNvbDMtbGF5b3V0IC5jb2wtcmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIgLmNvbC1tYWluIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbGVmdCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5jb2wtbGVmdCxcbiAgLmNvbC1yaWdodCxcbiAgLmNvbC1tYWluLFxuICAuY29sMS1sYXlvdXQgLmNvbC1sZWZ0LFxuICAuY29sMS1sYXlvdXQgLmNvbC1yaWdodCxcbiAgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbixcbiAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1sZWZ0LFxuICAuY29sMi1sZWZ0LWxheW91dCAuY29sLXJpZ2h0LFxuICAuY29sMi1sZWZ0LWxheW91dCAuY29sLW1haW4sXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLWxlZnQsXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLXJpZ2h0LFxuICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1tYWluLFxuICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbGVmdCxcbiAgLmNvbDMtbGF5b3V0IC5jb2wtcmlnaHQsXG4gIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIgLmNvbC1tYWluIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmNvbC1tYWluIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuY29sLW1haW4gLmNvbC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIE9uIHByb2R1Y3QgbGlzdGluZyBwYWdlcywgdGhlIGxlZnQgY29sdW1uIGdldHMgbW92ZWQgaW5zaWRlIGNvbC1tYWluIG9uIHNtYWxsIHZpZXdwb3J0cyAqL1xuICB9XG59XG5cbi8qIENvbnRlbnQgQ29sdW1ucyAqL1xuLmNvbDItc2V0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb2wyLXNldCAuY29sLTEsXG4uY29sMi1zZXQgLmNvbC0yIHtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuY29sMi1zZXQgLmNvbC0xLFxuICAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG59XG5cbi5jb2wyLXNldCAuY29sLTEge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY29sMi1zZXQgLmNvbC0yIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5jb2wyLXNldCAuY29sLTEsXG4gIC5jb2wyLXNldCAuY29sLTIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uY29sMi1zZXQgLm5hcnJvdyB7XG4gIHdpZHRoOiAzMyU7XG59XG5cbi5jb2wyLXNldCAud2lkZSB7XG4gIHdpZHRoOiA2NSU7XG59XG5cbi5jb2wyLXNldDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRvcCBDb250YWluZXJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAudG9wLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBHbG9iYWwgU2l0ZSBOb3RpY2VcbiAqL1xuLmdsb2JhbC1zaXRlLW5vdGljZSB7XG4gIGJhY2tncm91bmQ6ICM2NzYxNTc7XG4gIGNvbG9yOiAjRTZFNkU2O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5nbG9iYWwtc2l0ZS1ub3RpY2UgLm5vdGljZS1pbm5lciB7XG4gIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RlbW8tbG9nby5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5nbG9iYWwtc2l0ZS1ub3RpY2UgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb21vdGlvbmFsIE1lc3NhZ2UgQmFubmVyXG4gKi9cbi5wcm9tby1tc2cge1xuICBjb2xvcjogIzExMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogR3JpZFxuICovXG4uZ3JpZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIE1lc3NhZ2VzXG4gKi9cbi5zdWNjZXNzIHtcbiAgY29sb3I6ICNGQUZBRkE7XG59XG5cbi5lcnJvciB7XG4gIGNvbG9yOiAjREMyMDIyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm5vdGljZSB7XG4gIGNvbG9yOiAjRkFGQUZBO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWVzc2FnZXNcbiAqL1xuLm1lc3NhZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm1lc3NhZ2VzIGxpIGxpIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgcGFkZGluZzogN3B4IDEwcHggN3B4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm1lc3NhZ2VzIC5lcnJvci1tc2cgbGkge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDMjAyMjtcbn1cblxuLm1lc3NhZ2VzIC5ub3RpY2UtbXNnIGxpIHtcbiAgY29sb3I6ICNGQUZBRkE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQzIwMjI7XG59XG5cbi5tZXNzYWdlcyAuc3VjY2Vzcy1tc2cgbGkge1xuICBjb2xvcjogI0ZBRkFGQTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJEOTk1NTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MTVweCkge1xuICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5vcmRlci1saXN0LWdyaWQgLmNvbC0zIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgICB3aWR0aDogMjAlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBhZ2UgUG9wdXBcbiAqL1xuLnBhZ2UtcG9wdXAge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYWdlLXBvcHVwIGgxIHtcbiAgbWFyZ2luOiAwIDAgMC41ZW07XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBheW1lbnQgTWV0aG9kc1xuICovXG4ucGF5bWVudC1tZXRob2RzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyBkdCB7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuXG4ucGF5bWVudC1tZXRob2RzIGRkIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNXB4IDE1cHggMTVweDtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHRvcDogLTExcHg7XG4gIGxlZnQ6IDMwcHg7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNGNEY0RjQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHRvcDogLTEwcHg7XG4gIGxlZnQ6IDMwcHg7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUGxlYXNlIFdhaXQgKExvYWRpbmcgSW5kaWNhdG9yKVxuICovXG4ucGxlYXNlLXdhaXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIFByZXZlbnQgdGhlIGxpbmVicmVhayBpbiB0aGUgSFRNTCBmcm9tIGNhdXNpbmcgbGF5b3V0IGlzc3VlcyAqL1xufVxuXG4ucGxlYXNlLXdhaXQgaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB3aWR0aDogMjRweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3RhbmRhcmRcbiAqL1xuLnByaWNlLWJveCB7XG4gIG1hcmdpbjogN3B4IDA7XG59XG5cbi5wcmljZS1ib3ggcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcmljZS1ub3RpY2Uge1xuICBjb2xvcjogIzlCOUI5Qjtcbn1cblxuLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UtbGluayB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogV2Ugd2FudCB0aGlzIHRvIHNob3cgb24gaXRzIG93biBsaW5lLCBvdGhlcndpc2UgdGhlIGxheW91dCBsb29rcyBmdW5reSAqL1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmljZSBCb3ggLSBTcGVjaWFsXG4gKi9cbi5wcmljZS1ib3ggLm9sZC1wcmljZSxcbi5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UtbGFiZWwsXG4ucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UsXG4ucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gIGNvbG9yOiAjREMyMDIyO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwge1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gVGF4ZXNcbiAqL1xuLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCxcbi5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXgge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3Bhbi53ZWVlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRpZXIgUHJpY2VzXG4gKi9cbi5wcm9kdWN0LXByaWNpbmcsXG4udGllci1wcmljZXMsXG4udGllci1wcmljZXMtZ3JvdXBlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYmFja2dyb3VuZDogI0ZCRjRERTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UyRDRDNztcbiAgbWFyZ2luLXRvcDogN3B4O1xufVxuXG4ucHJvZHVjdC1wcmljaW5nIGxpLFxuLnRpZXItcHJpY2VzIGxpLFxuLnRpZXItcHJpY2VzLWdyb3VwZWQgbGkge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5wcm9kdWN0LXByaWNpbmcgLmJlbmVmaXQsXG4udGllci1wcmljZXMgLmJlbmVmaXQsXG4udGllci1wcmljZXMtZ3JvdXBlZCAuYmVuZWZpdCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnByb2R1Y3QtcHJpY2luZyAucHJpY2UsXG4udGllci1wcmljZXMgLnByaWNlLFxuLnRpZXItcHJpY2VzLWdyb3VwZWQgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEl0ZW0gT3B0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5pdGVtLW9wdGlvbnMge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLml0ZW0tb3B0aW9uczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5pdGVtLW9wdGlvbnMgZHQge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaXRlbS1vcHRpb25zIGR0OmFmdGVyIHtcbiAgY29udGVudDogJzogJztcbn1cblxuLml0ZW0tb3B0aW9ucyBkZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbjogMCAwIDZweDtcbn1cblxuLnRydW5jYXRlZCxcbi50cnVuY2F0ZWQgYS5kb3RzIHtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udHJ1bmNhdGVkIGEuZGV0YWlscyB7XG4gIGN1cnNvcjogaGVscDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbn1cblxuLnRydW5jYXRlZCBhLmRldGFpbHM6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDA7XG59XG5cbi50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIC5pdGVtLW9wdGlvbnMge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDMwMDtcbiAgd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gIHRvcDogMjFweDtcbiAgbGVmdDogLTEwMHB4O1xufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbGVmdDogOTdweDtcbiAgdG9wOiAtN3B4O1xufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zID4gcCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50cnVuY2F0ZWQgLnNob3cgLml0ZW0tb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC50cnVuY2F0ZWQge1xuICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgfVxuICAudHJ1bmNhdGVkIGEuZGV0YWlscyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIC5pdGVtLW9wdGlvbnMgcCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLnRydW5jYXRlZCAudHJ1bmNhdGVkX2Z1bGxfdmFsdWUgLml0ZW0tb3B0aW9uczphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmludGVyIEZyaWVuZGx5IFBhZ2VcbiAqL1xuLnBhZ2UtcHJpbnQge1xuICB3aWR0aDogNi41aW47XG4gIG1hcmdpbjogMjBweDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQWRkIHRvIGxpbmtzXG4gKi9cbi5hZGQtdG8tbGlua3Mge1xuICBtYXJnaW46IDdweCAwO1xufVxuXG4uYWRkLXRvLWxpbmtzIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDBweCAzcHggM3B4O1xufVxuXG4uYWRkLXRvLWxpbmtzIC5zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9kdWN0IEltYWdlXG4gKi9cbi5wcm9kdWN0LWltYWdlLFxuLm5vLXRvdWNoIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2U6bm90KC56b29tLWF2YWlsYWJsZSk6aG92ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuQGluY2x1ZGUgYnAgKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHkgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZTpob3ZlciB7XG4gICAgfVxufVxuXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1hZ2U6aG92ZXIge1xufVxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFJhdGluZ3NcbiAqL1xuLnJhdGluZ3Mge1xuICBtYXJnaW46IDdweCAwO1xufVxuXG4ucmF0aW5ncyAucmF0aW5nLWJveCxcbi5yYXRpbmdzIC5yYXRpbmctbGlua3Mge1xuICBtYXJnaW46IDVweCAwO1xufVxuXG4ucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gIHdpZHRoOiA2NXB4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjE1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yYXRpbmdzIC5yYXRpbmctYm94IC5yYXRpbmcge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwMHB4O1xufVxuXG4ucmF0aW5ncyAuYW1vdW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNXB4IGF1dG87XG59XG5cbi5yYXRpbmdzIC5yYXRpbmctbGlua3MgLnNlcGFyYXRvciB7XG4gIG1hcmdpbjogMCAzcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFN0YW5kYXJkIEZvcm1hdHRlZCBUZXh0IEJsb2NrXG4gKi9cbi5zdGQgcCB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbi5zdGQgb2wge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc3RkIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnN0ZCAubm90ZSB7XG4gIGNvbG9yOiAjOUI5QjlCO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRhYnNcbiAqL1xuLnRhYnMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUb29sYmFyXG4gKi9cbi50b29sYmFyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBwYWRkaW5nOiA1cHggMTBweCAwcHggMTBweDtcbn1cblxuLnRvb2xiYXI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFnZXItbm8tdG9vbGJhciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5wYWdlci1uby10b29sYmFyIH4gLnBhZ2VyLW5vLXRvb2xiYXIge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4udG9vbGJhcixcbi5wYWdlciB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMxMTE7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi50b29sYmFyIGxhYmVsLFxuLnBhZ2VyLW5vLXRvb2xiYXIgbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc29ydGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnNvcnRlciBsYWJlbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnNvcnRlciBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6ICc6Jztcbn1cblxuLnNvcnRlciA+IC5zb3J0LWJ5IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlciB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLS1hc2Mge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggLTU0MnB4O1xufVxuXG4uc29ydGVyID4gLnNvcnQtYnkgLnNvcnQtYnktc3dpdGNoZXItLWFzYzpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NnB4IC01NDJweDtcbn1cblxuLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLS1kZXNjIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC01NjdweDtcbn1cblxuLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLS1kZXNjOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2cHggLTU2N3B4O1xufVxuXG4uc29ydGVyID4gLnZpZXctbW9kZSB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnNvcnRlciA+IC52aWV3LW1vZGUgLmdyaWQsXG4uc29ydGVyID4gLnZpZXctbW9kZSAubGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4uc29ydGVyID4gLnZpZXctbW9kZSAuZ3JpZCB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggLTQ5MnB4O1xufVxuXG4uc29ydGVyID4gLnZpZXctbW9kZSBzdHJvbmcuZ3JpZCxcbi5zb3J0ZXIgPiAudmlldy1tb2RlIGEuZ3JpZDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC00OTJweDtcbn1cblxuLnNvcnRlciA+IC52aWV3LW1vZGUgLmxpc3Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMXB4IC01MTdweDtcbn1cblxuLnNvcnRlciA+IC52aWV3LW1vZGUgc3Ryb25nLmxpc3QsXG4uc29ydGVyID4gLnZpZXctbW9kZSBhLmxpc3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzlweCAtNTE3cHg7XG59XG5cbi5wYWdlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhZ2VyID4gLmNvdW50LWNvbnRhaW5lciB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucGFnZXIgLmFtb3VudCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbjogMCAxNXB4IDAgMDtcbn1cblxuLnBhZ2VyIC5saW1pdGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG5cbi5wYWdlciAubGltaXRlciA+IGxhYmVsIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4ucGFnZXIgLmxpbWl0ZXIgPiBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6ICc6Jztcbn1cblxuLnBhZ2VyIC5hbW91bnQsXG4ucGFnZXIgLmxpbWl0ZXIsXG4ucGFnZXIgLnBhZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ucGFnZXMge1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4ucGFnZXMgc3Ryb25nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2VzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYWdlcyBhLFxuLnBhZ2VzIC5jdXJyZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnBhZ2VzIC5jdXJyZW50LFxuLnBhZ2VzIC5jdXJyZW50OmhvdmVyIHtcbiAgY29sb3I6ICMxMTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIHdpZHRoOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5wYWdlcyAubmV4dCxcbi5wYWdlcyAucHJldmlvdXMge1xuICBmb250OiAwLzAgYTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbn1cblxuLnBhZ2VzIC5uZXh0OmhvdmVyLFxuLnBhZ2VzIC5wcmV2aW91czpob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG59XG5cbi5wYWdlcyAubmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTJweDtcbn1cblxuLnBhZ2VzIC5uZXh0OmhvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDMyODYzO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi5wYWdlcyAucHJldmlvdXM6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjMDY0NUFEO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7XG59XG5cbi5wYWdlcyAucHJldmlvdXM6aG92ZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjMDMyODYzO1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAucGFnZXIgLmFtb3VudC0taGFzLXBhZ2VzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wYWdlcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxpbWl0ZXIgbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuY29sMS1sYXlvdXQgLnNvcnRlcixcbiAgLmNvbDEtbGF5b3V0IC5wYWdlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbDEtbGF5b3V0IC5wYWdlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmNvbDEtbGF5b3V0IC5wYWdlciAucGFnZXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5jb2wxLWxheW91dCAucGFnZXIgLmNvdW50LWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLmNvbDItbGVmdC1sYXlvdXQgLnNvcnRlcixcbiAgLmNvbDItbGVmdC1sYXlvdXQgLnBhZ2VyLFxuICAuY29sMi1yaWdodC1sYXlvdXQgLnNvcnRlcixcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5wYWdlcixcbiAgLmNvbDMtbGF5b3V0IC5zb3J0ZXIsXG4gIC5jb2wzLWxheW91dCAucGFnZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wyLWxlZnQtbGF5b3V0IC5wYWdlcixcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5wYWdlcixcbiAgLmNvbDMtbGF5b3V0IC5wYWdlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmNvbDItbGVmdC1sYXlvdXQgLnBhZ2VyIC5wYWdlcyxcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5wYWdlciAucGFnZXMsXG4gIC5jb2wzLWxheW91dCAucGFnZXIgLnBhZ2VzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuY29sMi1sZWZ0LWxheW91dCAucGFnZXIgLmNvdW50LWNvbnRhaW5lcixcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5wYWdlciAuY291bnQtY29udGFpbmVyLFxuICAuY29sMy1sYXlvdXQgLnBhZ2VyIC5jb3VudC1jb250YWluZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAudG9vbGJhciAudmlldy1tb2RlID4gbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogVGF4IC0gRnVsbCBUYXggU3VtbWFyeVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNjaGVja291dC1yZXZpZXctdGFibGUgLnN1bW1hcnktY29sbGFwc2UsXG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgLnN1bW1hcnktY29sbGFwc2UsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgLnN1bW1hcnktY29sbGFwc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI2NoZWNrb3V0LXJldmlldy10YWJsZSAuc3VtbWFyeS1jb2xsYXBzZTpiZWZvcmUsXG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgLnN1bW1hcnktY29sbGFwc2U6YmVmb3JlLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbiNjaGVja291dC1yZXZpZXctdGFibGUgLnN1bW1hcnktY29sbGFwc2U6aG92ZXI6YmVmb3JlLFxuI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc3VtbWFyeS1jb2xsYXBzZTpob3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDdweCBzb2xpZCAjMDMyODYzO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlIC5zaG93LWRldGFpbHMgLnN1bW1hcnktY29sbGFwc2U6YmVmb3JlLFxuI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlIC5zaG93LWRldGFpbHMgLnN1bW1hcnktY29sbGFwc2U6YmVmb3JlLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIC5zaG93LWRldGFpbHMgLnN1bW1hcnktY29sbGFwc2U6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuI2NoZWNrb3V0LXJldmlldy10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSxcbiNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwMzI4NjM7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbiNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSB0Zm9vdCB0ZCAuc3VtbWFyeS1jb2xsYXBzZTpiZWZvcmUsICNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSB0Zm9vdCB0ZCAuc3VtbWFyeS1jb2xsYXBzZTpob3ZlcjpiZWZvcmUge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE1hZ2VudG8gSGVscGVyc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmEtcmlnaHQsXG4uYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm5vLWRpc3BsYXkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ub2JyLFxuLm5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53aWR0aC1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEN1c3RvbSBIZWxwZXJzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaW50IFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLXByaW50IC5wcmludC1oZWFkIHtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbn1cblxuLnBhZ2UtcHJpbnQgLnByaW50LWhlYWQgLmxvZ28ge1xuICBmbG9hdDogbm9uZTtcbiAgbWF4LWhlaWdodDogNTBweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEZPUk1TIC0gQ09NTU9OXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogRmllbGRzZXRzXG4gKi9cbi5maWVsZHNldCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4uZmllbGRzZXQgcC5yZXF1aXJlZCB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cblxuLmZpZWxkc2V0ICsgLmZpZWxkc2V0IHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG5mb3JtIC5sZWdlbmQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJbnB1dCBCb3hcbiAqL1xuLmlucHV0LWJveCB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG5cbi5pbnB1dC1ib3g6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5saS5jZW50aW5lbC1sb2dvcyBkaXYuaW5wdXQtYm94IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogRm9yIGFkamFjZW50IHNlbGVjdCBpbnB1dHMuICovXG4vKiBFeGFtcGxlOiBjcmVkaXQgY2FyZCBleHBpcmF0aW9uIG1vbnRoIGFuZCB5ZWFyLiAqL1xuLmlucHV0LWJveCAudi1maXgge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTGFiZWxzXG4gKi9cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbmxhYmVsLnJlcXVpcmVkOmFmdGVyLFxuc3Bhbi5yZXF1aXJlZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcgKic7XG4gIGNvbG9yOiAjREMyMDIyO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxubGFiZWwucmVxdWlyZWQgZW0sXG5zcGFuLnJlcXVpcmVkIGVtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSGludHNcbiAqL1xuLmlucHV0LWhpbnQge1xuICBjb2xvcjogIzlCOUI5QjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWxlY3RcbiAqL1xuc2VsZWN0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ0NDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogNXB4IDE1cHggNXB4IDEwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkVBQUFBTENBWUFBQUNaSUdZSEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFsd1NGbHpBQUFMRXdBQUN4TUJBSnFjR0FBQUJDSnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEVXVOQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uaHRjRDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2tOdmJYQnlaWE56YVc5dVBqVThMM1JwWm1ZNlEyOXRjSEpsYzNOcGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQamN5UEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBQY21sbGJuUmhkR2x2Ymo0eFBDOTBhV1ptT2s5eWFXVnVkR0YwYVc5dVBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwWlVtVnpiMngxZEdsdmJqNDNNand2ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZVR2w0Wld4WVJHbHRaVzV6YVc5dVBqRTNQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR4TVR3dlpYaHBaanBRYVhobGJGbEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhrWXpwemRXSnFaV04wUGdvZ0lDQWdJQ0FnSUNBZ0lDQThjbVJtT2tKaFp5OCtDaUFnSUNBZ0lDQWdJRHd2WkdNNmMzVmlhbVZqZEQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRHBOYjJScFpubEVZWFJsUGpJd01UY3RNVEF0TXpCVU1ERTZNVEE2TmpJOEwzaHRjRHBOYjJScFpubEVZWFJsUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPa055WldGMGIzSlViMjlzUGxCcGVHVnNiV0YwYjNJZ015NDJQQzk0YlhBNlEzSmxZWFJ2Y2xSdmIydytDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBnbzlXcHRlQUFBQTAwbEVRVlFvRlpXUHl3NEJRUkJGWjBzOFFzSXZXVnY0RDVFUUd5d2tWaFkreXRmWWVDZDJuTk82RTRQeHFPVE03YXE2VmRPZFpmZW9JVDJveC95YjZOUHZYSWdHM3lWc1lRNGwrQlQyOWVsM3p2bXNDMmU0UnAyaUZYZ1gxdTAvK3AzUG1yQ0FFNlJGRTg3UFR6TzNuaGJvZDg3NUVHVytGcExod0hrRzRhcFJ6YTJuSCtsM0xoZGVkUVVYME9pYng5Q0thbTdkdnI2aUo0Zk5Bd3hIY0dBUDY2am0xdTIvM0lCYUxxcGtJM0NCZ3dsejYvWi9DcS9haHgyNFJEVXZmQUs5dCtIQUVEWlIvMTZRdHJZNWRFQXRqQnVwUVRobkZrNGJYd0FBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbnNlbGVjdCArIHNlbGVjdCB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbnNlbGVjdFttdWx0aXBsZV0ge1xuICB3aWR0aDogMjcwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMTE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogNXB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUZXh0YXJlYVxuICovXG50ZXh0YXJlYSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ1MHB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIElucHV0c1xuICovXG4uaW5wdXQtdGV4dCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzExMTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uaW5wdXQtdGV4dDpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5pbnB1dC10ZXh0LnZhbGlkYXRpb24tZmFpbGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjREMyMDIyO1xufVxuXG4uaW5wdXQtdGV4dC52YWxpZGF0aW9uLWZhaWxlZDpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IHRpbnQoI0RDMjAyMiwgNTAlKTtcbn1cblxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXNlYXJjaF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0ge1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuXG5pbnB1dFt0eXBlPWVtYWlsXSxcbmlucHV0W3R5cGU9c2VhcmNoXSxcbmlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT10ZWxdLFxuaW5wdXRbdHlwZT10ZXh0XSB7XG4gIHdpZHRoOiAzNjVweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBPbmx5IHNob3cgb24gaVBob25lcyAobm90IGlQYWRzIG9yIGFueSBvdGhlciBkZXZpY2UpICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA1NjhweCkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1lbWFpbF0sXG4gIGlucHV0W3R5cGU9c2VhcmNoXSxcbiAgaW5wdXRbdHlwZT1udW1iZXJdLFxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgaW5wdXRbdHlwZT10ZWxdLFxuICBpbnB1dFt0eXBlPXRleHRdLFxuICBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAvKiBQcmV2ZW50IGZyb20gem9vbWluZyBvbiBmb2N1cyAqL1xuICB9XG59XG5cbi5pZTggLmlucHV0LXRleHQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIElucHV0cyAtIFF1YW50aXR5XG4gKi9cbmlucHV0W3R5cGU9bnVtYmVyXS5xdHksXG5pbnB1dFt0eXBlPXRleHRdLnF0eSB7XG4gIHdpZHRoOiAzZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUGxhY2Vob2xkZXJcbiAqL1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzlCOUI5Qjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ2hlY2tib3ggQW5kIFJhZGlvXG4gKi9cbi5jaGVja2JveCxcbi5yYWRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jaGVja2JveCArIGxhYmVsLFxuLnJhZGlvICsgbGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiA4NSU7XG4gIHBhZGRpbmc6IDAgMCAwIDhweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBWYWxpZGF0aW9uXG4gKi9cbnAucmVxdWlyZWQsXG4udmFsaWRhdGlvbi1hZHZpY2Uge1xuICBtYXJnaW46IDVweCAwIDA7XG4gIGNvbG9yOiAjREMyMDIyO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEZvcm0gTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb3JtLWxpc3QgPiBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5mb3JtLWxpc3Qgc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICB3aWR0aDogMzY1cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGlzdCAuaW5wdXQtcmFuZ2UgLmlucHV0LXRleHQge1xuICB3aWR0aDogNzRweDtcbn1cblxuLmZvcm0tbGlzdCAuZmllbGQsXG4uZm9ybS1saXN0IC53aWRlLFxuLmZvcm0tbGlzdCAuY29udHJvbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qIFR1cm4gdGhlIGxhYmVsIG9mIGNvbnRyb2xzIChyYWRpby9jaGVja2JveCkgaW50byBhIGJ1dHRvbiBzdHlsZSB0aGF0IHdyYXBzIHRoZSBpbnB1dCAqL1xuLmZvcm0tbGlzdCAuY29udHJvbCxcbi5zcC1tZXRob2RzIGR0LFxuI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuICAvKiBXaGVuIGEgbGFiZWwgaXMgbmV4dCB0byBhbiBpbnB1dCB0aGF0IGlzIHNldCB0byBub3QgZGlzcGxheSwgd2Ugc2hvdWxkIHN0eWxlIHRoZSBsYWJlbCBpbiBhIG5vbi1jbGlja2FibGUgc3RhdGUgKi9cbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCBkaXYuaW5wdXQtYm94LFxuLnNwLW1ldGhvZHMgZHQgZGl2LmlucHV0LWJveCxcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCBkaXYuaW5wdXQtYm94LFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGRpdi5pbnB1dC1ib3gsXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBkaXYuaW5wdXQtYm94IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCBkaXYuaW5wdXQtYm94OmFmdGVyLFxuLnNwLW1ldGhvZHMgZHQgZGl2LmlucHV0LWJveDphZnRlcixcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCBkaXYuaW5wdXQtYm94OmFmdGVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGRpdi5pbnB1dC1ib3g6YWZ0ZXIsXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBkaXYuaW5wdXQtYm94OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCBpbnB1dC5yYWRpbyxcbi5mb3JtLWxpc3QgLmNvbnRyb2wgaW5wdXQuY2hlY2tib3gsXG4uc3AtbWV0aG9kcyBkdCBpbnB1dC5yYWRpbyxcbi5zcC1tZXRob2RzIGR0IGlucHV0LmNoZWNrYm94LFxuI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkIGlucHV0LnJhZGlvLFxuI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkIGlucHV0LmNoZWNrYm94LFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGlucHV0LnJhZGlvLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGlucHV0LmNoZWNrYm94LFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgaW5wdXQucmFkaW8sXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBpbnB1dC5jaGVja2JveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCBsYWJlbCxcbi5zcC1tZXRob2RzIGR0IGxhYmVsLFxuI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkIGxhYmVsLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGxhYmVsLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGFiZWwge1xuICBjb2xvcjogIzExMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAyNTBweDtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDZweCAxMHB4IDZweCA0MHB4O1xufVxuXG4uZm9ybS1saXN0IC5jb250cm9sIGxhYmVsOmhvdmVyLFxuLnNwLW1ldGhvZHMgZHQgbGFiZWw6aG92ZXIsXG4jY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgbGFiZWw6aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQgbGFiZWw6aG92ZXIsXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDMlKTtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCAubm8tZGlzcGxheSArIGxhYmVsLFxuLnNwLW1ldGhvZHMgZHQgLm5vLWRpc3BsYXkgKyBsYWJlbCxcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCAubm8tZGlzcGxheSArIGxhYmVsLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIC5uby1kaXNwbGF5ICsgbGFiZWwsXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAubm8tZGlzcGxheSArIGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCAubm8tZGlzcGxheSArIGxhYmVsOmhvdmVyLFxuLnNwLW1ldGhvZHMgZHQgLm5vLWRpc3BsYXkgKyBsYWJlbDpob3ZlcixcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCAubm8tZGlzcGxheSArIGxhYmVsOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIC5uby1kaXNwbGF5ICsgbGFiZWw6aG92ZXIsXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAubm8tZGlzcGxheSArIGxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxhYmVsLFxuLmNvbDItc2V0IC5mb3JtLWxpc3QgLmNvbnRyb2wgbGFiZWwge1xuICBtaW4td2lkdGg6IGluaGVyaXQ7XG4gIHdpZHRoOiAyNTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1saXN0IC5jb250cm9sLnJlbWVtYmVyLW1lLWJveCBsYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogaW5oZXJpdDtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5mb3JtLWxpc3QgLmNvbnRyb2wgbGFiZWwge1xuICBmbG9hdDogbm9uZTtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCAucmFkaW8sXG4uZm9ybS1saXN0IC5jb250cm9sIC5jaGVja2JveCB7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xufVxuXG4uZm9ybS1saXN0IC5jb250cm9sIC5pbnB1dC1ib3gge1xuICBjbGVhcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbn1cblxuZm9ybSAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzlCOUI5Qjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogVGFibGUgSGVscGVyc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oaWRlLXRoIHtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIERhdGEgVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGF0YS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZGF0YS10YWJsZSB0ZCxcbi5kYXRhLXRhYmxlIHRoIHtcbiAgcGFkZGluZzogMTBweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmRhdGEtdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZGF0YS10YWJsZSB0aGVhZCB0aCxcbi5kYXRhLXRhYmxlIHRib2R5IHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDMEMwQzA7XG59XG5cbi5kYXRhLXRhYmxlIHRib2R5IHRkLFxuLmRhdGEtdGFibGUgdGZvb3QgdGQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5kYXRhLXRhYmxlIHRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5kYXRhLXRhYmxlIHRib2R5IHRkIC5pdGVtLW9wdGlvbnMge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmRhdGEtdGFibGUgdGJvZHkgdGQgLml0ZW0tb3B0aW9ucyBkdDphZnRlciB7XG4gIGNvbnRlbnQ6ICc6Jztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2VuZXJpYyBJbmZvIFRhYmxlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmluZm8tYm94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0MwQzBDMDtcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICBtYXJnaW46IDAgMCAxNXB4O1xufVxuXG4uaW5mby1ib3ggaDIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4uaW5mby10YWJsZSB0aCxcbi5pbmZvLXRhYmxlIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmluZm8tdGFibGUgdGgge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogNHB4IDIwcHggNHB4IDA7XG59XG5cbi5pbmZvLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogNHB4IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFplYnJhLVN0cmlwZSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi56ZWJyYS10YWJsZSB0cjpmaXJzdC1jaGlsZCxcbi56ZWJyYS10YWJsZSB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzBDMEMwO1xufVxuXG4uemVicmEtdGFibGUgdGQsXG4uemVicmEtdGFibGUgdGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0MwQzBDMDtcbiAgcGFkZGluZzogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnplYnJhLXRhYmxlIHRyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRURFRDtcbn1cblxuLnplYnJhLXRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjdGNTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGluZWFyaXplIFRhYmxlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAubGluZWFyaXplLXRhYmxlIHtcbiAgICAvKiBIZWxwZXJzICovXG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0cixcbiAgLmxpbmVhcml6ZS10YWJsZSB0aCxcbiAgLmxpbmVhcml6ZS10YWJsZSB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGhlYWQgdGgubGluLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0aGVhZCB0aDpudGgtY2hpbGQoMW4rMikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAgMTBweCA0cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZC5saW4taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIGgzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLWxhYmVsKSBcIjpcIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGZvb3QgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGZvb3QgdHI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGZvb3QgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgdGZvb3QgdGQubGluLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZSB0Zm9vdCB0ZDpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIHRmb290IHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgLmxpbmVhcml6ZS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUgLmxpbmVhcml6ZS11bnBhZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHtcbiAgICAvKiBIZWxwZXJzICovXG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0cixcbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0aCxcbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGhlYWQgdGgubGluLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0aGVhZCB0aDpudGgtY2hpbGQoMW4rMikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAgMTBweCA0cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZC5saW4taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRib2R5IHRkOmZpcnN0LWNoaWxkLFxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRib2R5IHRkOmZpcnN0LWNoaWxkIGgzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRib2R5IHRkW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLWxhYmVsKSBcIjpcIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGZvb3QgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGZvb3QgdHI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGZvb3QgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGZvb3QgdGQubGluLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Zm9vdCB0ZDpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgLmxpbmVhcml6ZS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgLmxpbmVhcml6ZS11bnBhZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIC5saW5lYXJpemUtc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmhlYWRlci1za2lwLW5hdiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGxlZnQ6IC05OTllbTtcbn1cblxuLmhlYWRlci1za2lwLW5hdjpmb2N1cyB7XG4gIHotaW5kZXg6IDIwMDtcbiAgbGVmdDogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2xvYmFsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi53cmFwcGVyIHtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi53cmFwcGVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi5oZWFkZXItbGFuZ3VhZ2UtY29udGFpbmVyLFxuLnBhZ2UtaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMYW5ndWFnZSBzd2l0Y2hlciArIHdlbGNvbWUgbWVzc2FnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCAuaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQgLmZvcm0tbGFuZ3VhZ2UsXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQgLmN1cnJlbmN5LXN3aXRjaGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmhlYWRlci1sYW5ndWFnZS1iYWNrZ3JvdW5kIC53ZWxjb21lLW1zZyB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXgtd2lkdGg6IDM1JTtcbiAgcGFkZGluZzogMTNweCAxNXB4IDEwcHggMTBweDtcbn1cblxuLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIHNlbGVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5zdG9yZS1sYW5ndWFnZS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCxcbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCBhIHtcbiAgY29sb3I6ICNFNkU2RTY7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLmhlYWRlci1sYW5ndWFnZS1iYWNrZ3JvdW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExvZ29cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDY1JTtcbiAgbWluLXdpZHRoOiAxMDBweDtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubG9nbyBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5sb2dvIC5zbWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9nbyAubGFyZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubG9nbzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICB9XG4gIC5sb2dvIC5zbWFsbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubG9nbyAubGFyZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNraXAgTGlua3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2tpcC1saW5rcyB7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnNraXAtbGlua3Mge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIC0gTGlua1xuICovXG4uc2tpcC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiA0NHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzExMTtcbiAgbGluZS1oZWlnaHQ6IDQycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYS5za2lwLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5za2lwLWxpbms6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnNraXAtbGluayB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VERURFRDtcbiAgfVxuICAuc2tpcC1saW5rOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5za2lwLWxpbmsge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWN0aXZlXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnNraXAtbGluay5za2lwLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI0VERURFRDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIHNwYW4ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgTGluayAtIEljb25cbiAqL1xuLnNraXAtbGluayAuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnNraXAtbGluay5za2lwLW5hdiAuaWNvbixcbi5za2lwLWxpbmsuc2tpcC1jYXJ0Om5vdCgubm8tY291bnQpIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgLnNraXAtbGluayAuaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gTGFiZWxcbiAqL1xuLnNraXAtbGluayAubGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5za2lwLWxpbmsgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNraXAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5za2lwLWNvbnRlbnQuc2tpcC1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogI0VERURFRDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2xvYmFsIEhlYWRlciBOYXZpZ2F0aW9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAjaGVhZGVyLWFjY291bnQgbGkgYSxcbiAgLm5hdi1wcmltYXJ5IGEubGV2ZWwwIHtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCAyNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxuICAjaGVhZGVyLWFjY291bnQgbGk6bGFzdC1jaGlsZCBhLFxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwOmxhc3QtY2hpbGQgYS5sZXZlbDAge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgLm5vLXRvdWNoICNoZWFkZXItYWNjb3VudCBhOmhvdmVyLFxuICAubm8tdG91Y2ggLm5hdi1wcmltYXJ5IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5hY2NvdW50LWNhcnQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLmFjY291bnQtY2FydC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiAtIFNraXAgTGlua1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5za2lwLW5hdiB7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi5za2lwLW5hdjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNraXAtbmF2Om5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2cHggNHB4O1xufVxuXG4uc2tpcC1uYXYgLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uc2tpcC1uYXYgLmljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggNHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5za2lwLW5hdiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5za2lwLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOYXYgLSBTa2lwIENvbnRlbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gICNoZWFkZXItbmF2IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gICNoZWFkZXItbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiBGb3JjZSB2aXNpYmlsaXR5ICovXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmF2IFByaW1hcnlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5uYXYtcHJpbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHZW5lcmFsIE5hdmlnYXRpb24gU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm5hdi1wcmltYXJ5IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMTExO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ubmF2LXByaW1hcnkgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXYtcHJpbWFyeSBsaS5sZXZlbDEgYSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4ubmF2LXByaW1hcnkgLm1lbnUtYWN0aXZlID4gdWwubGV2ZWwwLFxuLm5hdi1wcmltYXJ5IGxpLmxldmVsMCBsaS5zdWItbWVudS1hY3RpdmUgPiB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2LXByaW1hcnkgbGkubGV2ZWwwID4gYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNtYWxsIFZpZXdwb3J0cyAtIEFjY29yZGlvbiBTdHlsZSBNZW51XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAubmF2LXByaW1hcnkgYS5sZXZlbDAsXG4gIC5uYXYtcHJpbWFyeSBhIHtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAgbGkge1xuICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMSBhIHtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCAyNXB4O1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IGxpLnBhcmVudC5zdWItbWVudS1hY3RpdmUgPiBhOmFmdGVyLFxuICAubmF2LXByaW1hcnkgbGkucGFyZW50Lm1lbnUtYWN0aXZlID4gYTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDtcbiAgICByaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5tZW51LWFjdGl2ZSA+IGEsXG4gIC5uYXYtcHJpbWFyeSBsaS5zdWItbWVudS1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogIzA2NDVBRDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMYXJnZSBWaWV3cG9ydHMgLSBEcm9wZG93biBNZW51XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAubmF2LXByaW1hcnkge1xuICAgIC8qIERlZmF1bHQgc3R5bGVzIGZvciAxKyBkcm9wLWRvd24gbWVudXMgKi9cbiAgICAvKiBMZXZlbCAyKyAqL1xuICAgIC8qIENsYXNzIGZvciBqcyB0byBhZGQgYnJpZWZseSB0byBldmFsdWF0ZSBlbGVtZW50IHBvc2l0aW9uaW5nLiAqL1xuICAgIC8qIENvcnJlY3QgbWVudXMgdGhhdCB3aWxsIGhhbmcgb2ZmIHRoZSBwYWdlIChjbGFzcyBhZGRlZCBieSBqcykgKi9cbiAgICAvKiBMZXZlbCAxKyAqL1xuICB9XG4gIC5uYXYtcHJpbWFyeSBhLmxldmVsMCB7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAsXG4gIC5uYXYtcHJpbWFyeSBhLmxldmVsMCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaTpsYXN0LWNoaWxkID4gYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuICAubmF2LXByaW1hcnkgYTpob3ZlcixcbiAgLm5hdi1wcmltYXJ5IGxpOmhvdmVyID4gYSB7XG4gICAgY29sb3I6ICMwNjQ1QUQ7XG4gIH1cbiAgLm5hdi1wcmltYXJ5IC5tZW51LWFjdGl2ZSB7XG4gICAgei1pbmRleDogMjAwO1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAgdWwge1xuICAgIGJhY2tncm91bmQ6ICNGQkZCRkI7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDMwcHg7XG4gICAgLyogSGVpZ2h0IG9mIFwiLm5hdi1wcmltYXJ5IGEubGV2ZWwwXCIgKi9cbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiBIaWRlIHVudGlsIGRpc3BsYXllZC4gKi9cbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwxIHVsIHtcbiAgICBsZWZ0OiA2MHB4O1xuICAgIHRvcDogMTVweDtcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIHVsLmxldmVsMC5wb3NpdGlvbi10ZXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIHVsLmxldmVsMC5zcGlsbCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIHVsLmxldmVsMC5zcGlsbCBsaS5sZXZlbDEgdWwge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDUwcHg7XG4gICAgdG9wOiAyMHB4O1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAgbGkucGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAgbGkucGFyZW50ID4gYTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG59XG5cbi5uYXYtcHJpbWFyeSBsaS5tZW51LWFjdGl2ZSA+IHVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCAtIFNraXAgTGlua1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5za2lwLXNlYXJjaDpub3QoLnNraXAtYWN0aXZlKTpob3ZlciAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NnB4IC0xNDZweDtcbn1cblxuLnNraXAtc2VhcmNoIC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC0xNDZweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAuc2tpcC1zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2hlYWRlci1zZWFyY2gge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gICNoZWFkZXItc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1NXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIElucHV0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI3NlYXJjaF9taW5pX2Zvcm0gLmlucHV0LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIGxhYmVsIHtcbiAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbiNzZWFyY2gge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uIHtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggLTE0NnB4O1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgbWFyZ2luLWxlZnQ6IC0xM3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXIgLSBBY2NvdW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWNjb3VudFxuICovXG4uc2tpcC1hY2NvdW50Om5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2cHggLTQ0cHg7XG59XG5cbi5za2lwLWFjY291bnQgLmljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggLTQ0cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnNraXAtYWNjb3VudCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgI2hlYWRlci1hY2NvdW50LnNraXAtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IDExNXB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuICAjaGVhZGVyLWFjY291bnQgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gIH1cbiAgI2hlYWRlci1hY2NvdW50IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDY0NUFEO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFjY291bnQgTGlua3NcbiAqL1xuI2hlYWRlci1hY2NvdW50IHtcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbiNoZWFkZXItYWNjb3VudCBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNoZWFkZXItYWNjb3VudCBhOmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlciAtIENhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBDYXJ0XG4gKi9cbi5za2lwLWNhcnQ6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIgLmljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtOTVweDtcbn1cblxuLnNraXAtY2FydCAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAuc2tpcC1jYXJ0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbiAgI2hlYWRlci1jYXJ0LnNraXAtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgQ2FydCBOb3RpZmllclxuICovXG4uc2tpcC1jYXJ0IC5jb3VudCB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiAtNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNiwgNjksIDE3MywgMC45KTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uc2tpcC1saW5rLnNraXAtYWN0aXZlIC5jb3VudCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNraXAtY2FydC5uby1jb3VudCAuY291bnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gIC5za2lwLWNhcnQgLmNvdW50IHtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAuc2tpcC1jYXJ0IHtcbiAgICBjb2xvcjogIzA2NDVBRDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5za2lwLWNhcnQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAuc2tpcC1jYXJ0IC5jb3VudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuc2tpcC1jYXJ0IC5jb3VudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJztcbiAgfVxuICAuc2tpcC1jYXJ0IC5jb3VudDphZnRlciB7XG4gICAgY29udGVudDogJyknO1xuICB9XG4gIC5za2lwLWNhcnQgLmNvdW50LFxuICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIC5jb3VudCB7XG4gICAgY29sb3I6ICMwNjQ1QUQ7XG4gIH1cbn1cblxuLnNraXAtY2FydCAuY291bnQuZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNaW5pIENhcnQgLSBFbXB0eVxuICovXG4uY2FydC1tZW51IC5lbXB0eSB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWluaSBDYXJ0IC0gRnVsbFxuICovXG4vKiBBY3Rpb25zICovXG4uY2FydC1tZW51IC5hY3Rpb25zIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmNhcnQtbWVudSAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0OCU7XG59XG5cbi5jYXJ0LW1lbnUgLmFjdGlvbnMgLmJ1dHRvbiArIC5idXR0b24ge1xuICBtYXJnaW4tbGVmdDogNCU7XG59XG5cbi8qIFN1YnRvdGFsICovXG4uY2FydC1tZW51IC5zdWJ0b3RhbCB7XG4gIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLyogTGlzdCAqL1xuLm1pbmktY2FydC1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDkwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDkwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgLnByb2R1Y3QtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1pbmktY2FydC1saXN0IC5wcm9kdWN0LWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG59XG5cbi5taW5pLWNhcnQtbGlzdCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgLmhhcy1vcHRpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICM5QjlCOUI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLyogVG9vIGZ1bGwgLSBhZGRpdGlvbmFsIGl0ZW1zIHdpbGwgYmUgc2hvd24gaW4gY2FydCAqL1xuLmNhcnQtbWVudSAubGFzdC1hZGRlZCB7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdlbmVyYWwgUHJvZHVjdCBMaXN0IFN0eWxlcyAobm90IG1vZHVsZS1zcGVjaWZpYylcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb2R1Y3QgTGlzdCBHZW5lcmFsXG4gKi9cbi5jYXRlZ29yeS10aXRsZSBoMSxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtdGl0bGUgaDEge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY2F0ZWdvcnktaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCAuYWN0aW9uIC5idXR0b24sXG4ucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJvZHVjdCBHcmlkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2R1Y3RzLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0cy1ncmlkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCA+IGxpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2UgaW1nOmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aWRnZXQtbmV3LXByb2R1Y3RzIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIHtcbiAgd2lkdGg6IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDEwJTtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDk1cHg7XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5hY3Rpb25zIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIG1pbi1oZWlnaHQ6IDg1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyAuYW1vdW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByaWNlLWJveCB7XG4gIG1hcmdpbjogMCAwIDVweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLmFkZC10by1saW5rcyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIENvbmZpZzogVHdvIGNvbHVtbnMgKyBmbGV4aWJsZSBndXR0ZXIgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByb2R1Y3QgTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9kdWN0cy1saXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgPiBsaSB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCA+IGxpIC5wcm9kdWN0LWltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5wcm9kdWN0cy1saXN0ID4gbGkgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3RzLWxpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3Age1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucmF0aW5ncyB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucmF0aW5ncyAucmF0aW5nLWJveCxcbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnJhdGluZ3MgLnJhdGluZy1saW5rcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucmF0aW5ncyAucmF0aW5nLWxpbmtzIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3gge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5hY3Rpb24ge1xuICBtYXJnaW46IDdweCAwO1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5kZXNjIHtcbiAgbWFyZ2luLXRvcDogN3B4O1xufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LXByaW1hcnksXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5kZXNjIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA2NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3Qtc2Vjb25kYXJ5IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMzUlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY2xlYXI6IHJpZ2h0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtcHJpbWFyeSxcbiAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAuZGVzYyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3Qtc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtcHJpbWFyeSxcbiAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1zZWNvbmRhcnksXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLmRlc2Mge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNaW5pIFByb2R1Y3QgTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5taW5pLXByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaW1hZ2Uge1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiA1MHB4O1xufVxuXG4ubWluaS1wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWRldGFpbHMge1xuICBtYXJnaW4tbGVmdDogNjBweDtcbn1cblxuLm1pbmktcHJvZHVjdHMtbGlzdCAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLm1pbmktcHJvZHVjdHMtbGlzdCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWluaS1wcm9kdWN0cy1saXN0IGxpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1pbmktcHJvZHVjdHMtaW1hZ2VzLWxpc3Q6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdCBsaS5pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA1cHggMTBweCAwO1xufVxuXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdCBsaS5pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdCBsaS5pdGVtIC5wcm9kdWN0LWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5taW5pLXByb2R1Y3RzLWltYWdlcy1saXN0IGxpLml0ZW0gLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2F0ZWdvcnktaW1hZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uY2F0ZWdvcnktaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNhdGVnb3J5LWltYWdlIGltZzpoaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMYXllcmVkIE5hdmlnYXRpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLXN1YnRpdGxlLS1maWx0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbGVmdDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDMlKTtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50IC50b2dnbGUtdGFicyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgbGVmdDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjRjRGNEY0LCAzJSk7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZGQge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci13aWR0aDogMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgZGwgZGQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgZGwgZGQgb2wgPiBsaSA+IHNwYW4sIC5ibG9jay1sYXllcmVkLW5hdiBkbCBkZCBvbCA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDVweCAxNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IGRsIGRkIG9sID4gbGkgPiBhIC5jb3VudCB7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnNpZGViYXIgLmJsb2NrLmJsb2NrLWxheWVyZWQtbmF2IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdi0tbm8tZmlsdGVycyAuYmxvY2stdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMDY0NUFEO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQubGFzdCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50LmFjY29yZGlvbi1vcGVuID4gZGwgPiBkdC5jdXJyZW50IHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50LmFjY29yZGlvbi1vcGVuID4gZGwgPiBkdC5jdXJyZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwNjQ1QUQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBsZWZ0OiA2cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGRkLmN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDVBRDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLXN1YnRpdGxlLS1maWx0ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNGRkZGRkY7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gIH1cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDUzYjk0O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlci5hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgI0ZGRkZGRjtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgI25hcnJvdy1ieS1saXN0LFxuICAjbmFycm93LWJ5LWxpc3QyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGEsXG4gIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gc3BhbiB7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIG1hcmdpbjogNXB4O1xuICB9XG4gIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgfVxuICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBzaGFkZSgjRjRGNEY0LCAzJSk7XG4gIH1cbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgLmJsb2NrLXN1YnRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgb2wge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5IG9sIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmN1cnJlbnRseSBvbCBsaSAubGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgb2wgbGk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmFjdGlvbnMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsIC5leHRyYS1pbmZvIC5yYXRpbmdzIC5yYXRpbmctYm94LFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1lc3NlbnRpYWwgLmV4dHJhLWluZm8gLnJhdGluZ3MgLmFtb3VudCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuZXh0cmEtaW5mbyAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuZXh0cmEtaW5mbyAucmF0aW5nczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LW5hbWUgLmgxLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUgaDEge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3Age1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIC5oMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuZXh0cmEtaW5mbyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBjbGVhcjogbGVmdDtcbiAgd2lkdGg6IDcwJTtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1pbmZvIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8sXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWluZm8ge1xuICBtYXgtd2lkdGg6IDcwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnJhdGluZ3Mge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuYXZhaWxhYmlsaXR5IHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5vbGQtcHJpY2UsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSxcbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2UgLnByaWNlLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLmZ1bGwtcHJvZHVjdC1wcmljZSAucHJpY2Uge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHNwYW4ud2VlZSB7XG4gIGNvbG9yOiAjMTExO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSBzcGFuLndlZWUgc3Bhbi5wcmljZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzExMTtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLmxhYmVsLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCAucHJpY2Uge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByaWNlLWJveC5tYXAtaW5mbyBhIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbn1cblxuLnByb2R1Y3QtdmlldyAub2xkLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LXdyYXBwZXIsXG4ucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjbGVhcjogcmlnaHQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLmxhYmVsLFxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLmxhYmVsLFxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggc3BhbixcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnByb2R1Y3QtaW1nLWJveCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUgaDEge1xuICBib3JkZXI6IDA7XG59XG5cbi5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzUwcHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkgLmdhbGxlcnktaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IC5nYWxsZXJ5LWltYWdlLnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSAuZ2FsbGVyeS1pbWFnZS52aXNpYmxlLmhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeTpiZWZvcmUsIC5wcm9kdWN0LWltYWdlLWdhbGxlcnk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAwLjg7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3BjLWFqYXgtbG9hZGVyLmdpZlwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB6LWluZGV4OiAzO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5LmxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkubG9hZGluZzpiZWZvcmUsIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkubG9hZGluZzphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZHVjdC1pbWFnZS10aHVtYnMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wcm9kdWN0LWltYWdlLXRodW1icyBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4ucHJvZHVjdC1pbWFnZS10aHVtYnMgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5uby10b3VjaCAucHJvZHVjdC1pbWFnZS10aHVtYnMgYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2M3YzdjNztcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlcixcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5wcm9kdWN0LWltZy1ib3gge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4ucHJvZHVjdC1pbWctYm94LFxuLnByb2R1Y3QtY29sbGF0ZXJhbCxcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4uYm94LWNvbGxhdGVyYWwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IHtcbiAgLyogU2V0IGEgbWluLWhlaWdodCBzbyB0aGF0IHRoZSBmbG9hdGVkIGVsZW1lbnRzIGJyZWFrIGFwcHJvcHJpYXRlbHkgKi9cbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWJveDphZnRlcixcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQge1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94LFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCxcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlcixcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLmJ1dHRvbixcbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyIGxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgbGFiZWwge1xuICBsaW5lLWhlaWdodDogNDBweDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyIC5xdHkge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIC5wYXlwYWwtbG9nbyB7XG4gIGNsZWFyOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5wYXlwYWwtYnV0dG9uIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTcwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5ibWxfYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNzRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5ibWxfYnV0dG9uIGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMHB4IDMwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWxlcnQtcHJpY2UsXG4ucHJvZHVjdC12aWV3IC5hbGVydC1zdG9jayB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1vciB7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWxvZ28sXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1vcixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWJ1dHRvbixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8qIFRoaXMgaXMgdGhlIFwib3JcIiB0aGF0IHNlcGFyYXRlcyB0aGUgXCJBZGQgdG8gQ2FydFwiIGFuZCBcIkFkZCB0byBYXCIgbGlua3MgKi9cbi5hZGQtdG8tYm94IC5vciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rcyB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rcyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tbGlua3MgYSB7XG4gIHBhZGRpbmc6IDJweCA3cHggMnB4IDBweDtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWxpbmtzIGxpOmZpcnN0LWNoaWxkIGEge1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tbGlua3MgbGk6bGFzdC1jaGlsZCBhIHtcbiAgYm9yZGVyLXJpZ2h0OiAwcHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3Mge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMHB4IDdweCA3cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYSB7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbn1cblxuLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rcyBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay13aXNobGlzdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjI1cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYS5saW5rLWNvbXBhcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTI1MHB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay1lbWFpbC1mcmllbmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTMyMnB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay1mYWNlYm9vayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDI1cHg7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYS5saW5rLXR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTM3MnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5hZGQtdG8tYm94IC5hZGQtdG8tbGlua3MgYSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gIH1cbn1cblxuLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sbGF0ZXJhbC10YWJzIGRkIGgyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJveC1jb2xsYXRlcmFsIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkgPiBzcGFuIHtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiAtMXB4O1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIGxpLmN1cnJlbnQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDAwO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIGxpLmN1cnJlbnQgPiBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIHotaW5kZXg6IDU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkuY3VycmVudCBzcGFuLFxuICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaTpob3ZlciBzcGFuIHtcbiAgICBjb2xvcjogIzA2NDVBRDtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZGQuY3VycmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdCB7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZzogN3B4IDEwcHggN3B4IDI0cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI0Y0RjRGNCwgMyUpO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGRkIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMDY0NUFEO1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGR0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDY0NUFEO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgfVxuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdC5sYXN0IHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbC5hY2NvcmRpb24tb3BlbiA+IGRsID4gZHQuY3VycmVudCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGR0LmN1cnJlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzA2NDVBRDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGxlZnQ6IDZweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGRkLmN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC13cmFwcGVyLFxuICAucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuICAucHJvZHVjdC1pbWctYm94LFxuICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4gIC5wcm9kdWN0LWltZy1ib3gsXG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwsXG4gIC5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4gIC5ib3gtY29sbGF0ZXJhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4ucHJvZHVjdC12aWV3IC5yYXRpbmdzIC5yYXRpbmctbGlua3Mge1xuICBjbGVhcjogbGVmdDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNwcm9kdWN0LWF0dHJpYnV0ZS1zcGVjcy10YWJsZSB7XG4gIG1heC13aWR0aDogNTBlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0MwQzBDMDtcbn1cblxuI3Byb2R1Y3QtYXR0cmlidXRlLXNwZWNzLXRhYmxlIHRoIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0MwQzBDMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDMEMwQzA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENhdGFsb2cgLSBHcm91cGVkIFByb2R1Y3QgTGlzdFxuICovXG4uZ3JvdXBlZC1pdGVtcy10YWJsZS13cmFwcGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI0MwQzBDMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5ncm91cGVkLWl0ZW1zLXRhYmxlLXdyYXBwZXIgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmdyb3VwZWQtaXRlbXMtdGFibGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4uZ3JvdXBlZC1pdGVtcy10YWJsZSAubmFtZS13cmFwcGVyIHtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUgLnF0eS13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbn1cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUgLnF0eS1sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG59XG5cbi5ncm91cGVkLWl0ZW1zLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogNHB4O1xufVxuXG4uZ3JvdXBlZC1pdGVtcy10YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IDMwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUgLnByaWNlLWJveCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdCBPcHRpb25zXG4gKi9cbi5wcm9kdWN0LW9wdGlvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgcGFkZGluZzogMTBweCAxNXB4IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIGNsZWFyOiBib3RoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgcC5yZXF1aXJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnJlcXVpcmVkIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZHQge1xuICBtYXJnaW46IDEwcHggMCAzcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZHQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktaG9sZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIgLnF0eSB7XG4gIHdpZHRoOiAzZW07XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIgbGFiZWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDAgMnB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIHtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkbC5sYXN0IGRkLmxhc3Qge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDk4JTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtYm94IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgaW5wdXQuZGF0ZXRpbWUtcGlja2VyIHtcbiAgd2lkdGg6IDE1MHB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC50aW1lLXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgdGV4dGFyZWEge1xuICB3aWR0aDogOTglO1xuICBoZWlnaHQ6IDhlbTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCBzZWxlY3Qge1xuICB3aWR0aDogMzMwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGkge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAucmFkaW8sXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAuY2hlY2tib3gge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHAubm90ZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgYm9yZGVyLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b206YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1wcmljaW5nLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IDA7XG4gIGNvbG9yOiAjMTExO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1wcmljaW5nLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQztcbiAgfVxufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMgbGkge1xuICBiYWNrZ3JvdW5kOiAwO1xuICBwYWRkaW5nOiAycHggMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIC5wcmljZSxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyAuYmVuZWZpdCB7XG4gIGNvbG9yOiAjMTExO1xufVxuXG4vKiBcImRpc3BsYXk6IG5vbmVcIiBzaG91bGQgYmUgcmVtb3ZlZCBpZiBwcm9kdWN0cyBvbiBzaXRlIGhhdmUgYSBsb25nIGxpc3Qgb2YgcHJvZHVjdCBvcHRpb25zIGFuZCB0aG9zZSBwcm9kdWN0IG9wdGlvbnMgKi9cbi8qICBhZmZlY3QgdGhlIHByaWNlIHNvIHRoYXQgdGhlIGN1c3RvbWVyIGNhbiBzZWUgdGhlIHVwZGF0ZWQgcHJpY2UgY2xvc2UgdG8gdGhlIFwiQWRkIHRvIENhcnRcIiBidXR0b24gKi9cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3gge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCAucHJpY2UtYXMtY29uZmlndXJlZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCAucHJpY2UtYXMtY29uZmlndXJlZCAucHJpY2UtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS10YXgge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmVsYXRlZCBQcm9kdWN0c1xuICovXG4vKiBCbG9jazogUmVsYXRlZCAqL1xuLmJsb2NrLXJlbGF0ZWQgbGkge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5ibG9jay10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5ibG9jay10aXRsZSBoMiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLXN1YnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5jaGVja2JveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAzNnB4O1xufVxuXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdC1kZXRhaWxzIHtcbiAgbWFyZ2luLWxlZnQ6IDkwcHg7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LW5hbWUge1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCB7XG4gIG1hcmdpbjogMnB4IDAgM3B4O1xufVxuXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdC1kZXRhaWxzIC5wcmljZS1ib3ggYSxcbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBwLFxuLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94IHNwYW4ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94IGE6Zmlyc3QtY2hpbGQsXG4uYmxvY2stcmVsYXRlZCAucHJvZHVjdC1kZXRhaWxzIC5wcmljZS1ib3ggcDpmaXJzdC1jaGlsZCxcbi5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmJsb2NrLXJlbGF0ZWQgLmxpbmstd2lzaGxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBVcHNlbGwgUHJvZHVjdHNcbiAqL1xuLmJveC11cC1zZWxsIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmJveC11cC1zZWxsIC5yYXRpbmdzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIE1TUlAgTUFQIFBvcHVwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcnQtbXNycC10b3RhbHMge1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMTBweCAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWFwLWNhcnQtc2lkZWJhci10b3RhbCB7XG4gIGNvbG9yOiByZWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAycHggNXB4O1xufVxuXG4ubWFwLXBvcHVwIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiA1cHggc29saWQgIzAwMDtcbiAgbWFyZ2luOiAxMnB4IDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogNDUwcHg7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAubWFwLXBvcHVwLm1hcC1wb3B1cC1yaWdodCB7XG4gICAgbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYXAtcG9wdXAubWFwLXBvcHVwLWxlZnQge1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICByaWdodDogMTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLm1hcC1wb3B1cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWhlYWRpbmcge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWhlYWRpbmcgaDMge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtaGVhZGluZyBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHdpZHRoOiAzNnB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFREVERUQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogMCAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IHtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgZm9ybTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAuYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAycHg7XG4gIGNsZWFyOiBsZWZ0O1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDIxMHB4O1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbGVmdDtcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIGNsZWFyOiBsZWZ0O1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyAuYm1sX2J1dHRvbiBhIHtcbiAgY2xlYXI6IGxlZnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5idXR0b24sXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAuYWRkaXRpb25hbC1hZGR0b2NhcnQtYm94LFxuICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIGEsXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5hZGRpdGlvbmFsLWFkZHRvY2FydC1ib3gge1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtcHJpY2Uge1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLXByaWNlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtcHJpY2UgLnByaWNlLWJveCxcbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC10ZXh0IHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBtYXJnaW46IDAgMTBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubWFwLXBvcHVwIC5tYXAtcG9wdXAtdGV4dCxcbi5tYXAtcG9wdXAgLm1hcC1wb3B1cC1vbmx5LXRleHQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIE1TUlAgUHJvZHVjdCBMaXN0aW5nXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByaWNlLWJveCAubWFwLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gQ29tcGFyZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ibG9jay1jb21wYXJlIC5wcm9kdWN0LW5hbWU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29tcGFyZS10YWJsZSAucHJvZHVjdC1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNvbXBhcmUtdGFibGUgLnByb2R1Y3Qtc2hvcC1yb3cudG9wIHRkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jb21wYXJlLXRhYmxlIC5wcm9kdWN0LXNob3Atcm93LmJvdHRvbSB0ZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIExheW91dFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJ0IHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY2FydCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2FydC10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FydCAuYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmNhcnQtZm9ybXMsXG4uY2FydC10b3RhbHMtd3JhcHBlcixcbi5jcm9zc3NlbGwge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNsZWFyOiByaWdodDtcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uY2FydC10b3RhbHMsXG4uY2FydC1mb3JtcyAuZGlzY291bnQsXG4uY2FydC1mb3JtcyAuZ2lmdGNhcmQsXG4uY2FydC1mb3JtcyAuc2hpcHBpbmcge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uY2FydC10YWJsZSxcbi5jYXJ0LXRvdGFscyxcbi5jYXJ0LWZvcm1zIC5kaXNjb3VudCxcbi5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCxcbi5jYXJ0LWZvcm1zIC5zaGlwcGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4ICNwb3N0Y29kZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY2FydC10YWJsZSB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtZm9ybXMge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY2FydC10b3RhbHMtd3JhcHBlcixcbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jcm9zc3NlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LWZvcm1zLFxuLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY3Jvc3NzZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmRpc3BsYXktYm90aC1wcmljZXMgLmNyb3Nzc2VsbCB7XG4gIGNsZWFyOiByaWdodDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY2FydC10YWJsZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jYXJ0LWZvcm1zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jYXJ0LWZvcm1zLFxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnByb2R1Y3QtY2FydC1za3Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtZm9ybXMsXG4gIC5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAuZGlzcGxheS1ib3RoLXByaWNlcyAuY3Jvc3NzZWxsLFxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtZm9ybXMsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY2FydC10b3RhbHMtd3JhcHBlcixcbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jcm9zc3NlbGwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5kaXNwbGF5LXNpbmdsZS1wcmljZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gQ2FydFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jaGVja291dC10eXBlcyB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogV2UgYWx3YXlzIHdhbnQgdGhpcyBzaGlwcGluZyBtZXRob2QgdG8gZGlzcGxheSBvbiBpdHMgb3duIGxpbmUgKi9cbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAwIDAgNXB4IDVweDtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGxpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jaGVja291dC10eXBlcyAubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1tdWx0aXNoaXBwaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgLmJtbF9idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgLmJtbF9idXR0b24gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jaGVja291dC10eXBlcy50b3AgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5jaGVja291dC10eXBlcy5ib3R0b20gLnBheXBhbC1sb2dvIGEsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLWxvZ28gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2hlY2tvdXQtdHlwZXMuYm90dG9tIC5wYXlwYWwtb3IsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLW9yIHtcbiAgbWFyZ2luOiAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzQxcHgpIHtcbiAgLmNoZWNrb3V0LXR5cGVzLmJvdHRvbSAucGF5cGFsLW9yIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICB9XG59XG5cbi5jYXJ0LXRvdGFscyAuY2hlY2tvdXQtdHlwZXMgLmJ0bi1jaGVja291dCB7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDBweCkge1xuICAuY2hlY2tvdXQtdHlwZXMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY2hlY2tvdXQtdHlwZXMuYm90dG9tIC5wYXlwYWwtb3IsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLW9yIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY2hlY2tvdXQtdHlwZXMgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmJ0bi1jaGVja291dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNhcnQtdGFibGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5jYXJ0LXRhYmxlIHRoLFxuLmNhcnQtdGFibGUgdGQsXG4uY2FydC10YWJsZSB0Ym9keSB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jYXJ0LXRhYmxlIGgyIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcnQtdGFibGUgdGhlYWQgdGgsXG4uY2FydC10YWJsZSB0Ym9keSB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWluZm8sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jYXJ0LXRhYmxlIHRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmNhcnQtdGFibGUgdGZvb3QgdHIgPiB0ZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jYXJ0LXRhYmxlIHNwYW4ub3Ige1xuICBmb250LXNpemU6IDlweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSAuY2FydC1saW5rcyxcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtaW5mbyAuYnRuLXJlbW92ZSxcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSAucHJvZHVjdC1pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIGEuY2FydC1lZGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1za3Uge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW46IDVweCAwIDEycHg7XG59XG5cbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtc2t1IC5sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jYXJ0LXRhYmxlIC5idG4tZW1wdHkge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC10b3RhbCxcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtcHJpY2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jYXJ0LXRhYmxlIC5jYXJ0LXRheC10b3RhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FydC10YWJsZSAuY2FydC10YXgtdG90YWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkICMxMTE7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogM3B4O1xuICByaWdodDogLTExcHg7XG59XG5cbi5jYXJ0LXRhYmxlIC5jYXJ0LXRheC10b3RhbC5jYXJ0LXRheC10b3RhbC1leHBhbmRlZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICMxMTE7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHJpZ2h0OiAtMTVweDtcbiAgdG9wOiA2cHg7XG59XG5cbi5jYXJ0LXRhYmxlIC5jYXJ0LWxpbmtzID4gbGkge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1pbi13aWR0aDogNjVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICBtaW4td2lkdGg6IDYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5xdHkge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1jb2xvcjogIzExMTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMy4yZW07XG59XG5cbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY2FydC10YWJsZSAuaXRlbS1vcHRpb25zIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5jYXJ0LXRhYmxlIHRoIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgdGgsXG4gIC5jYXJ0LXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiA3cHggNnB4O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyA+IGxpIHtcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gIC5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LXRhYmxlIHRoZWFkIHRoLmNhcnQtdG90YWwtaGVhZCxcbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdGFibGUgdGQucHJvZHVjdC1jYXJ0LXRvdGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNhcnQtdGFibGUgY29sZ3JvdXAsIC5jYXJ0LXRhYmxlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jYXJ0LXRhYmxlIHRyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY2FydC10YWJsZSB0cjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmNhcnQtdGFibGUgdHI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuY2FydC10YWJsZSB0Zm9vdCB0ciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLmNhcnQtdGFibGUgdGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2FydC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgdGRbZGF0YS1yd2QtbGFiZWxdIC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuICAuY2FydC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLWxhYmVsKSBcIjpcIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5jYXJ0LXRhYmxlIHRkLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuY2FydC10YWJsZSBoMiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWxpbmtzIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxuICAuY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMnB4IDBweDtcbiAgfVxuICAuY2FydC10YWJsZSAuY2FydC10YXgtaW5mbyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtdGF4LWluZm8gLnByaWNlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIGEuY2FydC1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvLFxuICAuY2FydC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyxcbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtcmVtb3ZlLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LXRvdGFsLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmNhcnQtbGlua3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSAuY2FydC1saW5rcyxcbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvIC5idG4tcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWluZm8gLmJ0bi1yZW1vdmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IC00cHggMHB4IDJweCA3cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAucXR5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLnByaWNlLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LXByaWNlOmJlZm9yZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWZvb3Rlci1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtZm9vdGVyLWFjdGlvbnMgI2VtcHR5X2NhcnRfYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtZm9vdGVyLWFjdGlvbnMgLmJ0bi1jb250aW51ZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtZm9vdGVyLWFjdGlvbnMgLmJ0bi11cGRhdGUsXG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWZvb3Rlci1hY3Rpb25zIHNwYW4ub3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdGFibGUgdGRbZGF0YS1yd2QtdGF4LWxhYmVsXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1yd2QtdGF4LWxhYmVsKSBcIjpcIjtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIEVzdGltYXRlIFNoaXBwaW5nIGFuZCBUYXhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2hpcHBpbmcgaDIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgMCA1cHg7XG59XG5cbi5zaGlwcGluZyBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMTE7XG59XG5cbi5zaGlwcGluZyBzZWxlY3QudmFsaWRhdGlvbi1mYWlsZWQge1xuICBib3JkZXItY29sb3I6ICNEQzIwMjI7XG59XG5cbi5zaGlwcGluZyAuc2hpcHBpbmctZGVzYyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zaGlwcGluZyAuYnV0dG9ucy1zZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNoaXBwaW5nIC5mb3JtLWxpc3Q6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2hpcHBpbmcgLmZvcm0tbGlzdCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDVweCAyJSAxMHB4IDA7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IC5zaGlwcGluZy1jb3VudHJ5IHtcbiAgd2lkdGg6IDM3JTtcbn1cblxuLnNoaXBwaW5nIC5mb3JtLWxpc3QgLnNoaXBwaW5nLXJlZ2lvbiB7XG4gIHdpZHRoOiA0MSU7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IC5zaGlwcGluZy1wb3N0Y29kZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDE4JTtcbn1cblxuLnNoaXBwaW5nIC5mb3JtLWxpc3QgLnNoaXBwaW5nLXBvc3Rjb2RlIGlucHV0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uc2hpcHBpbmcgLmZvcm0tbGlzdCAuaW5wdXQtYm94IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IGlucHV0IHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5zaGlwcGluZyAuZm9ybS1saXN0IGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zaGlwcGluZyAuc3AtbWV0aG9kcyB7XG4gIHBhZGRpbmc6IDEwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2hpcHBpbmcgLnNwLW1ldGhvZHMgZGQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc2hpcHBpbmcgLnNwLW1ldGhvZHMgbGFiZWwge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtaW4td2lkdGg6IDEwMHB4O1xufVxuXG4uc2hpcHBpbmcgLnNwLW1ldGhvZHMgbGFiZWwgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnNoaXBwaW5nICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNoaXBwaW5nICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBsYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDMlKTtcbiAgbWluLXdpZHRoOiAyMjBweDtcbn1cblxuLnNoaXBwaW5nICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNGNEY0RjQsIDEwJSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSBpbnB1dCxcbiAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2FydCAuY2FydC10b3RhbHM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY2FydCAuY2FydC10b3RhbHMgdGFibGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDJweCAwcHg7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIG1pbi13aWR0aDogMTIwcHg7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGgge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRmb290IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNkU2RTY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTZFNkU2O1xufVxuXG4uY2FydCAuY2FydC10b3RhbHMgdGFibGUgdGZvb3QgdGQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCBzdHJvbmcgc3Bhbixcbi5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCBzcGFuLnByaWNlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4uY2FydCAuY2FydC10b3RhbHMgdGFibGUgdGZvb3Qgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY2FydC10b3RhbHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRmb290IHRkIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cblxuLmRpc2NvdW50LWZvcm06YWZ0ZXIsXG4jZ2lmdGNhcmQtZm9ybTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiNkaXNjb3VudC1jb3Vwb24tZm9ybSxcbi5jYXJ0IC5naWZ0Y2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0gaDIsXG4uY2FydCAuZ2lmdGNhcmQgaDIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0gLmZpZWxkLXdyYXBwZXIsXG4uY2FydCAuZ2lmdGNhcmQgLmZpZWxkLXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNkaXNjb3VudC1jb3Vwb24tZm9ybSAudmFsaWRhdGlvbi1hZHZpY2UsXG4uY2FydCAuZ2lmdGNhcmQgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0gLmJ1dHRvbi13cmFwcGVyLFxuLmNhcnQgLmdpZnRjYXJkIC5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5idXR0b24td3JhcHBlciA+IGJ1dHRvbixcbi5jYXJ0IC5naWZ0Y2FyZCAuYnV0dG9uLXdyYXBwZXIgPiBidXR0b24ge1xuICBmbG9hdDogbGVmdDtcbn1cblxuI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5pbnB1dC10ZXh0LFxuLmNhcnQgLmdpZnRjYXJkIC5pbnB1dC10ZXh0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDRweCAxMHB4IDAgMDtcbiAgd2lkdGg6IDE5MHB4O1xufVxuXG4uY2FydCAuZ2lmdGNhcmQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuLmNhcnQgLmdpZnRjYXJkIC5jaGVjay1nYy1zdGF0dXMge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4uY2FydCAuZ2lmdGNhcmQgLmNoZWNrLWdjLXN0YXR1cyA+IHNwYW4gPiBzcGFuIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBDYXJ0IENyb3NzIHNlbGxcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY3Jvc3NzZWxsIGgyIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi5jcm9zc3NlbGwgLml0ZW0gYS5wcm9kdWN0LWltYWdlIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBDaGFuZ2UgdGhlIGxheW91dCB0byAyIGNvbHVtbnMgYXQgYSBicmVha3BvaW50IHRoYXQgaXMgaGlnaGVyIHRoYW4gYSAzIGNvbHVtbnMgbGF5b3V0IHdvdWxkIG5vcm1hbGx5IGJyZWFrICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5jcm9zc3NlbGwge1xuICAgIC8qIFVuZG8gdGhyZWUtY29sdW1uIGNvbmZpZyAqL1xuICB9XG4gIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbiksXG4gIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGkge1xuICAgIHdpZHRoOiA0Ny43MjcyNyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA0LjU0NTQ1JTtcbiAgfVxuICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LXRheC10b3RhbDphZnRlciB7XG4gICAgcmlnaHQ6IC05cHg7XG4gIH1cbiAgLmNhcnQtdGFibGUgLmNhcnQtdGF4LXRvdGFsLmNhcnQtdGF4LXRvdGFsLWV4cGFuZGVkOmFmdGVyIHtcbiAgICByaWdodDogLTEzcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAuY3Jvc3NzZWxsIHVsIC5pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDBweCA0MHB4O1xuICB9XG4gIC5jcm9zc3NlbGwgdWwgLnByb2R1Y3QtZGV0YWlscyAuY3Jvc3NzZWxsLWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gT25lIFBhZ2VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLXJpZ2h0LFxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1sZWZ0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY4Ljc1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtcmlnaHQsXG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbGVmdCB7XG4gICAgd2lkdGg6IDMxLjI1JTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLm9wYyBzZWxlY3Qge1xuICB3aWR0aDogMzY1cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlY3Rpb24gU3R5bGluZyAtIERlZmF1bHRcbiAqL1xuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzliOWI5YjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBVc2luZyAubm8tdG91Y2ggc2luY2UgdG91Y2ggZGV2aWNlcyBlbXVsYXRlIGhvdmVyLCB0aGVyZWJ5IG1ha2luZyBzdGVwcyBsb29rIGFjdGl2ZSB0aGF0IGFyZSBub3QgKi9cbi5uby10b3VjaCAub3BjIC5zZWN0aW9uLmFsbG93Om5vdCguYWN0aXZlKSAuc3RlcC10aXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgYSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDY0NUFEICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm5vLXRvdWNoIC5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSAubnVtYmVyLFxuLm9wYyAuc2VjdGlvbi5hbGxvdy5hY3RpdmUgLnN0ZXAtdGl0bGUgLm51bWJlcixcbi5uby10b3VjaCAub3BjIC5zZWN0aW9uLmFsbG93OmhvdmVyIC5zdGVwLXRpdGxlIC5udW1iZXIge1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ub3BjIC5zZWN0aW9uIC5zdGVwOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAub3BjIC5zZWN0aW9uIC5zdGVwIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG59XG5cbi5vcGMgc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiAzNjVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vcGMgaDMge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub3BjIC5idXR0b25zLXNldCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5vcGMgLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm9wYyAuYnV0dG9ucy1zZXQgcC5yZXF1aXJlZCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm9wYyAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3BjIC5idXR0b25zLXNldCBhIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNXB4IDVweCA1cHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAub3BjIC5idXR0b25zLXNldCAuYnV0dG9uICsgLmJ1dHRvbnMtc2V0IC5idXR0b24sXG4gIC5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLmJ1dHRvbnMtc2V0IC5idXR0b24gKyAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLm9wYyAjb3BjLWxvZ2luIC5zdGVwIHtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4ub3BjICNvcGMtbG9naW4gLmJ1dHRvbnMtc2V0IHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAub3BjICNvcGMtbG9naW4gLmRlc2NyaXB0aW9uLFxuICAub3BjICNvcGMtbG9naW4gcC5yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jb3BjLXBheW1lbnQgLm5vdGUge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaGlzIHNlY3Rpb24gaGlkZXMgZXZlcnl0aGluZyBidXQgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgc3RlcCBvZiB0aGUgY2hlY2tvdXQgcHJvY2VzcyBhbmQgZmFkZXMgaW4gdGhlIGNvbnRlbnRcbiAqIG9uY2UgdGhlIGN1c3RvbWVyIHByb2dyZXNzZXMgdG8gdGhlIG5leHQgc3RlcC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBzaW1wbGlmeSB3aGF0IHRoZSBjdXN0b21lciBoYXMgdG8gZm9jdXMgb24uXG4gKiBJdCBpcyBsaW1pdGVkIHRvIGxhcmdlciB2aWV3cG9ydHMgc2luY2Ugc21hbGxlciBkZXZpY2VzIGFyZSBpbmhlcmVudGx5IGdvaW5nIHRvIGJlIGZvY3VzZWQgc29sZWx5IG9uIHRoZVxuICogXCJDaGVja291dCBNZXRob2RcIiBzdGVwLlxuICovXG4ub3BjLm9wYy1maXJzdHN0ZXAtbG9naW4gLnNlY3Rpb246bm90KCNvcGMtbG9naW4pIC5zdGVwLXRpdGxlLFxuLm9wYy1ibG9jay1wcm9ncmVzcy1zdGVwLWxvZ2luIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSAubnVtYmVyIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggODBtcztcbn1cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSBoMiB7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDgwbXM7XG59XG5cbi8qIFdoZW4gYSB1c2VyIHByb2dyZXNzZXMgZnJvbSB0aGUgXCJDaGVja291dCBNZXRob2RcIiB0byBcIkJpbGxpbmcgSW5mb3JtYXRpb25cIiBmb3IgdGhlIGZpcnN0IHRpbWUsIHRoZSAgICAgICAgICAgICAgKi9cbi8qIFwib3BjLWhhcy1wcm9ncmVzc2VkLWZyb20tbG9naW5cIiBjbGFzcyBnZXRzIGFkZGVkIHRvIHRoZSBib2R5LiBBbHNvLCB0aGUgLm9wYyBlbGVtZW50IHdpbGwgb25seSBoYXZlIHRoZSAgICAgICAgICovXG4vKiBcIm9wYy1maXJzdHN0ZXAtbG9naW5cIiBjbGFzcyBpZiB0aGUgZmlyc3Qgc3RlcCBvZiB0aGUgY2hlY2tvdXQgaXMgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgKGVnLCBub3Qgd2hlbiBsb2dnZWQgaW4pICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTaGlwcGluZyBhbmQgUGF5bWVudCBtZXRob2RzXG4gKi9cbi5zcC1tZXRob2RzIHtcbiAgbWFyZ2luOiAwIDAgOHB4O1xufVxuXG4uc3AtbWV0aG9kcyBkdCB7XG4gIG1hcmdpbjogMTNweCAwIDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zcC1tZXRob2RzIGR0OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xufVxuXG4uc3AtbWV0aG9kcyBkZCBsaSB7XG4gIG1hcmdpbjogNXB4IDA7XG59XG5cbi5zcC1tZXRob2RzIGxhYmVsIGltZyB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc3AtbWV0aG9kcyBsYWJlbCBhIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uc3AtbWV0aG9kcyAucHJpY2Uge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnNwLW1ldGhvZHMgLmZvcm0tbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnNwLW1ldGhvZHMgLmZvcm0tbGlzdCBsaSB7XG4gIG1hcmdpbjogMCAwIDhweDtcbn1cblxuLnNwLW1ldGhvZHMgc2VsZWN0Lm1vbnRoIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5zcC1tZXRob2RzIHNlbGVjdC55ZWFyIHtcbiAgd2lkdGg6IDk2cHg7XG59XG5cbi5zcC1tZXRob2RzIGlucHV0LmN2diB7XG4gIHdpZHRoOiA0ZW0gIWltcG9ydGFudDtcbn1cblxuLnNwLW1ldGhvZHMgI2FkdmljZS12YWxpZGF0ZS1jYy1leHAtY2NzYXZlX2V4cGlyYXRpb24ge1xuICBtYXgtd2lkdGg6IDEzMHB4O1xufVxuXG4uc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxpIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxhYmVsIHtcbiAgd2lkdGg6IDE2NXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zcC1tZXRob2RzIC5jaGVja21vLWxpc3QgYWRkcmVzcyB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5zcC1tZXRob2RzIC5jaGVja21vLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxhYmVsIHtcbiAgICB3aWR0aDogMTM1cHg7XG4gIH1cbn1cblxuLnNwLW1ldGhvZHMgLnJlbGVhc2UtYW1vdW50cyB7XG4gIG1hcmdpbjogMC41ZW0gMDtcbn1cblxuLnNwLW1ldGhvZHMgLnJlbGVhc2UtYW1vdW50cyBidXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMTBweCAwIDA7XG59XG5cbi8qIE9uZSBQYWdlIENoZWNrb3V0ICovXG4uYmxvY2stcHJvZ3Jlc3Mge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOWI5YjliO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmJsb2NrLXByb2dyZXNzIGR0IHtcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG4uYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmJsb2NrLXByb2dyZXNzIGRkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmJsb2NrLXByb2dyZXNzIGRkIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAjcGF5bWVudC1wcm9ncmVzcy1vcGNoZWNrb3V0IC5zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLmJsb2NrLXByb2dyZXNzIC5wYXltZW50LWluZm8gZHQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAzcHggMDtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAucGF5bWVudC1pbmZvIGR0OmFmdGVyIHtcbiAgY29udGVudDogJzogJztcbn1cblxuLmJsb2NrLXByb2dyZXNzIC5wYXltZW50LWluZm8gZGQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5ibG9jay1wcm9ncmVzcyAucGF5bWVudC1pbmZvOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogcmV2aWV3IHN0ZXAgKi9cbiNjaGVja291dC1yZXZpZXctdGFibGUgLmJ0bi1yZW1vdmUgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2NoZWNrb3V0LXJldmlldy10YWJsZS13cmFwcGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiNyZXZpZXctYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciAuYnRuLWNoZWNrb3V0IHtcbiAgbWluLXdpZHRoOiAyMjBweDtcbn1cblxuI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciAucGxlYXNlLXdhaXQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4jcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyIC5mLWxlZnQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmxpbmVhcml6ZS10YWJsZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIHNob3cvaGlkZSBcImNoYW5nZVwiIGxpbmsgZm9yIHByb2dyZXNzIHN0ZXAgZGVwZW5kIG9uIGNvbXBsZXRlIHN0YXR1c1xuICogc2hvdWxkIGJlIHBsYWNlZCBpbiAuY3NzIGZpbGUgKi9cbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgYSxcbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgLnNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm9wYy1ibG9jay1wcm9ncmVzcyBkdCBhLFxuLm9wYy1ibG9jay1wcm9ncmVzcyBkdCAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogT24gc21hbGwgc2NyZWVucywgdGhlIHByb2dyZXNzIHJldmlldyBjb250ZW50IHdpbGwgYmUgbW92ZWQgdG8gdGhlIHJldmlldyBzdGVwIHZpYSBKUy4gU3R5bGVkIHZpYSB0aGlzIENTUzogKi9cbiNjaGVja291dC1zdGVwLXJldmlldyAub3BjLWJsb2NrLXByb2dyZXNzIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xufVxuXG4jY2hlY2tvdXQtc3RlcC1yZXZpZXcgLm9wYy1ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCA+IGRsID4gZGl2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGRpdiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3MgLmJsb2NrLWNvbnRlbnQgLmNoYW5nZWxpbmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gICNjaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNjaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5jZW50aW5lbCA+IHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4jY2hlY2tvdXQtc3RlcC1yZXZpZXcgLmNlbnRpbmVsIGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLyogR2lmdCBvcHRpb25zICovXG4uZ2lmdC1tZXNzYWdlcy1mb3JtIC5pdGVtIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmdpZnQtbWVzc2FnZXMtZm9ybSAuaXRlbSBoNSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZ2lmdC1tZXNzYWdlcy1mb3JtIC5pdGVtIC5wcm9kdWN0LWltZy1ib3gge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0gLmRldGFpbHMge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5pbm5lci1ib3ggPiBkaXYge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5naWZ0LW1lc3NhZ2UtZm9ybSAuaW5uZXItYm94ID4gZGl2LmV4dHJhLW9wdGlvbnMtY29udGFpbmVyIHAge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtd3JhcHBpbmctZm9ybSBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LXdyYXBwaW5nLWZvcm0gaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC13cmFwcGluZy1mb3JtIC5naWZ0LXdyYXBwaW5nLWRlc2lnbiB7XG4gIGhlaWdodDogNzVweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LXdyYXBwaW5nLWZvcm0gLmdpZnQtd3JhcHBpbmctZGVzaWduOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LXdyYXBwaW5nLWZvcm0gLmdpZnQtd3JhcHBpbmctZGVzaWduIC5pbWFnZS1ib3gge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM5YjliOWI7XG59XG5cbi5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLnByb2R1Y3QtaW1nLWJveCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSB7XG4gIHdpZHRoOiA3NXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtaXRlbSAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLmZpZWxkc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdG1lc3NhZ2UtYXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtIC5wcm9kdWN0LWltZy1ib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtIC5maWVsZHNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtaXRlbSAuZmllbGRzZXQgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gU3VjY2Vzc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNvbC1tYWluIHtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5idXR0b25zLXNldCB7XG4gIG1hcmdpbjogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb25maWd1cmFibGUgU3dhdGNoZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDbGVhcnMgKi9cbi5jbGVhcmZpeDphZnRlcixcbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3Q6YWZ0ZXIsXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogR2VuZXJhbCBTd2F0Y2ggU3R5bGluZyAqL1xuLnN3YXRjaC1saW5rLFxuLnN3YXRjaC1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAtMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zd2F0Y2gtbGluayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIG1hcmdpbjogMCAwIDNweDtcbn1cblxuLnN3YXRjaC1saW5rIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IC0zcHg7XG59XG5cbi5zd2F0Y2gtbGluazpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc3dhdGNoLWxpbmsgLngge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZ194LnBuZykgY2VudGVyIG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTA7XG59XG5cbi5zd2F0Y2gtbGluay5oYXMtaW1hZ2UgLnN3YXRjaC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN3YXRjaC1saW5rLmhhcy1pbWFnZSBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLnN3YXRjaC1sYWJlbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICB6b29tOiAxO1xuICBjbGVhcjogYm90aDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB6b29tOiAxO1xuICBtYXJnaW46IDAgMCAwIDNweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAubm90LWF2YWlsYWJsZSAueCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC5zd2F0Y2gtbGluayB7XG4gIGJvcmRlci1jb2xvcjogI0VERURFRDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC5zd2F0Y2gtbGluay5oYXMtaW1hZ2UgaW1nIHtcbiAgb3BhY2l0eTogMC40O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC5zd2F0Y2gtbGFiZWwge1xuICBjb2xvcjogI2FhYTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAud2lkZS1zd2F0Y2ggLnN3YXRjaC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgNnB4O1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIGE6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4jbmFycm93LWJ5LWxpc3QgZGQgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gIG1hcmdpbjogMCAwIDAgM3B4O1xuICB3aWR0aDogNDclO1xufVxuXG4jbmFycm93LWJ5LWxpc3QgZGQgLnN3YXRjaC1saW5rIHtcbiAgYm9yZGVyOiBub25lO1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNuYXJyb3ctYnktbGlzdCBkZCAuc3dhdGNoLWxpbmsuaGFzLWltYWdlIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbiNuYXJyb3ctYnktbGlzdCBkZCAuc3dhdGNoLWxpbms6aG92ZXIgLnN3YXRjaC1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzA2NDVBRDtcbn1cblxuI25hcnJvdy1ieS1saXN0IGRkIC5zd2F0Y2gtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAtMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiAwIDVweCAwIDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbiNuYXJyb3ctYnktbGlzdCBkZCAuc3dhdGNoLWxhYmVsIGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IC0ycHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4jbmFycm93LWJ5LWxpc3QgZGQgLmhhcy1pbWFnZSAuc3dhdGNoLWxhYmVsIHtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAjbmFycm93LWJ5LWxpc3QgZGQgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaTpudGgtY2hpbGQob2RkKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cblxuLmN1cnJlbnRseSAuc3dhdGNoLWN1cnJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdXJyZW50bHkgLnN3YXRjaC1jdXJyZW50IC5idG4tcmVtb3ZlIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xufVxuXG4uY3VycmVudGx5IC5zd2F0Y2gtY3VycmVudCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3VycmVudGx5IC5zd2F0Y2gtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMCAzcHg7XG59XG5cbi5jdXJyZW50bHkgLnN3YXRjaC1saW5rOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIE90aGVyIFN3YXRjaCBTdGF0ZXMgKi9cbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgLmhvdmVyIC5zd2F0Y2gtbGluayxcbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgLnNlbGVjdGVkIC5zd2F0Y2gtbGluayxcbi5zd2F0Y2gtbGluazpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA2NDVBRDtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtYm94IHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1ib3ggc2VsZWN0LnN3YXRjaC1zZWxlY3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1ib3ggLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBiYWNrZ3JvdW5kOiAjREMyMDIyO1xuICBwYWRkaW5nOiAycHggNXB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IC0ycHg7XG59XG5cbi8qIENVU1RPTSAqL1xuLmF2YWlsYWJpbGl0eS5vdXQtb2Ytc3RvY2sgc3BhbiB7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIGxhYmVsLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIC5zd2F0Y2gtYXR0ciAuc2VsZWN0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc3dhdGNoLWF0dHIgLnNlbGVjdC1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMxMTE7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgZGQgLmlucHV0LWJveCB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc2VsZWN0LWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQgYnV0dG9uLm91dC1vZi1zdG9jayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zNjJweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDdXN0b21lclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5zY2FmZm9sZC1mb3JtIGxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgd2lkdGg6IDExNXB4O1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5idXR0b25zLXNldCBidXR0b24sXG4uY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBmbG9hdDogbm9uZTtcbiAgbWluLXdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB1bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuY29sLTEsXG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRURFREVEO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcwcHgpIHtcbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRURFREVEO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFREVERUQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgcC5yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLnNjYWZmb2xkLWZvcm0gbGFiZWw6Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogMTQwcHg7XG59XG5cbi5yZW1lbWJlci1tZS1ib3ggYS5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJlbWVtYmVyLW1lLWJveCAubGluay10aXAge1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLnJlbWVtYmVyLW1lLXBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAgcCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnJlbWVtYmVyLW1lLXBvcHVwIC5yZW1lbWJlci1tZS1wb3B1cC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAgLnJlbWVtYmVyLW1lLXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXQge1xuICBtYXgtd2lkdGg6IDQ1NXB4O1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0LFxuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5idXR0b25zLXNldCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQsXG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQgLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAjcmVtZW1iZXItbWUtcG9wdXAge1xuICBtYXgtd2lkdGg6IDQ1NXB4O1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzZXQsXG4uY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzZXQsXG4gIC5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkc2V0IC5pbnB1dC1ib3ggaW5wdXQuaW5wdXQtdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNeSBBY2NvdW50IEdsb2JhbCBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmZpZWxkc2V0IGgyLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCBoMixcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyBoMiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLm9yZGVyLWRldGFpbHMgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyAub3JkZXItbGlua3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmZpZWxkc2V0IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5maWVsZHNldCBoMi5sZWdlbmQge1xuICBib3JkZXI6IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAucGFnZS10aXRsZSBoMSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAudGl0bGUtYnV0dG9ucyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnRpdGxlLWJ1dHRvbnM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnRpdGxlLWJ1dHRvbnMgaDEge1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC50aXRsZS1idXR0b25zIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IC5pbnB1dC1ib3gge1xuICBwYWRkaW5nLXRvcDogMWVtO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmZvcm0tbGlzdCAuaW5wdXQtdGV4dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IHNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hMUzBnUjJWdVpYSmhkRzl5T2lCQlpHOWlaU0JKYkd4MWMzUnlZWFJ2Y2lBeE5TNHhMakFzSUZOV1J5QkZlSEJ2Y25RZ1VHeDFaeTFKYmlBdUlGTldSeUJXWlhKemFXOXVPaUEyTGpBd0lFSjFhV3hrSURBcElDQXRMVDROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWcwS0NTQjNhV1IwYUQwaU9DNDJNREZ3ZUNJZ2FHVnBaMmgwUFNJMUxqTTJjSGdpSUhacFpYZENiM2c5SWpBZ01DQTRMall3TVNBMUxqTTJJaUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0E0TGpZd01TQTFMak0ySWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNE5DanhuUGcwS0NUeHdiMng1WjI5dUlHWnBiR3c5SWlNNU56azNPVGNpSUhCdmFXNTBjejBpTkM0ekxEVXVNellnTUN3eExqQTJNU0F4TGpBMk1Td3dJRFF1TXl3ekxqSXpPU0EzTGpVME1Td3dJRGd1TmpBeExERXVNRFl4SUFraUx6NE5Dand2Wno0TkNqd3ZjM1puUGcwS1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTFweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDMycHggOHB4IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzY1cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3QgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmZvcm0tbGlzdCAuY29udHJvbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5mb3JtLWxpc3QgLmNvbnRyb2wgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDAuNGVtIDFlbSAwIDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sIGxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5idXR0b25zLXNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5idXR0b25zLXNldCAucmVxdWlyZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFlbSAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmJ1dHRvbnMtc2V0IC5iYWNrLWxpbmsge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIGNvbGdyb3VwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB0ZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRkIGEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgc3Bhbi5ub2JyIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHNwYW4ubm9iciBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiAwIDAuNWVtO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgdGQudmlldyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5wYWdlciAubGltaXRlciBzZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoTFMwZ1IyVnVaWEpoZEc5eU9pQkJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXhOUzR4TGpBc0lGTldSeUJGZUhCdmNuUWdVR3gxWnkxSmJpQXVJRk5XUnlCV1pYSnphVzl1T2lBMkxqQXdJRUoxYVd4a0lEQXBJQ0F0TFQ0TkNqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0RRbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnMEtDU0IzYVdSMGFEMGlPQzQyTURGd2VDSWdhR1ZwWjJoMFBTSTFMak0yY0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0E0TGpZd01TQTFMak0ySWlCbGJtRmliR1V0WW1GamEyZHliM1Z1WkQwaWJtVjNJREFnTUNBNExqWXdNU0ExTGpNMklpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajROQ2p4blBnMEtDVHh3YjJ4NVoyOXVJR1pwYkd3OUlpTTVOemszT1RjaUlIQnZhVzUwY3owaU5DNHpMRFV1TXpZZ01Dd3hMakEyTVNBeExqQTJNU3d3SURRdU15d3pMakl6T1NBM0xqVTBNU3d3SURndU5qQXhMREV1TURZeElBa2lMejROQ2p3dlp6NE5Dand2YzNablBnMEtcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDExcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiA4cHggMzJweCA4cHggOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAucGFnZXIgLmxpbWl0ZXIgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5wYWdlciAubGltaXRlciBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG1lbnVsaXN0ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zZXBhcmF0b3Ige1xuICBjb2xvcjogIzliOWI5Yjtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IC5ibG9jay10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stYWNjb3VudCAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IGxpIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stYWNjb3VudCAuY3VycmVudCBzdHJvbmcge1xuICBjb2xvcjogIzAwMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IGEge1xuICBjb2xvcjogIzlCOUI5Qjtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IGE6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jayBvbCNjb21wYXJlLWl0ZW1zIGxpIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2sgLmJsb2NrLWNvbnRlbnQgcC5ibG9jay1zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2sgLmJsb2NrLWNvbnRlbnQgLmFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgbGkge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgcC5wcm9kdWN0LW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stY2FydCAuc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stcmVvcmRlciB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgLmJsb2NrLXJlb3JkZXIgLmJsb2NrLXRpdGxlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgLmJsb2NrLXJlb3JkZXIgLmJsb2NrLXRpdGxlIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1yZW9yZGVyIG9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIGxpIHtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgLmJsb2NrLXJlb3JkZXIgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgbGkgaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stcmVvcmRlciBvbCNjYXJ0LXNpZGViYXItcmVvcmRlciBwLnByb2R1Y3QtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5tZXNzYWdlcyB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG4uZm9ybS1saXN0IC5jdXN0b21lci1kb2IgLmRvYi1tb250aCxcbi5mb3JtLWxpc3QgLmN1c3RvbWVyLWRvYiAuZG9iLWRheSB7XG4gIHdpZHRoOiA0MHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9ybS1saXN0IC5jdXN0b21lci1kb2IgLmRvYi15ZWFyIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBEYXNoYm9hcmRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGFzaGJvYXJkIC5ib3gtaGVhZCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJvcmRlcjogMDtcbn1cblxuLmRhc2hib2FyZCAuYm94LWhlYWQgaDIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmRhc2hib2FyZCAuYm94LWhlYWQgYSB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5kYXNoYm9hcmQgLmJveC10aXRsZSBhLFxuLmRhc2hib2FyZCAuYm94LWhlYWQgYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmRhc2hib2FyZCAuYm94LWFjY291bnQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmJveC1hY2NvdW50IHAsXG4uZGFzaGJvYXJkIC5ib3gtYWNjb3VudCBhZGRyZXNzIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5kYXNoYm9hcmQgLmJveC1yZWNlbnQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliOWI5YjtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG5cbi5kYXNoYm9hcmQgI215LW9yZGVycy10YWJsZSB7XG4gIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cblxuLmRhc2hib2FyZCAuY29sMi1zZXQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzliOWI5YjtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5kYXNoYm9hcmQgLmNvbDItc2V0Omxhc3QtY2hpbGQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEyLjA5Njc3JTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5ib3gtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uZGFzaGJvYXJkIC5jb2wyLXNldCAuYm94LXRpdGxlIGgyLFxuLmRhc2hib2FyZCAuY29sMi1zZXQgLmJveC10aXRsZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmRhc2hib2FyZCAuY29sMi1zZXQgLmJveC10aXRsZSBhIHtcbiAgbGluZS1oZWlnaHQ6IDE2LjhweDtcbn1cblxuLmRhc2hib2FyZCAuY29sMi1zZXQgLmJveC1jb250ZW50IGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uZGFzaGJvYXJkIC53ZWxjb21lLW1zZyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWI5YjliO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cblxuLmRhc2hib2FyZCAud2VsY29tZS1tc2cgLmhlbGxvIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5kYXNoYm9hcmQgLmJveC1yZXZpZXdzLmJveC1hY2NvdW50IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5kYXNoYm9hcmQgLmJveC1yZXZpZXdzIGxpIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGk6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaSAubnVtYmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkgLmRldGFpbHMge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkgLmRldGFpbHMgLnJhdGluZ3Mge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaSAuZGV0YWlscyAucmF0aW5ncyBzdHJvbmcge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaSAuZGV0YWlscyAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDNweCAwIDAgMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQWRkcmVzcyBCb29rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLmNvbC0xLFxuLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLml0ZW0ge1xuICBtYXJnaW46IDAgMCAzMHB4IDA7XG59XG5cbi5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCAuaXRlbSBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4ubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLml0ZW0gcCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMSxcbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMSBsaS5lbXB0eSxcbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiBsaS5lbXB0eSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLmFkZHJlc3Nlcy1hZGRpdGlvbmFsIHAgYSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBPcmRlciBWaWV3XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm9yZGVyLWluZm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ub3JkZXItaW5mbyBkdCxcbi5vcmRlci1pbmZvIGRkLFxuLm9yZGVyLWluZm8gdWwsXG4ub3JkZXItaW5mbyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm9yZGVyLWluZm8gZHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5vcmRlci1pbmZvIGxpIHtcbiAgbWFyZ2luOiAwIDAgMCAyMHB4O1xufVxuXG4ub3JkZXItaW5mbyBsaS5jdXJyZW50IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm9yZGVyLWluZm8gbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm9yZGVyLWRhdGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5vcmRlci1pbmZvLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5vcmRlci1pbmZvLWJveCArIC5vcmRlci1pbmZvLWJveCB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLm9yZGVyLWluZm8tYm94IC5jb2wtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiA0OCU7XG59XG5cbi5vcmRlci1pbmZvLWJveCAuY29sLTIge1xuICB3aWR0aDogNTIlO1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmNvbC0xLFxuLm9yZGVyLWluZm8tYm94IC5jb2wtMiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm9yZGVyLWluZm8tYm94IC5ib3gtdGl0bGUge1xuICB3aWR0aDogMTUwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC10aXRsZSBoMiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLm9yZGVyLWluZm8tYm94IC5ib3gtdGl0bGUgaDI6YWZ0ZXIge1xuICBjb250ZW50OiAnOic7XG59XG5cbi5vcmRlci1pbmZvLWJveCAuYm94LWNvbnRlbnQge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHRkLFxuLm9yZGVyLWluZm8tYm94IC5ib3gtY29udGVudCB0aCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLm9yZGVyLWluZm8tYm94IC5ib3gtY29udGVudCB0aCB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHRkIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI215LW9yZGVycy10YWJsZSB7XG4gIG1hcmdpbjogMzBweCAwO1xufVxuXG4jbXktb3JkZXJzLXRhYmxlIC5vcHRpb24tbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4jbXktb3JkZXJzLXRhYmxlIC5vcHRpb24tdmFsdWUge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuI215LW9yZGVycy10YWJsZSB0ci5idW5kbGU6bm90KDpsYXN0LWNoaWxkKSB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbiNteS1vcmRlcnMtdGFibGUgLml0ZW0tb3B0aW9ucyBkdCxcbiNteS1vcmRlcnMtdGFibGUgLml0ZW0tb3B0aW9ucyBkZCB7XG4gIGNvbG9yOiAjOUI5QjlCO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbiNteS1vcmRlcnMtdGFibGUgdGJvZHkgLmEtcmlnaHQsXG4jbXktb3JkZXJzLXRhYmxlIHRib2R5IC5hLWNlbnRlcixcbiNteS1vcmRlcnMtdGFibGUgdGhlYWQgLmEtcmlnaHQsXG4jbXktb3JkZXJzLXRhYmxlIHRoZWFkIC5hLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNteS1vcmRlcnMtdGFibGUgdGJvZHkgdGg6bGFzdC1jaGlsZC5hLXJpZ2h0LFxuI215LW9yZGVycy10YWJsZSB0aGVhZCB0aDpsYXN0LWNoaWxkLmEtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuI215LW9yZGVycy10YWJsZSB0Ym9keSAuYS1yaWdodC5sYXN0LFxuI215LW9yZGVycy10YWJsZSB0aGVhZCAuYS1yaWdodC5sYXN0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbm9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIGxpIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxub2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgbGkgaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbm9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIHAucHJvZHVjdC1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICNteS1vcmRlcnMtdGFibGUgLm9wdGlvbi1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSAub3B0aW9uLXZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgfVxuICAjbXktb3JkZXJzLXRhYmxlIHRkW2RhdGEtcndkLWxhYmVsPVF0eV0gLm5vYnIgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbD1RdHldIC5ub2JyIHN0cm9uZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gICNteS1vcmRlcnMtdGFibGUgdHIuYnVuZGxlIHtcbiAgICBib3JkZXItY29sb3I6ICNFREVERUQ7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0ci5idW5kbGUuY2hpbGQgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbiAgI215LW9yZGVycy10YWJsZSB0Zm9vdCB0ci5zaGlwcGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ub3JkZXItYWRkaXRpb25hbCB7XG4gIG1hcmdpbjogNDBweCAwO1xufVxuXG4ub3JkZXItZ2lmdC1tZXNzYWdlIGRkIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0xLFxuICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRkLnZpZXcgYSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLWNvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stYWNjb3VudCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gIH1cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IC5ibG9jay10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUub3JkZXJzIHRoLnNoaXAsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZS5vcmRlcnMgdGQuc2hpcCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlLm9yZGVycyB0ZC5zdGF0dXMsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZS5vcmRlcnMgdGguc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vcmRlci1pbmZvLWJveCAuYm94LWNvbnRlbnQge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5hZGRyZXNzZXMtbGlzdCAuaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG4gIC5vcmRlci1pbmZvIGR0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5kYXNoYm9hcmQgLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLmRhc2hib2FyZCAucGFnZS10aXRsZSBoMSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuZGFzaGJvYXJkIC53ZWxjb21lLW1zZyB7XG4gICAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5kYXNoYm9hcmQgLndlbGNvbWUtbXNnIC5oZWxsbyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIC5kYXNoYm9hcmQgLmJveC1hY2NvdW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogNDglO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgfVxuICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyBoMSwgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zIC5idXR0b24ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnBhZ2UtdGl0bGUgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyAuYnV0dG9uICsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmZpZWxkc2V0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmJ1dHRvbnMtc2V0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLml0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG4gIC5vcmRlci1pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5kYXRhLXRhYmxlLm9yZGVycyAubGluay1yZW9yZGVyLFxuICAuZGF0YS10YWJsZS5vcmRlcnMgLmRhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmRhdGEtdGFibGUub3JkZXJzIHRkLnZpZXcge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC5vcmRlci1pbmZvLWJveCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5vcmRlci1pbmZvLWJveCAuY29sLTEsXG4gIC5vcmRlci1pbmZvLWJveCAuY29sLTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxuICAub3JkZXItaW5mby1ib3ggKyAub3JkZXItaW5mby1ib3gge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAjbXktcmV2aWV3cy10YWJsZSAubm9iciB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOZXdzbGV0dGVyIFN1YnNjcmlwdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5Lm5ld3NsZXR0ZXItbWFuYWdlLWluZGV4IC5teS1hY2NvdW50IC5maWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmJvZHkubmV3c2xldHRlci1tYW5hZ2UtaW5kZXggLm15LWFjY291bnQgLmZpZWxkc2V0IGgyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAubXktYWNjb3VudCAuZm9ybS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuYm9keS5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAubXktYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAubXktYWNjb3VudCAuZm9ybS1saXN0IC5jb250cm9sLi1tLCBib2R5Lm5ld3NsZXR0ZXItbWFuYWdlLWluZGV4IC5teS1hY2NvdW50IC5mb3JtLWxpc3QgLmNvbnRyb2wuLXcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUGFnZSBQb3AgVXBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS1wb3B1cCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5wYWdlLXBvcHVwIC5wYWdlLXRpdGxlIGgxIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnBhZ2UtcG9wdXAgLnRpdGxlLWJ1dHRvbnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnBhZ2UtcG9wdXAgLnRpdGxlLWJ1dHRvbnM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFnZS1wb3B1cCAudGl0bGUtYnV0dG9ucyBoMSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucGFnZS1wb3B1cCAudGl0bGUtYnV0dG9ucyAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4ucGFnZS1wb3B1cCAuc3ViLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ucGFnZS1wb3B1cCAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4ucGFnZS1wb3B1cCAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG59XG5cbi5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAuY29sLTEge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5jb2wtMSAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAuY29sLTEgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuLmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5jb2wtMiB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uY3VzdG9tZXItcGF5bWVudGluZm8taW5kZXggLmNvbC0yIC5idXR0b25zLXNldCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAuY29sLTIgLmJ1dHRvbnMtc2V0IGEge1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5jb2wtMSxcbiAgLmN1c3RvbWVyLWFjY291bnQuY3VzdG9tZXItcGF5bWVudGluZm8taW5kZXggLm15LWFjY291bnQgLmNvbC0yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5jb2wtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTEgLmJveC10aXRsZSAucGFnZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTEgLmJ1dHRvbnMtc2V0IGZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTEgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5jb2wtMiAuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY3VzdG9tZXItYWNjb3VudC5jdXN0b21lci1wYXltZW50aW5mby1pbmRleCAubXktYWNjb3VudCAuY29sLTIgLmJ1dHRvbnMtc2V0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jdXN0b21lci1hY2NvdW50LmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IC5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCAuaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb250YWN0c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWN0cy1pbmRleC1pbmRleCAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgbWF4LXdpZHRoOiA0MzVweDtcbn1cblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5idXR0b25zLXNldCBwLnJlcXVpcmVkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5idXR0b25zLXNldCB7XG4gICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuY29udGFjdHMtaW5kZXgtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuICAuY29udGFjdHMtaW5kZXgtaW5kZXggLmJ1dHRvbnMtc2V0IHAucmVxdWlyZWQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQYXlQYWxcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmNvbDItc2V0IC5jb2wtMSxcbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG59XG5cbi5wYXlwYWwtcmV2aWV3LW9yZGVyIC5pbmZvLXNldCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLnBheXBhbC1yZXZpZXctb3JkZXIgLmJ1dHRvbnMtc2V0IHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBib3JkZXI6IDA7XG59XG5cbi5wYXlwYWwtcmV2aWV3LW9yZGVyIC5idXR0b25zLXNldCBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5wYXlwYWwtcmV2aWV3LW9yZGVyIC5jb2wtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmZpZWxkLmluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b3AtY29udGFpbmVyIC5ibWwtYWQge1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG9wLWNvbnRhaW5lciAuYm1sLWFkIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3AtY29udGFpbmVyIC5ibWwtYWQgc3BhbiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ibWwtYWQge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmJtbC1hZCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uYm1sLWFkIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmJtbC1hZCBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uYm1sLWFkIGltZyB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJ0LXRvdGFscy13cmFwcGVyIC5ibWwtYWQubGFyZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAuYm1sLWFkLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5ibWwtYWQubGFyZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbmRpdi5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuZGl2LnBheXBhbC1sb2dvIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmRpdi5wYXlwYWwtbG9nbyBzcGFuIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuZGl2LnBheXBhbC1sb2dvIHNwYW4gYSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmRpdi5wYXlwYWwtbG9nbyBzcGFuID4gaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LXR5cGVzIGRpdi5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYm1sLWNoZWNrb3V0LXR5cGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5zaWRlYmFyIC5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5zaWRlYmFyIC5wYXlwYWwtbG9nbyA+IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvID4gYSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvIC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLnNpZGViYXIgLnBheXBhbC1sb2dvIC5sYWJlbCBhIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZXZpZXcgLSBDdXN0b21lclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNjdXN0b21lci1yZXZpZXdzIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBub25lO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LWhlYWRpbmcge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDEwcHggMCA1cHg7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZyBoMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1oZWFkaW5nIC5wYWdlciB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LWhlYWRpbmcgLnBhZ2VyIC5jb3VudC1jb250YWluZXIgLmxpbWl0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LWhlYWRpbmcgLnBhZ2VyIC5jb3VudC1jb250YWluZXIgLmxpbWl0ZXIgbGFiZWwge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1oZWFkaW5nIC5wYWdlciAuYW1vdW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgaDIge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyBoMiBzcGFuIHtcbiAgY29sb3I6ICMxMTE7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGgzIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGgzIHNwYW4ge1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHdpZHRoOiA0NzBweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IGg0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgaDQgZW0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDQ3MHB4O1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCAuaW5saW5lLWxhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3QgbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IHRleHRhcmVhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IGlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3QgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgLmJ1dHRvbnMtc2V0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiA0NzBweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwgZHQge1xuICBtYXJnaW46IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwgZGQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGRsIGRkIC5yYXRpbmdzLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSB0ciB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuI2N1c3RvbWVyLXJldmlld3MgZGwgZGQgLnJhdGluZ3MtdGFibGUgLnJldmlldy1sYWJlbCB7XG4gIHdpZHRoOiAzMDBweDtcbiAgbWF4LXdpZHRoOiA3MCU7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGRsIGRkIHRhYmxlIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbiNjdXN0b21lci1yZXZpZXdzIGRsIGRkIC5yZXZpZXctbWV0YSB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnJldmlldy1zdW1tYXJ5LXRhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSB0aGVhZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ucmV2aWV3LXN1bW1hcnktdGFibGUgdGhlYWQgdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxNXB4IDdweCAxMHB4IDhweDtcbn1cblxuLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRoIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucmV2aWV3LXN1bW1hcnktdGFibGUgdGJvZHkgdGQge1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRkIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMXB4IDA7XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01OTlweDtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmF0aW5ncyAtIEdsb2JhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yYXRpbmdzLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5yYXRpbmdzLXRhYmxlIHRoIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MTVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBoZWlnaHQ6IDEzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICB3aWR0aDogNjVweDtcbn1cblxuLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEzcHg7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICBib2R5LnJldmlldy1wcm9kdWN0LWxpc3QgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5leHRyYS1pbmZvIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogODQlO1xuICB9XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8gLnJhdGluZ3MtdGFibGUge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8gLnJhdGluZ3MtdGFibGUgdHIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzNXB4KSB7XG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuICBib2R5LnJldmlldy1wcm9kdWN0LWxpc3QgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5leHRyYS1pbmZvIC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjBweCkge1xuICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCAuaW5saW5lLWxhYmVsIGxhYmVsLFxuICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCAuaW5saW5lLWxhYmVsIC5pbnB1dC1ib3gge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gICNjdXN0b21lci1yZXZpZXdzIC5idXR0b25zLXNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRoZWFkIHRoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRkIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuICAjY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LXN1bW1hcnktdGFibGUgLnJhdGluZy1ib3gge1xuICAgIHRleHQtaW5kZW50OiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgaGVpZ2h0OiAxNi44cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmctbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAjY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmV2aWV3IFZpZXcgUGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1kZXRhaWxzIGgyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnJldmlldy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtcmV2aWV3IC5wcm9kdWN0LWltZy1ib3gge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94ID4gYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucmV2aWV3LXByb2R1Y3QtdmlldyAucHJvZHVjdC1yZXZpZXcgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2xpZGVzaG93XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNsaWRlc2hvdy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7XG59XG5cbi5zbGlkZXNob3ctY29udGFpbmVyIC5zbGlkZXNob3cge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjRkZGRkZGO1xufVxuXG4uc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpZGVzaG93ID4gbGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG59XG5cbi5zbGlkZXNob3ctY29udGFpbmVyIC5zbGlkZXNob3cgPiBsaTpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnNsaWRlc2hvdy1jb250YWluZXIgLnNsaWRlc2hvdyA+IGxpIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMTU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIHRvcDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI0RERERERDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2xpZGVzaG93LXBhZ2VyIHNwYW46YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIgc3Bhbjpob3ZlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDUzYjk0O1xufVxuXG4uc2xpZGVzaG93LXBhZ2VyIHNwYW4uY3ljbGUtcGFnZXItYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDMxN2M7XG59XG5cbi5zbGlkZXNob3ctcGFnZXIgPiAqIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2xpZGVzaG93LXByZXYsXG4uc2xpZGVzaG93LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE1JTtcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNjtcbiAgei1pbmRleDogMTEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc2xpZGVzaG93LXByZXY6YmVmb3JlLFxuLnNsaWRlc2hvdy1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuLnNsaWRlc2hvdy1wcmV2OmhvdmVyLFxuLnNsaWRlc2hvdy1uZXh0OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWRlc2hvdy1wcmV2LmRpc2FibGVkLFxuLnNsaWRlc2hvdy1uZXh0LmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zbGlkZXNob3ctcHJldiB7XG4gIGxlZnQ6IDhweDtcbn1cblxuLnNsaWRlc2hvdy1wcmV2OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMTVweCAxNXB4IDE1cHggMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTBweDtcbn1cblxuLnNsaWRlc2hvdy1wcmV2OmhvdmVyOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA1M2I5NCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWRlc2hvdy1uZXh0IHtcbiAgcmlnaHQ6IDhweDtcbn1cblxuLnNsaWRlc2hvdy1uZXh0OmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMTVweCAwIDE1cHggMTVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwcHg7XG59XG5cbi5zbGlkZXNob3ctbmV4dDpob3ZlcjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwNTNiOTQ7XG59XG5cbi5jeWNsZS1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvdHRvbTogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIHotaW5kZXg6IDExMDtcbn1cblxuLmN5Y2xlLW92ZXJsYXkge1xuICBmb250LWZhbWlseTogdGFob21hLCBhcmlhbDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMjA7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG9wYWNpdHk6IC41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBXaXNobGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiN3aXNobGlzdC10YWJsZSB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0MwQzBDMDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMTVweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRoZWFkIHRoIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSAucHJvZHVjdC1uYW1lIGEge1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC53aXNobGlzdC1za3Uge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiA1cHggMDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzExMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG59XG5cbiN3aXNobGlzdC10YWJsZSAuaXRlbS1tYW5hZ2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5pdGVtLW1hbmFnZSAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xufVxuXG4jd2lzaGxpc3QtdGFibGUgLmNhcnQtY2VsbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICB3aWR0aDogMTEzcHg7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IHtcbiAgd2lkdGg6IDNlbTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2Uge1xuICB3aWR0aDogMTIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gIHdpZHRoOiAxNTBweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCAudHJ1bmNhdGVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCA+IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgLmJ0bi1yZW1vdmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4jd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1yZW1vdmUge1xuICB3aWR0aDogMjBweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIHRkIC5idXR0b24sXG4jd2lzaGxpc3QtdGFibGUgdGQgYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5wcmljZS1ib3gge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgY29sb3I6ICMxMTE7XG59XG5cbiN3aXNobGlzdC10YWJsZSAuZ2lmdHJlZ2lzdHktYWRkIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4jd2lzaGxpc3QtdGFibGUgLmdpZnRyZWdpc3R5LWFkZCAuY2hhbmdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3dpc2hsaXN0LXRhYmxlIC5naWZ0cmVnaXN0eS1hZGQgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbiN3aXNobGlzdC10YWJsZSAudHJ1bmNhdGVkIC5kZXRhaWxzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbiN3aXNobGlzdC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gICN3aXNobGlzdC10YWJsZS5jbGVhbi10YWJsZSB0ZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZS5jbGVhbi10YWJsZSB0ZCB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICB3aWR0aDogMTEwcHg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gICN3aXNobGlzdC10YWJsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGV4dGFyZWEge1xuICAgIGhlaWdodDogNjhweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIC5pdGVtLW1hbmFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0cjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgIHdpZHRoOiA3MHB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlLFxuICAjd2lzaGxpc3QtdGFibGUgdGguY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gICN3aXNobGlzdC10YWJsZSB0ciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0aC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW5mbywgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHksICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlLCAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBlbXB0eS1jZWxsczogaGlkZTtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSBhIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSBhIGltZyB7XG4gICAgd2lkdGg6IDExM3B4O1xuICAgIGhlaWdodDogMTEzcHg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHksICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5OmJlZm9yZSwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2U6YmVmb3JlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHkgLmNhcnQtY2VsbCwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2UgLmNhcnQtY2VsbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSAucHJpY2UtYm94LCAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1wcmljZSAucHJpY2UtYm94IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgLmNhcnQtY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ4JTtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0ID4gcCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA0OCU7XG4gIH1cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcmVtb3ZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgfVxuICAjd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBXaXNobGlzdCBTaWRlYmFyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJsb2NrLXdpc2hsaXN0IC5taW5pLXByb2R1Y3RzLWxpc3QgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLmJsb2NrLXdpc2hsaXN0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5ibG9jay13aXNobGlzdCAucHJpY2UtYm94IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMDtcbn1cblxuLmJsb2NrLXdpc2hsaXN0IC5wcmljZS1ib3gsXG4uYmxvY2std2lzaGxpc3QgLnByaWNlLWJveCAucHJpY2UsXG4uYmxvY2std2lzaGxpc3QgLmxpbmstY2FydCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmJsb2NrLXdpc2hsaXN0IC5saW5rLWNhcnQge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBNaW5pIGNhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVhZGVyLW1pbmljYXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5oZWFkZXItbWluaWNhcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuZW1wdHkge1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXIge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC13cmFwcGVyOmJlZm9yZSwgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDAuODtcbiAgei1pbmRleDogMjtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGMtYWpheC1sb2FkZXIuZ2lmXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXIubG9hZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlci5sb2FkaW5nOmJlZm9yZSwgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlci5sb2FkaW5nOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmJsb2NrLWNhcnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1zdWJ0aXRsZSB7XG4gIGNvbG9yOiAjNTBBNENGO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmJsb2NrLXN1YnRpdGxlIC5jbG9zZSB7XG4gIHdpZHRoOiA0MHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzExMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDMwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICByaWdodDogLTNweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IHtcbiAgcGFkZGluZzogMTBweDtcbiAgcGFkZGluZy10b3A6IDBweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IGxpIHtcbiAgcGFkZGluZzogOHB4IDVweCA4cHggMTFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEREREREQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IGxpLmxhc3Qge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmktcHJvZHVjdHMtbGlzdCBsaSAucHJvZHVjdC1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSBhIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmluZm8td3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgdGQge1xuICBjb2xvcjogIzExMTtcbiAgY2xlYXI6IHJpZ2h0O1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF0eS13cmFwcGVyIHRkIHtcbiAgaGVpZ2h0OiAzM3B4O1xuICBsaW5lLWhlaWdodDogMzNweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuaW5mby13cmFwcGVyIC5xdHkge1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgd2lkdGg6IDMuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuaW5mby13cmFwcGVyIC5xdWFudGl0eS1idXR0b24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF1YW50aXR5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLmluZm8td3JhcHBlciAucXVhbnRpdHktYnV0dG9uLnZpc2libGUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5zdWJ0b3RhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAuc3VidG90YWwgLmxhYmVsIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5zdWJ0b3RhbCAucHJpY2Uge1xuICBjb2xvcjogIzExMTtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gIG1pbi13aWR0aDogMTQ1cHg7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gIGhlaWdodDogMzNweDtcbiAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgI21pbmljYXJ0LWVycm9yLW1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZWQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQgI21pbmljYXJ0LXN1Y2Nlc3MtbWVzc2FnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IGdyZWVuO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyLW1pbmljYXJ0IC5qY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmhlYWRlci1taW5pY2FydCAuamNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXItbWluaWNhcnQuc2tpcC1hY3RpdmUgLmJsb2NrLWNhcnQsXG4uYmxvY2stY2FydC5za2lwLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5jaGVja291dC10eXBlcy5taW5pY2FydCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmhlYWRlci1taW5pY2FydCBhLnNraXAtY2FydCB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC5oZWFkZXItbWluaWNhcnQgLnN1YnRvdGFsIC5sYWJlbCB7XG4gICAgY29sb3I6ICMxMTE7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFREVERUQ7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAucXVhbnRpdHktYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuaGVhZGVyLW1pbmljYXJ0IC5oZWFkZXItbWluaWNhcnQgLmJsb2NrLWNhcnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAuaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDU5cHg7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgcGFkZGluZy1ib3R0b206IDMzcHg7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2FydC1saW5rIHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIC5wYXlwYWwtbG9nbyAuYm1sX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDAgMTBweCA1cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0MHB4KSB7XG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3IsXG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIC5wYXlwYWwtbG9nbyAucGF5cGFsLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC1hY3Rpb25zIC5jaGVja291dC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCAtIEF1dG8gU3VnZ2VzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDIwMDtcbn1cblxuLnNlYXJjaC1hdXRvY29tcGxldGUgdWwge1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VhcmNoLWF1dG9jb21wbGV0ZSB1bCBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjRGNEY0O1xuICBjb2xvcjogIzA2NDVBRDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDRweCA2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpOmhvdmVyIHtcbiAgY29sb3I6ICMwNTNiOTQ7XG59XG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDVBRDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uc2VhcmNoLWF1dG9jb21wbGV0ZSB1bCBsaSAuYW1vdW50IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnNlYXJjaC1hdXRvY29tcGxldGUgdWwgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAtN3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTZWFyY2ggLSBBZHZhbmNlZFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hZHZhbmNlZC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4uYWR2YW5jZWQtc2VhcmNoIHNlbGVjdC5tdWx0aXNlbGVjdCBvcHRpb24ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbiAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuYWR2YW5jZWQtc2VhcmNoIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEFjY291bnQgLSBSZXZpZXdzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2R1Y3QtcmV2aWV3IC5wcm9kdWN0LWltZy1ib3ggcC5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IC5yYXRpbmctYm94IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1kZXRhaWxzIGgyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGNvbG9yOiAjMzM5OUNDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHRoIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucHJvZHVjdC1yZXZpZXcgLnJhdGluZ3MtZGVzY3JpcHRpb24gZHQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLWRlc2NyaXB0aW9uIGRkIHtcbiAgY29sb3I6ICM3MzczNzM7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTI2cHgpIHtcbiAgLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAucHJvZHVjdC1yZXZpZXcgLnJhdGluZ3MtdGFibGUgdHIge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaWNpbmcgQ29uZGl0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UtbGluayAubGFiZWwge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tYXAtaW5mbyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAubWFwLWluZm8ge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLm1hcC1pbmZvID4gc3BhbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLm1hcC1pbmZvIC5wcmljZS1ib3gubWFwLWluZm8gPiBhIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ29va2llc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ub3RpY2UtY29va2llIC5ub3RpY2UtaW5uZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm5vdGljZS1jb29raWUgLm5vdGljZS1pbm5lcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm5vdGljZS1jb29raWUgLm5vdGljZS10ZXh0IHAge1xuICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLm5vdGljZS1jb29raWUgLmFjdGlvbnMge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxNHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA4NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAubm90aWNlLWNvb2tpZSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gIC5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA4MiU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAubm90aWNlLWNvb2tpZSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gIC5ub3RpY2UtY29va2llIC5ub3RpY2UtaW5uZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTBweDtcbiAgfVxuICAubm90aWNlLWNvb2tpZSAubm90aWNlLWlubmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubm90aWNlLWNvb2tpZSAubm90aWNlLXRleHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAubm90aWNlLWNvb2tpZSAuYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYWdzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2FkZFRhZ0Zvcm0gYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4jYWRkVGFnRm9ybSAuZm9ybS1hZGQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucHJvZHVjdC10YWdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDVweCAxJSAxMHB4O1xuICB3aWR0aDogOTglO1xufVxuXG4ucHJvZHVjdC10YWdzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLnByb2R1Y3QtdGFncyBsaS5sYXN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi50YWdzLWxpc3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi50YWdzLWxpc3QgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5ibG9jay10YWdzIC5hY3Rpb25zID4gYSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm15LXRhZy1lZGl0IC5idXR0b24uYnRuLXJlbW92ZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5teS10YWctZWRpdCAuYnV0dG9uLmJ0bi1yZW1vdmU6YWZ0ZXIge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnRhZ3MtbGlzdCA+IGxpLFxuICAudGFncy1saXN0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXB0Y2hhXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcHRjaGEtbm90ZSB7XG4gIGNsZWFyOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4uY2FwdGNoYS1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjU4cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5jYXB0Y2hhLWltYWdlIC5jYXB0Y2hhLWltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiNmI2YjY7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVnaXN0ZXJlZC11c2VycyAuY2FwdGNoYS1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhcHRjaGEtcmVsb2FkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICByaWdodDogMnB4O1xufVxuXG4uY2FwdGNoYS1yZWxvYWQucmVmcmVzaGluZyB7XG4gIGFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAtbW96LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLnNjYWZmb2xkLWZvcm0gLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyIGxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXB0Y2hhLXJlbG9hZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDRweDtcbiAgdG9wOiA0cHg7XG59XG5cbi5jYXB0Y2hhLWltZyB7XG4gIGJvcmRlcjogMjBweCBzb2xpZCAjYmJiO1xufVxuXG4uY2FwdGNoYS1pbnB1dC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY29udHJvbC5uZXdzbGV0dGVyLWJveCwgLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyLCAuY2FwdGNoYS1pbWctY29udGFpbmVyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29udHJvbC5uZXdzbGV0dGVyLWJveDphZnRlciwgLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyOmFmdGVyLCAuY2FwdGNoYS1pbWctY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IEJpbGxpbmcgRml4IHRvIHBsYWNlIHRoZSBDYXB0Y2hhIHByb3Blcmx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2NvLWJpbGxpbmctZm9ybSB1bC5mb3JtLWxpc3QgPiAuY29udHJvbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBY2NvdW50IC0gT3JkZXJzLCBJbnZvaWNlcywgQ3JlZGl0IE1lbW9zLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLnNhbGVzLW9yZGVyLWludm9pY2UgLnN1Yi10aXRsZSxcbiAgLnNhbGVzLW9yZGVyLWNyZWRpdG1lbW8gLnN1Yi10aXRsZSxcbiAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5zdWItdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNhbGVzLW9yZGVyLWludm9pY2UgLm9yZGVyLWxpbmtzLFxuICAuc2FsZXMtb3JkZXItY3JlZGl0bWVtbyAub3JkZXItbGlua3MsXG4gIC5zYWxlcy1vcmRlci1zaGlwbWVudCAub3JkZXItbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZWN1cnJpbmcgUHJvZmlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3IHRoIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB0aCBzcGFuIHtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gICNyZWN1cnJpbmdfcHJvZmlsZV9saXN0X3ZpZXcgYSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG4gICNyZWN1cnJpbmdfcHJvZmlsZV9saXN0X3ZpZXcgdGgsXG4gICNyZWN1cnJpbmdfcHJvZmlsZV9saXN0X3ZpZXcgdGQge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxufVxuXG4ucmVjdXJyaW5nLXByb2ZpbGVzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yZWN1cnJpbmctcHJvZmlsZXMtdGl0bGUgaDEge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucy5yZWN1cnJpbmctcHJvZmlsZXMtdGl0bGUtYnV0dG9ucyB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zLnJlY3VycmluZy1wcm9maWxlcy10aXRsZS1idXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zLnJlY3VycmluZy1wcm9maWxlcy10aXRsZS1idXR0b25zIC5idXR0b24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ucmVjdXJyaW5nLXByb2ZpbGVzLW1lc3NhZ2VzOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuI3JlY3VycmluZ19zdGFydF9kYXRlX3RyaWcge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJpbGxpbmcgQWdyZWVtZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmJpbGxpbmctYWdyZWVtZW50cyAuaW5mby1ib3g6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYmlsbGluZy1hZ3JlZW1lbnRzIC5pbmZvLWJveCAuZm9ybS1saXN0IHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IC5ib3gtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuYmlsbGluZy1hZ3JlZW1lbnRzIC5pbmZvLWJveCAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4uYmlsbGluZy1hZ3JlZW1lbnRzICNwYXltZW50X21ldGhvZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuLmJpbGxpbmctYWdyZWVtZW50LXZpZXctaGVhZGVyLXdyYXBwZXIgLmhlYWRpbmcge1xuICBtYXgtd2lkdGg6IDgwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNTlweCkge1xuICAuYmlsbGluZy1hZ3JlZW1lbnQtdmlldy1oZWFkZXItd3JhcHBlciAuaGVhZGluZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5iaWxsaW5nLWFncmVlbWVudC1kZXRhaWxzIHRkLCAuYmlsbGluZy1hZ3JlZW1lbnQtZGV0YWlscyB0aCB7XG4gIHBhZGRpbmc6IDMuNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5iaWxsaW5nLWFncmVlbWVudHMgLmRhdGEtdGFibGUgLmNyZWF0ZWQtYXQsXG4gIC5iaWxsaW5nLWFncmVlbWVudHMgLmRhdGEtdGFibGUgLnVwZGF0ZWQtYXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUG9wdWxhciBTZWFyY2ggVGVybXMgQ2xvdWRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2F0YWxvZ3NlYXJjaC10ZXJtLXBvcHVsYXIgLnRhZ3MtbGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhdGFsb2dzZWFyY2gtdGVybS1wb3B1bGFyIC50YWdzLWxpc3QgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lkZ2V0c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFkZCB0byBjYXJ0IGJ5IFNLVVxuICovXG4uc2lkZWJhciAud2lkZ2V0LWFkZGJ5c2t1IC5za3UtdGFibGUgLmlucHV0LXRleHQ6bm90KC5xdHkpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLnNpZGViYXIgLndpZGdldC1hZGRieXNrdSAuc2t1LXRhYmxlIC5pbnB1dC10ZXh0Om5vdCgucXR5KSB7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgfVxufVxuXG4ud2lkZ2V0IHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi53aWRnZXQgLnBhZ2VyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIE11bHRpcGxlIEFkZHJlc3Nlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNoZWNrb3V0LXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jaGVja291dC1wcm9ncmVzcyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IDElIDZweDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3MgPiBsaS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jaGVja291dC1wcm9ncmVzcyA+IGxpLmxhc3Qge1xuICBib3JkZXItcmlnaHQ6IDBweDtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAucGFnZS10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAucGFnZS10aXRsZSBoMSB7XG4gIGJvcmRlcjogMCBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDIlO1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5wYWdlLXRpdGxlIC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLm11bHRpcGxlLWNoZWNrb3V0ID4gaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5tZXNzYWdlcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY29sLTIuY29sLXdpZGUge1xuICB3aWR0aDogNjYlO1xufVxuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jb2wtMS5jb2wtbmFycm93IHtcbiAgd2lkdGg6IDMwJTtcbn1cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuYWN0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmdyYW5kLXRvdGFsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gI2NoZWNrb3V0LXJldmlldy1zdWJtaXQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWFkZHJlc3NlcyAuYnRuLXJlbW92ZTIge1xuICB0ZXh0LWluZGVudDogLTU1NTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmdpZnQtbWVzc2FnZXMtZm9ybSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gaDQge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gLmZvcm0tbGlzdCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTEgLmJveC10aXRsZSBoMiwgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmNvbC0xIC5ib3gtdGl0bGUgaDMsIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMSAuYm94LXRpdGxlIGg0LCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTIgLmJveC10aXRsZSBoMiwgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmNvbC0yIC5ib3gtdGl0bGUgaDMsIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMiAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTEgLmJveC10aXRsZSBoMixcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0xIC5ib3gtdGl0bGUgaDMsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMSAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTIgLmJveC10aXRsZSBoMixcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0yIC5ib3gtdGl0bGUgaDMsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMiAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0xIC5ib3gtdGl0bGUgaDIsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTEgLmJveC10aXRsZSBoMyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMSAuYm94LXRpdGxlIGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0yIC5ib3gtdGl0bGUgaDIsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTIgLmJveC10aXRsZSBoMyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMiAuYm94LXRpdGxlIGg0IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMSA+IGg0LCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTIgPiBoNCxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0xID4gaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMiA+IGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0xID4gaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTIgPiBoNCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTEgLmJveC1jb250ZW50LCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTIgLmJveC1jb250ZW50LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTEgLmJveC1jb250ZW50LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTIgLmJveC1jb250ZW50LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0xIC5ib3gtY29udGVudCxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMiAuYm94LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLnNwLW1ldGhvZHMgZHQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNtdWx0aXNoaXAtYWRkcmVzc2VzLXRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmEtY2VudGVyLmxhc3QgPiBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuI3Jldmlldy1vcmRlci1mb3JtID4gZGl2Om50aC1jaGlsZCgzKSA+IGRpdi5kaXZpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNoZWNrb3V0LXByb2dyZXNzIHNwYW4ge1xuICAgIHdvcmQtc3BhY2luZzogMzAwcHg7XG4gIH1cbiAgI3Jldmlldy1vcmRlci1mb3JtIC5jb2wtMSxcbiAgI3Jldmlldy1vcmRlci1mb3JtIC5jb2wtMiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgd2lkdGg6IDEycHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3MgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMyU7XG4gICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgd29yZC1zcGFjaW5nOiAxcHg7XG4gICAgd2lkdGg6IDEycHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuYm94LXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5wYWdlLXRpdGxlIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAubGluZWFyaXplLXRhYmxlIHRmb290IHRkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5saW5lYXJpemUtdGFibGUgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICB9XG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNvbC0xLmNvbC1uYXJyb3csIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNvbC0yLmNvbC13aWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYWRkcmVzc2VzIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2FsZW5kYXIgc3R5bGVzIChyZXN0b3JlIHN0eWxlcyBmcm9tIC9qcy9jYWxlbmRhcilcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5kaXYuY2FsZW5kYXIgdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuXG5kaXYuY2FsZW5kYXIgdGFibGUgdGQuYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxubGFiZWwucmVxdWlyZWQ6YWZ0ZXIsXG5zcGFuLnJlcXVpcmVkOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5idXR0b25zLXNldCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuYmFjay1saW5rLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIHAucmVxdWlyZWQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgaDIubGVnZW5kLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuYmFjay1saW5rLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSBwLnJlcXVpcmVkLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSBoMi5sZWdlbmQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmJhY2stbGluayxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiBwLnJlcXVpcmVkLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIGgyLmxlZ2VuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuYnV0dG9ucy1zZXQsIGJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzZXQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5idXR0b25zLXNldCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0LFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5idXR0b25zLXNldCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuZmllbGRzZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5wYWdlLXRpdGxlLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAucGFnZS10aXRsZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzZXQgcCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0IHAsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmZpZWxkc2V0IHAge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5jdXN0b21lci1uYW1lLW1pZGRsZW5hbWUgLm5hbWUtbWlkZGxlbmFtZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY3VzdG9tZXItbmFtZS1taWRkbGVuYW1lIC5uYW1lLW1pZGRsZW5hbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIHVsLmZvcm0tbGlzdCBsaS5jb250cm9sLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIHVsLmZvcm0tbGlzdCBsaS5jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmJ1dHRvbnMtc2V0IHtcbiAgbWF4LXdpZHRoOiAzNjVweDtcbn1cblxuLm1lc3NhZ2VzIC5lcnJvci1tc2cgdWwgbGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREMyMDIyO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4ubWVzc2FnZXMgLmVycm9yLW1zZyB1bCBsaTpiZWZvcmUge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLm1lc3NhZ2VzIC5zdWNjZXNzLW1zZyB1bCBsaSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDk5NTU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5tZXNzYWdlcyAuc3VjY2Vzcy1tc2cgdWwgbGk6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zbGljay1saXN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4uc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uc2xpY2stc2xpZGUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1sMSwgLnRrLWwyLCAudGstbDMsIC50ay1sNCwgLnRrLWw1LFxuLnRrLWgxLCAudGstaDIsIC50ay1oMywgLnRrLWg0LCAudGstaDUsXG4udGstcDEsIC50ay1wMiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi50ay1sMS4tYm9sZCwgLnRrLWwyLi1ib2xkLCAudGstbDMuLWJvbGQsIC50ay1sNC4tYm9sZCwgLnRrLWw1Li1ib2xkLFxuLnRrLWgxLi1ib2xkLCAudGstaDIuLWJvbGQsIC50ay1oMy4tYm9sZCwgLnRrLWg0Li1ib2xkLCAudGstaDUuLWJvbGQsXG4udGstcDEuLWJvbGQsIC50ay1wMi4tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGstbDEuLWJsb2NrLCAudGstbDIuLWJsb2NrLCAudGstbDMuLWJsb2NrLCAudGstbDQuLWJsb2NrLCAudGstbDUuLWJsb2NrLFxuLnRrLWgxLi1ibG9jaywgLnRrLWgyLi1ibG9jaywgLnRrLWgzLi1ibG9jaywgLnRrLWg0Li1ibG9jaywgLnRrLWg1Li1ibG9jayxcbi50ay1wMS4tYmxvY2ssIC50ay1wMi4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLWwxLi1kaXNhYmxlZCwgLnRrLWwxLi1kaXNhYmxlZDpob3ZlciwgLnRrLWwyLi1kaXNhYmxlZCwgLnRrLWwyLi1kaXNhYmxlZDpob3ZlciwgLnRrLWwzLi1kaXNhYmxlZCwgLnRrLWwzLi1kaXNhYmxlZDpob3ZlciwgLnRrLWw0Li1kaXNhYmxlZCwgLnRrLWw0Li1kaXNhYmxlZDpob3ZlciwgLnRrLWw1Li1kaXNhYmxlZCwgLnRrLWw1Li1kaXNhYmxlZDpob3Zlcixcbi50ay1oMS4tZGlzYWJsZWQsXG4udGstaDEuLWRpc2FibGVkOmhvdmVyLCAudGstaDIuLWRpc2FibGVkLCAudGstaDIuLWRpc2FibGVkOmhvdmVyLCAudGstaDMuLWRpc2FibGVkLCAudGstaDMuLWRpc2FibGVkOmhvdmVyLCAudGstaDQuLWRpc2FibGVkLCAudGstaDQuLWRpc2FibGVkOmhvdmVyLCAudGstaDUuLWRpc2FibGVkLCAudGstaDUuLWRpc2FibGVkOmhvdmVyLFxuLnRrLXAxLi1kaXNhYmxlZCxcbi50ay1wMS4tZGlzYWJsZWQ6aG92ZXIsIC50ay1wMi4tZGlzYWJsZWQsIC50ay1wMi4tZGlzYWJsZWQ6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjOUI5QjlCO1xufVxuXG4udGstbDEuLXRpdGxlLWNhc2UsIC50ay1sMi4tdGl0bGUtY2FzZSwgLnRrLWwzLi10aXRsZS1jYXNlLCAudGstbDQuLXRpdGxlLWNhc2UsIC50ay1sNS4tdGl0bGUtY2FzZSxcbi50ay1oMS4tdGl0bGUtY2FzZSwgLnRrLWgyLi10aXRsZS1jYXNlLCAudGstaDMuLXRpdGxlLWNhc2UsIC50ay1oNC4tdGl0bGUtY2FzZSwgLnRrLWg1Li10aXRsZS1jYXNlLFxuLnRrLXAxLi10aXRsZS1jYXNlLCAudGstcDIuLXRpdGxlLWNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLnRrLWwxLi1kb3duY2FzZSwgLnRrLWwyLi1kb3duY2FzZSwgLnRrLWwzLi1kb3duY2FzZSwgLnRrLWw0Li1kb3duY2FzZSwgLnRrLWw1Li1kb3duY2FzZSxcbi50ay1oMS4tZG93bmNhc2UsIC50ay1oMi4tZG93bmNhc2UsIC50ay1oMy4tZG93bmNhc2UsIC50ay1oNC4tZG93bmNhc2UsIC50ay1oNS4tZG93bmNhc2UsXG4udGstcDEuLWRvd25jYXNlLCAudGstcDIuLWRvd25jYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLnRrLWwxLi1uby1jYXNlLCAudGstbDIuLW5vLWNhc2UsIC50ay1sMy4tbm8tY2FzZSwgLnRrLWw0Li1uby1jYXNlLCAudGstbDUuLW5vLWNhc2UsXG4udGstaDEuLW5vLWNhc2UsIC50ay1oMi4tbm8tY2FzZSwgLnRrLWgzLi1uby1jYXNlLCAudGstaDQuLW5vLWNhc2UsIC50ay1oNS4tbm8tY2FzZSxcbi50ay1wMS4tbm8tY2FzZSwgLnRrLXAyLi1uby1jYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi50ay1sMS4tbWFyZ2luLCAudGstbDIuLW1hcmdpbiwgLnRrLWwzLi1tYXJnaW4sIC50ay1sNC4tbWFyZ2luLCAudGstbDUuLW1hcmdpbixcbi50ay1oMS4tbWFyZ2luLCAudGstaDIuLW1hcmdpbiwgLnRrLWgzLi1tYXJnaW4sIC50ay1oNC4tbWFyZ2luLCAudGstaDUuLW1hcmdpbixcbi50ay1wMS4tbWFyZ2luLCAudGstcDIuLW1hcmdpbiB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstbDEuLXVuZGVybGluZWQsIC50ay1sMi4tdW5kZXJsaW5lZCwgLnRrLWwzLi11bmRlcmxpbmVkLCAudGstbDQuLXVuZGVybGluZWQsIC50ay1sNS4tdW5kZXJsaW5lZCxcbi50ay1oMS4tdW5kZXJsaW5lZCwgLnRrLWgyLi11bmRlcmxpbmVkLCAudGstaDMuLXVuZGVybGluZWQsIC50ay1oNC4tdW5kZXJsaW5lZCwgLnRrLWg1Li11bmRlcmxpbmVkLFxuLnRrLXAxLi11bmRlcmxpbmVkLCAudGstcDIuLXVuZGVybGluZWQge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLWwxLi1uby1ob3Zlcjpob3ZlciwgLnRrLWwyLi1uby1ob3Zlcjpob3ZlciwgLnRrLWwzLi1uby1ob3Zlcjpob3ZlciwgLnRrLWw0Li1uby1ob3Zlcjpob3ZlciwgLnRrLWw1Li1uby1ob3Zlcjpob3Zlcixcbi50ay1oMS4tbm8taG92ZXI6aG92ZXIsIC50ay1oMi4tbm8taG92ZXI6aG92ZXIsIC50ay1oMy4tbm8taG92ZXI6aG92ZXIsIC50ay1oNC4tbm8taG92ZXI6aG92ZXIsIC50ay1oNS4tbm8taG92ZXI6aG92ZXIsXG4udGstcDEuLW5vLWhvdmVyOmhvdmVyLCAudGstcDIuLW5vLWhvdmVyOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGstbDEuLXJlZCwgLnRrLWwyLi1yZWQsIC50ay1sMy4tcmVkLCAudGstbDQuLXJlZCwgLnRrLWw1Li1yZWQsXG4udGstaDEuLXJlZCwgLnRrLWgyLi1yZWQsIC50ay1oMy4tcmVkLCAudGstaDQuLXJlZCwgLnRrLWg1Li1yZWQsXG4udGstcDEuLXJlZCwgLnRrLXAyLi1yZWQge1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuLnRrLWwxLi1zb2xkT3V0LCAudGstbDIuLXNvbGRPdXQsIC50ay1sMy4tc29sZE91dCwgLnRrLWw0Li1zb2xkT3V0LCAudGstbDUuLXNvbGRPdXQsXG4udGstaDEuLXNvbGRPdXQsIC50ay1oMi4tc29sZE91dCwgLnRrLWgzLi1zb2xkT3V0LCAudGstaDQuLXNvbGRPdXQsIC50ay1oNS4tc29sZE91dCxcbi50ay1wMS4tc29sZE91dCwgLnRrLXAyLi1zb2xkT3V0IHtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbi50ay1oLXRpbWVzIHtcbiAgZm9udC1mYW1pbHk6IFRpbWVzLCBzZXJpZjtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLnRrLWgxIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi50ay1oMiB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnRrLWgzIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGstaDQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi50ay1oNSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnRrLWwxIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDY0NUFEICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi50ay1sMTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstbDIge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1sMjpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLWwyOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1sMi4tLWJsdWUsIC50ay1sMi4tYmx1ZSB7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstbDIuLS1ncmV5IHtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbi50ay1sMi4tLXJlbW92ZTpob3ZlciB7XG4gIGNvbG9yOiAjREMyMDIyO1xufVxuXG4udGstbDMge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM5QjlCOUI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRrLWwzOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ay1sMzpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLWw0IHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1sNDpob3ZlciB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGstbDUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWw1OmhvdmVyIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ay1wMSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xufVxuXG4udGstcDIge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi50ay1zZWN0aW9uIHtcbiAgbWFyZ2luOiA0MHB4IDA7XG59XG5cbi50ay10ZXh0IHtcbiAgbWFyZ2luOiAyMHB4IDAgMCAwO1xufVxuXG4udGt1LWJsdXJyZWQge1xuICBmaWx0ZXI6IG9wYWNpdHkoNTAlKSBibHVyKDJweCk7XG59XG5cbi50a3UtZml4ZWQtZm9vdGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4udGt1LXJlc3BvbnNpdmUtZGVidWcge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgYmFja2dyb3VuZDogIzA2NDVBRDtcbiAgY29sb3I6ICNGQUZBRkE7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrdS1yZXNwb25zaXZlLWRlYnVnOmFmdGVyIHtcbiAgICBjb250ZW50OiAnbW9iaWxlJztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrdS1yZXNwb25zaXZlLWRlYnVnOmFmdGVyIHtcbiAgICBjb250ZW50OiAndGFibGV0JztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC50a3UtcmVzcG9uc2l2ZS1kZWJ1ZzphZnRlciB7XG4gICAgY29udGVudDogJ2Rlc2t0b3AnO1xuICB9XG59XG5cbi50a3UtdG9kbyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDMjAyMjtcbn1cblxuLnRrLWFmZmlsaWF0ZXMge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4udGstYWZmaWxpYXRlcyBoMiwgLnRrLWFmZmlsaWF0ZXMgcCwgLnRrLWFmZmlsaWF0ZXMgb2wge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLnRrLWFmZmlsaWF0ZXMgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnRrLWFmZmlsaWF0ZXMgLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udGstYnV0dG9uLCAuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5idXR0b24sXG4uZm9vdGVyIC5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5idXR0b24sIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiBOb3JtYWxpemUgYGxpbmUtaGVpZ2h0YC4gQ2Fubm90IGJlIGNoYW5nZWQgZnJvbSBgbm9ybWFsYCBpbiBGaXJlZm94IDQrLiAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXNtb290aGluZzogaW5oZXJpdDtcbiAgLyogQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUyAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIFJlbW92ZSBleGNlc3MgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsgKi9cbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiBUT0RPOiBET05UIFVTRSAnLS0nIFBSRUZJWCEgSVQgQlJFQUtTIE9OIFNBRkFSSVxuICAgICAqIG5hbWluZyBjb252ZW50aW9uXG4gICAgICogLWJsdWUgICAgYmx1ZSBiZ1xuICAgICAqIC1vLWJsdWUgIGJsdWUgb3V0bGluZVxuICAgICAqIC1oLW8tcmVkIGhvdmVyIG91dGxpbmUgcmVkXG4gICAgICovXG59XG5cbi50ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIC5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbi5mb290ZXIgLmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50ay1idXR0b24uLXBsYWluLXRleHQsIC4tcGxhaW4tdGV4dC5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLi1wbGFpbi10ZXh0LmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi1wbGFpbi10ZXh0LmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tcGxhaW4tdGV4dCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24uLXBsYWluLXRleHQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi1wbGFpbi10ZXh0LmJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24uLXBsYWluLXRleHQsIC50ay1idXR0b24uLS1wbGFpbi10ZXh0LCAuLS1wbGFpbi10ZXh0LmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuLS1wbGFpbi10ZXh0LmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi0tcGxhaW4tdGV4dC5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS1wbGFpbi10ZXh0LFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi4tLXBsYWluLXRleHQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi0tcGxhaW4tdGV4dCwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLXBsYWluLXRleHQsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24uLS1wbGFpbi10ZXh0LCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi0tcGxhaW4tdGV4dCwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tLXBsYWluLXRleHQuYnV0dG9uLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbi4tLXBsYWluLXRleHQge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50ay1idXR0b24uLW8tYmxhY2ssIC4tby1ibGFjay5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLi1vLWJsYWNrLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi1vLWJsYWNrLmJ1dHRvbiwgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50ICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyBidXR0b24uLW8tYmxhY2ssIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24uLW8tYmxhY2ssIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbixcbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbixcbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4tby1ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tby1ibGFjay5idXR0b24sIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uLi1vLWJsYWNrLCAudGstYnV0dG9uLi0tb2JsYWNrLCAuLS1vYmxhY2suYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC4tLW9ibGFjay5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4tLW9ibGFjay5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS1vYmxhY2ssXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi0tb2JsYWNrLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4tLW9ibGFjaywgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tLW9ibGFjay5idXR0b24sIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uLi0tb2JsYWNrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstYnV0dG9uLi1vLWJsYWNrOmhvdmVyLCAuLW8tYmxhY2suYnV0dG9uOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuLW8tYmxhY2suYnV0dG9uOmhvdmVyLCAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLmJ1dHRvbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbjpob3ZlcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi5idXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b246aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tby1ibGFjazpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tby1ibGFjazpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4tby1ibGFjazpob3ZlciwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24uLW8tYmxhY2s6aG92ZXIsIC50ay1idXR0b24uLS1vYmxhY2s6aG92ZXIsIC4tLW9ibGFjay5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4tLW9ibGFjay5idXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS1vYmxhY2s6aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi0tb2JsYWNrOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi4tLW9ibGFjazpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLW9ibGFjazpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tLW9ibGFjazpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4tLW9ibGFjazpob3ZlciwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24uLS1vYmxhY2s6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwNjQ1QUQ7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstYnV0dG9uLi1ibHVlLCAuLWJsdWUuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC4tYmx1ZS5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4tYmx1ZS5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLWJsdWUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi1ibHVlLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi4tYmx1ZSwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tYmx1ZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tYmx1ZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4tYmx1ZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tYmx1ZS5idXR0b24sIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uLi1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDVBRDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4udGstYnV0dG9uLi1vLWJsdWUsIC5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbi5mb290ZXIgLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tby1ibHVlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IC5jaGVja291dC10eXBlcyBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi4tby1ibHVlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIC5jaGVja291dC10eXBlcyBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi4tby1ibHVlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIC5jaGVja291dC10eXBlcyBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jaGVja291dC10eXBlcyAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkgYnV0dG9uLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLmJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24sIC50ay1idXR0b24uLS1ibHVlLCAuLS1ibHVlLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuLS1ibHVlLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi0tYmx1ZS5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS1ibHVlLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi4tLWJsdWUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi0tYmx1ZSwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLWJsdWUsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24uLS1ibHVlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi0tYmx1ZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tLWJsdWUuYnV0dG9uLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbi4tLWJsdWUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDY0NUFEO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi50ay1idXR0b24uLWgtby1ibHVlOmhvdmVyLCAuLWgtby1ibHVlLmJ1dHRvbjpob3ZlcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi1oLW8tYmx1ZS5idXR0b246aG92ZXIsICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi5idXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24uYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uOmhvdmVyLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLmJ1dHRvbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b246aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi1oLW8tYmx1ZTpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4taC1vLWJsdWU6aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLWgtby1ibHVlOmhvdmVyLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbi4taC1vLWJsdWU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIGJvcmRlci1jb2xvcjogIzA2NDVBRDtcbn1cblxuLnRrLWJ1dHRvbi4td2lkZSwgLi13aWRlLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuLXdpZGUuYnV0dG9uLCAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24uYnV0dG9uLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyBidXR0b24uYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuLXdpZGUuYnV0dG9uLCAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uLmJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24sIC5mb290ZXIgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24uYnV0dG9uLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIC5mb290ZXIgYnV0dG9uLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4td2lkZSwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi13aWRlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24sIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uLXdpZGUsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi13aWRlLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24sIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4td2lkZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24sIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLXdpZGUsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi13aWRlLmJ1dHRvbiwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24sIC50ay1idXR0b24uLS13aWRlLCAuLS13aWRlLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuLS13aWRlLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLi0td2lkZS5idXR0b24sIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLS13aWRlLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbi4tLXdpZGUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLi0td2lkZSwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4tLXdpZGUsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgPiBsaSBidXR0b24uLS13aWRlLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uLi0td2lkZSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC4tLXdpZGUuYnV0dG9uLCAuYWlzLWluZmluaXRlLWhpdHMtLXNob3dtb3JlIGJ1dHRvbi4tLXdpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRrLWJ1dHRvbi4tby1yZWQsIC4tby1yZWQuYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC4tby1yZWQuYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuLW8tcmVkLmJ1dHRvbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbi4tby1yZWQsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZGlzY291bnQgLmRpc2NvdW50LWZvcm0gYnV0dG9uLi1yZW1vdmUsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi1vLXJlZCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24uLW8tcmVkLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgYnV0dG9uLi1vLXJlZCwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4tby1yZWQsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBidXR0b24uLW8tcmVkLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuYnV0dG9ucy1zZXQgLi1vLXJlZC5idXR0b24sIC5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uLi1vLXJlZCB7XG4gIGNvbG9yOiAjREMyMDIyO1xuICBib3JkZXItY29sb3I6ICNEQzIwMjI7XG59XG5cbi50ay1idXR0b24uLWgtby1yZWQ6aG92ZXIsIC4taC1vLXJlZC5idXR0b246aG92ZXIsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC4taC1vLXJlZC5idXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uLWgtby1yZWQ6aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZGlzY291bnQgLmRpc2NvdW50LWZvcm0gYnV0dG9uLi1yZW1vdmU6aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLi1oLW8tcmVkOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi4taC1vLXJlZDpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbi4taC1vLXJlZDpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIGJ1dHRvbi4taC1vLXJlZDpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGJ1dHRvbi4taC1vLXJlZDpob3ZlciwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24uLWgtby1yZWQ6aG92ZXIge1xuICBjb2xvcjogI0RDMjAyMjtcbiAgYm9yZGVyLWNvbG9yOiAjREMyMDIyO1xufVxuXG5hLnRrLWJ1dHRvbiwgYS5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgYS5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGEuYnV0dG9uLFxuLmZvb3RlciBhLmJ1dHRvbiwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IGEuYnV0dG9uIHtcbiAgcGFkZGluZzogOXB4IDE1cHg7XG59XG5cbmEudGstYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpob3Zlcixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyBhLmJ1dHRvbjpob3ZlcixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYS5idXR0b246aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5idXR0b25zLXNldCBhLmJ1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWNhcmVlcnMge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBtYXJnaW46IDA7XG59XG5cbi50ay1jYXJlZXJzIC50ay1oMSB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstY2FyZWVycyAuX19ibHVyYiBwIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi50ay1jYXJlZXJzIC5fX2xpc3QgLl9fbG9jYXRpb24ge1xuICBtYXJnaW46IDQwcHggMCAyMHB4IDA7XG59XG5cbi50ay1jYXJlZXJzIC5fX2xpc3QgLl9fY2l0eSB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNTBweCAwIDMwcHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstY2FydC1zdW1tYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fbGlzdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fbGlzdCAuX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDExcHg7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyID4gLl9fZGVzYyxcbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyID4gLl9fcHJpY2UsXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX3F0eSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyLFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX2Rlc2MsXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgPiAuX19kZXNjIHtcbiAgZmxleC1iYXNpczogNDAlO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX3ByaWNlLFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0ID4gLl9fcHJpY2Uge1xuICBmbGV4LWJhc2lzOiAyMCU7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9faGVhZGVyID4gLl9fcXR5LFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0ID4gLl9fcXR5IHtcbiAgZmxleC1iYXNpczogMzAlO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX2hlYWRlciA+IC5fX3N1YnRvdGFsLFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0ID4gLl9fc3VidG90YWwge1xuICBmbGV4LWJhc2lzOiAxMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3Qge1xuICBtYXJnaW46IDIwcHggMDtcbiAgLypcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgLl9fY29uZmlndXJhYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX3ByaWNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLl9fcXVhbnRpdHkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX3N1YnRvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAqL1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9faW1hZ2Uge1xuICB3aWR0aDogODZweDtcbiAgZmxleC1iYXNpczogODZweDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9fZGVzY3JpcHRpb24ge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbjogNHB4IDE1cHggMTBweCA3cHg7XG4gIGZsZXgtYmFzaXM6IDMxMHB4O1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19kZXNjcmlwdGlvbiAuX19kZXNpZ25lci1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19kZXNjcmlwdGlvbiAuX19kZXNpZ25lci1uYW1lIGEge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9fZGVzY3JpcHRpb24gLl9fcHJvZHVjdC1uYW1lIGEge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9fc2t1IHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9fc2t1ID4gZHQsIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19kZXNjIC5fX3NrdSA+IGRkIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19za3UgPiBkdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fZGVzYyAuX19za3Uge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2MgLl9fbG93LXF1YW50aXR5IHtcbiAgY29sb3I6ICNEQzIwMjI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX2Rlc2Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19kZXNjIC5fX2ltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3ByaWNlIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19wcmljZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19xdHkgaW5wdXQucXR5IHtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSAuX191cGRhdGUsXG4udGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IC5fX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzQ0NDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0NDQ7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19xdHkgLl9fdXBkYXRlOmhvdmVyLFxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSAuX19yZW1vdmU6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19xdHkgYnV0dG9uLl9fdXBkYXRlIHtcbiAgcGFkZGluZy1ib3R0b206IDFweDtcbn1cblxuLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSBhLl9fcmVtb3ZlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA5NnB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIH1cbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRrLWNhcnQtc3VtbWFyeSAuX19wcm9kdWN0IC5fX3F0eSBpbnB1dC5xdHkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAudGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fcXR5IGEuX19yZW1vdmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi50ay1jYXJ0LXN1bW1hcnkgLl9fcHJvZHVjdCAuX19zdWJ0b3RhbCB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstY2FydC1zdW1tYXJ5IC5fX3Byb2R1Y3QgLl9fc3VidG90YWwge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLnRrLWNhcnQtdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi50ay1jYXJ0LXRpdGxlIC5fX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstY2FydC10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAudGstY2FydC10aXRsZSAuX19jb250aW51ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzA2NDVBRDtcbiAgICBwYWRkaW5nOiA1cHggOXB4O1xuICB9XG4gIC50ay1jYXJ0LXRpdGxlIC5fX2NvbnRpbnVlIC5fX2V4dHJhIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1jYXRhbG9nLW5hdiBhIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1jYXRhbG9nLW5hdiBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ay1jYXRhbG9nLW5hdiBhLi1jdXJyZW50IHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstY2F0YWxvZy1uYXYgPiBoNiB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi50ay1jYXRhbG9nLW5hdiA+IGg2LCAudGstY2F0YWxvZy1uYXYgPiBhIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLnRrLWNhdGFsb2ctbmF2ID4gaDY6Zmlyc3QtY2hpbGQsIC50ay1jYXRhbG9nLW5hdiA+IGE6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4udGstY2F0YWxvZy1uYXYgPiBoNiA+IGEsIC50ay1jYXRhbG9nLW5hdiA+IGEge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1jYXRhbG9nLW5hdiA+IGg2ID4gYTpob3ZlciwgLnRrLWNhdGFsb2ctbmF2ID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLWNhdGFsb2ctbmF2ID4gaDYgPiBhLi1zYWxlLCAudGstY2F0YWxvZy1uYXYgPiBhLi1zYWxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4udGstY2F0YWxvZy1uYXYgPiBoNiA+IGEuLXNhbGU6aG92ZXIsIC50ay1jYXRhbG9nLW5hdiA+IGEuLXNhbGU6aG92ZXIge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRrLWNhdGFsb2ctbmF2ID4gaDYgPiBhLi1zYWxlLi1jdXJyZW50LCAudGstY2F0YWxvZy1uYXYgPiBhLi1zYWxlLi1jdXJyZW50IHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstY2F0YWxvZy1uYXYgPiAuX19saXN0IC5fX2xpc3QsIC50ay1jYXRhbG9nLW5hdiA+IC5fX2xpc3QuLXNhbGUge1xuICBtYXJnaW4tbGVmdDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4udGstY2F0ZWdvcnktdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbn1cblxuLnRrLWNhdGVnb3J5LXRpdGxlIC5fX2Rlc2NyaXB0aW9uIGgxIHtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1jYXRlZ29yeS10aXRsZSAuX19kZXNjcmlwdGlvbiBoMSB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstY2F0ZWdvcnktdGl0bGUgLl9fZGVzY3JpcHRpb24gaDEge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4udGstY2F0ZWdvcnktdGl0bGUgLl9fZGVzY3JpcHRpb24gaDEuLXdoaXRlIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1jYXRlZ29yeS10aXRsZSAuX19kZXNjcmlwdGlvbi4tbm9JbWFnZSBoMSB7XG4gICAgcGFkZGluZy10b3A6IDUycHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstY2F0ZWdvcnktdGl0bGUgLl9fZGVzY3JpcHRpb24uLW5vSW1hZ2UgaDEge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG59XG5cbi50ay1jYXRlZ29yeS10aXRsZSAuX19kZXNjcmlwdGlvbi4td2l0aEltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnRrLWNhdGVnb3J5LXRpdGxlIC5fX2ltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnRrLWNhdGVnb3J5LXRpdGxlIC5fX2ltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstY2hhdC1sb2cge1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1heC1oZWlnaHQ6IDkwdmg7XG59XG5cbi50ay1jaGF0LWxvZyAuX19lbnRyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLnRrLWNoYXQtbG9nIC5fX2VudHJ5IC5fX3VzZXIge1xuICB3aWR0aDogMjJweDtcbiAgbWluLXdpZHRoOiAyMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGstY2hhdC1sb2cgLl9fZW50cnkgLl9fdXNlciA+IGltZyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlIGF0IGNlbnRlcik7XG59XG5cbi50ay1jaGF0LWxvZyAuX19lbnRyeSAuX19tZXNzYWdlIHtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogIzAwMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstY2hhdC1sb2cgLl9fZW50cnkuLWNsaWVudCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLnRrLWNoYXQtbG9nIC5fX2VudHJ5Li1jbGllbnQgLl9fdXNlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4udGstY2hhdC1sb2cgLl9fZW50cnkuLW90aGVyIC5fX3VzZXIge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi50ay1jaGF0LWxvZyAuX19lbnRyeS4tYWdlbnQtaXMtdHlwaW5nID4gLl9fbWVzc2FnZSB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4udGstY2hhdC1sb2cgLl9fc3RhdHVzIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciAqOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4ge1xuICBwYWRkaW5nLXRvcDogMTMuNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIuNXB4O1xuICBmbGV4LWJhc2lzOiAyNSU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiBzcGFuLl9fbGhzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyID4gc3Bhbi5fX2xocyA+IGEge1xuICBwYWRkaW5nLXRvcDogMTMuNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMi41cHg7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiBzcGFuLl9fcmhzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4uX19yaHMgPiBhIHtcbiAgZmxleC1mbG93OiByb3ctcmV2ZXJzZSBub3dyYXA7XG4gIHBhZGRpbmctdG9wOiAyN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhID4gKiB7XG4gIHBhZGRpbmctcmlnaHQ6IDcuNXB4O1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyID4gc3BhbiA+IGEgLl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiBzcGFuID4gYSAuX190ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhIC5fX3RleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhOmhvdmVyLCAudGstY2hlY2tvdXQtaGVhZGVyID4gc3BhbiA+IGE6aG92ZXIgPiAqIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuLnRrLWNoZWNrb3V0LWhlYWRlciA+IHNwYW4gPiBhOmhvdmVyID4gLl9fdGV4dCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyID4gc3BhbiAuZmEge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiAuX19sb2dvIHtcbiAgcGFkZGluZy10b3A6IDI3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgPiAuX19sb2dvIGltZyB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3Qge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA3NnB4O1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBibGFjaztcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG4gIHdpZHRoOiAzMyU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdC4tdmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDEuMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3Qge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRkVGRUY7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGE6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGEgPiBzcGFuIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZy1yaWdodDogNy41cHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzA2NDVBRCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhID4gc3Bhbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhID4gLmZhIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1jaGVja291dC1oZWFkZXIgLl9fY29udGFjdCA+IGE6aG92ZXIgPiBzcGFuIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstY2hlY2tvdXQtaGVhZGVyIC5fX2NvbnRhY3QgPiBhOmhvdmVyID4gLmZhIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWNoZWNrb3V0LWhlYWRlciAuX19saHMsIC50ay1jaGVja291dC1oZWFkZXIgLl9fcmhzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1jaGVja291dC1oZWFkZXIgLl9fbG9nbyBpbWcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG59XG5cbmJvZHkgLnRrLWNoZWNrb3V0LWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2hlY2tvdXQtb25lcGFnZS1pbmRleCBkaXYuaGVhZGVyLWNvbnRhaW5lciBkaXYuaGVhZGVyIC50ay1uYXYtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jaGVja291dC1vbmVwYWdlLWluZGV4IGRpdi5oZWFkZXItY29udGFpbmVyIGRpdi5oZWFkZXIgLnRrLWNoZWNrb3V0LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udGstY2hlY2tvdXQgI3JlbWVtYmVyLW1lLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1jaGVja291dCAuX19jaGVja291dC1zdGVwcyAuX19zdGVwLXNpZ24taW4tYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWNoZWNrb3V0IC5fX2hlbHAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5zZWN0aW9uIC5zdGVwLXRpdGxlIGgyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fbWVtYmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1jaGVja291dC4tbW9iaWxlLXNpZ24taW4gLl9fY2hlY2tvdXQtc3RlcHMgLl9fc3RlcC1zaWduLWluLWJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAudGstY2hlY2tvdXQuLW1vYmlsZS1zaWduLWluIC5fX2NoZWNrb3V0LXN0ZXBzIC5fX3N0ZXAtc2lnbi1pbi1icmVhZGNydW1iOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcg4oCTICc7XG4gIH1cbiAgLnRrLWNoZWNrb3V0Li1tb2JpbGUtc2lnbi1pbiAuX19zaWduLWluIC5fX21lbWJlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRrLWNoZWNrb3V0Li1tb2JpbGUtc2lnbi1pbiAuX19zaWduLWluIC5fX2Fub255bW91cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGstY2hlY2tvdXQgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstY2hlY2tvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIG1heC13aWR0aDogMTAyNHB4O1xuICB9XG4gIC50ay1jaGVja291dCAuX19mdW5uZWwge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbiAgLnRrLWNoZWNrb3V0IC5fX2hlbHAge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICB9XG4gIC50ay1jaGVja291dCAuX19jaGVja291dC1zdGVwcyAuX19zdGVwLXNpZ24taW4tYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ay1jaGVja291dCAuX19oZWxwIHAge1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLnRrLWNoZWNrb3V0IC5fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgbWFyZ2luOiAwIDAgNjBweCAwO1xuICB9XG4gIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciwgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0MHB4IDUwcHggMjBweCA1MHB4O1xuICB9XG4gIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzliOWI5YjtcbiAgfVxuICAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19tb2JpbGUtc2lnbi1pbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19tZW1iZXIgLmlucHV0LXRleHQge1xuICBoZWlnaHQ6IHVuc2V0O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19tZW1iZXIgLmZvcm0tbGlzdCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fbWVtYmVyIC5fX2ZvcmdvdC1wYXNzd29yZCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciAuX19mb3Jnb3QtcGFzc3dvcmQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX21lbWJlciAuX19mb3Jnb3QtcGFzc3dvcmQge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgLl9fbW9iaWxlLXNpZ24taW4tbGluay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIGEuX19tb2JpbGUtc2lnbi1pbixcbi50ay1jaGVja291dCAuX19zaWduLWluIC5fX2Fub255bW91cyBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgYS5fX21vYmlsZS1zaWduLWluLi1vLWJsdWUsIC50ay1jaGVja291dCAuX19zaWduLWluIC5fX2Fub255bW91cyBhLl9fbW9iaWxlLXNpZ24taW4uYnV0dG9uLFxuLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgYS5fX21vYmlsZS1zaWduLWluLmJ1dHRvbiwgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAudGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgYS5fX21vYmlsZS1zaWduLWluLmJ1dHRvbixcbi50ay1jaGVja291dCAuX19zaWduLWluIC5fX2Fub255bW91cyBsYWJlbC4tby1ibHVlLFxuLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIGxhYmVsLmJ1dHRvbixcbi50ay1jaGVja291dCAuX19zaWduLWluIC5fX2Fub255bW91cyAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IGxhYmVsLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLnRrLWNoZWNrb3V0IC5fX3NpZ24taW4gLl9fYW5vbnltb3VzIGxhYmVsLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstY2hlY2tvdXQgLl9fc2lnbi1pbiAuX19hbm9ueW1vdXMgaW5wdXRbdHlwZT1yYWRpb10ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi50ay1kZXNpZ25lcnMtbGlzdCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG5cbi50ay1kZXNpZ25lcnMtbGlzdCAuX19kZXBhcnRtZW50LFxuLnRrLWRlc2lnbmVycy1saXN0IC5fX2xldHRlciB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMnB4IDAgM3B4IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi50ay1kZXNpZ25lcnMtbGlzdCAuX19kZXBhcnRtZW50Li1jdXJyZW50LFxuLnRrLWRlc2lnbmVycy1saXN0IC5fX2xldHRlci4tY3VycmVudCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzA2NDVBRDtcbn1cblxuLnRrLWRlc2lnbmVycy1saXN0IC5fX2xpbmsge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjOUI5QjlCO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4udGstZGVzaWduZXJzLWxpc3QgLl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLWRlc2lnbmVycy1saXN0IC5fX2RlcGFydG1lbnRzIHtcbiAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB3aWR0aDogMTV2dztcbn1cblxuLnRrLWRlc2lnbmVycy1saXN0IC5fX2Rlc2lnbmVycyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDcwdnc7XG4gIG1hcmdpbjogMCAxNXZ3IDAgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgaGVpZ2h0OiAxMDAwcHg7XG59XG5cbi50ay1kZXNpZ25lcnMtbGlzdCAuX19kZXNpZ25lcnMgPiBsaSB7XG4gIG1hcmdpbjogMCAyMHB4IDIwcHggMjBweDtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnRrLWRlc2lnbmVycy1saXN0IC5fX2Rlc2lnbmVycyAuYWlzLXJlZmluZW1lbnQtbGlzdC0tYm9keSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnRrLWRlc2lnbmVycy1saXN0IC5fX2Rlc2lnbmVycyAuX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDJweCAwIDNweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1kZXNpZ25lcnMtbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRrLWRlc2lnbmVycy1saXN0IC5fX2RlcGFydG1lbnRzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnRrLWRlc2lnbmVycy1saXN0IC5fX2Rlc2lnbmVycyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IG5vbmU7XG4gIH1cbiAgLnRrLWRlc2lnbmVycy1saXN0IC5fX2Rlc2lnbmVycyA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLWRlc2lnbmVycy1saXN0IC5fX2Rlc2lnbmVycyB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBoZWlnaHQ6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAudGstZGVzaWduZXJzLWxpc3QgLl9fZGVzaWduZXJzID4gbGkge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi50ay1lZGl0b3JpYWwtY3JlZGl0IHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi50ay1lZGl0b3JpYWwtY3JlZGl0IHVsIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi50ay1lZGl0b3JpYWwtY3JlZGl0IGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi50ay1lZGl0b3JpYWwtY3JlZGl0IHNwYW4ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1lZGl0b3JpYWwtY3JlZGl0Li1hZGQtd2lkdGgge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbn1cblxuLnRrLWVkaXRvcmlhbC1pbWFnZSB7XG4gIC8qIENhcHRpb25zIG9mIGxpbmtlZCBwcm9kdWN0cy9icmFuZHMgQkVMT1cgZWRpdG9yaWFsIGltYWdlcyAqL1xuICAvKiBDYXB0aW9ucyBvZiBsaW5rZWQgcHJvZHVjdHMvYnJhbmRzIGluIGVkaXRvcmlhbCBpbWFnZXMgKi9cbn1cblxuLnRrLWVkaXRvcmlhbC1pbWFnZSAuX19jYXB0aW9uIHtcbiAgZm9udC1mYW1pbHk6ICdMeW9uVGV4dC1SZWd1bGFyJywgVGltZXMsIHNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG4udGstZWRpdG9yaWFsLWltYWdlIC5fX2NhcHRpb24gYSxcbi50ay1lZGl0b3JpYWwtaW1hZ2UgLl9fY2FwdGlvbiBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG4udGstZWRpdG9yaWFsLWltYWdlIC5fX2NhcHRpb24gYTpob3Zlcixcbi50ay1lZGl0b3JpYWwtaW1hZ2UgLl9fY2FwdGlvbiBzcGFuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1lZGl0b3JpYWwtaW1hZ2UgLl9fY2FwdGlvbi4td2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRrLWVkaXRvcmlhbC1pbWFnZSAuX19jYXB0aW9uLi13aGl0ZSBhLFxuLnRrLWVkaXRvcmlhbC1pbWFnZSAuX19jYXB0aW9uLi13aGl0ZSBzcGFuIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50ay1lZGl0b3JpYWwtaW1hZ2UgLl9fcHJvZHVjdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCBoZWlnaHQgMC41cyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCBoZWlnaHQgMC41cyBlYXNlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xufVxuXG4udGstZWRpdG9yaWFsLWltYWdlIC5fX3Byb2R1Y3RzIGEge1xuICBmb250LWZhbWlseTogJ0FremlkZW56R3JvdGVza1JlZ3VsYXInLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi50ay1lZGl0b3JpYWwtaW1hZ2UgLl9fcHJvZHVjdHMgYTpob3ZlciB7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLnRrLWVkaXRvcmlhbC1pbWFnZSAuX19wcm9kdWN0cy4tdmlzaWJsZSB7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50ay1lZGl0b3JpYWwtaW1hZ2U6aG92ZXIgLl9fcHJvZHVjdHMge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1lZGl0b3JpYWwtaW1hZ2UgLl9fcHJvZHVjdHMge1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC50ay1lZGl0b3JpYWwtaW1hZ2U6aG92ZXIgLl9fcHJvZHVjdHMge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1lZGl0b3JpYWwtaW1hZ2UuLW92ZXJsYXktcHJvZHVjdHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAudGstZWRpdG9yaWFsLWltYWdlLi1vdmVybGF5LXByb2R1Y3RzIC5fX3Byb2R1Y3RzIHtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC1pbWFnZS4tb3ZlcmxheS1wcm9kdWN0cyAuX19wcm9kdWN0cyBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC1pbWFnZS4tb3ZlcmxheS1wcm9kdWN0cyAuX19wcm9kdWN0cyBhOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZWRpdG9yaWFsLCAudGtFZGl0b3JpYWwge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1lZGl0b3JpYWwsIC50a0VkaXRvcmlhbCB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODNweDtcbiAgfVxufVxuXG4udGstZWRpdG9yaWFsIC5fX3RpdGxlLCAudGtFZGl0b3JpYWwgLl9fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1lZGl0b3JpYWwgLl9fdGl0bGUsIC50a0VkaXRvcmlhbCAuX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cblxuLnRrLWVkaXRvcmlhbCAuX19zdWJ0aXRsZSwgLnRrRWRpdG9yaWFsIC5fX3N1YnRpdGxlIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZWRpdG9yaWFsIC5fX3JvdyAuX19pbWFnZSwgLnRrRWRpdG9yaWFsIC5fX3JvdyAuX19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1lZGl0b3JpYWwgLl9fcm93LCAudGtFZGl0b3JpYWwgLl9fcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgfVxuICAudGstZWRpdG9yaWFsIC5fX3Jvdy4tbm9Cb3R0b20sIC50a0VkaXRvcmlhbCAuX19yb3cuLW5vQm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC50ay1lZGl0b3JpYWwgLl9fcm93Li1wYWRCb3R0b20sIC50ay1lZGl0b3JpYWwgLl9fcm93Li1wYWQtYm90dG9tLCAudGtFZGl0b3JpYWwgLl9fcm93Li1wYWRCb3R0b20sIC50a0VkaXRvcmlhbCAuX19yb3cuLXBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbiAgfVxuICAudGstZWRpdG9yaWFsIC5fX3Jvdy4tbmVnTWFyZ2luMSwgLnRrRWRpdG9yaWFsIC5fX3Jvdy4tbmVnTWFyZ2luMSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgfVxufVxuXG4udGstZWRpdG9yaWFsIC5fX2NyZWRpdHMsIC50a0VkaXRvcmlhbCAuX19jcmVkaXRzIHtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgd2lkdGg6IDI5ZW07XG59XG5cbi50ay1lZGl0b3JpYWwgLl9fY3JlZGl0cyB1bCwgLnRrLWVkaXRvcmlhbCAuX19jcmVkaXRzLCAudGtFZGl0b3JpYWwgLl9fY3JlZGl0cyB1bCwgLnRrRWRpdG9yaWFsIC5fX2NyZWRpdHMge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDtcbn1cblxuLnRrLWVkaXRvcmlhbCAuX19jcmVkaXRzIHVsIGxpLCAudGstZWRpdG9yaWFsIC5fX2NyZWRpdHMgbGksIC50a0VkaXRvcmlhbCAuX19jcmVkaXRzIHVsIGxpLCAudGtFZGl0b3JpYWwgLl9fY3JlZGl0cyBsaSB7XG4gIHBhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4udGstZWRpdG9yaWFsIC5fX2NyZWRpdHMgdWwgbGk6OmJlZm9yZSwgLnRrLWVkaXRvcmlhbCAuX19jcmVkaXRzIGxpOjpiZWZvcmUsIC50a0VkaXRvcmlhbCAuX19jcmVkaXRzIHVsIGxpOjpiZWZvcmUsIC50a0VkaXRvcmlhbCAuX19jcmVkaXRzIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIxLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMSB7XG4gICAgaGVpZ2h0OiA1MC4yNXZ3O1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMSAuLWxoIGltZywgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjEgLi1saCBpbWcge1xuICAgIGhlaWdodDogMjUuNXZ3O1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMSAuLXJoIGltZywgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjEgLi1yaCBpbWcge1xuICAgIGhlaWdodDogMzcuNnZ3O1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiwgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjIge1xuICAgIGhlaWdodDogNjMuNXZ3O1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiAuLWxoIGltZywgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjIgLi1saCBpbWcge1xuICAgIGhlaWdodDogNTAuOHZ3O1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiAuLXJoLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiAuLXJoIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMi42MyAqIDEwMHZ3IC8gMTgpO1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMiAuLXJoIGltZywgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjIgLi1yaCBpbWcge1xuICAgIGhlaWdodDogMjUuNXZ3O1xuICB9XG4gIC50ay1lZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyMywgLnRrRWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjMge1xuICAgIGhlaWdodDogY2FsYygxMS44Ni8xOCAqIDEwMHZ3KTtcbiAgfVxuICAudGstZWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjMgLi1saCBpbWcsIC50a0VkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIzIC4tbGggaW1nIHtcbiAgICBoZWlnaHQ6IGNhbGMoNS41NS8xOCAqIDEwMHZ3KTtcbiAgfVxuICAudGstZWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjMgLi1yaCBpbWcsIC50a0VkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXIzIC4tcmggaW1nIHtcbiAgICBoZWlnaHQ6IGNhbGMoOS4wNS8xOCAqIDEwMHZ3KTtcbiAgfVxuICAudGstZWRpdG9yaWFsLi0tc2FnSGFyYm9yIC5fX3Jvdy4tc2FnUGFpcjQsIC50a0VkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXI0IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTQuMTIvMTggKiAxMDB2dyk7XG4gIH1cbiAgLnRrLWVkaXRvcmlhbC4tLXNhZ0hhcmJvciAuX19yb3cuLXNhZ1BhaXI0IC4tcmggaW1nLCAudGtFZGl0b3JpYWwuLS1zYWdIYXJib3IgLl9fcm93Li1zYWdQYWlyNCAuLXJoIGltZyB7XG4gICAgaGVpZ2h0OiBjYWxjKDExLjM1LzE4ICogMTAwdncpO1xuICB9XG59XG5cbi50ay1lZGl0b3JpYWxzLWxpc3Qge1xuICBtYXJnaW46IDE1cHggMTVweCAwIDE1cHg7XG59XG5cbi50ay1lZGl0b3JpYWxzLWxpc3QgLl9fY2VsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4udGstZWRpdG9yaWFscy1saXN0IC5fX2NlbGwgLl9fY292ZXIge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstZWRpdG9yaWFscy1saXN0IC5fX2NlbGwgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnRrLWVkaXRvcmlhbHMtbGlzdCAuX19jZWxsIC50ay1sMjpob3ZlciAqIHtcbiAgY29sb3I6ICMwNjQ1QUQgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstZWRpdG9yaWFscy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC50ay1lZGl0b3JpYWxzLWxpc3QgLl9fY2VsbCB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAxMHB4KTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC50ay1lZGl0b3JpYWxzLWxpc3Qge1xuICAgIG1hcmdpbjogODBweCA1MHB4IDUwcHggNTBweDtcbiAgfVxufVxuXG4udGstZmluYWwtc2FsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuLyogaHR0cDovL3RvdG9rYWVsby5jb20vYWJvdXQvdGstZmxleC1yb3cgKi9cbi50ay1mbGV4LXJvdy1ndWlkZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGstZmxleC1yb3ctZ3VpZGUgPiAuX19leGFtcGxlIHtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtZmFtaWx5OiBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlID4gLl9fZXhhbXBsZSA+IC5fX2JsdXJiIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG59XG5cbi50ay1mbGV4LXJvdy1ndWlkZSA+IC5fX2V4YW1wbGUgPiAuX19yb3cge1xuICBtYXJnaW46IDEwcHggMDtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrIHtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrOm50aC1jaGlsZCgxKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmM0YjM7XG59XG5cbi50ay1mbGV4LXJvdy1ndWlkZSAuX19ndWlkZS1ibG9jazpudGgtY2hpbGQoMikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZkNWIzO1xufVxuXG4udGstZmxleC1yb3ctZ3VpZGUgLl9fZ3VpZGUtYmxvY2s6bnRoLWNoaWxkKDMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZiMztcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrOm50aC1jaGlsZCg0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWU2YjM7XG59XG5cbi50ay1mbGV4LXJvdy1ndWlkZSAuX19ndWlkZS1ibG9jazpudGgtY2hpbGQoNSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRlNmIzO1xufVxuXG4udGstZmxleC1yb3ctZ3VpZGUgLl9fZ3VpZGUtYmxvY2s6bnRoLWNoaWxkKDYpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZTZiMztcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrOm50aC1jaGlsZCg3KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2U2YzQ7XG59XG5cbi50ay1mbGV4LXJvdy1ndWlkZSAuX19ndWlkZS1ibG9jazpudGgtY2hpbGQoOCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNlNmQ1O1xufVxuXG4udGstZmxleC1yb3ctZ3VpZGUgLl9fZ3VpZGUtYmxvY2s6bnRoLWNoaWxkKDkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZTZlNjtcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrOm50aC1jaGlsZCgxMCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkNWU2O1xufVxuXG4udGstZmxleC1yb3ctZ3VpZGUgLl9fZ3VpZGUtYmxvY2s6bnRoLWNoaWxkKDExKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2M0ZTY7XG59XG5cbi50ay1mbGV4LXJvdy1ndWlkZSAuX19ndWlkZS1ibG9jazpudGgtY2hpbGQoMTIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjNlNjtcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrOm50aC1jaGlsZCgxMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRiM2U2O1xufVxuXG4udGstZmxleC1yb3ctZ3VpZGUgLl9fZ3VpZGUtYmxvY2s6bnRoLWNoaWxkKDE0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWIzZTY7XG59XG5cbi50ay1mbGV4LXJvdy1ndWlkZSAuX19ndWlkZS1ibG9jazpudGgtY2hpbGQoMTUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2YjNlNjtcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrOm50aC1jaGlsZCgxNikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZiM2Q1O1xufVxuXG4udGstZmxleC1yb3ctZ3VpZGUgLl9fZ3VpZGUtYmxvY2s6bnRoLWNoaWxkKDE3KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmIzYzQ7XG59XG5cbi50ay1mbGV4LXJvdy1ndWlkZSAuX19ndWlkZS1ibG9jazpudGgtY2hpbGQoMTgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2YjNiMztcbn1cblxuLnRrLWZsZXgtcm93LWd1aWRlIC5fX2d1aWRlLWJsb2NrLi10YWxsIHtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstZmxleC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAudGstZmxleC1yb3cgLi1saCB7XG4gICAgb3JkZXI6IDA7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcmgge1xuICAgIG9yZGVyOiA5OTk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzAge1xuICAgIHdpZHRoOiBjYWxjKCAoMC8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogLTEpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDAvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDApO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMC8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzEge1xuICAgIHdpZHRoOiBjYWxjKCAoMS8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMS8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxLzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MiB7XG4gICAgd2lkdGg6IGNhbGMoICgyLzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgyLzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAyKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzIge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDIvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDIpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXczIHtcbiAgICB3aWR0aDogY2FsYyggKDMvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDIpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDMvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDMpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMy8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzQge1xuICAgIHdpZHRoOiBjYWxjKCAoNC8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoNC8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm80IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg0LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiA0KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13NSB7XG4gICAgd2lkdGg6IGNhbGMoICg1LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiA0KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg1LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiA1KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzUge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDUvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDUpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXc2IHtcbiAgICB3aWR0aDogY2FsYyggKDYvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDUpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW82IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDYvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDYpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoNi8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzcge1xuICAgIHdpZHRoOiBjYWxjKCAoNy8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoNy8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm83IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg3LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiA3KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13OCB7XG4gICAgd2lkdGg6IGNhbGMoICg4LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiA3KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg4LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiA4KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzgge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDgvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDgpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXc5IHtcbiAgICB3aWR0aDogY2FsYyggKDkvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDgpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW85IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDkvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDkpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvOSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoOS8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogOSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzEwIHtcbiAgICB3aWR0aDogY2FsYyggKDEwLzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiA5KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTAvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDEwKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzEwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxMC8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTApO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXcxMSB7XG4gICAgd2lkdGg6IGNhbGMoICgxMS8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTApO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxMS8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTEpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMTEge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDExLzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzEyIHtcbiAgICB3aWR0aDogY2FsYyggKDEyLzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzEyIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEyLzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxMik7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTIvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDEyKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MTMge1xuICAgIHdpZHRoOiBjYWxjKCAoMTMvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDEyKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTMvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDEzKTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzEzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxMy8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTMpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXcxNCB7XG4gICAgd2lkdGg6IGNhbGMoICgxNC8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTMpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxNC8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTQpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMTQge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE0LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzE1IHtcbiAgICB3aWR0aDogY2FsYyggKDE1LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzE1IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDE1LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxNSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTUvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDE1KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi13MTYge1xuICAgIHdpZHRoOiBjYWxjKCAoMTYvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDE1KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1vMTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTYvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDE2KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi1ybzE2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxNi8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTYpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXcxNyB7XG4gICAgd2lkdGg6IGNhbGMoICgxNy8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTYpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLW8xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxNy8xMiAqICgxMDAlIC0gKDExICogMHB4KSkpICsgMHB4ICogMTcpO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXJvMTcge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE3LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdzE4IHtcbiAgICB3aWR0aDogY2FsYyggKDE4LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tbzE4IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDE4LzEyICogKDEwMCUgLSAoMTEgKiAwcHgpKSkgKyAwcHggKiAxOCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tcm8xOCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTgvMTIgKiAoMTAwJSAtICgxMSAqIDBweCkpKSArIDBweCAqIDE4KTtcbiAgfVxuICAudGstZmxleC1yb3cgLi12LXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuICAudGstZmxleC1yb3cgLi12LWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXB1bGwtZG93bixcbiAgLnRrLWZsZXgtcm93IC4tdi1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG4gIC50ay1mbGV4LXJvdyAuLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1sZWZ0LWFsaWduIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnRrLWZsZXgtcm93IC4tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGstZmxleC1yb3cgLi10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4udGstZmxleC1yb3cuLW1hcmdpbiB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLWZsZXgtcm93Li1tYXJnaW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuXG4udGstZmxleC1yb3cuLWJsZWVkIGltZyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWZsZXgtcm93Li1ibGVlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXcxIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXcyIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC50ay1mbGV4LXJvdy4tYmxlZWQgLi13MyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXc1IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC50ay1mbGV4LXJvdy4tYmxlZWQgLi13NiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXc4IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC50ay1mbGV4LXJvdy4tYmxlZWQgLi13OSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAudGstZmxleC1yb3cuLWJsZWVkIC4tdzEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC50ay1mbGV4LXJvdy4tYmxlZWQgLi13MTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnRrLWZsZXgtcm93Li1ibGVlZCAuLXcxMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRrLWZsZXgtcm93Li13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGstZmxleC1yb3cgLnZpZGVvLWpzIHtcbiAgd2lkdGg6IDEwMC4xJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstZmxleC1yb3ctLTE4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLWxoIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcmgge1xuICAgIG9yZGVyOiA5OTk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcwIHtcbiAgICB3aWR0aDogY2FsYyggKDAvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogLTEpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgwLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDApO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzAge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDAvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxIHtcbiAgICB3aWR0aDogY2FsYyggKDEvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzIge1xuICAgIHdpZHRoOiBjYWxjKCAoMi8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMi8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAyKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgyLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDIpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13MyB7XG4gICAgd2lkdGg6IGNhbGMoICgzLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDIpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgzLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDMpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzMge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDMvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXc0IHtcbiAgICB3aWR0aDogY2FsYyggKDQvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW80IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDQvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoNC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA0KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzUge1xuICAgIHdpZHRoOiBjYWxjKCAoNS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA0KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoNS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA1KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm81IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg1LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDUpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13NiB7XG4gICAgd2lkdGg6IGNhbGMoICg2LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDUpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg2LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDYpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzYge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDYvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXc3IHtcbiAgICB3aWR0aDogY2FsYyggKDcvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogNik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW83IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDcvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvNyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoNy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA3KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzgge1xuICAgIHdpZHRoOiBjYWxjKCAoOC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA3KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoOC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA4KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm84IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICg4LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDgpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13OSB7XG4gICAgd2lkdGg6IGNhbGMoICg5LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDgpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICg5LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDkpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzkge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDkvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogOSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxMCB7XG4gICAgd2lkdGg6IGNhbGMoICgxMC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiA5KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEwLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDEwKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8xMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTAvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTApO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13MTEge1xuICAgIHdpZHRoOiBjYWxjKCAoMTEvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTApO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTEvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTEpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzExIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxMS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxMiB7XG4gICAgd2lkdGg6IGNhbGMoICgxMi8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxMi8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxMik7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMTIge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDEyLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDEyKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzEzIHtcbiAgICB3aWR0aDogY2FsYyggKDEzLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDEyKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzEzIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDEzLzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDEzKTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8xMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTMvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTMpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13MTQge1xuICAgIHdpZHRoOiBjYWxjKCAoMTQvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTMpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTQvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTQpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzE0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxNC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxNSB7XG4gICAgd2lkdGg6IGNhbGMoICgxNS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxNS8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNSk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMTUge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE1LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE1KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdzE2IHtcbiAgICB3aWR0aDogY2FsYyggKDE2LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE1KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tbzE2IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyggKDE2LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE2KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tcm8xNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCAoMTYvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTYpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi13MTcge1xuICAgIHdpZHRoOiBjYWxjKCAoMTcvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTYpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1vMTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAoMTcvMTggKiAoMTAwJSAtICgxNyAqIDEwcHgpKSkgKyAxMHB4ICogMTcpO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTggLi1ybzE3IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoICgxNy8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXcxOCB7XG4gICAgd2lkdGg6IGNhbGMoICgxOC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxNyk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLW8xOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoICgxOC8xOCAqICgxMDAlIC0gKDE3ICogMTBweCkpKSArIDEwcHggKiAxOCk7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXJvMTgge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyggKDE4LzE4ICogKDEwMCUgLSAoMTcgKiAxMHB4KSkpICsgMTBweCAqIDE4KTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4IC4tdi10b3Age1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXYtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXB1bGwtZG93biB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tbGVmdC1hbGlnbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOCAuLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi50ay1mbGV4LXJvdy0tMTguLW1hcmdpbiB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLWZsZXgtcm93LS0xOC4tbWFyZ2luIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgaW1nIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MSB7XG4gICAgd2lkdGg6IDUuNTU1NTYlO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLWJsZWVkIC4tdzIge1xuICAgIHdpZHRoOiAxMS4xMTExMSU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13MyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXc0IHtcbiAgICB3aWR0aDogMjIuMjIyMjIlO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLWJsZWVkIC4tdzUge1xuICAgIHdpZHRoOiAyNy43Nzc3OCU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13NiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXc3IHtcbiAgICB3aWR0aDogMzguODg4ODklO1xuICB9XG4gIC50ay1mbGV4LXJvdy0tMTguLWJsZWVkIC4tdzgge1xuICAgIHdpZHRoOiA0NC40NDQ0NCU7XG4gIH1cbiAgLnRrLWZsZXgtcm93LS0xOC4tYmxlZWQgLi13OSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxMCB7XG4gICAgd2lkdGg6IDU1LjU1NTU2JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxMSB7XG4gICAgd2lkdGg6IDYxLjExMTExJTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxMiB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxMyB7XG4gICAgd2lkdGg6IDcyLjIyMjIyJTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxNCB7XG4gICAgd2lkdGg6IDc3Ljc3Nzc4JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxNSB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxNiB7XG4gICAgd2lkdGg6IDg4Ljg4ODg5JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxNyB7XG4gICAgd2lkdGg6IDk0LjQ0NDQ0JTtcbiAgfVxuICAudGstZmxleC1yb3ctLTE4Li1ibGVlZCAuLXcxOCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRrLWZsZXgtcm93LS0xOC4td3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRrLWZsZXgtcm93LS0xOCAudmlkZW8tanMge1xuICB3aWR0aDogMTAwLjElO1xufVxuXG4udGstZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDI3cHggMzBweCAzMHB4IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWZvb3RlciB7XG4gICAgcGFkZGluZzogMjdweCAzMHB4IDMwcHggMzBweDtcbiAgfVxufVxuXG4udGstZm9vdGVyIC5fX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLnRrLWZvb3RlciAuX19jb250YWluZXIgdWwge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIGEge1xuICAgIHBhZGRpbmc6IDJweCA2MnB4IDNweCA2MnB4O1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIC5fX2NsaWVudC1zZXJ2aWNlIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciAuX19jb250YWN0IHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciAuX19zb2NpYWwge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIC5fX21haWxpbmctbGlzdCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgLl9faGVhZGVyLi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgLl9faGVhZGVyLi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgLl9fY2xpZW50LXNlcnZpY2UsXG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIC5fX2NvbnRhY3QsXG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyIC5fX3NvY2lhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciAuX19tYWlsaW5nLWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4udGstZm9vdGVyIC5fX3Rlcm1zIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1mb290ZXIgLl9fdGVybXMge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLnRrLWZvb3RlciAuX190ZXJtcyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstZm9vdGVyIC5fX3Rlcm1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLnRrLWZvb3RlciAuX190ZXJtcyA+ICoge1xuICBwYWRkaW5nOiAwIDVweCAwIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnRrLWZvb3RlciAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudGstZm9vdGVyIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5pbnB1dC1ib3gge1xuICAgIG1pbi1oZWlnaHQ6IG5vbmU7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgPiBkaXYge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2IC5ibG9jay1zdWJzY3JpYmUsIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2IHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2Li1vcGVuIC5ibG9jay1zdWJzY3JpYmUsIC50ay1mb290ZXIgLl9fY29udGFpbmVyID4gZGl2Li1vcGVuIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudGstZm9vdGVyIC5fX2NvbnRhaW5lciA+IGRpdi4tb3BlbiAuX19oZWFkZXIuLW1vYmlsZSBpbWcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgdWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRrLWZvb3RlciAuX19jb250YWluZXIgdWwgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIC50ay1mb290ZXIgLl9faGVhZGVyLi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogNGVtO1xuICB9XG4gIC50ay1mb290ZXIgLl9faGVhZGVyLi1tb2JpbGUgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMS0yMCB7XG4gIG1hcmdpbjogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMS0yMCAuX19oZWFkZXItbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDU0cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTExLTIwIC5fX2hlYWRlci1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzOXB4O1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMS0yMCAuX19oZWFkZXItbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTExLTIwIC5fX2hlYWRlci1saW5rOmhvdmVyID4gKiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstZnJvbnQtcGFnZS0tMTEtMjAgLl9faGVhZGVyLWxpbmsgLl9faGVsdmV0aWNhIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZS1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTExLTIwIC5fX2hlYWRlci1saW5rIC5fX3RpbWVzIHtcbiAgZm9udC1mYW1pbHk6IFRpbWVzLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTExLTIwID4gLl9fcm93IC5fX3RpdGxlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cgLl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cuLXRpdGxlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cgLl9fZmVhdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1mcm9udC1wYWdlLS0xMS0yMCA+IC5fX3Jvdy5fX3JvdzEgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTExLTIwID4gLl9fcm93Ll9fcm93MSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTExLTIwID4gLl9fcm93Ll9fcm93MSAuX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTEtMjAgPiAuX19yb3cuLWZlYXR1cmVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS0xMS0yMCA+IC5fX3Jvdy5fX3JvdzEsIC50ay1mcm9udC1wYWdlLS0xMS0yMCA+IC5fX3Jvdy4tdGl0bGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMi0wNSB7XG4gIG1hcmdpbjogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMi0wNSAuX19oZWFkZXItbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDU0cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1IC5fX2hlYWRlci1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzOXB4O1xuICB9XG59XG5cbi50ay1mcm9udC1wYWdlLS0xMi0wNSAuX19oZWFkZXItbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTEyLTA1IC5fX2hlYWRlci1saW5rOmhvdmVyID4gKiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstZnJvbnQtcGFnZS0tMTItMDUgLl9faGVhZGVyLWxpbmsgLl9faGVsdmV0aWNhIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZS1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTEyLTA1IC5fX2hlYWRlci1saW5rIC5fX3RpbWVzIHtcbiAgZm9udC1mYW1pbHk6IFRpbWVzLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93IC5fX3RpdGxlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cgLl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cgLl9fZmVhdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1mcm9udC1wYWdlLS0xMi0wNSA+IC5fX3JvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cuX19yb3cxID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS0xMi0wNSA+IC5fX3Jvdy5fX3JvdzEgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS0xMi0wNSA+IC5fX3Jvdy5fX3JvdzEgLl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93Li1mZWF0dXJlcyAuX19mZWF0dXJlOmhvdmVyLCAudGstZnJvbnQtcGFnZS0tMTItMDUgPiAuX19yb3cuLWZlYXR1cmVzIC5fX2ZlYXR1cmU6aG92ZXIgKiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93Li1mZWF0dXJlcyAuX19mZWF0dXJlIC5fX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDMydnc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTEyLTA1ID4gLl9fcm93Li1mZWF0dXJlcyAuX19mZWF0dXJlIC5fX3RpdGxlIHtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnRrLWZyb250LXBhZ2UtLTIwMTgtMDItMTMge1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZnJvbnQtcGFnZS0tMjAxOC0wMi0xMyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1mcm9udC1wYWdlLS0yMDE4LTAyLTEzIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLnRrLWZyb250LXBhZ2UtLTIwMTgtMDItMTMgLl9fY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi50ay1mcm9udC1wYWdlLS0yMDE4LTAyLTEzIC5fX2NlbGwgKiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstZnJvbnQtcGFnZS0tMjAxOC0wMi0xMyAudGt1LXRvZG8ge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTkycHg7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstZnJvbnQtcGFnZS0tOS0yOCB7XG4gIG1hcmdpbjogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTktMjggPiAuX19yb3cuLXRpdGxlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tOS0yOCA+IC5fX3JvdyAuX19mZWF0dXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLWZyb250LXBhZ2UtLTktMjggPiAuX19yb3cuX19yb3cxID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS05LTI4ID4gLl9fcm93Ll9fcm93MSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UtLTktMjggPiAuX19yb3cuX19yb3cxIC5fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG4gIC50ay1mcm9udC1wYWdlLS05LTI4ID4gLl9fcm93Li1mZWF0dXJlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxuICAudGstZnJvbnQtcGFnZS0tOS0yOCA+IC5fX3Jvdy5fX3JvdzEsIC50ay1mcm9udC1wYWdlLS05LTI4ID4gLl9fcm93Li10aXRsZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDk1cHg7XG4gIH1cbn1cblxuLnRrLWZyb250LXBhZ2UgYSB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstZnJvbnQtcGFnZSAuX19yb3cgLl9fY2VsbCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4udGstZnJvbnQtcGFnZSAuX19yb3cgLl9fY2VsbCArIC5fX2NlbGwge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnRrLWZyb250LXBhZ2UgLl9fcm93MSBpbWcsIC50ay1mcm9udC1wYWdlIC5fX3JvdzIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ay1mcm9udC1wYWdlIC5fX3JvdzEgLnNlY3Rpb24tdGl0bGUsIC50ay1mcm9udC1wYWdlIC5fX3JvdzIgLnNlY3Rpb24tdGl0bGUge1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRrLWZyb250LXBhZ2UgLl9fcm93MSAuc2VjdGlvbi10aXRsZSBoMiwgLnRrLWZyb250LXBhZ2UgLl9fcm93MiAuc2VjdGlvbi10aXRsZSBoMiB7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRrLWZyb250LXBhZ2UgLl9fcm93MSA+IC5fX2NlbGwgKyAuX19jZWxsIC5zZWN0aW9uLXRpdGxlLCAudGstZnJvbnQtcGFnZSAuX19yb3cyID4gLl9fY2VsbCArIC5fX2NlbGwgLnNlY3Rpb24tdGl0bGUge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLnRrLWZyb250LXBhZ2UgLl9fcm93MyAuX19jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNXB4O1xufVxuXG4udGstZnJvbnQtcGFnZSAuX19yb3czIC5fX2NlbGwgaDIsIC50ay1mcm9udC1wYWdlIC5fX3JvdzMgLl9fY2VsbCBoMyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG59XG5cbi50ay1mcm9udC1wYWdlIC5fX3JvdzMgLl9fY2VsbCAuY3RhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTVweDtcbiAgdG9wOiAyNXB4O1xuICBmb250LXNpemU6IC44NWVtO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRrLWZyb250LXBhZ2UgLl9fcm93MyAuX19jZWxsIGltZyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstZnJvbnQtcGFnZSAuX19yb3czIC5fX2NlbGwge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbiAgLnRrLWZyb250LXBhZ2UgLl9fcm93MyAuX19jZWxsIGgyLCAudGstZnJvbnQtcGFnZSAuX19yb3czIC5fX2NlbGwgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstZnJvbnQtcGFnZSAuX19yb3czIC5fX2NlbGwgLmN0YSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4udGstZnJvbnQtcGFnZSAuX19yb3c0IC5fX2NlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50ay1mcm9udC1wYWdlIC5fX3JvdzQgLl9fY2VsbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRrLWZyb250LXBhZ2UgLl9fcm93NCAuX19jZWxsIC5zZWN0aW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogLjc1O1xuICB0b3A6IDUwcHg7XG4gIGxlZnQ6IDUwcHg7XG59XG5cbi50ay1mcm9udC1wYWdlIC5fX3JvdzQgLl9fY2VsbCAuc2VjdGlvbi10aXRsZSBoMiwgLnRrLWZyb250LXBhZ2UgLl9fcm93NCAuX19jZWxsIC5zZWN0aW9uLXRpdGxlIGgzIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4udGstZ2lmdC1ndWlkZS0yMDE4IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZ2lmdC1ndWlkZS0yMDE4IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9faGVhZGVyLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZ2lmdC1ndWlkZS0yMDE4IC5fX2hlYWRlci1pbWFnZSB7XG4gICAgd2lkdGg6IDQ0JTtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9faGVhZGVyLWltYWdlIC5fX2hlYWRlci1pbWFnZS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnRrLWdpZnQtZ3VpZGUtMjAxOCAuX19ib2R5LXRleHQge1xuICBmb250LWZhbWlseTogVGltZXMsIHNlcmlmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWdpZnQtZ3VpZGUtMjAxOCAuX19ib2R5LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLi1mdWxsLWJsZWVkIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xufVxuXG4udGstZ2lmdC1ndWlkZS0yMDE4IC4tZnVsbC1ibGVlZCAuX19jYXB0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstZ2lmdC1ndWlkZS0yMDE4IC5fX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4udGstZ2lmdC1ndWlkZS0yMDE4IC5fX2RpcHR5Y2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fZGlwdHljaC1pbWFnZSB7XG4gIHdpZHRoOiA0OSU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWdpZnQtZ3VpZGUtMjAxOCAuX19kaXB0eWNoLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fc2hvcC1idG4tY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1naWZ0LWd1aWRlLTIwMTggLl9fc2hvcC1idG4tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDUwcHggYXV0byAxMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1naWZ0LWd1aWRlLTIwMTggLl9fcHJvZHVjdC1mZWVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fZnVsbC13aWR0aC1saW5lIHtcbiAgbWFyZ2luOiAwcHggLTMwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4udGstZ2lmdC1ndWlkZS0yMDE4IC5fX2Z1bGwtd2lkdGgtbGluZS4tcGFkLWJvdHRvbSB7XG4gIG1hcmdpbjogMTAwcHggLTMwcHg7XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fZ2lmdC1ndWlkZXMtdGl0bGUge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbWFyZ2luOiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWdpZnQtZ3VpZGUtMjAxOCAuX19naWZ0LWd1aWRlcy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fZ2FsbGVyeS1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fZ2lmdC1ndWlkZS10aWxlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbn1cblxuLnRrLWdpZnQtZ3VpZGUtMjAxOCAuX19naWZ0LWd1aWRlLXRpbGUuLW5vLWxpbmUge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWdpZnQtZ3VpZGUtMjAxOCAuX19naWZ0LWd1aWRlLXRpbGUge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgfVxufVxuXG4udGstZ2lmdC1ndWlkZS0yMDE4IC5fX3RpbGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDg1JTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstZ2lmdC1ndWlkZS0yMDE4IC5fX3RpbGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTUlO1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fdGlsZS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fdGlsZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstZ2lmdC1ndWlkZS0yMDE4IC5fX3RpbGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1naWZ0LWd1aWRlLTIwMTggLl9fdGlsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fdGlsZS1saW5rcyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fdGlsZS1saW5rcyBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgY29sb3I6ICM5QjlCOUI7XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLl9fdGlsZS1saW5rcyBhIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1naWZ0LWd1aWRlLTIwMTggLmluYWN0aXZlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogY29uc29saWRhdGVkIGhlbHAgcGFnZS4gdG90b2thZWxvLmNvbS9oZWxwICovXG4udGstaGVscCAudGstaDEsIC50ay1oZWxwIC50ay1oMiB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG4udGstaGVscCAuX19uYXYgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstaGVscCAuX19jdXJyZW50LXNlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstaGVscCAuX19saXN0IC5fX2NoYXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLWhlbHAge1xuICAgIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgfVxuICAudGstaGVscCAuX19uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAycyBlYXNlO1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMzBweDtcbiAgICBsZWZ0OiAzMHB4O1xuICB9XG4gIC50ay1oZWxwIC5fX2JvZHkge1xuICAgIG1hcmdpbi1sZWZ0OiAxODBweDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI1NnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWhlbHAge1xuICAgIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi1jb250YWluZXIge1xuICAgIGhlaWdodDogODBweDtcbiAgfVxuICAudGstaGVscCAuX19uYXYtY29udGFpbmVyIC5fX25hdiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTI1cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMCAzMHB4O1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi1jb250YWluZXIgLl9fbmF2OjpiZWZvcmUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIGZpbHRlcjogYmx1cig1cHgpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi1jb250YWluZXIgLl9fbmF2IC5fX2N1cnJlbnQtc2VjdGlvbiB7XG4gICAgei1pbmRleDogMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBoZWlnaHQ6IDNlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnRrLWhlbHAgLl9fbmF2LWNvbnRhaW5lciAuX19uYXYgLl9fY3VycmVudC1zZWN0aW9uIGltZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuICAudGstaGVscCAuX19uYXYtY29udGFpbmVyIC5fX25hdiAuX19saXN0IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGJsYWNrO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLWhlbHAgLl9fbmF2LWNvbnRhaW5lciAuX19uYXYgLl9fbGlzdCBhIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG4gIC50ay1oZWxwIC5fX25hdi1jb250YWluZXIgLl9fbmF2IC5fX2xpc3QgYS4tY3VycmVudCB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gIH1cbiAgLnRrLWhlbHAgLl9fbmF2LWNvbnRhaW5lciAuX19uYXYuLW9wZW4gLl9fbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnRrLWhlbHAgLnRrLXNlY3Rpb24uLXNoaXBwaW5nIGg0IHtcbiAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1oZWxwIC50ay1zZWN0aW9uLi1zaGlwcGluZyB0YWJsZSAuX19uYW1lIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbiAgLnRrLWhlbHAgLnRrLXNlY3Rpb24uLXNoaXBwaW5nIHRhYmxlIC5fX2RlbGl2ZXJlZCB7XG4gICAgd2lkdGg6IDE3NXB4O1xuICB9XG4gIC50ay1oZWxwIC50ay1zZWN0aW9uLi1zaGlwcGluZyB0YWJsZSAuX19jb3N0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udGstaGVscCAudGstc2VjdGlvbi4tc2l6ZS1ndWlkZSAuX19kZWZpbml0aW9uVGl0bGUsIC50ay1oZWxwIC50ay1zZWN0aW9uLi1zaXplLWd1aWRlIGR0IHtcbiAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xufVxuXG4udGstaGVscCAudGstc2VjdGlvbi4tcGF5bWVudCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgcGFkZGluZzogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstaGVscCAudGstc2VjdGlvbi4tbS1hbmNob3Ige1xuICAgIHBhZGRpbmctdG9wOiAxNTVweDtcbiAgICBtYXJnaW4tdG9wOiAtMTU1cHg7XG4gIH1cbn1cblxuLnRrLWhvbGlkYXktc2hpcHBpbmcge1xuICBtYXgtd2lkdGg6IDU1MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4udGstaG9saWRheS1zaGlwcGluZyBoNiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi50ay1ob2xpZGF5LXNoaXBwaW5nIC5fX2dyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG59XG5cbi50ay1ob3Zlci1jZWxsIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay1ob3Zlci1jZWxsIC5fX3RpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICB9XG59XG5cbi50ay1ob3Zlci1jZWxsOmhvdmVyIC5fX2ltYWdlIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4udGstaG92ZXItY2VsbDpob3ZlciwgLnRrLWhvdmVyLWNlbGw6aG92ZXIgcCwgLnRrLWhvdmVyLWNlbGw6aG92ZXIgLl9fdGl0bGUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi50ay1ob3Zlci1jZWxsOmhvdmVyIC4tbm8tdW5kZXJsaW5lLCAudGstaG92ZXItY2VsbDpob3ZlciBwIC4tbm8tdW5kZXJsaW5lLCAudGstaG92ZXItY2VsbDpob3ZlciAuX190aXRsZSAuLW5vLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRrLWhvdmVyLWNlbGwgYTpmb2N1cyBpbWcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICMwNjQ1QUQgIWltcG9ydGFudDtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstaG92ZXItY2VsbC4tZGVza3RvcC1oaWRlLXRpdGxlIC5fX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstaG92ZXItY2VsbC4tb3ZlcmxheS10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIDAgNHB4IHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRrLWhvdmVyLWNlbGwuLW92ZXJsYXktdGl0bGUgLl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDZweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIGNvbG9yOiAjMTExO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudGstaG92ZXItY2VsbC4tb3ZlcmxheS10aXRsZSAuX190aXRsZSAuX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudGstaG92ZXItY2VsbC4tb3ZlcmxheS10aXRsZTpob3ZlciAuX190aXRsZSwgLnRrLWhvdmVyLWNlbGwuLW92ZXJsYXktdGl0bGUuLWFsd2F5cy12aXNpYmxlIC5fX3RpdGxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC50ay1ob3Zlci1jZWxsLi1vdmVybGF5LXRpdGxlOmhvdmVyIC5fX2ltYWdlLCAudGstaG92ZXItY2VsbC4tb3ZlcmxheS10aXRsZS4tYWx3YXlzLXZpc2libGUgLl9faW1hZ2Uge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLnRrLWhvdmVyLWNlbGwuLW1vYmlsZS1vdmVybGF5LXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUgLl9fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNnB4O1xuICBsZWZ0OiAxMHB4O1xuICBjb2xvcjogIzExMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUgLl9fdGl0bGUgLl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGU6aG92ZXIgLl9fdGl0bGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4udGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGU6aG92ZXIgLl9faW1hZ2Uge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUuLXdoaXRlVGV4dCwgLnRrLWhvdmVyLWNlbGwuLW1vYmlsZS1vdmVybGF5LXRpdGxlLi13aGl0ZVRleHQgcCwgLnRrLWhvdmVyLWNlbGwuLW1vYmlsZS1vdmVybGF5LXRpdGxlLi13aGl0ZVRleHQgLl9fdGl0bGUsIC50ay1ob3Zlci1jZWxsLi1tb2JpbGUtb3ZlcmxheS10aXRsZS4td2hpdGVUZXh0IC5fX3RpdGxlID4gKiwgLnRrLWhvdmVyLWNlbGwuLW1vYmlsZS1vdmVybGF5LXRpdGxlLi13aGl0ZS10ZXh0LCAudGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUuLXdoaXRlLXRleHQgcCwgLnRrLWhvdmVyLWNlbGwuLW1vYmlsZS1vdmVybGF5LXRpdGxlLi13aGl0ZS10ZXh0IC5fX3RpdGxlLCAudGstaG92ZXItY2VsbC4tbW9iaWxlLW92ZXJsYXktdGl0bGUuLXdoaXRlLXRleHQgLl9fdGl0bGUgPiAqIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogMCAwIDRweCBibGFjayAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1ob3Zlci1jZWxsLi1tb2JpbGUtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGstaG92ZXItY2VsbC4tbm9UZXh0SG92ZXIsIC50ay1ob3Zlci1jZWxsLi1ub1RleHRIb3ZlciBwLCAudGstaG92ZXItY2VsbC4tbm9UZXh0SG92ZXIgLl9fdGl0bGUsIC50ay1ob3Zlci1jZWxsLi1uby10ZXh0LWhvdmVyLCAudGstaG92ZXItY2VsbC4tbm8tdGV4dC1ob3ZlciBwLCAudGstaG92ZXItY2VsbC4tbm8tdGV4dC1ob3ZlciAuX190aXRsZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstaG92ZXItY2VsbC4td2hpdGVUZXh0LCAudGstaG92ZXItY2VsbC4td2hpdGVUZXh0IHAsIC50ay1ob3Zlci1jZWxsLi13aGl0ZVRleHQgLl9fdGl0bGUsIC50ay1ob3Zlci1jZWxsLi13aGl0ZVRleHQgLl9fdGl0bGUgKiwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlVGV4dDpob3ZlciwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlVGV4dDpob3ZlciBwLCAudGstaG92ZXItY2VsbC4td2hpdGVUZXh0OmhvdmVyIC5fX3RpdGxlLCAudGstaG92ZXItY2VsbC4td2hpdGVUZXh0OmhvdmVyIC5fX3RpdGxlICosIC50ay1ob3Zlci1jZWxsLi13aGl0ZS10ZXh0LCAudGstaG92ZXItY2VsbC4td2hpdGUtdGV4dCBwLCAudGstaG92ZXItY2VsbC4td2hpdGUtdGV4dCAuX190aXRsZSwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlLXRleHQgLl9fdGl0bGUgKiwgLnRrLWhvdmVyLWNlbGwuLXdoaXRlLXRleHQ6aG92ZXIsIC50ay1ob3Zlci1jZWxsLi13aGl0ZS10ZXh0OmhvdmVyIHAsIC50ay1ob3Zlci1jZWxsLi13aGl0ZS10ZXh0OmhvdmVyIC5fX3RpdGxlLCAudGstaG92ZXItY2VsbC4td2hpdGUtdGV4dDpob3ZlciAuX190aXRsZSAqIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDRweCBibGFjayAhaW1wb3J0YW50O1xuICB9XG4gIC50ay1ob3Zlci1jZWxsLi13aGl0ZVRleHQgYTpmb2N1cywgLnRrLWhvdmVyLWNlbGwuLXdoaXRlLXRleHQgYTpmb2N1cyB7XG4gICAgb3V0bGluZS1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ay1pbWFnZS16b29tIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi50ay1pbWFnZS16b29tIC5fX21hc2sge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgZmlsdGVyOiBvcGFjaXR5KDk1JSkgYmx1cig1cHgpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4udGstaW1hZ2Utem9vbSAuY29udGFpbmVyIHtcbiAgei1pbmRleDogMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ay1pbWFnZS16b29tIC5jb250YWluZXIgLmNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHpvb20tb3V0O1xufVxuXG4udGstaW1hZ2Utem9vbSAuY29udGFpbmVyIC5uZXh0LFxuLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciAucHJldmlvdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDB2aDtcbn1cblxuLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciAubmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4udGstaW1hZ2Utem9vbSAuY29udGFpbmVyIC5wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciAucHJldmlvdXMge1xuICAgIHJpZ2h0OiA4cHg7XG4gIH1cbn1cblxuLnRrLWltYWdlLXpvb20gLmNvbnRhaW5lciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1pbWFnZS16b29tIC5jb250YWluZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgfVxufVxuXG4udGstbGlzdCB7XG4gIG1hcmdpbjogMjBweCAwIDIwcHggNDBweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG59XG5cbi50ay1saXN0Li1kaXNjIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG4udGstbGlzdC4tbnVtZXJpYyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLnRrLWxpc3QuLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbn1cblxuLnRrLWxpc3QgPiBsaSB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSB7XG4gIHdpZHRoOiAyODBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLmlucHV0LXRleHQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9faW5wdXRzIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2lucHV0cyAuX19jaG9pY2VzIHtcbiAgbWFyZ2luOiA1cHggMDtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fcHJvbW90aW9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19wcm9tb3Rpb24ge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fY2hvaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fY2hvaWNlcyA+IHAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19jaG9pY2VzIGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiA1cHg7XG4gIGZsZXgtZ3JvdzogMjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fY2hvaWNlcyBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fY2hvaWNlcyBsYWJlbDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMgbGFiZWwuLXZhbGlkIHtcbiAgY29sb3I6ICNEQzIwMjI7XG59XG5cbi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMgLnZhbGlkYXRpb24tYWR2aWNlIH4gbGFiZWwge1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuLnRrLW1haWxpbmctbGlzdC1zdWJzY3JpYmUgLl9fY2hvaWNlcyAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxuICAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19jaG9pY2VzID4gcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIC5fX2Nob2ljZXMgbGFiZWwge1xuICAgIGZsZXgtZ3JvdzogdW5zZXQ7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNzJweDtcbiAgfVxufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19lcnJvciB7XG4gIGNvbG9yOiAjREMyMDIyO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMC4wO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xufVxuXG4udGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19lcnJvci4tdmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogdW5zZXQ7XG4gIG9wYWNpdHk6IDEuMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuX19zdWJzY3JpYmUtYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG5cbi50ay1tb2RhbC1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi50ay1tb2RhbC1jb250YWluZXIgPiBkaXYsIC50ay1tb2RhbC1jb250YWluZXIgPiBmb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDI1dmggYXV0byAwIGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1tb2RhbC1jb250YWluZXIgPiBkaXYsIC50ay1tb2RhbC1jb250YWluZXIgPiBmb3JtIHtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxufVxuXG4udGstbW9kYWwtY29udGFpbmVyLi12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4udGstbW9kYWwtY29udGFpbmVyLi12aXNpYmxlID4gZGl2LCAudGstbW9kYWwtY29udGFpbmVyLi12aXNpYmxlID4gZm9ybSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50ay1tb2RhbC1jb250YWluZXIgLl9fY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGstbW9kYWwtY29udGFpbmVyIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBwYWRkaW5nOiAzMHB4O1xuICB3aWR0aDogMzYwcHg7XG4gIG1heC13aWR0aDogOTB2dztcbn1cblxuLnRrLW1vZGFsLWNvbnRhaW5lciAudGstbWFpbGluZy1saXN0LXN1YnNjcmliZSAuYmxvY2stY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstbXVsdGlzZWxlY3QtcmVmaW5lbWVudC1saXN0IHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi50ay1tdWx0aXNlbGVjdC1yZWZpbmVtZW50LWxpc3Qgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLW5hdi1hbmQtcHJvZHVjdHMgPiAuX19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGstbmF2LWFuZC1wcm9kdWN0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC50ay1uYXYtYW5kLXByb2R1Y3RzID4gLl9fbmF2IHtcbiAgICBmbGV4LWJhc2lzOiAyMCU7XG4gIH1cbiAgLnRrLW5hdi1hbmQtcHJvZHVjdHMgPiAuX19wcm9kdWN0cyB7XG4gICAgZmxleC1iYXNpczogODAlO1xuICB9XG59XG5cbipbdi1jbG9ha10ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4udGstbmF2LWNhdGFsb2cge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG4udGstbmF2LWNhdGFsb2cgYSB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGstbmF2LWNhdGFsb2cgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGstbmF2LWNhdGFsb2cgYS4tY3VycmVudCB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRrLW5hdi1jYXRhbG9nIGg2IHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udGstbmF2LWNhdGFsb2cgPiAuX19saXN0IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi50ay1uYXYtY2F0YWxvZyA+IC5fX2xpc3QgPiBsaSAuX19saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnRrLW5hdi1jYXRhbG9nID4gLl9fbGlzdCA+IGxpLi1leHBhbmRlZCAuX19saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1uYXYtY2F0YWxvZyA+IC5fX2xpc3QgPiBsaS4tc2FsZSBhIHtcbiAgY29sb3I6ICNEQzIwMjI7XG59XG5cbi50ay1uYXYtY2F0YWxvZyAjdGstZ2lmdC1ndWlkZSBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGstbmF2LWRlc2t0b3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ay1uYXYtZGVza3RvcCA+IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cblxuLnRrLW5hdi1kZXNrdG9wID4gdWwgPiBsaS5fX2wuLS1sYXN0IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4udGstbmF2LWRlc2t0b3AgPiB1bCA+IGxpLl9fci4tLWZpcnN0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLW5hdi1kZXNrdG9wID4gdWwgPiBsaS4tLW1vYmlsZS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19saW5rLi0tZmlyc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19saW5rLi1jdXJyZW50IHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fbG9nbyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNTBweDtcbiAgcGFkZGluZy10b3A6IDE4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstbmF2LWRlc2t0b3AgLl9fYWNjb3VudCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25hdi9hY2NvdW50LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGxlZnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuICB9XG4gIC50ay1uYXYtZGVza3RvcCAuX19hY2NvdW50IC5fX3JUZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19zZWFyY2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbmF2L3NlYXJjaC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX2xpbmsgLl9fclRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gLl9faW5wdXQge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIC5haXMtc2VhcmNoLWJveCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gaW5wdXQjc2VhcmNoIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwIDAgNHB4IDA7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2U7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSBpbnB1dCNzZWFyY2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcGFkZGluZzogMjBweCAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSBpbnB1dCNzZWFyY2g6cGxhY2Vob2xkZXIsIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gaW5wdXQjc2VhcmNoOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cbiAgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSBpbnB1dCNzZWFyY2g6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIGlucHV0I3NlYXJjaDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLyogRmlyZWZveCAxOSsgKi9cbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fc2VhcmNoIC5fX3NlYXJjaC1mb3JtIGlucHV0I3NlYXJjaDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC8qIElFIDEwKyAqL1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gaW5wdXQjc2VhcmNoOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIC8qIEZpcmVmb3ggMTgtICovXG4gICAgY29sb3I6ICMwMDA7XG4gIH1cbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCAuX19zZWFyY2gtZm9ybSBidXR0b24sIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2ggLl9fc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaC4tLWFjdGl2ZSAuX19zZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC50ay1uYXYtZGVza3RvcCAuX19zZWFyY2guLS1hY3RpdmUgLl9fbGluayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25hdi9zZWFyY2hfaW52ZXJ0ZWQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG4gIH1cbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaC4tLWFjdGl2ZSBpbnB1dCNzZWFyY2gge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19hY2NvdW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fYWNjb3VudDpob3ZlciAuX19wb3B1cC1sb2dpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX2FjY291bnQgLl9fcG9wdXAtbG9naW4tY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjQwcHg7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19hY2NvdW50IC5fX3BvcHVwLWxvZ2luLWNvbnRhaW5lci4tLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLW5hdi1kZXNrdG9wIC5fX2FjY291bnQgLl9fcG9wdXAtbG9naW4tY29udGFpbmVyLi0tbG9nZ2VkLWluIHtcbiAgbGVmdDogLTMwcHg7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19hY2NvdW50IC5fX3BvcHVwLWxvZ2luLWNvbnRhaW5lciAuYnV0dG9ucy1zZXQge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udGstbmF2LWRlc2t0b3AgLl9fY2FydC1jb3VudCAuX19jYXJ0IHtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi50ay1uYXYtZGVza3RvcCAuX19jYXJ0LWNvdW50IC5fX2NhcnQ6aG92ZXIge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC50ay1uYXYtZGVza3RvcCAuX19jYXJ0LWNvdW50IC5fX2NhcnQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW46IDlweCAwIDAgMDtcbiAgICBwYWRkaW5nOiA2cHggMCAwIDA7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fY2FydC1jb3VudCAuX19jYXJ0OmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLW5hdi1kZXNrdG9wIC5fX3NlYXJjaCwgLnRrLW5hdi1kZXNrdG9wIC5fX2FjY291bnQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxuICAudGstbmF2LWRlc2t0b3AgLl9fY2FydC1jb3VudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi50ay1uYXYtZHJhd2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gOTFweCk7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDkxcHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4udGstbmF2LWRyYXdlci4tY2xvc2VkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLW5hdi1kcmF3ZXIuLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLW5hdi1kcmF3ZXIgLl9fc2VhcmNoIC5fX2xhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDE5cHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udGstbmF2LWRyYXdlciAuX19zZWFyY2ggLnRrLW5hdi1zZWFyY2gge1xuICBwYWRkaW5nLXRvcDogMTdweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4udGstbmF2LWRyYXdlciAuX19zZWFyY2ggLnRrLW5hdi1zZWFyY2ggLl9faW5wdXQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xufVxuXG4udGstbmF2LWRyYXdlciAuX19zZWFyY2ggLnRrLW5hdi1zZWFyY2ggLl9faW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udGstbmF2LWRyYXdlciAuX19zZWFyY2ggLnRrLW5hdi1zZWFyY2ggLl9fc3VibWl0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzIGxpIC5fX2NhdGVnb3J5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyBsaSAuX19jYXRlZ29yeSAuX19saW5rIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBwYWRkaW5nOiAyMHB4IDE1cHggMThweCAzMHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzIGxpIC5fX2NhdGVnb3J5IC5fX3RvZ2dsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL25hdi9jYXJldC5zdmdcIikgY2VudGVyIGNlbnRlci8xMHB4IDEwcHggbm8tcmVwZWF0O1xuICBwYWRkaW5nOiAzMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIGhlaWdodDogOHB4O1xuICB3aWR0aDogOHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyBsaSAuX19jYXRlZ29yeSAuX190b2dnbGU6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzIGxpIC5fX2xpc3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzIGxpLi1leHBhbmRlZCA+IC5fX2NhdGVnb3J5IC5fX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzIGxpLi1leHBhbmRlZCA+IC5fX2xpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzID4gLl9fbGlzdCA+IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyA+IC5fX2xpc3QgPiBsaSA+IC5fX2NhdGVnb3J5IC5fX2xpbmsge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyA+IC5fX2xpc3QgPiBsaSA+IC5fX2xpc3QgPiBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX2NhdGVnb3JpZXMgPiAuX19saXN0ID4gbGkgPiAuX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fY2F0ZWdvcmllcyA+IC5fX2xpc3QgPiBsaSA+IC5fX2xpc3QgPiBsaSA+IC5fX2NhdGVnb3J5ID4gLl9fbGluayB7XG4gIHBhZGRpbmctbGVmdDogNDVweDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzID4gLl9fbGlzdCA+IGxpID4gLl9fbGlzdCA+IGxpID4gLl9fbGlzdCB7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbn1cblxuLnRrLW5hdi1kcmF3ZXIgPiAuX19jYXRlZ29yaWVzID4gLl9fbGlzdCA+IGxpID4gLl9fbGlzdCA+IGxpID4gLl9fbGlzdCA+IGxpID4gLl9fY2F0ZWdvcnkgPiAuX19saW5rIHtcbiAgcGFkZGluZzogOXB4IDE1cHggMTBweCA2MHB4O1xufVxuXG4udGstbmF2LWRyYXdlciA+IC5fX3BvbGljeS1saW5rcyB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi50ay1uYXYtZHJhd2VyID4gLl9fcG9saWN5LWxpbmtzIC5fX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXRvcDogNy41cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3LjVweDtcbn1cblxuLnRrLW5hdi1oZWFkZXIgLl9fbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLW5hdi1oZWFkZXIgLl9fdGFibGV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLW5hdi1oZWFkZXIgLl9fbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudGstbmF2LWhlYWRlciAuX190YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRrLW5hdi1tb2JpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbi50ay1uYXYtbW9iaWxlICo6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4udGstbmF2LW1vYmlsZSA+IHNwYW4ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udGstbmF2LW1vYmlsZSA+IHNwYW4uX19yaHMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnRrLW5hdi1tb2JpbGUgPiBzcGFuIGEge1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZy10b3A6IDI4cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG59XG5cbi50ay1uYXYtbW9iaWxlID4gc3BhbiBhOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG4udGstbmF2LW1vYmlsZSA+IHNwYW4gYS4tYmFycyB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xufVxuXG4udGstbmF2LW1vYmlsZSA+IC5fX2xvZ28ge1xuICBwYWRkaW5nLXRvcDogMjZweDtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4udGstbmF2LW1vYmlsZSA+IC5fX2xvZ28gPiBhIHtcbiAgcGFkZGluZy10b3A6IDI4cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuXG4udGstbmF2LW1vYmlsZSA+IC5fX2xvZ28gPiBhID4gaW1nIHtcbiAgd2lkdGg6IDEzMnB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnRrLW5hdi1tb2JpbGUgLl9fbmF2LWRyYXdlci1wYWRkZXIsXG4udGstbmF2LW1vYmlsZSAuX19kcmF3ZXIteCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1uYXYtbW9iaWxlIC5fX2RyYXdlci14IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGstbmF2LW1vYmlsZSAuX19kcmF3ZXIteCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDI0cHggMzBweCAxOXB4IDMwcHg7XG59XG5cbi50ay1uYXYtbW9iaWxlIC5fX2RyYXdlci14IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1uYXYtbW9iaWxlLi1uYXYtZHJhd2VyLW9wZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udGstbmF2LW1vYmlsZS4tbmF2LWRyYXdlci1vcGVuIC5fX2xocyB7XG4gIGZsZXgtYmFzaXM6IDA7XG59XG5cbi50ay1uYXYtbW9iaWxlLi1uYXYtZHJhd2VyLW9wZW4gLl9fbG9nbyxcbi50ay1uYXYtbW9iaWxlLi1uYXYtZHJhd2VyLW9wZW4gLl9fcmhzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLW5hdi1tb2JpbGUuLW5hdi1kcmF3ZXItb3BlbiAuX19kcmF3ZXIteCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstbmF2LW1vYmlsZS4tbmF2LWRyYXdlci1vcGVuIC5fX25hdi1kcmF3ZXItcGFkZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MDBweDtcbiAgbWF4LXdpZHRoOiA4MHZ3O1xuICBtaW4taGVpZ2h0OiA3NHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1uYXYtbW9iaWxlLi1uYXYtZHJhd2VyLW9wZW4gLl9fbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGstbmF2LXNlYXJjaCAuX19pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRrLW9wdGlvbi1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuXG4udGstb3B0aW9uLWxpc3QgZHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstb3B0aW9uLWxpc3QgZGQuX19jb2xvciB7XG4gIG1hcmdpbi1yaWdodDogNy41cHg7XG59XG5cbi50ay1vcHRpb24tbGlzdCBkZC5fX2NvbG9yOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcvJztcbn1cblxuLnRrLXBvcHVwLWxvZ2luIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDIwcHggMzBweCAxMHB4IDMwcHg7XG4gIHdpZHRoOiAzMzNweDtcbn1cblxuLnRrLXBvcHVwLWxvZ2luIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnRrLXBvcHVwLWxvZ2luIC5ibG9jay10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1wb3B1cC1sb2dpbiAuX19hY3Rpb25zLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4udGstcG9wdXAtbG9naW4gLl9fYWN0aW9ucy1jb250YWluZXIgLmxpbmtzIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLXBvcHVwLWxvZ2luIC5fX2FjdGlvbnMtY29udGFpbmVyIC5saW5rcyBhOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnRrLXBvcHVwLWxvZ2luICNtaW5pLWxvZ2luLCAudGstcG9wdXAtbG9naW4gI21pbmktcGFzc3dvcmQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4udGstcG9wdXAtbG9naW4gLmJsb2NrIC5hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi50ay1wb3B1cC1sb2dpbi4tLWxvZ2dlZC1pbiB7XG4gIHdpZHRoOiAxNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLnRrLXBvcHVwLWxvZ2luLi0tbG9nZ2VkLWluIGEge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1wcm9kdWN0LWJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMHB4O1xuICBib3R0b206IDEwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi50ay1wcm9kdWN0LWJyb3dzZSAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1oZWFkZXIgLl9fZGVzaWduZXJzLFxuLnRrLXByb2R1Y3QtYnJvd3NlIC5haXMtaGllcmVhcmNoaWNhbC1saW5rLXdyYXBwZXJbZGF0YS1jYXRlZ29yeS1uYW1lPVwiRGVzaWduZXJzXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtYnJvd3NlLi1kZXNpZ25lcnMtbW9kZSAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1oZWFkZXIgLl9fY2F0ZWdvcmllcyxcbi50ay1wcm9kdWN0LWJyb3dzZS4tZGVzaWduZXJzLW1vZGUgLmlzLXdpZGdldC1jb250YWluZXItY2F0ZWdvcmllcyAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1saXN0X19sdmwxID4gLmFpcy1oaWVyYXJjaGljYWwtbWVudS0taXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWJyb3dzZS4tZGVzaWduZXJzLW1vZGUgLmlzLXdpZGdldC1jb250YWluZXItY2F0ZWdvcmllcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWJyb3dzZS4tZGVzaWduZXJzLW1vZGUgLmlzLXdpZGdldC1jb250YWluZXItY2F0ZWdvcmllcyAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1saXN0X19sdmwyIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi50ay1wcm9kdWN0LWJyb3dzZS4tZGVzaWduZXJzLW1vZGUgLmlzLXdpZGdldC1jb250YWluZXItYnJhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstcHJvZHVjdC1icm93c2UgI3RrLWRlc2lnbmVyLWxpc3QuLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xuICB9XG4gIC50ay1wcm9kdWN0LWJyb3dzZSAuX19yZWZpbmUgLmluc3RhbnQtc2VhcmNoLWZhY2V0cy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSAuaW5zdGFudC1zZWFyY2gtbW9iaWxlLWZhY2V0cy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX2Jyb3dzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIH1cbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICB9XG4gIC50ay1wcm9kdWN0LWJyb3dzZSAuX19yZWZpbmUgLmluc3RhbnQtc2VhcmNoLWZhY2V0cy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICB9XG4gIC50ay1wcm9kdWN0LWJyb3dzZSAuX19yZWZpbmUgLmluc3RhbnQtc2VhcmNoLWZhY2V0cy1jb250YWluZXIuLWJyYW5kLW1vZGUgLmlzLXdpZGdldC1jb250YWluZXItYnJhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSAuaW5zdGFudC1zZWFyY2gtbW9iaWxlLWZhY2V0cy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSBidXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAvKiBpbmhlcml0IGZvbnQgJiBjb2xvciBmcm9tIGFuY2VzdG9yICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiBOb3JtYWxpemUgYGxpbmUtaGVpZ2h0YC4gQ2Fubm90IGJlIGNoYW5nZWQgZnJvbSBgbm9ybWFsYCBpbiBGaXJlZm94IDQrLiAqL1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zbW9vdGhpbmc6IGluaGVyaXQ7XG4gICAgLyogQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrICovXG4gIH1cbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC50ay1wcm9kdWN0LWJyb3dzZSAuX19yZWZpbmUgYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG4gIC50ay1wcm9kdWN0LWJyb3dzZSAuX19wcm9kdWN0cyB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSB7XG4gICAgZmxleC1iYXNpczogMjAlO1xuICB9XG4gIC50ay1wcm9kdWN0LWJyb3dzZSAuX19wcm9kdWN0cyB7XG4gICAgZmxleC1iYXNpczogODAlO1xuICB9XG59XG5cbi50ay1wcm9kdWN0LWJyb3dzZSAuX19yZWZpbmUgaW5wdXQge1xuICBoZWlnaHQ6IDI1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSAuX19zZWFyY2gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBvcmRlcjogOTk5O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSAuX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudGstcHJvZHVjdC1icm93c2UgLl9fcmVmaW5lIC5pbnN0YW50LXNlYXJjaC1mYWNldHMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyOHB4O1xuICB9XG59XG5cbi50ay1wcm9kdWN0LWJyb3dzZSAuX19yZWZpbmUgLmlzLXdpZGdldC1jb250YWluZXItY2F0ZWdvcmllcyB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSAjY3VycmVudC1yZWZpbmVtZW50cyB7XG4gIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cblxuLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3JlZmluZSAjY3VycmVudC1yZWZpbmVtZW50cyAuYWlzLWN1cnJlbnQtcmVmaW5lZC12YWx1ZXMge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udGstcHJvZHVjdC1icm93c2UgLl9fcHJvZHVjdHMgLl9fYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi50ay1wcm9kdWN0LWJyb3dzZSAuX19wcm9kdWN0cyAuX19iYXIgLl9faGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMDtcbn1cblxuLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3Byb2R1Y3RzIC5fX2JhciAuX19zdGF0cyB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3Byb2R1Y3RzIC5fX2JhciAuX19zb3J0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4udGstcHJvZHVjdC1icm93c2UgLl9fcHJvZHVjdHMgLl9fYmFyIC5fX3NvcnQgbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ay1wcm9kdWN0LWJyb3dzZSAuX19wcm9kdWN0cyAuX19iYXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG4udGstcHJvZHVjdC1icm93c2UgLl9fcHJvZHVjdHMgLl9fcHJvZHVjdCB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjhweCk7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLnRrLXByb2R1Y3QtYnJvd3NlIC5fX3Byb2R1Y3RzIC5fX3Byb2R1Y3Qge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMzBweCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstcHJvZHVjdC1icm93c2UgLl9fcHJvZHVjdHMgLl9fcHJvZHVjdCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4udGstcHJvZHVjdC1mZWVkIHtcbiAgbWFyZ2luOiA2MHB4IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLXByb2R1Y3QtZmVlZCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLnRrLXByb2R1Y3QtZmVlZCA+IGRpdiB7XG4gIG1hcmdpbi1sZWZ0OiAxJTtcbiAgbWFyZ2luLXJpZ2h0OiAxJTtcbn1cblxuLnRrLXByb2R1Y3QtZmVlZCAuX19wcm9kdWN0LWxpbmsgc3BhbiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstcHJvZHVjdC1mZWVkIC5fX3Byb2R1Y3QtbGluayAuX19wcm9kdWN0LWltYWdlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi50ay1wcm9kdWN0LWZlZWQgLl9fcHJvZHVjdC1saW5rIC5fX3Byb2R1Y3QtaW1hZ2UuLXJvbGxvdmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtZmVlZCAuX19wcm9kdWN0LWxpbms6aG92ZXIsIC50ay1wcm9kdWN0LWZlZWQgLl9fcHJvZHVjdC1saW5rOmhvdmVyICoge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGstcHJvZHVjdC1mZWVkIC5fX3Byb2R1Y3QtbGluay4td2l0aC1yb2xsb3Zlci1pbWFnZTpob3ZlciAuX19wcm9kdWN0LWltYWdlLi1wcmltYXJ5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtZmVlZCAuX19wcm9kdWN0LWxpbmsuLXdpdGgtcm9sbG92ZXItaW1hZ2U6aG92ZXIgLl9fcHJvZHVjdC1pbWFnZS4tcm9sbG92ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLXByb2R1Y3QtZmVlZCAuX19wcm9kdWN0LWxpbmsgLl9fcHJvZHVjdC1pbmZvLCAudGstcHJvZHVjdC1mZWVkIC5fX3Byb2R1Y3QtbGluayAuX19yb2xsb3Zlci1zaXplcyB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLnRrLXByb2R1Y3QtZmVlZCAuX19wcm9kdWN0LWxpbmsgLl9fY29tbW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1wcm9kdWN0LWZlZWQgLl9fcHJvZHVjdC1saW5rIC5fX3JvbGxvdmVyLXNpemVzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtZmVlZCAuX19wcm9kdWN0LWxpbmsuLXdpdGgtc2l6ZXM6aG92ZXIgLl9fcHJvZHVjdC1pbmZvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtZmVlZCAuX19wcm9kdWN0LWxpbmsuLXdpdGgtc2l6ZXM6aG92ZXIgLl9fcm9sbG92ZXItc2l6ZXMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX2xpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAudGstcHJvZHVjdC1pbWFnZXMgLl9fbGlzdCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xuICAudGstcHJvZHVjdC1pbWFnZXMgLl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAudGstcHJvZHVjdC1pbWFnZXMgLl9fbGlzdCA+IGxpIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAudGstcHJvZHVjdC1pbWFnZXMgLl9fbGlzdCA+IGxpID4gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IHpvb20taW47XG4gIH1cbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxNXB4O1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fcHJldixcbi50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19kb3RzIHVsIGJ1dHRvbixcbi50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19uZXh0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW46IDAgMTVweDtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgPiB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgPiB1bCBsaSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgPiB1bCBsaSAuc2xpY2stYWN0aXZlIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19kb3RzIC5zbGljay1kb3RzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgLnNsaWNrLWRvdHMgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbWFyZ2luOiA4cHggNXB4O1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19kb3RzIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBmb250LXNpemU6IDBweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAudGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLCAudGstcHJvZHVjdC1pbWFnZXMgLl9fc2xpY2sgLl9fZG90cyAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRrLXByb2R1Y3QtaW1hZ2VzIC5fX3NsaWNrIC5fX2RvdHMgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiBcIlxcMjIxOVwiO1xuICBmb250LXNpemU6IDQ2cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiBibGFjaztcbiAgb3BhY2l0eTogMC4yNTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayAuX19kb3RzIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6IGJsYWNrO1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC50ay1wcm9kdWN0LWltYWdlcyAuX19zbGljayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGstcHJvZHVjdC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGstcHJvZHVjdC1saW5rIHNwYW4ge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnRrLXByb2R1Y3QtbGluayAuX19pbWFnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udGstcHJvZHVjdC1saW5rIC5fX2ltYWdlLi1yb2xsb3ZlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWxpbms6aG92ZXIsIC50ay1wcm9kdWN0LWxpbms6aG92ZXIgKiB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWxpbms6aG92ZXIgLl9faW1hZ2UuLXJvbGxvdmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRrLXByb2R1Y3QtbGlzdC1pdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gc3BhbiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gLl9fcHJvZHVjdC1pbWFnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi50ay1wcm9kdWN0LWxpc3QtaXRlbSAucHJvZHVjdC1pbWFnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gLnByb2R1Y3QtaW1hZ2UuLXJvbGxvdmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtbGlzdC1pdGVtOmhvdmVyLCAudGstcHJvZHVjdC1saXN0LWl0ZW06aG92ZXIgLl9fcm9sbG92ZXIgKiB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWxpc3QtaXRlbTpob3ZlciAucHJvZHVjdC1pbWFnZS4tcm9sbG92ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gLl9fcm9sbG92ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMjJweDtcbn1cblxuLnRrLXByb2R1Y3QtbGlzdC1pdGVtIC5fX3JvbGxvdmVyIC5fX2F2YWlsYWJsZS1zaXplcyAuX19zaXplOmFmdGVyLCAudGstcHJvZHVjdC1saXN0LWl0ZW0gLl9fcm9sbG92ZXIgLl9fYXZhaWxhYmxlLXNpemVzIC5fX3NpemU6OmFmdGVyIHtcbiAgY29udGVudDogJywgJztcbn1cblxuLnRrLXByb2R1Y3QtbGlzdC1pdGVtIC5fX3JvbGxvdmVyIC5fX2F2YWlsYWJsZS1zaXplcyAuX19zaXplOmxhc3QtY2hpbGQ6YWZ0ZXIsIC50ay1wcm9kdWN0LWxpc3QtaXRlbSAuX19yb2xsb3ZlciAuX19hdmFpbGFibGUtc2l6ZXMgLl9fc2l6ZTpsYXN0LWNoaWxkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gLl9fY29tbW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1wcm9kdWN0LWxpc3QtaXRlbSAuX19yb2xsb3ZlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWxpc3QtaXRlbS4td2l0aFJvbGxvdmVyOmhvdmVyIC5fX2NvbW1vbiwgLnRrLXByb2R1Y3QtbGlzdC1pdGVtLi13aXRoLXJvbGxvdmVyOmhvdmVyIC5fX2NvbW1vbixcbi50ay1wcm9kdWN0LWxpc3QtaXRlbSA+IGEuLXdpdGhSb2xsb3Zlcjpob3ZlciAuX19jb21tb24sXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gPiBhLi13aXRoLXJvbGxvdmVyOmhvdmVyIC5fX2NvbW1vbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LWxpc3QtaXRlbS4td2l0aFJvbGxvdmVyOmhvdmVyIC5fX3JvbGxvdmVyLCAudGstcHJvZHVjdC1saXN0LWl0ZW0uLXdpdGgtcm9sbG92ZXI6aG92ZXIgLl9fcm9sbG92ZXIsXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gPiBhLi13aXRoUm9sbG92ZXI6aG92ZXIgLl9fcm9sbG92ZXIsXG4udGstcHJvZHVjdC1saXN0LWl0ZW0gPiBhLi13aXRoLXJvbGxvdmVyOmhvdmVyIC5fX3JvbGxvdmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1wcm9kdWN0LXByaWNlIC5fX29yaWdpbmFsLXByaWNlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi50ay1wcm9kdWN0LXByaWNlIC5fX2N1cnJlbnQtcHJpY2UuLXNhbGUge1xuICBjb2xvcjogI0RDMjAyMiAhaW1wb3J0YW50O1xufVxuXG4udGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIHtcbiAgbWFyZ2luOiA2MHB4IDA7XG59XG5cbi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19uYXYgYSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogMCA1cHg7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX25hdiBhLi1jdXJyZW50IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbGlzdHMgLl9fbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbGlzdHMgLl9fbGlzdC4tY3VycmVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX2xpc3RzIC5fX2xpc3QgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19saXN0cyAuX19saXN0IHVsIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB3aWR0aDogY2FsYygxNi42NiUgLSA1cHgpO1xufVxuXG4udGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX2xpc3RzIC5fX2xpc3QgdWwgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19saXN0cyAuX19saXN0IHVsIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzAwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstcHJvZHVjdC1yZWxhdGVkLXByb2R1Y3RzIC5fX2xpc3RzIC5fX2xpc3QgdWwge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cbiAgLnRrLXByb2R1Y3QtcmVsYXRlZC1wcm9kdWN0cyAuX19saXN0cyAuX19saXN0IHVsIGxpIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1cHgpO1xuICB9XG4gIC50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMgLl9fbGlzdHMgLl9fbGlzdCB1bCBsaTpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnRrLXByb2R1Y3QtdmlldyA+IC5fX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuX19pbWFnZXMge1xuICBmbGV4LWJhc2lzOiA2NiU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLXByb2R1Y3QtdmlldyAuX19pbWFnZXMge1xuICAgIG1heC13aWR0aDogNjYlO1xuICB9XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLl9fZGV0YWlscyB7XG4gIGZsZXgtYmFzaXM6IDMzJTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIC5fX2hlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIC5fX3NlY3Rpb24ge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLl9fZGV0YWlscyAuX19zZWN0aW9uID4gcCB7XG4gIG1hcmdpbjogOHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIC5fX3ZlbmRvci1za3Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5fX2RldGFpbHMgLl9fcHJvZHVjdC1uYW1lLFxuLnRrLXByb2R1Y3QtdmlldyAuX19kZXRhaWxzIC5fX2FjY29yZGlvbiB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLl9fZGV0YWlscyAuYWRkdG9jYXJ0LXNoaXBwaW5nLXByb21vIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5fX2luLXN0b3JlLW9ubHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMzBweCAwO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5fX3NvbGQtb3V0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyxcbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyBkZCxcbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyBkZC5sYXN0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybSB7XG4gIG1hcmdpbjogMzBweCAwO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgZHQsXG4udGstcHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgbGFiZWwuaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5ZW07XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyBwLnJlcXVpcmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIHNlbGVjdCxcbi50ay1wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIHNlbGVjdCB7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMzBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIHNlbGVjdC4taW52aXNpYmxlIHtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstcHJvZHVjdC12aWV3ID4gLl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4udGstcHJvZHVjdC12aWV3IC5naWZ0Y2FyZC1mb3JtIGxhYmVsLnJlcXVpcmVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLmdpZnRjYXJkLWZvcm0gbGFiZWwucmVxdWlyZWQgZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbn1cblxuLnRrLXByb2R1Y3QtdmlldyAuZ2lmdGNhcmQtZm9ybSBwLnJlcXVpcmVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5naWZ0Y2FyZC1mb3JtIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ay1wcm9kdWN0LXZpZXcgLmdpZnRjYXJkLWZvcm0gc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udGstcHJvZHVjdC12aWV3IC5naWZ0Y2FyZC1mb3JtIC5hdmFpbGFiaWxpdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGstc2l6ZS1ndWlkZSB7XG4gIG1heC13aWR0aDogOTYwcHg7XG59XG5cbi50ay1zaXplLWd1aWRlIC5fX2JvcmRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMTBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG59XG5cbi50ay1zaXplLWd1aWRlIC5fX2hlYWRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLnRrLXNpemUtZ3VpZGUgLl9fdGFibGVzIC5fX3RhYmxlLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi50ay1zaXplLWd1aWRlIC5fX3RhYmxlcyB0YWJsZSB0aCwgLnRrLXNpemUtZ3VpZGUgLl9fdGFibGVzIHRhYmxlIHRkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDExMHB4O1xufVxuXG4udGstc2l6ZS1ndWlkZSAuX19kZWZpbml0aW9uVGl0bGUsIC50ay1zaXplLWd1aWRlIGR0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4udGstc2l6ZS1ndWlkZSAuX19kZWZpbml0aW9uR3VpZGUsIC50ay1zaXplLWd1aWRlIGRkIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG59XG5cbi50ay1zaXplLWd1aWRlIC5fX2RlZmluaXRpb25zIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLXNvY2lhbC1sb2dpbi1jb250YWluZXIsIC5pbmNob28tc29jaWFsY29ubmVjdC1sb2dpbiB7XG4gICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgfVxufVxuXG4udGstc29jaWFsLWxvZ2luLWNvbnRhaW5lciAuaW5jaG9vLXNvY2lhbGNvbm5lY3QtbG9naW4tbG93ZXIsIC5pbmNob28tc29jaWFsY29ubmVjdC1sb2dpbiAuaW5jaG9vLXNvY2lhbGNvbm5lY3QtbG9naW4tbG93ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRrLXNvY2lhbC1sb2dpbi1jb250YWluZXIgYSwgLmluY2hvby1zb2NpYWxjb25uZWN0LWxvZ2luIGEge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRrLXNvY2lhbC1sb2dpbi1jb250YWluZXIgaW1nLCAuaW5jaG9vLXNvY2lhbGNvbm5lY3QtbG9naW4gaW1nIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnRrLXNvY2lhbC1sb2dpbi4tZ29vZ2xlIGEge1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuLnRrLXNvY2lhbC1sb2dpbi4tZmFjZWJvb2sgYSB7XG4gIGNvbG9yOiAjMDY0NUFEO1xufVxuXG4udGstc29jaWFsLXByZWx1ZGUge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi50ay1zb2NpYWwtcHJlbHVkZSAuX19saW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5QjlCOUI7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi50ay1zb2NpYWwtcHJlbHVkZSAuX19jb3B5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjOUI5QjlCO1xuICBtYXJnaW46IDAgYXV0byAtMThweCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnRrLXN0b3JlLWluZm8ge1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnRrLXN0b3JlLWluZm8gPiBoMSB7XG4gIG1hcmdpbjogNTBweCAwO1xufVxuXG4udGstc3RvcmUtaW5mbyAuX19zdG9yZSB7XG4gIG1hcmdpbjogMCAwIDgwcHggMDtcbn1cblxuLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW1hZ2VzIC5fX2ltYWdlLCAudGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbWFnZXMgLl9fbWFwIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2ltYWdlcyAuX19tYXAgPiBpZnJhbWUge1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDc1cHgpO1xuICBoZWlnaHQ6IGNhbGMoMS4zMyAqICgxMDB2dyAtIDc1cHgpKTtcbiAgZmlsdGVyOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGZpbHRlciBpZD0nZ3JheXNjYWxlJz48ZmVDb2xvck1hdHJpeCB0eXBlPSdtYXRyaXgnIHZhbHVlcz0nMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMCAwIDAgMSAwJy8+PC9maWx0ZXI+PC9zdmc+I2dyYXlzY2FsZVwiKTtcbiAgLyogRmlyZWZveCAxMCsgKi9cbiAgZmlsdGVyOiBncmF5O1xuICAvKiBJRTYtOSAqL1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDk5JSk7XG4gIC8qIENocm9tZSAxOSsgJiBTYWZhcmkgNisgKi9cbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC8qIEZpeCBmb3IgdHJhbnNpdGlvbiBmbGlja2VyaW5nICovXG59XG5cbi50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2luZm8ge1xuICBtYXJnaW46IDA7XG59XG5cbi50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2luZm8gLl9fdGl0bGUge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG5cbi50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2luZm8gLl9fbG9jYXRpb24sXG4udGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIC5fX2hvdXJzIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAxNiU7XG59XG5cbi50ay1zdG9yZS1pbmZvIC5fX3N0b3JlIC5fX2luZm8gLl9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW1hZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW1hZ2VzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcbiAgfVxuICAudGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbWFnZXMgLl9faW1nIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuICAudGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbWFnZXMgLl9fbWFwID4gaWZyYW1lIHtcbiAgICB3aWR0aDogY2FsYyg1MHZ3IC0gNzBweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEuMzMgKiAoNTB2dyAtIDcwcHgpICsgMjhweCk7XG4gICAgbWF4LXdpZHRoOiA0NzVweDtcbiAgICBtYXgtaGVpZ2h0OiA2MjJweDtcbiAgfVxuICAudGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW5mbyAuX190aXRsZSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gNXB4KTtcbiAgfVxuICAudGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIC5fX2RldGFpbHMge1xuICAgIHdpZHRoOiBjYWxjKDMwJSAtIDVweCk7XG4gIH1cbiAgLnRrLXN0b3JlLWluZm8gLl9fc3RvcmUgLl9faW5mbyAuX19kZXRhaWxzIC5fX2xvY2F0aW9uLFxuICAudGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIC5fX2RldGFpbHMgLl9faG91cnMge1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgfVxuICAudGstc3RvcmUtaW5mbyAuX19zdG9yZSAuX19pbmZvIC5fX2Rlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1cHgpO1xuICB9XG59XG5cbi50ay10YWJsZSB7XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4udGstdGFibGUgLm1hc3RlciB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi50ay10YWJsZSB0aCwgLnRrLXRhYmxlIHRkIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gIGNvbG9yOiAjMDAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ay10YWJsZSB0aCwgLnRrLXRhYmxlIHRkIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbn1cblxuLnRrLXRhYmxlLi10aWdlciB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRkVGRUY7XG59XG5cbi50ay10YWJsZS4td2lkZSwgLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b24udGstdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRrLXRvcC1iYXIge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzA2NDVBRCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDY0NUFEO1xufVxuXG4udGstdG9wLWJhciBhIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGstdWdseS1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWUtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEwMHB4O1xuICBsaW5lLWhlaWdodDogMTE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19wLCAudGstdWdseS1oZWFkZXIgLl9fbGluayB7XG4gIGZvbnQtZmFtaWx5OiBUaW1lcywgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4udGstdWdseS1oZWFkZXIgLl9fcCB7XG4gIG1hcmdpbi1ib3R0b206IDIxcHg7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19jdGEtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG59XG5cbi50ay11Z2x5LWhlYWRlciAuX19jdGEtcm93ID4gLl9fbGluayB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLnRrLXZlbmRvci10ZXJtcyAuX19zZWN0aW9uIHtcbiAgbWFyZ2luOiA0MHB4IDAgNDBweCA0MHB4O1xufVxuXG4udGstdmVuZG9yLXRlcm1zIC5fX2FkZHJlc3Mge1xuICBtYXJnaW46IDIwcHggMCAyMHB4IDIwcHg7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQtdG9nZ2xlIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHBhZGRpbmc6IDEwcHggMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4udGstemVuZGVzay1jaGF0LXRvZ2dsZSAuX19pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4udGstemVuZGVzay1jaGF0LXRvZ2dsZSAuX190aXRsZSB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4udGstemVuZGVzay1jaGF0LXRvZ2dsZSAuX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXplbmRlc2stY2hhdC10b2dnbGU6YWZ0ZXIge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgY29udGVudDogJyAoT2ZmbGluZSknO1xufVxuXG4udGstemVuZGVzay1jaGF0LXRvZ2dsZS4tb25saW5lIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQtdG9nZ2xlLi1vbmxpbmUgLl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnRrLXplbmRlc2stY2hhdC10b2dnbGUuLW9ubGluZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBTdHlsaW5nIGZvciBvdXIgWmVuZGVzayBjaGF0IH5+KiBleHBlcmllbmNlICp+flxuICovXG4udGstemVuZGVzay1jaGF0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwcHg7XG4gIHdpZHRoOiAzMzBweDtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXplbmRlc2stY2hhdC4tdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3dpZGdldCxcbi50ay16ZW5kZXNrLWNoYXQgLl9fb2ZmbGluZS13aWRnZXQsXG4udGstemVuZGVzay1jaGF0IC5fX21pbmltaXplZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQuLWNvbm5lY3RlZCAuX19taW5pbWl6ZWQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLXplbmRlc2stY2hhdC4tb3Blbi4tb2ZmbGluZSAuX19vZmZsaW5lLXdpZGdldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGstemVuZGVzay1jaGF0Li1vcGVuLi1vZmZsaW5lIC5fX21pbmltaXplZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQuLW9wZW4uLW9ubGluZSAuX193aWRnZXQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRrLXplbmRlc2stY2hhdC4tb3Blbi4tb25saW5lIC5fX21pbmltaXplZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fdGl0bGUtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHggMCA4cHggMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3RpdGxlLWJhciBidXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3RpdGxlLWJhciBidXR0b24gaW1nIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX190aXRsZS1iYXIgLl9fdGl0bGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiA1NHB4O1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3RpdGxlLWJhciAuX19jbG9zZS1jaGF0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX190aXRsZS1iYXIgLl9fZW5kLWNoYXQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2JvZHkge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgbWluLWhlaWdodDogMzAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fYm9keSAuX19jaGF0LWxvZyB7XG4gIGZsZXgtZ3JvdzogMjtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fc3RhdHVzLWJhciB7XG4gIHBhZGRpbmc6IDEwcHggMHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fc3RhdHVzLWJhciAuX19hZ2VudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX3N0YXR1cy1iYXIgLl9fYWdlbnQgLl9fYXZhdGFyIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlIGF0IGNlbnRlcik7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX3N0YXR1cy1iYXIgLl9fYWdlbnQgLl9fbmFtZSB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX193aWRnZXQgLl9fY2hhdC1sb2cge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDE4MHB4KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX3dpZGdldCAuX19pbnB1dC1mb3JtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0gLl9faW5wdXQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGNvbG9yOiAjMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICByZXNpemU6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0gLl9faW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0gLl9faW5wdXQ6Zm9jdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICc+ICc7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fd2lkZ2V0IC5fX2lucHV0LWZvcm0gLl9fc3VibWl0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX19vZmZsaW5lLXdpZGdldCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX29mZmxpbmUtd2lkZ2V0IC5fX2JvZHkge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMzBweCAyMHB4O1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX29mZmxpbmUtd2lkZ2V0IC5maWVsZHNldCAuZmllbGQge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX19vZmZsaW5lLXdpZGdldCAuZmllbGRzZXQgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fbWluaW1pemVkIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICBjb2xvcjogIzA2NDVBRDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzA2NDVBRDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX19taW5pbWl6ZWQgLl9faWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fbWluaW1pemVkIC5fX3RpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fbWluaW1pemVkLi1hY3RpdmUsIC50ay16ZW5kZXNrLWNoYXQgLl9fbWluaW1pemVkLi1hY3RpdmUtdW5yZWFkIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4udGstemVuZGVzay1jaGF0IC5fX21pbmltaXplZC4tYWN0aXZlID4gZGl2LCAudGstemVuZGVzay1jaGF0IC5fX21pbmltaXplZC4tYWN0aXZlLXVucmVhZCA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX19taW5pbWl6ZWQuLWFjdGl2ZSAuX19jaGF0LWRvdCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzA2NDVBRDtcbiAgYm94LXNoYWRvdzogMCAwIDAgcmdiYSg2LCA2OSwgMTczLCAwLjQpO1xuICBhbmltYXRpb246IHplbmRlc2stY2hhdC1wdWxzZSAycyBpbmZpbml0ZTtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX19taW5pbWl6ZWQuLWFjdGl2ZS11bnJlYWQge1xuICBiYWNrZ3JvdW5kOiAjMDY0NUFEO1xuICBjb2xvcjogI0ZBRkFGQTtcbn1cblxuLnRrLXplbmRlc2stY2hhdCAuX19taW5pbWl6ZWQuLWFjdGl2ZS11bnJlYWQgLl9fdW5yZWFkLW1lc3NhZ2UtY291bnQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogIzA2NDVBRDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICBtaW4td2lkdGg6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG59XG5cbi50ay16ZW5kZXNrLWNoYXQgLl9fbWluaW1pemVkLCAudGstemVuZGVzay1jaGF0IC5fX3dpZGdldCB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGstemVuZGVzay1jaGF0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnRrLXplbmRlc2stY2hhdCAuX19taW5pbWl6ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwNjQ1QUQ7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHplbmRlc2stY2hhdC1wdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg2LCA2OSwgMTczLCAwLjQpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoNiwgNjksIDE3MywgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNiwgNjksIDE3MywgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6ZW5kZXNrLWNoYXQtcHVsc2Uge1xuICAwJSB7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNiwgNjksIDE3MywgMC40KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNiwgNjksIDE3MywgMC40KTtcbiAgfVxuICA3MCUge1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDYsIDY5LCAxNzMsIDApO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSg2LCA2OSwgMTczLCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg2LCA2OSwgMTczLCAwKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNiwgNjksIDE3MywgMCk7XG4gIH1cbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtdGl0bGUsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS10aXRsZSxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNhdGVnb3J5LXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnRvb2xiYXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5zb3J0ZXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5zb3J0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAudG9vbGJhciAucGFnZXIgLmFtb3VudCxcbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAubGltaXRlcixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5hbW91bnQsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5wYWdlciAubGltaXRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgLmN1cnJlbnQsIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgYSxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyAuY3VycmVudCxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyBhIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgcGFkZGluZzogNHB4IDhweCAwIDhweDtcbiAgbWFyZ2luOiAwIDFweDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAudG9vbGJhciAucGFnZXIgLnBhZ2VzIC5jdXJyZW50LFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhciAucGFnZXIgLnBhZ2VzIC5jdXJyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgYTpob3ZlcixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzA2NDVBRDtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyBhLmktcHJldmlvdXM6aG92ZXIsIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgYS5pLW5leHQ6aG92ZXIsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5wYWdlciAucGFnZXMgYS5pLXByZXZpb3VzOmhvdmVyLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhciAucGFnZXIgLnBhZ2VzIGEuaS1uZXh0OmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICBib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAudG9vbGJhcixcbiAgYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyxcbiAgYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhciAucGFnZXIgLnBhZ2VzIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICBib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAudG9vbGJhciAucGFnZXIgLnBhZ2VzIG9sLFxuICBib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5wYWdlciAucGFnZXMgb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICB9XG4gIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgb2wgYS5uZXh0LFxuICBib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyIC5wYWdlciAucGFnZXMgb2wgYS5uZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIGJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC5wYWdlciAucGFnZXMgb2wgLl9fYmFjay10by10b3AsXG4gIGJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyBvbCAuX19iYWNrLXRvLXRvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wcm9kdWN0cy1ncmlkLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucHJvZHVjdHMtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjhweCk7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICBib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0LFxuICBib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3Qge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMzBweCk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICBib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucHJvZHVjdHMtZ3JpZCAuX19wcm9kdWN0LFxuICBib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5fX3Byb2R1Y3Qge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAuYWN0aW9ucyxcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLWdyaWQgLl9fcHJvZHVjdCAuYWN0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2F0YWxvZy1jYXRlZ29yeS12aWV3Li1oaWRlLXNpZGUtbmF2IC50ay1uYXYtYW5kLXByb2R1Y3RzLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleC4taGlkZS1zaWRlLW5hdiAudGstbmF2LWFuZC1wcm9kdWN0cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5LmNhdGFsb2ctY2F0ZWdvcnktdmlldy4taGlkZS1zaWRlLW5hdiAudGstbmF2LWFuZC1wcm9kdWN0cyA+IC5fX25hdixcbmJvZHkuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXguLWhpZGUtc2lkZS1uYXYgLnRrLW5hdi1hbmQtcHJvZHVjdHMgPiAuX19uYXYge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydCB7XG4gIG1heC13aWR0aDogMTAyNHB4O1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1lbXB0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggdWwubWVzc2FnZXMge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IC5idXR0b25zLXNldCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuYnV0dG9ucy1zZXQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgLmJ1dHRvbnMtc2V0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDZweDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGxhYmVsLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGxhYmVsLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGlucHV0LmlucHV0LXRleHQsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgaW5wdXQuaW5wdXQtdGV4dCxcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbiB7XG4gIG1pbi13aWR0aDogdW5zZXQ7XG4gIHdpZHRoOiA4N3B4O1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uLmJ1dHRvbjIgc3BhbiwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmRpc2NvdW50IGJ1dHRvbiAuYnV0dG9uMiBzcGFuIHNwYW4sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgYnV0dG9uLmJ1dHRvbjIgc3Bhbixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24gLmJ1dHRvbjIgc3BhbiBzcGFuLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLnNoaXBwaW5nIGJ1dHRvbi5idXR0b24yIHNwYW4sXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uIC5idXR0b24yIHNwYW4gc3BhbiB7XG4gIGNvbG9yOiAjMDAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5kaXNjb3VudCBidXR0b24uYnV0dG9uMiBzcGFuOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZGlzY291bnQgYnV0dG9uIC5idXR0b24yIHNwYW4gc3Bhbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCBidXR0b24uYnV0dG9uMiBzcGFuOmhvdmVyLFxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGJ1dHRvbiAuYnV0dG9uMiBzcGFuIHNwYW46aG92ZXIsXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuc2hpcHBpbmcgYnV0dG9uLmJ1dHRvbjIgc3Bhbjpob3Zlcixcbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5zaGlwcGluZyBidXR0b24gLmJ1dHRvbjIgc3BhbiBzcGFuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZGlzY291bnQgLmRpc2NvdW50LWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAjZGlzY291bnQtY291cG9uLWZvcm0gLmRpc2NvdW50IC5kaXNjb3VudC1mb3JtID4gLmlucHV0LWJveCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5kaXNjb3VudCAuZGlzY291bnQtZm9ybSA+IC5pbnB1dC1ib3ggaW5wdXQuaW5wdXQtdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA1cHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAjZGlzY291bnQtY291cG9uLWZvcm0gLmRpc2NvdW50IC5kaXNjb3VudC1mb3JtID4gLmlucHV0LWJveCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCAuY2hlY2stZ2Mtc3RhdHVzIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwNjQ1QUQgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIC5jaGVjay1nYy1zdGF0dXM6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIC5maWVsZC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIC5maWVsZC13cmFwcGVyIGlucHV0LmlucHV0LXRleHQge1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmZpZWxkLXdyYXBwZXIgI2FkdmljZS1yZXF1aXJlZC1lbnRyeS1naWZ0Y2FyZF9jb2RlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1mb3JtcyAuZ2lmdGNhcmQgLmZpZWxkLXdyYXBwZXIgLmJ1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZm9ybXMgLmdpZnRjYXJkIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuc2hpcHBpbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC10b3RhbHMtd3JhcHBlciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtdG90YWxzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC10b3RhbHMgdGQge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LXRvdGFscyB0Zm9vdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLW11bHRpc2hpcHBpbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMge1xuICBmbG9hdDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNoZWNrb3V0LXR5cGVzIGJ1dHRvbiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMgLnBheXBhbC1sb2dvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTdweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAvKlxuICAgICAgICAgICAgICogSGlkZSB0aGUgdWdseSBcIi1vci1cIiwgYnV0IHNob3cgdGhlIFBheXBhbCBidXR0b24uXG4gICAgICAgICAgICAgKiBTZWxlY3RvcnMgYXJlIGFsbCBvdmVyIHRoZSBwbGFjZS4gOihcbiAgICAgICAgICAgICAqL1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1wYXlwYWxfZXhwcmVzcy1ib3R0b20ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzID4gbGkubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1vbmVwYWdlLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzIC5wYXlwYWwtbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiAuY2hlY2tvdXQtdHlwZXMgLm1ldGhvZC1jaGVja291dC1jYXJ0LW1ldGhvZHMtcGF5cGFsX2V4cHJlc3MtYm90dG9tIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzIC5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLXBheXBhbF9leHByZXNzLWJvdHRvbSAucGF5cGFsLWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4gLmNoZWNrb3V0LXR5cGVzIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIC5jaGVja291dC10eXBlcyA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXgge1xuICAvKlxuICAgICAqIFNURVAgMlxuICAgICAqL1xuICAvKlxuICAgICAqIFNURVAgMyBTSElQUElORyBJTkZPUk1BVElPTlxuICAgICAqL1xuICAvKlxuICAgICAqIFNURVAgNCBTSElQUElORyBNRVRIT0QgSU5QVVRcbiAgICAgKi9cbiAgLypcbiAgICAgKiBTVEVQIDQgUEFZTUVOVFxuICAgICAqL1xuICAvKlxuICAgICAqIFNURVAgNSBDT05GSVJNXG4gICAgICovXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm1haW4tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuaGVhZGVyLWNvbnRhaW5lciAuaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCBzZWxlY3Qge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggaW5wdXRbdGV4dF0sXG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IGlucHV0W3Bhc3N3b3JkXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm1haW4tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAub3BjIHNlbGVjdCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm9wYyAuc2VjdGlvbiB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm9wYyAuc2VjdGlvbi5hbGxvdyB7XG4gIG9wYWNpdHk6IDEuMDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSAubnVtYmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIGxlZnQ6IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgaDIge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBwYWRkaW5nOiAyMHB4IDAgMjBweCA1MHB4O1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAub3BjIC5zZWN0aW9uIC5zdGVwIHtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAub3BjIC5zZWN0aW9uIC5zdGVwIHtcbiAgICBwYWRkaW5nOiAzMHB4IDAgNjBweCAwO1xuICB9XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5iYWNrLWxpbmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuc3AtbWV0aG9kcyBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBha3ppZGVuei1ncm90ZXNrLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuc3AtbWV0aG9kcyBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuc3AtbWV0aG9kcyBsYWJlbDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI2NvLWJpbGxpbmctZm9ybSxcbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNjby1zaGlwcGluZy1mb3JtLFxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjY28tYmlsbGluZy1mb3JtLFxuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjY28tc2hpcHBpbmctZm9ybSxcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjY28tYmlsbGluZy1mb3JtIHAsXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjY28tc2hpcHBpbmctZm9ybSBwLFxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIHAge1xuICBjb2xvcjogI0RDMjAyMjtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmZvcm0tbGlzdCAuY29udHJvbCBsYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmJ1dHRvbnMtc2V0IC5yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gaDMge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWxvZ2luIC5jb2wyLXNldCAuY29sLTEsIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0IC5jb2wtMiB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgLmNvbC0xIC5mb3JtLWxpc3Qge1xuICBtYXJnaW4tdG9wOiA0OHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0IC5jb2wtMSAuZm9ybS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgLmNvbC0xIC5mb3JtLWxpc3QgPiAubGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgLmNvbC0yIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0IC5jb2wtMiAuaW5wdXQtYm94IHtcbiAgbWluLWhlaWdodDogNTFweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQgPiBkaXYgaDQsIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0ID4gZGl2IHAsIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0ID4gZGl2IC51bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gLmNvbDItc2V0Om50aC1jaGlsZCgyKSAuY29sLTEge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuY29sMi1zZXQ6bnRoLWNoaWxkKDIpIC5jb2wtMiB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWxvZ2luICNsb2dpbi1mb3JtIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtbG9naW4gI3JlbWVtYmVyLW1lLWJveCAubGluay10aXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWxvZ2luIC5idXR0b25zLXNldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1sb2dpbiAuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWJpbGxpbmcgZm9ybSNjby1iaWxsaW5nLWZvcm0ge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLWJpbGxpbmcgZm9ybSNjby1iaWxsaW5nLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1iaWxsaW5nIGZvcm0jY28tYmlsbGluZy1mb3JtIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtYmlsbGluZyBmb3JtI2NvLWJpbGxpbmctZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1iaWxsaW5nIC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZyBpbnB1dFt0eXBlPXRleHRdLCAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXNoaXBwaW5nIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmcgaW5wdXRbdHlwZT10ZXh0XSwgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZyBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmcgYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIGlucHV0W3R5cGU9dGV4dF0sIC5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXNoaXBwaW5nX21ldGhvZCAjb25lcGFnZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QtYWRkaXRpb25hbC1sb2FkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZ19tZXRob2QgLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXNoaXBwaW5nX21ldGhvZCAuc3AtbWV0aG9kcyBkdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIC5zcC1tZXRob2RzIGRkIHVsIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZ19tZXRob2QgLnNwLW1ldGhvZHMgZGQgdWwgbGkgaW5wdXQucmFkaW8ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogLTNweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1zaGlwcGluZ19tZXRob2QgLnNwLW1ldGhvZHMgZGQgdWwgbGkgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweDtcbiAgZmxleC1ncm93OiA5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtc2hpcHBpbmdfbWV0aG9kIC5zcC1tZXRob2RzIGRkIHVsIGxpIGxhYmVsOmhvdmVyIHtcbiAgY29sb3I6ICMwNjQ1QUQgIWltcG9ydGFudDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50ID4gLnN0ZXAge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50ID4gLnN0ZXAge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXBheW1lbnQgZm9ybSNjby1wYXltZW50LWZvcm0gI2R0X21ldGhvZF9jY3NhdmUgbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXBheW1lbnQgZm9ybSNjby1wYXltZW50LWZvcm0gLmZvcm0tbGlzdCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IGxpOm50aC1jaGlsZCg0KSAuaW5wdXQtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuZm9ybS1saXN0IGxpOm50aC1jaGlsZCg0KSAuaW5wdXQtYm94OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5mb3JtLWxpc3QgbGk6bnRoLWNoaWxkKDQpIC5pbnB1dC1ib3ggLnYtZml4IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDQ4JTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5mb3JtLWxpc3QgbGk6bnRoLWNoaWxkKDQpIC5pbnB1dC1ib3ggLnYtZml4ID4gc2VsZWN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5zcC1tZXRob2RzIGR0IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IGZvcm0jY28tcGF5bWVudC1mb3JtIC5zcC1tZXRob2RzIGR0IGxhYmVsIGltZyB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXBheW1lbnQgZm9ybSNjby1wYXltZW50LWZvcm0gLnNwLW1ldGhvZHMgZHQgbGFiZWxbZm9yPVwicF9tZXRob2RfcGF5cGFsX2V4cHJlc3NcIl0gYSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcGF5bWVudCBmb3JtI2NvLXBheW1lbnQtZm9ybSAuc3AtbWV0aG9kcyAjYWR2aWNlLXZhbGlkYXRlLWNjLWV4cC1jY3NhdmVfZXhwaXJhdGlvbiB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1wYXltZW50IC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IHtcbiAgcGFkZGluZzogMzBweCAwIDMwcHggMzRweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAjb3BjLXJldmlldyAjY2hlY2tvdXQtc3RlcC1yZXZpZXcge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0aGVhZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNjaGVja291dC1yZXZpZXctdGFibGUgdGQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNjaGVja291dC1yZXZpZXctdGFibGUgdGQuYS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNjaGVja291dC1yZXZpZXctdGFibGUgdGQgLl9fcHJvZHVjdC1kZXRhaWxzIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0ZCAuX19wcm9kdWN0LWRldGFpbHMgLl9fcHJvZHVjdC1pbWFnZSBpbWcge1xuICB3aWR0aDogMzAlO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0ZCAuX19wcm9kdWN0LWRldGFpbHMgLl9fZmluYWwtc2FsZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4ICNvcGMtcmV2aWV3ICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIgLmJ0bi1jaGVja291dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggI29wYy1yZXZpZXcgLmYtbGVmdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5tYWluLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLmNvbC1tYWluID4gKiB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZWZlcmVuY2UsXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19leGFtcGxlcyB7XG4gIHBhZGRpbmc6IDBweCAzMHB4O1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19leGFtcGxlcy4taW5wdXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX2V4YW1wbGVzLi1pbnB1dHMgPiAqIHtcbiAgd2lkdGg6IGNhbGMoMzMlIC0gNXB4KTtcbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSA+ICoge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDVBRDtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1OXB4KSB7XG4gIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9fY3VycmVudCAuX19icC1uYW1lOmFmdGVyIHtcbiAgICBjb250ZW50OiAnPCB4c21hbGwnO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzU5cHgpIHtcbiAgYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX19jdXJyZW50IC5fX2JwLW5hbWU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICd4c21hbGwnO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTk5cHgpIHtcbiAgYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX19jdXJyZW50IC5fX2JwLW5hbWU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdzbWFsbCc7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzBweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2N1cnJlbnQgLl9fYnAtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogJ21lZGl1bSc7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzlweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2N1cnJlbnQgLl9fYnAtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogJ2xhcmdlJztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2N1cnJlbnQgLl9fYnAtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogJ3hsYXJnZSc7XG4gIH1cbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX194c21hbGwsIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9fc21hbGwsIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9fbWVkaXVtLCBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2xhcmdlLCBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX3hsYXJnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9feHNtYWxsIHtcbiAgd2lkdGg6IDM1OXB4O1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX3NtYWxsIHtcbiAgd2lkdGg6IDU5OXB4O1xufVxuXG5ib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX21lZGl1bSB7XG4gIHdpZHRoOiA3NzBweDtcbn1cblxuYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX19sYXJnZSB7XG4gIHdpZHRoOiA5NzlweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NzlweCkgYW5kIChtYXgtd2lkdGg6IDExOThweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2xhcmdlIHtcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICBib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSAuX19yZXNwb25zaXZlIC5fX2xhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbmJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9feGxhcmdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSB7XG4gIGJvZHkuY21zLWFib3V0LXN0eWxlLWd1aWRlIC5fX3Jlc3BvbnNpdmUgLl9feGxhcmdlIHtcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgYm9keS5jbXMtYWJvdXQtc3R5bGUtZ3VpZGUgLl9fcmVzcG9uc2l2ZSAuX194bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNtcy1ob21lIC5tYWluLWNvbnRhaW5lcixcbi5jbXMtaW5kZXgtaW5kZXggLm1haW4tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmNtcy1ob21lIC5hbGdvbGlhLWluc3RhbnQtcmVzdWx0cy13cmFwcGVyIC5hbGdvbGlhLWluc3RhbnQtc2VsZWN0b3ItcmVzdWx0cyxcbi5jbXMtaW5kZXgtaW5kZXggLmFsZ29saWEtaW5zdGFudC1yZXN1bHRzLXdyYXBwZXIgLmFsZ29saWEtaW5zdGFudC1zZWxlY3Rvci1yZXN1bHRzIHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuYm9keS5jbXMtbm8tcm91dGUgLm1haW4tY29udGFpbmVyIC5fX2hlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA0MHB4IDAgNXB4IDA7XG59XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19zZWFyY2gge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAubWFpbi1jb250YWluZXIgLl9fc2VhcmNoIC5fX3Byb21wdCB7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19zZWFyY2ggLl9faW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAubWFpbi1jb250YWluZXIgLl9fc2VhcmNoIC5fX2lucHV0IGlucHV0LmlucHV0LXRleHQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19zdWdnZXN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogMzBweCBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19zdWdnZXN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19zdWdnZXN0aW9ucyA+IGxpID4gaDIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICBib2R5LmNtcy1uby1yb3V0ZSAubWFpbi1jb250YWluZXIgLl9fc3VnZ2VzdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAubWFpbi1jb250YWluZXIgLl9fc3VnZ2VzdGlvbnMgPiBsaSA+IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19jb250YWN0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDIwcHggYXV0byA0MHB4IGF1dG87XG59XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19zZWFyY2gsIGJvZHkuY21zLW5vLXJvdXRlIC5tYWluLWNvbnRhaW5lciAuX19zdWdnZXN0aW9ucyB7XG4gIG1heC13aWR0aDogNTAwcHg7XG59XG5cbi5jbXMtcGFnZS12aWV3IC5zdGQgcCB7XG4gIGNvbG9yOiB1bnNldDtcbiAgZm9udC1zaXplOiB1bnNldDtcbiAgbGluZS1oZWlnaHQ6IHVuc2V0O1xuICBmb250LWZhbWlseTogdW5zZXQ7XG4gIGZvbnQtc3R5bGU6IHVuc2V0O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5jb250YWN0cy1pbmRleC1pbmRleCAuY29udGFjdHMtaW5kZXgtaW5kZXhfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5jb250YWN0cy1pbmRleC1pbmRleCAuX19pbmZvIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9faW5mbyBoMSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gIH1cbiAgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2luZm8gcCB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbiAgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2Zvcm0ge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IC5jb250YWN0cy1pbmRleC1pbmRleF9fY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jb250YWN0cy1pbmRleC1pbmRleCAuY29udGFjdHMtaW5kZXgtaW5kZXhfX2NvbnRhaW5lciBoMSB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG4uY29udGFjdHMtaW5kZXgtaW5kZXggLmNvbnRhY3RzLWluZGV4LWluZGV4X19jb250YWluZXIgcCB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4uY29udGFjdHMtaW5kZXgtaW5kZXggLmNvbnRhY3RzLWluZGV4LWluZGV4X19jb250YWluZXIgLmZpZWxkIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi5jb250YWN0cy1pbmRleC1pbmRleCAuX19pbmZvLCAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9fZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5jb250YWN0cy1pbmRleC1pbmRleCAuX19mb3JtIGlucHV0LCAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9fZm9ybSB0ZXh0YXJlYSwgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2Zvcm0gc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdW5zZXQ7XG59XG5cbi5jb250YWN0cy1pbmRleC1pbmRleCAuX19mb3JtIGlucHV0LnZhbGlkYXRpb24tZmFpbGVkLCAuY29udGFjdHMtaW5kZXgtaW5kZXggLl9fZm9ybSB0ZXh0YXJlYS52YWxpZGF0aW9uLWZhaWxlZCwgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5fX2Zvcm0gc2VsZWN0LnZhbGlkYXRpb24tZmFpbGVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RDMjAyMjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIGlucHV0W3R5cGU9dGV4dF0sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgaW5wdXRbdHlwZT1lbWFpbF0sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmJ1dHRvbnMtc2V0LFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5maWVsZHNldCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIGlucHV0W3R5cGU9dGV4dF0sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmJ1dHRvbnMtc2V0LFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmZpZWxkc2V0LFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgaW5wdXRbdHlwZT10ZXh0XSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIGlucHV0W3R5cGU9ZW1haWxdLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuYnV0dG9ucy1zZXQsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWluc3RydWN0aW9ucyxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuZm9ybS1pbnN0cnVjdGlvbnMsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZvcm0taW5zdHJ1Y3Rpb25zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzNjVweDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCA+IHAsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCA+IHAsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCA+IHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCAuX19wcm9tcHQsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIC5fX3Byb21wdCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQgLl9fcHJvbXB0IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkcy4tbWFpbGluZy1saXN0IC5maWVsZCAuX193b21lbiwgYm9keS5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIC5fX21lbixcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQgLl9fd29tZW4sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIC5fX21lbixcbiAgYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5maWVsZHMuLW1haWxpbmctbGlzdCAuZmllbGQgLl9fd29tZW4sXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCAuZmllbGRzLi1tYWlsaW5nLWxpc3QgLmZpZWxkIC5fX21lbiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC5oZWFkZXItY29udGFpbmVyIC5oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICB9XG4gIC5oZWFkZXItY29udGFpbmVyIC5oZWFkZXIuLXdpdGhOb3RpZmljYXRpb25CYXIge1xuICAgIHBhZGRpbmctdG9wOiA3NHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5oZWFkZXItY29udGFpbmVyIC5oZWFkZXIgLnRrLW5hdi1tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMHB4O1xuICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG4udGstYWJvdXQgPiBwIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi50ay1hYm91dC4tLWFmZmlsaWF0ZXMgPiBwLCAudGstYWJvdXQuLS1hZmZpbGlhdGVzIG9sIHtcbiAgbWFyZ2luOiAyMHB4IDAgNDBweCAwO1xufVxuXG4udGstYWJvdXQgLnRrLWgxIHtcbiAgbWFyZ2luOiAzMHB4IDAgMTBweCAwO1xufVxuXG4udGstYWJvdXQgLnRrLWwyIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi50ay1hYm91dCAudGstcDEge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udGstYWJvdXQgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnRrLWFib3V0IG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi50ay1hYm91dCBhOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM2MHB4KSB7XG4gIC50ay1hYm91dC4tLXR3by1jb2wgLl9faW5mbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgfVxuICAudGstYWJvdXQuLS10d28tY29sIC5fX2ltYWdlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gIH1cbn1cblxuLmFsZ29saWEtaW5zdGFudC1yZXN1bHRzLXdyYXBwZXIge1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbn1cblxuLmFpcy1oZWFkZXIge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMTVweCAwO1xufVxuXG4uYWlzLWN1cnJlbnQtcmVmaW5lZC12YWx1ZXMge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uYWlzLWN1cnJlbnQtcmVmaW5lZC12YWx1ZXMtLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbi5haXMtY3VycmVudC1yZWZpbmVkLXZhbHVlcyAuY3VycmVudC1yZWZpbmVtZW50LWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFpcy1jdXJyZW50LXJlZmluZWQtdmFsdWVzIC5jdXJyZW50LXJlZmluZW1lbnQtbmFtZTo6YWZ0ZXIge1xuICBjb250ZW50OiAneCc7XG4gIGNvbG9yOiAjREMyMDIyO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWNvdW50IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1pdGVtX19hY3RpdmUgPiBkaXYgPiAuYWlzLWhpZXJlYXJjaGljYWwtbGluay13cmFwcGVyID4gYSB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFpcy1oaWVyYXJjaGljYWwtbWVudS0taXRlbV9fYWN0aXZlID4gZGl2ID4gLmFpcy1oaWVyZWFyY2hpY2FsLWxpbmstd3JhcHBlciA+IGE6aG92ZXIge1xuICBjb2xvcjogIzA2NDVBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWl0ZW1fX2FjdGl2ZSAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uYWlzLWhpZXJhcmNoaWNhbC1tZW51Li1oaWRlLWZpcnN0LWxldmVsIC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWxpc3RfX2x2bDAgPiAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1pdGVtID4gZGl2ID4gLmFpcy1oaWVyZWFyY2hpY2FsLWxpbmstd3JhcHBlcixcbi4taGlkZS1maXJzdC1sZXZlbCAuYWlzLWhpZXJhcmNoaWNhbC1tZW51IC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWxpc3RfX2x2bDAgPiAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1pdGVtID4gZGl2ID4gLmFpcy1oaWVyZWFyY2hpY2FsLWxpbmstd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5haXMtaGllcmFyY2hpY2FsLW1lbnUuLWhpZGUtZmlyc3QtbGV2ZWwgLmFpcy1oaWVyYXJjaGljYWwtbWVudS0tbGlzdF9fbHZsMCA+IC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWl0ZW0gPiAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1saXN0LFxuLi1oaWRlLWZpcnN0LWxldmVsIC5haXMtaGllcmFyY2hpY2FsLW1lbnUgLmFpcy1oaWVyYXJjaGljYWwtbWVudS0tbGlzdF9fbHZsMCA+IC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWl0ZW0gPiAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYWlzLWluZmluaXRlLWhpdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5haXMtaW5maW5pdGUtaGl0c19fZW1wdHkge1xuICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5haXMtaW5maW5pdGUtaGl0c19fZW1wdHkge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMCU7XG4gIH1cbn1cblxuLmFpcy1pbmZpbml0ZS1oaXRzLS1pdGVtIHtcbiAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyOHB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLmFpcy1pbmZpbml0ZS1oaXRzLS1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDMwcHgpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmFpcy1pbmZpbml0ZS1oaXRzLS1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5haXMtaW5maW5pdGUtaGl0cy0tc2hvd21vcmUgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmFpcy1pbmZpbml0ZS1oaXRzLS1zaG93bW9yZSBidXR0b25bZGlzYWJsZWRdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgbWF4LWhlaWdodDogMTdlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLmFpcy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjOUI5QjlCO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5haXMtcGFnaW5hdGlvbjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYWlzLXBhZ2luYXRpb24tLWl0ZW0ge1xuICBwYWRkaW5nOiA0cHggOHB4IDAgOHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDFweDtcbn1cblxuLmFpcy1wYWdpbmF0aW9uLS1pdGVtX19uZXh0LCAuYWlzLXBhZ2luYXRpb24tLWl0ZW1fX3ByZXZpb3VzIHtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5haXMtcGFnaW5hdGlvbi0taXRlbV9fYWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbi5haXMtcGFnaW5hdGlvbi0taXRlbV9fZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5haXMtcmVmaW5lbWVudC1saXN0LS1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgbWF4LWhlaWdodDogMTdlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLmFpcy1yZWZpbmVtZW50LWxpc3QtLWNoZWNrYm94IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFpcy1yZWZpbmVtZW50LWxpc3QtLWNvdW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFpcy1yZWZpbmVtZW50LWxpc3QgZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5haXMtcmVmaW5lbWVudC1saXN0LS1pdGVtX19hY3RpdmUgLmFpcy1yZWZpbmVtZW50LWxpc3QtLWxhYmVsIHtcbiAgY29sb3I6ICMwNjQ1QUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYWlzLXJlZmluZW1lbnQtbGlzdC0taXRlbV9fYWN0aXZlIC5haXMtcmVmaW5lbWVudC1saXN0LS1sYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjMDY0NUFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFpcy1yZWZpbmVtZW50LWxpc3QtLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFpcy1yZWZpbmVtZW50LWxpc3QtLWxhYmVsOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5haXMtc2VhcmNoLWJveCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9uYXYvc2VhcmNoX2ludmVydGVkLnN2Z1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xufVxuXG4uYWlzLXNlYXJjaC1ib3ggaW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogaW5oZXJpdDtcbn1cblxuLmFpcy1zZWFyY2gtYm94IGlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbiIsIiBAZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnTHlvbkRpc3BsYXktTGlnaHQnO1xuICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0x5b25EaXNwbGF5LUxpZ2h0Lm90ZicpO1xuIH1cblxuIEBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdMeW9uVGV4dC1SZWd1bGFyJztcbiAgIHNyYzogdXJsKCcuLi9mb250cy9MeW9uVGV4dC1SZWd1bGFyLm90ZicpO1xuIH1cbiIsIi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiAtIFR5cG9ncmFwaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDT1JFIFRPVE9LQUVMTyBTVFlMRVNcbiAqIFZBUklBQkxFUyBBTkQgTUlYSU5TXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbiR0ay1ibGFjazogIzAwMDtcbiR0ay1ibHVlOiAjMDY0NUFEO1xuJHRrLWdyYXk6ICM5QjlCOUI7XG4kdGstbGlnaHQtZ3JheTogIzY2NjY2NjtcbiR0ay1yZWQ6ICNEQzIwMjI7XG5cbkBtaXhpbiBha3ppZGVuei1yZWd1bGFyIHtcbiAgICBmb250LWZhbWlseTogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBseW9uLXJlZ3VsYXIge1xuICAgIGZvbnQtZmFtaWx5OiAnTHlvblRleHQtUmVndWxhcicsIFRpbWVzLCBzZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogSEVBREVSU1xuICogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKlxuICogdGstaDEgLSB1c2VkIGZvciBiaWcgcGFnZSBoZWFkZXJzXG4gKi9cbkBtaXhpbiB0ay1oMSB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLypcbiAqIHRrLWgyIC0gdXNlZCBhcyBzdWJoZWFkZXJcbiAqL1xuQG1peGluIHRrLWgyIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qXG4gKiB0ay1oMyAtIHVzZWQgYXMgc3ViaGVhZGVyXG4gKi9cbkBtaXhpbiB0ay1oMyB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qXG4gKiB0ay1oNCAtIHF1YXRlcm5hcnkgaGVhZGVyXG4gKi9cbkBtaXhpbiB0ay1oNCB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4vKlxuICogdGstaDUgLSB1c2VkIGFzIHN1YmhlYWRlclxuICovXG5AbWl4aW4gdGstaDUge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICR0ay1ibGFjaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLypcbiAqIHRrLWgtdGltZXMsIHVzZWQgZm9yIFwiYnJhbmQgaGVhZGVyXCJcbiAqL1xuQG1peGluIHRrLWgtdGltZXMge1xuICAgIGZvbnQtZmFtaWx5OiBUaW1lcywgc2VyaWY7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIExJTktTXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qXG4gKiB0ay1sMSAtIHByaW1hcnkgbGlua1xuICovXG5AbWl4aW4gdGstbDEge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfYmx1ZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLypcbiAqIHRrLWwyIC0gc2Vjb25kYXJ5IGxpbmtcbiAqL1xuQG1peGluIHRrLWwyIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkX2JsYWNrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkX2JsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLypcbiAqIHRrLWwzIC0gdGVydGlhcnkgbGlua1xuICovXG5AbWl4aW4gdGstbDMge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfZ3JleTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkX2JsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiB0ay1sNCAtIHF1YXRlcm5hcnkgbGlua1xuICovXG5AbWl4aW4gdGstbDQge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICRfbGlnaHRfZ3JleTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRfYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKlxuICogdGstaDIgLSBxdWluYXJ5IGxpbmtcbiAqL1xuQG1peGluIHRrLWw1IHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkX2xpZ2h0X2dyZXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkX2JsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQk9EWSBURVhUXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qXG4gKiB0ay1wMSAtIHByaW1hcnkgYm9keSB0ZXh0XG4gKi9cbkBtaXhpbiB0ay1wMSB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJF9saWdodF9ncmV5O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG59XG5cbi8qXG4gKiB0ay1wMiAtIHNlY29uZGFyeSBib2R5IHRleHRcbiAqL1xuQG1peGluIHRrLXAyIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkX2xpZ2h0X2dyZXk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIExJTktTXG4gKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qXG4gKiB0ay1sMSAtIHByaW1hcnkgbGlua1xuICovXG5AbWl4aW4gdGstbDEge1xuICAgIEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG4gICAgY29sb3I6ICR0ay1ibHVlICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8qXG4gKiB0ay1sMiAtIHNlY29uZGFyeSBsaW5rXG4gKi9cbkBtaXhpbiB0ay1sMiB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWJsYWNrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGstYmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vKlxuICogdGstbDMgLSB0ZXJ0aWFyeSBsaW5rXG4gKi9cbkBtaXhpbiB0ay1sMyB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWdyYXk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGstYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cblxuLypcbiAqIHRrLWw0IC0gcXVhdGVybmFyeSBsaW5rXG4gKi9cbkBtaXhpbiB0ay1sNCB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWxpZ2h0LWdyYXk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGstYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKlxuICogdGstaDIgLSBxdWluYXJ5IGxpbmtcbiAqL1xuQG1peGluIHRrLWw1IHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstYmx1ZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBCT0RZIFRFWFRcbiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLypcbiAqIHRrLXAxIC0gcHJpbWFyeSBib2R5IHRleHRcbiAqL1xuQG1peGluIHRrLXAxIHtcbiAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgIGNvbG9yOiAkdGstbGlnaHQtZ3JheTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xufVxuXG4vKlxuICogdGstcDIgLSBzZWNvbmRhcnkgYm9keSB0ZXh0XG4gKi9cbkBtaXhpbiB0ay1wMiB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcbiAgICBjb2xvcjogJHRrLWxpZ2h0LWdyYXk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbkBtaXhpbiBoMSB7XG4gICAgQGluY2x1ZGUgdGstaDE7XG59XG5cbkBtaXhpbiBoMiB7XG4gICAgQGluY2x1ZGUgdGstaDI7XG59XG5cbkBtaXhpbiBoMyB7XG4gICAgQGluY2x1ZGUgdGstaDM7XG59XG5cbkBtaXhpbiBoNCB7XG4gICAgQGluY2x1ZGUgdGstaDQ7XG59XG5cbkBtaXhpbiBoNSB7XG4gICAgQGluY2x1ZGUgdGstaDU7XG59XG5cbkBtaXhpbiBoNiB7XG4gICAgQGluY2x1ZGUgdGstaDU7XG59XG5cbkBtaXhpbiBwYWdlVGl0bGUoKSB7XG4gICAgLy8gTk9PUFxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjIuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIENvcnJlY3RzIGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLypcbiAqIFByZXZlbnRzIG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgZm9yIGBoaWRkZW5gIGF0dHJpYnV0ZSBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0cyBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKlxuICogUmVtb3ZlcyBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3NlcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3NlcyBgaDFgIGZvbnQgc2l6ZXMgd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGluIEZpcmVmb3ggNCssXG4gKiBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzksIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuXG4vKlxuICogQ29ycmVjdHMgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLypcbiAqIFNldHMgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xuXG5xIHtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0cyBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRyZXNzZXMgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLypcbiAqIDEuIENvcnJlY3RzIGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQ29ycmVjdHMgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0cyBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWVcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKlxuICogQWRkcmVzc2VzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLypcbiAqIDEuIEFkZHJlc3NlcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZXMgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLypcbiAqIDEuIEFkZHJlc3NlcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3NlcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKlxuICogUmVtb3ZlcyBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIDEuIFJlbW92ZXMgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZXMgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZXNldFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiBibGFjaygwKTsgLyogUHJldmVudCB0YXAgaGlnaGxpZ2h0IG9uIGlPUy9BbmRyb2lkICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBQcmV2ZW50IGF1dG9tYXRpYyBzY2FsaW5nIG9uIGlPUyAqL1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5odG1sLFxuYm9keSxcbmltZyxcbmZpZWxkc2V0LFxuYWJicixcbmFjcm9ueW0ge1xuICAgIGJvcmRlcjogMDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxudGgsXG5jb2RlLFxuY2l0ZSxcbmNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmFkZHJlc3Mge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbn1cblxuLy8gU3RhbmRhcmQgb3V0bGluZS1vZmZzZXQgaW4gQ2hyb21lIGFuZCBtYWtlIHRoZSBzZWFyY2ggaW5wdXQgc2FtZSBhcyB0ZXh0IGlucHV0XG5pbnB1dDpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMge1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vLyBSZXNldHRpbmcgTm9ybWFsaXplIHNvIHRoYXQgc2VhcmNoIGlucHV0cyBiZWhhdmUgdGhlIHNhbWUgYXMgdGV4dCBpbnB1dHNcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5pbnB1dCwgdGV4dGFyZWEge1xuICAgIC8vIFJlbW92ZSBtb2JpbGUgU2FmYXJpIHJvdW5kZWQgY29ybmVycy5cbiAgICAvLy13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvLy13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGdW5jdGlvbiAtIEJsYWNrXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZ1bmN0aW9uIGJsYWNrICgkb3BhY2l0eSkge1xuICAgIEByZXR1cm4gcmdiYSgwLCAwLCAwLCAkb3BhY2l0eSk7XG59XG5cbkBmdW5jdGlvbiBibGFjay1mYWxsYmFjayAoJG9wYWNpdHkpIHtcbiAgICBAcmV0dXJuIGxpZ2h0ZW4oIzAwMDAwMCwgKDEgLSAkb3BhY2l0eSkpO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJhc2UgU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ALW1zLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5ALW8tdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbkB2aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuLy8gUHJldmVudCAzMDBtcyBkZWxheSBpbiBJRSBvbiB0b3VjaCBkZXZpY2VzXG5hLCBidXR0b24ge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuYm9keSxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGFibGUsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYi1saW5lLWhlaWdodDtcbn1cblxuYSB7XG4gICAgY29sb3I6ICRjLWxpbms7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmhvdmVyIHtcbiAgICBjb2xvcjogJGMtbGluay1ob3ZlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCAkYy1saW5rICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDA7XG59XG5cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2hhcmVkIENsYXNzZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZGRyZXNzLWxpc3QgYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uYXZhaWxhYmlsaXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hdmFpbGFiaWxpdHkgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXZhaWxhYmlsaXR5LmluLXN0b2NrIHtcbiAgICBjb2xvcjogJGMtc3VjY2Vzcztcbn1cblxuLmF2YWlsYWJpbGl0eS5hdmFpbGFibGUtc29vbixcbi5hdmFpbGFiaWxpdHkub3V0LW9mLXN0b2NrIHtcbiAgICBjb2xvcjogJGMtZGFuZ2VyO1xufVxuXG4uYXZhaWxhYmlsaXR5LW9ubHkge1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYWdlIFRpdGxlc1xuICovXG5cbi5wYWdlLXRpdGxlIGgxLFxuLnBhZ2UtdGl0bGUgaDIsXG4ucHJvZHVjdC1uYW1lIGgxLFxuLnByb2R1Y3QtbmFtZSAuaDEge1xuICAgIEBpbmNsdWRlIHBhZ2VUaXRsZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQmxvY2sgTW9kdWxlXG4gKi9cblxuLmJsb2NrLFxuLmNvbC1sZWZ0LWZpcnN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY29sLWxlZnQtZmlyc3QgLmJsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuXG4gICAgaDIsXG4gICAgaDMsXG4gICAgc3Ryb25nIHtcbiAgICAgICAgQGluY2x1ZGUgaDQ7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgIH1cbn1cblxuLy8gT24gYWNjb3VudCBwYWdlcywgZG9uJ3QgcmVtb3ZlIHRoZSB0b3AgYm9yZGVyIGluIG9yZGVyIHRvIGNyZWF0ZSBzZXBhcmF0aW9uIGJldHdlZW4gYmxvY2sgYW5kIC5ibG9jay1hY2NvdW50XG5ib2R5Om5vdCguY3VzdG9tZXItYWNjb3VudCkgLmJsb2NrOmZpcnN0LWNoaWxkIC5ibG9jay10aXRsZSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmJsb2NrLXN1YnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xufVxuXG4uYmxvY2stY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uYmxvY2stY29udGVudC51bnBhZCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgbGkuaXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgJGJveC1zcGFjaW5nIDlweDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgbGkuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYmxvY2sgLmFjdGlvbnMge1xuICAgIG1hcmdpbjogJGJveC1zcGFjaW5nIDAgMDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4uY29sLWxlZnQsXG4uY29sLXJpZ2h0IHtcbiAgICAvLyBBbGlnbiB0aGUgdmVydGljYWwgaGVpZ2h0IG9mIHRoZSBhbmNob3IgdG8gbGluZSB1cCB3aXRoIHRoZSBidXR0b25cbiAgICAuYmxvY2sgLmFjdGlvbnMgLmJ1dHRvbiB+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgLy8gRG9uJ3QgYXBwbHkgdG8gbGF5ZXJlZCBuYXYsIHNpbmNlIGl0IGdldHMgc3BlY2lhbCB0cmVhdG1lbnRcbiAgICAgICAgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgPiBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb25EdEJhc2UoJ3JpZ2h0JywgJGMtbW9kdWxlLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uRHRCYXNlKCdkb3duJywgJGMtbW9kdWxlLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgc2VsZWN0b3IgaXMgaGlnaGx5IGZpY2tsZSwgYmVjYXVzZSBpZiBhIGRpdiBnZXRzIGFkZGVkIGJlbmVhdGggdGhlIGxhc3Qgbm9ybWFsIGJsb2NrIGluIGEgc2lkZWJhcixcbiAgICAgICAgLy8gaXQgd2lsbCBicmVhay4gSG93ZXZlciBpdCBpcyB0aGUgc2ltcGxlc3Qgc29sdXRpb24gdG8gYXBwbHlpbmcgdGhpcyB0cml2aWFsIHN0eWxlLlxuICAgICAgICAuYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWNvbmRhcnkgTmF2aWdhdGlvblxuICovXG5cbi5ibG9jay1hY2NvdW50LFxuLmJsb2NrLWNtcy1tZW51IHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBtYXJnaW46IDdweCAwO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJ1dHRvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNlY29uZGFyeSBCdXR0b25zICovXG4uY2FydCAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5idXR0b24sXG4uc2lkZWJhciAuYWN0aW9ucyAuYnV0dG9uLFxuLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24tc2Vjb25kYXJ5O1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLnNpZGViYXIgLmFjdGlvbnMgYnV0dG9uLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyogUHJpbWFyeSBCdXR0b25zICovXG5cbi5idXR0b24sXG4uY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbixcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbi5mb290ZXIgLmJ1dHRvbiB7XG4gICAgQGV4dGVuZCAudGstYnV0dG9uO1xuICAgIEBleHRlbmQgLi1vLWJsdWU7XG4gICAgLypcbiAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24taG92ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b24tYWN0aXZlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1hY3RpdmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cbiAgICAqL1xufVxuXG5hLmJ1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIERpc2FibGVkIC0gY2xhc3MgZm9yIGFuY2hvciwgc3RhdGUgZm9yIGZvcm0gZWxlbWVudHMgKi9cbi5idXR0b24uZGlzYWJsZWQsXG4uYnV0dG9uOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjQzhDOEM4O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBBZGphY2VudCBidXR0b25zICovXG4uYnV0dG9uICsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLy8gVGhpcyBtaXhpbiBnZXRzIGFwcGxpZWQgdG8gZWxlbWVudHMgdGhhdCBhcmUgb25seSBidXR0b25zIG9uIHNtYXJ0cGhvbmVzIChvciBzb21ldGltZXMgdGFibGV0cyksIHN1Y2ggYXMgbGF5ZXJlZFxuLy8gbmF2IGxpbmtzIG9yIGNoZWNrYm94IGxhYmVscy5cbi8vIEJ1aWxkaW5nIHRoaXMgYXMgYSBtaXhpbiAocmF0aGVyIHRoYW4gYW4gZXh0ZW5kYWJsZSBjbGFzcykgc2luY2UgaXQgd2lsbCBiZSBpbmNsdWRlZCB3aXRoaW4gbXEgYnJlYWtwb2ludHMsIGFuZFxuLy8gZXh0ZW5kaW5nIGRvZXNuJ3Qgd29yayB3aXRoaW4gbWVkaWEgcXVlcmllczogaHR0cDovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi9maWxlLlNBU1NfUkVGRVJFTkNFLmh0bWwjX2luX2RpcmVjdGl2ZXNcbkBtaXhpbiB0b3VjaC1idXR0b24ge1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG4uYnV0dG9uMiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmJ1dHRvbjI6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5idXR0b24yIHNwYW4sXG4uYnV0dG9uMiBzcGFuIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjLXN0aW11bHVzO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLmNvbDItc2V0IC5idXR0b25zLXNldCB7XG4gICAgICAgIC5idXR0b24sXG4gICAgICAgIC5idXR0b24yIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAuYmFjay1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAuYmFjay1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBheXBhbCBCdXR0b25cbiAqL1xuXG4ucGF5cGFsLWxvZ28ucGF5cGFsLWFmdGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnBheXBhbC1hZnRlciAucGF5cGFsLW9yIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnBheXBhbC1vciB7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luOiAwcHggMTBweCA1cHg7XG59XG5cbi5wYXlwYWwtYWZ0ZXIgLnBheXBhbC1idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ucGF5cGFsLWJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbn1cblxuLnBheXBhbC1idXR0b24gaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNzQwcHgpIHtcbiAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLnBheXBhbC1sb2dvLFxuICAgIC5wYXlwYWwtb3IsXG4gICAgLnBheXBhbC1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCdXR0b24gU2V0c1xuICovXG5cbi5idXR0b25zLXNldCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAkYm94LXNwYWNpbmcgMCAwO1xuICAgIHBhZGRpbmctdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgLmJhY2stbGluayB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIH1cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG4gICAgYnV0dG9uLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJY29uc1xuICovXG5cbi5pY29uLXNwcml0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uX3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgQGluY2x1ZGUgaW1hZ2UtcmVwbGFjZW1lbnQ7XG59XG5cbkBpbmNsdWRlIGlmLW1pbi1yZXNvbHV0aW9uKDIpIHtcbiAgICAuaWNvbi1zcHJpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25fc3ByaXRlQDJ4LnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMTAwMHB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnJlYWRjcnVtYnNcbiAqL1xuXG4uYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IC0xNXB4IDAgMTVweDtcbn1cblxuLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJyZWFkY3J1bWJzIGEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAkYy10ZXh0O1xufVxuXG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgY29sb3I6ICRjLWFjdGlvbjtcbn1cblxuLmJyZWFkY3J1bWJzIHN0cm9uZyB7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmJyZWFkY3J1bWJzIHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAgN3B4O1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5icmVhZGNydW1icyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEJ1dHRvbiAtIFJlbW92ZSAvIFByZXZpb3VzXG4gKi9cblxuLmJ0bi1yZW1vdmUsXG4uYnRuLXByZXZpb3VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIEhpZGUgdGV4dCAqL1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWFjdGlvbjtcbiAgICB9XG59XG5cbi5idG4tcmVtb3ZlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1gnO1xuICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi5idG4tcmVtb3ZlMiB7XG4gICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgJGljb24tcGFkZGluZzogM3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtNjUwcHgrMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvLyBBZGRpbmcgdGhpcyBzbyB0aGF0IHRoZSBidXR0b24gd2lsbCBzaG93IGF0IHRoZSB0b3Agb2YgdGhlIGNhcnQgcm93cywgcmF0aGVyIHRoYW4gYXQgdGhlIGJhc2VsaW5lXG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxufVxuXG4uYnRuLXByZXZpb3VzIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUobGVmdCwgNHB4LCAkYy1hY3Rpb24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIH1cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUobGVmdCwgNHB4LCAjRkZGRkZGKTtcbiAgICB9XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5LFxuLm1pbmktcHJvZHVjdHMtbGlzdCxcbiNjb21wYXJlLWl0ZW1zIHtcblxuICAgIC5idG4tcmVtb3ZlLFxuICAgIC5idG4tcHJldmlvdXMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDaGVja291dCBBZ3JlZW1lbnRzXG4gKi9cblxuLmNoZWNrb3V0LWFncmVlbWVudHMgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaGVja291dC1hZ3JlZW1lbnRzIC5hZ3JlZW1lbnQtY29udGVudCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtd2lkdGg6IDY3MHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDVlYgU2VjdXJpdHkgQ29kZVxuICovXG5cbi5jdnYtd2hhdC1pcy10aGlzIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ29udGFpbmVyXG4gKi9cblxuLm1haW4tY29udGFpbmVyLFxuLmZvb3Rlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6ICRtYXgtY29udGFpbmVyLXdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICR0cmltO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLy8gaXMgdGhpcyBuZWNlc3Nhcnk/XG4vKlxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA0ODBweCkge1xuXG4gICAgLm1haW4tY29udGFpbmVyLFxuICAgIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogJHRyaW07XG4gICAgfVxufVxuKi9cblxuLmZvb3Rlci1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENvbHVtbiBMYXlvdXRzXG4gKi9cblxuLm1haW46YWZ0ZXIsXG4uY29sLXdyYXBwZXI6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY29sLWxlZnQsXG4uY29sLXJpZ2h0LFxuLmNvbC1tYWluIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5jb2wtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjQwcHgvOTYwcHgpO1xuICAgIHBhZGRpbmctbGVmdDogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbiAgICBjbGVhcjogbGVmdDtcblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jb2wtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgyNDBweC85NjBweCk7XG4gICAgcGFkZGluZy1yaWdodDogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jb2wtbWFpbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoNzIwcHgvOTYwcHgpO1xufVxuXG4uY29sMS1sYXlvdXQge1xuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbiAgICB9XG59XG5cbi5jb2wyLWxlZnQtbGF5b3V0IHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG4gICAgfVxufVxuXG4uY29sMi1yaWdodC1sYXlvdXQge1xuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi9cbiAgICB9XG59XG5cbi5jb2wzLWxheW91dCB7XG4gICAgLmNvbC1yaWdodCB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIwMHB4Lzk2MHB4KTtcbiAgICB9XG5cbiAgICAuY29sLXdyYXBwZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNzYwcHgvOTYwcHgpO1xuXG4gICAgICAgIC5jb2wtbWFpbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg1NjBweC83NjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLWxlZnQge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjAwcHgvNzYwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDEwMDBweCkge1xuICAgIC5jb2wzLWxheW91dCB7XG4gICAgICAgIC5jb2wtcmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyNDBweC85NjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXdyYXBwZXIge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5jb2wtbWFpbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDcyMHB4Lzk2MHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC1sZWZ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyNDBweC85NjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5jb2wtbGVmdCxcbiAgICAuY29sLXJpZ2h0LFxuICAgIC5jb2wtbWFpbixcbiAgICAuY29sMS1sYXlvdXQgLmNvbC1sZWZ0LFxuICAgIC5jb2wxLWxheW91dCAuY29sLXJpZ2h0LFxuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4sXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1sZWZ0LFxuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtcmlnaHQsXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLWxlZnQsXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtcmlnaHQsXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbixcbiAgICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbGVmdCxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1yaWdodCxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIC5jb2wtbWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IC8vIFNpbmNlIGNvbHVtbnMgYXJlIHN0YWNrZWQsIHdlIHdhbnQgdGhlcmUgdG8gYmUgdmVydGljYWwgc3BhY2luZ1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuY29sLW1haW4ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbC1tYWluIC5jb2wtbGVmdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IC8qIE9uIHByb2R1Y3QgbGlzdGluZyBwYWdlcywgdGhlIGxlZnQgY29sdW1uIGdldHMgbW92ZWQgaW5zaWRlIGNvbC1tYWluIG9uIHNtYWxsIHZpZXdwb3J0cyAqL1xuICAgIH1cbn1cblxuLyogQ29udGVudCBDb2x1bW5zICovXG5cbi5jb2wyLXNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY29sLTEsXG4gICAgLmNvbC0yIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nLWxhcmdlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC0xIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY29sLTIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hcnJvdyB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgfVxuXG4gICAgLndpZGUge1xuICAgICAgICB3aWR0aDogNjUlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRvcCBDb250YWluZXJcbiAqL1xuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuICAgIC50b3AtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWNvbnRhaW5lci13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgJHRyaW07XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBHbG9iYWwgU2l0ZSBOb3RpY2VcbiAqL1xuXG4uZ2xvYmFsLXNpdGUtbm90aWNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1kYXJrO1xuICAgIGNvbG9yOiAkYy10ZXh0LXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG5cbiAgICAubm90aWNlLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogJGYtc2l6ZS14eHM7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoNDBweCAtICRmLXNpemUteHhzKSAvIDI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAoNDBweCAtICRmLXNpemUteHhzKSAvIDI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2RlbW8tbG9nby5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb21vdGlvbmFsIE1lc3NhZ2UgQmFubmVyXG4gKi9cblxuLnByb21vLW1zZyB7XG4gICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAkYm94LXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogR3JpZFxuICovXG5cbi5ncmlkOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWVzc2FnZXNcbiAqL1xuLnN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkYy1zdWNjZXNzO1xufVxuXG4uZXJyb3Ige1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5ub3RpY2Uge1xuICAgIGNvbG9yOiAkYy13YXJuO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNZXNzYWdlc1xuICovXG5cbi5tZXNzYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuLm1lc3NhZ2VzIGxpIGxpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWVzc2FnZXMgLmVycm9yLW1zZyBsaSB7XG4gICAgY29sb3I6ICRjLWRhbmdlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYW5nZXItYmFja2dyb3VuZDtcbn1cblxuLm1lc3NhZ2VzIC5ub3RpY2UtbXNnIGxpIHtcbiAgICBjb2xvcjogJGMtd2FybjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13YXJuLWJhY2tncm91bmQ7XG59XG5cbi5tZXNzYWdlcyAuc3VjY2Vzcy1tc2cgbGkge1xuICAgIGNvbG9yOiAkYy1zdWNjZXNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgOTE1cHgpIHtcblxuICAgIC5vcmRlci1saXN0LWdyaWQgLmNvbC0xIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG5cbiAgICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm9yZGVyLWxpc3QtZ3JpZCAuY29sLTMge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBhZ2UgUG9wdXBcbiAqL1xuXG4ucGFnZS1wb3B1cCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnBhZ2UtcG9wdXAgaDEge1xuICAgIG1hcmdpbjogMCAwIDAuNWVtO1xuICAgIC8vZm9udC1zaXplOiAzNnB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYXltZW50IE1ldGhvZHNcbiAqL1xuXG4ucGF5bWVudC1tZXRob2RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucGF5bWVudC1tZXRob2RzIGR0IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyBkZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMTVweCAxNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdHJpYW5nbGUodXAsIDEwcHgsICRjLW1vZHVsZS1ib3JkZXIpO1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogMzBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmlhbmdsZSh1cCwgMTBweCwgJGMtbW9kdWxlLWJhY2tncm91bmQpO1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogMzBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBsZWFzZSBXYWl0IChMb2FkaW5nIEluZGljYXRvcilcbiAqL1xuXG4ucGxlYXNlLXdhaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIFByZXZlbnQgdGhlIGxpbmVicmVhayBpbiB0aGUgSFRNTCBmcm9tIGNhdXNpbmcgbGF5b3V0IGlzc3VlcyAqL1xuXG4gICAgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB3aWR0aDogMjRweDsgLy8gQWN0dWFsIGltYWdlIGlzIDQ4cHgsIHRoZXJlYnkgc3VwcG9ydGluZyBoaS1yZXMgc2NyZWVuc1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3RhbmRhcmRcbiAqL1xuXG4ucHJpY2UtYm94IHtcbiAgICBtYXJnaW46ICRlbGVtZW50LXNwYWNpbmcgMDtcbn1cblxuLnByaWNlLWJveCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJpY2Utbm90aWNlIHtcbiAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xufVxuXG4ucHJpY2UtYm94IC5wcmljZSB7XG59XG5cbi5wcmljZS1ib3ggLnByaWNlLFxuLnByaWNlIHtcbn1cblxuLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbi5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UtbGluayB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogYmxvY2s7IC8qIFdlIHdhbnQgdGhpcyB0byBzaG93IG9uIGl0cyBvd24gbGluZSwgb3RoZXJ3aXNlIHRoZSBsYXlvdXQgbG9va3MgZnVua3kgKi9cblxuICAgIC5sYWJlbCB7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmljZSBCb3ggLSBTcGVjaWFsXG4gKi9cblxuLnByaWNlLWJveCAub2xkLXByaWNlLFxuLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4ucHJpY2UtYm94IC5vbGQtcHJpY2Uge1xuICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgfVxufVxuXG4ucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHtcbiAgICBjb2xvcjogJGMtcmVkO1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuXG4gICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByaWNlIEJveCAtIFRheGVzXG4gKi9cblxuLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCxcbi5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zcGFuLndlZWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaWVyIFByaWNlc1xuICovXG5cbi5wcm9kdWN0LXByaWNpbmcsXG4udGllci1wcmljZXMsXG4udGllci1wcmljZXMtZ3JvdXBlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI0ZCRjRERTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTJENEM3O1xuICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG5cbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICB9XG4gICAgLmJlbmVmaXQge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSXRlbSBPcHRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaXRlbS1vcHRpb25zIHtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgIH1cbn1cblxuLnRydW5jYXRlZCxcbi50cnVuY2F0ZWQgYS5kb3RzIHtcbiAgICBjdXJzb3I6IGhlbHA7XG59XG5cbi50cnVuY2F0ZWQgYS5kZXRhaWxzIHtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzAwO1xufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1hY3Rpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiAgICB0b3A6IDIxcHg7XG4gICAgbGVmdDogLTEwMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLWFjdGlvbik7XG4gICAgICAgIGxlZnQ6ICgxMDBweCArIC0zcHgpO1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgfVxufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zID4gcCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50cnVuY2F0ZWQgLnNob3cgLml0ZW0tb3B0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuXG4gICAgLnRydW5jYXRlZCB7XG4gICAgICAgIGN1cnNvcjogaW5oZXJpdDtcblxuICAgICAgICBhLmRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSB7XG4gICAgICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmludGVyIEZyaWVuZGx5IFBhZ2VcbiAqL1xuXG4ucGFnZS1wcmludCB7XG4gICAgd2lkdGg6IDYuNWluO1xuICAgIG1hcmdpbjogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBBZGQgdG8gbGlua3NcbiAqL1xuXG4uYWRkLXRvLWxpbmtzIHtcbiAgICBtYXJnaW46ICRlbGVtZW50LXNwYWNpbmcgMDtcblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDBweCAzcHggM3B4O1xuICAgIH1cbn1cblxuLmFkZC10by1saW5rcyAuc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9kdWN0IEltYWdlXG4gKi9cblxuLnByb2R1Y3QtaW1hZ2UsXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZTpub3QoLnpvb20tYXZhaWxhYmxlKTpob3ZlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuQGluY2x1ZGUgYnAgKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHkgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZTpob3ZlciB7XG4gICAgfVxufVxuXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1hZ2U6aG92ZXIge1xufVxuKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmF0aW5nc1xuICovXG5cbi5yYXRpbmdzIHtcbiAgICBtYXJnaW46IDdweCAwO1xuXG4gICAgLnJhdGluZy1ib3gsXG4gICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MTVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwMHB4O1xuICAgIH1cbiAgICAuYW1vdW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgfVxuXG4gICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU3RhbmRhcmQgRm9ybWF0dGVkIFRleHQgQmxvY2tcbiAqL1xuXG4uc3RkIHAge1xuICAgIG1hcmdpbjogMCAwICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi5zdGQgb2wge1xuICAgIG1hcmdpbi1ib3R0b206ICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi5zdGQgdWwge1xuICAgIG1hcmdpbi1ib3R0b206ICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi5zdGQgLm5vdGUge1xuICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRhYnNcbiAqL1xuXG4udGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUb29sYmFyXG4gKi9cblxuLnRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4IDBweCAxMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLnBhZ2VyLW5vLXRvb2xiYXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbn1cblxuLy8gVGhpcyB3aWxsIGFwcGx5IHRvIHRoZSBib3R0b20gdG9vbGJhclxuLnBhZ2VyLW5vLXRvb2xiYXIgfiAucGFnZXItbm8tdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nO1xufVxuXG4udG9vbGJhcixcbi5wYWdlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xufVxuXG4udG9vbGJhciBsYWJlbCxcbi5wYWdlci1uby10b29sYmFyIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQ6IDhweDtcblxuLnNvcnRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgLnNvcnQtYnktc3dpdGNoZXIge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgIH1cbiAgICAuc29ydC1ieS1zd2l0Y2hlci0tYXNjIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCs0cHggKC01NTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCs0cHggKC01NTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc29ydC1ieS1zd2l0Y2hlci0tZGVzYyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgtNTc1cHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHgrNHB4ICgtNTc1cHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb3J0ZXIgPiAudmlldy1tb2RlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuZ3JpZCxcbiAgICAubGlzdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICB9XG4gICAgLmdyaWQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCAoLTUwMHB4KyR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQpO1xuICAgIH1cbiAgICBzdHJvbmcuZ3JpZCxcbiAgICBhLmdyaWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0ICgtNTAwcHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgfVxuICAgIC5saXN0IHtcbiAgICAgICAgLy8gV2Ugd2FudCB0aGUgaWNvbiB0byBsaW5lIHVwIHdpdGggdGhlIGNvbnRhaW5lciB3aWR0aCwgc28gd2UgYXJlIGFkZGluZyAzcHhcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCszcHggKC01MjVweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICB9XG4gICAgc3Ryb25nLmxpc3QsXG4gICAgYS5saXN0OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCszcHggKC01MjVweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICB9XG59XG5cbi5wYWdlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmID4gLmNvdW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICB9XG5cbiAgICAubGltaXRlciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAgICYgPiBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hbW91bnQsXG4gICAgLmxpbWl0ZXIsXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxufVxuXG4ucGFnZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5wYWdlcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYWdlcyBhLFxuLnBhZ2VzIC5jdXJyZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xufVxuXG4ucGFnZXMgLmN1cnJlbnQsXG4ucGFnZXMgLmN1cnJlbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5wYWdlcyAubmV4dCxcbi5wYWdlcyAucHJldmlvdXMge1xuICAgIC8vIE5ldyBIUDVCUCB0ZWNobmlxdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdjOWUwM2RkYTRlNDYzZmIwZDRkYjVhNWY4MmQ3XG4gICAgZm9udDogMC8wIGE7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgLy9jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1hY3Rpb247XG4gICAgfVxufVxuXG4ucGFnZXMgLm5leHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgJGMtYWN0aW9uKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgfVxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgJGMtc3RpbXVsdXMpO1xuICAgIH1cbn1cblxuLnBhZ2VzIC5wcmV2aW91cyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShsZWZ0LCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIH1cbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGxlZnQsIDRweCwgJGMtc3RpbXVsdXMpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLy8gT25seSBoaWRlIHRoZSBcImFtb3VudFwiIGVsZW1lbnQgaWYgcGFnZSBoYXMgcGFnaW5hdGlvbiBBTkQgaXMgaW5zaWRlIG9mIHRvb2xiYXIgKHNpbmNlIHdlIG9ubHkgd2FudCBpdCBoaWRpbmcgb24gcHJvZHVjdCBsaXN0aW5nKVxuICAgIC8vIE90aGVyd2lzZSBzaG93IHRoZSBhbW91bnQgc2luY2UgdGhlcmUgaXMgcGxlbnR5IG9mIHNwYWNlXG4gICAgLnBhZ2VyIC5hbW91bnQtLWhhcy1wYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB0aGVyZSBhcmUgNSsgcGFnZXMsIGl0IGlzIGltcG9ydGFudCB0byBoaWRlIHRoaXMgbGFiZWwgaW4gb3JkZXIgdG8gbm90IGJyZWFrIHRvIHRocmVlIGxpbmVzXG4gICAgLmxpbWl0ZXIgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLy8gT25lIG9uZSBjb2x1bW4gbGF5b3V0cywgdGhlIHRvb2xiYXIgZG9lc24ndCBoYXZlIHRvIGJyZWFrIHVudGlsIGEgc21hbGxlciB2aWV3cG9ydFxuICAgIC5jb2wxLWxheW91dCB7XG4gICAgICAgIC5zb3J0ZXIsXG4gICAgICAgIC5wYWdlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlciB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY291bnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG5cbiAgICAuY29sMi1sZWZ0LWxheW91dCxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQsXG4gICAgLmNvbDMtbGF5b3V0IHtcbiAgICAgICAgLnNvcnRlcixcbiAgICAgICAgLnBhZ2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb3VudC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAxMjc5cHgpIHtcblxuICAgIC50b29sYmFyIC52aWV3LW1vZGUgPiBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYXggLSBGdWxsIFRheCBTdW1tYXJ5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlLFxuI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHtcbiAgICAuc3VtbWFyeS1jb2xsYXBzZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGRvd24sIDdweCwgJGMtYmx1ZSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoZG93biwgN3B4LCAkYy1zdGltdWx1cyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdy1kZXRhaWxzIHtcbiAgICAgICAgLnN1bW1hcnktY29sbGFwc2Uge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLWJsdWUpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLXN0aW11bHVzKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ2VudGVyIHRoZSBhcnJvdywgYXMgdGhlIGZvbnQgaXMgbGFyZ2VyIGluIHRmb290XG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGZvb3QgdGQgLnN1bW1hcnktY29sbGFwc2Uge1xuICAgICY6YmVmb3JlLFxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTWFnZW50byBIZWxwZXJzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmEtcmlnaHQsXG4uYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubm9icixcbi5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ3VzdG9tIEhlbHBlcnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaW50IFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhZ2UtcHJpbnQgLnByaW50LWhlYWQge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG59XG5cbi5wYWdlLXByaW50IC5wcmludC1oZWFkIC5sb2dvIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuIiwiLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHRvdG9rYWVsb19kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG5AaW1wb3J0IFwibWl4aW4vdHlwb2dyYXBoeVwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbXBhc3MgRGVmYXVsdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCb3JkZXIgUmFkaXVzXG5cbiRkZWZhdWx0LWJvcmRlci1yYWRpdXM6IDBweDtcblxuLy8gVHJhbnNpdGlvblxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4kZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb246IGxpbmVhcjtcbiRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXk6IDA7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbWFyeSBCcmVhayBQb2ludHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBUaGVzZSBzaG91bGQgYmUgdXNlZCB3aXRoIHRoZSBicCAobWF4LXdpZHRoLCB4eCkgbWl4aW5cbi8vIHdoZXJlIGEgbWluLXdpZHRoIGlzIHVzZWQsIHJlbWVtYmVyIHRvICsxIHRvIGJyZWFrIGNvcnJlY3RseS5cbi8vIElmIHRoZXNlIGFyZSBjaGFuZ2VkLCB0aGV5IG11c3QgYWxzbyBiZSB1cGRhdGVkOlxuLy8gICAgIHNraW4vZnJvbnRlbmQvdG90b2thZWxvL2RlZmF1bHQvanMvYXBwLmpzXG4vLyAgICAgYXBwL2NvZGUvbG9jYWwvVG90b2thZWxvL1Nwb2tlL0hlbHBlci9EYXRhLnBocFxuXG4kYnAteHNtYWxsOiAzNTlweDtcbiRicC1zbWFsbDogNTk5cHg7XG4kYnAtbWVkaXVtOiA3NzBweDtcbiRicC1sYXJnZTogOTc5cHg7XG4kYnAteGxhcmdlOiAxMTk5cHg7XG5cbiR0ay1icC10aW55LW1heDogJGJwLXhzbWFsbDtcbiR0ay1icC1tb2JpbGUtbWluOiAkYnAteHNtYWxsICsgMTtcbiR0ay1icC1tb2JpbGUtbWF4OiAkYnAtc21hbGw7XG4kdGstYnAtdGFibGV0LW1pbjogJGJwLXNtYWxsICsgMTtcbiR0ay1icC10YWJsZXQtbWF4OiAkYnAtbGFyZ2U7XG4kdGstYnAtZGVza3RvcC1taW46ICRicC1sYXJnZSArIDE7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTcGFjaW5nXG5cbiRnYXA6IDEwcHg7XG5cbiR0cmltOiAzMHB4O1xuLy8gVGhpcyB3aWxsIGdldCBhcHBsaWVkIG9uIHZpZXdwb3J0cyBzbWFsbGVyIHRoYW4gNDgwcHhcbiR0cmltLXNtYWxsOiAxNXB4O1xuXG4vLyBQYWRkaW5nIHRoYXQgd2lsbCBnZXQgYXBwbGllZCB0byBjb250ZW50IGFyZWFzXG4kYm94LXNwYWNpbmctbGFyZ2U6IDIwcHg7XG5cbi8vIFN0YW5kYXJkIHBhZGRpbmcgYXJvdW5kIGJveCBlbGVtZW50cyBzdWNoIGFzIGJhbm5lciBtZXNzYWdlcywgZXRjXG4kYm94LXNwYWNpbmc6IDEwcHg7XG5cbi8vIFN0YW5kYXJkIHNwYWNpbmcgYmV0d2VlbiBlbGVtZW50cyB3aXRoaW4gYSBib3gsIHN1Y2ggYXMgXCJBZGQgdG8gY2FydFwiLCBcIlByaWNlIGJveFwiLCBldGNcbiRlbGVtZW50LXNwYWNpbmc6IDdweDtcblxuLy8gRGltZW5zaW9uc1xuXG4kbWF4LWNvbnRlbnQtd2lkdGg6IDEyMDBweDtcbiRtYXgtY29udGFpbmVyLXdpZHRoOiBpbmhlcml0OyAvLyAkdHJpbSArICRtYXgtY29udGVudC13aWR0aCArICR0cmltO1xuJG1heC1zdGQtZm9ybWF0dGVkLXdpZHRoOiA1MGVtO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJyYW5kIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFVzdWFsbHkgbm90IHVzZWQgZGlyZWN0bHkgaW4gU2FzcyBwYXJ0aWFscy5cbi8vIE9ubHkgdXNlZCB0byBkZWZpbmUgY29udGV4dC1iYXNlZCBjb2xvciB2YXJzIGluIHRoaXMgZmlsZS5cblxuJGMtYmx1ZTogJHRrLWJsdWU7XG4kYy1ncmVlbjogIzJEOTk1NTtcbiRjLXBpbms6ICNEODUzNzg7XG4kYy1vcmFuZ2U6ICNGMzc5M0I7XG4kYy1yZWQ6ICR0ay1yZWQ7XG4kYy15ZWxsb3c6ICNGRkREMTU7XG4kYy13aGl0ZTogI0ZBRkFGQTtcbiRjLWJsYWNrOiAkdGstYmxhY2s7XG4kYy1kYXJrLWdyYXk6ICMzMzMzMzM7XG4kYy1ncmF5OiAjNjY2NjY2O1xuJGMtbGlnaHQtZ3JheTogI0VGRUZFRjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYXNlIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRleHRcblxuJGMtdGV4dDogIzExMTtcbiRjLXRleHQtZ3JheTogIzlCOUI5QjtcbiRjLXRleHQtd2hpdGU6ICNFNkU2RTY7XG4vLyBQcmltYXJ5IGZvbnQgY29sb3IgZm9yIGhlYWRpbmdzIGFuZCBvdGhlciBub24tbGluayB0ZXh0XG4kYy10ZXh0LXByaW1hcnk6ICRjLXRleHQ7XG5cbi8vIEludGVyYWN0aW9uXG5cbiRjLWFjdGlvbjogJGMtYmx1ZTtcbiRjLXN0aW11bHVzOiBkYXJrZW4oJGMtYmx1ZSwgMTUlKTtcbiRjLXN1YnRsZTogI0EwQTBBMDtcblxuLy8gTm90aWZpY2F0aW9uc1xuXG4kYy1kYW5nZXI6ICRjLXJlZDtcbiRjLWRhbmdlci1iYWNrZ3JvdW5kOiAkYy1yZWQ7XG5cbiRjLXN1Y2Nlc3M6ICRjLXdoaXRlO1xuJGMtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAkYy1ncmVlbjtcblxuJGMtd2FybjogJGMtd2hpdGU7XG4kYy13YXJuLWJhY2tncm91bmQ6ICRjLXJlZDtcblxuJGMtZGFyazogIzY3NjE1NztcblxuLy8gR2xvYmFsIEVsZW1lbnRzXG5cbiRjLWRpdmlkZXItYm9yZGVyOiAjOWI5YjliO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVsZW1lbnQgQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGMtaDE6ICRjLWJsYWNrO1xuJGMtaDI6ICRjLWJsYWNrO1xuJGMtaDM6ICRjLWJsYWNrO1xuJGMtaDQ6ICRjLWJsYWNrO1xuJGMtaDU6ICRjLWJsYWNrO1xuJGMtaDY6ICRjLWJsYWNrO1xuXG4vLyBCdXR0b25zXG5cbiRjLWJ1dHRvbjogJGMtYmx1ZTtcbiRjLWJ1dHRvbi1ob3ZlcjogZGFya2VuKCRjLWJsdWUsIDUlKTtcbiRjLWJ1dHRvbi1hY3RpdmU6IGRhcmtlbigkYy1ibHVlLCAxMCUpO1xuXG4vLyBTZWNvbmRhcnkgQnV0dG9uc1xuXG4kYy1idXR0b24tc2Vjb25kYXJ5OiAjREREREREO1xuJGMtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcjogZGFya2VuKCNEREREREQsIDUlKTtcbiRjLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlOiBkYXJrZW4oI0RERERERCwgMTAlKTtcblxuJGMtYnV0dG9uLXN1YnRsZTogI0VDRUNFQztcblxuLy8gRm9ybXNcblxuJGMtaW5wdXQtYm9yZGVyOiAkYy10ZXh0O1xuJGMtaW5wdXQtYm9yZGVyLWZvY3VzOiAkYy1ibHVlO1xuXG4kYy1pbnB1dC1wbGFjZWhvbGRlcjogJGMtdGV4dC1ncmF5O1xuJGMtaW5wdXQtdGV4dDogJGMtdGV4dDtcblxuJGMtZmllbGRzZXQtYm9yZGVyOiAjQ0NDQ0NDO1xuJGMtZmllbGRzZXQtYm9yZGVyLWxpZ2h0OiAjRURFREVEO1xuXG4vLyBMaW5rXG4kYy1saW5rOiAkYy1hY3Rpb247XG4kYy1saW5rLWhvdmVyOiBkYXJrZW4oJGMtYWN0aW9uLCA1JSk7XG4kYy1saW5rLWZvY3VzOiAkYy1hY3Rpb247XG4kYy1saW5rLWFjdGl2ZTogZGFya2VuKCRjLWFjdGlvbiwgKDUlIC8gMikpO1xuXG4vLyBNb2R1bGUgKGdlbmVyaWMpXG5cbiRjLW1vZHVsZS1iYWNrZ3JvdW5kOiAjRjRGNEY0O1xuJGMtbW9kdWxlLWJhY2tncm91bmQtaG92ZXI6IHNoYWRlKCRjLW1vZHVsZS1iYWNrZ3JvdW5kLCAzJSk7XG4kYy1tb2R1bGUtYmFja2dyb3VuZC1zZWNvbmRhcnk6ICNFQUY4RkY7XG4kYy1tb2R1bGUtYmFja2dyb3VuZC1kYXJrOiAjQUFBQUFBO1xuLy8gVGhpcyBzaG91bGQgYmUgYXBwbGllZCB3aGVuZXZlciB0aGUgYm9yZGVyIGlzIHN1cnJvdW5kaW5nIGEgd2hpdGUgZWxlbWVudCBhbmQvb3IgaXMgZGlyZWN0bHkgc2hvd2luZyBvbiB3aGl0ZS5cbiRjLW1vZHVsZS1ib3JkZXI6ICRjLWJsYWNrO1xuLy8gVGhpcyBzaG91bGQgYmUgYXBwbGllZCB3aGVuZXZlciB0aGUgYm9yZGVyIGlzIHdyYXBwaW5nIGFuIGVsZW1lbnQgd2l0aCAkYy1tb2R1bGUtYmFja2dyb3VuZFxuJGMtbW9kdWxlLWJvcmRlci1saWdodDogI0VERURFRDtcbiRjLW1vZHVsZS1ib3JkZXItZGFyazogIzc3Nzc3NztcbiRjLW1vZHVsZS1ib3JkZXItaGlnaGxpZ2h0OiAkYy1ibHVlO1xuXG5cbi8vIFRhYmxlXG5cbiRjLXRhYmxlLWJhY2tncm91bmQ6ICNGNEY0RjQ7XG4kYy10YWJsZS1ib3JkZXI6ICNDMEMwQzA7XG5cbiRjLXRhYmxlLXplYnJhLW9kZDogI0Y4RjdGNTtcbiRjLXRhYmxlLXplYnJhLWV2ZW46ICNFRUVERUQ7XG5cbi8vIFRhYnNcblxuJGMtdGFicy1iYWNrZ3JvdW5kOiAjRjBGMEYwO1xuXG4vLyBFbWFpbFxuJGMtZW1haWwtYmFja2dyb3VuZDogI0VCRUJFQjtcbiRjLWVtYWlsLWJhY2tncm91bmQtc2Vjb25kYXJ5OiAjRTFGMEY4O1xuJGMtZW1haWwtYm9yZGVyOiAjQzNDRUQ0O1xuJGMtZW1haWwtYWN0aW9uOiAjMzY5NkMyO1xuJGMtZW1haWwtY2VsbDogI0YxRjFGMTtcbiRjLWVtYWlsLWhpZ2hsaWdodGVkLWJhY2tncm91bmQ6ICNGRkZERDk7XG4kYy1lbWFpbC1oaWdobGlnaHRlZC1ib3JkZXI6ICNGRkY3NEM7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEdvb2dsZSBXZWIgRm9udCBzdHlsZXNoZWV0IGlzIGluY2x1ZGVkIHZpYSBsYXlvdXQgWE1MXG5cbi8vIEZvbnQgU3RhY2tzXG5cbiRmLXN0YWNrLXNhbnM6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGYtc3RhY2stc2VyaWY6IGFremlkZW56LWdyb3Rlc2ssIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGYtc3RhY2stc3BlY2lhbDogYWt6aWRlbnotZ3JvdGVzaywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRmLXN0YWNrLWRlZmF1bHQ6ICRmLXN0YWNrLXNhbnM7XG5cbi8vIEZvbnQgU2l6ZXNcblxuJGYtc2l6ZS14eGw6IDEycHg7XG4kZi1zaXplLXhsOiAxMnB4O1xuJGYtc2l6ZS1sOiAxMnB4O1xuXG4kZi1zaXplOiAxMnB4O1xuXG4kZi1zaXplLXM6IDEycHg7XG4kZi1zaXplLXhzOiAxMnB4O1xuJGYtc2l6ZS14eHM6IDEycHg7XG5cbi8vIEJhc2UgTWVhc3VyZXNcblxuJGItbGluZS1oZWlnaHQ6IDE0cHg7XG4kYi1tYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRvdG9rYWVsb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0ay1uYXYtZHJhd2VyLXdpZHRoOiA0MDBweDtcbiR0ay1uYXYtZHJhd2VyLW1heC13aWR0aDogODB2dztcblxuJHRrLXNwYWNlcjogMTZweDtcbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiAtIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGhpcyBtaXhpbiBpcyBpbnRlbmRlZCB0byBiZSBhcHBsaWVkIHRvIGFuIDphZnRlciBwc2V1ZG8tY2xhc3MuIEV4YW1wbGU6XG4vLyAgJjphZnRlciB7XG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gIH1cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBCcmVha3BvaW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1xLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG4kbXEtZml4ZWQtdmFsdWU6IDEwMjRweCAhZGVmYXVsdDtcblxuQG1peGluIGJwKCRmZWF0dXJlLCAkdmFsdWUpIHtcbiAgICAvLyBTZXQgZ2xvYmFsIGRldmljZSBwYXJhbVxuICAgICRtZWRpYTogb25seSBzY3JlZW47XG5cbiAgICAvLyBNZWRpYSBxdWVyaWVzIHN1cHBvcnRlZFxuICAgIEBpZiAkbXEtc3VwcG9ydCA9PSB0cnVlIHtcblxuICAgICAgICBAbWVkaWEgI3skbWVkaWF9IGFuZCAoJGZlYXR1cmU6ICR2YWx1ZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZWRpYSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWRcbiAgICB9IEBlbHNlIHtcblxuICAgICAgICBAaWYgJGZlYXR1cmUgPT0gJ21pbi13aWR0aCcge1xuICAgICAgICAgICAgQGlmICR2YWx1ZSA8PSAkbXEtZml4ZWQtdmFsdWUge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIGlmICRmZWF0dXJlID09ICdtYXgtd2lkdGgnIHtcbiAgICAgICAgICAgIEBpZiAkdmFsdWUgPj0gJG1xLWZpeGVkLXZhbHVlIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gTm90IFNlbGVjdGFibGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gbm90LXNlbGVjdGFibGUge1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbkBtaXhpbiB0YWJzKCkge1xuICAgIC50b2dnbGUtdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBub3Qtc2VsZWN0YWJsZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdHJpbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaS5jdXJyZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkuY3VycmVudCBzcGFuLFxuICAgICAgICBsaTpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiBkdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IGRkLmN1cnJlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBhY2NvcmRpb25EdEJhc2UoJGFycm93LWRpcmVjdGlvbjogJ2Rvd24nLCAkYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyKSB7XG4gICAgQGluY2x1ZGUgaDQ7XG4gICAgQGluY2x1ZGUgbm90LXNlbGVjdGFibGU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZzogN3B4IDEwcHggN3B4IDI0cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKCN7JGFycm93LWRpcmVjdGlvbn0sIDRweCwgJGMtYWN0aW9uKTtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbn1cblxuQG1peGluIGFjY29yZGlvbigpIHtcbiAgICAudG9nZ2xlLXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gZGwge1xuICAgICAgICA+IGR0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbkR0QmFzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYWNjb3JkaW9uQ29sbGFwc2UoKSB7XG4gICAgPiBkbCB7XG4gICAgICAgID4gZHQge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gZGQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWNjb3JkaW9uLW9wZW4ge1xuICAgICAgICA+IGRsIHtcbiAgICAgICAgICAgID4gZHQge1xuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShkb3duLCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGRkLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gVHJpYW5nbGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbjogdXAsICRzaXplOiA1cHgsICRjb2xvcjogIzAwMDAwMCkge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBJbWFnZSBSZXBsYWNlbWVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGh0dHA6Ly93d3cuemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudC9cbi8vIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9hbm90aGVyLWNzcy1pbWFnZS1yZXBsYWNlbWVudC10ZWNobmlxdWUvXG4vLyBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvMTAwNSNpc3N1ZWNvbW1lbnQtNDk0NzcwMlxuXG5AbWl4aW4gaW1hZ2UtcmVwbGFjZW1lbnQge1xuICAgIC8vIE5vdGU6IHRoaXMgdGVjaG5pcXVlIGhhcyBpc3N1ZXMgb24gQW5kcm9pZCAzLnhcbiAgICAvLyBBbiBhbHRlcm5hdGl2ZSB0aGF0IHJlcXVpcmVzIHRoZSA6YmVmb3JlIGdlbmVyYXRlZCBjb250ZW50IHdhcyBhZGRlZCB0byBINUJQXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9jc3MvbWFpbi5jc3NcblxuICAgIC8vY29sb3I6dHJhbnNwYXJlbnQ7IGZvbnQ6MC8wIGE7IHRleHQtc2hhZG93Om5vbmU7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblxuICAgIC8vIFRoZSBzaW1wbGVzdCBvcHRpb24gcmVtYWlucyB1c2luZyB0ZXh0LWluZGVudDotOTk5OXB4IGRlc3BpdGUgdGhlIHBlcmZvcm1hbmNlIGRyYXdiYWNrXG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8vIFVuZG8gdGhlIHJlcGxhY2VtZW50IGZvciBjaGlsZCBlbGVtZW50c1xuXG5AbWl4aW4gaW1hZ2UtcmVwbGFjZW1lbnQtb3ZlcnJpZGUge1xuICAgIHRleHQtaW5kZW50OiAwO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gSWYtUmVzb2x1dGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEZyb20gaHR0cDovL2Jsb2cuMTRpc2xhbmRzLmNvbS9wb3N0LzM3MjU5NjAzMjQ2L3Nhc3MtcmVzb2x1dGlvbi1taXhpblxuXG5AbWl4aW4gaWYtbWluLXJlc29sdXRpb24oJGRwcHgpIHtcbiAgICBAaW5jbHVkZSBpZi1yZXNvbHV0aW9uKG1pbiwgJGRwcHgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gaWYtbWF4LXJlc29sdXRpb24oJGRwcHgpIHtcbiAgICBAaW5jbHVkZSBpZi1yZXNvbHV0aW9uKG1heCwgJGRwcHgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gaWYtcmVzb2x1dGlvbigkcHJlZml4LCAkZHBweCkge1xuICAgIC8vIDFweCA9IDk2ZHBpXG4gICAgJGRwaTogJGRwcHggKiA5NjtcbiAgICBAbWVkaWFcbiAgICAoLXdlYmtpdC0jeyRwcmVmaXh9LWRldmljZS1waXhlbC1yYXRpbzogI3skZHBweH0pLFxuICAgICggICAjeyRwcmVmaXh9LS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRkcHB4fSksXG4gICAgKCAgICAgLW8tI3skcHJlZml4fS1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JGRwcHgqMn0vMiksXG4gICAgKCAgICAgICAgI3skcHJlZml4fS1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JGRwcHh9KSxcbiAgICAoICAgICAgICAgICAgICAgICN7JHByZWZpeH0tcmVzb2x1dGlvbjogI3skZHBpfWRwaSksXG4gICAgKCAgICAgICAgICAgICAgICAjeyRwcmVmaXh9LXJlc29sdXRpb246ICN7JGRwcHh9ZHBweCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFVzYWdlIGV4YW1wbGU6XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLy8gUmVuZGVycyBvbiBzY3JlZW5zIHdpdGggPj0gMiByZXNvbHV0aW9uXG4vL0BpbmNsdWRlIGlmLW1pbi1yZXNvbHV0aW9uICgyKSB7XG4vLyAgICBkaXYgeyBjb2xvcjojMDAwOyB9XG4vL31cbi8vXG4vLy8vIFJlbmRlcnMgb24gc2NyZWVucyB3aXRoID49IDEuNSByZXNvbHV0aW9uXG4vL0BpbmNsdWRlIGlmLW1pbi1yZXNvbHV0aW9uICgxLjUpIHtcbi8vICAgIGRpdiB7IGNvbG9yOiMwMDA7IH1cbi8vfVxuLy9cbi8vLy8gUmVuZGVycyBvbiBzY3JlZW5zIHdpdGggPD0gMS41IHJlc29sdXRpb25cbi8vQGluY2x1ZGUgaWYtbWF4LXJlc29sdXRpb24gKDEuNSkge1xuLy8gICAgZGl2IHsgY29sb3I6IzAwMDsgfVxuLy99XG4vL1xuLy8vLyBSZW5kZXJzIG9uIHNjcmVlbnMgd2l0aCA8PSAyIHJlc29sdXRpb25cbi8vQGluY2x1ZGUgaWYtbWF4LXJlc29sdXRpb24gKDIpIHtcbi8vICAgIGRpdiB7IGNvbG9yOiMwMDA7IH1cbi8vfVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogRk9STVMgLSBDT01NT05cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEZpZWxkc2V0c1xuICovXG5cbi5maWVsZHNldCB7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cbiAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbn1cblxuLmZpZWxkc2V0ICsgLmZpZWxkc2V0IHtcbiAgICBtYXJnaW4tdG9wOiAoJGdhcCAvIDIpO1xufVxuXG5mb3JtIC5sZWdlbmQge1xuICAgIEBpbmNsdWRlIGgzO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXQgQm94XG4gKi9cblxuLmlucHV0LWJveCB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG5cbmxpLmNlbnRpbmVsLWxvZ29zIGRpdi5pbnB1dC1ib3ggIHtcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuXG5cbi8qIEZvciBhZGphY2VudCBzZWxlY3QgaW5wdXRzLiAqL1xuLyogRXhhbXBsZTogY3JlZGl0IGNhcmQgZXhwaXJhdGlvbiBtb250aCBhbmQgeWVhci4gKi9cbi5pbnB1dC1ib3ggLnYtZml4IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIExhYmVsc1xuICovXG5cbmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBAaW5jbHVkZSBub3Qtc2VsZWN0YWJsZTtcbn1cblxubGFiZWwucmVxdWlyZWQ6YWZ0ZXIsXG5zcGFuLnJlcXVpcmVkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnIConO1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG59XG5cbmxhYmVsLnJlcXVpcmVkIGVtLFxuc3Bhbi5yZXF1aXJlZCBlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSGludHNcbiAqL1xuXG4uaW5wdXQtaGludCB7XG4gICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlbGVjdFxuICovXG5cbnNlbGVjdCB7XG4vLyAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQ0NDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDEwcHg7XG5cbiAgICAvLyBTZWxlY3QgY2hldnJvblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCRUFBQUFMQ0FZQUFBQ1pJR1lIQUFBQUFYTlNSMElBcnM0YzZRQUFBQWx3U0ZsekFBQUxFd0FBQ3hNQkFKcWNHQUFBQkNKcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWxoTlVDQkRiM0psSURVdU5DNHdJajRLSUNBZ1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZkR2xtWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTBhV1ptTHpFdU1DOGlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPbVY0YVdZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZaWGhwWmk4eExqQXZJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenBrWXowaWFIUjBjRG92TDNCMWNtd3ViM0puTDJSakwyVnNaVzFsYm5Sekx6RXVNUzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMeUkrQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1PbEpsYzI5c2RYUnBiMjVWYm1sMFBqSThMM1JwWm1ZNlVtVnpiMngxZEdsdmJsVnVhWFErQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1Pa052YlhCeVpYTnphVzl1UGpVOEwzUnBabVk2UTI5dGNISmxjM05wYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xoU1pYTnZiSFYwYVc5dVBqY3lQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajR4UEM5MGFXWm1Pazl5YVdWdWRHRjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0M01qd3ZkR2xtWmpwWlVtVnpiMngxZEdsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlVHbDRaV3hZUkdsdFpXNXphVzl1UGpFM1BDOWxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZRMjlzYjNKVGNHRmpaVDR4UEM5bGVHbG1Pa052Ykc5eVUzQmhZMlUrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNHhNVHd2WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K0NpQWdJQ0FnSUNBZ0lEeGtZenB6ZFdKcVpXTjBQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1Pa0poWnk4K0NpQWdJQ0FnSUNBZ0lEd3ZaR002YzNWaWFtVmpkRDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRjdE1UQXRNekJVTURFNk1UQTZOakk4TDNodGNEcE5iMlJwWm5sRVlYUmxQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwYjNKVWIyOXNQbEJwZUdWc2JXRjBiM0lnTXk0MlBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdvOVdwdGVBQUFBMDBsRVFWUW9GWldQeXc0QlFSQkZaMHM4UXNJdldWdjRENUVRR3l3a1ZoWSt5dGZZZUNkMm5OTzZFNFB4cU9UTTdhcTZWZE9kWmZlb0lUMm94L3liNk5QdlhJZ0czeVZzWVE0bCtCVDI5ZWwzenZtc0MyZTRScDJpRlhnWDF1MC8rcDNQbXJDQUU2UkZFODdQVHpPM25oYm9kODc1RUdXK0ZwTGh3SGtHNGFwUnphMm5IK2wzTGhkZWRRVVgwT2lieDlDS2FtN2R2cjZpSjRmTkF3eEhjR0FQNjZqbTF1Mi8zSUJhTHFwa0kzQ0Jnd2x6Ni9aL0NxL2FoeDI0UkRVdmZBSzl0K0hBRURaUi8xNlF0clk1ZEVBdGpCdXBRVGhuRms0Ylh3QUFBQUJKUlU1RXJrSmdnZz09Jyk7XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuc2VsZWN0ICsgc2VsZWN0IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgICB3aWR0aDogMjcwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtaW5wdXQtYm9yZGVyO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVGV4dGFyZWFcbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXRzXG4gKi9cblxuLmlucHV0LXRleHQge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlci1mb2N1cztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbi5pbnB1dC10ZXh0LnZhbGlkYXRpb24tZmFpbGVkIHtcbiAgICBib3JkZXItY29sb3I6ICRjLWRhbmdlcjtcbn1cblxuLy8gQ29sb3IgdGhlIG91dGxpbmUgZm9yIGZvY3VzZWQgZmllbGRzIGluIENocm9tZSwgb3IgZWxzZSB0aGUgZGVmYXVsdCBibHVlIGRyb3ducyBvdXQgdGhlIDFweCByZWQgYm9yZGVyXG4uaW5wdXQtdGV4dC52YWxpZGF0aW9uLWZhaWxlZDpmb2N1cyB7XG4gICAgb3V0bGluZS1jb2xvcjogdGludCgkYy1kYW5nZXIsIDUwJSk7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogMCA4cHg7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgICB3aWR0aDogKDIzMHB4ICsgMTM1cHgpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogT25seSBzaG93IG9uIGlQaG9uZXMgKG5vdCBpUGFkcyBvciBhbnkgb3RoZXIgZGV2aWNlKSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogNTY4cHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gICAgaW5wdXRbdHlwZT1lbWFpbF0sXG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdLFxuICAgIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgICBpbnB1dFt0eXBlPXRlbF0sXG4gICAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IC8qIFByZXZlbnQgZnJvbSB6b29taW5nIG9uIGZvY3VzICovXG4gICAgfVxufVxuXG4uaWU4IC5pbnB1dC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIElucHV0cyAtIFF1YW50aXR5XG4gKi9cblxuaW5wdXRbdHlwZT1udW1iZXJdLnF0eSxcbmlucHV0W3R5cGU9dGV4dF0ucXR5IHtcbiAgICB3aWR0aDogM2VtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjLWlucHV0LXBsYWNlaG9sZGVyO1xufVxuXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGMtaW5wdXQtcGxhY2Vob2xkZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENoZWNrYm94IEFuZCBSYWRpb1xuICovXG5cbi5jaGVja2JveCxcbi5yYWRpbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jaGVja2JveCArIGxhYmVsLFxuLnJhZGlvICsgbGFiZWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogODUlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDhweDtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBWYWxpZGF0aW9uXG4gKi9cblxucC5yZXF1aXJlZCxcbi52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEZvcm0gTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvcm0tbGlzdCB7XG5cbiAgICAmID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgd2lkdGg6ICgyMzBweCArIDEzNXB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pbnB1dC1yYW5nZSAuaW5wdXQtdGV4dCB7XG4gICAgICAgIHdpZHRoOiA3NHB4O1xuICAgIH1cblxuICAgIC5maWVsZCxcbiAgICAud2lkZSxcbiAgICAuY29udHJvbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICB9XG59XG5cbi8qIFR1cm4gdGhlIGxhYmVsIG9mIGNvbnRyb2xzIChyYWRpby9jaGVja2JveCkgaW50byBhIGJ1dHRvbiBzdHlsZSB0aGF0IHdyYXBzIHRoZSBpbnB1dCAqL1xuLmZvcm0tbGlzdCAuY29udHJvbCxcbi5zcC1tZXRob2RzIGR0LFxuI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkLFxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuXG4gICAgZGl2LmlucHV0LWJveCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQucmFkaW8sXG4gICAgaW5wdXQuY2hlY2tib3gge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB0b3VjaC1idXR0b247XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4IDZweCA0MHB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBXaGVuIGEgbGFiZWwgaXMgbmV4dCB0byBhbiBpbnB1dCB0aGF0IGlzIHNldCB0byBub3QgZGlzcGxheSwgd2Ugc2hvdWxkIHN0eWxlIHRoZSBsYWJlbCBpbiBhIG5vbi1jbGlja2FibGUgc3RhdGUgKi9cbiAgICAubm8tZGlzcGxheSArIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxhYmVsLFxuLmNvbDItc2V0IC5mb3JtLWxpc3QgLmNvbnRyb2wgbGFiZWwge1xuICAgIG1pbi13aWR0aDogaW5oZXJpdDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1saXN0IC5jb250cm9sLnJlbWVtYmVyLW1lLWJveCB7XG4gICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtaW4td2lkdGg6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4uZm9ybS1saXN0IC5jb250cm9sIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIH1cbiAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG5mb3JtIHtcbiAgICAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYWJsZSBIZWxwZXJzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGlkZS10aCB7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIERhdGEgVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kYXRhLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmRhdGEtdGFibGUgdGQsXG4uZGF0YS10YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZGF0YS10YWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kYXRhLXRhYmxlIHRoZWFkIHRoLFxuLmRhdGEtdGFibGUgdGJvZHkgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG59XG5cbi5kYXRhLXRhYmxlIHRib2R5IHRkLFxuLmRhdGEtdGFibGUgdGZvb3QgdGQge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbn1cblxuLmRhdGEtdGFibGUgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZGF0YS10YWJsZSB0Ym9keSB0ZCAuaXRlbS1vcHRpb25zIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgZHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHZW5lcmljIEluZm8gVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5pbmZvLWJveCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtdGFibGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6IDEycHggMTVweDtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbn1cblxuLmluZm8tdGFibGUgdGgsXG4uaW5mby10YWJsZSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmluZm8tdGFibGUgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDRweCAyMHB4IDRweCAwO1xufVxuXG4uaW5mby10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogNHB4IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFplYnJhLVN0cmlwZSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnplYnJhLXRhYmxlIHtcbiAgICB0cjpmaXJzdC1jaGlsZCxcbiAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtdGFibGUtYm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIHRyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGFibGUtemVicmEtZXZlbjtcbiAgICB9XG5cbiAgICB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRhYmxlLXplYnJhLW9kZDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExpbmVhcml6ZSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIGxpbmVhcml6ZS10YWJsZSB7XG5cbiAgICB0cixcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHRoZWFkIHRoIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG5cbiAgICB0aGVhZCB0aC5saW4taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGhlYWQgdGg6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0Ym9keSB0ciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggNHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQubGluLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQgaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1yd2QtbGFiZWwpIFwiOlwiO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgdGZvb3QgdHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgdGZvb3QgdHI6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIHRmb290IHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIHRmb290IHRkLmxpbi1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0Zm9vdCB0ZDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgzLzUpO1xuICAgIH1cblxuICAgIHRmb290IHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIvNSk7XG4gICAgfVxuXG4gICAgLyogSGVscGVycyAqL1xuXG4gICAgLmxpbmVhcml6ZS1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGluZWFyaXplLXVucGFkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubGluZWFyaXplLXNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5saW5lYXJpemUtdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBsaW5lYXJpemUtdGFibGU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2Uge1xuICAgICAgICBAaW5jbHVkZSBsaW5lYXJpemUtdGFibGU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1zbWFsbCArIDEpIHtcbiAgICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi5oZWFkZXItc2tpcC1uYXYge1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBsZWZ0OiAtOTk5ZW07XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMjAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2xvYmFsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sLFxuYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ud3JhcHBlciB7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi53cmFwcGVyOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtY29udGFpbmVyLXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAkdHJpbTtcbiAgICB9XG5cbiAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lcixcbi5wYWdlLWhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExhbmd1YWdlIHN3aXRjaGVyICsgd2VsY29tZSBtZXNzYWdlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAuaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAuZm9ybS1sYW5ndWFnZSxcbiAgICAuY3VycmVuY3ktc3dpdGNoZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgIH1cblxuICAgIC53ZWxjb21lLW1zZyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogMzUlO1xuICAgIHBhZGRpbmc6IDEzcHggMTVweCAxMHB4IDEwcHg7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIC8vIFNldHRpbmcgdGhpcyBmb250LXNpemUgd2lsbCBjYXVzaW5nIHpvb21pbmcgb24gaU9zIGRldmljZXMsIGJ1dCBpdCBrZWVwcyBoZWFkZXIgbW9yZSB0aWR5XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCxcbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCBhIHtcbiAgICBjb2xvcjogJGMtdGV4dC13aGl0ZTtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMb2dvXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRnYXA7XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubG9nbzpob3ZlciB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLmxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuXG4gICAgICAgIC5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5sYXJnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTa2lwIExpbmtzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1saW5rcyB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5za2lwLWxpbmtzIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIC0gTGlua1xuICovXG5cbi5za2lwLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYS5za2lwLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNraXAtbGluazpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuc2tpcC1saW5rIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VERURFRDtcbiAgICB9XG5cbiAgICAuc2tpcC1saW5rOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDUwMHB4KSB7XG5cbiAgICAuc2tpcC1saW5rIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWN0aXZlXG4gKi9cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLnNraXAtbGluay5za2lwLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFREVERUQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5za2lwLWxpbmsuc2tpcC1hY3RpdmUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBJY29uXG4gKi9cblxuLnNraXAtbGluayAuaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc2tpcC1saW5rLnNraXAtbmF2IC5pY29uLFxuLnNraXAtbGluay5za2lwLWNhcnQ6bm90KC5uby1jb3VudCkgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDUwMHB4KSB7XG5cbiAgICAuc2tpcC1saW5rIC5pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgTGluayAtIExhYmVsXG4gKi9cblxuLnNraXAtbGluayAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDUwMHB4KSB7XG5cbiAgICAuc2tpcC1saW5rIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2tpcC1jb250ZW50LnNraXAtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjRURFREVEO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHbG9iYWwgSGVhZGVyIE5hdmlnYXRpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIExpbmtcblxuICAgICNoZWFkZXItYWNjb3VudCBsaSBhLFxuICAgIC5uYXYtcHJpbWFyeSBhLmxldmVsMCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDI1cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgI2hlYWRlci1hY2NvdW50IGxpOmxhc3QtY2hpbGQgYSxcbiAgICAubmF2LXByaW1hcnkgbGkubGV2ZWwwOmxhc3QtY2hpbGQgYS5sZXZlbDAge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5uby10b3VjaCAjaGVhZGVyLWFjY291bnQgYTpob3ZlcixcbiAgICAubm8tdG91Y2ggLm5hdi1wcmltYXJ5IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuXG4uYWNjb3VudC1jYXJ0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MHB4O1xuICAgIHJpZ2h0OjBweDtcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmF2IC0gU2tpcCBMaW5rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1uYXYge1xuICAgIHdpZHRoOiA0MCU7XG5cbiAgICAmOm5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4KzRweCAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNraXAtbmF2IC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uc2tpcC1uYXYgLmljb24ge1xuICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA1MDBweCkge1xuXG4gICAgLnNraXAtbmF2IHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5za2lwLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiAtIFNraXAgQ29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAjaGVhZGVyLW5hdiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIH1cblxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgI2hlYWRlci1uYXYge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgLyogRm9yY2UgdmlzaWJpbGl0eSAqL1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmF2IFByaW1hcnlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAubmF2LXByaW1hcnkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2VuZXJhbCBOYXZpZ2F0aW9uIFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG5hdi1wcmltYXJ5LWhlaWdodDogMzBweDtcblxuLm5hdi1wcmltYXJ5IHtcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRuYXYtcHJpbWFyeS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGxpLmxldmVsMSBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgfVxufVxuXG4vLyBTaG93IHN1Yi1tZW51cyB3aGVuIEpTIGFkZHMgdGhlIGFwcHJvcHJpYXRlIGNsYXNzZXNcbi5uYXYtcHJpbWFyeSAubWVudS1hY3RpdmUgPiB1bC5sZXZlbDAsXG4ubmF2LXByaW1hcnkgbGkubGV2ZWwwIGxpLnN1Yi1tZW51LWFjdGl2ZSA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1wcmltYXJ5IGxpLmxldmVsMCA+IGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNtYWxsIFZpZXdwb3J0cyAtIEFjY29yZGlvbiBTdHlsZSBNZW51XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5uYXYtcHJpbWFyeSB7XG5cbiAgICAgICAgLy8gSW5jcmVhc2UgY2xpY2thYmxlIGFyZWEgb2YgYW5jaG9ycyBmb3Igc21hbGwgdmlld3BvcnRzXG4gICAgICAgIGEubGV2ZWwwLFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2LXByaW1hcnktaGVpZ2h0ICsgNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGlkZSBhbGwgc3ViLW1lbnVzXG4gICAgICAgIGxpLmxldmVsMCB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5kZW50IHN1Yi1tZW51c1xuICAgICAgICBsaS5sZXZlbDAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLmxldmVsMSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA1cHgsICNjY2MpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWVudSBhY3RpdmUgc3RhdGVzXG4gICAgICAgIGxpLnBhcmVudC5zdWItbWVudS1hY3RpdmUgPiBhOmFmdGVyLFxuICAgICAgICBsaS5wYXJlbnQubWVudS1hY3RpdmUgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGRvd24sIDVweCwgI2NjYyk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5tZW51LWFjdGl2ZSA+IGEsXG4gICAgICAgIGxpLnN1Yi1tZW51LWFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGFyZ2UgVmlld3BvcnRzIC0gRHJvcGRvd24gTWVudVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLm5hdi1wcmltYXJ5IHtcblxuICAgICAgICBhLmxldmVsMCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5sZXZlbDAsXG4gICAgICAgIGEubGV2ZWwwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyLFxuICAgICAgICBsaTpob3ZlciA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWFjdGl2ZSB7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgMSsgZHJvcC1kb3duIG1lbnVzICovXG4gICAgICAgIGxpLmxldmVsMCB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogJG5hdi1wcmltYXJ5LWhlaWdodDsgLyogSGVpZ2h0IG9mIFwiLm5hdi1wcmltYXJ5IGEubGV2ZWwwXCIgKi9cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvKiBIaWRlIHVudGlsIGRpc3BsYXllZC4gKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIExldmVsIDIrICovXG4gICAgICAgIGxpLmxldmVsMSB1bCB7XG4gICAgICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQ2xhc3MgZm9yIGpzIHRvIGFkZCBicmllZmx5IHRvIGV2YWx1YXRlIGVsZW1lbnQgcG9zaXRpb25pbmcuICovXG4gICAgICAgIGxpLmxldmVsMCB1bC5sZXZlbDAucG9zaXRpb24tdGVzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENvcnJlY3QgbWVudXMgdGhhdCB3aWxsIGhhbmcgb2ZmIHRoZSBwYWdlIChjbGFzcyBhZGRlZCBieSBqcykgKi9cbiAgICAgICAgbGkubGV2ZWwwIHVsLmxldmVsMC5zcGlsbCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgIC8vIFN1Yi1tZW51IGRyb3AgZG93biB0byB0aGUgbGVmdFxuICAgICAgICAgICAgbGkubGV2ZWwxIHVsIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIExldmVsIDErICovXG4gICAgICAgIGxpLmxldmVsMCBsaS5wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgI2NjYyk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LXByaW1hcnkgbGkubWVudS1hY3RpdmUge1xuICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBNZW51XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIG1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNGQkZCRkI7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGMtbW9kdWxlLWJvcmRlcjtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBMaW5rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1zZWFyY2gge1xuXG4gICAgJjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MCs0cHggKC0xNTBweCArICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgtMTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLnNraXAtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jaGVhZGVyLXNlYXJjaCB7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgICNoZWFkZXItc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIEZvcmNlIHZpc2liaWxpdHlcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCBJbnB1dFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3NlYXJjaF9taW5pX2Zvcm0gLmlucHV0LWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSBsYWJlbCB7XG4gICAgLy9kaXNwbGF5OiBub25lO1xuICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbiNzZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgaW1hZ2UtcmVwbGFjZW1lbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgtMTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSk7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4jc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAtMTVweCArIDJweDtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHggKyAycHg7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlciAtIEFjY291bnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgTGluayAtIEFjY291bnRcbiAqL1xuXG4uc2tpcC1hY2NvdW50IHtcblxuICAgICY6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCs0cHggKC01MHB4ICsgKCR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQvMikgKyAycHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTBweCs0cHggKC01MHB4ICsgKCR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQvMikgKyAycHgpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5za2lwLWFjY291bnQge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5za2lwLWFjY291bnQ6aG92ZXIge1xuICAgIH1cblxuICAgICNoZWFkZXItYWNjb3VudC5za2lwLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICByaWdodDogMTE1cHg7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG5cbiAgICAjaGVhZGVyLWFjY291bnQgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIH1cblxuICAgICNoZWFkZXItYWNjb3VudCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQWNjb3VudCBMaW5rc1xuICovXG5cbiNoZWFkZXItYWNjb3VudCB7XG4gICAgcGFkZGluZzogNXB4IDA7XG59XG5cbiNoZWFkZXItYWNjb3VudCBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6MjNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNoZWFkZXItYWNjb3VudCBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGMtYWN0aW9uO1xufVxuXG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlciAtIENhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgTGluayAtIENhcnRcbiAqL1xuXG4uc2tpcC1jYXJ0IHtcbiAgICAmOm5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggKC0xMDBweCArICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpICsgMXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0wcHggKC0xMDBweCArICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpICsgMXB4KTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAuc2tpcC1jYXJ0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG5cbiAgICAuc2tpcC1jYXJ0OmhvdmVyIHtcbiAgICB9XG5cbiAgICAjaGVhZGVyLWNhcnQuc2tpcC1hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBtZW51O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNraXAgQ2FydCBOb3RpZmllclxuICovXG5cbi5za2lwLWNhcnQgLmNvdW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0b3A6IC02cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGMtYWN0aW9uLCAwLjkpO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xufVxuLnNraXAtbGluay5za2lwLWFjdGl2ZSAuY291bnQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLy8gVXNpbmcgZXh0cmEgLnNraXAtbGluayBzZWxlY3RvciB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eVxuLnNraXAtbGluay5za2lwLWNhcnQgLmNvdW50IHtcbn1cblxuLnNraXAtY2FydC5uby1jb3VudCAuY291bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNDk5cHgpIHtcbiAgICAuc2tpcC1jYXJ0IC5jb3VudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAuc2tpcC1jYXJ0IHtcbiAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb3VudCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2tpcC1jYXJ0IC5jb3VudCxcbiAgICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIC5jb3VudCB7XG4gICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgfVxufVxuXG4uc2tpcC1jYXJ0IC5jb3VudC5lbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWluaSBDYXJ0IC0gRW1wdHlcbiAqL1xuXG4uY2FydC1tZW51IC5lbXB0eSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIE1pbmkgQ2FydCAtIEZ1bGxcbiAqL1xuXG4vKiBBY3Rpb25zICovXG5cbi5jYXJ0LW1lbnUgLmFjdGlvbnMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMTVweDtcbn1cblxuLmNhcnQtbWVudSAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDglO1xufVxuXG4uY2FydC1tZW51IC5hY3Rpb25zIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogNCU7XG59XG5cbi8qIFN1YnRvdGFsICovXG5cbi5jYXJ0LW1lbnUgLnN1YnRvdGFsIHtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLyogTGlzdCAqL1xuXG4ubWluaS1jYXJ0LWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLm1pbmktY2FydC1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogKDE1cHggKyA2MHB4ICsgMTVweCk7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggKDE1cHggKyA2MHB4ICsgMTVweCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG5cbi5taW5pLWNhcnQtbGlzdCAucHJvZHVjdC1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5taW5pLWNhcnQtbGlzdCAucHJvZHVjdC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG59XG5cbi8vLm1pbmktY2FydC1saXN0IC5kZXRhaWxzIHsgfVxuXG4ubWluaS1jYXJ0LWxpc3QgLmhhcy1vcHRpb25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xufVxuXG4vKiBUb28gZnVsbCAtIGFkZGl0aW9uYWwgaXRlbXMgd2lsbCBiZSBzaG93biBpbiBjYXJ0ICovXG4uY2FydC1tZW51IC5sYXN0LWFkZGVkIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbn1cbiIsIi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICB0b3Rva2FlbG9fZGVmYXVsdFxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHZW5lcmFsIFByb2R1Y3QgTGlzdCBTdHlsZXMgKG5vdCBtb2R1bGUtc3BlY2lmaWMpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb2R1Y3QgTGlzdCBHZW5lcmFsXG4gKi9cblxuLmNhdGVnb3J5LXRpdGxlIGgxLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS10aXRsZSBoMSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNhdGVnb3J5LWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYi1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBQcmV2ZW50IGJ1dHRvbiBvdmVybGFwcGluZyB3aGVuIGJ1dHRvbnMgaGF2ZSBsb25nIHRleHQsIHN1Y2ggYXMgbm9uLUVuZ2xpc2ggdHJhbnNsYXRpb25zXG4ucHJvZHVjdHMtbGlzdCAuYWN0aW9uIC5idXR0b24sXG4ucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByb2R1Y3QgR3JpZFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHByb2R1Y3QtY29sdW1uLXNwYWNpbmc6IDIwcHg7XG5cbi5wcm9kdWN0cy1ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0cy1ncmlkOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9kdWN0LWNvbHVtbi1zcGFjaW5nO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgICY6aGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi53aWRnZXQtbmV3LXByb2R1Y3RzIHtcbiAgICAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgfVxufVxuXG4vLyBJZiB0aGUgaGVpZ2h0IG9mIHRoZSAucHJvZHVjdC1pbmZvIGVsZW1lbnQgY2hhbmdlcywgdGhpcyB2YWx1ZSBzaG91bGQgYmUgYWRqdXN0ZWRcbiRwcm9kdWN0c0dyaWRBY3Rpb25IZWlnaHQ6IDg1cHg7XG5cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWluZm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHByb2R1Y3RzR3JpZEFjdGlvbkhlaWdodCArIDEwcHg7XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5hY3Rpb25zIHtcbiAgICBwYWRkaW5nLXRvcDogJGJveC1zcGFjaW5nO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDBweDtcbiAgICBtaW4taGVpZ2h0OiAkcHJvZHVjdHNHcmlkQWN0aW9uSGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5yYXRpbmdzIC5hbW91bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5wcmljZS1ib3gge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLmFkZC10by1saW5rcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qIENvbmZpZzogVHdvIGNvbHVtbnMgKyBmbGV4aWJsZSBndXR0ZXIgKi9cblxuLy8gQ29udGFpbmVyOiA0ODAgLSAoMiAqIDIwIHRyaW0pID0gNDQwXG4vLyBNYXRoOiAoNDQwIC0gKDIwIGd1dHRlcikpIC8gMiBpdGVtcyA9IDIxMFxuXG4ucHJvZHVjdHMtZ3JpZCA+IGxpIHtcbn1cblxuLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQob2RkKSB7XG59XG5cbi5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2Uge1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJvZHVjdCBMaXN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvZHVjdHMtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgxLzMpO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDIvMyk7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGJveC1zcGFjaW5nICogMik7XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnJhdGluZ3Mge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLnJhdGluZy1ib3gsXG4gICAgICAgIC5yYXRpbmctbGlua3Mge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByaWNlLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICB9XG4gICAgLmFjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogJGVsZW1lbnQtc3BhY2luZyAwO1xuICAgIH1cbiAgICAuZGVzYyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpbWFyeSxcbiAgICAuZGVzYyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAucHJvZHVjdC1zZWNvbmRhcnkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC14c21hbGwgKyAxKSB7XG4gICAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4bDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgMTI3OXB4KSB7XG4gICAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgIC5wcm9kdWN0LXByaW1hcnksXG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3Qtc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNjAwcHgpIHtcbiAgICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3Age1xuICAgICAgICAucHJvZHVjdC1wcmltYXJ5LFxuICAgICAgICAucHJvZHVjdC1zZWNvbmRhcnksXG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTWluaSBQcm9kdWN0IExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5taW5pLXByb2R1Y3RzLWxpc3Qge1xuXG4gICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWluLXdpZHRoOiA1MHB4O1xuICAgIH1cbiAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWxseSBjZW50ZXIgcHJvZHVjdCBuYW1lXG4gICAgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICBjbGVhcjogYm90aDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5taW5pLXByb2R1Y3RzLWltYWdlcy1saXN0IHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICBsaS5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA1cHggMTBweCAwO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXRlZ29yeS1pbWFnZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAmOmhpZGRlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMYXllcmVkIE5hdmlnYXRpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlciB7XG4gICAgLy8gV2lsbCBiZSBzaG93biBhdCBzbWFsbGVyIHZpZXdwb3J0c1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uRHRCYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50IHtcbiAgICAvLyBBY2NvcmRpb25zIGFyZSBmdWxseSBleHBhbmRlZCB1bnRpbCBhIHNtYWxsZXIgcmVzb2x1dGlvbi5cbiAgICBAaW5jbHVkZSBhY2NvcmRpb247XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiBkbCBkZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcblxuICAgIG9sID4gbGkgPiBzcGFuLCBvbCA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgb2wgPiBsaSA+IGEgLmNvdW50IHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSsxKSB7XG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5zaWRlYmFyIC5ibG9jay5ibG9jay1sYXllcmVkLW5hdiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gV2UgZG9uJ3Qgd2FudCBcIlNob3AgQnlcIiB0byBzaG93IHdoZW4gdGhlcmUgYXJlIG5vIGZpbHRlcnMgYXBwbGllZCwgYXMgdGhlIFwiRmlsdGVyXCIgbGluayB3aWxsIHN1ZmZpY2VcbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYtLW5vLWZpbHRlcnMgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIHRvcCBwYWRkaW5nIGFuZCByZS1hZGQgaXQgYXMgbWFyZ2luLXRvcCBzbyB0aGF0IHRoZSBtYXJnaW4gd2lsbCBjb2xsYXBzZSB3aXRoIGVsZW1lbnRzIGFib3ZlIGl0XG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbkNvbGxhcHNlO1xuICAgIH1cblxuICAgIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShyaWdodCwgNHB4LCAjRkZGRkZGKTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1idXR0b24taG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGRvd24sIDRweCwgI0ZGRkZGRik7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNuYXJyb3ctYnktbGlzdCxcbiAgICAjbmFycm93LWJ5LWxpc3QyIHtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cblxuICAgIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gYSxcbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICAgIG1hcmdpbjogNXB4O1xuICAgIH1cblxuICAgIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIHRvdWNoLWJ1dHRvbjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmN1cnJlbnRseSB7XG4gICAgLmJsb2NrLXN1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGg0O1xuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICB9XG4gICAgb2wgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb2R1Y3QtdmlldyB7XG4gICAgLnByb2R1Y3QtZXNzZW50aWFsIHtcblxuICAgICAgICAuZXh0cmEtaW5mbyB7XG4gICAgICAgICAgICAucmF0aW5ncyB7XG4gICAgICAgICAgICAgICAgLnJhdGluZy1ib3gsXG4gICAgICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LW5hbWUgLmgxLFxuICAgIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtbmFtZSBoMSB7XG4gICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LW5hbWUgLmgxIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmV4dHJhLWluZm8ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdHJpbS8yO1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWluZm8ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdHJpbS8yO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZXh0cmEtaW5mbyxcbiAgICAgICAgLnByaWNlLWluZm8ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICAucmF0aW5ncyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgLm9sZC1wcmljZSxcbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlLFxuICAgICAgICAgICAgLnJlZ3VsYXItcHJpY2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlZ3VsYXItcHJpY2UgLnByaWNlLFxuICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAgICAgLmZ1bGwtcHJvZHVjdC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG5cbiAgICAgICAgICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3Bhbi53ZWVlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWJveC5tYXAtaW5mbyBhIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAub2xkLXByaWNlIHtcbiAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQtd3JhcHBlcixcbiAgICAuYmxvY2stcmVsYXRlZCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDg1MHB4KSB7XG4gICAgLnByb2R1Y3QtdmlldyB7XG4gICAgICAgIC5wcm9kdWN0LXNob3Age1xuICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgICAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4bDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLnByb2R1Y3QtdmlldyB7XG4gICAgICAgIC5hZGQtdG8tY2FydC13cmFwcGVyIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNob3Age1xuICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgICAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA0MjBweCkge1xuICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAgICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWltZy1ib3gge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC8vIFNpbmNlIHByb2R1Y3QgZGV0YWlsIHBhZ2UgaW1hZ2VzIGFyZSBub3QgY3JvcHBlZCB0byBhIHNwZWNpZmljIGFzcGVjdCByYXRpbywgaW4gb3JkZXIgdG8gbWFrZSB0aGUgaW1hZ2Ugbm90XG4gICAgICAgIC8vIGN1dCBvZmYgb24gdGFsbCBza2lubnkgc2NyZWVucywgd2UgYXJlIHNldHRpbmcgYSBtYXgtaGVpZ2h0IG9uIHRoZSBpbWFnZVxuICAgICAgICBtYXgtaGVpZ2h0OiA3NTBweDtcblxuICAgICAgICAvLyBDZW50ZXJpbmcgdGhlIGltYWdlIGZvciBpbnN0YW5jZXMgd2hlcmUgbWF4LWhlaWdodCBraWNrcyBpblxuICAgICAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIH1cbn1cblxuLy8gT24gc21hbGxlciBkZXZpY2VzLCB3ZSB3YW50IHRvIGZ1cnRoZXIgbGltaXQgdGhlIGhlaWdodCBvZiB0aGUgaW1hZ2UsIHRvIHByZXZlbnQgY3JvcHBpbmdcbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNDUwcHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZ2FsbGVyeS1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsb2FkaW5nT3ZlcmxheSgpO1xufVxuXG4ucHJvZHVjdC1pbWFnZS10aHVtYnMge1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5uby10b3VjaCAucHJvZHVjdC1pbWFnZS10aHVtYnMge1xuICAgIGE6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0LCAxNSUpO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlcixcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQge1xuICAgIHBhZGRpbmctbGVmdDogJHRyaW0vMjtcbn1cblxuLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgcGFkZGluZy1yaWdodDogJHRyaW0vMjtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuLnByb2R1Y3QtaW1nLWJveCxcbi5wcm9kdWN0LWNvbGxhdGVyYWwsXG4ucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuLmJveC1jb2xsYXRlcmFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG59XG5cbi5wcm9kdWN0LXZpZXcge1xuXG4gICAgLmFkZC10by1ib3g6YWZ0ZXIsXG4gICAgLmFkZC10by1jYXJ0OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLmFkZC10by1jYXJ0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgfVxuXG4gICAgLyogU2V0IGEgbWluLWhlaWdodCBzbyB0aGF0IHRoZSBmbG9hdGVkIGVsZW1lbnRzIGJyZWFrIGFwcHJvcHJpYXRlbHkgKi9cbiAgICAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3gsXG4gICAgLmFkZC10by1jYXJ0LWJ1dHRvbnMge1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3gsXG4gICAgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlcixcbiAgICAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uLFxuICAgIC5hZGQtdG8tY2FydC1idXR0b25zIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlcixcbiAgICAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyIC5xdHkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydC1idXR0b25zIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb25zdHJhaW4gd2lkdGggaW4gRmlyZWZveFxuXG4gICAgICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLnBheXBhbC1idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJtbF9idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNzRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgcGFkZGluZzogMHB4IDMwcHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuYWxlcnQtcHJpY2UsXG4gICAgLmFsZXJ0LXN0b2NrIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIHtcbiAgICAgICAgLnBheXBhbC1vciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXlwYWwtbG9nbyxcbiAgICAgICAgLnBheXBhbC1vcixcbiAgICAgICAgLnBheXBhbC1idXR0b24sXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFRoaXMgaXMgdGhlIFwib3JcIiB0aGF0IHNlcGFyYXRlcyB0aGUgXCJBZGQgdG8gQ2FydFwiIGFuZCBcIkFkZCB0byBYXCIgbGlua3MgKi9cbi5hZGQtdG8tYm94IC5vciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWxpbmtzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDJweCA3cHggMnB4IDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICB9XG5cbiAgICBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDBweCA3cHggN3B4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBpbWFnZS1yZXBsYWNlbWVudDtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgICBhLmxpbmstd2lzaGxpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTIyNXB4O1xuICAgIH1cbiAgICBhLmxpbmstY29tcGFyZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjUwcHg7XG4gICAgfVxuICAgIGEubGluay1lbWFpbC1mcmllbmQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggKC0zMjVweCArIDNweCk7XG4gICAgfVxuICAgIGEubGluay1mYWNlYm9vayB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDI1cHg7XG4gICAgfVxuICAgIGEubGluay10d2l0dGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4ICgtMzc1cHggKyAzcHgpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1OTlweCkge1xuICAgIC5hZGQtdG8tYm94IC5hZGQtdG8tbGlua3Mge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBpbWFnZS1yZXBsYWNlbWVudC1vdmVycmlkZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi5jb2xsYXRlcmFsLXRhYnMge1xuICAgIGRkIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJveC1jb2xsYXRlcmFsIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gICAgICAgIEBpbmNsdWRlIHRhYnM7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwge1xuICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb247XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbkNvbGxhcHNlO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4gICAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlcixcbiAgICAucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuICAgIC5wcm9kdWN0LWltZy1ib3gsXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuICAgIC5wcm9kdWN0LWltZy1ib3gsXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCxcbiAgICAucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuICAgIC5ib3gtY29sbGF0ZXJhbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtdmlldyAucmF0aW5ncyB7XG4gICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbiNwcm9kdWN0LWF0dHJpYnV0ZS1zcGVjcy10YWJsZSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXN0ZC1mb3JtYXR0ZWQtd2lkdGg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtdGFibGUtYm9yZGVyO1xuXG4gICAgdGgge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDYXRhbG9nIC0gR3JvdXBlZCBQcm9kdWN0IExpc3RcbiAqL1xuXG4uZ3JvdXBlZC1pdGVtcy10YWJsZS13cmFwcGVyIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkYy10YWJsZS1ib3JkZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgIH1cbn1cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUge1xuICAgIC5uYW1lLXdyYXBwZXIge1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1wcmltYXJ5O1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICB9XG5cbiAgICAucXR5LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cbiAgICAucXR5LWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgfVxuXG5cbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByaWNlLWJveHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdCBPcHRpb25zXG4gKi9cblxuLnByb2R1Y3Qtb3B0aW9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXI7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHAucmVxdWlyZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnJlcXVpcmVkIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZHQge1xuICAgIG1hcmdpbjogJGdhcCAwIDNweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGR0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZ2FwIDAgMCAwO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktaG9sZGVyIC5xdHkge1xuICAgIHdpZHRoOiAzZW07XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIgbGFiZWwge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMCAycHg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGQge1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXItbGlnaHQ7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGwubGFzdCBkZC5sYXN0IHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtdGV4dCB7XG4gICAgd2lkdGg6IDk4JTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtYm94IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCBpbnB1dC5kYXRldGltZS1waWNrZXIge1xuICAgIHdpZHRoOiAxNTBweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAudGltZS1waWNrZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIHRleHRhcmVhIHtcbiAgICB3aWR0aDogOTglO1xuICAgIGhlaWdodDogOGVtO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIHNlbGVjdCB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IC5yYWRpbyxcbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IC5jaGVja2JveCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBwLm5vdGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWZpZWxkc2V0LWJvcmRlcjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b206YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1wcmljaW5nLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAkZ2FwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteGxhcmdlKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2FwIC8gMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWZpZWxkc2V0LWJvcmRlcjtcbiAgICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyBsaSB7XG4gICAgYmFja2dyb3VuZDogMDtcbiAgICBwYWRkaW5nOiAycHggMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIC5wcmljZSxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyAuYmVuZWZpdCB7XG4gICAgY29sb3I6ICRjLXRleHQ7XG59XG5cbi8qIFwiZGlzcGxheTogbm9uZVwiIHNob3VsZCBiZSByZW1vdmVkIGlmIHByb2R1Y3RzIG9uIHNpdGUgaGF2ZSBhIGxvbmcgbGlzdCBvZiBwcm9kdWN0IG9wdGlvbnMgYW5kIHRob3NlIHByb2R1Y3Qgb3B0aW9ucyAqL1xuLyogIGFmZmVjdCB0aGUgcHJpY2Ugc28gdGhhdCB0aGUgY3VzdG9tZXIgY2FuIHNlZSB0aGUgdXBkYXRlZCBwcmljZSBjbG9zZSB0byB0aGUgXCJBZGQgdG8gQ2FydFwiIGJ1dHRvbiAqL1xuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgJGdhcDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94IC5wcmljZS1hcy1jb25maWd1cmVkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtdGF4IHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmVsYXRlZCBQcm9kdWN0c1xuICovXG5cbi8qIEJsb2NrOiBSZWxhdGVkICovXG5cbi5ibG9jay1yZWxhdGVkIHtcblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGgyKCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLXN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cbiAgICAucHJvZHVjdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAzNnB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMnB4IDAgM3B4O1xuXG4gICAgICAgIGEsXG4gICAgICAgIHAsXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxpbmstd2lzaGxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVXBzZWxsIFByb2R1Y3RzXG4gKi9cblxuLmJveC11cC1zZWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmctbGFyZ2U7XG5cbiAgICAucmF0aW5ncyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG5AbWl4aW4gbG9hZGluZ092ZXJsYXkoJG9wYWNpdHk6IDAuOCkge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICAgIHotaW5kZXg6MjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvb3BjLWFqYXgtbG9hZGVyLmdpZicpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6MztcbiAgICB9XG5cbiAgICAmLmxvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGFsb2cgLSBNU1JQIE1BUCBQb3B1cFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNhcnQtbXNycC10b3RhbHMge1xuICAgIGNvbG9yOiByZWQ7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAxMHB4IDEwcHggMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tYXAtY2FydC1zaWRlYmFyLXRvdGFsIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG59XG5cbi5tYXAtcG9wdXAge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiA1cHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBtYXJnaW46IDEycHggMCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA0NTBweDtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgICAgICYubWFwLXBvcHVwLXJpZ2h0IHtcbiAgICAgICAgICAgIGxlZnQ6ICRnYXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWFwLXBvcHVwLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmlnaHQ6ICRnYXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1hcC1wb3B1cC1oZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtcG9wdXAtY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5tYXAtcG9wdXAtY29udGVudCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtcG9wdXAtY2hlY2tvdXQge1xuICAgICAgICBwYWRkaW5nOiAkZ2FwIDA7XG5cbiAgICAgICAgZm9ybTphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjEwcHg7IC8vIGZpeCBmb3IgYSB3ZWIta2l0IGJveC1tb2RlbCBkaXNwbGF5IGJ1Z1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ibWxfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5idXR0b24sXG4gICAgICAgICAgICAuYWRkaXRpb25hbC1hZGR0b2NhcnQtYm94LFxuICAgICAgICAgICAgLnBheXBhbC1sb2dvIGEsXG4gICAgICAgICAgICAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hZGRpdGlvbmFsLWFkZHRvY2FydC1ib3gge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwLXBvcHVwLXByaWNlIHtcbiAgICAgICAgcGFkZGluZzogJGdhcCAwO1xuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtYm94LFxuICAgICAgICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC1wb3B1cC10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIC5tYXAtcG9wdXAtdGV4dCxcbiAgICAubWFwLXBvcHVwLW9ubHktdGV4dCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIE1TUlAgUHJvZHVjdCBMaXN0aW5nXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJpY2UtYm94IC5tYXAtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gQ29tcGFyZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJsb2NrLWNvbXBhcmUgLnByb2R1Y3QtbmFtZTphZnRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5jb21wYXJlLXRhYmxlIC5wcm9kdWN0LWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jb21wYXJlLXRhYmxlIHtcbiAgICAucHJvZHVjdC1zaG9wLXJvdyB7XG4gICAgICAgICYudG9wIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYm90dG9tIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIExheW91dFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNhcnQge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAkdHJpbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uY2FydC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJ0IC5idXR0b24ge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5jYXJ0LWZvcm1zLFxuLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4uY3Jvc3NzZWxsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHdpZHRoOiA0MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAkYm94LXNwYWNpbmctbGFyZ2U7XG59XG5cbi5jYXJ0LXRvdGFscyxcbi5jYXJ0LWZvcm1zIC5kaXNjb3VudCxcbi5jYXJ0LWZvcm1zIC5naWZ0Y2FyZCxcbi5jYXJ0LWZvcm1zIC5zaGlwcGluZyB7XG4gICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG59XG5cbi5jYXJ0LXRhYmxlLFxuLmNhcnQtdG90YWxzLFxuLmNhcnQtZm9ybXMgLmRpc2NvdW50LFxuLmNhcnQtZm9ybXMgLmdpZnRjYXJkLFxuLmNhcnQtZm9ybXMgLnNoaXBwaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmctbGFyZ2U7XG59XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IHtcbiAgICAjcG9zdGNvZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtaXhpbiBvbmVDb2x1bW5DYXJ0SXRlbXMge1xuICAgIC5jYXJ0LXRhYmxlIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jYXJ0LWZvcm1zIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAgIC5jcm9zc3NlbGwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRib3gtc3BhY2luZztcbiAgICB9XG5cbiAgICAuY2FydC1mb3JtcyxcbiAgICAuY2FydC10b3RhbHMtd3JhcHBlcixcbiAgICAuY3Jvc3NzZWxsIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAuY3Jvc3NzZWxsIHtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4uZGlzcGxheS1ib3RoLXByaWNlcyB7XG4gICAgQGluY2x1ZGUgb25lQ29sdW1uQ2FydEl0ZW1zO1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIC5kaXNwbGF5LXNpbmdsZS1wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIG9uZUNvbHVtbkNhcnRJdGVtcztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNTk5cHgpIHtcbiAgICAucHJvZHVjdC1jYXJ0LXNrdSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmRpc3BsYXktYm90aC1wcmljZXMsXG4gICAgLmRpc3BsYXktc2luZ2xlLXByaWNlIHtcbiAgICAgICAgLmNhcnQtZm9ybXMsXG4gICAgICAgIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAgICAgICAuY3Jvc3NzZWxsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNwbGF5LXNpbmdsZS1wcmljZSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gQ2FydFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNoZWNrb3V0LXR5cGVzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgbGkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweCA1cHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgLyogV2UgYWx3YXlzIHdhbnQgdGhpcyBzaGlwcGluZyBtZXRob2QgdG8gZGlzcGxheSBvbiBpdHMgb3duIGxpbmUgKi9cbiAgICAubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1tdWx0aXNoaXBwaW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi50b3Age1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYm1sX2J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ib3R0b20sXG4gICAgJi5taW5pY2FydCB7XG4gICAgICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgNzQxcHgpIHtcbiAgICAuY2hlY2tvdXQtdHlwZXMuYm90dG9tIHtcbiAgICAgICAgLnBheXBhbC1vciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJ0LXRvdGFscyAuY2hlY2tvdXQtdHlwZXMgLmJ0bi1jaGVja291dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDc0MHB4KSB7XG4gICAgLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLmJvdHRvbSxcbiAgICAgICAgJi5taW5pY2FydCB7XG4gICAgICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja291dC10eXBlcyBsaSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5idG4tY2hlY2tvdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jYXJ0LXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcblxuICAgIHRoLFxuICAgIHRkLFxuICAgIHRib2R5IHRkIHtcbiAgICAgICAgLy8gQWRkaW5nIHRib2R5IGZvciBleHRyYSBzZWxlY3RvciB3ZWlnaHRcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkYy1oMjtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHRoZWFkIHRoLFxuICAgIHRib2R5IHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jYXJ0LWluZm8sXG4gICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIHRyIHtcbiAgICB9XG5cbiAgICB0Zm9vdCB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0ciA+IHRkOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Bhbi5vciB7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FydC1pbWFnZSAuY2FydC1saW5rcyxcbiAgICAucHJvZHVjdC1jYXJ0LWluZm8gLmJ0bi1yZW1vdmUsXG4gICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgYS5jYXJ0LWVkaXQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgbWFyZ2luOiA1cHggMCAxMnB4O1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1lbXB0eSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtdG90YWwsXG4gICAgLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2FydC10YXgtdG90YWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGxlZnQsIDZweCwgJGMtdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgcmlnaHQ6IC0xMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXJ0LXRheC10b3RhbC1leHBhbmRlZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShkb3duLCA2cHgsICRjLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtbGlua3MgPiBsaSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgbWluLXdpZHRoOiA2NXB4O1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyB7XG4gICAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5xdHkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1pbnB1dC1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAzLjJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tb3B0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5jYXJ0LXRhYmxlIHtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIH1cblxuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyA+IGxpIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDY5OXB4KSB7XG4gICAgLmRpc3BsYXktYm90aC1wcmljZXMge1xuICAgICAgICAuY2FydC10YWJsZSB7XG4gICAgICAgICAgICB0aGVhZCB0aC5jYXJ0LXRvdGFsLWhlYWQsXG4gICAgICAgICAgICB0ZC5wcm9kdWN0LWNhcnQtdG90YWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNTk5cHgpIHtcblxuICAgIC5jYXJ0LXRhYmxlIHtcbiAgICAgICAgY29sZ3JvdXAsIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGZvb3QgdHIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJltkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXJ3ZC1sYWJlbCkgXCI6XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucHJvZHVjdC1jYXJ0LXByaWNlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtbGlua3Mge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LXRheC1pbmZvIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS80KTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIGEuY2FydC1lZGl0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LWluZm8sXG4gICAgICAgIHRkW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgzLzQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zLFxuICAgICAgICAucHJvZHVjdC1jYXJ0LXByaWNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LXJlbW92ZSxcbiAgICAgICAgLnByb2R1Y3QtY2FydC10b3RhbCxcbiAgICAgICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5jYXJ0LWxpbmtzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LWltYWdlIC5jYXJ0LWxpbmtzLFxuICAgICAgICAucHJvZHVjdC1jYXJ0LWluZm8gLmJ0bi1yZW1vdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGVsZW1lbnQgd2lsbCBiZSBkaXNwbGF5ZWQgdmlhIEpTIG9uY2UgdGhlIHJlbGF0ZWQgaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FydC1pbmZvIHtcblxuICAgICAgICAgICAgLmJ0bi1yZW1vdmUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC00cHggMHB4IDJweCA3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLFxuICAgICAgICAucHJvZHVjdC1jYXJ0LXByaWNlOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWZvb3Rlci1hY3Rpb25zIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAjZW1wdHlfY2FydF9idXR0b24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi1jb250aW51ZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4tdXBkYXRlLFxuICAgICAgICAgICAgc3Bhbi5vciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpc3BsYXktYm90aC1wcmljZXMge1xuICAgICAgICAuY2FydC10YWJsZSB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgJltkYXRhLXJ3ZC10YXgtbGFiZWxdIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXJ3ZC10YXgtbGFiZWwpIFwiOlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIEVzdGltYXRlIFNoaXBwaW5nIGFuZCBUYXhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaGlwcGluZyB7XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlcjtcbiAgICB9XG5cbiAgICBzZWxlY3QudmFsaWRhdGlvbi1mYWlsZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLWRhbmdlcjtcbiAgICB9XG5cbiAgICAuc2hpcHBpbmctZGVzYyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAyJSAxMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hpcHBpbmctY291bnRyeSB7XG4gICAgICAgICAgICB3aWR0aDogMzclO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNoaXBwaW5nLXJlZ2lvbiB7XG4gICAgICAgICAgICB3aWR0aDogNDElO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNoaXBwaW5nLXBvc3Rjb2RlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxOCU7XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcC1tZXRob2RzIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMjIwcHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgkYy1tb2R1bGUtYmFja2dyb3VuZCwgMTAlKVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5zaGlwcGluZyAuc2hpcHBpbmctZm9ybSAuZm9ybS1saXN0ID4gbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRvdGFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jYXJ0IC5jYXJ0LXRvdGFscyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMHB4O1xuICAgICAgICB9XG4gICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbiAgICAgICAgdGJvZHkgdHI6bGFzdC1jaGlsZCB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRmb290IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTZFNkU2O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkU2RTY7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHNwYW4sXG4gICAgICAgICAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2FucztcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNjAwcHgpIHtcblxuICAgIC5jYXJ0LXRvdGFscyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuY2FydCAuY2FydC10b3RhbHMgdGFibGUgdGZvb3QgdGQge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEaXNjb3VudCBjb2RlcyBhbmQgZ2lmdCBjYXJkc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5kaXNjb3VudC1mb3JtOmFmdGVyLFxuI2dpZnRjYXJkLWZvcm06YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0sXG4uY2FydCAuZ2lmdGNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5maWVsZC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luOiA0cHggMTBweCAwIDA7XG4gICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICB9XG59XG5cbi5jYXJ0IC5naWZ0Y2FyZCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xufVxuXG4uY2FydCAuZ2lmdGNhcmQgLmNoZWNrLWdjLXN0YXR1cyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMHB4O1xuXG4gICAgPiBzcGFuID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIENhcnQgQ3Jvc3Mgc2VsbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNyb3Nzc2VsbCB7XG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICB9XG5cbiAgICAuaXRlbSBhLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4vKiBDaGFuZ2UgdGhlIGxheW91dCB0byAyIGNvbHVtbnMgYXQgYSBicmVha3BvaW50IHRoYXQgaXMgaGlnaGVyIHRoYW4gYSAzIGNvbHVtbnMgbGF5b3V0IHdvdWxkIG5vcm1hbGx5IGJyZWFrICovXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIC5jcm9zc3NlbGwge1xuICAgICAgICAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZChldmVuKSxcbiAgICAgICAgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAgICAgICAucHJvZHVjdHMtZ3JpZCA+IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIxMCAvIDQ0MCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHBlcmNlbnRhZ2UoMjAgLyA0NDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFVuZG8gdGhyZWUtY29sdW1uIGNvbmZpZyAqL1xuICAgICAgICAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAuY2FydC10YWJsZSB7XG4gICAgICAgIC5jYXJ0LXRheC10b3RhbCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogLTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY2FydC10YXgtdG90YWwtZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDMyMHB4KSB7XG4gICAgLmNyb3Nzc2VsbCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDBweCA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIC5jcm9zc3NlbGwtYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIE9uZSBQYWdlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLXJpZ2h0LFxuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1sZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSsxKSB7XG4gICAgLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXgge1xuICAgICAgICAuY29sLW1haW4ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg2NjBweC85NjBweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC1yaWdodCxcbiAgICAgICAgLmNvbC1sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMwMHB4Lzk2MHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC1yaWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vcGMge1xuICAgIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAoMjMwcHggKyAxMzVweCk7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWN0aW9uIFN0eWxpbmcgLSBEZWZhdWx0XG4gKi9cblxuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWRpdmlkZXItYm9yZGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBub3Qtc2VsZWN0YWJsZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFVzaW5nIC5uby10b3VjaCBzaW5jZSB0b3VjaCBkZXZpY2VzIGVtdWxhdGUgaG92ZXIsIHRoZXJlYnkgbWFraW5nIHN0ZXBzIGxvb2sgYWN0aXZlIHRoYXQgYXJlIG5vdCAqL1xuLm5vLXRvdWNoIC5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbn1cblxuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSBhIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3BjIC5zZWN0aW9uLmFsbG93Om5vdCguYWN0aXZlKSAuc3RlcC10aXRsZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBAaW5jbHVkZSB0ay1wMTtcbiAgICBAaW5jbHVkZSB0ay1sMTtcbn1cblxuLm5vLXRvdWNoIC5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIC5udW1iZXIsXG4ub3BjIC5zZWN0aW9uLmFsbG93LmFjdGl2ZSAuc3RlcC10aXRsZSAubnVtYmVyLFxuLm5vLXRvdWNoIC5vcGMgLnNlY3Rpb24uYWxsb3c6aG92ZXIgLnN0ZXAtdGl0bGUgLm51bWJlciB7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAge1xuICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZy1sYXJnZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgfVxufVxuXG4ub3BjIHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm9wYyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9wYyAuYnV0dG9ucy1zZXQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBidXR0b24uYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIHAucmVxdWlyZWQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5iYWNrLWxpbmsge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAub3BjLFxuICAgIC5wYXlwYWwtZXhwcmVzcy1yZXZpZXcge1xuICAgICAgICAuYnV0dG9ucy1zZXQgLmJ1dHRvbiArIC5idXR0b25zLXNldCAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3BjICNvcGMtbG9naW4ge1xuICAgIC5zdGVwIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgIH1cblxuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAub3BjICNvcGMtbG9naW4gLmRlc2NyaXB0aW9uLFxuICAgIC5vcGMgI29wYy1sb2dpbiBwLnJlcXVpcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNvcGMtcGF5bWVudCAubm90ZSB7XG4gICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaGlzIHNlY3Rpb24gaGlkZXMgZXZlcnl0aGluZyBidXQgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgc3RlcCBvZiB0aGUgY2hlY2tvdXQgcHJvY2VzcyBhbmQgZmFkZXMgaW4gdGhlIGNvbnRlbnRcbiAqIG9uY2UgdGhlIGN1c3RvbWVyIHByb2dyZXNzZXMgdG8gdGhlIG5leHQgc3RlcC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBzaW1wbGlmeSB3aGF0IHRoZSBjdXN0b21lciBoYXMgdG8gZm9jdXMgb24uXG4gKiBJdCBpcyBsaW1pdGVkIHRvIGxhcmdlciB2aWV3cG9ydHMgc2luY2Ugc21hbGxlciBkZXZpY2VzIGFyZSBpbmhlcmVudGx5IGdvaW5nIHRvIGJlIGZvY3VzZWQgc29sZWx5IG9uIHRoZVxuICogXCJDaGVja291dCBNZXRob2RcIiBzdGVwLlxuICovXG5cbi5vcGMub3BjLWZpcnN0c3RlcC1sb2dpbiAuc2VjdGlvbjpub3QoI29wYy1sb2dpbikgLnN0ZXAtdGl0bGUsXG4ub3BjLWJsb2NrLXByb2dyZXNzLXN0ZXAtbG9naW4ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG59XG5cbi5vcGMub3BjLWZpcnN0c3RlcC1sb2dpbiAuc2VjdGlvbiNvcGMtbG9naW4gLnN0ZXAtdGl0bGUgLm51bWJlciB7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggODBtcztcbn1cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSBoMiB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgODBtcztcbn1cblxuLyogV2hlbiBhIHVzZXIgcHJvZ3Jlc3NlcyBmcm9tIHRoZSBcIkNoZWNrb3V0IE1ldGhvZFwiIHRvIFwiQmlsbGluZyBJbmZvcm1hdGlvblwiIGZvciB0aGUgZmlyc3QgdGltZSwgdGhlICAgICAgICAgICAgICAqL1xuLyogXCJvcGMtaGFzLXByb2dyZXNzZWQtZnJvbS1sb2dpblwiIGNsYXNzIGdldHMgYWRkZWQgdG8gdGhlIGJvZHkuIEFsc28sIHRoZSAub3BjIGVsZW1lbnQgd2lsbCBvbmx5IGhhdmUgdGhlICAgICAgICAgKi9cbi8qIFwib3BjLWZpcnN0c3RlcC1sb2dpblwiIGNsYXNzIGlmIHRoZSBmaXJzdCBzdGVwIG9mIHRoZSBjaGVja291dCBpcyB0aGUgXCJDaGVja291dCBNZXRob2RcIiAoZWcsIG5vdCB3aGVuIGxvZ2dlZCBpbikgKi9cbmJvZHk6bm90KC5vcGMtaGFzLXByb2dyZXNzZWQtZnJvbS1sb2dpbikgLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uOm5vdCgjb3BjLWxvZ2luKSAuc3RlcC10aXRsZSxcbmJvZHk6bm90KC5vcGMtaGFzLXByb2dyZXNzZWQtZnJvbS1sb2dpbikgLm9wYy1ibG9jay1wcm9ncmVzcy1zdGVwLWxvZ2luIHtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2hpcHBpbmcgYW5kIFBheW1lbnQgbWV0aG9kc1xuICovXG5cbi5zcC1tZXRob2RzIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG5cbiAgICBkdCB7XG4gICAgICAgIG1hcmdpbjogMTNweCAwIDVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGQgbGkge1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgIH1cbiAgICBsYWJlbCBpbWcgeyAvLyBUaGlzIGFwcGxpZXMgdG8gdGhlIFBheXBhbCBFeHByZXNzIGxhYmVsXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBsYWJlbCBhIHsgLy8gVGhpcyBhcHBsaWVzIHRvIHRoZSBQYXlwYWwgRXhwcmVzcyBsYWJlbFxuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZWxlY3QubW9udGgge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gICAgc2VsZWN0LnllYXIge1xuICAgICAgICB3aWR0aDogOTZweDtcbiAgICB9XG4gICAgaW5wdXQuY3Z2IHtcbiAgICAgICAgd2lkdGg6IDRlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAjYWR2aWNlLXZhbGlkYXRlLWNjLWV4cC1jY3NhdmVfZXhwaXJhdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgfVxuXG4gICAgLmNoZWNrbW8tbGlzdCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNjVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWxlYXNlLWFtb3VudHMge1xuICAgICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgfVxuICAgIC5yZWxlYXNlLWFtb3VudHMgYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogNXB4IDEwcHggMCAwO1xuICAgIH1cbn1cblxuLyogT25lIFBhZ2UgQ2hlY2tvdXQgKi9cbi5ibG9jay1wcm9ncmVzcyB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjLWRpdmlkZXItYm9yZGVyO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgfVxuICAgIGR0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgQGluY2x1ZGUgaDQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbiAgICB9XG5cbiAgICBkdC5jb21wbGV0ZSB7XG4gICAgICAgIGNvbG9yOiAkYy1oNDtcbiAgICB9XG4gICAgZGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3BheW1lbnQtcHJvZ3Jlc3Mtb3BjaGVja291dCAuc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuXG4gICAgLnBheW1lbnQtaW5mbyB7XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDNweCAwO1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8qIHJldmlldyBzdGVwICovXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHtcbiAgICAuYnRuLXJlbW92ZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlLXdyYXBwZXIge1xuICAgIGNsZWFyOiBib3RoOyAvLyBGaXggdGFibGUgY2xlYXJpbmcgaXNzdWUgaW4gRmlyZWZveFxufVxuXG4jcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAuYnRuLWNoZWNrb3V0IHtcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICB9XG4gICAgLnBsZWFzZS13YWl0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gICAgLmYtbGVmdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi8vIEhpZGUgYWxsIGJ1dCB0aGUgZmlyc3QgdHIgaW5zaWRlIG9mIHRoZWFkXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UuY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkIHRyOm50aC1jaGlsZCgxbisyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBIaWRlIGFsbCBidXQgdGhlIGZpcnN0IHRyIGluc2lkZSBvZiB0aGVhZFxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLmxpbmVhcml6ZS10YWJsZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIHNob3cvaGlkZSBcImNoYW5nZVwiIGxpbmsgZm9yIHByb2dyZXNzIHN0ZXAgZGVwZW5kIG9uIGNvbXBsZXRlIHN0YXR1c1xuICogc2hvdWxkIGJlIHBsYWNlZCBpbiAuY3NzIGZpbGUgKi9cbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgYSxcbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgLnNlcGFyYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ub3BjLWJsb2NrLXByb2dyZXNzIGR0IGEsXG4ub3BjLWJsb2NrLXByb2dyZXNzIGR0IC5zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE9uIHNtYWxsIHNjcmVlbnMsIHRoZSBwcm9ncmVzcyByZXZpZXcgY29udGVudCB3aWxsIGJlIG1vdmVkIHRvIHRoZSByZXZpZXcgc3RlcCB2aWEgSlMuIFN0eWxlZCB2aWEgdGhpcyBDU1M6ICovXG4jY2hlY2tvdXQtc3RlcC1yZXZpZXcgLm9wYy1ibG9jay1wcm9ncmVzcyB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAvLyBPdmVycmlkZSB0aGUgbm8tZGlzcGxheVxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYgPiBkbCA+IGRpdiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgICYgPiBkbCA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hhbmdlbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5jZW50aW5lbCB7XG4gICAgJj4gcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgfVxufVxuXG4vKiBHaWZ0IG9wdGlvbnMgKi9cbi5naWZ0LW1lc3NhZ2VzLWZvcm0ge1xuICAgIC5pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi10b3A6ICR0cmltO1xuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2lmdC1tZXNzYWdlLWZvcm0ge1xuICAgIC5pbm5lci1ib3gge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJi5leHRyYS1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naWZ0LXdyYXBwaW5nLWZvcm0ge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naWZ0LXdyYXBwaW5nLWRlc2lnbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2UtYm94IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naWZ0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjLWRpdmlkZXItYm9yZGVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcblxuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicCgnbWF4LXdpZHRoJywgJGJwLW1lZGl1bSkge1xuICAgIC5naWZ0LW1lc3NhZ2UtZm9ybSB7XG5cbiAgICAgICAgLmdpZnRtZXNzYWdlLWFyZWF7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lmdC1pdGVtIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWltZy1ib3gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG5cbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBTdWNjZXNzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWFyZ2luOiAkZ2FwIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENvbmZpZ3VyYWJsZSBTd2F0Y2hlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQ2xlYXJzICovXG4uY2xlYXJmaXgsXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0LFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIC5zd2F0Y2gtYXR0ciB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLyogR2VuZXJhbCBTd2F0Y2ggU3R5bGluZyAqL1xuLnN3YXRjaC1saW5rLFxuLnN3YXRjaC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAtIDI7XG4gICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGMtaDQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4uc3dhdGNoLWxpbmsge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgbWFyZ2luOiAwIDAgM3B4O1xuXG4gICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAtIDM7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC54IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmdfeC5wbmcpIGNlbnRlciBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxuICAgICYuaGFzLWltYWdlIHtcbiAgICAgICAgLnN3YXRjaC1sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3YXRjaC1sYWJlbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbn1cblxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgem9vbTogMTtcbiAgICBjbGVhcjogYm90aDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpO1xuXG4gICAgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgem9vbTogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAzcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RzLWdyaWQgJiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAubm90LWF2YWlsYWJsZSB7XG4gICAgICAgIC54IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3YXRjaC1saW5rIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJi5oYXMtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTQwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2F0Y2gtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndpZGUtc3dhdGNoIC5zd2F0Y2gtbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICB9XG5cbiAgICAubm90LWF2YWlsYWJsZSBhOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG59XG5cbiNuYXJyb3ctYnktbGlzdCBkZCB7XG4gICAgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgM3B4O1xuICAgICAgICB3aWR0aDogNDclO1xuICAgIH1cblxuICAgIC5zd2F0Y2gtbGluayB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmLXNpemUgKyAxMXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAmLmhhcy1pbWFnZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLnN3YXRjaC1sYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLW1vZHVsZS1ib3JkZXItaGlnaGxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3YXRjaC1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAtIDJweDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhhcy1pbWFnZSAuc3dhdGNoLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC8vIFByZXZlbnQgb2RkIHdyYXBwaW5nIGlzc3VlIHdoZW4gc3dhdGNoZXMgaGF2ZSBib3RoIHRleHQgYW5kIGltYWdlc1xuICAgICNuYXJyb3ctYnktbGlzdCBkZCAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxufVxuXG4uY3VycmVudGx5IHtcbiAgICAuc3dhdGNoLWN1cnJlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmJ0bi1yZW1vdmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3YXRjaC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDNweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogT3RoZXIgU3dhdGNoIFN0YXRlcyAqL1xuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAuaG92ZXIgLnN3YXRjaC1saW5rLFxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAuc2VsZWN0ZWQgLnN3YXRjaC1saW5rLFxuLnN3YXRjaC1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICRjLW1vZHVsZS1ib3JkZXItaGlnaGxpZ2h0O1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1ib3gge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIHNlbGVjdC5zd2F0Y2gtc2VsZWN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWRhbmdlcjtcbiAgICAgICAgcGFkZGluZzogMnB4IDVweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMjtcbiAgICB9XG59XG5cbi8qIENVU1RPTSAqL1xuLmF2YWlsYWJpbGl0eS5vdXQtb2Ytc3RvY2sgc3BhbiB7XG4gICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbn1cblxuLnByb2R1Y3QtdmlldyB7XG4gICAgLnByb2R1Y3Qtb3B0aW9ucyB7XG4gICAgICAgIC5zd2F0Y2gtYXR0ciB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgLnNlbGVjdC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbGVjdC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0LWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQgYnV0dG9uLm91dC1vZi1zdG9jayB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zNjJweDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ3VzdG9tZXJcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIHtcbiAgICAuc2NhZmZvbGQtZm9ybSB7XG4gICAgICAgIGxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wyLXNldCB7XG4gICAgICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcblxuICAgICAgICAgICAgYnV0dG9uLFxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRnYXAgMCAkZ2FwICogMiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAteHNtYWxsICsgMSkge1xuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLmNvbC0xLFxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRyaW0gKiAyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRyaW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICR0cmltO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgICAgIC5jb2wyLXNldCBwLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSB7XG4gICAgLnNjYWZmb2xkLWZvcm0ge1xuICAgICAgICBsYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZW1lbWJlci1tZS1ib3gge1xuICAgIGEuaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5saW5rLXRpcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnYXA7XG4gICAgfVxufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5zaG93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1kZWZhdWx0O1xuICAgIH1cblxuICAgIC5yZW1lbWJlci1tZS1wb3B1cC1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgfVxuXG4gICAgLnJlbWVtYmVyLW1lLXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUge1xuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1heC13aWR0aDogNDU1cHg7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0LFxuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkdHJpbTtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IC5oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNyZW1lbWJlci1tZS1wb3B1cCB7XG4gICAgICAgIG1heC13aWR0aDogNDU1cHg7XG4gICAgfVxufVxuXG4uY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCB7XG4gICAgLmZpZWxkc2V0LFxuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkdHJpbTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IC5pbnB1dC1ib3ggaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTXkgQWNjb3VudCBHbG9iYWwgU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IHtcbiAgICAubXktYWNjb3VudCB7XG4gICAgICAgIC5maWVsZHNldCBoMixcbiAgICAgICAgLmFkZHJlc3Nlcy1saXN0IGgyLFxuICAgICAgICAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgICAgIFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1kZXRhaWxzIGgyIHtcbiAgICAgICAgXHRtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUZW1wb3JhcmlseSBoaWRpbmcgb3JkZXItbGlua3NcbiAgICAgICAgLm9yZGVyLWRldGFpbHMgLm9yZGVyLWxpbmtzIHtcbiAgICAgICAgXHRkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZHJlc3Nlcy1saXN0IGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHRyaW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCBoMi5sZWdlbmQge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdH1cbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRcdGgxIHtcblx0XHRcdEBpbmNsdWRlIHRrLWgxO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC50aXRsZS1idXR0b25zIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcblx0XHRwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdFx0fVxuXG5cdFx0aDEge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGNvbG9yOiAkYy1ibHVlO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdH1cblxuXHRcdGEsXG5cdFx0c3Bhbi5zZXBhcmF0b3Ige1xuXHRcdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQvL3RvcDogLTQycHg7XG5cdFx0fVxuXHR9XG5cbiAgICAvLyBUZW1wb3JhcnkgZm9ybSBzdHlsZXNcbiAgICAvLyBTaG91bGQgcHJvYmFibHkgbWFuYWdlIGluIF9mb3JtLnNjc3NcbiAgICAuZm9ybS1saXN0IHtcblx0XHQuaW5wdXQtYm94IHtcblx0XHRcdHBhZGRpbmctdG9wOiAxZW07XG5cdFx0fVxuXG5cdFx0LmlucHV0LXRleHQge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHR9XG5cblx0XHRzZWxlY3Qge1xuXHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hMUzBnUjJWdVpYSmhkRzl5T2lCQlpHOWlaU0JKYkd4MWMzUnlZWFJ2Y2lBeE5TNHhMakFzSUZOV1J5QkZlSEJ2Y25RZ1VHeDFaeTFKYmlBdUlGTldSeUJXWlhKemFXOXVPaUEyTGpBd0lFSjFhV3hrSURBcElDQXRMVDROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWcwS0NTQjNhV1IwYUQwaU9DNDJNREZ3ZUNJZ2FHVnBaMmgwUFNJMUxqTTJjSGdpSUhacFpYZENiM2c5SWpBZ01DQTRMall3TVNBMUxqTTJJaUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0E0TGpZd01TQTFMak0ySWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNE5DanhuUGcwS0NUeHdiMng1WjI5dUlHWnBiR3c5SWlNNU56azNPVGNpSUhCdmFXNTBjejBpTkM0ekxEVXVNellnTUN3eExqQTJNU0F4TGpBMk1Td3dJRFF1TXl3ekxqSXpPU0EzTGpVME1Td3dJRGd1TmpBeExERXVNRFl4SUFraUx6NE5Dand2Wno0TkNqd3ZjM1puUGcwSycpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMXB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjLWJsYWNrO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiA4cHggMzJweCA4cHggOHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6IDM2NXB4O1xuXHRcdH1cblxuXHRcdC8vIEhpZGUgbmF0aXZlIGFycm93IG9uIElFMTArXG5cdFx0c2VsZWN0OjotbXMtZXhwYW5kIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ly8gSGlkZSBiYWNrZ3JvdW5kIGltYWdlIG9uIEZGXG5cdFx0Ly8gSW5jb25zaXN0ZW50IGJlaGF2aW9yIG9uIEZGIHZlcnNpb25zIGZvciAtbW96LWFwcGVhcmFuY2Vcblx0XHQvLyBAc2VlIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2pvYW9jdW5oYS82MjczMDE2L1xuXHRcdEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG5cdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3QgIWltcG9ydGFudDtcblx0XHRcdFx0aGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC8vdGV4dC1pbmRlbnQ6IDAuMDFweDtcblx0XHRcdFx0Ly90ZXh0LW92ZXJmbG93OiAnJztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY29udHJvbCB7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40ZW07XG5cblx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiAwLjRlbSAxZW0gMCAwO1xuXHRcdFx0fVxuXG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJ1dHRvbnMtc2V0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdC5yZXF1aXJlZCB7XG5cdFx0XHQvL2NvbG9yOiAkYy10ZXh0LWdyYXk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bWFyZ2luOiAwIDAgMWVtIDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHQuYmFjay1saW5rIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cblx0XHRidXR0b24uYnV0dG9uIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXG4gICAgLmRhdGEtdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICAgICAgY29sZ3JvdXAge1xuICAgICAgICBcdC8vIFNlZW1zIHRvIGRpc2FibGUgY29sZ3JvdXAgaW4gQ2hyb21lXG4gICAgICAgIFx0Ly8gTmVlZCB0byBjb25maXJtIGluIG90aGVyIGJyb3dzZXJzXG4gICAgICAgIFx0ZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoIHtcbiAgICAgICAgXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgXHRib3JkZXI6IDA7XG4gICAgICAgIFx0cGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcbiAgICAgICAgXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgXHRib3JkZXI6IDA7XG4gICAgICAgIFx0cGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLm5vYnIge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZC52aWV3IHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VyIHtcbiAgICBcdC5saW1pdGVyIHtcbiAgICAgICAgXHRzZWxlY3Qge1xuXHRcdFx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hMUzBnUjJWdVpYSmhkRzl5T2lCQlpHOWlaU0JKYkd4MWMzUnlZWFJ2Y2lBeE5TNHhMakFzSUZOV1J5QkZlSEJ2Y25RZ1VHeDFaeTFKYmlBdUlGTldSeUJXWlhKemFXOXVPaUEyTGpBd0lFSjFhV3hrSURBcElDQXRMVDROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWcwS0NTQjNhV1IwYUQwaU9DNDJNREZ3ZUNJZ2FHVnBaMmgwUFNJMUxqTTJjSGdpSUhacFpYZENiM2c5SWpBZ01DQTRMall3TVNBMUxqTTJJaUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0E0TGpZd01TQTFMak0ySWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNE5DanhuUGcwS0NUeHdiMng1WjI5dUlHWnBiR3c5SWlNNU56azNPVGNpSUhCdmFXNTBjejBpTkM0ekxEVXVNellnTUN3eExqQTJNU0F4TGpBMk1Td3dJRFF1TXl3ekxqSXpPU0EzTGpVME1Td3dJRGd1TmpBeExERXVNRFl4SUFraUx6NE5Dand2Wno0TkNqd3ZjM1puUGcwSycpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMXB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAzMnB4IDhweCA4cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSGlkZSBuYXRpdmUgYXJyb3cgb24gSUUxMCtcblx0XHRcdHNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEhpZGUgYmFja2dyb3VuZCBpbWFnZSBvbiBGRlxuXHRcdFx0Ly8gSW5jb25zaXN0ZW50IGJlaGF2aW9yIG9uIEZGIHZlcnNpb25zIGZvciAtbW96LWFwcGVhcmFuY2Vcblx0XHRcdC8vIEBzZWUgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vam9hb2N1bmhhLzYyNzMwMTYvXG5cdFx0XHRALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuXHRcdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IG1lbnVsaXN0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Ly90ZXh0LWluZGVudDogMC4wMXB4O1xuXHRcdFx0XHRcdC8vdGV4dC1vdmVyZmxvdzogJyc7XG5cdFx0XHRcdH1cblx0XHRcdH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXBhcmF0b3Ige1xuICAgIFx0Y29sb3I6ICRjLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxuICAgIC5zaWRlYmFyIHtcbiAgICBcdC5ibG9jay1hY2NvdW50IHtcblx0XHRcdC5ibG9jay10aXRsZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0XHR9XG5cblx0XHRcdC5ibG9jay10aXRsZSBzdHJvbmcge1xuXHRcdFx0XHRAaW5jbHVkZSB0ay1oMTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHRcdFx0fVxuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQuY3VycmVudCBzdHJvbmcge1xuXHRcdFx0XHRjb2xvcjogJGMtYmxhY2s7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGMtdGV4dC1ncmF5O1xuXHRcdFx0fVxuXG5cdFx0XHRhOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRjLWJsYWNrO1xuXHRcdFx0fVxuXHRcdH1cblxuICAgICAgICAuYmxvY2sge1xuICAgICAgICAgICAgb2wjY29tcGFyZS1pdGVtcyB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRib3gtc3BhY2luZyAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHAuYmxvY2stc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICR0cmltO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLWNhcnQge1xuICAgICAgICAgICAgLnN1bW1hcnkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLXJlb3JkZXIge1xuICAgICAgICBcdHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgICAgIFx0LmJsb2NrLXRpdGxlIHtcbiAgICAgICAgXHRcdGJvcmRlcjogMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcdH1cblxuXHRcdFx0LmJsb2NrLXRpdGxlIHN0cm9uZyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0XHRcdH1cblxuICAgICAgICAgICAgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICBcdG1hcmdpbjogJGJveC1zcGFjaW5nIDAgMCAwO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2VzIHtcbiAgICBcdG1hcmdpbjogMjBweCAwO1xuICAgIH1cbn1cblxuLmZvcm0tbGlzdCB7XG4gICAgLmN1c3RvbWVyLWRvYiB7XG4gICAgICAgIC5kb2ItbW9udGgsXG4gICAgICAgIC5kb2ItZGF5IHtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2IteWVhciB7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBEYXNoYm9hcmRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kYXNoYm9hcmQge1xuICAgIC5ib3gtaGVhZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICR0cmltO1xuXHRcdGJvcmRlcjogMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC10aXRsZSxcbiAgICAuYm94LWhlYWQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LWFjY291bnQge1xuICAgIFx0Ym9yZGVyOiAwO1xuICAgICAgXHRwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuXG4gICAgICAgIHAsXG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC1yZWNlbnQge1xuICAgIFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWRpdmlkZXItYm9yZGVyO1xuICAgIFx0cGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgI215LW9yZGVycy10YWJsZSB7XG4gICAgXHRtYXJnaW46IDIwcHggMCAwIDA7XG4gICAgfVxuXG4gICAgLmNvbDItc2V0IHtcbiAgICBcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1kaXZpZGVyLWJvcmRlcjtcbiAgICBcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIFx0JjpsYXN0LWNoaWxkIHtcbiAgICBcdFx0Ym9yZGVyOiAwO1xuICAgIFx0XHRwYWRkaW5nOiAwO1xuICAgIFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuICAgIFx0fVxuXG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHBlcmNlbnRhZ2UoNzUvNjIwKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC10aXRsZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuXHRcdFx0aDIsXG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGYtc2l6ZTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAoMS40ICogJGYtc2l6ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJveC1jb250ZW50IHtcblx0XHRcdGg0IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdFx0fVxuXHRcdH1cbiAgICB9XG5cbiAgICAud2VsY29tZS1tc2cge1xuICAgIFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWRpdmlkZXItYm9yZGVyO1xuICAgIFx0cGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICBcdC5oZWxsbyB7XG4gICAgXHRcdEBpbmNsdWRlIHRrLWgyO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdH1cblx0fVxuXG4gICAgLmJveC1yZXZpZXdzIHtcbiAgICAgICAgJi5ib3gtYWNjb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZyAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLnJhdGluZ3Mge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucmF0aW5nLWJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBZGRyZXNzIEJvb2tcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5teS1hY2NvdW50IHtcbiAgICAuYWRkcmVzc2VzLWxpc3Qge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG5cbiAgICAgICAgLmNvbC0xLFxuICAgICAgICAuY29sLTIge1xuICAgICAgICBcdHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgIFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJHRyaW0gMDtcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgXHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgICAgICAgICAuY29sLTEsXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgbGkuZW1wdHkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgICAgICAgICAgLmFkZHJlc3Nlcy1hZGRpdGlvbmFsIHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBPcmRlciBWaWV3XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ub3JkZXItaW5mbyB7XG4gICAgcGFkZGluZy1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgIGR0LFxuICAgIGRkLFxuICAgIHVsLFxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIGR0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoJGJveC1zcGFjaW5nKjIpO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAoJGJveC1zcGFjaW5nKjIpO1xuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9yZGVyLWRhdGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm9yZGVyLWluZm8tYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICArIC5vcmRlci1pbmZvLWJveCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB9XG5cbiAgICAuY29sLTEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogNDglO1xuICAgIH1cblxuICAgIC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiA1MiU7XG4gICAgfVxuXG4gICAgLmNvbC0xLFxuICAgIC5jb2wtMiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRib3gtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRyaW0tc21hbGw7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI215LW9yZGVycy10YWJsZSB7XG5cdG1hcmdpbjogMzBweCAwO1xuXG4gICAgLm9wdGlvbi1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAub3B0aW9uLXZhbHVlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRib3gtc3BhY2luZyAqIDI7XG4gICAgfVxuXG4gICAgdHIuYnVuZGxlOm5vdCg6bGFzdC1jaGlsZCkgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIC5pdGVtLW9wdGlvbnMgZHQsXG4gICAgLml0ZW0tb3B0aW9ucyBkZCB7XG4gICAgXHRjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgIFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuICAgIFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICB0Ym9keSxcbiAgICB0aGVhZCB7XG5cdFx0LmEtcmlnaHQsXG5cdFx0LmEtY2VudGVyIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0dGg6bGFzdC1jaGlsZC5hLXJpZ2h0IHtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdH1cblxuXHRcdC5hLXJpZ2h0Lmxhc3Qge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHR9XG59XG5cbm9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIHtcbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgI215LW9yZGVycy10YWJsZSB7XG4gICAgICAgIC5vcHRpb24tbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAub3B0aW9uLXZhbHVlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGRbZGF0YS1yd2QtbGFiZWw9UXR5XSAubm9iciB7XG4gICAgICAgICAgICBiciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyLmJ1bmRsZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ci5idW5kbGUuY2hpbGQge1xuICAgICAgICAgICAgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGZvb3QgdHIuc2hpcHBpbmcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9yZGVyLWFkZGl0aW9uYWwge1xuICAgIG1hcmdpbjogNDBweCAwO1xufVxuXG4ub3JkZXItZ2lmdC1tZXNzYWdlIHtcbiAgICBkZCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSkge1xuICAgIC5kYXNoYm9hcmQge1xuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLmNvbC0xLFxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdHJpbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCB7XG4gICAgICAgIC5kYXRhLXRhYmxlIHtcbiAgICAgICAgICAgIHRkLnZpZXcgYSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQge1xuICAgICAgICAubXktYWNjb3VudCB7XG4gICAgICAgICAgICAudGl0bGUtYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIHNwYW4uc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAvL3RvcDogLTEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQge1xuICAgIFx0LnNpZGViYXIge1xuICAgIFx0XHQuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikge1xuICAgIFx0XHRcdC5ibG9jay1jb250ZW50IHtcbiAgICBcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICBcdFx0XHR9XG4gICAgXHRcdH1cblxuXHRcdFx0LmJsb2NrLWFjY291bnQge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDQ1cHg7XG5cblx0XHRcdFx0LmJsb2NrLXRpdGxlIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG4gICAgICAgIC5kYXRhLXRhYmxlIHtcbiAgICAgICAgICAgICYub3JkZXJzIHtcbiAgICAgICAgICAgICAgICB0aC5zaGlwLFxuICAgICAgICAgICAgICAgIHRkLnNoaXAsXG4gICAgICAgICAgICAgICAgdGQuc3RhdHVzLFxuICAgICAgICAgICAgICAgIHRoLnN0YXR1cyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWluZm8tYm94IHtcbiAgICAgICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZHJlc3Nlcy1saXN0IHtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRyaW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaW5mbyB7XG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGFzaGJvYXJkIHtcbiAgICAgICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud2VsY29tZS1tc2cge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuXG4gICAgICAgICAgICAuaGVsbG8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtYWNjb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEsXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wtMSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IHtcbiAgICAgICAgLm15LWFjY291bnQge1xuICAgICAgICBcdC50aXRsZS1idXR0b25zIHtcbiAgICAgICAgXHRcdGgxLCAuYnV0dG9uIHtcbiAgICAgICAgXHRcdFx0ZmxvYXQ6IG5vbmU7XG4gICAgICAgIFx0XHR9XG5cbiAgICAgICAgXHRcdGgxIHtcbiAgICAgICAgXHRcdFx0bWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICBcdFx0fVxuICAgICAgICBcdH1cblxuICAgICAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQge1xuICAgICAgICAubXktYWNjb3VudCB7XG4gICAgICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUtYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbS1zbWFsbDtcblxuICAgICAgICAgICAgICAgICAgICArIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLWRldGFpbHMgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hZGRyZXNzZXMtbGlzdCB7XG4gICAgICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWluZm8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAkdHJpbS1zbWFsbDtcbiAgICB9XG5cbiAgICAuZGF0YS10YWJsZSB7XG4gICAgICAgICYub3JkZXJzIHtcbiAgICAgICAgICAgIC5saW5rLXJlb3JkZXIsXG4gICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQudmlldyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGFzaGJvYXJkIHtcbiAgICAgICAgLmNvbDItc2V0IHtcbiAgICAgICAgICAgIC5jb2wtMSxcbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaW5mby1ib3gge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLmNvbC0xLFxuICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR0cmltLXNtYWxsIDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5vcmRlci1pbmZvLWJveCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNteS1yZXZpZXdzLXRhYmxlIHtcbiAgICAgICAgLm5vYnIge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmV3c2xldHRlciBTdWJzY3JpcHRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5Lm5ld3NsZXR0ZXItbWFuYWdlLWluZGV4IC5teS1hY2NvdW50IHtcbiAgICAuZmllbGRzZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5maWVsZHNldCBoMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0tbGlzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgLy8gRGlzYWJsZSB0aGUgXCJnZW5lcmFsIHN1YnNjcmlwdGlvblwiIGNoZWNrYm94XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAvLyBFbmFibGUgdGhlIFdvbWVuJ3MgYW5kIE1lbidzIHN1YnNjcmlwdGlvbiBjaGVja2JveGVzXG4gICAgICAgICAgICAmLi1tLCAmLi13IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUGFnZSBQb3AgVXBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYWdlLXBvcHVwIHtcblx0LnBhZ2UtdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cblx0XHRoMSB7XG5cdFx0XHRAaW5jbHVkZSB0ay1oMTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cblxuXHQudGl0bGUtYnV0dG9ucyB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG5cdFx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRcdH1cblxuXHRcdGgxIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblxuXHRcdC5idXR0b24ge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogJGMtYmx1ZTtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHR9XG5cblx0XHRhLFxuXHRcdHNwYW4uc2VwYXJhdG9yIHtcblx0XHRcdC8vcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ly90b3A6IC00MnB4O1xuXHRcdH1cblx0fVxuXG5cdC5zdWItdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0fVxuXG5cdC5idXR0b25zLXNldCB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXG5cdC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cbiIsIi8vIFBhcmFkb3ggTGFicyBBdXRob3JpemUubmV0IENJTSBNb2R1bGVcblxuLmN1c3RvbWVyLXBheW1lbnRpbmZvLWluZGV4IHtcblx0LmNvbC0xIHtcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRcblx0XHRwYWRkaW5nLXRvcDogMDtcblxuXHRcdC5idXR0b25zLXNldCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdFx0fVxuXHR9XG5cblx0LmNvbC0yIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcblx0XHQuYnV0dG9ucy1zZXQge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdFx0XG5cdFx0LmJ1dHRvbnMtc2V0IGEge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcblx0XHR9XG5cdH1cbn1cblxuLmN1c3RvbWVyLWFjY291bnQuY3VzdG9tZXItcGF5bWVudGluZm8taW5kZXgge1xuXHRAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblx0XHQubXktYWNjb3VudCB7XG5cdFx0XHQuY29sLTEsXG5cdFx0XHQuY29sLTIge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0XG5cdFx0XHQuY29sLTEge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdFxuXHRcdFx0XHQuYm94LXRpdGxlIC5wYWdlcyB7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdFx0LmJ1dHRvbnMtc2V0IGZvcm0ge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRcdC5idXR0b25zLXNldCAuYnV0dG9uIHtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuY29sLTIge1xuXHRcdFx0XHQuYnV0dG9ucy1zZXQgYnV0dG9uIHtcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRcdC5idXR0b25zLXNldCBhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFxuXHRcdFx0LmFkZHJlc3Nlcy1saXN0IHtcblx0XHRcdFx0Lml0ZW0ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENvbnRhY3RzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY29udGFjdHMtaW5kZXgtaW5kZXgge1xuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkdHJpbTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MzVweDtcblxuICAgICAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFBheVBhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBheXBhbC1yZXZpZXctb3JkZXIge1xuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSArIDEwMCkge1xuICAgICAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgICAgIC5jb2wtMSxcbiAgICAgICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tc2V0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRnYXA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXItbGlnaHQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLmluYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnRvcC1jb250YWluZXIgLmJtbC1hZCB7XG4gICAgbWFyZ2luLXRvcDogJGVsZW1lbnQtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJtbC1hZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gT3ZlcnJpZGUgaW5saW5lIHN0eWxlXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIFByZXZlbnQgc21hbGwgMnB4IHNwYWNlIG9uIHJpZ2h0IHNpZGUgb2YgaW1hZ2Vcbi5jYXJ0LXRvdGFscy13cmFwcGVyIC5ibWwtYWQubGFyZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5ibWwtYWQuc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAuYm1sLWFkLmxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5kaXYucGF5cGFsLWxvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46ICR0cmltLXNtYWxsIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuID4gaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5jaGVja291dC10eXBlcyB7XG4gICAgZGl2LnBheXBhbC1sb2dvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4uYm1sLWNoZWNrb3V0LXR5cGUge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLnNpZGViYXIge1xuICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJldmlldyAtIEN1c3RvbWVyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jY3VzdG9tZXItcmV2aWV3cyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAucmV2aWV3LWhlYWRpbmcge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6ICRnYXAgMCA1cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZXIge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgLmNvdW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLmxpbWl0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGRzZXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgd2lkdGg6IDQ3MHB4O1xuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB3aWR0aDogNDcwcHg7XG5cbiAgICAgICAgICAgIC5pbmxpbmUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICAgICAgICZbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDQ3MHB4O1xuICAgIH1cblxuICAgIGRsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcblxuICAgICAgICAgICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZXZpZXctbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmV2aWV3LW1ldGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgbWFyZ2luOiAwIDAgJGdhcDtcblxuICAgIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDdweCAxMHB4IDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTFweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICAucmF0aW5nLW51bWJlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU5OXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGYtc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSYXRpbmdzIC0gR2xvYmFsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmF0aW5ncy10YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICB0aCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgd2lkdGg6IDY1cHg7XG5cbiAgICAgICAgLnJhdGluZyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCB7XG4gICAgICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAgICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmV4dHJhLWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDg0JTtcblxuICAgICAgICAgICAgICAgICAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1MzVweCkge1xuICAgIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCB7XG4gICAgICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAgICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgICAgICAgICAgLmV4dHJhLWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNTIwcHgpIHtcbiAgICAjY3VzdG9tZXItcmV2aWV3cyB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAuaW5saW5lLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LXN1bW1hcnktdGFibGUge1xuXG4gICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGYtc2l6ZSAqIDEuNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5yYXRpbmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucmF0aW5nLW51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNDUwcHgpIHtcbiAgICAjY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmV2aWV3IFZpZXcgUGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZXZpZXctcHJvZHVjdC12aWV3IHtcbiAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKCdtYXgtd2lkdGgnLCAkYnAtbWVkaXVtKSB7XG4gICAgLnJldmlldy1wcm9kdWN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTbGlkZXNob3dcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zbGlkZXNob3ctY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAkZ2FwIDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcblxuICAgIC5zbGlkZXNob3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAvLyBpbiBjYXNlIHNjcmlwdCBkb2VzIG5vdCBsb2FkXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGlkZXNob3ctcGFnZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMTU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHRvcDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIG5vdC1zZWxlY3RhYmxlO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogI0RERERERDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAkcGFnZXItc2l6ZTogMTZweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ICRwYWdlci1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcGFnZXItc2l6ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2VyLXNpemUvMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLSRwYWdlci1zaXplLzIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3ljbGUtcGFnZXItYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1idXR0b24tYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uc2xpZGVzaG93LXByZXYsXG4uc2xpZGVzaG93LW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDE1JTtcbiAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB6LWluZGV4OiAxMTA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIG5vdC1zZWxlY3RhYmxlKCk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxufVxuXG4uc2xpZGVzaG93LXByZXYge1xuICAgIGxlZnQ6IDhweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxNXB4IDE1cHggMTVweCAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkYy1idXR0b24taG92ZXIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4uc2xpZGVzaG93LW5leHQge1xuICAgIHJpZ2h0OiA4cHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTVweCAwIDE1cHggMTVweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjLWJ1dHRvbi1ob3ZlcjtcbiAgICB9XG59XG5cbi5jeWNsZS1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgICB6LWluZGV4OiAxMTA7XG59XG5cbi5jeWNsZS1vdmVybGF5IHtcbiAgICBmb250LWZhbWlseTogdGFob21hLCBhcmlhbDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEyMDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBvcGFjaXR5OiAuNTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lzaGxpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiN3aXNobGlzdC10YWJsZSB7XG4gICAgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5jbGVhbi10YWJsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHRoIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLWxpbms7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lzaGxpc3Qtc2t1IHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1pbnB1dC1ib3JkZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tbWFuYWdlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LWNlbGwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDExM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIHdpZHRoOiAzZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHJ1bmNhdGVkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi1yZW1vdmUge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcmVtb3ZlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naWZ0cmVnaXN0eS1hZGQge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICAgICAgLmNoYW5nZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cnVuY2F0ZWQge1xuICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRkW2RhdGEtcndkLWxhYmVsXTpiZWZvcmUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSkge1xuICAgICN3aXNobGlzdC10YWJsZSB7XG4gICAgICAgICYuY2xlYW4tdGFibGUge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGJveC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgI3dpc2hsaXN0LXRhYmxlIHtcbiAgICAgICAgJi5jbGVhbi10YWJsZSB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgI3dpc2hsaXN0LXRhYmxlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgaGVpZ2h0OiA2OHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tbWFuYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVtb3ZlLXdoaXNobGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAjd2lzaGxpc3QtdGFibGUge1xuICAgICAgICB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2UsXG4gICAgICAgIHRoLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICN3aXNobGlzdC10YWJsZSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2UsXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW5mbyxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1wcmljZSxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBlbXB0eS1jZWxsczogaGlkZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDExM3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHksXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYXJ0LWNlbGwge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgICAgICAgICAgIC5jYXJ0LWNlbGwge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IHAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2xlYW4tdGFibGUge1xuICAgICAgICAgICAgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lzaGxpc3QgU2lkZWJhclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJsb2NrLXdpc2hsaXN0IHtcblxuICAgIC5taW5pLXByb2R1Y3RzLWxpc3QgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5wcmljZS1ib3gsXG4gICAgLnByaWNlLWJveCAucHJpY2UsXG4gICAgLmxpbmstY2FydCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICB9XG5cbiAgICAubGluay1jYXJ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgfVxuXG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gTWluaSBjYXJ0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLW1pbmljYXJ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LW1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5lbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5taW5pY2FydC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbG9hZGluZ092ZXJsYXkoKTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuYmxvY2stY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjNTBBNENGO1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcblxuICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIHJpZ2h0OiAkYm94LXNwYWNpbmcgLSAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5taW5pLXByb2R1Y3RzLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDVweCA4cHggMTFweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwO1xuICAgICAgICB9XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAucXR5LXdyYXBwZXIge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5xdHkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzLjJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWFudGl0eS1idXR0b24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXM7XG5cbiAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJ0b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pY2FydC1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5jaGVja291dC1idXR0b24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWxpbmsge1xuICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIH1cblxuICAgICAgICAucGF5cGFsLWxvZ28ge1xuICAgICAgICAgICAgLnBheXBhbC1vciB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNtaW5pY2FydC1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNtaW5pY2FydC1zdWNjZXNzLW1lc3NhZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBncmVlbjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvL2hpZGUgamNhcm91c2VsIGNvbnRyb2xzIHVudGlsIGNhcm91c2VsIGlzIHByb3Blcmx5IGludGVncmF0ZWQgd2l0aCBkZXNpZ25cbiAgICAuamNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgICAuamNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uaGVhZGVyLW1pbmljYXJ0LnNraXAtYWN0aXZlIC5ibG9jay1jYXJ0LFxuLmJsb2NrLWNhcnQuc2tpcC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5oZWFkZXItbWluaWNhcnQgYS5za2lwLWNhcnQge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLmhlYWRlci1taW5pY2FydCB7XG4gICAgICAgIC5zdWJ0b3RhbCB7XG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5taW5pY2FydC13cmFwcGVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRURFREVEO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnF1YW50aXR5LWJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbWluaWNhcnQgLmJsb2NrLWNhcnQge1xuICAgICAgICAgICAgcGFkZGluZzogJHRyaW0tc21hbGw7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHRyaW0tc21hbGwgKyA0NHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pbmljYXJ0LWFjdGlvbnMge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMzcHg7XG5cbiAgICAgICAgICAgIC5jYXJ0LWxpbmsge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICByaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAucGF5cGFsLWxvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5ibWxfYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnBheXBhbC1vciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDVweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDc0MHB4KSB7XG4gICAgLmhlYWRlci1taW5pY2FydCB7XG4gICAgICAgIC5taW5pY2FydC1hY3Rpb25zIHtcbiAgICAgICAgICAgIC5jYXJ0LWxpbmsge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYXlwYWwtb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLmhlYWRlci1taW5pY2FydCB7XG4gICAgICAgIC5taW5pY2FydC1hY3Rpb25zIHtcbiAgICAgICAgICAgIC5jaGVja291dC1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTZWFyY2ggLSBBdXRvIFN1Z2dlc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB0b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDIwMDtcblxuICAgIHVsIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWhpZ2hsaWdodDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRjLWxpbms7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWxpbmstaG92ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZSh1cCwgN3B4LCAkYy1hY3Rpb24pO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCAtIEFkdmFuY2VkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWR2YW5jZWQtc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgIHBhZGRpbmc6ICR0cmltO1xuXG4gICAgc2VsZWN0Lm11bHRpc2VsZWN0IHtcbiAgICAgICAgb3B0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLmFkdmFuY2VkLXNlYXJjaCB7XG4gICAgICAgIHBhZGRpbmc6ICR0cmltLXNtYWxsO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQWNjb3VudCAtIFJldmlld3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9kdWN0LXJldmlldyB7XG4gICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgIHAubGFiZWwge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAucmF0aW5nLWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjMzM5OUNDO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRnYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnYXA7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmF0aW5ncy1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnYXAgMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBjb2xvcjogIzczNzM3MztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3IHtcbiAgICAgICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAxMTI2cHgpIHtcbiAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAzMjBweCkge1xuICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgIC5yYXRpbmdzLXRhYmxlIHtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJpY2luZyBDb25kaXRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJpY2UtYm94IHtcbiAgICAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1yZWQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYXAtaW5mbyB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IHtcbiAgICAubWFwLWluZm8ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcmljZS1ib3gubWFwLWluZm8gPiBhIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb29raWVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubm90aWNlLWNvb2tpZSB7XG4gICAgLm5vdGljZS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm90aWNlLXRleHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDQwcHggLSAkZi1zaXplLXh4cykgLyAyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDQwcHggLSAkZi1zaXplLXh4cykgLyAyO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLm5vdGljZS1jb29raWUge1xuICAgICAgICAubm90aWNlLXRleHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NiU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5ub3RpY2UtY29va2llIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgIC5ub3RpY2UtdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgyJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA2MjBweCkge1xuXG4gICAgLm5vdGljZS1jb29raWUge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgLm5vdGljZS1pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDEwcHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5vdGljZS10ZXh0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYWdzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jYWRkVGFnRm9ybSBidXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuI2FkZFRhZ0Zvcm0gLmZvcm0tYWRkIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnByb2R1Y3QtdGFncyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweCAxJSAxMHB4O1xuICAgIHdpZHRoOiA5OCU7XG59XG4ucHJvZHVjdC10YWdzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG4ucHJvZHVjdC10YWdzIGxpLmxhc3Qge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xufVxuLnRhZ3MtbGlzdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi50YWdzLWxpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmJsb2NrLXRhZ3MgLmFjdGlvbnMgPiBhIHtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG4ubXktdGFnLWVkaXQge1xuICAgIC5idXR0b24uYnRuLXJlbW92ZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5AaW5jbHVkZSBicCAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLnRhZ3MtbGlzdCA+IGxpLFxuICAgIC50YWdzLWxpc3Qge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhcHRjaGFcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FwdGNoYS1ub3RlIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufVxuLmNhcHRjaGEtaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyNThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNhcHRjaGEtaW1hZ2UgLmNhcHRjaGEtaW1nIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjZiNmI2O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ucmVnaXN0ZXJlZC11c2VycyAuY2FwdGNoYS1pbWFnZSB7IG1hcmdpbjogMCB9XG4uY2FwdGNoYS1yZWxvYWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbn1cbi5jYXB0Y2hhLXJlbG9hZC5yZWZyZXNoaW5nIHtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAxLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAgIC1tb3otYW5pbWF0aW9uOiByb3RhdGUgMS41cyBpbmZpbml0ZSBsaW5lYXI7XG59XG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLnNjYWZmb2xkLWZvcm0gLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyIGxhYmVsOmZpcnN0LWNoaWxkIHsgd2lkdGg6IDEwMCUgfVxuLmNhcHRjaGEtcmVsb2FkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDRweDtcbiAgICB0b3A6IDRweDtcbn1cbi5jYXB0Y2hhLWltZyB7IGJvcmRlcjogMjBweCBzb2xpZCAjYmJiIH1cbi5jYXB0Y2hhLWlucHV0LWNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDEwcHggfVxuLmNvbnRyb2wubmV3c2xldHRlci1ib3gsIC5jYXB0Y2hhLWlucHV0LWNvbnRhaW5lciwgLmNhcHRjaGEtaW1nLWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCBCaWxsaW5nIEZpeCB0byBwbGFjZSB0aGUgQ2FwdGNoYSBwcm9wZXJseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNjby1iaWxsaW5nLWZvcm0gdWwuZm9ybS1saXN0ID4gLmNvbnRyb2wge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQWNjb3VudCAtIE9yZGVycywgSW52b2ljZXMsIENyZWRpdCBNZW1vcy5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwIChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSxcbiAgICAuc2FsZXMtb3JkZXItY3JlZGl0bWVtbyxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQge1xuICAgICAgICAuc3ViLXRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAub3JkZXItbGlua3Mge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJlY3VycmluZyBQcm9maWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB7XG5cbiAgICB0aCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwIChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgfVxuICAgIH0gLy9lbmQgYnAteHNtYWxsIGJyZWFrcG9pbnRcblxufSAvL2VuZCAjcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3XG5cbi5yZWN1cnJpbmctcHJvZmlsZXMtdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zLnJlY3VycmluZy1wcm9maWxlcy10aXRsZS1idXR0b25zIHtcbiAgICBmbG9hdDpyaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbn1cblxuLnJlY3VycmluZy1wcm9maWxlcy1tZXNzYWdlcyB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuI3JlY3VycmluZ19zdGFydF9kYXRlX3RyaWcge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvblxuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBNYWdlbnRvIEVudGVycHJpc2UgRWRpdGlvbiBFbmQgVXNlciBMaWNlbnNlIEFncmVlbWVudFxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfRUUudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNyBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQmlsbGluZyBBZ3JlZW1lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmlsbGluZy1hZ3JlZW1lbnRzIHtcbiAgICAuaW5mby1ib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZy1sYXJnZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3BheW1lbnRfbWV0aG9kIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgfVxufVxuXG4uYmlsbGluZy1hZ3JlZW1lbnQtdmlldy1oZWFkZXItd3JhcHBlciB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJpbGxpbmctYWdyZWVtZW50LWRldGFpbHMge1xuICAgIHRkLCB0aCB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtZW50LXNwYWNpbmcvMjtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmJpbGxpbmctYWdyZWVtZW50cyB7XG4gICAgICAgIC5kYXRhLXRhYmxlIHtcbiAgICAgICAgICAgIC5jcmVhdGVkLWF0LFxuICAgICAgICAgICAgLnVwZGF0ZWQtYXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFBvcHVsYXIgU2VhcmNoIFRlcm1zIENsb3VkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2F0YWxvZ3NlYXJjaC10ZXJtLXBvcHVsYXIgLnRhZ3MtbGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cbi5jYXRhbG9nc2VhcmNoLXRlcm0tcG9wdWxhciAudGFncy1saXN0ID4gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFdpZGdldHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFkZCB0byBjYXJ0IGJ5IFNLVVxuICovXG5cbi5zaWRlYmFyIHtcbiAgICAud2lkZ2V0LWFkZGJ5c2t1IHtcbiAgICAgICAgLnNrdS10YWJsZSB7XG4gICAgICAgICAgICAuaW5wdXQtdGV4dDpub3QoLnF0eSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9wcmV2ZW50IHdpZGdldCBpbiBsZWZ0L3JpZ2h0IGNvbHVtbiBmcm9tIGV4Y2VlZGluZyBjb2x1bW4gd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53aWRnZXQge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4ud2lkZ2V0IC5wYWdlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCIvL1xuLy8gTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb25cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgTWFnZW50byBFbnRlcnByaXNlIEVkaXRpb24gRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnRcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0VFLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbS9saWNlbnNlL2VudGVycHJpc2UtZWRpdGlvblxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTcgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gTXVsdGlwbGUgQWRkcmVzc2VzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIHtcbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3Mge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDElIDZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1idXR0b24tc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm11bHRpcGxlLWNoZWNrb3V0ID4gaDIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgICAubWVzc2FnZXMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5jb2wtMi5jb2wtd2lkZSB7XG4gICAgICAgIHdpZHRoOiA2NiU7XG4gICAgfVxuICAgIC5jb2wtMS5jb2wtbmFycm93IHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5ncmFuZC10b3RhbCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICNjaGVja291dC1yZXZpZXctc3VibWl0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYWRkcmVzc2VzIHtcbiAgICAuYnRuLXJlbW92ZTIge1xuICAgICAgICB0ZXh0LWluZGVudDogLTU1NTVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyB7XG4gICAgLmdpZnQtbWVzc2FnZXMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICAuZ2lmdC1tZXNzYWdlcy1mb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IHtcbiAgICAuY29sLTEsIC5jb2wtMiB7XG4gICAgICAgIC5ib3gtdGl0bGUge1xuICAgICAgICAgICAgaDIsIGgzLCBoNCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IGg0IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyB7XG4gICAgLnNwLW1ldGhvZHMgZHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4jbXVsdGlzaGlwLWFkZHJlc3Nlcy10YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5hLWNlbnRlci5sYXN0ID4gYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuI3Jldmlldy1vcmRlci1mb3JtID4gZGl2Om50aC1jaGlsZCgzKSA+IGRpdi5kaXZpZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjbGVhcjpib3RoO1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0ge1xuICAgICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDMwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICNyZXZpZXctb3JkZXItZm9ybXtcbiAgICAgICAgLmNvbC0xLFxuICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0ge1xuICAgICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgfVxuICAgICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMyU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2UtdGl0bGUgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmVhcml6ZS10YWJsZSB7XG4gICAgICAgICAgICB0Zm9vdCB0ZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC0xLmNvbC1uYXJyb3csIC5jb2wtMi5jb2wtd2lkZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYWRkcmVzc2VzIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSB7XG4gICAgICAgIC5idXR0b25zLXNldCAuYmFjay1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYWxlbmRhciBzdHlsZXMgKHJlc3RvcmUgc3R5bGVzIGZyb20gL2pzL2NhbGVuZGFyKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmRpdi5jYWxlbmRhciB7XG4gICAgdGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuXG4gICAgICAgIHRkLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi8vIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE1hZ2VudG8gRW50ZXJwcmlzZSBFZGl0aW9uIEVuZCBVc2VyIExpY2Vuc2UgQWdyZWVtZW50XG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9FRS50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly93d3cubWFnZW50by5jb20vbGljZW5zZS9lbnRlcnByaXNlLWVkaXRpb25cbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAwNi0yMDE3IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSBodHRwOi8vd3d3Lm1hZ2VudG8uY29tL2xpY2Vuc2UvZW50ZXJwcmlzZS1lZGl0aW9uXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb3JlIEFwcGxpY2F0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJyb3dzZXIgUmVzZXRzXG5cbkBpbXBvcnQgXCJ2ZW5kb3Ivbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29yZS9yZXNldFwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb3JlXG5cbkBpbXBvcnQgXCJjb3JlL2NvbW1vblwiO1xuQGltcG9ydCBcImNvcmUvZm9ybVwiO1xuQGltcG9ydCBcImNvcmUvdGFibGVcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQWNjZXNzaWJpbGl0eVxuIEBpbXBvcnQgXCJjb3JlL2ExMXlcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmVuZG9yXG5cbi8vIEBpbXBvcnQgXCJ2ZW5kb3IvYWJjXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExheW91dFxuXG5AaW1wb3J0IFwibGF5b3V0L2dsb2JhbFwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyLW5hdlwiO1xuQGltcG9ydCBcImxheW91dC9oZWFkZXItc2VhcmNoXCI7XG5AaW1wb3J0IFwibGF5b3V0L2hlYWRlci1hY2NvdW50XCI7XG5AaW1wb3J0IFwibGF5b3V0L2hlYWRlci1jYXJ0XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1vZHVsZXNcblxuLy8gVGhlIHNvcnQgb3JkZXIgaGVyZSBpcyBpbXBvcnRhbnQgZm9yIHR3byByZWFzb25zOlxuLy8gIDEuIFRoZSBjb21waWxlZCBDU1MgbmVlZHMgdG8gYmUgbG9naWNhbGx5IG9yZGVyZWQvZ3JvdXBlZCAoTk9UIGFscGhhYmV0aWNhbGx5IG9yZGVyZWQpXG4vLyAgMi4gU2VsZWN0b3JzIG9mIGVxdWFsIHdlaWdodCBnZXQgYXBwbGllZCBiYXNlZCBvbiB3aGljaCBhcHBlYXJzIGxhc3QgaW4gdGhlIHN0eWxlc2hlZXQsXG4vLyAgICAgc28gd2Ugc2hvdWxkIHRyeSBub3QgdG8gY2hhbmdlIHRoaXMgb3JkZXIgb25jZSBpdCBpcyBpbiBwbGFjZVxuXG5AaW1wb3J0IFwibW9kdWxlL3Byb2R1Y3QtbGlzdFwiO1xuQGltcG9ydCBcIm1vZHVsZS9jYXRhbG9nLXByb2R1Y3RcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY2F0YWxvZy1tc3JwXCI7XG5AaW1wb3J0IFwibW9kdWxlL2NhdGFsb2ctY29tcGFyZVwiO1xuQGltcG9ydCBcIm1vZHVsZS9jaGVja291dC1jYXJ0XCI7XG5AaW1wb3J0IFwibW9kdWxlL2NoZWNrb3V0LW9uZXBhZ2VcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY2hlY2tvdXQtc3VjY2Vzc1wiO1xuQGltcG9ydCBcIm1vZHVsZS9jb25maWd1cmFibGVzd2F0Y2hlc1wiO1xuQGltcG9ydCBcIm1vZHVsZS9jdXN0b21lclwiO1xuQGltcG9ydCBcIm1vZHVsZS9jdXN0b21lci1wYXltZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlL2NvbnRhY3RzXCI7XG5AaW1wb3J0IFwibW9kdWxlL3BheXBhbFwiO1xuQGltcG9ydCBcIm1vZHVsZS9yZXZpZXdcIjtcbkBpbXBvcnQgXCJtb2R1bGUvc2xpZGVzaG93XCI7XG5AaW1wb3J0IFwibW9kdWxlL3dpc2hsaXN0XCI7XG5AaW1wb3J0IFwibW9kdWxlL2NoZWNrb3V0LWNhcnQtbWluaWNhcnRcIjtcbkBpbXBvcnQgXCJtb2R1bGUvc2VhcmNoXCI7XG5AaW1wb3J0IFwibW9kdWxlL2FjY291bnQtcmV2aWV3c1wiO1xuQGltcG9ydCBcIm1vZHVsZS9wcmljaW5nX2NvbmRpdGlvbnNcIjtcbkBpbXBvcnQgXCJtb2R1bGUvY29va2llc1wiO1xuQGltcG9ydCBcIm1vZHVsZS90YWdzXCI7XG5AaW1wb3J0IFwibW9kdWxlL2NhcHRjaGFcIjtcbkBpbXBvcnQgXCJtb2R1bGUvYWNjb3VudC1vcmRlcnNcIjtcbkBpbXBvcnQgXCJtb2R1bGUvcmVjdXJyaW5nLXByb2ZpbGVzXCI7XG5AaW1wb3J0IFwibW9kdWxlL2JpbGxpbmctYWdyZWVtZW50c1wiO1xuQGltcG9ydCBcIm1vZHVsZS9wb3B1bGFyLXRlcm1zXCI7XG5AaW1wb3J0IFwibW9kdWxlL3dpZGdldFwiO1xuQGltcG9ydCBcIm1vZHVsZS9jaGVja291dC1tdWx0aS1hZGRyZXNzXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE92ZXJyaWRlXG5AaW1wb3J0IFwib3ZlcnJpZGUvcGx1Z2luXCI7XG5cbi8vIFRhZyBvdmVycmlkZXNcbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmxhYmVsLnJlcXVpcmVkLCBzcGFuLnJlcXVpcmVkIHtcbiAgICAmOmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxufVxuXG4vLyBDbGFzcyBPdmVycmlkZXNcbi5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsYWNrO1xufVxuXG4uYnV0dG9ucy1zZXQge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCxcbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4ge1xuICAgIC5iYWNrLWxpbmssXG4gICAgcC5yZXF1aXJlZCxcbiAgICBoMi5sZWdlbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAuYnV0dG9ucy1zZXQsIC5maWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuZmllbGRzZXQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQtbG9naW4ge1xuICAgIC5jdXN0b21lci1uYW1lLW1pZGRsZW5hbWUgLm5hbWUtbWlkZGxlbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgTmV3c2xldHRlciBzaWdudXBcbiAgICB1bC5mb3JtLWxpc3QgbGkuY29udHJvbCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1heC13aWR0aDogMzY1cHg7XG4gICAgfVxufVxuXG4ubWVzc2FnZXMge1xuICAgIC5lcnJvci1tc2cgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1yZWQ7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWNjZXNzLW1zZyB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBDb3JlIFRvdG9rYWVsbyBjbGFzc2VzLlxuLnRrLWwxLCAudGstbDIsIC50ay1sMywgLnRrLWw0LCAudGstbDUsXG4udGstaDEsIC50ay1oMiwgLnRrLWgzLCAudGstaDQsIC50ay1oNSxcbi50ay1wMSwgLnRrLXAyIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgJi4tYm9sZCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgJi4tYmxvY2sgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgJi4tZGlzYWJsZWQge1xuICAgICAgICAmLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSA7XG4gICAgICAgICAgICBjb2xvcjogJHRrLWdyYXkgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tdGl0bGUtY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gICAgJi4tZG93bmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gICAgJi4tbm8tY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4gICAgJi4tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuXG5cbiAgICAmLi11bmRlcmxpbmVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAmLi1uby1ob3Zlcjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSA7XG4gICAgfVxuXG4gICAgJi4tcmVkICAgICAgeyBjb2xvcjogJHRrLXJlZDsgfVxuICAgICYuLXNvbGRPdXQgIHsgY29sb3I6ICR0ay1ncmF5OyB9XG59XG5cbi50ay1oLXRpbWVzIHtcbiAgICBAaW5jbHVkZSB0ay1oLXRpbWVzO1xufVxuXG4udGstaDEge1xuICAgIEBpbmNsdWRlIHRrLWgxO1xufVxuXG4udGstaDIge1xuICAgIEBpbmNsdWRlIHRrLWgyO1xufVxuXG4udGstaDMge1xuICAgIEBpbmNsdWRlIHRrLWgzO1xufVxuXG4udGstaDQge1xuICAgIEBpbmNsdWRlIHRrLWg0O1xufVxuXG4udGstaDUge1xuICAgIEBpbmNsdWRlIHRrLWg1O1xufVxuXG4udGstbDEge1xuICAgIEBpbmNsdWRlIHRrLWwxO1xufVxuXG4udGstbDIge1xuICAgIEBpbmNsdWRlIHRrLWwyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICYuLS1ibHVlLCAmLi1ibHVlIHtcbiAgICAgICAgY29sb3I6ICR0ay1ibHVlO1xuICAgIH1cblxuICAgICYuLS1ncmV5IHtcbiAgICAgICAgY29sb3I6ICR0ay1ncmF5O1xuICAgIH1cblxuICAgICYuLS1yZW1vdmUge1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRjLXJlZDsgfVxuICAgIH1cbn1cblxuLnRrLWwzIHtcbiAgICBAaW5jbHVkZSB0ay1sMztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRrLWJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLnRrLWw0IHtcbiAgICBAaW5jbHVkZSB0ay1sNDtcbn1cblxuLnRrLWw1IHtcbiAgICBAaW5jbHVkZSB0ay1sNDtcbn1cblxuLnRrLXAxIHtcbiAgICBAaW5jbHVkZSB0ay1wMTtcbn1cblxuLnRrLXAyIHtcbiAgICBAaW5jbHVkZSB0ay1wMjtcbn1cblxuLnRrLXNlY3Rpb24ge1xuICAgbWFyZ2luOiA0MHB4IDA7XG59XG5cbi50ay10ZXh0IHtcbiAgIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cbiIsIi50a3UtYmx1cnJlZCB7XG4gICAgZmlsdGVyOiBvcGFjaXR5KDUwJSkgYmx1cigycHgpO1xufVxuXG4udGt1LWZpeGVkLWZvb3RlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcblxufVxuLnRrdS1yZXNwb25zaXZlLWRlYnVnIHtcbiAgICBAaW5jbHVkZSB0ay1wMTtcbiAgICBiYWNrZ3JvdW5kOiAkYy1ibHVlO1xuICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuX19jIHtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7ICY6YWZ0ZXIgeyBjb250ZW50OiAnbW9iaWxlJzsgfSB9XG4gICAgQGluY2x1ZGUgdGstYnAtdGFibGV0KCkgeyAmOmFmdGVyIHsgY29udGVudDogJ3RhYmxldCc7IH0gfVxuICAgIEBpbmNsdWRlIHRrLWJwLWRlc2t0b3AoKSB7ICY6YWZ0ZXIgeyBjb250ZW50OiAnZGVza3RvcCc7IH0gfVxufVxuXG4udGt1LXRvZG8ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0ay1yZWQ7XG59XG4iLCIudGstYWZmaWxpYXRlcyB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcblxuICAgIGgyLCBwLCBvbCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuIiwiLnRrLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYWt6aWRlbnotcmVndWxhcjtcblxuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIC8qIE5vcm1hbGl6ZSBgbGluZS1oZWlnaHRgLiBDYW5ub3QgYmUgY2hhbmdlZCBmcm9tIGBub3JtYWxgIGluIEZpcmVmb3ggNCsuICovXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNtb290aGluZzogaW5oZXJpdDtcblxuICAgIC8qIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAvKiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrICovXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7XG5cbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvKiBUT0RPOiBET05UIFVTRSAnLS0nIFBSRUZJWCEgSVQgQlJFQUtTIE9OIFNBRkFSSVxuICAgICAqIG5hbWluZyBjb252ZW50aW9uXG4gICAgICogLWJsdWUgICAgYmx1ZSBiZ1xuICAgICAqIC1vLWJsdWUgIGJsdWUgb3V0bGluZVxuICAgICAqIC1oLW8tcmVkIGhvdmVyIG91dGxpbmUgcmVkXG4gICAgICovXG5cbiAgICAmLi1wbGFpbi10ZXh0LFxuICAgICYuLS1wbGFpbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLi1vLWJsYWNrLFxuICAgICYuLS1vYmxhY2sge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAmLi1vLWJsdWUsXG4gICAgJi4tLWJsdWUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgfVxuXG4gICAgJi4taC1vLWJsdWUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLi13aWRlLFxuICAgICYuLS13aWRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi4tby1yZWQge1xuICAgICAgICBjb2xvcjogJGMtcmVkO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLXJlZDtcbiAgICB9XG5cbiAgICAmLi1oLW8tcmVkIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGMtcmVkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1yZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIDxidXR0b24+IGVsZW1lbnRzIGdldHRpbmcgc29tZSBleHRyYSBzdHlsZSBsb3ZlLFxuLy8gc28gbWF0Y2ggPGE+IHRvIHRoZW1cbmEudGstYnV0dG9uIHtcbiAgICBwYWRkaW5nOiA5cHggMTVweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuIiwiLnRrLWNhcmVlcnMge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLnRrLWgxIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLl9fYmx1cmIge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fbGlzdCB7XG4gICAgICAgIC5fX2xvY2F0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDIwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NpdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstY2FydC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDUwcHggMCAkdHJpbSAwO1xuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cblxuICAgIC5fX2xpc3Qge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIC5fX2hlYWRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2hlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDExcHg7XG5cbiAgICAgICAgPiAuX19kZXNjLFxuICAgICAgICA+IC5fX3ByaWNlLFxuICAgICAgICA+IC5fX3F0eSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2hlYWRlcixcbiAgICAuX19wcm9kdWN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgID4gLl9fZGVzYyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5fX3ByaWNlIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLl9fcXR5IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLl9fc3VidG90YWwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19wcm9kdWN0IHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIgeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19kZXNjIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODZweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA4NnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstaDU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0cHggMTVweCAxMHB4IDdweDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMTBweDtcblxuICAgICAgICAgICAgICAgIC5fX2Rlc2lnbmVyLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1oMztcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19za3Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgPiBkdCwgPiBkZCB7IGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgICAgICAgICAgID4gZHQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2xvdy1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IC8vIExpbmUgdXAgd2l0aCBEZXNpZ25lciBOYW1lXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3F0eSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyAvLyBMaW5lIHVwIHdpdGggcmVzdCBvZiBjb250ZW50XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQucXR5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX3VwZGF0ZSxcbiAgICAgICAgICAgIC5fX3JlbW92ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAvLyBXb3VsZCBiZSBuaWNlIHRvIGV4dGVuZCBwYWRkaW5nLCBidXQgd2UgZG9uJ3RcbiAgICAgICAgICAgICAgICAvLyB3YW50IHVuZGVybGluZXMgZXh0ZW5kaW5nIHBhc3QgdGhlIHdvcmRzXG5cbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDQ0O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uLl9fdXBkYXRlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLl9fcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gOTZweCk7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgICAgICBsYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAgICAgaW5wdXQucXR5IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAvLyBTaG92ZSB0aGUgXCJ1cGRhdGVcIi9cInJlbW92ZVwiIGJ1dHRvbnMgb3ZlclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhLl9fcmVtb3ZlIHsgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3N1YnRvdGFsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDsgLy8gQ2xlYXIgdGhlIGZsb2F0ZWQgLl9fcXR5IGFib3ZlXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAuX19pbWFnZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIC5fX2NvbmZpZ3VyYWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19wcmljZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgIC5fX3F1YW50aXR5IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19zdWJ0b3RhbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKi9cbiAgICB9XG59XG4iLCIudGstY2FydC10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAuX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWgxO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLl9fY29udGludWUge1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5fX2NvbnRpbnVlIHtcbiAgICAgICAgICAgIC5fX2V4dHJhIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDlweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1jYXRhbG9nLW5hdiB7XG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWw0O1xuXG4gICAgICAgICYuLWN1cnJlbnQge1xuICAgICAgICAgICAgY29sb3I6ICR0ay1ibHVlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICA+IGg2LCA+IGEge1xuICAgICAgICBAaW5jbHVkZSB0ay1oMztcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgIH1cblxuICAgID4gaDYgPiBhLCA+IGEge1xuICAgICAgICBAaW5jbHVkZSB0ay1sMjtcblxuICAgICAgICAmLi1zYWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWw0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAmLi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRrLWJsdWU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5fX2xpc3Qge1xuICAgICAgICAuX19saXN0LCAmLi1zYWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstY2F0ZWdvcnktdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IC8vIFByb2R1Y3QgZ3JpZCBpcyBhIGJpdCBmdW5reSwgc28gYWxpZ24gdGhlIGVkZ2VzIGhlcmVcblxuICAgIC5fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi13aGl0ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tbm9JbWFnZSB7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDUycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4td2l0aEltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19pbWFnZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuIiwiLnRrLWNoYXQtbG9nIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWF4LWhlaWdodDogOTB2aDtcblxuICAgIC5fX2VudHJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuXG4gICAgICAgIC5fX3VzZXIge1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSBhdCBjZW50ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fbWVzc2FnZSB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1jbGllbnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgLl9fdXNlciB7IG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi1vdGhlciB7XG4gICAgICAgICAgICAuX191c2VyIHsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi1hZ2VudC1pcy10eXBpbmcge1xuICAgICAgICAgICAgPiAuX19tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3N0YXR1cyB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgIH1cbn1cbiIsIi50ay1jaGVja291dC1oZWFkZXIge1xuICAgICRwYWRkaW5nLXRvcDogMjdweDtcbiAgICAkcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgJHBhZGRpbmctaG9yaXpvbnRhbDogMzBweDtcblxuICAgICo6Zm9jdXMgeyBvdXRsaW5lOiAwIH1cblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcCAvIDI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b20gLyAyO1xuXG4gICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcblxuICAgICAgICAmLl9fbGhzIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3Jpem9udGFsIC8gMjtcblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wIC8gMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6b250YWwgLyAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6b250YWwgLyAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b20gLyAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5fX3JocyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlIG5vd3JhcDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgICAgICAgICAgLl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLl9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6b250YWwgLyA0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgLl9fdGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJiwgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmEge1xuICAgICAgICAgICAgLy8gRm9udCBBd2Vzb21lIGFzc2V0c1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAuX19sb2dvIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLWJvdHRvbTtcblxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHsgbWFyZ2luOiAwIGF1dG87IH1cbiAgICB9XG5cbiAgICAuX19jb250YWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNzZweDsgLy8gZXllYmFsbGVkIHRvIGJvdHRvbSBvZiB0ay1jaGVja291dC1oZWFkZXJcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBibGFjaztcblxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTtcblxuICAgICAgICAmLi12aXNpYmxlIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxLjA7XG4gICAgICAgIH1cblxuICAgICAgICB3aWR0aDogMzMlO1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC1kb3duIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcblxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDsgLy8gcHVsbCB0byBiZSBpbmxpbmUgd2l0aFxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDcuNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWwxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5mYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IC5mYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgIC5fX2xocywgLl9fcmhzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuX19sb2dvIGltZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkge1xuICAgIC50ay1jaGVja291dC1oZWFkZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAmLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXgge1xuICAgICAgICBkaXYuaGVhZGVyLWNvbnRhaW5lciBkaXYuaGVhZGVyIHtcbiAgICAgICAgICAgIC50ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGstY2hlY2tvdXQtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLWNoZWNrb3V0IHtcbiAgICAjcmVtZW1iZXItbWUtYm94IHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbiAgICAuX19jaGVja291dC1zdGVwcyB7XG4gICAgICAgIC5fX3N0ZXAtc2lnbi1pbi1icmVhZGNydW1iIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAuX19oZWxwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbiAuc3RlcC10aXRsZSBoMiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuX19zaWduLWluIHtcbiAgICAgICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19tZW1iZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi1tb2JpbGUtc2lnbi1pbiB7XG4gICAgICAgICAgICAuX19jaGVja291dC1zdGVwcyAuX19zdGVwLXNpZ24taW4tYnJlYWRjcnVtYiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6ICcg4oCTICc7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fc2lnbi1pbiB7XG4gICAgICAgICAgICAgICAgLl9fbWVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLl9fYW5vbnltb3VzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgICAgbWF4LXdpZHRoOiAxMDI0cHg7XG5cbiAgICAgICAgLl9fZnVubmVsIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuX19oZWxwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fY2hlY2tvdXQtc3RlcHMgLl9fc3RlcC1zaWduLWluLWJyZWFkY3J1bWIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuX19mdW5uZWwge31cblxuICAgIC5fX2hlbHAge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5fX3NpZ24taW4ge1xuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDYwcHggMDtcblxuICAgICAgICAgICAgLl9fbWVtYmVyLCAuX19hbm9ueW1vdXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggNTBweCAyMHB4IDUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX21lbWJlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX21vYmlsZS1zaWduLWluIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fbWVtYmVyLCAuX19hbm9ueW1vdXMge1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fbWVtYmVyIHtcbiAgICAgICAgICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLWxpc3QgPiBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fZm9yZ290LXBhc3N3b3JkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2Fub255bW91cyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgICAgICAuX19tb2JpbGUtc2lnbi1pbi1saW5rLWNvbnRhaW5lciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS5fX21vYmlsZS1zaWduLWluLFxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJi4tby1ibHVlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLWRlc2lnbmVycy1saXN0IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgIC5fX2RlcGFydG1lbnQsXG4gICAgLl9fbGV0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdGstaDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAycHggMCAzcHggMDtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgICYuLWN1cnJlbnQge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjogJHRrLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19saW5rIHtcbiAgICAgIEBpbmNsdWRlIHRrLWwyO1xuICAgICAgY29sb3I6ICR0ay1ncmF5O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLl9fZGVwYXJ0bWVudHMge1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICAgIHdpZHRoOiAxNXZ3O1xuICAgIH1cblxuICAgIC5fX2Rlc2lnbmVycyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDcwdnc7XG4gICAgICAgIG1hcmdpbjogMCAxNXZ3IDAgMDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICBoZWlnaHQ6IDEwMDBweDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHggMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWlzLXJlZmluZW1lbnQtbGlzdC0tYm9keSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuX19sZXR0ZXIge1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwIDNweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuX19kZXBhcnRtZW50cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cblxuICAgICAgLl9fZGVzaWduZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogbm9uZTtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldCB7XG4gICAgICAuX19kZXNpZ25lcnMge1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgaGVpZ2h0OiBub25lO1xuICAgICAgICAgIG1heC13aWR0aDogODV2dztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufVxuIiwiLnRrLWVkaXRvcmlhbC1jcmVkaXQge1xuXHRAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHR1bCB7IG1hcmdpbjogMjBweCAwOyB9XG5cdGxpIHsgcGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cblx0c3BhbiB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblx0XG5cdCYuLWFkZC13aWR0aCB7IFxuXHRcdEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcblx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0fSBcblx0fVxufVxuIiwiLnRrLWVkaXRvcmlhbC1pbWFnZSB7IFxuICAvKiBDYXB0aW9ucyBvZiBsaW5rZWQgcHJvZHVjdHMvYnJhbmRzIEJFTE9XIGVkaXRvcmlhbCBpbWFnZXMgKi9cbiAgLl9fY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgbHlvbi1yZWd1bGFyXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgY29sb3I6ICR0ay1saWdodC1ncmF5O1xuICAgIFxuICAgIGEsXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuICAgICAgY29sb3I6ICR0ay1saWdodC1ncmF5O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi4td2hpdGUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBhLFxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLyogQ2FwdGlvbnMgb2YgbGlua2VkIHByb2R1Y3RzL2JyYW5kcyBpbiBlZGl0b3JpYWwgaW1hZ2VzICovXG4gIC5fX3Byb2R1Y3RzIHsgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIGhlaWdodCAwLjVzIGVhc2U7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgaGVpZ2h0IDAuNXMgZWFzZTtcblxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIFxuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIGEge1xuICAgICAgZm9udC1mYW1pbHk6ICdBa3ppZGVuekdyb3Rlc2tSZWd1bGFyJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICY6aG92ZXIgeyBjb2xvcjogYmxhY2s7IH1cbiAgICB9XG5cbiAgICAmLi12aXNpYmxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIC5fX3Byb2R1Y3RzIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAuX19wcm9kdWN0cyB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIC5fX3Byb2R1Y3RzIHtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmLi1vdmVybGF5LXByb2R1Y3RzIHtcbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAoKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5fX3Byb2R1Y3RzIHtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogd2hpdGU7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIudGstZWRpdG9yaWFsLCAudGtFZGl0b3JpYWwge1xuICBAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgzcHg7XG4gIH1cblxuICAuX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAoKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAuX19zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAuX19yb3cge1xuICAgIC5fX2ltYWdlIHtcbiAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAoKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcblxuICAgICAgJi4tbm9Cb3R0b20gICB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICYuLXBhZEJvdHRvbSwgJi4tcGFkLWJvdHRvbSB7IHBhZGRpbmctYm90dG9tOiAyMDBweDsgfVxuXG4gICAgICAmLi1uZWdNYXJnaW4xIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIH1cbiAgICB9IC8vIG1lZGlhXG4gIH0gICAvLyAuX19yb3dcblxuICAuX19jcmVkaXRzIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgIHdpZHRoOiAyOWVtO1xuXG4gICAgdWwsICYge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi4tLXNhZ0hhcmJvciB7XG4gICAgLl9fcm93IHtcbiAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgICAgJi4tc2FnUGFpcjEge1xuICAgICAgICAgIGhlaWdodDogNTAuMjV2dztcbiAgICAgICAgICAuLWxoIHsgaW1nIHsgaGVpZ2h0OiAyNS41dnc7IH0gfSAvLyBleWViYWxsJ2QgNCBjb2xzXG4gICAgICAgICAgLi1yaCB7IGltZyB7IGhlaWdodDogMzcuNnZ3OyB9IH0gLy8gZXllYmFsbCdkIDYgY29sc1xuICAgICAgICB9XG5cbiAgICAgICAgJi4tc2FnUGFpcjIge1xuICAgICAgICAgIGhlaWdodDogNjMuNXZ3O1xuICAgICAgICAgIC4tbGggeyBpbWcgeyBoZWlnaHQ6IDUwLjh2dzsgfSB9IC8vIGV5ZWJhbGwnZCA4IGNvbHNcbiAgICAgICAgICAuLXJoIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygyLjYzICogMTAwdncgLyAxOCk7XG5cbiAgICAgICAgICAgIGltZyB7IGhlaWdodDogMjUuNXZ3OyB9IC8vIGV5ZWJhbGwnZCA0IGNvbHNcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi1zYWdQYWlyMyB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDExLjg2LzE4ICogMTAwdncpO1xuXG4gICAgICAgICAgLi1saCB7IGltZyB7IGhlaWdodDogY2FsYyg1LjU1LzE4ICogMTAwdncpOyAgfSB9IC8vIGV5ZWJhbGwnZCA1IGNvbHNcbiAgICAgICAgICAuLXJoIHsgaW1nIHsgaGVpZ2h0OiBjYWxjKDkuMDUvMTggKiAxMDB2dyk7IH0gfSAgLy8gZXllYmFsbCdkIDggY29sc1xuICAgICAgICB9XG5cbiAgICAgICAgJi4tc2FnUGFpcjQge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxNC4xMi8xOCAqIDEwMHZ3KTtcbiAgICAgICAgICAuLXJoIHsgaW1nIHsgaGVpZ2h0OiBjYWxjKDExLjM1LzE4ICogMTAwdncpOyB9IH0gICAgLy8gZXllYmFsbCdkIDggY29sc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudGstZWRpdG9yaWFscy1saXN0IHtcbiAgICAuX19jZWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgLl9fY292ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGstbDI6aG92ZXIgKiB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbWFyZ2luOiAxNXB4IDE1cHggMCAxNXB4O1xuXG4gICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC5fX2NlbGwge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLWRlc2t0b3Age1xuICAgICAgICBtYXJnaW46IDgwcHggNTBweCA1MHB4IDUwcHg7XG4gICAgfVxufVxuIiwiLnRrLWZpbmFsLXNhbGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICRjLXJlZDtcbn1cbiIsIi8qIGh0dHA6Ly90b3Rva2FlbG8uY29tL2Fib3V0L3RrLWZsZXgtcm93ICovXG4udGstZmxleC1yb3ctZ3VpZGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgPiAuX19leGFtcGxlIHtcbiAgICAgICAgY29sb3I6ICMxMTE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBDb3VyaWVyLCBtb25vc3BhY2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcblxuICAgICAgICA+IC5fX2JsdXJiIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5fX3JvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19ndWlkZS1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxOCB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICAgICAgIC8vIFRhc3RlIHRoZSByYWluYm93XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKCRpICogKDM2MC8xOCksIDUwLCA4MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi10YWxsIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstZmxleC1yb3cge1xuICAgICR0b3RhbENvbHVtbnM6IDEyO1xuICAgICRndXR0ZXJXaWR0aDogMTBweDtcblxuICAgICYudGstZnJvbnQtcGFnZSB7XG4gICAgICAgICRndXR0ZXJXaWR0aDogMHB4O1xuICAgIH1cbiAgICBAZnVuY3Rpb24gY2FsY1coJG51bUNvbHVtbnMsICRpbmNsdWRlR3V0dGVyOiBmYWxzZSkge1xuICAgICAgICAkdG90YWxHdXR0ZXJzOiAkdG90YWxDb2x1bW5zIC0gMTtcbiAgICAgICAgJG51bUd1dHRlcnM6IGlmKCRpbmNsdWRlR3V0dGVyLCAkbnVtQ29sdW1ucywgJG51bUNvbHVtbnMgLSAxKTtcblxuICAgICAgICBAcmV0dXJuIGNhbGMoXG4gICAgICAgICgjeyRudW1Db2x1bW5zfS8jeyR0b3RhbENvbHVtbnN9ICogKDEwMCUgLSAoI3skdG90YWxHdXR0ZXJzfSAqICN7JGd1dHRlcldpZHRofSkpKSArXG4gICAgICAgICN7JGd1dHRlcldpZHRofSAqICN7JG51bUd1dHRlcnN9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkdGstYnAtdGFibGV0LW1pbikge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLi1saCB7IG9yZGVyOiAwOyB9XG4gICAgICAgIC4tcmggeyBvcmRlcjogOTk5OyB9XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxOCB7XG4gICAgICAgICAgICAuLXcjeyRpfSB7IHdpZHRoOiBjYWxjVygkaSk7IH1cbiAgICAgICAgICAgIC4tbyN7JGl9IHsgbWFyZ2luLWxlZnQ6IGNhbGNXKCRpLCB0cnVlKTsgfVxuICAgICAgICAgICAgLi1ybyN7JGl9IHsgbWFyZ2luLXJpZ2h0OiBjYWxjVygkaSwgdHJ1ZSk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4tdi10b3AgICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgICAgICAuLXYtY2VudGVyICB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgICAgICAuLXB1bGwtZG93bixcbiAgICAgICAgLi12LWJvdHRvbSAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgICAgICAuLXN0cmV0Y2ggICB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7ICB9XG5cbiAgICAgICAgJi4tbGVmdC1hbGlnbiB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAmLi1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgICAgICYuLWNlbnRlciB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuLXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuLXRleHQtcmlnaHQgICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgfSAvLyBtZWRpYVxuXG4gICAgLy8gV2hlcmUgcGFnZXMgYXJlIGZ1bGx5LWJsZWQsIGhvb2sgYmFjayBpbnRvIHRoZSBzdGFuZGFyZCBib2R5IG1hcmdpbnMuXG4gICAgJi4tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICR0ay1icC10YWJsZXQtbWF4KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLWJsZWVkIHtcbiAgICAgICAgLy8gU2FmYXJpIGRvZXNuJ3QgcmVsb2FkIGltYWdlcyB1cG9uIHZpZXdwb3J0IGNoYW5nZSwgc28ganVzdCBibGVlZCB0aGUgaW1hZ2VcbiAgICAgICAgaW1nIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkdG90YWxDb2x1bW5zIHtcbiAgICAgICAgICAgICAgICAuLXcjeyRpfSB7IHdpZHRoOiAoMTAwJSAqICRpIC8gJHRvdGFsQ29sdW1ucyk7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLXdyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLnZpZGVvLWpzIHtcbiAgICAgICAgd2lkdGg6IDEwMC4xJTtcbiAgICB9XG59XG5cbi50ay1mbGV4LXJvdy0tMTgge1xuICAgICR0b3RhbENvbHVtbnM6IDE4O1xuXG4gICAgQGZ1bmN0aW9uIGNhbGNXKCRudW1Db2x1bW5zLCAkaW5jbHVkZUd1dHRlcjogZmFsc2UpIHtcbiAgICAgICAgJHRvdGFsR3V0dGVyczogJHRvdGFsQ29sdW1ucyAtIDE7XG5cbiAgICAgICAgJGd1dHRlcldpZHRoOiAxMHB4O1xuICAgICAgICAkbnVtR3V0dGVyczogaWYoJGluY2x1ZGVHdXR0ZXIsICRudW1Db2x1bW5zLCAkbnVtQ29sdW1ucyAtIDEpO1xuXG4gICAgICAgIEByZXR1cm4gY2FsYyhcbiAgICAgICAgKCN7JG51bUNvbHVtbnN9LyN7JHRvdGFsQ29sdW1uc30gKiAoMTAwJSAtICgjeyR0b3RhbEd1dHRlcnN9ICogI3skZ3V0dGVyV2lkdGh9KSkpICtcbiAgICAgICAgI3skZ3V0dGVyV2lkdGh9ICogI3skbnVtR3V0dGVyc31cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICR0ay1icC10YWJsZXQtbWluKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAuLWxoIHsgb3JkZXI6IDA7IH1cbiAgICAgICAgLi1yaCB7IG9yZGVyOiA5OTk7IH1cblxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDE4IHtcbiAgICAgICAgICAgIC4tdyN7JGl9IHsgd2lkdGg6IGNhbGNXKCRpKTsgfVxuICAgICAgICAgICAgLi1vI3skaX0geyBtYXJnaW4tbGVmdDogY2FsY1coJGksIHRydWUpOyB9XG4gICAgICAgICAgICAuLXJvI3skaX0geyBtYXJnaW4tcmlnaHQ6IGNhbGNXKCRpLCB0cnVlKTsgfVxuICAgICAgICB9XG4gICAgICAgIC4tdi10b3AgICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgICAgICAuLXYtY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgICAgICAgLi1wdWxsLWRvd24geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgICAgICAuLXN0cmV0Y2ggICB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7ICB9XG5cbiAgICAgICAgJi4tbGVmdC1hbGlnbiB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAmLi1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgICAgICYuLWNlbnRlciB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuLXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuLXRleHQtcmlnaHQgICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgfSAvLyBtZWRpYVxuXG4gICAgLy8gV2hlcmUgcGFnZXMgYXJlIGZ1bGx5LWJsZWQsIGhvb2sgYmFjayBpbnRvIHRoZSBzdGFuZGFyZCBib2R5IG1hcmdpbnMuXG4gICAgJi4tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICR0ay1icC10YWJsZXQtbWF4KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLWJsZWVkIHtcbiAgICAgICAgLy8gU2FmYXJpIGRvZXNuJ3QgcmVsb2FkIGltYWdlcyB1cG9uIHZpZXdwb3J0IGNoYW5nZSwgc28ganVzdCBibGVlZCB0aGUgaW1hZ2VcbiAgICAgICAgaW1nIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkdG90YWxDb2x1bW5zIHtcbiAgICAgICAgICAgICAgICAuLXcjeyRpfSB7IHdpZHRoOiAoMTAwJSAqICRpIC8gJHRvdGFsQ29sdW1ucyk7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLXdyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLnZpZGVvLWpzIHtcbiAgICAgICAgd2lkdGg6IDEwMC4xJTtcbiAgICB9XG59XG4iLCIudGstZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICBwYWRkaW5nOiAyN3B4IDMwcHggMzBweCAzMHB4O1xuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICBwYWRkaW5nOiAyN3B4IDMwcHggMzBweCAzMHB4O1xuICAgIH1cblxuICAgIC5fX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggNjJweCAzcHggNjJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fY2xpZW50LXNlcnZpY2UgeyBvcmRlcjogMjsgfVxuICAgICAgICAgICAgLl9fY29udGFjdCB7IG9yZGVyOiAzOyB9XG4gICAgICAgICAgICAuX19zb2NpYWwgeyBvcmRlcjogNDsgfVxuICAgICAgICAgICAgLl9fbWFpbGluZy1saXN0IHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9faGVhZGVyLi1kZXNrdG9wIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2hlYWRlci4tbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgLl9fY2xpZW50LXNlcnZpY2UsXG4gICAgICAgICAgICAuX19jb250YWN0LFxuICAgICAgICAgICAgLl9fc29jaWFsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19jbGllbnQtc2VydmljZSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2NvbnRhY3Qge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19zb2NpYWwge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19tYWlsaW5nLWxpc3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3Rlcm1zIHtcbiAgICAgIEBpbmNsdWRlIHRrLWg1O1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NvbnRhaW5lciB7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgLmJsb2NrLXN1YnNjcmliZSwgdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuLW9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAuYmxvY2stc3Vic2NyaWJlLCB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5fX2hlYWRlci4tbW9iaWxlIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19oZWFkZXIuLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAvLyBDaHJvbWUgZml4OiB3aXRob3V0IHRoaXMsIHdlIHNlZW0gdG8gZ2V0IGEgYmxvYXRlZCBoZWlnaHQgZnJvbSB0aGUgaW1nXG4gICAgICAgICAgICBoZWlnaHQ6IDRlbTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLWZyb250LXBhZ2UtLTExLTIwIHtcbiAgICAuX19oZWFkZXItbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1NHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDM5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgPiAqIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2hlbHZldGljYSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3RpbWVzIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBUaW1lcywgc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1hcmdpbjogMzBweDtcblxuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuXG4gICAgPiAuX19yb3cge1xuICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICBhIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLi10aXRsZXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2ZlYXR1cmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgJi5fX3JvdzEge1xuICAgICAgICAgICAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWZlYXR1cmVzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLl9fcm93MSxcbiAgICAgICAgICAgICYuLXRpdGxlcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1mcm9udC1wYWdlLS0xMi0wNSB7XG4gICAgLl9faGVhZGVyLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTRweDtcblxuICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDlweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgID4gKiB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19oZWx2ZXRpY2Ege1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZS1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuX190aW1lcyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogVGltZXMsIHNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXJnaW46IDMwcHg7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcblxuICAgID4gLl9fcm93IHtcbiAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgYSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fZmVhdHVyZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuXG4gICAgICAgICAgICAmLl9fcm93MSB7XG4gICAgICAgICAgICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi4tZmVhdHVyZXMge1xuICAgICAgICAgICAgICAgIC5fX2ZlYXR1cmUge1xuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICYsICoge1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5fX2ltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnZ3O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstZnJvbnQtcGFnZS0tMjAxOC0wMi0xMyB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLl9fcm93IHtcbiAgICB9XG5cbiAgICAuX19jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRrdS10b2RvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgfVxufVxuIiwiLnRrLWZyb250LXBhZ2UtLTktMjgge1xuICBtYXJnaW46IDMwcHg7XG5cbiAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG5cbiAgPiAuX19yb3cge1xuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAmLi10aXRsZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuX19mZWF0dXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgJi5fX3JvdzEge1xuICAgICAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuLWZlYXR1cmVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgIH1cblxuICAgICAgJi5fX3JvdzEsXG4gICAgICAmLi10aXRsZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnRrLWZyb250LXBhZ2Uge1xuICAgIGEge1xuICAgICAgICBjb2xvcjogIzAwMDsgICAgICAgICAgICBcbiAgICB9ICAgIFxuXG4gICAgLl9fcm93IHtcblxuICAgICAgICAuX19jZWxsIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NlbGwgKyAuX19jZWxsIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fcm93MSwgLl9fcm93MiB7ICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuX19jZWxsICsgLl9fY2VsbCB7XG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19yb3czIHtcbiAgICAgICAgLl9fY2VsbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xuXG4gICAgICAgICAgICBoMiwgaDMgeyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3RhIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg1ZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHsgXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgICAgIGgyLCBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICAgICAgfSAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC1kb3duIHtcbiAgICAgICAgICAgICAgICAuY3RhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICB9ICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5fX3JvdzQge1xuICAgICAgICAuX19jZWxsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9IFxuXG4gICAgICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTBweDtcblxuICAgICAgICAgICAgICAgIGgyLCBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIudGstZ2lmdC1ndWlkZS0yMDE4IHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0bWFyZ2luLXRvcDogNTBweDtcblxuXHRAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQuX19oZWFkZXItaW1hZ2Uge1xuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdFx0QGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuXHRcdFx0d2lkdGg6IDQ0JTtcblx0XHRcdG1hcmdpbjogMCBhdXRvIDMwcHg7XG5cdFx0fVxuXG5cdFx0Ll9faGVhZGVyLWltYWdlLWNvbnRhaW5lciB7XG5cdFx0XHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0fVxuXHR9XG5cblx0Ll9fYm9keS10ZXh0IHtcblx0XHRmb250LWZhbWlseTogVGltZXMsIHNlcmlmO1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0QGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHRcdH1cblx0fVxuXG5cdC4tZnVsbC1ibGVlZCB7XG5cdFx0bWFyZ2luLWxlZnQ6IC0zMHB4O1xuXHRcdG1hcmdpbi1yaWdodDogLTMwcHg7XG5cdFx0Ll9fY2FwdGlvbiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMzBweDtcblx0XHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHR9XG5cdH1cblxuXHQuX19pbWFnZS1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ll9fZGlwdHljaC1jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXG5cdC5fX2RpcHR5Y2gtaW1hZ2Uge1xuXHRcdHdpZHRoOiA0OSU7XG5cdFx0QGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHRcdH1cdFxuXHR9XG5cblx0Ll9fc2hvcC1idG4tY29udGFpbmVyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0QGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuXHRcdFx0bWFyZ2luOiA1MHB4IGF1dG8gMTEwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ll9fcHJvZHVjdC1mZWVkIHtcblx0XHRAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5fX2Z1bGwtd2lkdGgtbGluZSB7XG5cdFx0bWFyZ2luOiAwcHggLTMwcHg7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG5cblx0XHQmLi1wYWQtYm90dG9tIHtcblx0XHRcdG1hcmdpbjogMTAwcHggLTMwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ll9fZ2lmdC1ndWlkZXMtdGl0bGUge1xuXHRcdEBpbmNsdWRlIGFremlkZW56LXJlZ3VsYXI7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdG1hcmdpbjogMTVweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHR9XG5cdH1cblxuXHQuX19nYWxsZXJ5LXNlY3Rpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IC0zMHB4O1xuXHR9XG5cblx0Ll9fZ2FsbGVyeS1jb250YWluZXIge1xuXHR9XG5cblx0Ll9fZ2lmdC1ndWlkZS10aWxlIHtcblx0XHRAaW5jbHVkZSBha3ppZGVuei1yZWd1bGFyO1xuXHRcdHBhZGRpbmc6IDUwcHggMzBweDtcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwO1xuXG5cdFx0Ji4tbm8tbGluZSB7XG5cdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5fX3RpbGUtY29udGFpbmVyIHtcblx0XHR3aWR0aDogODUlO1xuXG5cdFx0QGluY2x1ZGUgdGstYnAtdGFibGV0LWRvd24oKSB7XG5cdFx0XHR3aWR0aDogOTUlO1xuXHRcdH1cblx0fVxuXG5cblx0Ll9fdGlsZS1oZWFkZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cblxuXHQuX190aWxlLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMTVweDtcblx0XHRAaW5jbHVkZSB0ay1icC10YWJsZXQoKSB7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0fVxuXHR9XG5cblx0Ll9fdGlsZS1saW5rcyB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxMnB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuXG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdGNvbG9yOiAkdGstZ3JheTtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkdGstYmxhY2s7XG5cdFx0fVxuXHR9XG5cblx0LmluYWN0aXZlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbn0iLCIvKiBjb25zb2xpZGF0ZWQgaGVscCBwYWdlLiB0b3Rva2FlbG8uY29tL2hlbHAgKi9cbi50ay1oZWxwIHtcbiAgICAudGstaDEsIC50ay1oMiB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIC5fX25hdiB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19jdXJyZW50LXNlY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5fX2xpc3Qge1xuICAgICAgICAuX19jaGF0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICBAaW5jbHVkZSB0ay1oMjtcblxuICAgICAgICAuX19uYXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMzBweDtcblxuICAgICAgICAgICAgJi5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2JvZHkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE4MHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgdGstcDE7XG5cbiAgICAgICAgLl9fbmF2LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAuX19uYXYge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICB0b3A6IDEyNXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKDVweCk7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19jdXJyZW50LXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENocm9tZSBmaXg6IHdpdGhvdXQgdGhpcywgd2Ugc2VlbSB0byBnZXQgYSBibG9hdGVkIGhlaWdodCBmcm9tIHRoZSBpbWdcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FyZXQgcG9pbnRzIHRvIHRoZSByaWdodFxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi4tb3BlbiAuX19saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRrLXNlY3Rpb24uLXNoaXBwaW5nIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgICAgICAuX19uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX2RlbGl2ZXJlZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19jb3N0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRrLXNlY3Rpb24uLXNpemUtZ3VpZGUge1xuICAgICAgICAuX19kZWZpbml0aW9uVGl0bGUsIGR0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ay1zZWN0aW9uLi1wYXltZW50IHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAudGstc2VjdGlvbi4tbS1hbmNob3Ige1xuICAgICAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDA4NjEwNy9odG1sLXBvc2l0aW9uZml4ZWQtcGFnZS1oZWFkZXItYW5kLWluLXBhZ2UtYW5jaG9yc1xuICAgICAgICAgICAgJG9mZnNldDogMTU1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJG9mZnNldDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kb2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLWhvbGlkYXktc2hpcHBpbmcge1xuXG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgaDYge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC5fX2dyZXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgfVxufVxuIiwiLnRrLWhvdmVyLWNlbGwge1xuICAgIGltZyB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAuX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLl9faW1hZ2Uge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICR0ay1ibHVlO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLCBwLCAuX190aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGstYmx1ZTtcblxuICAgICAgICAgICAgLi1uby11bmRlcmxpbmUge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGE6Zm9jdXMgaW1nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCAkYy1saW5rICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgfVxuXG4gICAgJi4tZGVza3RvcC1oaWRlLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLW92ZXJsYXktdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAoKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMTExO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgIC5fX2xpbmsgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLi1hbHdheXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgLl9fdGl0bGUgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICAgICAgICAgICAgLl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBicmVha3BvaW50XG4gICAgfVxuXG4gICAgJi4tbW9iaWxlLW92ZXJsYXktdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiA2cHg7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuXG4gICAgICAgICAgICBjb2xvcjogIzExMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgLl9fbGluayB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5fX3RpdGxlIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgICAgICAgICAgLl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi13aGl0ZVRleHQsICYuLXdoaXRlLXRleHQge1xuICAgICAgICAgICAgJiwgcCwgLl9fdGl0bGUsIC5fX3RpdGxlID4gKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLW1vYmlsZS1oaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgICYuLW5vVGV4dEhvdmVyLCAmLi1uby10ZXh0LWhvdmVyIHtcbiAgICAgICAgJiwgcCwgLl9fdGl0bGUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4td2hpdGVUZXh0LCAmLi13aGl0ZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwKCkge1xuICAgICAgICAgICAgJiwgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJiwgcCwgLl9fdGl0bGUsIC5fX3RpdGxlICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgYTpmb2N1cyB7XG4gICAgICAgICAgICAgIG91dGxpbmUtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1pbWFnZS16b29tIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgcGFkZGluZzogJHRrLXNwYWNlcjtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHotaW5kZXg6IDI7XG5cbiAgICAuX19tYXNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGZpbHRlcjogb3BhY2l0eSg5NSUpIGJsdXIoNXB4KTtcblxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgIH1cblxuICAgIC5jbG9zZSxcbiAgICAubmV4dCxcbiAgICAucHJldmlvdXMge1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHpvb20tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5leHQsXG4gICAgICAgIC5wcmV2aW91cyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDQwdmg7IC8vIHdlIHdhbnQgaXQgY2VudGVyZWQgb24gdGhlIHZpZXdwb3J0LCBidXQgdGhlIGhlYWRlci9pbWFnZSBtYXJnaW5zIGFyZSBtdWNraW5nIHRoaXMgdXBcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZpb3VzIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJHRrLXNwYWNlciAvIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1saXN0IHtcbiAgICBtYXJnaW46IDIwcHggMCAyMHB4IDQwcHg7XG5cbiAgICBAaW5jbHVkZSB0ay1wMTtcblxuICAgICYuLWRpc2Mge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgfVxuXG4gICAgJi4tbnVtZXJpYyB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICB9XG5cbiAgICAmLi1hbHBoYSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgIH1cbn1cbiIsIi50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIHtcbiAgd2lkdGg6IDI4MHB4O1xuICBAaW5jbHVkZSB0ay1icC1tb2JpbGUgeyB3aWR0aDogMTAwJTsgfVxuXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgLmlucHV0LXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLl9faW5wdXRzIHtcbiAgICAgIG1hcmdpbjogMTVweCAwO1xuXG4gICAgICAuX19lbWFpbCB7XG4gICAgICB9XG5cbiAgICAgIC5fX2Nob2ljZXMge1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgfVxuICB9XG5cbiAgLl9fcHJvbW90aW9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLl9fY2hvaWNlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICA+IHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIHRrLWwyO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgICYuLXZhbGlkIHtcbiAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1hZHZpY2UgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogJGMtcmVkO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgICAgPiBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBmbGV4LWdyb3c6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG5cbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5fX2Vycm9yIHtcbiAgICBjb2xvcjogJGMtcmVkO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMC4wO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluLW91dDtcblxuICAgICYuLXZpc2libGUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICBvcGFjaXR5OiAxLjA7XG5cbiAgICB9XG4gIH1cblxuICAuX19zdWJzY3JpYmUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUoKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnRrLW1vZGFsLWNvbnRhaW5lciB7XG4gICAgJHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG5cbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDB2dztcblxuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlO1xuXG4gICAgPiBkaXYsID4gZm9ybSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAyNXZoIGF1dG8gMCBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tdmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcblxuICAgICAgICA+IGRpdiwgPiBmb3JtIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbG9zZSBidXR0b25cbiAgICAuX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBTcGVjaWZpYyBwb3B1cCBjaGlsZHJlbi4gVGhpcyBpcyBiYWQgQ1NTIHByYWN0aWNlLlxuICAgIC50ay1tYWlsaW5nLWxpc3Qtc3Vic2NyaWJlIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDkwdnc7XG5cbiAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLW11bHRpc2VsZWN0LXJlZmluZW1lbnQtbGlzdCB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIudGstbmF2LWFuZC1wcm9kdWN0cyB7XG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgPiAuX19uYXYgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgPiAuX19uYXYge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuX19wcm9kdWN0cyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIqW3YtY2xvYWtdIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4udGstbmF2LWNhdGFsb2cge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgdGstbDQ7XG5cbiAgICAgICAgJi4tY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogJHRrLWJsdWU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgdGstaDM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgPiAuX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAuX19saXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi4tZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgIC5fX2xpc3Qge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLXNhbGUgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICN0ay1naWZ0LWd1aWRlIGF7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG4iLCIudGstbmF2LWRlc2t0b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcblxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgID4gdWwgPiBsaSB7XG4gICAgICAgICYuX19sLi0tbGFzdCB7IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAmLl9fci4tLWZpcnN0IHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICAgICAgJi4tLW1vYmlsZS1oaWRlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgICAgICYuLS1maXJzdCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1jdXJyZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGstYmx1ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fbG9nbyB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19hY2NvdW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9uYXYvYWNjb3VudC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuXG4gICAgICAgICAgICAuX19yVGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3NlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAuX19saW5rIHtcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25hdi9zZWFyY2guc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG5cbiAgICAgICAgICAgICAgICAuX19yVGV4dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3NlYXJjaC1mb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIC5fX2lucHV0IHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWlzLXNlYXJjaC1ib3gge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQjc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNHB4IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRrLWJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNDhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAmOnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uLCBpbnB1dFt0eXBlPXN1Ym1pdF0geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuLS1hY3RpdmUge1xuICAgICAgICAgICAgLl9fc2VhcmNoLWZvcm0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbmF2L3NlYXJjaF9pbnZlcnRlZC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCNzZWFyY2gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2FjY291bnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuX19wb3B1cC1sb2dpbi1jb250YWluZXIgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fcG9wdXAtbG9naW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtMjQwcHg7XG5cbiAgICAgICAgICAgICYuLS12aXNpYmxlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgICYuLS1sb2dnZWQtaW4ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIEF2b2lkIHBhZ2VzIHJlc2V0dGluZyBmdWNraW5nIGJ1dHRvbnMtc2V0XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19jYXJ0LWNvdW50IHtcbiAgICAgICAgLl9fY2FydCB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCA3cHg7XG5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICAgICAgLl9fY2FydCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDlweCAwIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMCAwIDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgLl9fc2VhcmNoLCAuX19hY2NvdW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NhcnQtY291bnQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLW5hdi1kcmF3ZXIge1xuICAgICRwYWRkaW5nOiAzMHB4O1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDkxcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDkxcHgpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLWJsYWNrO1xuXG4gICAgLy8gTGV0IHRoZSB6LWluZGV4IHdhcnMgYmVnaW5cbiAgICB6LWluZGV4OiAxMDtcblxuICAgICYuLWNsb3NlZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAmLi1vcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLl9fc2VhcmNoIHtcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuXG4gICAgICAgIC5fX2xhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICAgICRwYWRkaW5nIC0gNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE5cHg7XG5cbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRrLW5hdi1zZWFyY2gge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE3cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcblxuICAgICAgICAgICAgLl9faW5wdXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fc3VibWl0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAuX19jYXRlZ29yaWVzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgLl9fY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWg0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHggMThweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX190b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IC8vIFByZXZlbnQgXCJzZWxlY3RcIiBhbmQgdWdseSBibHVlIHNlbGVjdCBoaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL25hdi9jYXJldC5zdmdcIikgY2VudGVyIGNlbnRlci8xMHB4IDEwcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hpbGQgY2F0ZWdvcmllc1xuICAgICAgICAgICAgLl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgICA+IC5fX2NhdGVnb3J5IC5fX3RvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5fX2xpc3QgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVwYXJ0bWVudHMgLSB0b3AgbGV2ZWwgbGlua3MuXG4gICAgICAgID4gLl9fbGlzdCB7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICAgICAgICAgICAgICA+IC5fX2NhdGVnb3J5IC5fX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1oMztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBDYXRlZ29yeSAtIGZpcnN0IGxldmVsIGRlc2NlbmRhbnRzLlxuICAgICAgICAgICAgICAgID4gLl9fbGlzdCA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuX19jYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5fX2xpbmsgeyBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFN1YmNhdGVnb3J5IC0gMm5kIGxldmVsIGRlc2NlbmRhbnRzLiBUaGlzIGlzIGdldHRpbmcgZ3Jvc3MsIHNpZ2guXG4gICAgICAgICAgICAgICAgICAgID4gLl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5fX2NhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAuX19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxNXB4IDEwcHggNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAvLyAuX19saXN0XG4gICAgfVxuXG4gICAgPiAuX19wb2xpY3ktbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOyAvLyBJIExvdmUgRmxleGJveFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZztcblxuICAgICAgICAuX19saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nIC8gNDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyAvIDQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstbmF2LWhlYWRlciB7XG4gICAgLl9fbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5fX3RhYmxldCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtZG93bigpIHtcbiAgICAgICAgLl9fbW9iaWxlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLl9fdGFibGV0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbn1cbiIsIi50ay1uYXYtbW9iaWxlIHtcbiAgICAvLyBJZiB5b3UgY2hhbmdlIHRoZXNlLCByZW1lbWJlciB0byBjaGFuZ2UgdGhlIGhlYWRlciBcIm5hdiBkcmF3ZXJcIiB2YWx1ZXMuXG4gICAgJHBhZGRpbmctdG9wOiAyOHB4O1xuICAgICRwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAkcGFkZGluZy1ob3Jpem9udGFsOiAzMHB4O1xuXG4gICAgKjpmb2N1cyB7IG91dGxpbmU6IDAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcblxuICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJi5fX3JocyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6b250YWwgLyAyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXpvbnRhbCAvIDI7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbiAgICAgICAgICAgICYuLXNlYXJjaCB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWJhcnMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3AgKyA0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuLWJhZyB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5fX2xvZ28ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wIC0gMjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuXG4gICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19uYXYtZHJhd2VyLXBhZGRlcixcbiAgICAuX19kcmF3ZXIteCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLl9fZHJhd2VyLXgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMzBweCAxOXB4IDMwcHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdpdGggTmF2IERyYXdlciBcIk9wZW5cIiBzdGF0ZSwgaWUgaGlkZSBhY2NvdW50ICYgc2hvcHBpbmcgYmFnIGxpbmtzLlxuICAgICYuLW5hdi1kcmF3ZXItb3BlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLl9fbGhzIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuX19sb2dvLFxuICAgICAgICAuX19yaHMgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5fX2RyYXdlci14IHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgICAuX19uYXYtZHJhd2VyLXBhZGRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAkdGstbmF2LWRyYXdlci13aWR0aDtcbiAgICAgICAgICAgIG1heC13aWR0aDogJHRrLW5hdi1kcmF3ZXItbWF4LXdpZHRoO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNzRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIC5fX2xvZ28geyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGstbmF2LXNlYXJjaCB7XG4gICAgLl9faW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG4iLCIudGstb3B0aW9uLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgZHQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgZGQge1xuICAgICAgICAmLl9fY29sb3Ige1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdHJpbSAvIDQ7XG4gICAgICAgICAgICAmOjphZnRlciB7IGNvbnRlbnQ6ICcvJzsgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5fX3NpemUge31cbiAgICB9XG59XG4iLCIudGstcG9wdXAtbG9naW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgIHBhZGRpbmc6IDIwcHggMzBweCAxMHB4IDMwcHg7XG4gICAgd2lkdGg6IDMzM3B4O1xuXG4gICAgbGFiZWwgeyBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmJsb2NrLXRpdGxlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLl9fYWN0aW9ucy1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG5cbiAgICAgICAgLmxpbmtzIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWluaS1sb2dpbiwgI21pbmktcGFzc3dvcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5ibG9jayAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgICYuLS1sb2dnZWQtaW4ge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLXByb2R1Y3QtYmFkZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDEwcHg7XG5cdGJvdHRvbTogMTBweDtcblx0ei1pbmRleDogMTtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjLWJsYWNrO1xuXHRwYWRkaW5nOiA1cHggMTBweDtcblx0QGluY2x1ZGUgdGstaDM7XG5cdGZvbnQtc2l6ZTogMTFweDtcbn0iLCIudGstcHJvZHVjdC1icm93c2Uge1xuICAgIC8vIEhpZGUgXCJEZXNpZ25lcnNcIiAnY2F0ZWdvcnknLCBhcyB3ZSBhZGQgaXQgYXMgYSBmYWNldC5cbiAgICAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1oZWFkZXIgLl9fZGVzaWduZXJzLFxuICAgIC5haXMtaGllcmVhcmNoaWNhbC1saW5rLXdyYXBwZXJbZGF0YS1jYXRlZ29yeS1uYW1lPVwiRGVzaWduZXJzXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAuLi4gVW5sZXNzIHdlJ3JlIGluIFwiZGVzaWduZXJzXCIgbW9kZS5cbiAgICAmLi1kZXNpZ25lcnMtbW9kZSB7XG4gICAgICAgIC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWhlYWRlciAuX19jYXRlZ29yaWVzLFxuICAgICAgICAuaXMtd2lkZ2V0LWNvbnRhaW5lci1jYXRlZ29yaWVzIC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWxpc3RfX2x2bDEgPiAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtd2lkZ2V0LWNvbnRhaW5lci1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtd2lkZ2V0LWNvbnRhaW5lci1jYXRlZ29yaWVzIC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWxpc3RfX2x2bDIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtd2lkZ2V0LWNvbnRhaW5lci1icmFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3RrLWRlc2lnbmVyLWxpc3QuLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgLl9fcmVmaW5lIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDIwcHggMDtcblxuICAgICAgICAgICAgLmluc3RhbnQtc2VhcmNoLWZhY2V0cy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnN0YW50LXNlYXJjaC1tb2JpbGUtZmFjZXRzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAuX19icm93c2Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3JlZmluZSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAyNSU7XG5cbiAgICAgICAgICAgIC5pbnN0YW50LXNlYXJjaC1mYWNldHMtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblxuICAgICAgICAgICAgICAgICYuLWJyYW5kLW1vZGUge1xuICAgICAgICAgICAgICAgICAgICAuaXMtd2lkZ2V0LWNvbnRhaW5lci1icmFuZCB7IGRpc3BsYXk6IG5vbmU7OyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5zdGFudC1zZWFyY2gtbW9iaWxlLWZhY2V0cy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fcHJvZHVjdHMge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNzUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtZGVza3RvcCB7XG4gICAgICAgIC5fX3JlZmluZSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAyMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuX19wcm9kdWN0cyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19icm93c2Uge1xuICAgIH1cblxuICAgIC5fX3JlZmluZSB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3NlYXJjaCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBvcmRlcjogOTk5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgIC5fX3NlYXJjaCB7XG4gICAgICAgICAgICAgICAgLy8gIWltcG9ydGFudCBpcyBuZWVkZWQgdG8gb3ZlcnJpZGUgcmVhY3RcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnN0YW50LXNlYXJjaC1mYWNldHMtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLXdpZGdldC1jb250YWluZXItY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjY3VycmVudC1yZWZpbmVtZW50cyB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwIDA7XG5cbiAgICAgICAgICAgIC5haXMtY3VycmVudC1yZWZpbmVkLXZhbHVlcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3Byb2R1Y3RzIHtcbiAgICAgICAgLl9fYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgLl9faGVhZGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1oMTtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAvLyBEb24ndCBvdmVybGFwIGFueXRoaW5nXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fc3RhdHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fc29ydCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuX19wcm9kdWN0IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjhweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQoKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtaXhpbiBidXR0b24tcmVzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgLyogaW5oZXJpdCBmb250ICYgY29sb3IgZnJvbSBhbmNlc3RvciAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG5cbiAgICAvKiBOb3JtYWxpemUgYGxpbmUtaGVpZ2h0YC4gQ2Fubm90IGJlIGNoYW5nZWQgZnJvbSBgbm9ybWFsYCBpbiBGaXJlZm94IDQrLiAqL1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zbW9vdGhpbmc6IGluaGVyaXQ7XG5cbiAgICAvKiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgLyogUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0KyAqL1xuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG59XG4iLCIudGstcHJvZHVjdC1mZWVkIHtcblx0bWFyZ2luOiA2MHB4IGF1dG87XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuXHRcdG1hcmdpbjogMCBhdXRvOyBcblx0fVxuXG5cdD4gZGl2IHsgXHQvLyBhZGRzIHNwYWNlIGJldHdlZW4gcHJvZHVjdCBpdGVtIGltYWdlcyBcblx0XHRtYXJnaW4tbGVmdDogMSU7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxJTtcblx0fVxuXG5cdC5fX3Byb2R1Y3QtbGluayB7XG5cdFx0c3BhbiB7XG5cdFx0XHRjb2xvcjogJHRrLWJsYWNrO1xuXHRcdH1cblxuXHRcdC5fX3Byb2R1Y3QtaW1hZ2Uge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHQmLi1yb2xsb3ZlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQmLCAqIHtcblx0XHRcdFx0Y29sb3I6ICR0ay1ibHVlO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji4td2l0aC1yb2xsb3Zlci1pbWFnZTpob3ZlciB7XG5cdFx0XHQuX19wcm9kdWN0LWltYWdlIHtcblx0XHRcdFx0Ji4tcHJpbWFyeSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLi1yb2xsb3ZlciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuX19wcm9kdWN0LWluZm8sIC5fX3JvbGxvdmVyLXNpemVzIHtcblx0XHRcdHBhZGRpbmc6IDE1cHggMDtcblx0XHR9XG5cblx0XHQuX19jb21tb24geyBcblx0XHRcdGRpc3BsYXk6IGJsb2NrOyBcblx0XHR9XG5cblx0XHQuX19yb2xsb3Zlci1zaXplcyB7IFxuXHRcdFx0ZGlzcGxheTogbm9uZTsgXG5cdFx0fVxuXG5cdFx0Ji4td2l0aC1zaXplczpob3ZlciB7XG5cdFx0XHQuX19wcm9kdWN0LWluZm8gIHsgXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7IFxuXHRcdFx0fVxuXHRcdFx0Ll9fcm9sbG92ZXItc2l6ZXMge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuIiwiLnRrLXByb2R1Y3QtaW1hZ2VzIHtcbiAgICAuX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LWRvd24ge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtZGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHpvb20taW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fc2xpY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46ICR0cmltIC8gMjtcblxuICAgICAgICAuX19wcmV2LFxuICAgICAgICAuX19kb3RzIHVsIGJ1dHRvbixcbiAgICAgICAgLl9fbmV4dCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdHJpbSAvIDI7XG4gICAgICAgICAgICBtYXJnaW46IDAgJHRyaW0gLyAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fZG90cyB7XG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2UncmUgc2tpcHBpbmcgc2xpY2stdGhlbWUuc2Nzcywgc28gd2UgbmVlZCB0byBzcGVjIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICAgICAgICAkc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuICAgICAgICAgICAgICAgICRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMjE5XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1wcm9kdWN0LWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgfVxuXG4gICAgLl9faW1hZ2Uge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAmLi1yb2xsb3ZlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgICYsICoge1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuX19pbWFnZSB7XG4gICAgICAgICAgICAmLi1yb2xsb3ZlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi50ay1wcm9kdWN0LWxpc3QtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICB9XG5cbiAgICAuX19wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgICYuLXJvbGxvdmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJiwgLl9fcm9sbG92ZXIgKiB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICYuLXJvbGxvdmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3JvbGxvdmVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIycHg7XG5cbiAgICAgICAgLl9fYXZhaWxhYmxlLXNpemVzIHtcbiAgICAgICAgICAgIC5fX3NpemUge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIsICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJywgJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyLCAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLl9fY29tbW9uIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuX19yb2xsb3ZlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8vIEhPVEZJWFxuICAgIC8vIEFsZ29saWEgLi4uXG4gICAgJi4td2l0aFJvbGxvdmVyOmhvdmVyLFxuICAgICYuLXdpdGgtcm9sbG92ZXI6aG92ZXIsXG4gICAgLy8gTm9uLUFsZ29saWEgLi4uXG4gICAgPiBhLi13aXRoUm9sbG92ZXI6aG92ZXIsXG4gICAgPiBhLi13aXRoLXJvbGxvdmVyOmhvdmVyIHtcbiAgICAgICAgLl9fY29tbW9uICAgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5fX3JvbGxvdmVyIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG5cbn1cbiIsIi50ay1wcm9kdWN0LXByaWNlIHtcbiAgICAuX19vcmlnaW5hbC1wcmljZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIH1cblxuICAgIC5fX2N1cnJlbnQtcHJpY2Uge1xuICAgICAgICAmLi1zYWxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIG1hcmdpbjogNjBweCAwO1xuXG4gICAgLl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuXG4gICAgICAgICAgICAmLi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2xpc3RzIHtcbiAgICAgICAgLl9fbGlzdCB7XG4gICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYuLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDE2LjY2JSAtIDVweCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA1cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLXByb2R1Y3QtdmlldyB7XG4gICAgPiAuX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuXG4gICAgLl9faW1hZ2VzIHtcbiAgICAgICAgZmxleC1iYXNpczogNjYlO1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY2JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX2RldGFpbHMge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG5cbiAgICAgICAgLl9faGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWgzO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3NlY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGstcDE7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAgICAgPiBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRyaW07XG4gICAgICAgIH1cblxuICAgICAgICAuX192ZW5kb3Itc2t1IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC5fX3Byb2R1Y3QtbmFtZSxcbiAgICAgICAgLl9fYWNjb3JkaW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGR0b2NhcnQtc2hpcHBpbmctcHJvbW8geyBcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyBcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsgXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19pbi1zdG9yZS1vbmx5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICB9XG5cbiAgICAuX19zb2xkLW91dCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICB9XG5cbiAgICAuX19yZWxhdGVkLXByb2R1Y3RzIHtcbiAgICB9XG5cbiAgICAvLyBNYWdlbnRvIE92ZXJyaWRlc1xuICAgIC5wcm9kdWN0LW9wdGlvbnMsXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyBkZCxcbiAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW9wdGlvbnMgZGQubGFzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICB9XG5cbiAgICAvLyBIaWRlIGxhYmVscy5cbiAgICAucHJvZHVjdC1vcHRpb25zIHtcbiAgICAgICAgZHQsXG4gICAgICAgIGxhYmVsLmhpZGRlbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAucmVxdWlyZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LW9wdGlvbnMgc2VsZWN0LFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIGJ1dHRvbiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW9wdGlvbnMgc2VsZWN0IHtcbiAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJi4taW52aXNpYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlKCkge1xuICAgICAgICA+IC5fX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gR2lmdCBjYXJ0IHByb2R1Y3QgdHlwZVxuLnRrLXByb2R1Y3QtdmlldyB7XG5cdC5naWZ0Y2FyZC1mb3JtIHtcblx0XHRsYWJlbC5yZXF1aXJlZCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHRsYWJlbC5yZXF1aXJlZCBlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG5cdFx0fVxuXG5cdFx0cC5yZXF1aXJlZCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdFx0LmlucHV0LXRleHQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0c2VsZWN0IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQuYXZhaWxhYmlsaXR5IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iLCIudGstc2l6ZS1ndWlkZSB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcblxuICAgIC5fX2JvcmRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgfVxuXG4gICAgLl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuICAgIC5fX3RhYmxlcyB7XG4gICAgICAgIC5fX3RhYmxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19kZWZpbml0aW9uVGl0bGUsIGR0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgdGstaDI7XG4gICAgfVxuXG4gICAgLl9fZGVmaW5pdGlvbkd1aWRlLCBkZCB7XG4gICAgICAgIEBpbmNsdWRlIHRrLXAxO1xuICAgIH1cblxuICAgIC5fX2RlZmluaXRpb25zIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxufVxuIiwiLnRrLXNvY2lhbC1sb2dpbi1jb250YWluZXIsIC5pbmNob28tc29jaWFsY29ubmVjdC1sb2dpbiB7XG4gICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgICB9XG5cbiAgICAuaW5jaG9vLXNvY2lhbGNvbm5lY3QtbG9naW4tbG93ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSB0ay1wMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cbn1cbiIsIi50ay1zb2NpYWwtbG9naW4ge1xuICAgICYuLWdvb2dsZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLWZhY2Vib29rIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1zb2NpYWwtcHJlbHVkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAuX19saW5lIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXRleHQtZ3JheTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuX19jb3B5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIC0xOHB4IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIH1cbn1cbiIsIi50ay1zdG9yZS1pbmZvIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgPiBoMSB7XG4gICAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgIH1cblxuICAgIC8vIE1vYmlsZSBmaXJzdFxuICAgIC5fX3N0b3JlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgODBweCAwO1xuXG4gICAgICAgIC5fX2ltYWdlcyB7XG4gICAgICAgICAgICAuX19pbWFnZSwgLl9fbWFwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fbWFwIHtcbiAgICAgICAgICAgICAgICA+IGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNzVweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxLjMzICogKDEwMHZ3IC0gNzVweCkpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEdyYXlzY2FsZSBHb29nbGUgTWFwIGlmcmFtZVxuICAgICAgICAgICAgICAgICAgICAvLyBUaGFuayB5b3UgaHR0cHM6Ly9jb2RlcGVuLmlvL2pvZS13YXRraW5zL3Blbi9mc2pySVxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XFwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXCc+PGZpbHRlciBpZD1cXCdncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdtYXRyaXhcXCcgdmFsdWVzPVxcJzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMFxcJy8+PC9maWx0ZXI+PC9zdmc+I2dyYXlzY2FsZVwiKTsgLyogRmlyZWZveCAxMCsgKi9cbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5OyAvKiBJRTYtOSAqL1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDk5JSk7IC8qIENocm9tZSAxOSsgJiBTYWZhcmkgNisgKi9cbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47ICAvKiBGaXggZm9yIHRyYW5zaXRpb24gZmxpY2tlcmluZyAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2luZm8ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuX190aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuX19sb2NhdGlvbixcbiAgICAgICAgICAgIC5fX2hvdXJzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDE2JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgIC5fX3N0b3JlIHtcbiAgICAgICAgICAgIC5fX2ltYWdlcyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19pbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19tYXAge1xuICAgICAgICAgICAgICAgICAgICA+IGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MHZ3IC0gNzBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMS4zMyAqICg1MHZ3IC0gNzBweCkgKyAyOHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDc1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MjJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9faW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSA1cHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX2RldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzMCUgLSA1cHgpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5fX2xvY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAuX19ob3VycyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRrLXRhYmxlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgLm1hc3RlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgdGgsIHRkIHtcbiAgICAgICAgQGluY2x1ZGUgdGstcDE7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4tdGlnZXIge1xuICAgICAgICB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi4td2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi50ay10b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0ay1oMztcblxuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGMtYmx1ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsdWU7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbiIsIi50ay11Z2x5LWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLl9faDEge1xuICAgICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDExOHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5fX3AsIC5fX2xpbmsge1xuICAgICAgICBmb250LWZhbWlseTogVGltZXMsIHNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgfVxuXG4gICAgLl9fcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgfVxuXG4gICAgLl9fY3RhLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuXG4gICAgICAgID4gLl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgIH1cbn1cbiIsIi50ay12ZW5kb3ItdGVybXMge1xuICAgIC5fX3NlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDQwcHggMCA0MHB4IDQwcHg7XG4gICAgfVxuXG4gICAgLl9fYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggMjBweDtcbiAgICB9XG59XG4iLCIudGstemVuZGVzay1jaGF0LXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgdGstaDI7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6ICRjLWJsdWU7XG4gICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC5fX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHhcbiAgICB9XG5cbiAgICBjb2xvcjogIzY2NjtcbiAgICAuX19pY29uIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgY29udGVudDogJyAoT2ZmbGluZSknO1xuICAgIH1cblxuICAgICYuLW9ubGluZSB7XG4gICAgICAgIC5fX2ljb24geyBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgJjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgfVxufVxuIiwiLypcbiAqIFN0eWxpbmcgZm9yIG91ciBaZW5kZXNrIGNoYXQgfn4qIGV4cGVyaWVuY2UgKn5+XG4gKi9cblxuLnRrLXplbmRlc2stY2hhdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMHB4O1xuICAgIHdpZHRoOiAzMzBweDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi4tdmlzaWJsZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAuX193aWRnZXQsXG4gICAgLl9fb2ZmbGluZS13aWRnZXQsXG4gICAgLl9fbWluaW1pemVkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgJi4tY29ubmVjdGVkIHtcbiAgICAgICAgLl9fbWluaW1pemVkIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG5cbiAgICAmLi1vcGVuIHtcbiAgICAgICAgJi4tb2ZmbGluZSB7XG4gICAgICAgICAgICAuX19vZmZsaW5lLXdpZGdldCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAuX19taW5pbWl6ZWQgeyBkaXNwbGF5OiBub25lOyAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tb25saW5lIHtcbiAgICAgICAgICAgIC5fX3dpZGdldCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAuX19taW5pbWl6ZWQgeyBkaXNwbGF5OiBub25lOyAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fdGl0bGUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstaDM7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgOHB4IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1NHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fY2xvc2UtY2hhdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2VuZC1jaGF0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5fX3dpZGdldCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgICAgICAgLl9fYm9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1wMTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gICAgICAgICAgICAuX19jaGF0LWxvZyB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fc3RhdHVzLWJhciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWg0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsYWNrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAuX19hZ2VudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5fX2F2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSBhdCBjZW50ZXIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5fX25hbWUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fY2hhdC1sb2cge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTgwcHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9faW5wdXQtZm9ybSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgLl9faW5wdXQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLXAyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICByZXNpemU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGJsdWUgb3V0bGluZVxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHsgY29udGVudDogJz4gJzsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9fc3VibWl0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fb2ZmbGluZS13aWRnZXQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgICAgIC5fX3RpdGxlLWJhciB7XG4gICAgICAgIH1cblxuICAgICAgICAuX19ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAzMHB4IDIwcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLl9fbWluaW1pemVkIHtcbiAgICAgICAgQGluY2x1ZGUgdGstaDI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZTtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAuX19pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHhcbiAgICAgICAgfVxuXG4gICAgICAgICYuLWluYWN0aXZlIHtcbiAgICAgICAgfVxuXG4gICAgICAgICYuLWFjdGl2ZSwgJi4tYWN0aXZlLXVucmVhZCB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgICAgICAmLi1hY3RpdmUge1xuICAgICAgICAgICAgLl9fY2hhdC1kb3Qge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzA2NDVBRDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCByZ2JhKDYsNjksMTczLCAwLjQpO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogemVuZGVzay1jaGF0LXB1bHNlIDJzIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tYWN0aXZlLXVucmVhZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1ibHVlO1xuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuXG4gICAgICAgICAgICAuX191bnJlYWQtbWVzc2FnZS1jb3VudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwNjQ1QUQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19taW5pbWl6ZWQsIC5fX3dpZGdldCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5fX21pbmltaXplZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYy1ibHVlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6ZW5kZXNrLWNoYXQtcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNiw2OSwxNzMsIDAuNCk7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDYsNjksMTczLCAwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDYsNjksMTczLCAwKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHplbmRlc2stY2hhdC1wdWxzZSB7XG4gICAgMCUge1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg2LDY5LDE3MywgMC40KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDYsNjksMTczLCAwLjQpO1xuICAgIH1cbiAgICA3MCUge1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSg2LDY5LDE3MywgMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSg2LDY5LDE3MywgMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg2LDY5LDE3MywgMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg2LDY5LDE3MywgMCk7XG4gICAgfVxufVxuIiwiYm9keS5jYXRhbG9nLWNhdGVnb3J5LXZpZXcsXG5ib2R5LmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogJHRyaW0gYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSB0ay1oMTtcblxuICAgIH1cblxuICAgIC5jYXRlZ29yeS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvb2xiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAuc29ydGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAucGFnZXIge1xuICAgICAgICAgICAgLmFtb3VudCwgICAgLy8gXCJzaG93aW5nIHggb2YgbiBwcm9kdWN0c1wiXG4gICAgICAgICAgICAubGltaXRlciAgICAvLyBcInByb2R1Y3RzIHBlciBwYWdlXCJcbiAgICAgICAgICAgIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgICAgIC5jdXJyZW50LCBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4IDAgOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuaS1wcmV2aW91cyxcbiAgICAgICAgICAgICAgICAgICAgJi5pLW5leHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAucGFnZXIgLnBhZ2VzIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICBvbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgICAgICAgICBhLm5leHQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgICAgICAgLl9fYmFjay10by10b3Age1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0cy1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5fX3Byb2R1Y3Qge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyOHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0KCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB9IC8vIHByb2R1Y3RzLWdyaWRcblxuICAgICYuLWhpZGUtc2lkZS1uYXYge1xuICAgICAgICAudGstbmF2LWFuZC1wcm9kdWN0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgPiAuX19uYXYgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQtY2FydC1pbmRleCB7XG4gICAgLmNhcnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMjRweDtcbiAgICB9XG5cbiAgICAuY2FydC1lbXB0eSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSB0ay1icC10YWJsZXQtdXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5tZXNzYWdlcyB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuY2FydC1mb3JtcyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgLmRpc2NvdW50LFxuICAgICAgICAuZ2lmdGNhcmQsXG4gICAgICAgIC5zaGlwcGluZyB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICAgICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1oMztcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ay1wMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC50ay1idXR0b247XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuLW8tYmxhY2s7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuLWgtby1ibHVlO1xuXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODdweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG5cbiAgICAgICAgICAgICAgICAmLmJ1dHRvbjIgc3BhbiwgLmJ1dHRvbjIgc3BhbiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZGlzY291bnQgLmRpc2NvdW50LWZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICA+IC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbi4tcmVtb3ZlIHtcbiAgICAgICAgICAgICAgQGV4dGVuZCAuLW8tcmVkO1xuICAgICAgICAgICAgICBAZXh0ZW5kIC4taC1vLXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICA+IC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH0gLy8gbW9iaWxlIGJyZWFrcG9pbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5naWZ0Y2FyZCB7XG4gICAgICAgICAgICAuY2hlY2stZ2Mtc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLXAxO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWwxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgICAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gV2lsbCBkeW5hbWljYWxseSBiZSBkcmF3bi4gV2UgZG9uJ3QgbmVlZCBpdC5cbiAgICAgICAgICAgICAgICAjYWR2aWNlLXJlcXVpcmVkLWVudHJ5LWdpZnRjYXJkX2NvZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICAgICAgICAgIC8vIFVnaC4uLlxuICAgICAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyAuZmllbGQtd3JhcHBlclxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBtb2JpbGUgYnJlYWtwb2ludFxuICAgICAgICB9IC8vIC5naWZ0Y2FyZFxuICAgIH1cblxuICAgIC5zaGlwcGluZyB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5jYXJ0LXRvdGFscy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jYXJ0LXRvdGFscyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1oMzsgLy8gXCJNb25leVwiIGZvbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEh1Z2UtYXNzIFwiR3JhbmQgVG90YWxcIlxuICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gXCJDaGVja291dCB3aXRoIG11bHRpcGxlIGFkZHJlc3Nlc1wiXG4gICAgLm1ldGhvZC1jaGVja291dC1jYXJ0LW1ldGhvZHMtbXVsdGlzaGlwcGluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnRrLWJ1dHRvbjtcbiAgICAgICAgICAgIEBleHRlbmQgLi1vLWJsdWU7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXlwYWwtbG9nbyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5jaGVja291dC10eXBlcyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC50ay1idXR0b247XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLi1vLWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLXBheXBhbF9leHByZXNzLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYubWV0aG9kLWNoZWNrb3V0LWNhcnQtbWV0aG9kcy1vbmVwYWdlLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIEhpZGUgdGhlIHVnbHkgXCItb3ItXCIsIGJ1dCBzaG93IHRoZSBQYXlwYWwgYnV0dG9uLlxuICAgICAgICAgICAgICogU2VsZWN0b3JzIGFyZSBhbGwgb3ZlciB0aGUgcGxhY2UuIDooXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIC5wYXlwYWwtbG9nbyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLXBheXBhbF9leHByZXNzLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLXRpbnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQtb25lcGFnZS1pbmRleCB7XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1jb250YWluZXIgLmhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICBpbnB1dFt0ZXh0XSxcbiAgICAgICAgaW5wdXRbcGFzc3dvcmRdIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRyaW0gLyAyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRyaW0gLyAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wYyB7XG4gICAgICAgIHNlbGVjdCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG4gICAgICAgIC5zZWN0aW9uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICYuYWxsb3cgeyBvcGFjaXR5OiAxLjA7IH1cblxuICAgICAgICAgICAgLnN0ZXAtdGl0bGUge1xuICAgICAgICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWgyO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdHJpbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR0cmltIDAgJHRyaW0gKiAyIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2stbGluayB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5zcC1tZXRob2RzIHtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGstbDQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjby1iaWxsaW5nLWZvcm0sXG4gICAgI2NvLXNoaXBwaW5nLWZvcm0sXG4gICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdHJpbSAvIDI7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRjLXJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICAuY29udHJvbCBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAucmVxdWlyZWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnRrLWJ1dHRvbjtcbiAgICAgICAgICAgIEBleHRlbmQgLi1vLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjb3BjLWxvZ2luIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGstaDI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEsIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAoJHRyaW0gLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIExlZnQgU2lkZSBcIkNoZWNrb3V0IGFzIEd1ZXN0P1wiXG4gICAgICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0OHB4OyAvLyBFeWViYWxsZWQgdG8gbGluZSB1cCBvbiBEZXNrdG9wIHdpdGggdGV4dCBpbnB1dFxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiAubGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJpZ2h0IFNpZGUgTG9naW5cbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTFweDsgLy8gRXllYmFsbGVkIHRvIGFsbG93IDEgcm93IG9mIGVycm9yIHRleHRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBoNCwgcCwgLnVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAuY29sLTEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHRyaW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNsb2dpbi1mb3JtIHtcbiAgICAgICAgICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNyZW1lbWJlci1tZS1ib3ggLmxpbmstdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBTVEVQIDJcbiAgICAgKi9cbiAgICAjb3BjLWJpbGxpbmcge1xuICAgICAgICBmb3JtI2NvLWJpbGxpbmctZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0cmltIC8gMjtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgICogU1RFUCAzIFNISVBQSU5HIElORk9STUFUSU9OXG4gICAgICovXG4gICAgI29wYy1zaGlwcGluZyB7XG4gICAgICAgIGZvcm0jY28tc2hpcHBpbmctZm9ybSB7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgICogU1RFUCA0IFNISVBQSU5HIE1FVEhPRCBJTlBVVFxuICAgICAqL1xuICAgICNvcGMtc2hpcHBpbmdfbWV0aG9kIHtcbiAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIHtcbiAgICAgICAgfVxuXG4gICAgICAgICNvbmVwYWdlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1hZGRpdGlvbmFsLWxvYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zcC1tZXRob2RzIHtcbiAgICAgICAgICAgIGR0IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LnJhZGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBQdWxsIGRvd24gdG8gYWxpZ24gd2l0aCBsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogOTk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qXG4gICAgICogU1RFUCA0IFBBWU1FTlRcbiAgICAgKi9cbiAgICAjb3BjLXBheW1lbnQge1xuICAgICAgICA+IC5zdGVwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm0jY28tcGF5bWVudC1mb3JtIHtcbiAgICAgICAgICAgICNkdF9tZXRob2RfY2NzYXZlIGxhYmVsIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbiAgICAgICAgICAgIC5mb3JtLWxpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBDQyBNb250aC9ZZWFyIFNlbGVjdG9yc1xuICAgICAgICAgICAgICAgIGxpOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnYtZml4IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcC1tZXRob2RzIHtcbiAgICAgICAgICAgICAgICBkdCBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHsgZmxvYXQ6IG5vbmU7IH1cblxuICAgICAgICAgICAgICAgICAgICAmW2Zvcj1cInBfbWV0aG9kX3BheXBhbF9leHByZXNzXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjYWR2aWNlLXZhbGlkYXRlLWNjLWV4cC1jY3NhdmVfZXhwaXJhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrb3V0LW9uZXBhZ2UtcGF5bWVudC1hZGRpdGlvbmFsLWdpZnRjYXJkYWNjb3VudCB7XG4gICAgICAgIH1cbiAgICB9IC8vICNvcGMtcGF5bWVudFxuXG4gICAgLypcbiAgICAgKiBTVEVQIDUgQ09ORklSTVxuICAgICAqL1xuICAgICNvcGMtcmV2aWV3IHtcbiAgICAgICAgI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAzMHB4IDM0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNjaGVja291dC1yZXZpZXctdGFibGUge1xuICAgICAgICAgICAgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJi5hLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuX19wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgICAgICAgICAgICAgICAgLl9fcHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLl9fZmluYWwtc2FsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciAuYnRuLWNoZWNrb3V0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZi1sZWZ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIFJlbW92ZSBhbm5veWluZyBcIkZvcmdvdCBhbiBJdGVtP1wiXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJib2R5LmNtcy1hYm91dC1zdHlsZS1ndWlkZSB7XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jb2wtbWFpbiA+ICoge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAuX19yZWZlcmVuY2UsXG4gICAgLl9fZXhhbXBsZXMge1xuICAgICAgICBwYWRkaW5nOiAwcHggMzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB9XG5cbiAgICAuX19leGFtcGxlcyB7XG4gICAgICAgICYuLWlucHV0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzJSAtIDVweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAuX19yZXNwb25zaXZlIHtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWgxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRrLWJsdWU7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2N1cnJlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7IC5fX2JwLW5hbWU6YWZ0ZXIgeyBjb250ZW50OiAnPCB4c21hbGwnOyB9IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhzbWFsbCkgeyAuX19icC1uYW1lOmFmdGVyIHsgY29udGVudDogJ3hzbWFsbCc7IH0gfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtc21hbGwpIHsgLl9fYnAtbmFtZTphZnRlciB7IGNvbnRlbnQ6ICdzbWFsbCc7IH0gfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtKSB7IC5fX2JwLW5hbWU6YWZ0ZXIgeyBjb250ZW50OiAnbWVkaXVtJzsgfSB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSkgeyAuX19icC1uYW1lOmFmdGVyIHsgY29udGVudDogJ2xhcmdlJzsgfSB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC14bGFyZ2UpIHsgLl9fYnAtbmFtZTphZnRlciB7IGNvbnRlbnQ6ICd4bGFyZ2UnOyB9IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3hzbWFsbCwgLl9fc21hbGwsIC5fX21lZGl1bSwgLl9fbGFyZ2UsIC5fX3hsYXJnZSB7XG4gICAgICAgICAgICAvLyBTb21ldGhpbmcgaXMgdXAgd2l0aCB0aGUgYnJlYWtwb2ludHMgYW5kIHRoZSB3aWR0aCAtIHRoZXkgZG9uJ3QgbGluZSB1cFxuICAgICAgICAgICAgLy8gYnkgYWJvdXQgMjAwcHhcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuX194c21hbGwge1xuICAgICAgICAgICAgd2lkdGg6ICRicC14c21hbGw7XG4gICAgICAgIH1cblxuICAgICAgICAuX19zbWFsbCB7XG4gICAgICAgICAgICB3aWR0aDogJGJwLXNtYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fbWVkaXVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnAtbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fbGFyZ2Uge1xuICAgICAgICAgICAgd2lkdGg6ICRicC1sYXJnZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX3hsYXJnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhsYXJnZSkgeyBiYWNrZ3JvdW5kOiByZWQ7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY21zLWhvbWUsXG4uY21zLWluZGV4LWluZGV4IHtcbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYWxnb2xpYS1pbnN0YW50LXJlc3VsdHMtd3JhcHBlciAuYWxnb2xpYS1pbnN0YW50LXNlbGVjdG9yLXJlc3VsdHMge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbn1cbiIsImJvZHkuY21zLW5vLXJvdXRlIHtcbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAuX19oZWFkZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgNXB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuX19zZWFyY2gge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG5cbiAgICAgICAgICAgIC5fX3Byb21wdCB7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5fX2lucHV0IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcblxuICAgICAgICAgICAgICAgIGlucHV0LmlucHV0LXRleHQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLl9fc3VnZ2VzdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0ay1icC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICA+IGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgID4gaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2NvbnRhY3Qge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gNDBweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLl9fc2VhcmNoLCAuX19zdWdnZXN0aW9ucyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNtcy1wYWdlLXZpZXcge1xuICAgIC5zdGQgcCB7XG4gICAgICAgIGNvbG9yOiB1bnNldDtcbiAgICAgICAgZm9udC1zaXplOiB1bnNldDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBmb250LWZhbWlseTogdW5zZXQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IHVuc2V0O1xuICAgIH1cbn1cbiIsIi5jb250YWN0cy1pbmRleC1pbmRleCB7XG4gICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgLmNvbnRhY3RzLWluZGV4LWluZGV4X19jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2luZm8ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5fX2Zvcm0ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3RzLWluZGV4LWluZGV4X19jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuX19pbmZvLCAuX19mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICAuX19pbmZvIHtcbiAgICB9XG5cbiAgICAuX19mb3JtIHtcbiAgICAgICAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuXG4gICAgICAgICAgICAmLnZhbGlkYXRpb24tZmFpbGVkIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1yZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJib2R5LmN1c3RvbWVyLWFjY291bnQtY3JlYXRlLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWxvZ2luLFxuYm9keS5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIHtcbiAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICBpbnB1dFt0eXBlPXRleHRdLFxuICAgIGlucHV0W3R5cGU9ZW1haWxdLFxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICAgIC5idXR0b25zLXNldCxcbiAgICAuZmllbGRzZXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taW5zdHJ1Y3Rpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZpZWxkcy4tbWFpbGluZy1saXN0IHtcbiAgICAgIC5maWVsZCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB3aWR0aDogMzY1cHg7XG4gICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgID4gcCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgdGstYnAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgICAgICAgLl9fcHJvbXB0IHtcbiAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuX193b21lbiwgLl9fbWVuIHtcbiAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuIiwiLmhlYWRlci1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC1kb3duKCkge1xuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIFVzZSBwYWRkaW5nIHRvIHB1c2ggY29udGVudCBkb3duXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICAgICYuLXdpdGhOb3RpZmljYXRpb25CYXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3NHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGstbmF2LW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50ay1hYm91dCB7XG4gICAgPiBwIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgfVxuXG4gICAgJi4tLWFmZmlsaWF0ZXMge1xuICAgICAgICA+IHAsIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDQwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ay1oMSB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHggMDtcbiAgICB9XG5cbiAgICAudGstbDIge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG5cbiAgICAudGstcDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuLS10d28tY29sIHtcbiAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAteHNtYWxsICsgMSkge1xuICAgICAgICAgICAgLl9faW5mbyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLl9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIF9hbGdvbGlhLnNjc3Ncbi8vXG4vLyBvdmVycmlkZXMgZm9yIHNraW4vZnJvbnRlbmQvdG90b2thZWxvL2RlZmF1bHQvYWxnb2xpYXNlYXJjaC9hbGdvbGlhc2VhcmNoLmNzc1xuLy9cblxuQG1peGluIGFpcy1saW5rLXN0eWxpbmcge1xuICAgIGNvbG9yOiAkdGstYmx1ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRrLWJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLmFsZ29saWEtaW5zdGFudC1yZXN1bHRzLXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xufVxuXG4uYWlzLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgdGstaDM7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi5haXMtY3VycmVudC1yZWZpbmVkLXZhbHVlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICYtLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgfVxuXG4gICAgLmN1cnJlbnQtcmVmaW5lbWVudC1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmN1cnJlbnQtcmVmaW5lbWVudC1uYW1lIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ3gnO1xuICAgICAgICAgICAgY29sb3I6ICR0ay1yZWQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5haXMtaGllcmFyY2hpY2FsLW1lbnUge1xuICAgICYtLWNvdW50IHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgICYtLWl0ZW0ge1xuICAgICAgICAmX19hY3RpdmUge1xuICAgICAgICAgICAgLy8gbm90ZSB0aGUgdHlwbyAtIHdvbmRlciBpZiB0aGV5J2xsIHVwZGF0ZSB0aGlzIGV2ZXIgaGFcbiAgICAgICAgICAgICYgPiBkaXYgPiAuYWlzLWhpZXJlYXJjaGljYWwtbGluay13cmFwcGVyID4gYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWlzLWxpbmstc3R5bGluZygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LS1saXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmFpcy1oaWVyYXJjaGljYWwtbWVudS4taGlkZS1maXJzdC1sZXZlbCxcbi4taGlkZS1maXJzdC1sZXZlbCAuYWlzLWhpZXJhcmNoaWNhbC1tZW51LFxue1xuICAgIC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWxpc3RfX2x2bDAge1xuICAgICAgICA+IC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWl0ZW0ge1xuICAgICAgICAgICAgPiBkaXYgPiAuYWlzLWhpZXJlYXJjaGljYWwtbGluay13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5haXMtaGllcmFyY2hpY2FsLW1lbnUtLWxpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFpcy1pbmZpbml0ZS1oaXRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgJl9fZW1wdHkge1xuICAgICAgICBAaW5jbHVkZSB0ay1oMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkYy1ncmF5O1xuXG4gICAgICAgIC8vIFwiQ2VudGVyXCIgdGhlIGNvbnRhaW5lci4gVGhlIGZhY2V0IGxpc3Qgb24gdGhlIExIUyB3aWxsIGJlIGVtcHR5XG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMCU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICYtLWl0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDI4cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0KCkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLW1vYmlsZSgpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2hvd21vcmUge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgQGV4dGVuZCAudGstYnV0dG9uO1xuICAgICAgICAgICAgQGV4dGVuZCAuLXdpZGU7XG4gICAgICAgICAgICBAZXh0ZW5kIC4tby1ibHVlO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2Rpc2FibGVkXSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFpcy1oaWVyYXJjaGljYWwtbWVudSB7XG4gICAgJi0tYm9keSB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWJwLXRhYmxldC11cCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxN2VtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWlzLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gIEBpbmNsdWRlIHRrLWwzO1xuXG4gICYtLWl0ZW0ge1xuICAgICAgcGFkZGluZzogNHB4IDhweCAwIDhweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDFweDtcblxuICAgICAgJl9fbmV4dCwgJl9fcHJldmlvdXMge1xuICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgIH1cblxuICAgICAgJl9fYWN0aXZlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtYmxhY2s7XG4gICAgICB9XG5cbiAgICAgICZfX2Rpc2FibGVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICB9XG59XG5cbi5haXMtcmVmaW5lbWVudC1saXN0IHtcbiAgICAmLS1ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgdGstYnAtdGFibGV0LXVwIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE3ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tY291bnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYtLWl0ZW1fX2FjdGl2ZSAmLS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGFpcy1saW5rLXN0eWxpbmcoKTtcbiAgICB9XG5cbiAgICAvLyBGYWNldCBsYWJlbHNcbiAgICAmLS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHRrLWw0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uYWlzLXNlYXJjaC1ib3gge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9uYXYvc2VhcmNoX2ludmVydGVkLnN2Z1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWlzLXN0YXRzIHtcbiAgICAuYWlzLXN0YXRzLS1ib2R5IHtcbiAgICB9XG59XG4iXX0= */

