@charset "UTF-8";
/* large button */
/* primary button style (used in mails) */
/** --------------------------------------------------
*
*   base
*   BASE STYLES
*
*   TABLE OF CONTENTS
*   box-sizing
*   resets
*   defaults
*   focus styles
*   reduced motion
*   ie10
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #box-sizing
*   -------------------------------------------------- */
*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/** --------------------------------------------------
*   #resets
*   -------------------------------------------------- */
body,
div, section, article,
dl, dt, dd,
ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, legend,
figure, figcaption,
p, blockquote,
th, td {
  margin: 0;
  padding: 0; }

article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
nav,
section,
summary {
  display: block; }

/** --------------------------------------------------
*   #defaults
*   -------------------------------------------------- */
/* stylelint-disable */
/* images */
img {
  width: auto;
  max-width: 100%;
  height: auto;
  border-style: none; }

/* links */
a {
  background-color: transparent;
  /* remove the grey background on active links in IE10 */
  color: inherit; }

/* headings */
h1, h2, h3, h4, h5, h6 {
  color: inherit;
  font-weight: bold;
  line-height: 1.2;
  word-wrap: break-word; }

h1 {
  font-size: 4rem; }

h2 {
  font-size: 2.8rem; }

h3 {
  font-size: 2rem; }

h4 {
  font-size: 1.8rem; }

h5 {
  font-size: 1.4rem; }

h6 {
  font-size: 1.2rem; }

/* lists */
ul {
  list-style: none; }

/* iframes */
iframe {
  border: none; }

/* tables */
table {
  width: 100%;
  max-width: 100%; }

/* main */
main {
  display: block;
  width: 100%; }

/* hr */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  overflow: visible;
  display: block;
  height: 0.1rem;
  border: 0;
  border-top: 0.1rem solid #ccc;
  margin: 1em 0;
  padding: 0; }

/*
* remove the gap between audio, canvas, iframes,
* images, videos and the bottom of their containers
*/
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/* abbr */
abbr[title] {
  text-decoration: none;
  border: none; }

/* svg */
svg {
  display: block;
  fill: currentColor; }

/* hidden */
[hidden] {
  display: none; }

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
  /* added line */ }

/* template */
template {
  display: none; }

/* pre */
pre {
  font-family: monospace, monospace;
  /* correct the inheritance and scaling of font size */
  font-size: 1em; }

/* text level semantics */
b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* correct the inheritance and scaling of font size */
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* forms */
button, .page-layout-checkout .authentication-wrapper .action, .action-gift,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15; }

button, .page-layout-checkout .authentication-wrapper .action, .action-gift,
input {
  overflow: visible; }

button, .page-layout-checkout .authentication-wrapper .action, .action-gift,
select {
  text-transform: none; }

button, .page-layout-checkout .authentication-wrapper .action, .action-gift,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner, .page-layout-checkout .authentication-wrapper .action::-moz-focus-inner, .action-gift::-moz-focus-inner {
  border: 0; }

/* fieldset + legend */
fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

/* textarea */
textarea {
  resize: vertical;
  overflow: auto; }

/* progress */
progress {
  vertical-align: baseline; }

/* details - summary */
details {
  display: block; }

summary {
  display: list-item; }

/* input types */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

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

/**
* correct the odd appearance in chrome and safari
* correct the outline style in safari
*/
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

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

/**
* correct the inability to style clickable types in iOS and safari
* change font properties to `inherit` in Safari
*/
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

/* address */
address {
  font-style: inherit; }

/* media */
audio,
canvas,
video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

/* stylelint-enable */
/** --------------------------------------------------
*   #reduced motion
*   -------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.001s !important;
            animation-duration: 0.001s !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.001s !important;
         -o-transition-duration: 0.001s !important;
            transition-duration: 0.001s !important;
    scroll-behavior: auto !important; } }

/** --------------------------------------------------
*   #ie10
*   -------------------------------------------------- */
/*
* IE10 ignores the meta viewport tag for any viewport smaller than 400 pixels in width;
* source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design
*/
@-ms-viewport {
  width: device-width; }

select::-ms-expand {
  display: none; }

/** --------------------------------------------------
*
*   base
*   GLOBAL
*
*   TABLE OF CONTENTS
*   html & body
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #html & body
*   -------------------------------------------------- */
html {
  /* prevent the scrollbar from overlapping the content on IE: */
  -ms-overflow-style: scrollbar; }

body {
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background-color: #fff; }

html {
  font-size: 62.5%;
  font-size-adjust: 100%; }

body {
  color: #3b4a4b;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-style: normal;
  font-weight: 400;
  line-height: 1.42857;
  font-size: 1.4rem; }

p {
  margin-top: 0; }

p {
  margin-bottom: 0.95rem; }

abbr[title] {
  border-bottom: 1px dotted #d1d1d1;
  cursor: help; }

b,
strong {
  font-weight: 700; }

em,
i {
  font-style: italic; }

mark {
  background: #f0f0f0;
  color: black; }

small,
.small {
  font-size: 12px; }

hr {
  border: 0;
  border-top: 1px solid #d1d1d1;
  margin-bottom: 19px;
  margin-top: 19px; }

sub,
sup {
  font-size: 71.42857%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

dfn {
  font-style: italic; }

h1 {
  font-weight: 300;
  line-height: 1.1;
  font-size: 2.6rem;
  margin-top: 0;
  margin-bottom: 1.9rem; }

h2 {
  font-weight: 300;
  line-height: 1.1;
  font-size: 2.6rem;
  margin-top: 2.375rem;
  margin-bottom: 1.9rem; }

h3 {
  font-weight: 300;
  line-height: 1.1;
  font-size: 1.8rem;
  margin-top: 1.425rem;
  margin-bottom: 0.95rem; }

h4 {
  font-weight: 700;
  line-height: 1.1;
  font-size: 1.4rem;
  margin-top: 1.9rem;
  margin-bottom: 1.9rem; }

h5 {
  font-weight: 700;
  line-height: 1.1;
  font-size: 1.2rem;
  margin-top: 1.9rem;
  margin-bottom: 1.9rem; }

h6 {
  font-weight: 700;
  line-height: 1.1;
  font-size: 1rem;
  margin-top: 1.9rem;
  margin-bottom: 1.9rem; }

h1 small,
h1 .small,
h2 small,
h2 .small,
h3 small,
h3 .small,
h4 small,
h4 .small,
h5 small,
h5 .small,
h6 small,
h6 .small {
  color: #333;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-style: normal;
  font-weight: 400;
  line-height: 1; }

a,
.alink {
  color: #333;
  text-decoration: underline; }
  a:visited,
  .alink:visited {
    color: #333;
    text-decoration: none; }
  a:hover,
  .alink:hover {
    color: #a54f6c;
    text-decoration: none; }
  a:active,
  .alink:active {
    color: #ff5501;
    text-decoration: none; }

ul,
ol {
  margin-top: 0;
  margin-bottom: 2.375rem; }
  ul > li,
  ol > li {
    margin-top: 0;
    margin-bottom: 0.95rem; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-bottom: 0; }

dl {
  margin-bottom: 19px;
  margin-top: 0; }

dt {
  font-weight: 700;
  margin-bottom: 4.75px;
  margin-top: 0; }

dd {
  margin-bottom: 9.5px;
  margin-top: 0;
  margin-left: 0; }

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%; }
  table th {
    text-align: left; }
  table > tbody > tr > th,
  table > tbody > tr > td,
  table > tfoot > tr > th,
  table > tfoot > tr > td {
    vertical-align: top; }
  table > thead > tr > th,
  table > thead > tr > td {
    vertical-align: bottom; }
  table > thead > tr > th,
  table > thead > tr > td,
  table > tbody > tr > th,
  table > tbody > tr > td,
  table > tfoot > tr > th,
  table > tfoot > tr > td {
    padding: 8px 9.5px; }

button, .page-layout-checkout .authentication-wrapper .action, .action-gift {
  background-image: none;
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-weight: 600;
  margin: 0;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle; }
  button:focus, .page-layout-checkout .authentication-wrapper .action:focus, .action-gift:focus, button:active, .page-layout-checkout .authentication-wrapper .action:active, .action-gift:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  button:hover, .page-layout-checkout .authentication-wrapper .action:hover, .action-gift:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }
  button.disabled, .page-layout-checkout .authentication-wrapper .disabled.action, .disabled.action-gift, button[disabled], .page-layout-checkout .authentication-wrapper .action[disabled], .action-gift[disabled],
  fieldset[disabled] button,
  fieldset[disabled] .page-layout-checkout .authentication-wrapper .action,
  .page-layout-checkout .authentication-wrapper fieldset[disabled] .action,
  fieldset[disabled] .action-gift {
    opacity: 0.5;
    cursor: default;
    pointer-events: none; }

input[type="text"],
input[type="date"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="datetime"],
input[type="email"] {
  background: #fff;
  background-clip: padding-box;
  border: 0.2rem solid #f2f2ed;
  border-radius: 0.5rem;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: 14px;
  height: 4.3rem;
  line-height: 1;
  padding: 1rem;
  vertical-align: baseline;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  input[type="text"]:focus,
  input[type="date"]:focus,
  input[type="password"]:focus,
  input[type="url"]:focus,
  input[type="tel"]:focus,
  input[type="search"]:focus,
  input[type="number"]:focus,
  input[type="datetime"]:focus,
  input[type="email"]:focus {
    border: 0.2rem solid #7e8889; }
  input[type="text"]:disabled,
  input[type="date"]:disabled,
  input[type="password"]:disabled,
  input[type="url"]:disabled,
  input[type="tel"]:disabled,
  input[type="search"]:disabled,
  input[type="number"]:disabled,
  input[type="datetime"]:disabled,
  input[type="email"]:disabled {
    opacity: 0.5; }
  input[type="text"]::-moz-placeholder,
  input[type="date"]::-moz-placeholder,
  input[type="password"]::-moz-placeholder,
  input[type="url"]::-moz-placeholder,
  input[type="tel"]::-moz-placeholder,
  input[type="search"]::-moz-placeholder,
  input[type="number"]::-moz-placeholder,
  input[type="datetime"]::-moz-placeholder,
  input[type="email"]::-moz-placeholder {
    color: #c2c2c2; }
  input[type="text"]::-webkit-input-placeholder,
  input[type="date"]::-webkit-input-placeholder,
  input[type="password"]::-webkit-input-placeholder,
  input[type="url"]::-webkit-input-placeholder,
  input[type="tel"]::-webkit-input-placeholder,
  input[type="search"]::-webkit-input-placeholder,
  input[type="number"]::-webkit-input-placeholder,
  input[type="datetime"]::-webkit-input-placeholder,
  input[type="email"]::-webkit-input-placeholder {
    color: #c2c2c2; }
  input[type="text"]:-ms-input-placeholder,
  input[type="date"]:-ms-input-placeholder,
  input[type="password"]:-ms-input-placeholder,
  input[type="url"]:-ms-input-placeholder,
  input[type="tel"]:-ms-input-placeholder,
  input[type="search"]:-ms-input-placeholder,
  input[type="number"]:-ms-input-placeholder,
  input[type="datetime"]:-ms-input-placeholder,
  input[type="email"]:-ms-input-placeholder {
    color: #c2c2c2; }

input[type="number"] {
  -moz-appearance: textfield; }
  input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }

input[type="search"] {
  -webkit-appearance: none; }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none; }

select {
  background: #fff;
  background-clip: padding-box;
  border: 0.2rem solid #f2f2ed;
  border-radius: 0.5rem;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: 14px;
  height: 4.3rem;
  line-height: 1;
  padding: 4.75px 9.5px 4px;
  vertical-align: baseline;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url("../images/icons/icon__select--down--dark.svg");
  background-repeat: no-repeat;
  background-size: 11px 6px;
  background-position: right 0.8rem center;
  padding-right: 2.6rem; }
  select:focus {
    border: 0.2rem solid #7e8889; }
  select:disabled {
    opacity: 0.5; }

select[multiple="multiple"] {
  height: auto;
  background-image: none; }

textarea {
  background: #fff;
  background-clip: padding-box;
  border: 0.2rem solid #f2f2ed;
  border-radius: 0.5rem;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: 14px;
  height: auto;
  line-height: 1;
  margin: 0;
  padding: 9.5px;
  vertical-align: baseline;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  resize: vertical; }
  textarea:focus {
    border: 0.2rem solid #7e8889; }
  textarea:disabled {
    opacity: 0.5; }
  textarea::-moz-placeholder {
    color: #c2c2c2; }
  textarea::-webkit-input-placeholder {
    color: #c2c2c2; }
  textarea:-ms-input-placeholder {
    color: #c2c2c2; }

input.mage-error,
select.mage-error,
textarea.mage-error {
  border-color: #ed8380; }

div.mage-error[generated] {
  color: #e02b27;
  font-size: 1.2rem; }

input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button; }

input::-moz-focus-inner {
  border: 0;
  padding: 0; }

.actions-toolbar > .primary,
.actions-toolbar > .secondary {
  margin-bottom: 9.5px;
  text-align: center; }
  .actions-toolbar > .primary .action,
  .actions-toolbar > .secondary .action {
    margin-bottom: 9.5px; }
    .actions-toolbar > .primary .action:last-child,
    .actions-toolbar > .secondary .action:last-child {
      margin-bottom: 0; }
  .actions-toolbar > .primary:last-child,
  .actions-toolbar > .secondary:last-child {
    margin-bottom: 0; }

@media only screen and (min-width: 768px) {
  .actions-toolbar:before, .actions-toolbar:after {
    content: '';
    display: table; }
  .actions-toolbar:after {
    clear: both; }
  .actions-toolbar .primary {
    float: left; }
  .actions-toolbar .secondary {
    float: right; }
  .actions-toolbar .primary,
  .actions-toolbar .secondary {
    display: inline-block; }
    .actions-toolbar .primary a.action,
    .actions-toolbar .secondary a.action {
      display: inline-block; }
  .actions-toolbar .secondary a.action {
    margin-top: 6px; }
  .actions-toolbar > .secondary,
  .actions-toolbar > .primary {
    margin-bottom: 0; }
    .actions-toolbar > .secondary .action,
    .actions-toolbar > .primary .action {
      margin-bottom: 0;
      width: auto; } }

.breadcrumbs {
  margin: 0;
  background-color: #f6f6f5; }
  .breadcrumbs .items {
    font-size: 1.2rem;
    color: #a3a3a3; }
    .breadcrumbs .items > li {
      display: inline-block;
      vertical-align: top; }
  .breadcrumbs .item {
    margin: 0; }
  .breadcrumbs a {
    color: #333;
    text-decoration: none; }
    .breadcrumbs a:visited {
      color: #333;
      text-decoration: none; }
    .breadcrumbs a:hover {
      color: #333;
      text-decoration: underline; }
    .breadcrumbs a:active {
      color: #333;
      text-decoration: none; }
  .breadcrumbs strong {
    font-weight: 400; }
  .breadcrumbs .item:not(:last-child) {
    display: inline-block;
    text-decoration: none; }
    .breadcrumbs .item:not(:last-child):after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 12px;
      line-height: 1.4;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
  .breadcrumbs .items {
    max-width: 1335px;
    margin-right: auto;
    margin-left: auto;
    padding: 0.8rem 2rem; }
    .breadcrumbs .items > li {
      display: inline; }

a.action.primary, button, .page-layout-checkout .authentication-wrapper .action, .action-gift {
  border-radius: 0.5rem;
  font-weight: 500;
  text-align: center;
  -webkit-transition: 250ms linear;
  -o-transition: 250ms linear;
  transition: 250ms linear; }
  a.action.primary[disabled], button[disabled], .page-layout-checkout .authentication-wrapper .action[disabled], .action-gift[disabled] {
    opacity: 0.5;
    cursor: not-allowed; }

a.action.primary {
  display: inline-block;
  display: inline-block;
  text-decoration: none; }
  a.action.primary:hover, a.action.primary:active, a.action.primary:focus {
    text-decoration: none; }

.abs-reset-list, .bundle-options-container .block-bundle-summary .bundle.items, .prices-tier, .cart-container .checkout-methods-items, .opc-wrapper .opc, .opc-progress-bar, .checkout-agreements-items, .items, .block-wishlist-management .wishlist-select-items, .paypal-review .items-qty, .order-details-items .items-qty, .page-footer__main--inner .footer-column > ul, .footer.content ul, .block-banners .banner-items,
.block-banners-inline .banner-items, .block-event .slider-panel .slider {
  margin: 0;
  padding: 0;
  list-style: none; }
  .abs-reset-list > li, .bundle-options-container .block-bundle-summary .bundle.items > li, .prices-tier > li, .cart-container .checkout-methods-items > li, .opc-wrapper .opc > li, .opc-progress-bar > li, .checkout-agreements-items > li, .items > li, .block-wishlist-management .wishlist-select-items > li, .paypal-review .items-qty > li, .order-details-items .items-qty > li, .page-footer__main--inner .footer-column > ul > li, .footer.content ul > li, .block-banners .banner-items > li, .block-banners-inline .banner-items > li, .block-event .slider-panel .slider > li {
    margin: 0; }

.abs-action-link-button, .abs-action-addto-product, .bundle-options-container .block-bundle-summary .product-addto-links > .action, .product-info-main .action.tocompare,
.product-options-bottom .action.tocompare, .product-info-main .action.towishlist,
.product-options-bottom .action.towishlist,
.block-bundle-summary .action.towishlist, .block-event .slider-panel .slider .item .action.event {
  background-image: none;
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-weight: 600;
  margin: 0;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  display: inline-block;
  display: inline-block;
  text-decoration: none;
  border-radius: 3px; }
  .abs-action-link-button:focus, .abs-action-addto-product:focus, .bundle-options-container .block-bundle-summary .product-addto-links > .action:focus, .product-info-main .action.tocompare:focus,
  .product-options-bottom .action.tocompare:focus, .product-info-main .action.towishlist:focus,
  .product-options-bottom .action.towishlist:focus,
  .block-bundle-summary .action.towishlist:focus, .block-event .slider-panel .slider .item .action.event:focus, .abs-action-link-button:active, .abs-action-addto-product:active, .bundle-options-container .block-bundle-summary .product-addto-links > .action:active, .product-info-main .action.tocompare:active,
  .product-options-bottom .action.tocompare:active, .product-info-main .action.towishlist:active,
  .product-options-bottom .action.towishlist:active,
  .block-bundle-summary .action.towishlist:active, .block-event .slider-panel .slider .item .action.event:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  .abs-action-link-button:hover, .abs-action-addto-product:hover, .bundle-options-container .block-bundle-summary .product-addto-links > .action:hover, .product-info-main .action.tocompare:hover,
  .product-options-bottom .action.tocompare:hover, .product-info-main .action.towishlist:hover,
  .product-options-bottom .action.towishlist:hover,
  .block-bundle-summary .action.towishlist:hover, .block-event .slider-panel .slider .item .action.event:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }
  .abs-action-link-button.disabled, .disabled.abs-action-addto-product, .bundle-options-container .block-bundle-summary .product-addto-links > .disabled.action, .product-info-main .disabled.action.tocompare,
  .product-options-bottom .disabled.action.tocompare, .product-info-main .disabled.action.towishlist,
  .product-options-bottom .disabled.action.towishlist,
  .block-bundle-summary .disabled.action.towishlist, .block-event .slider-panel .slider .item .disabled.action.event, .abs-action-link-button[disabled], .abs-action-addto-product[disabled], .bundle-options-container .block-bundle-summary .product-addto-links > .action[disabled], .product-info-main .action.tocompare[disabled],
  .product-options-bottom .action.tocompare[disabled], .product-info-main .action.towishlist[disabled],
  .product-options-bottom .action.towishlist[disabled],
  .block-bundle-summary .action.towishlist[disabled], .block-event .slider-panel .slider .item .action.event[disabled],
  fieldset[disabled] .abs-action-link-button,
  fieldset[disabled] .abs-action-addto-product,
  fieldset[disabled] .bundle-options-container .block-bundle-summary .product-addto-links > .action,
  .bundle-options-container .block-bundle-summary fieldset[disabled] .product-addto-links > .action,
  fieldset[disabled] .product-info-main .action.tocompare,
  .product-info-main fieldset[disabled] .action.tocompare,
  fieldset[disabled] .product-options-bottom .action.tocompare,
  .product-options-bottom fieldset[disabled] .action.tocompare,
  fieldset[disabled] .product-info-main .action.towishlist,
  .product-info-main fieldset[disabled] .action.towishlist,
  fieldset[disabled] .product-options-bottom .action.towishlist,
  .product-options-bottom fieldset[disabled] .action.towishlist,
  fieldset[disabled] .block-bundle-summary .action.towishlist,
  .block-bundle-summary fieldset[disabled] .action.towishlist,
  fieldset[disabled] .block-event .slider-panel .slider .item .action.event,
  .block-event .slider-panel .slider .item fieldset[disabled] .action.event {
    opacity: 0.5;
    cursor: default;
    pointer-events: none; }
  .abs-action-link-button:hover, .abs-action-addto-product:hover, .bundle-options-container .block-bundle-summary .product-addto-links > .action:hover, .product-info-main .action.tocompare:hover,
  .product-options-bottom .action.tocompare:hover, .product-info-main .action.towishlist:hover,
  .product-options-bottom .action.towishlist:hover,
  .block-bundle-summary .action.towishlist:hover, .block-event .slider-panel .slider .item .action.event:hover, .abs-action-link-button:active, .abs-action-addto-product:active, .bundle-options-container .block-bundle-summary .product-addto-links > .action:active, .product-info-main .action.tocompare:active,
  .product-options-bottom .action.tocompare:active, .product-info-main .action.towishlist:active,
  .product-options-bottom .action.towishlist:active,
  .block-bundle-summary .action.towishlist:active, .block-event .slider-panel .slider .item .action.event:active, .abs-action-link-button:focus, .abs-action-addto-product:focus, .bundle-options-container .block-bundle-summary .product-addto-links > .action:focus, .product-info-main .action.tocompare:focus,
  .product-options-bottom .action.tocompare:focus, .product-info-main .action.towishlist:focus,
  .product-options-bottom .action.towishlist:focus,
  .block-bundle-summary .action.towishlist:focus, .block-event .slider-panel .slider .item .action.event:focus {
    text-decoration: none; }

.abs-product-options-list dt, .cart.table-wrapper .item-options dt, .block-giftregistry-shared-items .product .item-options dt, .multicheckout .item-options dt {
  clear: left;
  float: left;
  margin: 0 9.5px 4.75px 0; }
  .abs-product-options-list dt:after, .cart.table-wrapper .item-options dt:after, .block-giftregistry-shared-items .product .item-options dt:after, .multicheckout .item-options dt:after {
    content: ': '; }

.abs-product-options-list dd, .cart.table-wrapper .item-options dd, .block-giftregistry-shared-items .product .item-options dd, .multicheckout .item-options dd {
  display: inline-block;
  float: left;
  margin: 0 0 4.75px; }

@media only screen and (min-width: 768px) {
  .abs-product-options-list-desktop dt, .block-giftregistry-shared .item-options dt {
    clear: left;
    float: left;
    margin: 0 9.5px 4.75px 0; }
    .abs-product-options-list-desktop dt:after, .block-giftregistry-shared .item-options dt:after {
      content: ': '; }
  .abs-product-options-list-desktop dd, .block-giftregistry-shared .item-options dd {
    display: inline-block;
    float: left;
    margin: 0 0 4.75px; } }

.abs-button-responsive, .actions-toolbar > .primary .action,
.actions-toolbar > .secondary .action {
  width: 100%; }

@media only screen and (min-width: 768px) {
  .abs-button-desktop {
    width: auto; } }

@media only screen and (max-width: 767px) {
  .abs-button-responsive-smaller, .product-info-main .box-tocart .actions .action.tocart {
    width: 100%; } }

@media only screen and (min-width: 768px) {
  .abs-blocks-2columns, .column .block-addbysku .block-content .box, .login-container .block, .account .column.main .block:not(.widget) .block-content .box, .magento-rma-guest-returns .column.main .block:not(.widget) .block-content .box, [class^='sales-guest-'] .column.main .block:not(.widget) .block-content .box,
  .sales-guest-view .column.main .block:not(.widget) .block-content .box {
    width: 48.8%; }
    .abs-blocks-2columns:nth-child(odd), .column .block-addbysku .block-content .box:nth-child(odd), .login-container .block:nth-child(odd), .account .column.main .block:not(.widget) .block-content .box:nth-child(odd), .magento-rma-guest-returns .column.main .block:not(.widget) .block-content .box:nth-child(odd), [class^='sales-guest-'] .column.main .block:not(.widget) .block-content .box:nth-child(odd),
    .sales-guest-view .column.main .block:not(.widget) .block-content .box:nth-child(odd) {
      clear: left;
      float: left; }
    .abs-blocks-2columns:nth-child(even), .column .block-addbysku .block-content .box:nth-child(even), .login-container .block:nth-child(even), .account .column.main .block:not(.widget) .block-content .box:nth-child(even), .magento-rma-guest-returns .column.main .block:not(.widget) .block-content .box:nth-child(even), [class^='sales-guest-'] .column.main .block:not(.widget) .block-content .box:nth-child(even),
    .sales-guest-view .column.main .block:not(.widget) .block-content .box:nth-child(even) {
      float: right; } }

@media only screen and (min-width: 640px) {
  .abs-blocks-2columns-s {
    width: 48.8%; }
    .abs-blocks-2columns-s:nth-child(odd) {
      clear: left;
      float: left; }
    .abs-blocks-2columns-s:nth-child(even) {
      float: right; } }

.abs-reset-image-wrapper, .cart.table-wrapper .product-image-wrapper, .minicart-items .product-image-wrapper, .block-giftregistry-shared-items .product-image-wrapper {
  height: auto;
  padding: 0 !important; }
  .abs-reset-image-wrapper .product-image-photo, .cart.table-wrapper .product-image-wrapper .product-image-photo, .minicart-items .product-image-wrapper .product-image-photo, .block-giftregistry-shared-items .product-image-wrapper .product-image-photo {
    position: static; }

.abs-adaptive-images {
  display: block;
  height: auto;
  max-width: 100%; }

.abs-adaptive-images-centered, .product.media .product.photo .photo.image {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 100%; }

.abs-login-block-title, .login-container .block .block-title {
  font-size: 1.8rem;
  border-bottom: 1px solid #e8e8e8;
  margin-bottom: 15px;
  padding-bottom: 12px; }
  .abs-login-block-title strong, .login-container .block .block-title strong {
    font-weight: 500; }

.abs-block-title, .abs-account-blocks .block-title, .account .column.main .block:not(.widget) .block-title, .multicheckout .block-title, .paypal-review .block .block-title, .magento-rma-guest-returns .column.main .block:not(.widget) .block-title, [class^='sales-guest-'] .column.main .block:not(.widget) .block-title, .sales-guest-view .column.main .block:not(.widget) .block-title, .block-compare .block-title, .block-giftregistry-results .block-title, .block-giftregistry-shared-items .block-title, .block-wishlist-search-results .block-title, .block-reorder .block-title, .widget .block-title, .block-wishlist .block-title {
  margin-bottom: 15px; }
  .abs-block-title > strong, .abs-account-blocks .block-title > strong, .account .column.main .block:not(.widget) .block-title > strong, .multicheckout .block-title > strong, .paypal-review .block .block-title > strong, .magento-rma-guest-returns .column.main .block:not(.widget) .block-title > strong, [class^='sales-guest-'] .column.main .block:not(.widget) .block-title > strong, .sales-guest-view .column.main .block:not(.widget) .block-title > strong, .block-compare .block-title > strong, .block-giftregistry-results .block-title > strong, .block-giftregistry-shared-items .block-title > strong, .block-wishlist-search-results .block-title > strong, .block-reorder .block-title > strong, .widget .block-title > strong, .block-wishlist .block-title > strong {
    font-weight: 300;
    line-height: 1.1;
    font-size: 1.8rem;
    margin-top: 1.425rem;
    margin-bottom: 0.95rem; }

.abs-account-blocks .block-title > .action, .account .column.main .block:not(.widget) .block-title > .action, .multicheckout .block-title > .action, .paypal-review .block .block-title > .action, .magento-rma-guest-returns .column.main .block:not(.widget) .block-title > .action, [class^='sales-guest-'] .column.main .block:not(.widget) .block-title > .action, .sales-guest-view .column.main .block:not(.widget) .block-title > .action {
  margin-left: 15px; }

.abs-account-blocks .box-title, .account .column.main .block:not(.widget) .box-title, .multicheckout .box-title, .paypal-review .block .box-title, .magento-rma-guest-returns .column.main .block:not(.widget) .box-title, [class^='sales-guest-'] .column.main .block:not(.widget) .box-title, .sales-guest-view .column.main .block:not(.widget) .box-title {
  display: inline-block;
  margin: 0 0 4.75px; }
  .abs-account-blocks .box-title > span, .account .column.main .block:not(.widget) .box-title > span, .multicheckout .box-title > span, .paypal-review .block .box-title > span, .magento-rma-guest-returns .column.main .block:not(.widget) .box-title > span, [class^='sales-guest-'] .column.main .block:not(.widget) .box-title > span, .sales-guest-view .column.main .block:not(.widget) .box-title > span {
    font-weight: 700;
    line-height: 1.1;
    font-size: 1.4rem;
    margin-top: 1.9rem;
    margin-bottom: 1.9rem; }
  .abs-account-blocks .box-title > .action, .account .column.main .block:not(.widget) .box-title > .action, .multicheckout .box-title > .action, .paypal-review .block .box-title > .action, .magento-rma-guest-returns .column.main .block:not(.widget) .box-title > .action, [class^='sales-guest-'] .column.main .block:not(.widget) .box-title > .action, .sales-guest-view .column.main .block:not(.widget) .box-title > .action {
    font-weight: 400;
    margin-left: 9.5px; }

.abs-account-blocks .block-content p:last-child, .account .column.main .block:not(.widget) .block-content p:last-child, .multicheckout .block-content p:last-child, .paypal-review .block .block-content p:last-child, .magento-rma-guest-returns .column.main .block:not(.widget) .block-content p:last-child, [class^='sales-guest-'] .column.main .block:not(.widget) .block-content p:last-child, .sales-guest-view .column.main .block:not(.widget) .block-content p:last-child {
  margin-bottom: 0; }

.abs-account-blocks .block-content .box, .account .column.main .block:not(.widget) .block-content .box, .multicheckout .block-content .box, .paypal-review .block .block-content .box, .magento-rma-guest-returns .column.main .block:not(.widget) .block-content .box, [class^='sales-guest-'] .column.main .block:not(.widget) .block-content .box, .sales-guest-view .column.main .block:not(.widget) .block-content .box {
  margin-bottom: 19px; }

.abs-dropdown-simple, .giftregisty-dropdown, .wishlist-dropdown {
  display: inline-block;
  position: relative; }
  .abs-dropdown-simple:before, .giftregisty-dropdown:before, .wishlist-dropdown:before, .abs-dropdown-simple:after, .giftregisty-dropdown:after, .wishlist-dropdown:after {
    content: '';
    display: table; }
  .abs-dropdown-simple:after, .giftregisty-dropdown:after, .wishlist-dropdown:after {
    clear: both; }
  .abs-dropdown-simple .action.toggle, .giftregisty-dropdown .action.toggle, .wishlist-dropdown .action.toggle {
    cursor: pointer;
    display: inline-block;
    text-decoration: none; }
    .abs-dropdown-simple .action.toggle:after, .giftregisty-dropdown .action.toggle:after, .wishlist-dropdown .action.toggle:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 22px;
      line-height: 22px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 0 0 0 5px;
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .abs-dropdown-simple .action.toggle:hover:after, .giftregisty-dropdown .action.toggle:hover:after, .wishlist-dropdown .action.toggle:hover:after {
      color: inherit; }
    .abs-dropdown-simple .action.toggle:active:after, .giftregisty-dropdown .action.toggle:active:after, .wishlist-dropdown .action.toggle:active:after {
      color: inherit; }
    .abs-dropdown-simple .action.toggle.active, .giftregisty-dropdown .action.toggle.active, .wishlist-dropdown .action.toggle.active {
      display: inline-block;
      text-decoration: none; }
      .abs-dropdown-simple .action.toggle.active:after, .giftregisty-dropdown .action.toggle.active:after, .wishlist-dropdown .action.toggle.active:after {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 22px;
        line-height: 22px;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        margin: 0 0 0 5px;
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .abs-dropdown-simple .action.toggle.active:hover:after, .giftregisty-dropdown .action.toggle.active:hover:after, .wishlist-dropdown .action.toggle.active:hover:after {
        color: inherit; }
      .abs-dropdown-simple .action.toggle.active:active:after, .giftregisty-dropdown .action.toggle.active:active:after, .wishlist-dropdown .action.toggle.active:active:after {
        color: inherit; }
  .abs-dropdown-simple ul.dropdown, .giftregisty-dropdown ul.dropdown, .wishlist-dropdown ul.dropdown {
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 0.1rem solid #efefe8;
    margin-top: 4px;
    min-width: 200px;
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: none;
    position: absolute;
    top: 100%;
    right: -4px;
    -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); }
    .abs-dropdown-simple ul.dropdown li, .giftregisty-dropdown ul.dropdown li, .wishlist-dropdown ul.dropdown li {
      margin: 0;
      padding: 5px 5px 5px 23px; }
      .abs-dropdown-simple ul.dropdown li:hover, .giftregisty-dropdown ul.dropdown li:hover, .wishlist-dropdown ul.dropdown li:hover {
        background: #e8e8e8;
        cursor: pointer; }
    .abs-dropdown-simple ul.dropdown:before, .giftregisty-dropdown ul.dropdown:before, .wishlist-dropdown ul.dropdown:before, .abs-dropdown-simple ul.dropdown:after, .giftregisty-dropdown ul.dropdown:after, .wishlist-dropdown ul.dropdown:after {
      border-bottom-style: solid;
      content: '';
      display: block;
      height: 0;
      position: absolute;
      width: 0; }
    .abs-dropdown-simple ul.dropdown:before, .giftregisty-dropdown ul.dropdown:before, .wishlist-dropdown ul.dropdown:before {
      border: 6px solid;
      border-color: transparent transparent #fff transparent;
      z-index: 99; }
    .abs-dropdown-simple ul.dropdown:after, .giftregisty-dropdown ul.dropdown:after, .wishlist-dropdown ul.dropdown:after {
      border: 7px solid;
      border-color: transparent transparent #efefe8 transparent;
      z-index: 98; }
    .abs-dropdown-simple ul.dropdown:before, .giftregisty-dropdown ul.dropdown:before, .wishlist-dropdown ul.dropdown:before {
      right: 10px;
      top: -12px; }
    .abs-dropdown-simple ul.dropdown:after, .giftregisty-dropdown ul.dropdown:after, .wishlist-dropdown ul.dropdown:after {
      right: 9px;
      top: -14px; }
  .abs-dropdown-simple.active, .active.giftregisty-dropdown, .active.wishlist-dropdown {
    overflow: visible; }
    .abs-dropdown-simple.active ul.dropdown, .active.giftregisty-dropdown ul.dropdown, .active.wishlist-dropdown ul.dropdown {
      display: block; }

.abs-input-qty, .column .block-addbysku .qty .qty, .bundle-options-container .input-text.qty, .cart.table-wrapper .col.qty .input-text, .account .table-return-items .qty .input-text, .table-giftregistry-items .field.qty .qty, .block-giftregistry-shared-items .qty .qty, .table.grouped .control .qty, .block-wishlist-info-items .input-text.qty, .multicheckout .table-wrapper .col .qty .input-text, .account .table-wrapper .data.table.wishlist .box-tocart .qty, .products-grid.wishlist .product-item .box-tocart input.qty, .sidebar .block-addbysku .fieldset .fields .field.qty .qty {
  text-align: center;
  width: 47px; }

.abs-margin-for-blocks-and-widgets, .block, .sidebar .widget.block:not(:last-child),
.sidebar .widget:not(:last-child), .block-banners,
.block-banners-inline {
  margin-bottom: 38px; }

.abs-remove-button-for-blocks, .sidebar .action.delete, .table-comparison .cell.remove .action.delete, .block-compare .action.delete, .filtered .item .action.remove {
  display: inline-block;
  text-decoration: none; }
  .abs-remove-button-for-blocks > span, .sidebar .action.delete > span, .table-comparison .cell.remove .action.delete > span, .block-compare .action.delete > span, .filtered .item .action.remove > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .abs-remove-button-for-blocks:before, .sidebar .action.delete:before, .table-comparison .cell.remove .action.delete:before, .block-compare .action.delete:before, .filtered .item .action.remove:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 26px;
    line-height: 15px;
    color: #303030;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-remove-button-for-blocks:hover:before, .sidebar .action.delete:hover:before, .table-comparison .cell.remove .action.delete:hover:before, .block-compare .action.delete:hover:before, .filtered .item .action.remove:hover:before {
    color: #303030; }
  .abs-remove-button-for-blocks:active:before, .sidebar .action.delete:active:before, .table-comparison .cell.remove .action.delete:active:before, .block-compare .action.delete:active:before, .filtered .item .action.remove:active:before {
    color: #303030; }

.abs-product-link, .product.name a {
  font-weight: 400; }
  .abs-product-link > a, .product.name a > a {
    color: #3b4a4b;
    text-decoration: none; }
    .abs-product-link > a:visited, .product.name a > a:visited {
      color: #3b4a4b;
      text-decoration: none; }
    .abs-product-link > a:hover, .product.name a > a:hover {
      color: #3b4a4b;
      text-decoration: none; }
    .abs-product-link > a:active, .product.name a > a:active {
      color: #3b4a4b;
      text-decoration: none; }

.abs-reset-left-margin, .form.giftregistry.items .actions-toolbar, .form-new-agreement .actions-toolbar, .fieldset .review-legend.legend, .form.wishlist.items .actions-toolbar {
  margin-left: 0; }

@media only screen and (min-width: 768px) {
  .abs-reset-left-margin-desktop, .bundle-options-container .legend.title, .column.main .cart-summary .actions-toolbar, .cart.table-wrapper .item-actions .actions-toolbar, .gift-summary .actions-toolbar,
  .cart.table-wrapper .gift-summary .actions-toolbar, .column.main .block-giftregistry-shared-items .actions-toolbar, .form-new-agreement .fieldset .legend, .form-new-agreement .actions-toolbar, .column.main .paypal-review .actions-toolbar, .wishlist-index-index .main .form-wishlist-items .actions-toolbar {
    margin-left: 0; } }

@media only screen and (min-width: 640px) {
  .abs-reset-left-margin-desktop-s, .column:not(.sidebar-main) .multicheckout .actions-toolbar, .multicheckout .block-shipping .box-shipping-method .fieldset .legend {
    margin-left: 0; } }

.abs-action-remove, .abs-add-fields .action.remove, .form-giftregistry-share .action.remove, .form-giftregistry-edit .action.remove, .form-add-invitations .action.remove, .form-create-return .action.remove, .form.send.friend .action.remove {
  left: 9.5px;
  margin-left: 70%;
  position: absolute;
  top: 31px;
  width: auto; }

@media only screen and (min-width: 768px) {
  .abs-action-remove-desktop, .abs-add-fields-desktop .fieldset .additional .action.remove, .form-giftregistry-share .fieldset .additional .action.remove, .form-giftregistry-edit .fieldset .additional .action.remove, .form-add-invitations .fieldset .additional .action.remove, .form-create-return .fieldset .additional .action.remove, .form.send.friend .fieldset .additional .action.remove {
    margin-left: 75.8%;
    top: 6px; } }

.abs-add-fields .fieldset, .form-giftregistry-share .fieldset, .form-giftregistry-edit .fieldset, .form-add-invitations .fieldset, .form-create-return .fieldset, .form.send.friend .fieldset {
  margin-bottom: 50px; }
  .abs-add-fields .fieldset .field:not(.choice) .control, .form-giftregistry-share .fieldset .field:not(.choice) .control, .form-giftregistry-edit .fieldset .field:not(.choice) .control, .form-add-invitations .fieldset .field:not(.choice) .control, .form-create-return .fieldset .field:not(.choice) .control, .form.send.friend .fieldset .field:not(.choice) .control {
    width: 70%; }
  .abs-add-fields .fieldset .actions-toolbar:not(:first-child) > .secondary, .form-giftregistry-share .fieldset .actions-toolbar:not(:first-child) > .secondary, .form-giftregistry-edit .fieldset .actions-toolbar:not(:first-child) > .secondary, .form-add-invitations .fieldset .actions-toolbar:not(:first-child) > .secondary, .form-create-return .fieldset .actions-toolbar:not(:first-child) > .secondary, .form.send.friend .fieldset .actions-toolbar:not(:first-child) > .secondary {
    float: left; }
    .abs-add-fields .fieldset .actions-toolbar:not(:first-child) > .secondary .action.add, .form-giftregistry-share .fieldset .actions-toolbar:not(:first-child) > .secondary .action.add, .form-giftregistry-edit .fieldset .actions-toolbar:not(:first-child) > .secondary .action.add, .form-add-invitations .fieldset .actions-toolbar:not(:first-child) > .secondary .action.add, .form-create-return .fieldset .actions-toolbar:not(:first-child) > .secondary .action.add, .form.send.friend .fieldset .actions-toolbar:not(:first-child) > .secondary .action.add {
      margin-top: 28.5px; }
  .abs-add-fields .fieldset .fields .actions-toolbar, .form-giftregistry-share .fieldset .fields .actions-toolbar, .form-giftregistry-edit .fieldset .fields .actions-toolbar, .form-add-invitations .fieldset .fields .actions-toolbar, .form-create-return .fieldset .fields .actions-toolbar, .form.send.friend .fieldset .fields .actions-toolbar {
    margin: 0; }

.abs-add-fields .message.notice, .form-giftregistry-share .message.notice, .form-giftregistry-edit .message.notice, .form-add-invitations .message.notice, .form-create-return .message.notice, .form.send.friend .message.notice {
  margin: 28.5px 0 0; }

.abs-add-fields .additional, .form-giftregistry-share .additional, .form-giftregistry-edit .additional, .form-add-invitations .additional, .form-create-return .additional, .form.send.friend .additional {
  margin-top: 55px;
  position: relative; }

@media only screen and (min-width: 768px) {
  .abs-add-fields-desktop .fieldset .field:not(.choice) .control, .form-giftregistry-share .fieldset .field:not(.choice) .control, .form-giftregistry-edit .fieldset .field:not(.choice) .control, .form-add-invitations .fieldset .field:not(.choice) .control, .form-create-return .fieldset .field:not(.choice) .control, .form.send.friend .fieldset .field:not(.choice) .control {
    width: 50%; } }

@media only screen and (min-width: 768px) {
  .abs-margin-for-forms-desktop, .column:not(.sidebar-additional) form .actions-toolbar,
  .column:not(.sidebar-main) form .actions-toolbar, .fieldset .legend, .login-container .fieldset:after {
    margin-left: 25.8%; } }

@media only screen and (min-width: 640px) {
  .abs-margin-for-forms-desktop-s {
    margin-left: 25.8%; } }

.abs-hidden, .order-details-items .order-items .order-gift-message:not(.expanded-content) {
  height: 0;
  visibility: hidden; }

.abs-visually-hidden, .fieldset > .field.no-label > .label,
.fieldset > .fields > .field.no-label > .label, .table-comparison .cell.label.remove span,
.table-comparison .cell.label.product span, .cart.table-wrapper .col.qty .label, .minicart-wrapper .action.showcart .counter-label, .checkout-index-index .page-title-wrapper, .checkout-payment-method .field-select-billing > .label, .checkout-payment-method .payments .legend, .checkout-payment-method .ccard .legend, .fieldset .fullname.field > .label, .account .column.main .limiter > .label, .field.street .field.additional .label, .account-nav .title, .page-product-downloadable .product-options-wrapper .fieldset .legend.links-title, .page-product-giftcard .fieldset.giftcard > .legend, .opc-wrapper .form-giftcard-account .field .label, .filter-options-content .filter-count-label, .block-wishlist-search-form .form-wishlist-search .fieldset > .legend, .page-multiple-wishlist .page-title-wrapper .page-title, .multicheckout .table-wrapper .col .label, .multicheckout .block .methods-shipping .item-content .fieldset > .legend, .block.newsletter .label, .block-reorder .product-item .label, .opc-wrapper .form-discount .field .label, .action.skip:not(:focus), .page-header .switcher .label,
.page-footer .switcher .label, .products-grid.wishlist .product-item .comment-box .label {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

@media only screen and (max-width: 639px) {
  .abs-visually-hidden-mobile, .table-giftregistry-items .col.product:before {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; } }

@media only screen and (max-width: 767px) {
  .abs-visually-hidden-mobile-m {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; } }

@media only screen and (min-width: 640px) {
  .abs-visually-hidden-desktop-s {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; } }

@media only screen and (min-width: 768px) {
  .abs-visually-hidden-desktop, .modes-label, .block-search .label, .dashboard-welcome-toggler {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; } }

.abs-visually-hidden-reset, .shipping-policy-block.field-tooltip .field-tooltip-action span {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.abs-add-clearfix:before, .abs-add-fields .fieldset .actions-toolbar:not(:first-child):before, .form-giftregistry-share .fieldset .actions-toolbar:not(:first-child):before, .form-giftregistry-edit .fieldset .actions-toolbar:not(:first-child):before, .form-add-invitations .fieldset .actions-toolbar:not(:first-child):before, .form-create-return .fieldset .actions-toolbar:not(:first-child):before, .form.send.friend .fieldset .actions-toolbar:not(:first-child):before, .payment-method-braintree .hosted-date-wrap:before, .sidebar .product-items-images:before, .cart.table-wrapper .actions-toolbar:before, .cart.table-wrapper .item-options:before, .minicart-items .product-item > .product:before, .checkout-container:before, .checkout-onepage-success:before, .opc-estimated-wrapper:before, .opc-wrapper .field.addresses:before, .fieldset .fullname .field:before, .page-product-downloadable .product-add-form:before, .gift-options:before, .gift-item-block .content:before, .order-details-items .order-gift-message:before,
.order-details-items .block-order-details-gift-message:before, .block-giftregistry-shared-items .product .item-options:before, .gift-wrapping-list:before, .opc-wrapper .data.table .gift-wrapping:before,
.table-order-items .gift-wrapping:before,
.table-order-review .gift-wrapping:before, .order-options .product:before, .map-popup .map-info-price:before, .multicheckout .item-options:before, .multicheckout .block:before, .multicheckout .block-content:before, .customer-review .product-details:before, .header.content:before, .abs-add-clearfix:after, .abs-add-fields .fieldset .actions-toolbar:not(:first-child):after, .form-giftregistry-share .fieldset .actions-toolbar:not(:first-child):after, .form-giftregistry-edit .fieldset .actions-toolbar:not(:first-child):after, .form-add-invitations .fieldset .actions-toolbar:not(:first-child):after, .form-create-return .fieldset .actions-toolbar:not(:first-child):after, .form.send.friend .fieldset .actions-toolbar:not(:first-child):after, .payment-method-braintree .hosted-date-wrap:after, .sidebar .product-items-images:after, .cart.table-wrapper .actions-toolbar:after, .cart.table-wrapper .item-options:after, .minicart-items .product-item > .product:after, .checkout-container:after, .checkout-onepage-success:after, .opc-estimated-wrapper:after, .opc-wrapper .field.addresses:after, .fieldset .fullname .field:after, .page-product-downloadable .product-add-form:after, .gift-options:after, .gift-item-block .content:after, .order-details-items .order-gift-message:after,
.order-details-items .block-order-details-gift-message:after, .block-giftregistry-shared-items .product .item-options:after, .gift-wrapping-list:after, .opc-wrapper .data.table .gift-wrapping:after,
.table-order-items .gift-wrapping:after,
.table-order-review .gift-wrapping:after, .order-options .product:after, .map-popup .map-info-price:after, .multicheckout .item-options:after, .multicheckout .block:after, .multicheckout .block-content:after, .customer-review .product-details:after, .header.content:after {
  content: '';
  display: table; }

.abs-add-clearfix:after, .abs-add-fields .fieldset .actions-toolbar:not(:first-child):after, .form-giftregistry-share .fieldset .actions-toolbar:not(:first-child):after, .form-giftregistry-edit .fieldset .actions-toolbar:not(:first-child):after, .form-add-invitations .fieldset .actions-toolbar:not(:first-child):after, .form-create-return .fieldset .actions-toolbar:not(:first-child):after, .form.send.friend .fieldset .actions-toolbar:not(:first-child):after, .payment-method-braintree .hosted-date-wrap:after, .sidebar .product-items-images:after, .cart.table-wrapper .actions-toolbar:after, .cart.table-wrapper .item-options:after, .minicart-items .product-item > .product:after, .checkout-container:after, .checkout-onepage-success:after, .opc-estimated-wrapper:after, .opc-wrapper .field.addresses:after, .fieldset .fullname .field:after, .page-product-downloadable .product-add-form:after, .gift-options:after, .gift-item-block .content:after, .order-details-items .order-gift-message:after,
.order-details-items .block-order-details-gift-message:after, .block-giftregistry-shared-items .product .item-options:after, .gift-wrapping-list:after, .opc-wrapper .data.table .gift-wrapping:after,
.table-order-items .gift-wrapping:after,
.table-order-review .gift-wrapping:after, .order-options .product:after, .map-popup .map-info-price:after, .multicheckout .item-options:after, .multicheckout .block:after, .multicheckout .block-content:after, .customer-review .product-details:after, .header.content:after {
  clear: both; }

@media only screen and (min-width: 768px) {
  .abs-add-clearfix-desktop:before, .abs-pager-toolbar:before, .account .toolbar:before, .toolbar-giftregistry-results:before, .toolbar-wishlist-results:before, .column .block-addbysku .block-content:before, .block-cart-failed .block-content:before, .cart-container:before, .login-container:before, .account .column.main .block:not(.widget) .block-content:before, .block-addresses-list .items.addresses:before, .block-giftregistry-shared .item-options:before, .gift-wrapping .nested:before, .table .gift-wrapping .content:before, .block-wishlist-management:before, .paypal-review .block-content:before, .magento-rma-guest-returns .column.main .block:not(.widget) .block-content:before, [class^='sales-guest-'] .column.main .block:not(.widget) .block-content:before,
  .sales-guest-view .column.main .block:not(.widget) .block-content:before, .header.content:before, .page-header .header.panel:before, .abs-add-clearfix-desktop:after, .abs-pager-toolbar:after, .account .toolbar:after, .toolbar-giftregistry-results:after, .toolbar-wishlist-results:after, .column .block-addbysku .block-content:after, .block-cart-failed .block-content:after, .cart-container:after, .login-container:after, .account .column.main .block:not(.widget) .block-content:after, .block-addresses-list .items.addresses:after, .block-giftregistry-shared .item-options:after, .gift-wrapping .nested:after, .table .gift-wrapping .content:after, .block-wishlist-management:after, .paypal-review .block-content:after, .magento-rma-guest-returns .column.main .block:not(.widget) .block-content:after, [class^='sales-guest-'] .column.main .block:not(.widget) .block-content:after,
  .sales-guest-view .column.main .block:not(.widget) .block-content:after, .header.content:after, .page-header .header.panel:after {
    content: '';
    display: table; }
  .abs-add-clearfix-desktop:after, .abs-pager-toolbar:after, .account .toolbar:after, .toolbar-giftregistry-results:after, .toolbar-wishlist-results:after, .column .block-addbysku .block-content:after, .block-cart-failed .block-content:after, .cart-container:after, .login-container:after, .account .column.main .block:not(.widget) .block-content:after, .block-addresses-list .items.addresses:after, .block-giftregistry-shared .item-options:after, .gift-wrapping .nested:after, .table .gift-wrapping .content:after, .block-wishlist-management:after, .paypal-review .block-content:after, .magento-rma-guest-returns .column.main .block:not(.widget) .block-content:after, [class^='sales-guest-'] .column.main .block:not(.widget) .block-content:after,
  .sales-guest-view .column.main .block:not(.widget) .block-content:after, .header.content:after, .page-header .header.panel:after {
    clear: both; } }

@media only screen and (min-width: 640px) {
  .abs-add-clearfix-desktop-s:before, .multicheckout .block-billing:before, .abs-add-clearfix-desktop-s:after, .multicheckout .block-billing:after {
    content: '';
    display: table; }
  .abs-add-clearfix-desktop-s:after, .multicheckout .block-billing:after {
    clear: both; } }

@media only screen and (max-width: 639px) {
  .abs-add-clearfix-mobile:before, .abs-checkout-order-review tbody tr:before, .multicheckout.order-review .data.table tbody tr:before, .table-wrapper .table:not(.totals):not(.table-comparison) tfoot tr:before, .table-giftregistry-items .col.product:before, .account .toolbar:before, .abs-add-clearfix-mobile:after, .abs-checkout-order-review tbody tr:after, .multicheckout.order-review .data.table tbody tr:after, .table-wrapper .table:not(.totals):not(.table-comparison) tfoot tr:after, .table-giftregistry-items .col.product:after, .account .toolbar:after {
    content: '';
    display: table; }
  .abs-add-clearfix-mobile:after, .abs-checkout-order-review tbody tr:after, .multicheckout.order-review .data.table tbody tr:after, .table-wrapper .table:not(.totals):not(.table-comparison) tfoot tr:after, .table-giftregistry-items .col.product:after, .account .toolbar:after {
    clear: both; } }

@media only screen and (max-width: 767px) {
  .abs-add-clearfix-mobile-m:before, .form-create-return .fieldset > .actions-toolbar:before, .abs-add-clearfix-mobile-m:after, .form-create-return .fieldset > .actions-toolbar:after {
    content: '';
    display: table; }
  .abs-add-clearfix-mobile-m:after, .form-create-return .fieldset > .actions-toolbar:after {
    clear: both; } }

.abs-add-box-sizing, .abs-field-date .control, .field.date .control, .abs-field-tooltip, .field .control._with-tooltip, .column .block-addbysku .sku, .bundle-options-container .block-bundle-summary, .sidebar .product-items-images .product-item, .search-autocomplete, .cart-summary, .opc-wrapper .shipping-address-item, .shipping-policy-block.field-tooltip .field-tooltip-content, .opc-block-summary, .sidebar .block-addbysku .fieldset .fields .field.sku, .block-event .slider-panel .slider .item .action.show {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media only screen and (min-width: 768px) {
  .abs-add-box-sizing-desktop {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }

@media only screen and (min-width: 640px) {
  .abs-add-box-sizing-desktop-s, .multicheckout .block-shipping .box, .multicheckout .block-billing .box-billing-address, .multicheckout .block-billing .box-billing-method {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }

@media only screen and (min-width: 768px) {
  .abs-add-box-sizing-desktop-m, .opc-wrapper {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }

@media only screen and (min-width: 768px) {
  .abs-revert-field-type-desktop .fieldset > .field, .product-add-form .fieldset > .field,
  .abs-revert-field-type-desktop .fieldset .fields > .field,
  .product-add-form .fieldset .fields > .field {
    margin: 0 0 19px; }
    .abs-revert-field-type-desktop .fieldset > .field:not(.choice) > .label, .product-add-form .fieldset > .field:not(.choice) > .label,
    .abs-revert-field-type-desktop .fieldset .fields > .field:not(.choice) > .label,
    .product-add-form .fieldset .fields > .field:not(.choice) > .label {
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      float: none;
      width: auto;
      text-align: left;
      padding: 0; }
    .abs-revert-field-type-desktop .fieldset > .field:not(.choice) > .control, .product-add-form .fieldset > .field:not(.choice) > .control,
    .abs-revert-field-type-desktop .fieldset .fields > .field:not(.choice) > .control,
    .product-add-form .fieldset .fields > .field:not(.choice) > .control {
      float: none;
      width: auto; }
    .abs-revert-field-type-desktop .fieldset > .field > .label, .product-add-form .fieldset > .field > .label,
    .abs-revert-field-type-desktop .fieldset .fields > .field > .label,
    .product-add-form .fieldset .fields > .field > .label {
      margin: 0 0 4.75px;
      display: inline-block; }
    .abs-revert-field-type-desktop .fieldset > .field.choice:before, .product-add-form .fieldset > .field.choice:before, .abs-revert-field-type-desktop .fieldset > .field.no-label:before, .product-add-form .fieldset > .field.no-label:before,
    .abs-revert-field-type-desktop .fieldset .fields > .field.choice:before,
    .product-add-form .fieldset .fields > .field.choice:before,
    .abs-revert-field-type-desktop .fieldset .fields > .field.no-label:before,
    .product-add-form .fieldset .fields > .field.no-label:before {
      display: none; }
    .abs-revert-field-type-desktop .fieldset > .field:not(:first-child):last-of-type, .product-add-form .fieldset > .field:not(:first-child):last-of-type,
    .abs-revert-field-type-desktop .fieldset .fields > .field:not(:first-child):last-of-type,
    .product-add-form .fieldset .fields > .field:not(:first-child):last-of-type {
      margin-bottom: 0; } }

.abs-navigation-icon {
  display: block;
  text-decoration: none; }
  .abs-navigation-icon:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 34px;
    line-height: 1.2;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-navigation-icon:after {
    position: absolute;
    right: 4.75px;
    top: 0; }

.abs-split-button {
  display: inline-block;
  position: relative;
  vertical-align: middle; }
  .abs-split-button:before, .abs-split-button:after {
    content: '';
    display: table; }
  .abs-split-button:after {
    clear: both; }
  .abs-split-button .action.split {
    float: left;
    margin: 0; }
  .abs-split-button .action.toggle {
    float: right;
    margin: 0; }
  .abs-split-button button.action.split, .abs-split-button .page-layout-checkout .authentication-wrapper .action.split, .page-layout-checkout .authentication-wrapper .abs-split-button .action.split, .abs-split-button .action.split.action-gift {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }
  .abs-split-button button + .action.toggle, .abs-split-button .page-layout-checkout .authentication-wrapper .action + .action.toggle, .page-layout-checkout .authentication-wrapper .abs-split-button .action + .action.toggle, .abs-split-button .action-gift + .action.toggle {
    border-bottom-left-radius: 0;
    border-left: 0;
    border-top-left-radius: 0; }
  .abs-split-button .action.toggle {
    padding: 4px 4.75px;
    display: inline-block;
    text-decoration: none; }
    .abs-split-button .action.toggle > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .abs-split-button .action.toggle:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 22px;
      line-height: 22px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .abs-split-button .action.toggle:hover:after {
      color: inherit; }
    .abs-split-button .action.toggle:active:after {
      color: inherit; }
    .abs-split-button .action.toggle.active {
      display: inline-block;
      text-decoration: none; }
      .abs-split-button .action.toggle.active > span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .abs-split-button .action.toggle.active:after {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 22px;
        line-height: 22px;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        margin: 0;
        vertical-align: top;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .abs-split-button .action.toggle.active:hover:after {
        color: inherit; }
      .abs-split-button .action.toggle.active:active:after {
        color: inherit; }
  .abs-split-button .items {
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 1px solid #bbb;
    margin-top: 4px;
    min-width: 100%;
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: none;
    position: absolute;
    top: 100%;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15);
            box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15); }
    .abs-split-button .items li {
      margin: 0;
      padding: 3px 4.75px; }
      .abs-split-button .items li:hover {
        background: #e8e8e8;
        cursor: pointer; }
    .abs-split-button .items:before, .abs-split-button .items:after {
      border-bottom-style: solid;
      content: '';
      display: block;
      height: 0;
      position: absolute;
      width: 0; }
    .abs-split-button .items:before {
      border: 6px solid;
      border-color: transparent transparent #fff transparent;
      z-index: 99; }
    .abs-split-button .items:after {
      border: 7px solid;
      border-color: transparent transparent #bbb transparent;
      z-index: 98; }
    .abs-split-button .items:before {
      right: 10px;
      top: -12px; }
    .abs-split-button .items:after {
      right: 9px;
      top: -14px; }
  .abs-split-button.active {
    overflow: visible; }
    .abs-split-button.active .items {
      display: block; }

.abs-action-addto-product, .bundle-options-container .block-bundle-summary .product-addto-links > .action, .product-info-main .action.tocompare,
.product-options-bottom .action.tocompare, .product-info-main .action.towishlist,
.product-options-bottom .action.towishlist,
.block-bundle-summary .action.towishlist {
  line-height: 1.4;
  padding: 4.75px 8px;
  font-size: 1.1rem; }

.abs-actions-addto-gridlist, .table-comparison .wishlist.split.button > .action.split,
.product-items .wishlist.split.button > .action.split, .product-items .action.towishlist,
.products.list.items .action.towishlist,
.table-comparison .action.towishlist {
  display: inline-block;
  text-decoration: none; }
  .abs-actions-addto-gridlist > span, .table-comparison .wishlist.split.button > .action.split > span, .product-items .wishlist.split.button > .action.split > span, .product-items .action.towishlist > span, .products.list.items .action.towishlist > span, .table-comparison .action.towishlist > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .abs-actions-addto-gridlist:before, .table-comparison .wishlist.split.button > .action.split:before,
  .product-items .wishlist.split.button > .action.split:before, .product-items .action.towishlist:before,
  .products.list.items .action.towishlist:before,
  .table-comparison .action.towishlist:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 29px;
    line-height: 24px;
    color: #333;
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-actions-addto-gridlist:hover:before, .table-comparison .wishlist.split.button > .action.split:hover:before,
  .product-items .wishlist.split.button > .action.split:hover:before, .product-items .action.towishlist:hover:before,
  .products.list.items .action.towishlist:hover:before,
  .table-comparison .action.towishlist:hover:before {
    color: #a54f6c; }

.abs-button-l, .bundle-actions .action.primary, .bundle-options-container .block-bundle-summary .box-tocart .action.primary, .product-info-main .box-tocart .action.tocart,
.product-options-bottom .box-tocart .action.tocart, .cart-container .checkout-methods-items .action.primary, .block-minicart .block-content > .actions > .primary .action.primary, .methods-shipping .actions-toolbar .action.primary, .block-authentication .action.action-register,
.block-authentication .action.action-login, .checkout-payment-method .payment-method-content > .actions-toolbar > .primary .action.primary, .form-address-edit .actions-toolbar .action.primary, .multicheckout .action.primary {
  line-height: 1.4;
  padding: 1.5rem 2rem;
  font-size: 1.8rem; }

.abs-action-button-as-link, .abs-action-remove, .abs-add-fields .action.remove, .form-giftregistry-share .action.remove, .form-giftregistry-edit .action.remove, .form-add-invitations .action.remove, .form-create-return .action.remove, .form.send.friend .action.remove, .cart.table-wrapper .action.help.map, .opc-wrapper .edit-address-link, .opc-block-shipping-information .shipping-information-title .action-edit, .action-auth-toggle, .checkout-payment-method .checkout-billing-address .action-cancel, .checkout-agreements-block .action-show, .cart-summary .block.giftcard .action.check, .gift-options .actions-toolbar .action-cancel, .table-comparison .wishlist.split.button > .action,
.product-items .wishlist.split.button > .action, .paypal-button-widget .paypal-button {
  line-height: 1.42857;
  padding: 0;
  color: #333;
  text-decoration: underline;
  background: none;
  border: 0;
  display: inline;
  border-radius: 0;
  font-size: inherit;
  font-weight: 400; }
  .abs-action-button-as-link:visited, .abs-action-remove:visited, .abs-add-fields .action.remove:visited, .form-giftregistry-share .action.remove:visited, .form-giftregistry-edit .action.remove:visited, .form-add-invitations .action.remove:visited, .form-create-return .action.remove:visited, .form.send.friend .action.remove:visited, .cart.table-wrapper .action.help.map:visited, .opc-wrapper .edit-address-link:visited, .opc-block-shipping-information .shipping-information-title .action-edit:visited, .action-auth-toggle:visited, .checkout-payment-method .checkout-billing-address .action-cancel:visited, .checkout-agreements-block .action-show:visited, .cart-summary .block.giftcard .action.check:visited, .gift-options .actions-toolbar .action-cancel:visited, .table-comparison .wishlist.split.button > .action:visited,
  .product-items .wishlist.split.button > .action:visited, .paypal-button-widget .paypal-button:visited {
    color: #333;
    text-decoration: none; }
  .abs-action-button-as-link:hover, .abs-action-remove:hover, .abs-add-fields .action.remove:hover, .form-giftregistry-share .action.remove:hover, .form-giftregistry-edit .action.remove:hover, .form-add-invitations .action.remove:hover, .form-create-return .action.remove:hover, .form.send.friend .action.remove:hover, .cart.table-wrapper .action.help.map:hover, .opc-wrapper .edit-address-link:hover, .opc-block-shipping-information .shipping-information-title .action-edit:hover, .action-auth-toggle:hover, .checkout-payment-method .checkout-billing-address .action-cancel:hover, .checkout-agreements-block .action-show:hover, .cart-summary .block.giftcard .action.check:hover, .gift-options .actions-toolbar .action-cancel:hover, .table-comparison .wishlist.split.button > .action:hover,
  .product-items .wishlist.split.button > .action:hover, .paypal-button-widget .paypal-button:hover {
    color: #a54f6c;
    text-decoration: none; }
  .abs-action-button-as-link:active, .abs-action-remove:active, .abs-add-fields .action.remove:active, .form-giftregistry-share .action.remove:active, .form-giftregistry-edit .action.remove:active, .form-add-invitations .action.remove:active, .form-create-return .action.remove:active, .form.send.friend .action.remove:active, .cart.table-wrapper .action.help.map:active, .opc-wrapper .edit-address-link:active, .opc-block-shipping-information .shipping-information-title .action-edit:active, .action-auth-toggle:active, .checkout-payment-method .checkout-billing-address .action-cancel:active, .checkout-agreements-block .action-show:active, .cart-summary .block.giftcard .action.check:active, .gift-options .actions-toolbar .action-cancel:active, .table-comparison .wishlist.split.button > .action:active,
  .product-items .wishlist.split.button > .action:active, .paypal-button-widget .paypal-button:active {
    color: #ff5501;
    text-decoration: none; }
  .abs-action-button-as-link:hover, .abs-action-remove:hover, .abs-add-fields .action.remove:hover, .form-giftregistry-share .action.remove:hover, .form-giftregistry-edit .action.remove:hover, .form-add-invitations .action.remove:hover, .form-create-return .action.remove:hover, .form.send.friend .action.remove:hover, .cart.table-wrapper .action.help.map:hover, .opc-wrapper .edit-address-link:hover, .opc-block-shipping-information .shipping-information-title .action-edit:hover, .action-auth-toggle:hover, .checkout-payment-method .checkout-billing-address .action-cancel:hover, .checkout-agreements-block .action-show:hover, .cart-summary .block.giftcard .action.check:hover, .gift-options .actions-toolbar .action-cancel:hover, .table-comparison .wishlist.split.button > .action:hover,
  .product-items .wishlist.split.button > .action:hover, .paypal-button-widget .paypal-button:hover {
    color: #a54f6c; }
  .abs-action-button-as-link:hover, .abs-action-remove:hover, .abs-add-fields .action.remove:hover, .form-giftregistry-share .action.remove:hover, .form-giftregistry-edit .action.remove:hover, .form-add-invitations .action.remove:hover, .form-create-return .action.remove:hover, .form.send.friend .action.remove:hover, .cart.table-wrapper .action.help.map:hover, .opc-wrapper .edit-address-link:hover, .opc-block-shipping-information .shipping-information-title .action-edit:hover, .action-auth-toggle:hover, .checkout-payment-method .checkout-billing-address .action-cancel:hover, .checkout-agreements-block .action-show:hover, .cart-summary .block.giftcard .action.check:hover, .gift-options .actions-toolbar .action-cancel:hover, .table-comparison .wishlist.split.button > .action:hover,
  .product-items .wishlist.split.button > .action:hover, .paypal-button-widget .paypal-button:hover, .abs-action-button-as-link:active, .abs-action-remove:active, .abs-add-fields .action.remove:active, .form-giftregistry-share .action.remove:active, .form-giftregistry-edit .action.remove:active, .form-add-invitations .action.remove:active, .form-create-return .action.remove:active, .form.send.friend .action.remove:active, .cart.table-wrapper .action.help.map:active, .opc-wrapper .edit-address-link:active, .opc-block-shipping-information .shipping-information-title .action-edit:active, .action-auth-toggle:active, .checkout-payment-method .checkout-billing-address .action-cancel:active, .checkout-agreements-block .action-show:active, .cart-summary .block.giftcard .action.check:active, .gift-options .actions-toolbar .action-cancel:active, .table-comparison .wishlist.split.button > .action:active,
  .product-items .wishlist.split.button > .action:active, .paypal-button-widget .paypal-button:active, .abs-action-button-as-link:focus, .abs-action-remove:focus, .abs-add-fields .action.remove:focus, .form-giftregistry-share .action.remove:focus, .form-giftregistry-edit .action.remove:focus, .form-add-invitations .action.remove:focus, .form-create-return .action.remove:focus, .form.send.friend .action.remove:focus, .cart.table-wrapper .action.help.map:focus, .opc-wrapper .edit-address-link:focus, .opc-block-shipping-information .shipping-information-title .action-edit:focus, .action-auth-toggle:focus, .checkout-payment-method .checkout-billing-address .action-cancel:focus, .checkout-agreements-block .action-show:focus, .cart-summary .block.giftcard .action.check:focus, .gift-options .actions-toolbar .action-cancel:focus, .table-comparison .wishlist.split.button > .action:focus,
  .product-items .wishlist.split.button > .action:focus, .paypal-button-widget .paypal-button:focus {
    background: none;
    border: 0; }
  .abs-action-button-as-link.disabled, .disabled.abs-action-remove, .abs-add-fields .disabled.action.remove, .form-giftregistry-share .disabled.action.remove, .form-giftregistry-edit .disabled.action.remove, .form-add-invitations .disabled.action.remove, .form-create-return .disabled.action.remove, .form.send.friend .disabled.action.remove, .cart.table-wrapper .disabled.action.help.map, .opc-wrapper .disabled.edit-address-link, .opc-block-shipping-information .shipping-information-title .disabled.action-edit, .disabled.action-auth-toggle, .checkout-payment-method .checkout-billing-address .disabled.action-cancel, .checkout-agreements-block .disabled.action-show, .cart-summary .block.giftcard .disabled.action.check, .gift-options .actions-toolbar .disabled.action-cancel, .table-comparison .wishlist.split.button > .disabled.action,
  .product-items .wishlist.split.button > .disabled.action, .paypal-button-widget .disabled.paypal-button, .abs-action-button-as-link[disabled], .abs-action-remove[disabled], .abs-add-fields .action.remove[disabled], .form-giftregistry-share .action.remove[disabled], .form-giftregistry-edit .action.remove[disabled], .form-add-invitations .action.remove[disabled], .form-create-return .action.remove[disabled], .form.send.friend .action.remove[disabled], .cart.table-wrapper .action.help.map[disabled], .opc-wrapper .edit-address-link[disabled], .opc-block-shipping-information .shipping-information-title .action-edit[disabled], .action-auth-toggle[disabled], .checkout-payment-method .checkout-billing-address .action-cancel[disabled], .checkout-agreements-block .action-show[disabled], .cart-summary .block.giftcard .action.check[disabled], .gift-options .actions-toolbar .action-cancel[disabled], .table-comparison .wishlist.split.button > .action[disabled],
  .product-items .wishlist.split.button > .action[disabled], .paypal-button-widget .paypal-button[disabled],
  fieldset[disabled] .abs-action-button-as-link,
  fieldset[disabled] .abs-action-remove,
  fieldset[disabled] .abs-add-fields .action.remove,
  .abs-add-fields fieldset[disabled] .action.remove,
  fieldset[disabled] .form-giftregistry-share .action.remove,
  .form-giftregistry-share fieldset[disabled] .action.remove,
  fieldset[disabled] .form-giftregistry-edit .action.remove,
  .form-giftregistry-edit fieldset[disabled] .action.remove,
  fieldset[disabled] .form-add-invitations .action.remove,
  .form-add-invitations fieldset[disabled] .action.remove,
  fieldset[disabled] .form-create-return .action.remove,
  .form-create-return fieldset[disabled] .action.remove,
  fieldset[disabled] .form.send.friend .action.remove,
  .form.send.friend fieldset[disabled] .action.remove,
  fieldset[disabled] .cart.table-wrapper .action.help.map,
  .cart.table-wrapper fieldset[disabled] .action.help.map,
  fieldset[disabled] .opc-wrapper .edit-address-link,
  .opc-wrapper fieldset[disabled] .edit-address-link,
  fieldset[disabled] .opc-block-shipping-information .shipping-information-title .action-edit,
  .opc-block-shipping-information .shipping-information-title fieldset[disabled] .action-edit,
  fieldset[disabled] .action-auth-toggle,
  fieldset[disabled] .checkout-payment-method .checkout-billing-address .action-cancel,
  .checkout-payment-method .checkout-billing-address fieldset[disabled] .action-cancel,
  fieldset[disabled] .checkout-agreements-block .action-show,
  .checkout-agreements-block fieldset[disabled] .action-show,
  fieldset[disabled] .cart-summary .block.giftcard .action.check,
  .cart-summary .block.giftcard fieldset[disabled] .action.check,
  fieldset[disabled] .gift-options .actions-toolbar .action-cancel,
  .gift-options .actions-toolbar fieldset[disabled] .action-cancel,
  fieldset[disabled] .table-comparison .wishlist.split.button > .action,
  .table-comparison fieldset[disabled] .wishlist.split.button > .action,
  fieldset[disabled] .product-items .wishlist.split.button > .action,
  .product-items fieldset[disabled] .wishlist.split.button > .action,
  fieldset[disabled] .paypal-button-widget .paypal-button,
  .paypal-button-widget fieldset[disabled] .paypal-button {
    color: #333;
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
    text-decoration: underline; }
  .abs-action-button-as-link:active, .abs-action-remove:active, .abs-add-fields .action.remove:active, .form-giftregistry-share .action.remove:active, .form-giftregistry-edit .action.remove:active, .form-add-invitations .action.remove:active, .form-create-return .action.remove:active, .form.send.friend .action.remove:active, .cart.table-wrapper .action.help.map:active, .opc-wrapper .edit-address-link:active, .opc-block-shipping-information .shipping-information-title .action-edit:active, .action-auth-toggle:active, .checkout-payment-method .checkout-billing-address .action-cancel:active, .checkout-agreements-block .action-show:active, .cart-summary .block.giftcard .action.check:active, .gift-options .actions-toolbar .action-cancel:active, .table-comparison .wishlist.split.button > .action:active,
  .product-items .wishlist.split.button > .action:active, .paypal-button-widget .paypal-button:active, .abs-action-button-as-link:not(:focus), .abs-action-remove:not(:focus), .abs-add-fields .action.remove:not(:focus), .form-giftregistry-share .action.remove:not(:focus), .form-giftregistry-edit .action.remove:not(:focus), .form-add-invitations .action.remove:not(:focus), .form-create-return .action.remove:not(:focus), .form.send.friend .action.remove:not(:focus), .cart.table-wrapper .action.help.map:not(:focus), .opc-wrapper .edit-address-link:not(:focus), .opc-block-shipping-information .shipping-information-title .action-edit:not(:focus), .action-auth-toggle:not(:focus), .checkout-payment-method .checkout-billing-address .action-cancel:not(:focus), .checkout-agreements-block .action-show:not(:focus), .cart-summary .block.giftcard .action.check:not(:focus), .gift-options .actions-toolbar .action-cancel:not(:focus), .table-comparison .wishlist.split.button > .action:not(:focus),
  .product-items .wishlist.split.button > .action:not(:focus), .paypal-button-widget .paypal-button:not(:focus) {
    -webkit-box-shadow: none;
            box-shadow: none; }

.abs-revert-secondary-color, .block-compare .action.compare, .cart-summary .actions-toolbar > .primary button, .cart-summary .actions-toolbar > .primary .page-layout-checkout .authentication-wrapper .action, .page-layout-checkout .authentication-wrapper .cart-summary .actions-toolbar > .primary .action, .cart-summary .actions-toolbar > .primary .action-gift, .cart-summary .form.giftregistry .fieldset .action.primary, .paypal-review .block .actions-toolbar .action.primary {
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff; }
  .abs-revert-secondary-color:focus, .block-compare .action.compare:focus, .cart-summary .actions-toolbar > .primary button:focus, .cart-summary .actions-toolbar > .primary .page-layout-checkout .authentication-wrapper .action:focus, .page-layout-checkout .authentication-wrapper .cart-summary .actions-toolbar > .primary .action:focus, .cart-summary .actions-toolbar > .primary .action-gift:focus, .cart-summary .form.giftregistry .fieldset .action.primary:focus, .paypal-review .block .actions-toolbar .action.primary:focus, .abs-revert-secondary-color:active, .block-compare .action.compare:active, .cart-summary .actions-toolbar > .primary button:active, .cart-summary .actions-toolbar > .primary .page-layout-checkout .authentication-wrapper .action:active, .page-layout-checkout .authentication-wrapper .cart-summary .actions-toolbar > .primary .action:active, .cart-summary .actions-toolbar > .primary .action-gift:active, .cart-summary .form.giftregistry .fieldset .action.primary:active, .paypal-review .block .actions-toolbar .action.primary:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  .abs-revert-secondary-color:hover, .block-compare .action.compare:hover, .cart-summary .actions-toolbar > .primary button:hover, .cart-summary .actions-toolbar > .primary .page-layout-checkout .authentication-wrapper .action:hover, .page-layout-checkout .authentication-wrapper .cart-summary .actions-toolbar > .primary .action:hover, .cart-summary .actions-toolbar > .primary .action-gift:hover, .cart-summary .form.giftregistry .fieldset .action.primary:hover, .paypal-review .block .actions-toolbar .action.primary:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }

.abs-revert-secondary-size, .cart-summary .form.giftregistry .fieldset .action.primary {
  font-size: 1.4rem;
  line-height: 1.4;
  padding: 1.5rem 2rem; }

.abs-box-tocart, .bundle-actions {
  margin: 9.5px 0; }

.abs-adjustment-incl-excl-tax .price-including-tax, .bundle-options-container .price-notice .price-including-tax, .product-options-wrapper .field .price-notice .price-including-tax, .cart-summary .price-including-tax, .gift-summary .price-including-tax, .gift-options .price-including-tax,
.abs-adjustment-incl-excl-tax .price-excluding-tax,
.bundle-options-container .price-notice .price-excluding-tax,
.product-options-wrapper .field .price-notice .price-excluding-tax,
.cart-summary .price-excluding-tax,
.gift-summary .price-excluding-tax,
.gift-options .price-excluding-tax,
.abs-adjustment-incl-excl-tax .weee,
.bundle-options-container .price-notice .weee,
.product-options-wrapper .field .price-notice .weee,
.cart-summary .weee,
.gift-summary .weee,
.gift-options .weee {
  font-size: 1.4rem;
  display: inline-block;
  white-space: nowrap; }

.abs-adjustment-incl-excl-tax .price-including-tax + .price-excluding-tax, .bundle-options-container .price-notice .price-including-tax + .price-excluding-tax, .product-options-wrapper .field .price-notice .price-including-tax + .price-excluding-tax, .cart-summary .price-including-tax + .price-excluding-tax, .gift-summary .price-including-tax + .price-excluding-tax, .gift-options .price-including-tax + .price-excluding-tax {
  display: inline-block;
  font-size: 1.1rem; }
  .abs-adjustment-incl-excl-tax .price-including-tax + .price-excluding-tax:before, .bundle-options-container .price-notice .price-including-tax + .price-excluding-tax:before, .product-options-wrapper .field .price-notice .price-including-tax + .price-excluding-tax:before, .cart-summary .price-including-tax + .price-excluding-tax:before, .gift-summary .price-including-tax + .price-excluding-tax:before, .gift-options .price-including-tax + .price-excluding-tax:before {
    content: "(" attr(data-label) ": "; }
  .abs-adjustment-incl-excl-tax .price-including-tax + .price-excluding-tax:after, .bundle-options-container .price-notice .price-including-tax + .price-excluding-tax:after, .product-options-wrapper .field .price-notice .price-including-tax + .price-excluding-tax:after, .cart-summary .price-including-tax + .price-excluding-tax:after, .gift-summary .price-including-tax + .price-excluding-tax:after, .gift-options .price-including-tax + .price-excluding-tax:after {
    content: ')'; }

.abs-tax-total, .price-including-tax .cart-tax-total,
.price-excluding-tax .cart-tax-total {
  cursor: pointer;
  padding-right: 12px;
  position: relative;
  display: inline-block;
  text-decoration: none; }
  .abs-tax-total:after, .price-including-tax .cart-tax-total:after,
  .price-excluding-tax .cart-tax-total:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 26px;
    line-height: 10px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 3px 0 0 0;
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-tax-total:after, .price-including-tax .cart-tax-total:after,
  .price-excluding-tax .cart-tax-total:after {
    position: absolute;
    right: -9.5px;
    top: 3px; }
  .abs-tax-total-expanded:after, .price-including-tax .cart-tax-total-expanded:after,
  .price-excluding-tax .cart-tax-total-expanded:after {
    content: ""; }

.abs-tax-total-expanded:after, .price-including-tax .cart-tax-total-expanded:after,
.price-excluding-tax .cart-tax-total-expanded:after {
  content: ""; }

.abs-methods-shipping-title {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 15px; }

@media only screen and (max-width: 639px) {
  .abs-checkout-order-review tbody tr:not(:last-child), .multicheckout.order-review .data.table tbody tr:not(:last-child) {
    border-bottom: 1px solid #d1d1d1; }
  .abs-checkout-order-review tbody tr .col.item:before, .multicheckout.order-review .data.table tbody tr .col.item:before {
    display: none; }
  .abs-checkout-order-review tbody tr .col.qty, .multicheckout.order-review .data.table tbody tr .col.qty, .abs-checkout-order-review tbody tr .col.price, .multicheckout.order-review .data.table tbody tr .col.price, .abs-checkout-order-review tbody tr .col.subtotal, .multicheckout.order-review .data.table tbody tr .col.subtotal {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    text-align: center;
    white-space: nowrap;
    width: 33%; }
    .abs-checkout-order-review tbody tr .col.qty:before, .multicheckout.order-review .data.table tbody tr .col.qty:before, .abs-checkout-order-review tbody tr .col.price:before, .multicheckout.order-review .data.table tbody tr .col.price:before, .abs-checkout-order-review tbody tr .col.subtotal:before, .multicheckout.order-review .data.table tbody tr .col.subtotal:before {
      content: attr(data-th) ":";
      display: block;
      font-weight: 700;
      padding-bottom: 9.5px; }
  .abs-checkout-order-review tbody tr .product-item-name, .multicheckout.order-review .data.table tbody tr .product-item-name {
    margin: 0; } }

.abs-colon:after, .block-minicart .subtotal .label:after, .minicart-items .details-qty .label:after,
.minicart-items .price-minicart .label:after, .order-details-items .order-gift-message .label:after,
.order-details-items .block-order-details-gift-message .label:after, .block-wishlist-management .wishlist-select .wishlist-name-label:after {
  content: ': '; }

.abs-icon-add, .abs-dropdown-items-new .action.new, .wishlist.split.button .action.new, .wishlist-dropdown .action.new {
  display: inline-block;
  text-decoration: none; }
  .abs-icon-add:before, .abs-dropdown-items-new .action.new:before, .wishlist.split.button .action.new:before, .wishlist-dropdown .action.new:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 10px;
    line-height: 10px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }

@media only screen and (max-width: 767px) {
  .abs-icon-add-mobile, .block-wishlist-management .wishlist-add.item .add {
    display: block;
    text-decoration: none; }
    .abs-icon-add-mobile:before, .block-wishlist-management .wishlist-add.item .add:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 10px;
      line-height: 10px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 0 5px 0 0;
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; } }

.abs-dropdown-items-new .items .item:last-child:hover, .wishlist.split.button .items .item:last-child:hover, .wishlist-dropdown .items .item:last-child:hover {
  background: #e8e8e8; }

.abs-dropdown-items-new .action.new:before, .wishlist.split.button .action.new:before, .wishlist-dropdown .action.new:before {
  margin-left: -17px;
  margin-right: 4.75px; }

@media only screen and (max-width: 767px) {
  .abs-toggling-title-mobile, .block-wishlist-management .wishlist-select .wishlist-name {
    border-bottom: 1px solid #d1d1d1;
    border-top: 1px solid #d1d1d1;
    cursor: pointer;
    margin-bottom: 0;
    padding: 9.5px 38px 9.5px 15px;
    position: relative;
    display: block;
    text-decoration: none; }
    .abs-toggling-title-mobile:after, .block-wishlist-management .wishlist-select .wishlist-name:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 28px;
      line-height: inherit;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .abs-toggling-title-mobile:after, .block-wishlist-management .wishlist-select .wishlist-name:after {
      position: absolute;
      right: 9.5px;
      top: 0; }
    .abs-toggling-title-mobile.active:after, .block-wishlist-management .wishlist-select .active.wishlist-name:after {
      content: ""; } }

.abs-no-display, .abs-sidebar-totals .table-caption, .cart-totals .table-caption, .opc-block-summary .table-totals .table-caption, .sidebar .subtitle, .cart-summary .block .fieldset.estimate > .legend,
.cart-summary .block .fieldset.estimate > .legend + br, .minicart-items .product-item-details .weee[data-label] .label, .page-product-giftcard .fieldset.giftcard > .legend + br, .order-details-items .order-items .order-gift-message .action.close, .multicheckout .block .methods-shipping .item-content .fieldset > .legend + br, .multicheckout .hidden, [class^='multishipping-'] .nav-sections,
[class^='multishipping-'] .nav-toggle, .sidebar-main .block-reorder .subtitle,
.sidebar-additional .block-reorder .subtitle, .no-display {
  display: none; }

@media only screen and (max-width: 639px) {
  .abs-no-display-s, .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison).additional-attributes tbody th, .opc-wrapper .shipping-address-item.selected-item .action-select-shipping-item {
    display: none; } }

@media only screen and (min-width: 768px) {
  .abs-no-display-desktop, .opc-estimated-wrapper, .sidebar .block.widget .pager .item:not(.pages-item-next):not(.pages-item-previous) {
    display: none; } }

.abs-status, .return-status, .order-status {
  display: inline-block;
  margin-bottom: 19px; }

@media only screen and (max-width: 767px) {
  .abs-pager-toolbar-mobile .toolbar-amount, .account .toolbar .toolbar-amount, .toolbar-wishlist-results .toolbar-amount,
  .abs-pager-toolbar-mobile .limiter,
  .account .toolbar .limiter,
  .toolbar-wishlist-results .limiter,
  .abs-pager-toolbar-mobile .pages,
  .account .toolbar .pages,
  .toolbar-wishlist-results .pages {
    float: none;
    margin-bottom: 23.75px; } }

@media only screen and (max-width: 639px) {
  .abs-pager-toolbar-mobile-s .toolbar-amount, .toolbar-giftregistry-results .toolbar-amount,
  .abs-pager-toolbar-mobile-s .limiter,
  .toolbar-giftregistry-results .limiter,
  .abs-pager-toolbar-mobile-s .pages,
  .toolbar-giftregistry-results .pages {
    margin-bottom: 23.75px; } }

@media only screen and (min-width: 768px) {
  .abs-pager-toolbar, .account .toolbar, .toolbar-giftregistry-results, .toolbar-wishlist-results {
    margin-bottom: 19px;
    position: relative; }
    .abs-pager-toolbar .limiter, .account .toolbar .limiter, .toolbar-giftregistry-results .limiter, .toolbar-wishlist-results .limiter {
      float: right;
      position: relative;
      z-index: 1; }
    .abs-pager-toolbar .toolbar-amount, .account .toolbar .toolbar-amount, .toolbar-giftregistry-results .toolbar-amount, .toolbar-wishlist-results .toolbar-amount {
      float: left;
      line-height: normal;
      padding: 7px 0 0;
      position: relative;
      z-index: 1; }
    .abs-pager-toolbar .pages, .account .toolbar .pages, .toolbar-giftregistry-results .pages, .toolbar-wishlist-results .pages {
      position: absolute;
      z-index: 0;
      top: 60px;
      left: 0;
      right: 80px; } }

.abs-block-items-counter, .block-compare .counter, .block-wishlist .counter {
  color: #7d7d7d;
  font-size: 1.2rem;
  white-space: nowrap; }

.abs-shopping-cart-items .action.continue, .block-cart-failed .action.continue, .cart-container .form-cart .action.continue {
  border-radius: 3px;
  font-weight: 700;
  display: inline-block;
  display: inline-block;
  text-decoration: none;
  background-image: none;
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-weight: 600;
  margin: 0;
  padding: 7px 15px 7px 0;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  display: inline-block;
  text-decoration: none; }
  .abs-shopping-cart-items .action.continue:hover, .block-cart-failed .action.continue:hover, .cart-container .form-cart .action.continue:hover, .abs-shopping-cart-items .action.continue:active, .block-cart-failed .action.continue:active, .cart-container .form-cart .action.continue:active, .abs-shopping-cart-items .action.continue:focus, .block-cart-failed .action.continue:focus, .cart-container .form-cart .action.continue:focus {
    text-decoration: none; }
  .abs-shopping-cart-items .action.continue:before, .block-cart-failed .action.continue:before, .cart-container .form-cart .action.continue:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 32px;
    line-height: 16px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-shopping-cart-items .action.continue:hover:before, .block-cart-failed .action.continue:hover:before, .cart-container .form-cart .action.continue:hover:before {
    color: inherit; }
  .abs-shopping-cart-items .action.continue:active:before, .block-cart-failed .action.continue:active:before, .cart-container .form-cart .action.continue:active:before {
    color: inherit; }
  .abs-shopping-cart-items .action.continue:focus, .block-cart-failed .action.continue:focus, .cart-container .form-cart .action.continue:focus, .abs-shopping-cart-items .action.continue:active, .block-cart-failed .action.continue:active, .cart-container .form-cart .action.continue:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  .abs-shopping-cart-items .action.continue:hover, .block-cart-failed .action.continue:hover, .cart-container .form-cart .action.continue:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }
  .abs-shopping-cart-items .action.continue.disabled, .block-cart-failed .action.continue.disabled, .cart-container .form-cart .action.continue.disabled, .abs-shopping-cart-items .action.continue[disabled], .block-cart-failed .action.continue[disabled], .cart-container .form-cart .action.continue[disabled],
  fieldset[disabled] .abs-shopping-cart-items .action.continue,
  fieldset[disabled] .block-cart-failed .action.continue,
  fieldset[disabled] .cart-container .form-cart .action.continue,
  .cart-container fieldset[disabled] .form-cart .action.continue {
    opacity: 0.5;
    cursor: default;
    pointer-events: none; }

.abs-shopping-cart-items .action.update, .block-cart-failed .action.update, .cart-container .form-cart .action.update {
  display: inline-block;
  text-decoration: none;
  padding-left: 4.75px; }
  .abs-shopping-cart-items .action.update:before, .block-cart-failed .action.update:before, .cart-container .form-cart .action.update:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 32px;
    line-height: 16px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-shopping-cart-items .action.update:hover:before, .block-cart-failed .action.update:hover:before, .cart-container .form-cart .action.update:hover:before {
    color: inherit; }
  .abs-shopping-cart-items .action.update:active:before, .block-cart-failed .action.update:active:before, .cart-container .form-cart .action.update:active:before {
    color: inherit; }

@media only screen and (max-width: 767px) {
  .abs-shopping-cart-items-mobile .actions, .cart-container .form-cart .actions {
    text-align: center; }
  .abs-shopping-cart-items-mobile .action.update, .cart-container .form-cart .action.update, .abs-shopping-cart-items-mobile .action.continue, .cart-container .form-cart .action.continue, .abs-shopping-cart-items-mobile .action.clear, .cart-container .form-cart .action.clear {
    margin: 0 auto 9.5px; }
  .abs-shopping-cart-items-mobile .action.update, .cart-container .form-cart .action.update, .abs-shopping-cart-items-mobile .action.clear, .cart-container .form-cart .action.clear {
    display: block; } }

@media only screen and (min-width: 768px) {
  .abs-shopping-cart-items-desktop, .block-cart-failed, .cart-container .form-cart, .cart-container .cart-gift-item {
    float: left;
    position: relative;
    width: 73%; }
    .abs-shopping-cart-items-desktop .actions, .block-cart-failed .actions, .cart-container .form-cart .actions, .cart-container .cart-gift-item .actions {
      text-align: right; }
    .abs-shopping-cart-items-desktop .action.clear, .block-cart-failed .action.clear, .cart-container .form-cart .action.clear, .cart-container .cart-gift-item .action.clear, .abs-shopping-cart-items-desktop .action.update, .block-cart-failed .action.update, .cart-container .form-cart .action.update, .cart-container .cart-gift-item .action.update {
      margin-left: 9.5px; }
    .abs-shopping-cart-items-desktop .action.continue, .block-cart-failed .action.continue, .cart-container .form-cart .action.continue, .cart-container .cart-gift-item .action.continue {
      float: left; } }

.abs-field-date .control, .field.date .control {
  position: relative; }

.abs-field-date-input, .abs-field-date input, .field.date input, .form-giftregistry-search .fields-specific-options .datetime-picker {
  margin-right: 9.5px;
  width: calc(100% - 49.5px); }

.abs-field-tooltip, .field .control._with-tooltip {
  position: relative; }
  .abs-field-tooltip input, .field .control._with-tooltip input {
    margin-right: 9.5px;
    width: calc(100% - 35.25px); }

.abs-checkout-tooltip-content-position-top, .checkout-index-index .modal-popup .field-tooltip .field-tooltip-content, .shipping-policy-block.field-tooltip .field-tooltip-content {
  right: -9.5px;
  top: 38px;
  left: auto; }
  .abs-checkout-tooltip-content-position-top:before, .checkout-index-index .modal-popup .field-tooltip .field-tooltip-content:before, .shipping-policy-block.field-tooltip .field-tooltip-content:before, .abs-checkout-tooltip-content-position-top:after, .checkout-index-index .modal-popup .field-tooltip .field-tooltip-content:after, .shipping-policy-block.field-tooltip .field-tooltip-content:after {
    border: 8px solid transparent;
    height: 0;
    width: 0;
    margin-top: -19px;
    right: 9.5px;
    left: auto;
    top: 0; }
  .abs-checkout-tooltip-content-position-top:before, .checkout-index-index .modal-popup .field-tooltip .field-tooltip-content:before, .shipping-policy-block.field-tooltip .field-tooltip-content:before {
    border-bottom-color: #ccc; }
  .abs-checkout-tooltip-content-position-top:after, .checkout-index-index .modal-popup .field-tooltip .field-tooltip-content:after, .shipping-policy-block.field-tooltip .field-tooltip-content:after {
    border-bottom-color: #f4f4f4;
    top: 1px; }

@media only screen and (max-width: 767px) {
  .abs-checkout-tooltip-content-position-top-mobile, .field-tooltip .field-tooltip-content {
    right: -9.5px;
    top: 38px;
    left: auto; }
    .abs-checkout-tooltip-content-position-top-mobile:before, .field-tooltip .field-tooltip-content:before, .abs-checkout-tooltip-content-position-top-mobile:after, .field-tooltip .field-tooltip-content:after {
      border: 8px solid transparent;
      height: 0;
      width: 0;
      margin-top: -19px;
      right: 9.5px;
      left: auto;
      top: 0; }
    .abs-checkout-tooltip-content-position-top-mobile:before, .field-tooltip .field-tooltip-content:before {
      border-bottom-color: #ccc; }
    .abs-checkout-tooltip-content-position-top-mobile:after, .field-tooltip .field-tooltip-content:after {
      border-bottom-color: #f4f4f4;
      top: 1px; } }

.abs-checkout-title, .opc-wrapper .step-title, .opc-block-shipping-information .shipping-information-title, .opc-block-summary > .title, .checkout-agreements-items .checkout-agreements-item-title {
  border-bottom: 1px solid #ccc;
  padding-bottom: 9.5px;
  color: #3b4a4b;
  font-weight: 300;
  font-size: 2.6rem; }

.abs-sidebar-totals .mark, .cart-totals .mark, .opc-block-summary .table-totals .mark {
  font-weight: 400;
  padding-left: 4px; }
  .abs-sidebar-totals .mark strong, .cart-totals .mark strong, .opc-block-summary .table-totals .mark strong {
    font-weight: 400; }

.abs-sidebar-totals .amount, .cart-totals .amount, .opc-block-summary .table-totals .amount {
  padding-right: 4px;
  text-align: right;
  white-space: nowrap; }
  .abs-sidebar-totals .amount strong, .cart-totals .amount strong, .opc-block-summary .table-totals .amount strong {
    font-weight: 400; }

.abs-sidebar-totals .grand .mark, .cart-totals .grand .mark, .opc-block-summary .table-totals .grand .mark,
.abs-sidebar-totals .grand .amount,
.cart-totals .grand .amount,
.opc-block-summary .table-totals .grand .amount {
  padding-top: 19px; }


.abs-sidebar-totals .grand .amount,
.cart-totals .grand .amount,
.opc-block-summary .table-totals .grand .amount {
  padding-right: 4px;
  text-align: right; }
  .abs-sidebar-totals .grand .amount strong, .cart-totals .grand .amount strong, .opc-block-summary .table-totals .grand .amount strong {
    font-weight: 700; }

.abs-sidebar-totals .msrp, .cart-totals .msrp, .opc-block-summary .table-totals .msrp {
  margin-bottom: 9.5px; }

.abs-sidebar-totals .totals-tax-summary .mark, .cart-totals .totals-tax-summary .mark, .opc-block-summary .table-totals .totals-tax-summary .mark,
.abs-sidebar-totals .totals-tax-summary .amount,
.cart-totals .totals-tax-summary .amount,
.opc-block-summary .table-totals .totals-tax-summary .amount {
  border-top: 1px solid #d1d1d1;
  border-bottom: 1px solid #d1d1d1;
  cursor: pointer; }

.abs-sidebar-totals .totals-tax-summary .amount .price, .cart-totals .totals-tax-summary .amount .price, .opc-block-summary .table-totals .totals-tax-summary .amount .price {
  display: block;
  text-decoration: none;
  padding-right: 23.75px;
  position: relative; }
  .abs-sidebar-totals .totals-tax-summary .amount .price > span, .cart-totals .totals-tax-summary .amount .price > span, .opc-block-summary .table-totals .totals-tax-summary .amount .price > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .abs-sidebar-totals .totals-tax-summary .amount .price:after, .cart-totals .totals-tax-summary .amount .price:after, .opc-block-summary .table-totals .totals-tax-summary .amount .price:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 30px;
    line-height: inherit;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-sidebar-totals .totals-tax-summary .amount .price:after, .cart-totals .totals-tax-summary .amount .price:after, .opc-block-summary .table-totals .totals-tax-summary .amount .price:after {
    position: absolute;
    right: -5px;
    top: -12px; }

.abs-sidebar-totals .totals-tax-summary.expanded .mark, .cart-totals .totals-tax-summary.expanded .mark, .opc-block-summary .table-totals .totals-tax-summary.expanded .mark,
.abs-sidebar-totals .totals-tax-summary.expanded .amount,
.cart-totals .totals-tax-summary.expanded .amount,
.opc-block-summary .table-totals .totals-tax-summary.expanded .amount {
  border-bottom: 0; }

.abs-sidebar-totals .totals-tax-summary.expanded .amount .price:after, .cart-totals .totals-tax-summary.expanded .amount .price:after, .opc-block-summary .table-totals .totals-tax-summary.expanded .amount .price:after {
  content: ""; }

.abs-sidebar-totals .totals-tax-details, .cart-totals .totals-tax-details, .opc-block-summary .table-totals .totals-tax-details {
  display: none;
  border-bottom: 1px solid #d1d1d1; }
  .abs-sidebar-totals .totals-tax-details.shown, .cart-totals .totals-tax-details.shown, .opc-block-summary .table-totals .totals-tax-details.shown {
    display: table-row; }

.abs-discount-block > .title, .cart-summary .block > .title, .paypal-review-discount .block > .title {
  border-top: 1px solid #d1d1d1;
  cursor: pointer;
  font-weight: 600;
  display: block;
  text-decoration: none;
  margin-bottom: 0;
  overflow: hidden;
  padding: 7px 28.5px 7px 0;
  position: relative; }
  .abs-discount-block > .title:after, .cart-summary .block > .title:after, .paypal-review-discount .block > .title:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: inherit;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abs-discount-block > .title:after, .cart-summary .block > .title:after, .paypal-review-discount .block > .title:after {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -11.5px; }
  .column.main .abs-discount-block > .title strong, .column.main .cart-summary .block > .title strong, .cart-summary .column.main .block > .title strong, .column.main .paypal-review-discount .block > .title strong, .paypal-review-discount .column.main .block > .title strong {
    font-size: 1.8rem;
    font-weight: 400; }

.abs-discount-block > .content, .cart-summary .block > .content, .paypal-review-discount .block > .content {
  display: none; }

.abs-discount-block.active > .title:after, .cart-summary .active.block > .title:after, .paypal-review-discount .active.block > .title:after {
  content: ""; }

.abs-discount-block.active > .content, .cart-summary .active.block > .content, .paypal-review-discount .active.block > .content {
  display: block; }

.contact-block {
  margin-top: 1.6rem;
  padding: 0 1.6rem; }

.contact-block__inner {
  background-color: #f6f6f5; }

.contact-block__title-container {
  text-align: center; }

.contact-block__title {
  display: inline-block;
  position: relative;
  top: -1px;
  padding: 0 15% 4.5rem 15%;
  margin: 0 2%;
  background-image: url("../images/backgrounds/chapter-background--bottomhalf--white.svg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
  color: #000000;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: 3.1rem;
  line-height: 1.18;
  font-weight: 500; }

.contact-block__content-container {
  max-width: 120.4rem;
  margin: 0 auto;
  overflow: hidden;
  padding: 5rem 3.2rem 9rem 3.2rem; }

.contact-block__content-container-inner {
  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;
  margin: 0 -1.6rem; }

.contact-block__contact-persons {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  width: 66.6666%;
  padding: 0 1.6rem; }

.contact-block__contact-person-items {
  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;
  margin: 0 -1.3rem -2.6rem -1.3rem; }

.contact-block__contact-person-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  width: 50%;
  min-width: 0;
  margin-bottom: 2.6rem;
  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; }

.contact-person {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 0 1.3rem;
  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;
  /* Currently not in use, mimics Drupal layout */
  /* Drupal contact entries */
  /* End Drupal style entries */ }
  .contact-person .cp-block-teaser__container {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    /* Below rules apply to original Drupal layout with contact image */ }
  .contact-person .cp-block-teaser__container-inner {
    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;
    margin: 0 -0.8rem; }
  .contact-person .cp-block-teaser__image-block {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 9.8rem;
    min-width: 0; }
    .contact-person .cp-block-teaser__image-block img {
      position: relative;
      display: block;
      overflow: hidden; }
      .contact-person .cp-block-teaser__image-block img::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #f6f6f5; }
  .contact-person .cp-block-teaser__text-block {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
    /* Magento contact block */
    color: #3b4a4b;
    font-size: 1.8rem;
    line-height: 1.5; }
    .contact-person .cp-block-teaser__text-block a {
      color: inherit;
      text-decoration: none; }
      .contact-person .cp-block-teaser__text-block a:hover, .contact-person .cp-block-teaser__text-block a:focus {
        text-decoration: underline; }
  .contact-person .cp-block-teaser__text-block-inner {
    padding: 0 0.8rem; }
  .contact-person .cp-block-teaser__name {
    color: #3c626f;
    font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2; }
  .contact-person .cp-block-teaser__function {
    font-size: 1.2rem;
    line-height: 1.4;
    color: #3c626f; }
  .contact-person .cp-block-teaser__contact-details {
    margin-top: 0.4rem;
    font-size: 1.2rem;
    line-height: 2;
    color: #000000;
    word-wrap: break-word; }

.contact-block__locations {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  width: 33.3333%;
  padding: 0 1.6rem; }
  .contact-block__locations .cl-block-teaser__address {
    color: #3b4a4b;
    font-size: 1.8rem;
    line-height: 1.5;
    /* Drupal style */
    /* End Drupal style */ }
    .contact-block__locations .cl-block-teaser__address .address__line {
      display: block; }
    .contact-block__locations .cl-block-teaser__address .organization {
      font-weight: bold; }
    .contact-block__locations .cl-block-teaser__address a {
      color: inherit;
      text-decoration: none; }
      .contact-block__locations .cl-block-teaser__address a:hover, .contact-block__locations .cl-block-teaser__address a:focus {
        text-decoration: underline; }

.contact-block__subtitle {
  margin-bottom: 2rem;
  color: #b8b496;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.25; }

@media only screen and (max-width: 479px) {
  .contact-person .cp-block-teaser__image-block {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 2rem; }
  .contact-person .cp-block-teaser__text-block {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

@media only screen and (max-width: 767px) {
  .contact-block__contact-persons {
    width: 100%; }
  .contact-block__locations {
    width: 100%;
    margin-top: 3rem; }
  .contact-block__title {
    display: block;
    font-size: 2.1rem;
    padding: 0 10% 2rem 10%; }
  .contact-block__subtitle {
    font-size: 2rem; } }

@media only screen and (max-width: 1023px) {
  .contact-block__title {
    padding: 0 10% 4.5rem 10%; }
  .contact-block__content-container {
    padding: 3rem 2.5rem 6rem 2.5rem; }
  .contact-block__contact-person-items {
    margin-bottom: -1rem; }
  .contact-block__contact-person-item {
    width: 100%;
    margin-bottom: 1rem; }
  .contact-person .cp-block-teaser__image-block {
    -ms-flex-preferred-size: 7rem;
        flex-basis: 7rem; }
  .contact-person .cp-block-teaser__name {
    font-size: 1.6rem; } }

@media only screen and (min-width: 1024px) {
  .contact-block {
    margin-top: 3.2rem;
    padding: 0 3.2rem; } }

.fieldset {
  border: 0;
  margin: 0 0 38px;
  padding: 0;
  letter-spacing: -0.31em; }
  .fieldset > * {
    letter-spacing: normal; }
  .fieldset > .legend {
    margin: 0 0 23.75px;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    line-height: 1.2;
    font-size: 2rem; }
    .fieldset > .legend + br {
      clear: both;
      display: block;
      height: 0;
      overflow: hidden;
      visibility: hidden; }
  .fieldset > .field,
  .fieldset > .fields > .field {
    margin: 0 0 19px; }
    .fieldset > .field > .label,
    .fieldset > .fields > .field > .label {
      margin: 0 0 4.75px;
      display: inline-block; }
    .fieldset > .field:last-child,
    .fieldset > .fields > .field:last-child {
      margin-bottom: 0; }
    .fieldset > .field > .label,
    .fieldset > .fields > .field > .label {
      font-weight: 700; }
      .fieldset > .field > .label + br,
      .fieldset > .fields > .field > .label + br {
        display: none; }
    .fieldset > .field .choice input,
    .fieldset > .fields > .field .choice input {
      vertical-align: top; }
    .fieldset > .field .fields.group:before, .fieldset > .field .fields.group:after,
    .fieldset > .fields > .field .fields.group:before,
    .fieldset > .fields > .field .fields.group:after {
      content: '';
      display: table; }
    .fieldset > .field .fields.group:after,
    .fieldset > .fields > .field .fields.group:after {
      clear: both; }
    .fieldset > .field .fields.group .field,
    .fieldset > .fields > .field .fields.group .field {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      float: left; }
    .fieldset > .field .fields.group.group-2 .field,
    .fieldset > .fields > .field .fields.group.group-2 .field {
      width: 50% !important; }
    .fieldset > .field .fields.group.group-3 .field,
    .fieldset > .fields > .field .fields.group.group-3 .field {
      width: 33.3% !important; }
    .fieldset > .field .fields.group.group-4 .field,
    .fieldset > .fields > .field .fields.group.group-4 .field {
      width: 25% !important; }
    .fieldset > .field .fields.group.group-5 .field,
    .fieldset > .fields > .field .fields.group.group-5 .field {
      width: 20% !important; }
    .fieldset > .field .addon,
    .fieldset > .fields > .field .addon {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      padding: 0;
      width: 100%; }
      .fieldset > .field .addon textarea,
      .fieldset > .field .addon select,
      .fieldset > .field .addon input,
      .fieldset > .fields > .field .addon textarea,
      .fieldset > .fields > .field .addon select,
      .fieldset > .fields > .field .addon input {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        display: inline-block;
        margin: 0;
        width: auto; }
      .fieldset > .field .addon .addbefore,
      .fieldset > .field .addon .addafter,
      .fieldset > .fields > .field .addon .addbefore,
      .fieldset > .fields > .field .addon .addafter {
        background: #fff;
        background-clip: padding-box;
        border: 0.2rem solid #f2f2ed;
        border-radius: 0.5rem;
        font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
        font-size: 14px;
        height: 4.3rem;
        line-height: 1;
        padding: 1rem;
        vertical-align: baseline;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
        display: inline-block;
        vertical-align: middle;
        white-space: nowrap;
        width: auto; }
        .fieldset > .field .addon .addbefore:focus,
        .fieldset > .field .addon .addafter:focus,
        .fieldset > .fields > .field .addon .addbefore:focus,
        .fieldset > .fields > .field .addon .addafter:focus {
          border: 0.2rem solid #7e8889; }
        .fieldset > .field .addon .addbefore:disabled,
        .fieldset > .field .addon .addafter:disabled,
        .fieldset > .fields > .field .addon .addbefore:disabled,
        .fieldset > .fields > .field .addon .addafter:disabled {
          opacity: 0.5; }
        .fieldset > .field .addon .addbefore::-moz-placeholder,
        .fieldset > .field .addon .addafter::-moz-placeholder,
        .fieldset > .fields > .field .addon .addbefore::-moz-placeholder,
        .fieldset > .fields > .field .addon .addafter::-moz-placeholder {
          color: #c2c2c2; }
        .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
        .fieldset > .field .addon .addafter::-webkit-input-placeholder,
        .fieldset > .fields > .field .addon .addbefore::-webkit-input-placeholder,
        .fieldset > .fields > .field .addon .addafter::-webkit-input-placeholder {
          color: #c2c2c2; }
        .fieldset > .field .addon .addbefore:-ms-input-placeholder,
        .fieldset > .field .addon .addafter:-ms-input-placeholder,
        .fieldset > .fields > .field .addon .addbefore:-ms-input-placeholder,
        .fieldset > .fields > .field .addon .addafter:-ms-input-placeholder {
          color: #c2c2c2; }
      .fieldset > .field .addon .addbefore,
      .fieldset > .fields > .field .addon .addbefore {
        float: left;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
    .fieldset > .field .additional,
    .fieldset > .fields > .field .additional {
      margin-top: 9.5px; }
    .fieldset > .field.required > .label:after,
    .fieldset > .field._required > .label:after,
    .fieldset > .fields > .field.required > .label:after,
    .fieldset > .fields > .field._required > .label:after {
      content: '*';
      color: #e02b27;
      font-size: 1.2rem;
      margin: 0 0 0 4.75px; }
    .fieldset > .field .note,
    .fieldset > .fields > .field .note {
      font-size: 1.2rem;
      margin: 3px 0 0;
      padding: 0;
      display: inline-block;
      text-decoration: none; }
      .fieldset > .field .note:before,
      .fieldset > .fields > .field .note:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 24px;
        line-height: 12px;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
    .fieldset > .field.choice .label,
    .fieldset > .fields > .field.choice .label {
      display: inline;
      font-weight: normal; }
    .column:not(.main) .fieldset > .field .label, .column:not(.main)
    .fieldset > .fields > .field .label {
      font-weight: normal; }
    .fieldset > .field .field.choice,
    .fieldset > .fields > .field .field.choice {
      margin-bottom: 9.5px; }
    .fieldset > .field input[type=file],
    .fieldset > .fields > .field input[type=file] {
      margin: 4.75px 0; }

.legend + .fieldset,
.legend + div {
  clear: both; }

.legend strong {
  margin-left: 4.75px; }

fieldset.field {
  border: 0;
  padding: 0; }

.field.date .time-picker {
  display: inline-block;
  margin-top: 9.5px;
  white-space: nowrap; }

.field .message.warning {
  margin-top: 9.5px; }

.field-error,
div.mage-error[generated] {
  margin-top: 7px; }

.field-error {
  color: #e02b27;
  font-size: 1.2rem; }

.field .tooltip {
  position: relative; }
  .field .tooltip .tooltip-content {
    background: #fff;
    max-width: 360px;
    min-width: 210px;
    padding: 12px 16px;
    z-index: 100;
    display: none;
    position: absolute;
    text-align: left;
    color: #333;
    line-height: 1.4;
    border: 1px solid #bbb;
    margin-left: 5px;
    left: 100%;
    top: 0; }
    .field .tooltip .tooltip-content:after, .field .tooltip .tooltip-content:before {
      border: solid transparent;
      content: '';
      height: 0;
      position: absolute;
      width: 0; }
    .field .tooltip .tooltip-content:after {
      border-width: 5px;
      border-color: transparent; }
    .field .tooltip .tooltip-content:before {
      border-width: 6px;
      border-color: transparent; }
    .field .tooltip .tooltip-content:after, .field .tooltip .tooltip-content:before {
      right: 100%; }
    .field .tooltip .tooltip-content:after {
      border-right-color: #fff;
      margin-top: -5px;
      top: 15px; }
    .field .tooltip .tooltip-content:before {
      border-right-color: #bbb;
      margin-top: -6px;
      top: 15px; }
  .field .tooltip .tooltip-toggle {
    cursor: help; }
  .field .tooltip .tooltip-toggle:hover + .tooltip-content,
  .field .tooltip .tooltip-toggle:focus + .tooltip-content,
  .field .tooltip:hover .tooltip-content {
    display: block; }
  .field .tooltip .tooltip-content {
    min-width: 200px;
    white-space: normal; }

input:focus ~ .tooltip .tooltip-content,
select:focus ~ .tooltip .tooltip-content {
  display: block; }

._has-datepicker ~ .ui-datepicker-trigger {
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  display: block;
  text-decoration: none;
  display: inline-block;
  vertical-align: middle; }
  ._has-datepicker ~ .ui-datepicker-trigger:focus, ._has-datepicker ~ .ui-datepicker-trigger:active {
    background: none;
    border: none; }
  ._has-datepicker ~ .ui-datepicker-trigger:hover {
    background: none;
    border: none; }
  ._has-datepicker ~ .ui-datepicker-trigger.disabled, ._has-datepicker ~ .ui-datepicker-trigger[disabled],
  fieldset[disabled] ._has-datepicker ~ .ui-datepicker-trigger {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }
  ._has-datepicker ~ .ui-datepicker-trigger > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  ._has-datepicker ~ .ui-datepicker-trigger:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 40px;
    line-height: 40px;
    color: #7d7d7d;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  ._has-datepicker ~ .ui-datepicker-trigger:focus {
    -webkit-box-shadow: none;
            box-shadow: none;
    outline: 0; }

.field.choice input[type="checkbox"] {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }
  .field.choice input[type="checkbox"] + .label,
  .field.choice input[type="checkbox"] + label {
    position: relative;
    display: block;
    padding-left: 3.2rem;
    cursor: pointer; }
    .field.choice input[type="checkbox"] + .label::before,
    .field.choice input[type="checkbox"] + label::before {
      content: '';
      display: block;
      width: 1.5rem;
      height: 1.5rem;
      position: absolute;
      left: 0;
      top: 0.2rem;
      -webkit-transition: border-color 250ms;
      -o-transition: border-color 250ms;
      transition: border-color 250ms;
      border: 0.1rem solid #dcdacb;
      background-color: #ffffff; }
    .field.choice input[type="checkbox"] + .label:hover::before,
    .field.choice input[type="checkbox"] + label:hover::before {
      border-color: #3b4a4b; }
  .field.choice input[type="checkbox"]:checked + .label::after,
  .field.choice input[type="checkbox"]:checked + label::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    color: #3b4a4b;
    font-family: "duo-icons";
    font-size: 1.6rem;
    line-height: 1; }
  .field.choice input[type="checkbox"]:disabled + .label,
  .field.choice input[type="checkbox"]:disabled + label {
    color: #9da4a3; }
    .field.choice input[type="checkbox"]:disabled + .label:hover::before,
    .field.choice input[type="checkbox"]:disabled + label:hover::before {
      background-color: #ffffff; }

.sidebar .fieldset {
  margin: 0; }
  .sidebar .fieldset > .field:not(.choice):not(:last-child),
  .sidebar .fieldset .fields > .field:not(:last-child) {
    margin: 0 0 19px; }
  .sidebar .fieldset > .field:not(.choice) .label,
  .sidebar .fieldset .fields > .field .label {
    margin: 0 0 4px;
    padding: 0 0 4.75px;
    text-align: left;
    width: 100%; }
  .sidebar .fieldset > .field:not(.choice) .control,
  .sidebar .fieldset .fields > .field .control {
    width: 100%; }

.column.main .cart-discount {
  overflow: hidden;
  clear: left;
  float: left;
  width: 73%;
  margin-top: 30px; }
  .column.main .cart-discount .block .title {
    cursor: pointer;
    display: block;
    text-decoration: none; }
    .column.main .cart-discount .block .title:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 16px;
      line-height: inherit;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .column.main .cart-discount .block .title::after {
      opacity: 0.6; }
    .column.main .cart-discount .block .title strong {
      font-size: 14px;
      font-weight: 400; }
    .column.main .cart-discount .block .title:hover::after, .column.main .cart-discount .block .title:focus::after {
      opacity: 1; }
    .column.main .cart-discount .block .title:hover strong, .column.main .cart-discount .block .title:focus strong {
      text-decoration: underline; }
    .column.main .cart-discount .block .title[aria-expanded='true'] {
      display: block;
      text-decoration: none; }
      .column.main .cart-discount .block .title[aria-expanded='true']:after {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 16px;
        line-height: inherit;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
  .column.main .cart-discount .block form {
    max-width: 500px; }
  .column.main .cart-discount .block .label {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .column.main .cart-discount .block .control {
    width: 100%; }
  .column.main .cart-discount .block .field {
    margin-bottom: 19px; }
  .column.main .cart-discount .block .actions-toolbar {
    float: right;
    margin-left: 0; }
  .column.main .cart-discount .block .action.cancel {
    background-color: rgba(225, 39, 30, 0.7); }
    .column.main .cart-discount .block .action.cancel:hover {
      background-color: rgba(225, 39, 30, 0.8); }

@media only screen and (min-width: 768px) {
  .fieldset > .field {
    margin: 0 0 19px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 0 29px; }
    .fieldset > .field > .label {
      margin: 0; }
    .fieldset > .field:before, .fieldset > .field:after {
      content: '';
      display: table; }
    .fieldset > .field:after {
      clear: both; }
    .fieldset > .field.choice:before, .fieldset > .field.no-label:before {
      padding: 6px 15px 0 0;
      width: 32%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      content: ' ';
      float: left;
      height: 1px; }
    .fieldset > .field .description {
      padding: 6px 15px 0 0;
      text-align: right;
      width: 32%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      float: left; }
    .fieldset > .field:not(.choice) > .label {
      padding: 6px 15px 0 0;
      text-align: right;
      width: 32%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      float: left; }
    .fieldset > .field:not(.choice) > .control {
      width: 68%;
      float: left; } }

@media only screen and (max-width: 639px) {
  .column.main .cart-discount {
    width: 100%; } }

@font-face {
  font-family: "duo-icons";
  src: url("../fonts/duo-magento-icons/Duo-Magento-Icons.woff2") format("woff2"), url("../fonts/duo-magento-icons/Duo-Magento-Icons.woff") format("woff"), url("../fonts/duo-magento-icons/Duo-Magento-Icons.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@media only screen and (max-width: 767px) {
  /*     .navigation,
    .breadcrumbs,
    .page-header .header.panel,
    .header.content,
    .footer.content,
    .page-main,
    .page-wrapper > .widget,
    .page-wrapper > .page-bottom,
    .block.category.event,
    .top-container {
        padding-left: $layout__width-xs-indent;
        padding-right: $layout__width-xs-indent;
    }

    .page-main {
        .account &,
        .cms-privacy-policy & {
            padding-top: 41px;
            position: relative;
        }
    } */ }

@media only screen and (min-width: 1024px) {
  .page-layout-2columns-left .columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .page-layout-2columns-left .columns .column.main {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 75%;
              flex: 0 1 75%; }
    .page-layout-2columns-left .columns .sidebar-main {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 25%;
              flex: 0 1 25%;
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; }
      .page-layout-2columns-left .columns .sidebar-main > div {
        margin-right: 3.2rem; }
  .page-main {
    /* width: 100%; */
    /*         @include lib-vendor-prefix-flex-grow(1);
        @include lib-vendor-prefix-flex-shrink(0);
        @include lib-vendor-prefix-flex-basis(auto); */
    /*  .ie9 & {
            width: auto;
        } */ }
  .panel.header {
    /* padding: 10px 20px; */ } }

.page-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 88; }

.page-top {
  background-color: #efefe8;
  width: 100%; }

/* split from page-top in case main section should only be tinted on certain page types */
.page-main {
  overflow: hidden;
  width: 100%;
  background-color: #f6f6f5; }

.page-main__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 1335px;
  padding-top: 5rem;
  padding-bottom: 3rem;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    .page-main__inner {
      padding: 3rem 15px; } }

/* Page title and decoration */
.page-title-wrapper:not(.product) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 4.4rem; }
  .page-title-wrapper:not(.product) .page-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-width: 0;
    max-width: 80%;
    padding-right: 4.8rem;
    margin: 0; }
  .page-title-wrapper:not(.product) .page-title-wrapper__decoration {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    .page-title-wrapper:not(.product) .page-title-wrapper__decoration svg {
      width: 100%; }
  @media only screen and (max-width: 639px) {
    .page-title-wrapper:not(.product) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-bottom: 2.4rem; }
      .page-title-wrapper:not(.product) .page-title {
        padding-right: 0;
        max-width: 100%;
        margin-bottom: 1.4rem; } }

.catalog-category-view .page-title-wrapper .page-title-wrapper__decoration,
.page-title-wrapper.product .page-title-wrapper__decoration {
  display: none; }

.page-title-children {
  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; }
  .page-title-children > * {
    margin: 0 2rem 0 0; }
    @media only screen and (max-width: 639px) {
      .page-title-children > * {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 100%;
                flex: 1 0 100%;
        margin: 0 0 1rem; } }

/* Whitespace adjustments for page title with children */
.page-title-wrapper + .page-title-children {
  margin-bottom: 4.4rem;
  margin-top: -2.4rem; }
  @media only screen and (max-width: 639px) {
    .page-title-wrapper + .page-title-children {
      margin-bottom: 2.4rem;
      margin-top: 0; } }

.cart-container {
  overflow: hidden; }

/* Used for default messages/notices and info ones */
/* By default the holiday notice uses identical colour scheme to standard info notice */
.messages .message {
  margin-bottom: 2rem; }
  .messages .message.error > *:first-child:before, .messages .message.success > *:first-child:before, .messages .message.warning > *:first-child:before, .messages .message.notice > *:first-child:before, .messages .message.info > *:first-child:before {
    margin: 0; }
  .messages .message a {
    -webkit-transition: 250ms linear;
    -o-transition: 250ms linear;
    transition: 250ms linear;
    text-decoration: underline; }
    .messages .message a:hover, .messages .message a:focus {
      text-decoration: none; }
  .messages .message:last-child {
    margin-bottom: 3rem; }

.message.info {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #b8b496;
  border-color: #b8b496;
  color: #ffffff;
  padding-left: 40px;
  position: relative; }
  .message.info a {
    color: #3b4a4b; }
    .message.info a:hover {
      color: #3b4a4b; }
    .message.info a:active {
      color: #3b4a4b; }
  .message.info > *:first-child:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: 16px;
    font-family: "duo-icons";
    margin: -8px 0 0;
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center;
    width: 40px;
    position: absolute;
    text-align: center; }

.message.error {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #fae5e5;
  border-color: #e02b27;
  color: #e02b27;
  padding-left: 40px;
  position: relative; }
  .message.error a {
    color: inherit; }
    .message.error a:hover {
      color: #333; }
    .message.error a:active {
      color: #333; }
  .message.error > *:first-child:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: 16px;
    color: #b30000;
    content: "";
    font-family: "duo-icons";
    margin: -8px 0 0;
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center;
    left: 0;
    top: 14px;
    width: 40px;
    position: absolute;
    text-align: center; }

.message.warning {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #fdf0d5;
  border-color: #fdf0d5;
  color: #6f4400;
  padding-left: 40px;
  position: relative; }
  .message.warning a {
    color: inherit; }
    .message.warning a:hover {
      color: #333; }
    .message.warning a:active {
      color: #333; }
  .message.warning > *:first-child:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: 16px;
    color: #c07600;
    content: "";
    font-family: "duo-icons";
    margin: -8px 0 0;
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center;
    left: 0;
    top: 14px;
    width: 40px;
    position: absolute;
    text-align: center; }

.message.notice {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #fdf0d5;
  border-color: #fdf0d5;
  color: #6f4400;
  padding-left: 40px;
  position: relative; }
  .message.notice a {
    color: inherit; }
    .message.notice a:hover {
      color: #333; }
    .message.notice a:active {
      color: #333; }
  .message.notice > *:first-child:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: 16px;
    color: #c07600;
    content: "";
    font-family: "duo-icons";
    margin: -8px 0 0;
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center;
    left: 0;
    top: 14px;
    width: 40px;
    position: absolute;
    text-align: center; }

.message.success {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #e5efe5;
  border-color: #006400;
  color: #006400;
  padding-left: 40px;
  position: relative; }
  .message.success a {
    color: inherit; }
    .message.success a:hover {
      color: #333; }
    .message.success a:active {
      color: #333; }
  .message.success > *:first-child:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: 16px;
    color: #006400;
    content: "";
    font-family: "duo-icons";
    margin: -8px 0 0;
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center;
    left: 0;
    top: 14px;
    width: 40px;
    position: absolute;
    text-align: center; }

.notice {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #b8b496;
  border-color: #b8b496;
  color: #ffffff; }
  .notice a {
    color: #3b4a4b; }
    .notice a:hover {
      color: #3b4a4b; }
    .notice a:active {
      color: #3b4a4b; }

.notice a {
  text-decoration: underline; }
  .notice a:hover, .notice a:focus {
    text-decoration: none; }

.notice p {
  margin: 0; }

.notice {
  display: none; }
  .notice + .notice {
    border-top: 0.1rem solid #f9f9f7; }
  .notice .notice__inner {
    position: relative;
    max-width: 1335px;
    width: 100%;
    margin-right: auto;
    margin-left: auto; }
  .notice .notice__text {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    text-align: center; }
  .notice .notice__close {
    position: absolute;
    top: -0.8rem;
    right: 0;
    -webkit-transform: translateX(3.4rem);
        -ms-transform: translateX(3.4rem);
            transform: translateX(3.4rem);
    background: transparent;
    border: none;
    -webkit-transition: opacity 0.2s ease;
    -o-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease; }
    .notice .notice__close:hover, .notice .notice__close:focus {
      background: transparent;
      border: none;
      opacity: 0.8; }
    @media only screen and (max-width: 767px) {
      .notice .notice__close {
        padding: 1.65rem;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        right: -19px;
        top: -10px; } }

.notice-block {
  max-width: 1335px;
  margin: 2.6rem auto 0;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.5rem; }

.notice-block .notice__inner,
.notice-block--holidays .notice__inner {
  padding: 2rem;
  border-color: #d4d6d0;
  background-color: #d4d6d0;
  color: #3b4a4b;
  text-align: center; }

@media only screen and (max-width: 767px) {
  .notice .notice__text,
  .notice-block .notice__text {
    font-size: 1.3rem;
    line-height: 2.2rem; } }

@media only screen and (min-width: 768px) {
  .notice .notice__text,
  .notice-block .notice__text {
    padding-right: 4rem;
    padding-left: 4rem; }
  .notice .notice__close,
  .notice-block .notice__close {
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); } }

.panel.header .switcher {
  display: none; }

.panel.header .header.links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.nav-sections {
  background: #ffffff; }

.nav-toggle {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  -webkit-box-ordinal-group: 100;
      -ms-flex-order: 99;
          order: 99;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 4.4rem;
  height: 4.8rem;
  font-size: 0;
  z-index: 44; }
  .nav-toggle:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 28px;
    line-height: inherit;
    color: #8f8f8f;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .nav-toggle:hover:before {
    color: #333; }
  .nav-toggle > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }

@media only screen and (max-width: 767px) {
  .navigation {
    padding: 0; }
    .navigation .parent .level-top {
      position: relative;
      display: block;
      text-decoration: none; }
      .navigation .parent .level-top:after {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 42px;
        line-height: inherit;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .navigation .parent .level-top:after {
        position: absolute;
        right: 7px;
        top: -8px; }
      .navigation .parent .level-top.ui-state-active:after {
        content: ""; }
  .nav-sections {
    -webkit-overflow-scrolling: touch;
    -webkit-transition: left 0.3s;
    -o-transition: left 0.3s;
    transition: left 0.3s;
    height: 100%;
    left: -80%;
    left: calc(-1 * (100% - 54px));
    overflow: auto;
    overflow-x: hidden;
    position: fixed;
    top: 0;
    width: 80%;
    width: calc(100% - 54px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .nav-sections .switcher {
      margin: auto 0 0 0;
      padding: 0.8rem 3.5rem 0.8rem 2rem;
      border-top: 1px solid #d1d1d1;
      font-size: 1.4rem;
      font-weight: normal; }
      .nav-sections .switcher .label {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .nav-sections .switcher:last-child {
        padding-bottom: 1.6rem; }
    .nav-sections .switcher-trigger strong {
      position: relative;
      display: block;
      text-decoration: none; }
      .nav-sections .switcher-trigger strong:after {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 2rem;
        line-height: inherit;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .nav-sections .switcher-trigger strong:after {
        position: absolute;
        line-height: 1;
        right: -2rem;
        top: 0; }
    .nav-sections .switcher-trigger.active strong:after {
      content: ""; }
    .nav-sections .switcher-dropdown {
      margin: 0;
      list-style: none;
      padding: 0; }
      .nav-sections .switcher-dropdown[aria-hidden="true"] {
        display: none; }
      .nav-sections .switcher-dropdown .switcher-option {
        margin: 0; }
        .nav-sections .switcher-dropdown .switcher-option > a {
          display: block;
          padding: 1rem 0;
          color: #3b4a4b; }
    .nav-sections .menu-main-ul .level0 {
      border-bottom: 0.1rem solid #efefe8; }
    .nav-sections .header.links {
      margin: 0;
      padding: 0;
      list-style: none;
      border-bottom: 1px solid #d1d1d1; }
      .nav-sections .header.links li {
        font-size: 1.6rem;
        margin: 0; }
        .nav-sections .header.links li.greet.welcome {
          border-top: 1px solid #d1d1d1;
          font-weight: bold;
          padding: 0.8rem 19px; }
        .nav-sections .header.links li > a {
          border-top: 1px solid #d1d1d1; }
      .nav-sections .header.links a,
      .nav-sections .header.links a:hover {
        color: #3b4a4b;
        text-decoration: none;
        display: block;
        font-weight: bold;
        padding: 0.8rem 19px; }
      .nav-sections .header.links .header.links {
        border: 0; }
  .nav-before-open {
    height: 100%;
    overflow-x: hidden;
    width: 100%; }
    .nav-before-open .page-wrapper {
      -webkit-transition: left 0.3s;
      -o-transition: left 0.3s;
      transition: left 0.3s;
      height: 100%;
      left: 0;
      overflow: hidden;
      position: relative; }
    .nav-before-open body {
      height: 100%;
      overflow: hidden;
      position: relative;
      width: 100%; }
  .nav-open .page-wrapper {
    left: 80%;
    left: calc(100% - 54px); }
  .nav-open .nav-sections {
    -webkit-box-shadow: 0 0 5px 0 rgba(50, 50, 50, 0.75);
            box-shadow: 0 0 5px 0 rgba(50, 50, 50, 0.75);
    left: 0;
    z-index: 99; }
  .nav-open .nav-toggle:after {
    background: rgba(0, 0, 0, 0.5);
    content: '';
    display: block;
    height: 100%;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1; }
  .nav-sections-items {
    position: relative;
    z-index: 1; }
    .nav-sections-items:before, .nav-sections-items:after {
      content: '';
      display: table; }
    .nav-sections-items:after {
      clear: both; }
  .nav-sections-item-title {
    background: #f2f2f2;
    border: solid #e6e6e6;
    border-width: 0 0 1px 1px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    height: 71px;
    padding-top: 24px;
    text-align: center;
    width: 33.33%; }
    .nav-sections-item-title.active {
      background: transparent;
      border-bottom: 0; }
    .nav-sections-item-title .nav-sections-item-switch:hover {
      text-decoration: none; }
  .nav-sections-item-content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: right;
    margin-left: -100%;
    margin-top: 71px;
    width: 100%;
    padding: 23.75px 0; }
    .nav-sections-item-content:before, .nav-sections-item-content:after {
      content: '';
      display: table; }
    .nav-sections-item-content:after {
      clear: both; }
    .nav-sections-item-content.active {
      display: block; }
  .navigation {
    background: #ffffff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .navigation ul {
      margin: 0;
      padding: 0; }
    .navigation li {
      margin: 0; }
    .navigation a {
      display: block;
      padding: 9.5px 0 9.5px 15px; }
    .navigation a,
    .navigation a:hover {
      color: #3b4a4b;
      text-decoration: none; }
    .navigation .level0 {
      font-size: 1.4rem; }
      .navigation .level0 > .level-top {
        font-weight: 400;
        line-height: 1.2;
        padding: 1.6rem;
        text-transform: none;
        word-wrap: break-word; }
      .navigation .level0.active .all-category .ui-state-focus {
        background: #f6f6f5;
        border-color: #ff5501;
        border-style: solid;
        border-width: 0;
        color: #0f0f0f;
        padding-left: 7px;
        display: inline-block; }
      .navigation .level0 > .level1 {
        font-weight: 600; }
      .navigation .level0.active > a:not(.ui-state-active), .navigation .level0.has-active > a:not(.ui-state-active) {
        background: #f6f6f5;
        border-color: #ff5501;
        border-style: solid;
        border-width: 0;
        color: #0f0f0f; }
    .navigation .submenu > li {
      word-wrap: break-word; }
    .navigation .submenu:not(:first-child) {
      font-weight: 400;
      line-height: 1.3;
      left: auto !important;
      overflow-x: hidden;
      padding: 0;
      position: relative;
      top: auto !important;
      -webkit-transition: left 0.3s ease-out;
      -o-transition: left 0.3s ease-out;
      transition: left 0.3s ease-out; }
      .navigation .submenu:not(:first-child) > li > a {
        padding-left: 15px; }
      .navigation .submenu:not(:first-child) > li:last-child {
        margin-bottom: 0; }
      .navigation .submenu:not(:first-child) ul {
        display: block;
        padding-left: 15px; }
        .navigation .submenu:not(:first-child) ul > li {
          margin: 0; }
          .navigation .submenu:not(:first-child) ul > li a {
            color: #575757;
            display: block;
            line-height: normal; }
      .navigation .submenu:not(:first-child).expanded {
        display: block !important;
        padding-right: 0;
        top: 0 !important; }
      .navigation .submenu:not(:first-child) .active > a {
        border-color: #ff5501;
        border-style: solid;
        border-width: 0 0 0 8px;
        padding-left: 7px; }
      .navigation .submenu:not(:first-child) .level1.active > a {
        padding-left: 7px; } }

@media only screen and (min-width: 768px) {
  .nav-toggle {
    display: none; }
  /* Main nav */
  .page-header + .nav-sections > .navigation {
    border-bottom: 0.1rem solid #efefe8; }
  .navigation ul.menu-main-ul {
    padding: 0 2rem;
    max-width: 1335px;
    margin: 0 auto; }
  .nav-sections {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  .nav-sections-item-title {
    display: none; }
  .nav-sections-item-content {
    display: block !important; }
  .nav-sections-item-content > * {
    display: none; }
  .nav-sections-item-content > .navigation {
    display: block; }
  /* Re-use most of the Magento UI mixin, with some overrides */
  .navigation {
    background: #ffffff;
    font-weight: 500;
    height: inherit;
    left: auto;
    overflow: inherit;
    padding: 0;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 3; }
    .navigation:empty {
      display: none; }
    .navigation ul {
      margin-top: 0;
      margin-bottom: 0;
      padding: 0;
      position: relative; }
    .navigation li.level0 {
      border-top: none; }
    .navigation .level0 {
      margin: 0;
      display: inline-block;
      position: relative; }
      .navigation .level0:last-child {
        margin-right: 0;
        padding-right: 0; }
      .navigation .level0 > .level-top {
        color: #0f0f0f;
        line-height: 53px;
        padding: 0 3rem;
        text-decoration: none;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        position: relative; }
        .navigation .level0 > .level-top:hover, .navigation .level0 > .level-top.ui-state-focus {
          background: #f6f6f5;
          color: #333;
          text-decoration: none; }
      .navigation .level0.active > .level-top, .navigation .level0.has-active > .level-top {
        border-color: #ff5501;
        border-style: solid;
        border-width: 0;
        color: #333;
        text-decoration: underline;
        display: inline-block; }
      .navigation .level0.parent:hover > .submenu {
        overflow: visible !important; }
      .navigation .level0 .submenu {
        background: #fff;
        border: 1px solid #d1d1d1;
        -webkit-box-shadow: 0 4.75px 4.75px rgba(0, 0, 0, 0.19);
                box-shadow: 0 4.75px 4.75px rgba(0, 0, 0, 0.19);
        font-weight: 700;
        min-width: 230px;
        padding: 15px 0;
        display: none;
        left: 0;
        margin: 0 !important;
        padding: 0;
        position: absolute;
        z-index: 1;
        margin-top: 11px; }
        .navigation .level0 .submenu > ul {
          margin-top: 11px; }
          .navigation .level0 .submenu > ul:before, .navigation .level0 .submenu > ul:after {
            content: '';
            display: block;
            overflow: hidden;
            position: absolute; }
          .navigation .level0 .submenu > ul:before {
            color: #fff;
            left: 20px;
            top: -20px;
            border: 10px solid transparent;
            height: 0;
            width: 0;
            border-bottom-color: #fff;
            z-index: 4; }
          .navigation .level0 .submenu > ul:after {
            border: 11px solid transparent;
            height: 0;
            width: 0;
            border-bottom-color: #d1d1d1;
            color: #d1d1d1;
            left: 19px;
            top: -22px;
            z-index: 3; }
        .navigation .level0 .submenu a {
          display: block;
          line-height: inherit;
          color: #575757;
          padding: 8px 19px; }
          .navigation .level0 .submenu a:hover, .navigation .level0 .submenu a.ui-state-focus {
            background: #e8e8e8;
            color: #333;
            text-decoration: none; }
        .navigation .level0 .submenu .active > a {
          border-color: #ff5501;
          border-style: solid;
          border-width: 0 0 0 3px; }
        .navigation .level0 .submenu .submenu {
          top: 0 !important;
          left: 100% !important; }
        .navigation .level0 .submenu .submenu-reverse {
          left: auto !important;
          right: 100%; }
      .navigation .level0.more {
        position: relative;
        display: inline-block;
        text-decoration: none; }
        .navigation .level0.more:after {
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: 26px;
          line-height: inherit;
          color: inherit;
          content: "";
          font-family: "duo-icons";
          vertical-align: middle;
          display: inline-block;
          font-weight: normal;
          overflow: hidden;
          speak: none;
          text-align: center; }
        .navigation .level0.more:before {
          display: none; }
        .navigation .level0.more:after {
          cursor: pointer;
          padding: 8px 12px;
          position: relative;
          z-index: 1; }
        .navigation .level0.more:hover > .submenu {
          overflow: visible !important; }
        .navigation .level0.more li {
          display: block; }
  .navigation .menu-main-ul .level0 > .level-top {
    -webkit-transition: background-color 250ms cubic-bezier(0.33, 0.66, 0.66, 1);
    -o-transition: background-color 250ms cubic-bezier(0.33, 0.66, 0.66, 1);
    transition: background-color 250ms cubic-bezier(0.33, 0.66, 0.66, 1);
    padding: 1.4rem 2.6rem;
    color: #0f0f0f;
    font-size: 1.3rem;
    line-height: 1.5rem; }
    .navigation .menu-main-ul .level0 > .level-top.first {
      margin-left: -2.6rem; }
  .panel.header .switcher {
    display: inline-block; } }

/* finetuning tweener sizes */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .navigation .menu-main-ul .level0 > .level-top {
    padding: 0 1.5rem;
    font-size: 1.3rem;
    line-height: 4.2rem; }
    .navigation .menu-main-ul .level0 > .level-top.first {
      margin-left: -1.5rem; } }

.pages > .label {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.pages .items {
  font-size: 0;
  letter-spacing: -1px;
  line-height: 0;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline-block;
  font-weight: normal; }

.pages .item {
  font-size: 1.4rem;
  font-size: 1.4rem;
  letter-spacing: normal;
  line-height: 2.4rem;
  margin: 0 0.6rem 0 0;
  display: inline-block; }
  .pages .item .label {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }

.pages a.page {
  background: transparent;
  border: 0.1rem solid transparent;
  color: #3b4a4b;
  display: inline-block;
  padding: 0 4px;
  text-decoration: none; }
  .pages a.page:visited {
    color: #3b4a4b; }
  .pages a.page:hover {
    border: 0.1rem solid #3b4a4b;
    color: #a54f6c;
    text-decoration: none; }
  .pages a.page:active {
    color: #ff5501; }

.pages strong.page {
  background: #ffffff;
  font-size: 1.4rem;
  font-size: 1.4rem;
  letter-spacing: normal;
  line-height: 2.4rem;
  color: #3b4a4b;
  display: inline-block;
  font-weight: 700;
  padding: 0 4px; }

.pages .action {
  background: #3b4a4b;
  border: 1px solid #d1d1d1;
  color: #efefe8;
  display: inline-block;
  padding: 0;
  text-decoration: none; }
  .pages .action:visited {
    color: #efefe8; }
  .pages .action:hover {
    background: #000000;
    color: #efefe8;
    text-decoration: none; }
  .pages .action:active {
    color: #7d7d7d; }
  .pages .action.next {
    display: inline-block;
    text-decoration: none; }
    .pages .action.next:visited:before {
      color: #efefe8; }
    .pages .action.next:active:before {
      color: #7d7d7d; }
    .pages .action.next > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .pages .action.next:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 1.4rem;
      line-height: 1;
      color: #efefe8;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .pages .action.next:hover:before {
      color: #efefe8; }
    .pages .action.next:active:before {
      color: #7d7d7d; }
  .pages .action.previous {
    display: inline-block;
    text-decoration: none; }
    .pages .action.previous:visited:before {
      color: #efefe8; }
    .pages .action.previous:active:before {
      color: #7d7d7d; }
    .pages .action.previous > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .pages .action.previous:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 1.4rem;
      line-height: 1;
      color: #efefe8;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .pages .action.previous:hover:before {
      color: #efefe8; }
    .pages .action.previous:active:before {
      color: #7d7d7d; }

.pages .item {
  border-radius: 0.1rem; }
  .pages .item .page {
    min-width: 2.4rem;
    -webkit-transition: border-color 250ms;
    -o-transition: border-color 250ms;
    transition: border-color 250ms; }

.pages .pages-item-previous .action,
.pages .pages-item-next .action {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 3.4rem;
  height: 3.4rem; }

.pages .pages-item-next .action {
  margin-left: 0; }

.pages .action {
  -webkit-transition: background-color 250ms;
  -o-transition: background-color 250ms;
  transition: background-color 250ms; }

.ui-dialog.popup .action.close {
  position: absolute;
  height: 40px;
  right: 0;
  top: 0;
  width: 40px;
  z-index: 1001;
  display: inline-block;
  text-decoration: none;
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400; }
  .ui-dialog.popup .action.close > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .ui-dialog.popup .action.close:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 22px;
    line-height: 22px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .ui-dialog.popup .action.close:hover:before {
    color: inherit; }
  .ui-dialog.popup .action.close:active:before {
    color: inherit; }
  .ui-dialog.popup .action.close:focus, .ui-dialog.popup .action.close:active {
    background: none;
    border: none; }
  .ui-dialog.popup .action.close:hover {
    background: none;
    border: none; }
  .ui-dialog.popup .action.close.disabled, .ui-dialog.popup .action.close[disabled],
  fieldset[disabled] .ui-dialog.popup .action.close {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }

.popup-pointer {
  margin-left: -14px;
  position: absolute;
  top: -14px; }
  .popup-pointer:before, .popup-pointer:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-bottom-style: solid; }
  .popup-pointer:before {
    left: 2px;
    top: 2px;
    border: solid 6px;
    border-color: transparent transparent #fff transparent;
    z-index: 99; }
  .popup-pointer:after {
    left: 1px;
    top: 0;
    border: solid 7px;
    border-color: transparent transparent #aeaeae transparent;
    z-index: 98; }

@media only screen and (min-width: 640px) {
  .ui-dialog.popup {
    width: 420px; } }

.price-tier_price .price-excluding-tax,
.price-tier_price .price-including-tax {
  display: inline; }

.price-including-tax,
.price-excluding-tax {
  display: block;
  font-size: 1.8rem;
  line-height: 1; }
  .price-including-tax .price,
  .price-excluding-tax .price {
    font-weight: 700; }

.price-including-tax + .price-excluding-tax,
.weee[data-label] {
  display: block;
  font-size: 1.8rem; }
  .price-including-tax + .price-excluding-tax:before,
  .weee[data-label]:before {
    content: attr(data-label) ": ";
    font-size: 1.1rem; }
  .price-including-tax + .price-excluding-tax .price,
  .weee[data-label] .price {
    font-size: 1.1rem; }

.product.data.items {
  margin: 0;
  padding: 0;
  margin-bottom: 19px; }
  .product.data.items > .item.title {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: none;
    width: 100%; }
    .product.data.items > .item.title > .switch {
      display: block; }
  .product.data.items > .item.content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    float: none;
    margin: 0; }
    .product.data.items > .item.content:before, .product.data.items > .item.content:after {
      content: '';
      display: table; }
    .product.data.items > .item.content:after {
      clear: both; }
    .product.data.items > .item.content.active {
      display: block; }
  .product.data.items > .item.title {
    margin: 0 0 4.75px; }
  .product.data.items > .item.title > .switch {
    background: #f0f0f0;
    border-bottom: 1px solid #d1d1d1;
    border-left: 1px solid #d1d1d1;
    border-right: 1px solid #d1d1d1;
    border-top: 1px solid #d1d1d1;
    height: 38px;
    padding: 4.75px 19px 4.75px 19px;
    color: #7d7d7d;
    font-weight: 600;
    line-height: 38px;
    font-size: 1.8rem;
    color: #7d7d7d;
    text-decoration: none; }
    .product.data.items > .item.title > .switch:visited {
      color: #7d7d7d;
      text-decoration: none; }
    .product.data.items > .item.title > .switch:hover {
      color: #7d7d7d;
      text-decoration: none; }
    .product.data.items > .item.title > .switch:active {
      color: #333;
      text-decoration: none; }
  .product.data.items > .item.title:not(.disabled) > .switch:focus,
  .product.data.items > .item.title:not(.disabled) > .switch:hover {
    background: #fcfcfc; }
  .product.data.items > .item.title:not(.disabled) > .switch:active,
  .product.data.items > .item.title.active > .switch,
  .product.data.items > .item.title.active > .switch:focus,
  .product.data.items > .item.title.active > .switch:hover {
    background: white;
    padding-bottom: 4.75px; }
  .product.data.items > .item.content {
    background: white;
    border: 1px solid #d1d1d1;
    margin: 0 0 4.75px;
    padding: 19px 19px 19px 19px; }

@media only screen and (min-width: 768px) {
  .product.data.items {
    position: relative;
    z-index: 1; }
    .product.data.items:before, .product.data.items:after {
      content: '';
      display: table; }
    .product.data.items:after {
      clear: both; }
    .product.data.items > .item.title {
      float: left;
      width: auto; }
      .product.data.items > .item.title > .switch {
        height: 19px;
        display: block;
        position: relative;
        z-index: 2; }
    .product.data.items > .item.content {
      margin-top: 19px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      float: right;
      margin-left: -100%;
      width: 100%; }
      .product.data.items > .item.content:before, .product.data.items > .item.content:after {
        content: '';
        display: table; }
      .product.data.items > .item.content:after {
        clear: both; }
      .product.data.items > .item.content.active {
        display: block; }
    .product.data.items > .item.title {
      margin: 0 4.75px 0 0; }
      .product.data.items > .item.title > .switch {
        color: #7d7d7d;
        font-weight: 600;
        line-height: 19px;
        font-size: 1.4rem;
        color: #7d7d7d;
        text-decoration: none;
        background: #f0f0f0;
        border: 1px solid #d1d1d1;
        border-bottom: none;
        height: 19px;
        padding: 4.75px 19px 4.75px 19px; }
        .product.data.items > .item.title > .switch:visited {
          color: #7d7d7d;
          text-decoration: none; }
        .product.data.items > .item.title > .switch:hover {
          color: #7d7d7d;
          text-decoration: none; }
        .product.data.items > .item.title > .switch:active {
          color: #333;
          text-decoration: none; }
      .product.data.items > .item.title:not(.disabled) > .switch:focus,
      .product.data.items > .item.title:not(.disabled) > .switch:hover {
        background: #fcfcfc; }
      .product.data.items > .item.title:not(.disabled) > .switch:active,
      .product.data.items > .item.title.active > .switch,
      .product.data.items > .item.title.active > .switch:focus,
      .product.data.items > .item.title.active > .switch:hover {
        background: white;
        color: #333; }
      .product.data.items > .item.title.active > .switch,
      .product.data.items > .item.title.active > .switch:focus,
      .product.data.items > .item.title.active > .switch:hover {
        padding-bottom: 5.75px; }
    .product.data.items > .item.content {
      background: white;
      margin-top: 29.5px;
      padding: 19px 19px 19px 19px;
      border: 0;
      border-top: 1px solid #d1d1d1; } }

@media only screen and (max-width: 767px) {
  .product.data.items {
    margin: 0;
    padding: 0; }
    .product.data.items > .item.title {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      float: none;
      width: 100%; }
      .product.data.items > .item.title > .switch {
        display: block; }
    .product.data.items > .item.content {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: block;
      float: none;
      margin: 0; }
      .product.data.items > .item.content:before, .product.data.items > .item.content:after {
        content: '';
        display: table; }
      .product.data.items > .item.content:after {
        clear: both; }
      .product.data.items > .item.content.active {
        display: block; }
    .product.data.items > .item.title {
      margin: 0 0 4.75px; }
    .product.data.items > .item.title > .switch {
      background: #f0f0f0;
      border-bottom: 1px solid #d1d1d1;
      border-left: 1px solid #d1d1d1;
      border-right: 1px solid #d1d1d1;
      border-top: 1px solid #d1d1d1;
      height: 38px;
      padding: 4.75px 19px 4.75px 19px;
      color: #7d7d7d;
      font-weight: 600;
      line-height: 38px;
      font-size: 1.8rem;
      color: #7d7d7d;
      text-decoration: none; }
      .product.data.items > .item.title > .switch:visited {
        color: #7d7d7d;
        text-decoration: none; }
      .product.data.items > .item.title > .switch:hover {
        color: #7d7d7d;
        text-decoration: none; }
      .product.data.items > .item.title > .switch:active {
        color: #333;
        text-decoration: none; }
    .product.data.items > .item.title:not(.disabled) > .switch:focus,
    .product.data.items > .item.title:not(.disabled) > .switch:hover {
      background: #fcfcfc; }
    .product.data.items > .item.title:not(.disabled) > .switch:active,
    .product.data.items > .item.title.active > .switch,
    .product.data.items > .item.title.active > .switch:focus,
    .product.data.items > .item.title.active > .switch:hover {
      background: white;
      padding-bottom: 4.75px; }
    .product.data.items > .item.content {
      background: white;
      border: 1px solid #d1d1d1;
      margin: 0 0 4.75px;
      padding: 19px 19px 19px 19px; }
    .product.data.items .data.item {
      display: block; } }

.table-wrapper {
  margin-bottom: 19px; }

table > caption {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.table:not(.cart):not(.totals) {
  border: none; }
  .table:not(.cart):not(.totals) > thead > tr > th,
  .table:not(.cart):not(.totals) > thead > tr > td,
  .table:not(.cart):not(.totals) > tbody > tr > th,
  .table:not(.cart):not(.totals) > tbody > tr > td,
  .table:not(.cart):not(.totals) > tfoot > tr > th,
  .table:not(.cart):not(.totals) > tfoot > tr > td {
    border: none; }
  .table:not(.cart):not(.totals) > thead > tr > th,
  .table:not(.cart):not(.totals) > thead > tr > td {
    border-bottom: 1px solid #d1d1d1; }
  .table:not(.cart):not(.totals) tfoot > tr:first-child th,
  .table:not(.cart):not(.totals) tfoot > tr:first-child td {
    border-top: 1px solid #d1d1d1;
    padding-top: 19px; }
  .table:not(.cart):not(.totals) tfoot .mark {
    font-weight: 400;
    text-align: right; }

@media only screen and (max-width: 639px) {
  .table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    -webkit-overflow-scrolling: touch;
    position: relative; }
    .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) {
      border: none;
      display: block; }
      .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > thead > tr > th {
        display: none; }
      .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody {
        display: block; }
        .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody > tr {
          display: block; }
          .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody > tr td,
          .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody > tr th {
            border-bottom: none;
            display: block;
            padding: 4.75px 0; }
            .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody > tr td:before,
            .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody > tr th:before {
              padding-right: 9.5px;
              content: attr(data-th) ": ";
              display: inline-block;
              color: #111111;
              font-weight: 700; }
      .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) tbody > tr > td:first-child {
        padding-top: 19px; }
      .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) tbody > tr > td:last-child {
        padding-bottom: 19px; }
      .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison).additional-attributes tbody td:last-child {
        border: none;
        padding: 0 0 4.75px; }
    .table-wrapper .table:not(.totals):not(.table-comparison) tfoot {
      display: block; }
      .table-wrapper .table:not(.totals):not(.table-comparison) tfoot tr {
        display: block; }
        .table-wrapper .table:not(.totals):not(.table-comparison) tfoot tr:first-child th,
        .table-wrapper .table:not(.totals):not(.table-comparison) tfoot tr:first-child td {
          padding-top: 19px; }
      .table-wrapper .table:not(.totals):not(.table-comparison) tfoot th {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        float: left;
        padding-left: 0;
        padding-right: 0;
        text-align: left;
        width: 70%; }
      .table-wrapper .table:not(.totals):not(.table-comparison) tfoot td {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        float: left;
        padding-left: 0;
        padding-right: 0;
        text-align: right;
        width: 30%; }
  .data-table-definition-list thead {
    display: none; }
  .data-table-definition-list tbody th {
    padding-bottom: 0; }
  .data-table-definition-list tbody th,
  .data-table-definition-list tbody td {
    display: block;
    padding-left: 0;
    padding-right: 0; } }

.tooltip.wrapper {
  position: relative; }
  .tooltip.wrapper .tooltip.content {
    background: #fff;
    max-width: 360px;
    min-width: 210px;
    padding: 12px 16px;
    z-index: 100;
    display: none;
    position: absolute;
    text-align: left;
    color: #333;
    line-height: 1.4;
    border: 1px solid #bbb;
    margin-top: 5px;
    left: 0;
    top: 100%; }
    .tooltip.wrapper .tooltip.content:after, .tooltip.wrapper .tooltip.content:before {
      border: solid transparent;
      content: '';
      height: 0;
      position: absolute;
      width: 0; }
    .tooltip.wrapper .tooltip.content:after {
      border-width: 5px;
      border-color: transparent; }
    .tooltip.wrapper .tooltip.content:before {
      border-width: 6px;
      border-color: transparent; }
    .tooltip.wrapper .tooltip.content:after, .tooltip.wrapper .tooltip.content:before {
      bottom: 100%; }
    .tooltip.wrapper .tooltip.content:after {
      border-bottom-color: #fff;
      left: 15px;
      margin-left: -5px; }
    .tooltip.wrapper .tooltip.content:before {
      border-bottom-color: #bbb;
      left: 15px;
      margin-left: -6px; }
  .tooltip.wrapper .tooltip.toggle {
    cursor: help; }
  .tooltip.wrapper .tooltip.toggle:hover + .tooltip.content,
  .tooltip.wrapper .tooltip.toggle:focus + .tooltip.content,
  .tooltip.wrapper:hover .tooltip.content {
    display: block; }
  .tooltip.wrapper .tooltip.content dl {
    margin-bottom: 0; }
  .tooltip.wrapper .tooltip.content dd {
    white-space: normal; }
  .tooltip.wrapper .tooltip.content .subtitle {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 15px; }
  .tooltip.wrapper .tooltip.content .label {
    margin-top: 9.5px; }
    .tooltip.wrapper .tooltip.content .label:first-child {
      margin-top: 0; }
  .tooltip.wrapper .tooltip.content .values {
    margin: 0; }

.ui-tooltip {
  position: absolute;
  z-index: 9999; }

@media only screen and (max-width: 479px) {
  .tooltip.wrapper .tooltip.content {
    min-width: 10rem; } }

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat/regular/montserrat-400.woff2") format("woff2"), url("../fonts/montserrat/regular/montserrat-400.woff") format("woff"), url("../fonts/montserrat/regular/montserrat-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat/regular/montserrat-400i.woff2") format("woff2"), url("../fonts/montserrat/regular/montserrat-400i.woff") format("woff"), url("../fonts/montserrat/regular/montserrat-400i.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat/medium/montserrat-500.woff2") format("woff2"), url("../fonts/montserrat/medium/montserrat-500.woff") format("woff"), url("../fonts/montserrat/medium/montserrat-500.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat/semibold/montserrat-600.woff2") format("woff2"), url("../fonts/montserrat/semibold/montserrat-600.woff") format("woff"), url("../fonts/montserrat/semibold/montserrat-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat/bold/montserrat-700.woff2") format("woff2"), url("../fonts/montserrat/bold/montserrat-700.woff") format("woff"), url("../fonts/montserrat/bold/montserrat-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Open Sans";
  src: url("../fonts/opensans/regular/OpenSans-400.woff2") format("woff2"), url("../fonts/opensans/regular/OpenSans-400.woff") format("woff"), url("../fonts/opensans/regular/OpenSans-400.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Open Sans";
  src: url("../fonts/opensans/semibold/OpenSans-600.woff2") format("woff2"), url("../fonts/opensans/semibold/OpenSans-600.woff") format("woff"), url("../fonts/opensans/semibold/OpenSans-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Open Sans";
  src: url("../fonts/opensans/bold/OpenSans-700.woff2") format("woff2"), url("../fonts/opensans/bold/OpenSans-700.woff") format("woff"), url("../fonts/opensans/bold/OpenSans-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@media only screen and (min-width: 768px) {
  h1 {
    font-size: 40px;
    /* @include lib-css(margin-bottom, $h1__margin-bottom__desktop); */ } }

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

.banner {
  position: relative; }
  .banner .banner-inner {
    padding: 2rem 0 0; }
    .banner .banner-inner h1 {
      margin: 0;
      font-weight: 700;
      font-size: 3rem;
      color: #3b4a4b;
      letter-spacing: 0.84px;
      line-height: 3.6rem; }
    .banner .banner-inner p {
      margin: 2rem 0 0;
      font-weight: 400;
      font-size: 1.6rem;
      color: #3b4a4b;
      line-height: 2.4rem; }
    .banner .banner-inner a {
      max-width: 100%;
      margin: 2rem 0 0;
      padding: 1.6rem 10rem 1.6rem 7.6rem;
      display: inline-block;
      -ms-flex-item-align: start;
          align-self: flex-start;
      font-family: "Montserrat","Trebuchet MS","Helvetica",sans-serif;
      font-weight: 500;
      font-size: 1.6rem;
      color: #ffffff;
      letter-spacing: 0.29px;
      text-align: center;
      line-height: 3.2rem;
      text-decoration: none;
      position: relative;
      background: transparent url("../img/cta-background-shape--darkgreen.svg") no-repeat center center;
      background-size: 100% 100%;
      -webkit-transition: color 0.15s ease;
      -o-transition: color 0.15s ease;
      transition: color 0.15s ease; }
      .banner .banner-inner a::after {
        content: '';
        width: 2.4rem;
        height: 1.4rem;
        display: block;
        position: absolute;
        top: 50%;
        right: 3rem;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        background: transparent url("../img/cta-arrow--white.svg") no-repeat center center;
        background-size: 2.4rem 1.4rem; }
      .banner .banner-inner a:hover {
        color: #3b4a4b;
        background: transparent url("../img/cta-background-shape--white.svg") no-repeat center center; }
        .banner .banner-inner a:hover::after {
          background: transparent url("../img/cta-arrow--greenish.svg") no-repeat center center; }
    @media screen and (min-width: 992px) {
      .banner .banner-inner {
        width: 80%;
        height: 100%;
        padding: 0 0 0 5rem;
        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: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0; }
        .banner .banner-inner h1 {
          color: #ffffff; }
        .banner .banner-inner p {
          margin: 2rem 0 0;
          color: #ffffff; }
        .banner .banner-inner a {
          margin: 2rem 0 0; } }
    @media screen and (min-width: 1200px) {
      .banner .banner-inner {
        width: 60%;
        padding: 0 0 0 10rem; }
        .banner .banner-inner h1 {
          font-size: 6.7rem;
          line-height: 7.2rem; }
        .banner .banner-inner p {
          font-size: 1.92rem;
          line-height: 2.4rem; }
        .banner .banner-inner a {
          margin: 4rem 0 0;
          font-size: 2.3rem;
          line-height: 3.2rem; } }

.homepage-content {
  padding: 2rem 0 0; }
  @media screen and (min-width: 768px) {
    .homepage-content {
      max-width: 70%;
      padding: 3.6rem 0 3.8rem; } }

.products-title {
  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-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media screen and (min-width: 767px) {
    .products-title {
      -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; } }
  .products-title h2 {
    margin-bottom: 0; }
    @media screen and (min-width: 767px) {
      .products-title h2 {
        margin-bottom: 1.9rem; } }
  .products-title > a {
    margin-top: 0;
    margin-bottom: 1.9rem;
    padding-right: 3rem;
    color: #3b4a4b;
    font-size: 1.6rem;
    line-height: 2.86rem;
    text-decoration: none;
    position: relative; }
    .products-title > a:after {
      content: '';
      width: 2.4rem;
      height: 1.4rem;
      display: block;
      margin-left: .5rem;
      position: absolute;
      top: 50%;
      right: 0;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      -webkit-transition: right .15s ease;
      -o-transition: right .15s ease;
      transition: right .15s ease;
      background: transparent url("../img/cta-arrow--greenish.svg") no-repeat center center;
      background-size: 2.4rem 1.4rem; }
    .products-title > a:hover {
      color: #3b4a4b;
      text-decoration: underline; }
      .products-title > a:hover::after {
        right: -.3rem; }
    @media screen and (min-width: 767px) {
      .products-title > a {
        margin-top: 2.375rem; } }

.product-item-info .label-spotlight {
  display: none; }

body._has-modal {
  height: 100%;
  overflow: hidden;
  width: 100%; }

.modals-overlay {
  z-index: 1000; }

.modal-slide,
.modal-popup {
  bottom: 0;
  left: 0;
  min-width: 0;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0s 0.3s, opacity 0.3s ease;
  -o-transition: visibility 0s 0.3s, opacity 0.3s ease;
  transition: visibility 0s 0.3s, opacity 0.3s ease; }
  .modal-slide._show,
  .modal-popup._show {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease; }
    .modal-slide._show .modal-inner-wrap,
    .modal-popup._show .modal-inner-wrap {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .modal-slide .modal-inner-wrap,
  .modal-popup .modal-inner-wrap {
    background-color: #ffffff;
    -webkit-box-shadow: 0 0 12px 2px rgba(0, 0, 0, 0.35);
            box-shadow: 0 0 12px 2px rgba(0, 0, 0, 0.35);
    opacity: 1;
    pointer-events: auto; }

.modal-slide {
  left: 5rem;
  z-index: 900; }
  .modal-slide._show .modal-inner-wrap {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0); }
  .modal-slide .modal-inner-wrap {
    height: 100%;
    overflow-y: auto;
    position: static;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    width: auto; }
  .modal-slide._inner-scroll .modal-inner-wrap {
    overflow-y: visible;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .modal-slide._inner-scroll .modal-header,
  .modal-slide._inner-scroll .modal-footer {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .modal-slide._inner-scroll .modal-content {
    overflow-y: auto; }
  .modal-slide._inner-scroll .modal-footer {
    margin-top: auto; }
  .modal-slide .modal-header,
  .modal-slide .modal-content,
  .modal-slide .modal-footer {
    padding: 0 2.6rem 2.6rem; }
  .modal-slide .modal-header {
    padding-bottom: 2.1rem;
    padding-top: 2.1rem; }

.modal-popup {
  z-index: 900;
  left: 0;
  overflow-y: auto; }
  .modal-popup._show .modal-inner-wrap {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  .modal-popup .modal-inner-wrap {
    margin: 5rem auto;
    width: 75%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    -webkit-transform: translateY(-200%);
        -ms-transform: translateY(-200%);
            transform: translateY(-200%);
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    -o-transition: transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
  .modal-popup._inner-scroll {
    overflow-y: visible; }
    .ie11 .modal-popup._inner-scroll,
    .ie10 .modal-popup._inner-scroll,
    .ie9 .modal-popup._inner-scroll {
      overflow-y: auto; }
    .modal-popup._inner-scroll .modal-inner-wrap {
      max-height: 90%; }
      .ie11 .modal-popup._inner-scroll .modal-inner-wrap,
      .ie10 .modal-popup._inner-scroll .modal-inner-wrap,
      .ie9 .modal-popup._inner-scroll .modal-inner-wrap {
        max-height: none; }
    .modal-popup._inner-scroll .modal-content {
      overflow-y: auto; }
  .modal-popup .modal-header,
  .modal-popup .modal-content,
  .modal-popup .modal-footer {
    padding-left: 3rem;
    padding-right: 3rem; }
  .modal-popup .modal-header,
  .modal-popup .modal-footer {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .modal-popup .modal-header {
    padding-bottom: 1.2rem;
    padding-top: 3rem; }
  .modal-popup .modal-footer {
    margin-top: auto;
    padding-bottom: 3rem;
    padding-top: 3rem; }
  .modal-popup .modal-footer-actions {
    text-align: right; }

@media only screen and (max-width: 767px) {
  .modal-popup.modal-slide {
    left: 5rem;
    z-index: 900; }
    .modal-popup.modal-slide._show .modal-inner-wrap {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
    .modal-popup.modal-slide .modal-inner-wrap {
      height: 100%;
      overflow-y: auto;
      position: static;
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%);
      -webkit-transition: -webkit-transform 0.3s ease-in-out;
      transition: -webkit-transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
      width: auto; }
    .modal-popup.modal-slide .modal-inner-wrap {
      margin: 0;
      max-height: none; } }

.modal-custom .action-close,
.modal-popup .action-close,
.modal-slide .action-close {
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  display: inline-block;
  text-decoration: none;
  position: absolute;
  right: 0;
  top: 0; }
  .modal-custom .action-close:focus, .modal-custom .action-close:active,
  .modal-popup .action-close:focus,
  .modal-popup .action-close:active,
  .modal-slide .action-close:focus,
  .modal-slide .action-close:active {
    background: none;
    border: none; }
  .modal-custom .action-close:hover,
  .modal-popup .action-close:hover,
  .modal-slide .action-close:hover {
    background: none;
    border: none; }
  .modal-custom .action-close.disabled, .modal-custom .action-close[disabled],
  fieldset[disabled] .modal-custom .action-close,
  .modal-popup .action-close.disabled,
  .modal-popup .action-close[disabled],
  fieldset[disabled]
  .modal-popup .action-close,
  .modal-slide .action-close.disabled,
  .modal-slide .action-close[disabled],
  fieldset[disabled]
  .modal-slide .action-close {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }
  .modal-custom .action-close > span,
  .modal-popup .action-close > span,
  .modal-slide .action-close > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .modal-custom .action-close:before,
  .modal-popup .action-close:before,
  .modal-slide .action-close:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 20px;
    line-height: 20px;
    color: #8f8f8f;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .modal-custom .action-close:hover:before,
  .modal-popup .action-close:hover:before,
  .modal-slide .action-close:hover:before {
    color: inherit; }
  .modal-custom .action-close:active:before,
  .modal-popup .action-close:active:before,
  .modal-slide .action-close:active:before {
    color: inherit; }
  .modal-custom .action-close:hover:before,
  .modal-popup .action-close:hover:before,
  .modal-slide .action-close:hover:before {
    color: #1a1a1a; }

.modal-custom .action-close {
  margin: 23.75px; }

.modal-popup {
  pointer-events: none; }
  .modal-popup .modal-title {
    border-bottom: 1px solid #c1c1c1;
    font-weight: 300;
    padding-bottom: 9.5px;
    font-size: 32px;
    margin-bottom: 0;
    min-height: 1em;
    word-wrap: break-word; }
  .modal-popup .action-close {
    padding: 9.5px; }

.modal-slide .action-close {
  padding: 1.1rem 2rem; }

.modal-slide .page-main-actions {
  margin-bottom: calc(2.1rem - 14.25px);
  margin-top: 2.1rem; }

.modals-overlay {
  background-color: fade(#333, 55%);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0; }

body._has-modal-custom .modal-custom-overlay {
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 1000; }

@media only screen and (max-width: 767px) {
  .custom-slide {
    bottom: 0;
    left: 0;
    min-width: 0;
    position: fixed;
    right: 0;
    top: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: visibility 0s 0.3s, opacity 0.3s ease;
    -o-transition: visibility 0s 0.3s, opacity 0.3s ease;
    transition: visibility 0s 0.3s, opacity 0.3s ease;
    left: 5rem;
    z-index: 900;
    left: 10vw;
    right: auto;
    width: 90vw; }
    .custom-slide._show {
      visibility: visible;
      opacity: 1;
      -webkit-transition: opacity 0.3s ease;
      -o-transition: opacity 0.3s ease;
      transition: opacity 0.3s ease; }
      .custom-slide._show .modal-inner-wrap {
        -webkit-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
                transform: translate(0, 0); }
    .custom-slide .modal-inner-wrap {
      background-color: #ffffff;
      -webkit-box-shadow: 0 0 12px 2px rgba(0, 0, 0, 0.35);
              box-shadow: 0 0 12px 2px rgba(0, 0, 0, 0.35);
      opacity: 1;
      pointer-events: auto; }
    .custom-slide._show .modal-inner-wrap {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
    .custom-slide .modal-inner-wrap {
      height: 100%;
      overflow-y: auto;
      position: static;
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%);
      -webkit-transition: -webkit-transform 0.3s ease-in-out;
      transition: -webkit-transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
      width: auto; }
    .custom-slide._show {
      -webkit-overflow-scrolling: touch;
      overflow-x: hidden;
      overflow-y: auto; }
    .custom-slide .modal-inner-wrap {
      background-color: #f4f4f4;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      height: auto;
      min-height: 100%; }
  body._has-modal-custom {
    height: 100vh;
    overflow: hidden;
    width: 100vw;
    position: fixed; }
    body._has-modal-custom .modal-custom-overlay {
      background-color: #6c7778;
      opacity: 0.7; } }

@media only screen and (max-width: 767px) {
  .modal-popup.modal-slide .modal-inner-wrap[class] {
    background-color: #f4f4f4; }
  .modal-popup.modal-slide._inner-scroll._show {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto; }
  .modal-popup.modal-slide._inner-scroll .modal-inner-wrap {
    height: auto;
    min-height: 100%; }
  .modal-popup .modal-title {
    font-size: 14px;
    font-weight: 700; } }

@media only screen and (min-width: 768px) {
  .modal-popup.modal-slide .modal-footer {
    border-top: 1px solid #c1c1c1;
    text-align: right; } }

.column .block-addbysku .fieldset {
  margin: 0; }
  .column .block-addbysku .fieldset .fields {
    position: relative; }
    .column .block-addbysku .fieldset .fields .field {
      display: inline-block;
      margin-bottom: 9.5px;
      vertical-align: top; }
    .column .block-addbysku .fieldset .fields .actions-toolbar {
      position: absolute;
      right: 0;
      top: 4px; }

.column .block-addbysku .sku {
  margin-right: -155px;
  padding-right: 160px;
  width: 100%; }

.column .block-addbysku .skus > .label {
  margin-top: 9.5px; }

.column .block-addbysku .qty .qty + .mage-error {
  width: 80px; }

.column .block-addbysku .block-content .actions-toolbar {
  clear: both;
  margin: 0 0 19px;
  text-align: left; }
  .column .block-addbysku .block-content .actions-toolbar:before, .column .block-addbysku .block-content .actions-toolbar:after {
    content: '';
    display: table; }
  .column .block-addbysku .block-content .actions-toolbar:after {
    clear: both; }
  .column .block-addbysku .block-content .actions-toolbar .primary {
    float: left; }
  .column .block-addbysku .block-content .actions-toolbar .primary,
  .column .block-addbysku .block-content .actions-toolbar .secondary {
    display: inline-block; }
    .column .block-addbysku .block-content .actions-toolbar .primary a.action,
    .column .block-addbysku .block-content .actions-toolbar .secondary a.action {
      display: inline-block; }
  .column .block-addbysku .block-content .actions-toolbar .secondary a.action {
    margin-top: 6px; }
  .column .block-addbysku .block-content .actions-toolbar .primary,
  .column .block-addbysku .block-content .actions-toolbar .secondary {
    display: block;
    float: none; }
  .column .block-addbysku .block-content .actions-toolbar > .secondary {
    text-align: left; }

.column .block-addbysku .reset {
  margin: 9.5px 0; }

.column .block-addbysku .note {
  display: block;
  margin: 0 0 19px; }

.block-cart-failed {
  margin-top: 38px; }
  .block-cart-failed .block-title {
    font-size: 2.6rem; }
    .block-cart-failed .block-title strong {
      font-weight: 300; }
  .block-cart-failed .actions {
    text-align: center; }
    .block-cart-failed .actions .action {
      margin-bottom: 9.5px; }

@media only screen and (max-width: 639px) {
  .column .block-addbysku .sku {
    margin-right: -85px;
    padding-right: 90px; }
  .column .block-addbysku .action.remove {
    display: inline-block;
    text-decoration: none;
    background-image: none;
    background: none;
    -moz-box-sizing: content-box;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    line-height: inherit;
    margin: 0;
    padding: 0;
    text-decoration: none;
    text-shadow: none;
    font-weight: 400; }
    .column .block-addbysku .action.remove > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .column .block-addbysku .action.remove:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 28px;
      line-height: 22px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 1px 0 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .column .block-addbysku .action.remove:hover:before {
      color: inherit; }
    .column .block-addbysku .action.remove:active:before {
      color: inherit; }
    .column .block-addbysku .action.remove:focus, .column .block-addbysku .action.remove:active {
      background: none;
      border: none; }
    .column .block-addbysku .action.remove:hover {
      background: none;
      border: none; }
    .column .block-addbysku .action.remove.disabled, .column .block-addbysku .action.remove[disabled],
    fieldset[disabled] .column .block-addbysku .action.remove {
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.5; } }

@media only screen and (min-width: 640px) {
  .column .block-addbysku .action.remove {
    background-image: none;
    background: none;
    -moz-box-sizing: content-box;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    line-height: inherit;
    margin: 0;
    padding: 0;
    text-decoration: none;
    text-shadow: none;
    font-weight: 400;
    line-height: 1.42857;
    margin: 0;
    padding: 0;
    color: #333;
    text-decoration: underline;
    background: none;
    border: 0;
    display: inline;
    margin-top: 2px; }
    .column .block-addbysku .action.remove:focus, .column .block-addbysku .action.remove:active {
      background: none;
      border: none; }
    .column .block-addbysku .action.remove:hover {
      background: none;
      border: none; }
    .column .block-addbysku .action.remove.disabled, .column .block-addbysku .action.remove[disabled],
    fieldset[disabled] .column .block-addbysku .action.remove {
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.5; }
    .column .block-addbysku .action.remove:visited {
      color: #333;
      text-decoration: none; }
    .column .block-addbysku .action.remove:hover {
      color: #a54f6c;
      text-decoration: none; }
    .column .block-addbysku .action.remove:active {
      color: #ff5501;
      text-decoration: none; }
    .column .block-addbysku .action.remove:hover {
      color: #a54f6c; }
    .column .block-addbysku .action.remove:hover, .column .block-addbysku .action.remove:active, .column .block-addbysku .action.remove:focus {
      background: none;
      border: 0; }
    .column .block-addbysku .action.remove.disabled, .column .block-addbysku .action.remove[disabled],
    fieldset[disabled] .column .block-addbysku .action.remove {
      color: #333;
      opacity: 0.5;
      cursor: default;
      pointer-events: none;
      text-decoration: underline; } }

@media only screen and (min-width: 768px) {
  .block-cart-failed .actions {
    text-align: left; }
  .block-cart-failed .actions.primary {
    float: right; } }

.payment-method-braintree .hosted-control {
  position: relative;
  width: 225px; }
  .payment-method-braintree .hosted-control.braintree-hosted-fields-focused {
    border-color: #006bb4; }
  .payment-method-braintree .hosted-control.braintree-hosted-fields-invalid:not(.braintree-hosted-fields-focused) {
    border-color: #e02b27; }
    .payment-method-braintree .hosted-control.braintree-hosted-fields-invalid:not(.braintree-hosted-fields-focused) ~ .hosted-error {
      height: auto;
      opacity: 1; }
  .payment-method-braintree .hosted-control.braintree-hosted-fields-valid {
    border-color: #006400; }
  .payment-method-braintree .hosted-control.hosted-cid {
    width: 5rem; }
  .payment-method-braintree .hosted-control.hosted-date {
    float: left;
    margin-bottom: 7px;
    width: 6rem; }
    .payment-method-braintree .hosted-control.hosted-date:first-of-type {
      margin-right: 50px; }
      .payment-method-braintree .hosted-control.hosted-date:first-of-type:after {
        content: '/';
        display: inline;
        padding-bottom: inherit;
        padding-top: inherit;
        position: absolute;
        right: -25px;
        top: 5px; }

.payment-method-braintree .field-tooltip {
  right: 0; }

.payment-method-braintree .hosted-error {
  clear: both;
  color: #e02b27;
  font-size: 1.2rem;
  height: 0;
  margin-top: 7px;
  opacity: 0; }

.braintree-paypal-logo {
  margin-top: 9.5px;
  text-align: center; }

.braintree-paypal-account {
  padding: 15px 0 15px 50px;
  position: relative;
  display: inline-block; }
  .braintree-paypal-account:before {
    background-image: url("../Magento_Braintree/images/paypal-small.png");
    background-position-x: 0;
    background-position-y: 0;
    line-height: 16px;
    vertical-align: middle;
    height: 16px;
    width: 16px;
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    margin: ""; }
  .braintree-paypal-account:before {
    left: 17px;
    margin-top: -8px;
    position: absolute;
    top: 50%; }
  .braintree-paypal-account .payment-method-type {
    font-weight: 700; }
  .braintree-paypal-account .payment-method-description {
    color: #575757; }

.braintree-paypal-fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

.action-braintree-paypal-logo {
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400; }
  .action-braintree-paypal-logo:focus, .action-braintree-paypal-logo:active {
    background: none;
    border: none; }
  .action-braintree-paypal-logo:hover {
    background: none;
    border: none; }
  .action-braintree-paypal-logo.disabled, .action-braintree-paypal-logo[disabled],
  fieldset[disabled] .action-braintree-paypal-logo {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }
  .action-braintree-paypal-logo img {
    margin: 0;
    width: 114px; }

.payment-method .payment-method-content .actions-toolbar.braintree-paypal-actions {
  margin-left: 0; }

.account .table .col.paypal-account img {
  vertical-align: middle; }

.account .table .col.paypal-account + .actions {
  vertical-align: middle; }

@media only screen and (min-width: 768px) {
  .payment-method-braintree .cvv .field-tooltip {
    left: 6rem; }
  .braintree-paypal-account {
    border-color: #ccc;
    border-style: solid;
    border-width: 1px 0;
    display: inline-block;
    width: 50%; }
  .account .table-credit-cards .col.actions {
    width: 100px; } }

.bundle-options-container {
  clear: both;
  margin-bottom: 38px; }
  .bundle-options-container .legend.title {
    font-weight: 300;
    line-height: 1.1;
    font-size: 2.6rem;
    margin-top: 2.375rem;
    margin-bottom: 1.9rem; }
  .bundle-options-container .product-add-form {
    display: none; }
  .bundle-options-container .product-options-wrapper {
    margin-bottom: 28.5px; }
  .bundle-options-container .action.back {
    margin-bottom: 28.5px; }
  .bundle-options-container .price-box .price {
    font-size: 18px;
    font-weight: 700; }
  .bundle-options-container .block-bundle-summary {
    background: #e8e8e8;
    padding: 9.5px 19px; }
    .bundle-options-container .block-bundle-summary > .title > strong {
      font-weight: 300;
      line-height: 1.1;
      font-size: 2.6rem;
      margin-top: 2.375rem;
      margin-bottom: 1.9rem; }
    .bundle-options-container .block-bundle-summary .bundle-summary {
      margin-top: 28.5px; }
      .bundle-options-container .block-bundle-summary .bundle-summary.empty {
        display: none; }
      .bundle-options-container .block-bundle-summary .bundle-summary > .subtitle {
        font-weight: 300;
        line-height: 1.1;
        font-size: 1.8rem;
        margin-top: 1.425rem;
        margin-bottom: 0.95rem;
        display: block; }
    .bundle-options-container .block-bundle-summary .bundle.items > li {
      margin-bottom: 9.5px; }
    .bundle-options-container .block-bundle-summary .box-tocart .actions {
      display: inline-block;
      margin-bottom: 9.5px; }
    .bundle-options-container .block-bundle-summary .product-addto-links > .action {
      vertical-align: top; }
  .bundle-options-container .nested .field.qty {
    margin-top: 19px; }
    .bundle-options-container .nested .field.qty .label {
      font-weight: 700;
      margin: 0 0 4.75px;
      display: inline-block; }
  .bundle-options-container p.required {
    color: #e02b27; }
  .bundle-options-container .product-options-bottom {
    clear: left; }

@media only screen and (min-width: 768px) {
  .bundle-options-container .bundle-options-wrapper,
  .bundle-options-container .product-options-wrapper {
    float: left;
    width: 57%; }
  .bundle-options-container .block-bundle-summary {
    float: right;
    position: relative;
    width: 40%; }
  .page-layout-2columns-left .bundle-options-container .bundle-options-wrapper,
  .page-layout-2columns-right .bundle-options-container .bundle-options-wrapper,
  .page-layout-3columns .bundle-options-container .bundle-options-wrapper, .page-layout-2columns-left
  .bundle-options-container .block-bundle-summary,
  .page-layout-2columns-right
  .bundle-options-container .block-bundle-summary,
  .page-layout-3columns
  .bundle-options-container .block-bundle-summary {
    width: 48%; } }

/* PRODUCTS GRID */
/* ************* */
.catalog-category-view .page-title-wrapper {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.products-grid .product-items {
  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;
  margin: 0 -1.6rem -4rem; }

.products-grid .product-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  min-width: 0;
  width: 25%;
  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;
  position: relative;
  padding: 0 1.6rem;
  margin-bottom: 7.8rem;
  z-index: 42;
  -webkit-transition: margin-bottom 0.2s ease;
  -o-transition: margin-bottom 0.2s ease;
  transition: margin-bottom 0.2s ease; }
  @media only screen and (max-width: 767px) {
    .products-grid .product-item {
      width: 50%; } }
  @media only screen and (max-width: 479px) {
    .products-grid .product-item {
      width: 100%; } }

@media (hover: hover) {
  .products-grid .product-item:hover {
    margin-bottom: 2.1rem; }
    .products-grid .product-item:hover .product-item__inner {
      -webkit-box-shadow: 0 0.5rem 1rem rgba(59, 74, 75, 0.3);
              box-shadow: 0 0.5rem 1rem rgba(59, 74, 75, 0.3); }
      .products-grid .product-item:hover .product-item__inner .product-item-details {
        padding-bottom: 5.7rem; }
      .products-grid .product-item:hover .product-item__inner .product-item-inner {
        visibility: visible;
        opacity: 1; } }

/* PRODUCT TEASER */
/* ************** */
.product-item__inner {
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 2rem;
  background-color: #ffffff;
  border-radius: 0.5rem;
  -webkit-transition: -webkit-box-shadow 0.2s ease;
  transition: -webkit-box-shadow 0.2s ease;
  -o-transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
  /* Equal heights columns, bottom aligned prices / actions */ }
  .product-item__inner .product-info-labels {
    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; }
    .product-item__inner .product-info-labels span {
      display: inline-block; }
      .product-item__inner .product-info-labels span:not(:last-child) {
        margin-right: .5rem; }
      .product-item__inner .product-info-labels span.label-back-in-stock {
        padding: 2px;
        background: #008000;
        color: #ffffff; }
      .product-item__inner .product-info-labels span.label-new {
        padding: 2px;
        background: #9ec1cf;
        color: #ffffff; }
      .product-item__inner .product-info-labels span.label-low-stock {
        padding: 2px;
        background: #9ec1cf;
        color: #ffffff; }
  @media only screen and (min-width: 480px) {
    .product-item__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .product-item__inner .product-item-info,
      .product-item__inner .product-item-details {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
      .product-item__inner .product-item-details .price_container {
        margin-top: auto; } }

/* Image */
.product-item-photo {
  display: block; }
  .product-item-photo .product-image-container[style] {
    width: 100% !important; }

/* Content */
.product-item-details {
  position: relative;
  padding-bottom: 0;
  -webkit-transition: padding-bottom 0.2s ease;
  -o-transition: padding-bottom 0.2s ease;
  transition: padding-bottom 0.2s ease;
  color: #3b4a4b;
  /* Title */
  /* Subtitle */
  /* Attributes */
  /* Price */
  /* Form, reveal on hover for non-mobile resolutions */ }
  .product-item-details .product-item-name {
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1.1; }
    @media only screen and (min-width: 480px) {
      .product-item-details .product-item-name {
        min-height: 4.4rem; } }
    .product-item-details .product-item-name > a {
      color: inherit;
      font-weight: bold;
      text-decoration: none; }
      .product-item-details .product-item-name > a:hover, .product-item-details .product-item-name > a:focus {
        text-decoration: underline; }
  .product-item-details .custom_subtitle .value {
    display: inline-block;
    margin-bottom: 2rem;
    font-size: 1.1rem;
    line-height: 1.2; }
    .product-item-details .custom_subtitle .value p {
      margin: 0; }
  .product-item-details .custom_attributes {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-top: 0.1rem solid #efefe8; }
    .product-item-details .custom_attributes .custom_attribute {
      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;
      padding-bottom: 1rem; }
      .product-item-details .custom_attributes .custom_attribute:last-child {
        padding-bottom: 0; }
    .product-item-details .custom_attributes .label {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 30%;
              flex: 0 1 30%;
      padding-right: 1rem;
      color: #9da4a3;
      font-weight: bold;
      font-size: 1.2rem;
      line-height: 1.2; }
    .product-item-details .custom_attributes .value {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 70%;
              flex: 0 1 70%;
      color: #6a7576;
      font-weight: bold;
      font-size: 1.2rem;
      line-height: 1.2; }
  .product-item-details .price_container {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-top: 0.1rem solid #efefe8; }
    .product-item-details .price_container .price {
      font-weight: bold;
      font-size: 1.8rem;
      line-height: 1; }
  .product-item-details .product-item-inner {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.4s ease;
    -o-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease; }
    .product-item-details .product-item-inner 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: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .product-item-details .product-item-inner input[type='number'] {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 30%;
              flex: 0 0 30%;
      min-width: 0;
      font-weight: 500;
      font-size: 1.8rem;
      line-height: 1;
      text-align: center; }
    .product-item-details .product-item-inner button, .product-item-details .product-item-inner .page-layout-checkout .authentication-wrapper .action, .page-layout-checkout .authentication-wrapper .product-item-details .product-item-inner .action, .product-item-details .product-item-inner .action-gift {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 60%;
              flex: 0 1 60%;
      padding-top: 0.8rem;
      padding-bottom: 0.8rem;
      border: 0;
      font-size: 1.2rem;
      line-height: 1.2; }

.toolbar {
  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;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 3rem; }

.toolbar-amount {
  display: block;
  line-height: 28px;
  margin: 0;
  padding: 8px 0 0; }
  .products.wrapper ~ .toolbar .toolbar-amount {
    display: none; }

.toolbar-products {
  margin-bottom: 38px;
  padding: 0 9.5px;
  text-align: center; }
  .toolbar-products .pages {
    display: none; }
    .products.wrapper ~ .toolbar-products .pages {
      display: block; }
  .toolbar-products .limiter {
    display: none; }
    .toolbar-products .limiter .control {
      display: inline-block; }

.sorter {
  padding: 4px 0 0; }
  .products.wrapper ~ .toolbar .sorter {
    display: none; }

.sorter-options {
  margin: 0 0 0 7px;
  width: auto; }

.sorter-action {
  vertical-align: top;
  display: inline-block;
  text-decoration: none; }
  .sorter-action > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .sorter-action:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: 1;
    color: #8f8f8f;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .sorter-action:hover:before {
    color: #333; }

.sorter .sort-desc:before {
  content: ""; }

.modes {
  display: none; }

.limiter-options {
  margin: 0 5px 0 7px;
  width: auto; }

.limiter-label {
  font-weight: normal; }

.page-products .toolbar .limiter {
  display: none; }

@media only screen and (min-width: 768px) {
  .page-products .columns {
    padding-top: 0; }
  .products.wrapper ~ .toolbar .pages {
    margin-right: auto; }
  .toolbar-amount {
    margin-right: auto; }
  .modes-mode {
    color: #7d7d7d;
    border: 1px solid #d1d1d1;
    border-right: 0;
    float: left;
    font-weight: 400;
    line-height: 1;
    padding: 7px 10px;
    text-align: center;
    display: block;
    text-decoration: none; }
    .modes-mode > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .modes-mode:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 26px;
      line-height: inherit;
      color: #7d7d7d;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .modes-mode:hover:before {
      color: #7d7d7d; }
    .modes-mode:not(.active):hover {
      color: #7d7d7d;
      background: #dedede; }
    .modes-mode:last-child {
      border-right: 1px solid #d1d1d1; }
    .modes-mode.active {
      color: #a6a6a6; }
  .mode-list:before {
    content: ""; }
  .limiter {
    margin-left: auto; }
    .products.wrapper ~ .toolbar .limiter {
      display: block; } }

.fotorama-stretch, .fotorama-focus-overlay:after, .fotorama__nav__frame:focus:after, .fotorama__html, .fotorama__stage__frame, .fotorama__stage__shaft, .fotorama__video iframe {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%; }

.fotorama-grab-cursor, .fotorama__wrap .fotorama__grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.fotorama-grabbing-cursor, .fotorama__grabbing * {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fotorama-gpu, .fotorama__caption, .fotorama--fullscreen, .fotorama__wrap--css3 .fotorama__html, .fotorama--fullscreen .fotorama__stage__frame .fotorama__img--full, .fotorama__wrap--css3 .fotorama__nav, .fotorama__nav:before, .fotorama__nav:after, .fotorama__wrap--css3 .fotorama__spinner, .fotorama__wrap--css3 .fotorama__stage, .fotorama__stage:before, .fotorama__stage:after, .fotorama__wrap--css3 .fotorama__stage__frame {
  -webkit-transform: translateZ(0);
          transform: translateZ(0); }

.fotorama-focus, .fotorama__fullscreen-icon:focus, .fotorama__nav__frame, .fotorama__zoom-in:focus,
.fotorama__zoom-out:focus {
  outline: 0; }

.fotorama-focus-overlay:after, .fotorama__nav__frame:focus:after {
  background-color: #006bb4;
  border-radius: inherit;
  content: ''; }

.fotorama-transform-disabled, .fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html, .fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img, .fotorama__wrap--video .fotorama__stage, .fotorama__wrap--video .fotorama__stage__frame--video, .fotorama__wrap--video .fotorama__stage__shaft {
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important; }

.fotorama-transition-for-slide, .fotorama__wrap--css3 .fotorama__nav__shaft, .fotorama__wrap--css3 .fotorama__stage__shaft, .fotorama__wrap--css3 .fotorama__thumb-border {
  -webkit-transition-duration: unset;
       -o-transition-duration: unset;
          transition-duration: unset;
  -webkit-transition-property: width, -webkit-transform;
  transition-property: width, -webkit-transform;
  -o-transition-property: transform, width;
  transition-property: transform, width;
  transition-property: transform, width, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.1, 0, 0.25, 1);
       -o-transition-timing-function: cubic-bezier(0.1, 0, 0.25, 1);
          transition-timing-function: cubic-bezier(0.1, 0, 0.25, 1); }

.fotorama-no-select, .fotorama__arr, .fotorama__fullscreen-icon, .fotorama__no-select, .fotorama__video-close, .fotorama__wrap {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.fotorama-select, .fotorama__select {
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text; }

.fotorama-empty-bg {
  background: url(data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=); }

.fotorama-auto-margin, .fotorama__nav, .fotorama__nav__frame {
  margin: auto;
  padding: 0; }

.fotorama-inline-block, .fotorama__caption__wrap, .fotorama__nav__frame, .fotorama__nav__shaft {
  display: inline;
  display: inline-block;
  vertical-align: middle;
  zoom: 1; }

.fotorama-hidden, .fotorama--hidden, .fotorama__load {
  position: absolute;
  top: -99999px;
  left: -99999px;
  z-index: -1000; }

.fotorama-visible {
  position: relative;
  left: auto;
  top: auto;
  opacity: 1;
  z-index: auto; }

.fotorama-no-tap, .fotorama__arr, .fotorama__fullscreen-icon, .fotorama__nav, .fotorama__nav__frame, .fotorama__nav__shaft, .fotorama__stage__frame, .fotorama__stage__shaft, .fotorama__video-close {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.transitionDuration {
  -webkit-transition-duration: 333ms;
       -o-transition-duration: 333ms;
          transition-duration: 333ms; }

.transitionDurationZero {
  -webkit-transition-duration: unset;
       -o-transition-duration: unset;
          transition-duration: unset; }

.fotorama-sprite, .fotorama__arr .fotorama__arr__arr, .fotorama__fullscreen-icon, .fotorama__thumb--icon, .fotorama__video-close, .fotorama__video-play, .fotorama__fullscreen .fotorama__zoom-in, .fotorama__fullscreen .fotorama__zoom-out {
  background-image: url("../images/gallery.png");
  background-repeat: no-repeat; }

@media print {
  .fotorama-print-background, .fotorama-sprite, .fotorama__arr .fotorama__arr__arr, .fotorama__fullscreen-icon, .fotorama__thumb--icon, .fotorama__video-close, .fotorama__video-play, .fotorama__fullscreen .fotorama__zoom-in, .fotorama__fullscreen .fotorama__zoom-out, .fotorama__thumb-border {
    background: none !important; } }

.fotorama__active {
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent; }

.fotorama__stage__frame.fotorama__active {
  z-index: 8; }

.fotorama__wrap--fade .fotorama__stage__frame.fotorama__active {
  display: block;
  left: 0;
  top: 0; }

.fotorama__wrap--fade .fotorama__fade-rear.fotorama__active {
  z-index: 9; }

.fotorama__wrap--only-active .fotorama__stage__frame.fotorama__active {
  visibility: visible; }

.fotorama__arr {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 900;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-transition: background-color 0.3s ease-in-out;
  -o-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out; }
  .fotorama__arr:hover {
    background-color: rgba(255, 255, 255, 0.5); }
  .fotorama__arr:active {
    background-color: rgba(213, 213, 213, 0.5); }
  .fotorama__arr:focus {
    -webkit-box-shadow: none;
            box-shadow: none; }
    .fotorama__arr:focus:after {
      border-radius: inherit;
      bottom: 3px;
      -webkit-box-shadow: 0 0 3px 1px #68a8e0;
              box-shadow: 0 0 3px 1px #68a8e0;
      content: '';
      left: 3px;
      position: absolute;
      right: 3px;
      top: 3px;
      z-index: 1000; }
  .fotorama__arr--prev {
    left: 0; }
    .fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--prev:not(:focus) {
      -webkit-transform: translate3d(-120px, 0, 0);
              transform: translate3d(-120px, 0, 0); }
    .fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--prev {
      -webkit-transform: translate3d(-120px, 0, 0);
              transform: translate3d(-120px, 0, 0); }
  .fotorama__arr--next {
    right: 0; }
    .fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--next:not(:focus) {
      -webkit-transform: translate3d(120px, 0, 0);
              transform: translate3d(120px, 0, 0); }
    .fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--next {
      -webkit-transform: translate3d(120px, 0, 0);
              transform: translate3d(120px, 0, 0); }
  .fotorama__arr--disabled {
    display: none;
    opacity: 0.1;
    pointer-events: none;
    cursor: default; }
  .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr {
    opacity: 0; }
    .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus {
      opacity: 1; }
  .fotorama__wrap--video .fotorama__arr {
    opacity: 0 !important; }
  .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr {
    display: none; }
    .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus {
      display: block; }
  .fotorama__wrap--css2.fotorama__wrap--video .fotorama__arr {
    display: none !important; }
  .fotorama__wrap--css3 .fotorama__arr:not(:focus) {
    -webkit-transition-duration: 0.3s;
         -o-transition-duration: 0.3s;
            transition-duration: 0.3s;
    -webkit-transition-property: opacity, background-color, -webkit-transform;
    transition-property: opacity, background-color, -webkit-transform;
    -o-transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color, -webkit-transform; }
  .fotorama__stage .fotorama__arr--shown {
    display: block !important; }
  .fotorama__stage .fotorama__arr--hidden {
    display: none !important; }

.fotorama__arr .fotorama__arr__arr {
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0); }
  .ie9 .fotorama__arr .fotorama__arr__arr {
    margin: -40px 0 0 -40px; }

.fotorama__arr--prev .fotorama__arr__arr {
  background-position: -80px -80px; }

.fotorama__arr--next .fotorama__arr__arr {
  background-position: -160px -80px; }

.fotorama__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  color: #000000;
  font-size: 14px;
  line-height: 1.5;
  z-index: 12; }
  .fotorama__caption a {
    color: #000000;
    text-decoration: none;
    border-bottom: 1px solid;
    border-color: fade(#000000, 0.5); }
    .fotorama__caption a:hover {
      color: #000000;
      border-color: fade(#000000, 0.5); }
  .fotorama__wrap--rtl .fotorama__caption {
    left: auto;
    right: 0; }
  .fotorama__wrap--video .fotorama__caption,
  .fotorama__wrap--no-captions .fotorama__caption {
    display: none; }

.fotorama__caption__wrap {
  padding: 5px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #ffffff; }

.fotorama__dot {
  display: block;
  position: relative;
  top: 12px;
  left: 6px;
  width: 4px;
  height: 4px;
  border: 1px solid #858585;
  border-radius: 6px; }
  .fotorama__nav__frame--dot:focus .fotorama__dot {
    -webkit-box-shadow: none;
            box-shadow: none; }
    .fotorama__nav__frame--dot:focus .fotorama__dot:after {
      border-radius: inherit;
      bottom: 3px;
      -webkit-box-shadow: 0 0 3px 1px #68a8e0;
              box-shadow: 0 0 3px 1px #68a8e0;
      content: '';
      left: 3px;
      position: absolute;
      right: 3px;
      top: 3px;
      z-index: 1000; }
  .fotorama__nav__frame--thumb:focus .fotorama__dot:after,
  .fotorama__nav__frame--dot:focus .fotorama__dot:after {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0; }
  .fotorama__active .fotorama__dot {
    background-color: #ff5501;
    border-color: #ff5501; }

.fotorama__wrap--fade .fotorama__fade-front,
.fotorama__wrap--fade .fotorama__fade-rear {
  display: block;
  left: 0;
  top: 0; }

.fotorama__wrap--fade .fotorama__fade-front {
  z-index: 8; }

.fotorama__wrap--fade .fotorama__fade-rear {
  z-index: 7; }

.fotorama {
  min-width: 1px;
  overflow: hidden; }
  .fotorama--fullscreen {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff;
    z-index: 1000 !important; }

.fotorama__fullscreen {
  overflow: hidden;
  position: relative; }

.fotorama__fullscreen-icon {
  position: absolute;
  display: none;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background-position: 0 0;
  cursor: pointer;
  z-index: 1000; }
  .fotorama__fullscreen-icon:focus {
    -webkit-box-shadow: none;
            box-shadow: none; }
    .fotorama__fullscreen-icon:focus:after {
      border-radius: inherit;
      bottom: 3px;
      -webkit-box-shadow: 0 0 3px 1px #68a8e0;
              box-shadow: 0 0 3px 1px #68a8e0;
      content: '';
      left: 3px;
      position: absolute;
      right: 3px;
      top: 3px;
      z-index: 1000; }
  .fotorama--fullscreen-icons .fotorama__fullscreen-icon {
    display: none; }
  .fotorama--fullscreen .fotorama__fullscreen-icon {
    display: inline-block;
    background-position: -80px 0; }
  .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon {
    opacity: 0; }
    .fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus {
      opacity: 1; }
  .fotorama__wrap--video .fotorama__fullscreen-icon {
    opacity: 0 !important; }
  .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon {
    display: none; }
    .fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus {
      display: block; }
  .fotorama__wrap--css2.fotorama__wrap--video .fotorama__fullscreen-icon {
    display: none !important; }
  .fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:not(:focus) {
    -webkit-transform: translate3d(80px, -80px, 0);
            transform: translate3d(80px, -80px, 0); }
  .fotorama__wrap--css3.fotorama__wrap--video .fotorama__fullscreen-icon {
    -webkit-transform: translate3d(80px, -80px, 0) !important;
            transform: translate3d(80px, -80px, 0) !important; }
  .fotorama__wrap--css3 .fotorama__fullscreen-icon:not(:focus) {
    -webkit-transition-duration: 0.3s;
         -o-transition-duration: 0.3s;
            transition-duration: 0.3s;
    -webkit-transition-property: opacity, background-color, -webkit-transform;
    transition-property: opacity, background-color, -webkit-transform;
    -o-transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color, -webkit-transform; }
  .fotorama__wrap:not(.fotorama__wrap--toggle-arrows) .fotorama__fullscreen-icon {
    background-color: rgba(255, 255, 255, 0.3);
    -webkit-transition: background-color 0.3s ease-in-out;
    -o-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out; }
    .fotorama__wrap:not(.fotorama__wrap--toggle-arrows) .fotorama__fullscreen-icon:hover {
      background-color: rgba(255, 255, 255, 0.5); }
    .fotorama__wrap:not(.fotorama__wrap--toggle-arrows) .fotorama__fullscreen-icon:active {
      background-color: rgba(213, 213, 213, 0.5); }

.gallery-placeholder .loading-mask {
  position: static;
  padding: 0 0 50%; }

.gallery-placeholder .loader img {
  position: absolute; }

.fotorama__wrap--css3 .fotorama__html {
  -webkit-transition-duration: 0.3s;
       -o-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: linear;
       -o-transition-timing-function: linear;
          transition-timing-function: linear; }

.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html {
  opacity: 0; }

.fotorama__img {
  max-width: inherit;
  opacity: 0;
  border: none !important; }
  .fotorama__loaded .fotorama__img,
  .fotorama__error .fotorama__img {
    opacity: 1; }
  .fotorama__img--full {
    display: none; }
  .fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img {
    opacity: 0; }
  .fotorama__nav-wrap .fotorama_vertical_ratio .fotorama__img {
    position: absolute;
    top: 50%;
    width: 100%;
    height: auto;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .fotorama__nav-wrap .fotorama_horizontal_ratio .fotorama__img {
    position: absolute;
    left: 50%;
    width: auto;
    height: 100%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .fotorama__stage__frame .fotorama__img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    -webkit-transition-duration: 0.3s;
         -o-transition-duration: 0.3s;
            transition-duration: 0.3s;
    -webkit-transition-property: width, height, top, left;
    -o-transition-property: width, height, top, left;
    transition-property: width, height, top, left; }
  .fotorama--fullscreen .fotorama__stage__frame .fotorama__img {
    display: none; }
  .fotorama--fullscreen .fotorama__stage__frame .fotorama__img,
  .fotorama--fullscreen .fotorama__stage__frame .fotorama__img--full {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: inherit;
    max-height: inherit; }
  .fotorama--fullscreen .fotorama__loaded--full .fotorama__img {
    display: none; }
    .fotorama--fullscreen .fotorama__loaded--full .fotorama__img--full {
      display: block; }
  .fotorama--fullscreen .fotorama__stage__frame .fotorama__img--full {
    display: block;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    cursor: default;
    -webkit-transition: 0.3s linear;
    -o-transition: 0.3s linear;
    transition: 0.3s linear; }
    .fotorama--fullscreen .fotorama__stage__frame .fotorama__img--full.fotorama__img--zoommable {
      max-width: none;
      max-height: none;
      cursor: pointer;
      -webkit-transition-property: width, height, bottom, right, top, left;
      -o-transition-property: width, height, bottom, right, top, left;
      transition-property: width, height, bottom, right, top, left; }
    .fotorama--fullscreen .fotorama__stage__frame .fotorama__img--full.fotorama__img--draggable {
      cursor: move;
      -webkit-transition-property: none;
      -o-transition-property: none;
      transition-property: none; }
  .fotorama__product-video--loaded .fotorama__img,
  .fotorama__product-video--loaded .fotorama__img--full {
    display: none !important; }

.magnifier-thumb-wrapper {
  position: relative;
  display: block;
  top: 0;
  left: 0; }

.magnifier-lens {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  border: solid 1px #bbb;
  z-index: 800; }

.magnifier-loader-text {
  margin-top: 10px; }

.magnifier-large {
  position: absolute;
  width: 32%;
  z-index: 100; }

.magnifier-preview {
  position: absolute;
  top: 215px;
  bottom: 0;
  left: 58%;
  overflow: hidden;
  padding: 0; }
  .magnifier-preview:not(.hidden) {
    background-color: #ffffff; }
  .magnifier-preview img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: inherit; }

.magnify-lens {
  position: absolute;
  top: 0;
  left: 0;
  color: #ffffff;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  border: solid 1px #bbb;
  z-index: 1000; }

.magnify-opaque {
  opacity: 0.5; }

.magnify-hidden {
  display: none; }

.magnify-fullimage {
  display: none; }
  .fotorama__fullscreen .magnify-fullimage {
    display: inline-block; }

.fotorama__nav {
  position: relative;
  display: none;
  max-width: 100%;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  white-space: nowrap;
  z-index: 5; }
  .fotorama__nav--dots {
    display: block;
    text-align: center; }
  .fotorama__nav--thumbs {
    display: block; }
  .fotorama__nav:before, .fotorama__nav:after {
    position: absolute;
    display: block;
    content: '';
    text-decoration: none;
    background-repeat: no-repeat;
    z-index: 10;
    pointer-events: none; }
  .fotorama__nav:before {
    left: -10px;
    top: -10px; }
  .fotorama__nav:after {
    right: -10px;
    bottom: -10px; }
  .fotorama--fullscreen .fotorama__nav:before, .fotorama--fullscreen .fotorama__nav:after,
  .fotorama__wrap--no-shadows .fotorama__nav:before,
  .fotorama__wrap--no-shadows .fotorama__nav:after {
    display: none; }
  .fotorama__wrap--only-active .fotorama__nav {
    max-width: 99999px !important; }

.fotorama__nav-wrap--vertical.fotorama__nav-wrap {
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0; }

.fotorama__nav__frame {
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }
  .fotorama__nav--dots .fotorama__nav__frame {
    width: 18px;
    height: 30px; }
    .fotorama__nav--dots .fotorama__nav__frame--thumb {
      display: none; }
  .fotorama__nav--thumbs .fotorama__nav__frame {
    padding-left: 0 !important; }
    .fotorama__nav--thumbs .fotorama__nav__frame:last-child {
      padding-right: 0 !important; }
    .fotorama__nav--thumbs .fotorama__nav__frame--dot {
      display: none; }
  .fotorama__nav__frame.fotorama__active .fotorama__nav__frame {
    width: 0;
    height: 0;
    border-width: 3px; }
    .fotorama__nav__frame.fotorama__active .fotorama__nav__frame:after {
      top: -3px;
      left: -3px;
      padding: 3px; }
  .fotorama__nav__frame:focus {
    -webkit-box-shadow: none;
            box-shadow: none; }
    .fotorama__nav__frame:focus :after {
      top: -1px;
      left: -1px;
      padding: 1px; }
  .fotorama__nav-wrap--vertical .fotorama__nav__shaft .fotorama__nav__frame--thumb {
    display: block;
    padding-bottom: inherit !important; }

.fotorama__nav__shaft {
  position: relative;
  top: 0;
  left: 0;
  text-align: left; }
  .fotorama__nav-wrap--vertical .fotorama__nav__shaft {
    width: 100%;
    background-color: white; }

.fotorama__wrap .fotorama__pointer {
  cursor: pointer; }

.fotorama__select {
  cursor: auto; }

.fotorama__wrap--fade .fotorama__stage .fotorama__shadow {
  display: none; }

.fotorama__nav.fotorama__shadows--left:before, .fotorama__nav.fotorama__shadows--right:after,
.fotorama__stage.fotorama__shadows--left:before,
.fotorama__stage.fotorama__shadows--right:after {
  top: 0;
  bottom: 0;
  width: 10px;
  height: auto;
  background-size: 1px 100%, 5px 100%; }

.fotorama__nav.fotorama__shadows--top:before, .fotorama__nav.fotorama__shadows--bottom:after,
.fotorama__stage.fotorama__shadows--top:before,
.fotorama__stage.fotorama__shadows--bottom:after {
  left: 0;
  right: 0;
  width: auto;
  height: 10px;
  background-size: 100% 1px, 100% 5px; }

.fotorama__nav.fotorama__shadows--left:before,
.fotorama__stage.fotorama__shadows--left:before {
  left: 0;
  background-position: 0 0, 0 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(25%, rgba(0, 0, 0, 0.2)), color-stop(75%, rgba(0, 0, 0, 0.3)), to(transparent)), radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.4), transparent);
  background-image: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), -o-radial-gradient(0 50%, farthest-side, rgba(0, 0, 0, 0.4), transparent);
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.4), transparent); }

.fotorama__nav.fotorama__shadows--right:after,
.fotorama__stage.fotorama__shadows--right:after {
  right: 0;
  background-position: 100% 0, 100% 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(25%, rgba(0, 0, 0, 0.2)), color-stop(75%, rgba(0, 0, 0, 0.3)), to(transparent)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.4), transparent);
  background-image: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), -o-radial-gradient(100% 50%, farthest-side, rgba(0, 0, 0, 0.4), transparent);
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.4), transparent); }

.fotorama__nav.fotorama__shadows--top:before,
.fotorama__stage.fotorama__shadows--top:before {
  top: 0;
  background-position: 0 0, 0 0;
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(25%, rgba(0, 0, 0, 0.2)), color-stop(75%, rgba(0, 0, 0, 0.3)), to(transparent)), radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.4), transparent);
  background-image: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), -o-radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, 0.4), transparent);
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.4), transparent); }

.fotorama__nav.fotorama__shadows--bottom:after,
.fotorama__stage.fotorama__shadows--bottom:after {
  bottom: 0;
  background-position: 0 100%, 0 100%;
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(25%, rgba(0, 0, 0, 0.2)), color-stop(75%, rgba(0, 0, 0, 0.3)), to(transparent)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.4), transparent);
  background-image: -o-linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), -o-radial-gradient(50% 100%, farthest-side, rgba(0, 0, 0, 0.4), transparent);
  background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0.3) 75%, transparent), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.4), transparent); }

.fotorama__video-close.fotorama-show-control {
  opacity: 1;
  -webkit-transform: translate3d(0, -10px, 0);
          transform: translate3d(0, -10px, 0); }

.fotorama__spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  position: absolute;
  display: none;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  height: 64px;
  width: 64px;
  margin: auto;
  background-image: url("../images/loader-1.gif");
  z-index: 100; }
  .fotorama__spinner--show {
    display: block; }
  .fotorama__wrap--css3 .fotorama__spinner {
    -webkit-animation: spinner 24s infinite linear;
            animation: spinner 24s infinite linear; }

@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.fotorama__stage {
  position: relative;
  max-width: 100%;
  overflow: hidden; }
  .fotorama__stage:before, .fotorama__stage:after {
    position: absolute;
    display: block;
    content: '';
    background-repeat: no-repeat;
    pointer-events: none;
    text-decoration: none;
    z-index: 10; }
  .fotorama__stage:before {
    left: -10px;
    top: -10px; }
  .fotorama__stage:after {
    right: -10px;
    bottom: -10px; }
  .fotorama--fullscreen .fotorama__stage:before, .fotorama--fullscreen .fotorama__stage:after,
  .fotorama__wrap--no-shadows .fotorama__stage:before,
  .fotorama__wrap--no-shadows .fotorama__stage:after,
  .fotorama__wrap--fade .fotorama__stage:before,
  .fotorama__wrap--fade .fotorama__stage:after {
    display: none; }
  .fotorama__wrap--only-active .fotorama__stage {
    max-width: 99999px !important; }

.fotorama__stage__frame {
  overflow: hidden;
  text-align: center; }
  .fotorama__wrap--rtl .fotorama__stage__frame {
    direction: rtl; }
  .fotorama__wrap--slide .fotorama__stage__frame {
    opacity: 1 !important; }
  .fotorama__wrap--fade .fotorama__stage__frame {
    display: none; }
  .fotorama--fullscreen .fotorama__stage__frame iframe {
    left: 80px;
    width: calc(100% - 80px * 2); }
  .fotorama__wrap--only-active .fotorama__stage__frame {
    visibility: hidden; }

.fotorama__stage__shaft {
  position: relative; }
  .fotorama__stage__shaft:focus {
    -webkit-box-shadow: none;
            box-shadow: none; }
    .fotorama__stage__shaft:focus:after {
      border-radius: inherit;
      bottom: 3px;
      -webkit-box-shadow: 0 0 3px 1px #68a8e0;
              box-shadow: 0 0 3px 1px #68a8e0;
      content: '';
      left: 3px;
      position: absolute;
      right: 3px;
      top: 3px;
      z-index: 1000; }

.fotorama__thumb {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: #ebebeb; }
  .fotorama__nav__frame:focus .fotorama__thumb {
    -webkit-box-shadow: none;
            box-shadow: none;
    z-index: 2; }
    .fotorama__nav__frame:focus .fotorama__thumb:after {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      -webkit-box-shadow: 0 0 3px 1px #68a8e0;
              box-shadow: 0 0 3px 1px #68a8e0;
      border-radius: inherit;
      content: '';
      z-index: 1000; }
  .fotorama__nav__frame--thumb:focus .fotorama__thumb,
  .fotorama__nav__frame--dot:focus .fotorama__thumb {
    overflow: inherit; }
  .fotorama__nav__frame:nth-child(2):focus .fotorama__thumb:after {
    left: 1px; }
  .fotorama__nav__frame:last-child:focus .fotorama__thumb:after {
    right: 1px; }
  .fotorama__thumb--icon {
    padding-bottom: 30px;
    font-size: 0.001px; }
    .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--left .fotorama__thumb--icon,
    .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--right .fotorama__thumb--icon {
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0); }
      .ie9 .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--left .fotorama__thumb--icon, .ie9
      .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--right .fotorama__thumb--icon {
        margin: -15px 0 0 -15px; }
    .fotorama__nav-wrap--vertical .fotorama__thumb__arr--left .fotorama__thumb--icon,
    .fotorama__nav-wrap--vertical .fotorama__thumb__arr--right .fotorama__thumb--icon {
      margin: auto;
      width: 30px;
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
    .fotorama__thumb__arr--left .fotorama__thumb--icon {
      background-position: -25px -265px; }
    .fotorama__thumb__arr--right .fotorama__thumb--icon {
      background-position: -25px -350px; }

.fotorama__thumb-border {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #ff5501;
  background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(255, 255, 255, 0.25)), to(rgba(64, 64, 64, 0.1)));
  background-image: -o-linear-gradient(top left, rgba(255, 255, 255, 0.25), rgba(64, 64, 64, 0.1));
  background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.25), rgba(64, 64, 64, 0.1));
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 9; }
  .fotorama__nav--dots .fotorama__thumb-border {
    display: none; }

.fotorama__thumb__arr {
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-transition: background-color 0.3s ease-in-out;
  -o-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out; }
  .fotorama__thumb__arr:hover {
    background-color: rgba(255, 255, 255, 0.5); }
  .fotorama__thumb__arr:active {
    background-color: rgba(213, 213, 213, 0.5); }
  .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--left,
  .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--right {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30px;
    z-index: 1000;
    cursor: pointer; }
  .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--left {
    left: 0; }
  .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--right {
    right: 0; }
  .fotorama__nav-wrap--vertical .fotorama__thumb__arr--left,
  .fotorama__nav-wrap--vertical .fotorama__thumb__arr--right {
    position: absolute;
    left: 0;
    right: 0;
    height: 30px;
    cursor: pointer;
    z-index: 1000; }
  .fotorama__nav-wrap--vertical .fotorama__thumb__arr--left {
    top: 0; }
  .fotorama__nav-wrap--vertical .fotorama__thumb__arr--right {
    bottom: 0; }

.fotorama__nav__frame--thumb:focus .fotorama__thumb.fotorama_vertical_ratio:after,
.fotorama__nav__frame--dot:focus .fotorama__thumb.fotorama_vertical_ratio:after {
  left: 2px;
  right: 2px; }

.fotorama__nav__frame:nth-child(2):focus .fotorama__thumb.fotorama_vertical_ratio:after {
  top: 1px; }

.fotorama__nav__frame:last-child:focus .fotorama__thumb.fotorama_vertical_ratio:after {
  bottom: 1px; }

.fotorama__video {
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10; }

.fotorama__video-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  opacity: 0;
  z-index: 1000;
  cursor: pointer;
  background-position: -80px 0;
  -webkit-transform: translate3d(80px, -80px, 0);
          transform: translate3d(80px, -80px, 0);
  -webkit-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }
  .fotorama__fullscreen .fotorama__video-close {
    display: none; }
  .fotorama__wrap--toggle-arrows:not(.fotorama__wrap--video) .fotorama__video-close {
    display: none; }
  .fotorama__wrap--toggle-arrows.fotorama__wrap--video .fotorama__video-close {
    top: 97px;
    right: 93px;
    opacity: 1; }
  .fotorama__wrap--css3 .fotorama__video-close:not(:focus) {
    -webkit-transition-duration: 0.3s;
         -o-transition-duration: 0.3s;
            transition-duration: 0.3s;
    -webkit-transition-property: opacity, background-color, -webkit-transform;
    transition-property: opacity, background-color, -webkit-transform;
    -o-transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color, -webkit-transform; }
  @media all and (max-width: 768px) {
    .fotorama__video-close {
      top: 10px;
      width: 40px;
      height: 40px;
      background-position: -100px -20px; } }

.fotorama__video-play {
  width: 160px;
  height: 160px;
  background-position: -80px -160px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0); }
  .fotorama__wrap--css2 .fotorama__video-play,
  .fotorama__wrap--video .fotorama__stage .fotorama__video-play {
    display: none; }
  .fotorama__loaded .fotorama__video-play,
  .fotorama__error .fotorama__video-play,
  .fotorama__nav__frame .fotorama__video-play {
    display: block;
    opacity: 1; }
  .fotorama__nav__frame .fotorama__video-play {
    width: 80px;
    height: 80px;
    background-position: 0 -240px; }
  .fotorama__wrap--css3 .fotorama__video-play:not(:focus) {
    -webkit-transition-duration: 0.3s;
         -o-transition-duration: 0.3s;
            transition-duration: 0.3s;
    -webkit-transition-property: opacity, background-color, -webkit-transform;
    transition-property: opacity, background-color, -webkit-transform;
    -o-transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color;
    transition-property: transform, opacity, background-color, -webkit-transform; }

.fotorama__wrap {
  position: relative;
  direction: ltr;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  z-index: 0; }
  .fotorama--fullscreen .fotorama__wrap {
    max-width: 100% !important; }
  .fotorama__wrap--pan-y {
    -ms-touch-action: pan-y;
        touch-action: pan-y; }

.fotorama__zoom-in,
.fotorama__zoom-out {
  display: none;
  z-index: 1000; }
  .fotorama__zoom-in:focus,
  .fotorama__zoom-out:focus {
    -webkit-box-shadow: none;
            box-shadow: none; }
    .fotorama__zoom-in:focus:after,
    .fotorama__zoom-out:focus:after {
      border-radius: inherit;
      bottom: 3px;
      -webkit-box-shadow: 0 0 3px 1px #68a8e0;
              box-shadow: 0 0 3px 1px #68a8e0;
      content: '';
      left: 3px;
      position: absolute;
      right: 3px;
      top: 3px;
      z-index: 1000; }
  .fotorama__wrap:not(.fotorama__wrap--toggle-arrows) .fotorama__zoom-in, .fotorama__wrap:not(.fotorama__wrap--toggle-arrows)
  .fotorama__zoom-out {
    background-color: rgba(255, 255, 255, 0.3);
    -webkit-transition: background-color 0.3s ease-in-out;
    -o-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out; }
    .fotorama__wrap:not(.fotorama__wrap--toggle-arrows) .fotorama__zoom-in:hover, .fotorama__wrap:not(.fotorama__wrap--toggle-arrows)
    .fotorama__zoom-out:hover {
      background-color: rgba(255, 255, 255, 0.5); }
    .fotorama__wrap:not(.fotorama__wrap--toggle-arrows) .fotorama__zoom-in:active, .fotorama__wrap:not(.fotorama__wrap--toggle-arrows)
    .fotorama__zoom-out:active {
      background-color: rgba(213, 213, 213, 0.5); }
  .fotorama__fullscreen .fotorama__zoom-in, .fotorama__fullscreen
  .fotorama__zoom-out {
    position: absolute;
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    cursor: pointer; }
    .fotorama__fullscreen .fotorama__zoom-in--disabled, .fotorama__fullscreen
    .fotorama__zoom-out--disabled {
      display: none; }

.fotorama__fullscreen .fotorama__zoom-out {
  top: 80px;
  background-position: 0 -80px !important; }

.fotorama__fullscreen .fotorama__zoom-in {
  background-position: 0 0 !important;
  top: 0; }

.old-price,
.old.price {
  text-decoration: line-through; }

.prices-tier .price-container .price-including-tax + .price-excluding-tax:before {
  content: "(" attr(data-label) ": "; }

.prices-tier .price-container .price-including-tax + .price-excluding-tax:last-child:after {
  content: ')'; }

.prices-tier .price-container .weee[data-label] {
  display: inline; }
  .prices-tier .price-container .weee[data-label] .price {
    font-size: 1.1rem; }
  .prices-tier .price-container .weee[data-label]:before {
    content: " +" attr(data-label) ": "; }

.actual-price {
  font-weight: 700; }

.category-image .image {
  display: block;
  height: auto;
  max-width: 100%; }

.category-image,
.category-description {
  margin-bottom: 19px; }

.product-image-container {
  display: inline-block;
  max-width: 100%; }

.product-image-wrapper {
  display: block;
  height: 0;
  overflow: hidden;
  position: relative;
  z-index: 1; }

.product-image-photo {
  bottom: 0;
  display: block;
  height: auto;
  left: 0;
  margin: auto;
  max-width: 100%;
  position: absolute;
  right: 0;
  top: 0; }

@supports ((-o-object-fit: contain) or (object-fit: contain)) {
  .product-image-photo {
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%; } }

.product.media .placeholder .photo.container {
  max-width: 100%; }

.product.media .notice {
  color: #7d7d7d;
  font-size: 1.2rem;
  margin: 9.5px 0; }

.product.media .product.thumbs {
  margin: 19px 0 28.5px; }

.product.media .items.thumbs > li {
  display: inline-block;
  vertical-align: top; }

.product.media .items.thumbs .active {
  display: block;
  line-height: 1; }

.product.info.detailed {
  clear: both;
  margin-bottom: 30px; }
  .product.info.detailed .additional-attributes {
    width: auto; }
    .product.info.detailed .additional-attributes > thead > tr > td,
    .product.info.detailed .additional-attributes > tbody > tr > td,
    .product.info.detailed .additional-attributes > tfoot > tr > td {
      padding: 4px 4.75px 9.5px 4.75px; }
    .product.info.detailed .additional-attributes > thead > tr > th,
    .product.info.detailed .additional-attributes > tbody > tr > th,
    .product.info.detailed .additional-attributes > tfoot > tr > th {
      padding: 4px 28.5px 9.5px 0; }

.product-info-main .page-title-wrapper .page-title {
  line-height: 1.42857;
  margin-bottom: 9.5px; }

.product-info-main .stock.available, .product-info-main .stock.unavailable {
  display: inline-block;
  font-weight: 700;
  margin-right: 19px;
  text-transform: uppercase;
  vertical-align: top; }

.product-info-main .stock.low {
  margin-right: 19px; }

.product-info-main .product.attribute.sku {
  display: inline-block;
  vertical-align: top;
  color: #7d7d7d; }
  .product-info-main .product.attribute.sku > .value {
    display: inline-block;
    vertical-align: top;
    word-break: break-all; }
  .product-info-main .product.attribute.sku .type {
    margin-right: 4.75px; }

.product-info-main .product.attribute.overview {
  margin: 19px 0; }

.product-info-main .product.alert {
  margin: 9.5px 0; }

.product-info-main .price-box {
  margin-top: 9.5px; }

.product-info-main .product-reviews-summary .reviews-actions {
  font-size: 1.4rem; }

.product-info-main .product-item-labels {
  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; }
  .product-info-main .product-item-labels span {
    display: inline-block; }
    .product-info-main .product-item-labels span:not(:last-child) {
      margin-right: .5rem; }
    .product-info-main .product-item-labels span.label-back-in-stock {
      padding: 2px;
      background: #008000;
      color: #ffffff; }
    .product-info-main .product-item-labels span.label-new {
      padding: 2px;
      background: #9ec1cf;
      color: #ffffff; }
    .product-info-main .product-item-labels span.label-low-stock {
      padding: 2px;
      background: #ffa500;
      color: #ffffff; }

.product-info-main .stock.low span {
  padding: 2px;
  background: #ffa500;
  color: #ffffff; }

.product-info-main .stock.unavailable span {
  color: red; }

.product-options-wrapper .fieldset-product-options-inner .legend {
  font-weight: 700;
  margin: 0 0 4.75px;
  font-size: 1.4rem;
  border: none;
  display: inline-block;
  float: none;
  padding: 0; }

.product-options-wrapper .fieldset-product-options-inner input.datetime-picker ~ select.datetime-picker {
  margin-top: 9.5px; }

.product-options-wrapper .fieldset-product-options-inner.required .legend:after, .product-options-wrapper .fieldset-product-options-inner._required .legend:after {
  content: '*';
  color: #e02b27;
  font-size: 1.2rem;
  margin: 0 0 0 4.75px; }

.product-options-wrapper .field .note {
  display: block; }

.product-info-main .price-box .price-including-tax + .price-excluding-tax,
.product-info-main .price-box .weee + .price-excluding-tax,
.product-info-main .price-box .weee,
.product-options-bottom .price-box .price-including-tax + .price-excluding-tax,
.product-options-bottom .price-box .weee + .price-excluding-tax,
.product-options-bottom .price-box .weee {
  font-size: 1.2rem;
  line-height: 14px;
  margin-bottom: 4.75px; }
  .product-info-main .price-box .price-including-tax + .price-excluding-tax .price,
  .product-info-main .price-box .weee + .price-excluding-tax .price,
  .product-info-main .price-box .weee .price,
  .product-options-bottom .price-box .price-including-tax + .price-excluding-tax .price,
  .product-options-bottom .price-box .weee + .price-excluding-tax .price,
  .product-options-bottom .price-box .weee .price {
    font-size: 1.2rem;
    font-weight: 700; }

.product-info-main .price-box .price-wrapper .price,
.product-options-bottom .price-box .price-wrapper .price {
  font-size: 1.8rem;
  font-weight: 700; }

.product-info-main .price-box .price,
.product-options-bottom .price-box .price {
  white-space: nowrap; }

.product-info-main .special-price,
.product-options-bottom .special-price {
  display: block;
  margin: 9.5px 0; }
  .product-info-main .special-price .price-container,
  .product-options-bottom .special-price .price-container {
    font-size: 1.4rem; }
  .product-info-main .special-price .price-label + .price-wrapper,
  .product-options-bottom .special-price .price-label + .price-wrapper {
    display: inline-block; }

.product-info-main .old-price .price-label:after,
.product-info-main .special-price .price-label:after,
.product-options-bottom .old-price .price-label:after,
.product-options-bottom .special-price .price-label:after {
  content: ': '; }

.product-info-main .box-tocart,
.product-options-bottom .box-tocart {
  margin: 19px 0; }
  .product-info-main .box-tocart .field.qty,
  .product-options-bottom .box-tocart .field.qty {
    padding-right: 14.25px; }
  .product-info-main .box-tocart .input-text.qty,
  .product-options-bottom .box-tocart .input-text.qty {
    height: 31.2px;
    text-align: center;
    width: 31.2px; }
  .product-info-main .box-tocart .actions,
  .product-options-bottom .box-tocart .actions {
    text-align: center; }

.product-info-main .product-addto-links,
.product-options-bottom .product-addto-links {
  margin: 19px 0; }

.product-info-main .action.tocompare,
.product-options-bottom .action.tocompare {
  vertical-align: top; }

.prices-tier {
  background: #ffffff;
  margin: 9.5px 0;
  padding: 9.5px 14.25px; }
  .prices-tier .price-container {
    display: inline-block; }
  .prices-tier .price-including-tax,
  .prices-tier .price-excluding-tax,
  .prices-tier .weee {
    display: inline-block; }
    .prices-tier .price-including-tax .price,
    .prices-tier .price-excluding-tax .price,
    .prices-tier .weee .price {
      font-size: 1.4rem;
      font-weight: 700; }

.ui-dialog-titlebar-close {
  line-height: 1.42857;
  margin: 0;
  padding: 0;
  color: #333;
  text-decoration: underline;
  background: none;
  border: 0;
  display: inline; }
  .ui-dialog-titlebar-close:visited {
    color: #333;
    text-decoration: none; }
  .ui-dialog-titlebar-close:hover {
    color: #a54f6c;
    text-decoration: none; }
  .ui-dialog-titlebar-close:active {
    color: #ff5501;
    text-decoration: none; }
  .ui-dialog-titlebar-close:hover {
    color: #a54f6c; }
  .ui-dialog-titlebar-close:hover, .ui-dialog-titlebar-close:active, .ui-dialog-titlebar-close:focus {
    background: none;
    border: 0; }
  .ui-dialog-titlebar-close.disabled, .ui-dialog-titlebar-close[disabled],
  fieldset[disabled] .ui-dialog-titlebar-close {
    color: #333;
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
    text-decoration: underline; }

.block.related .action.select {
  margin: 0 4.75px; }

.sidebar .product-items .product-item {
  margin-bottom: 19px;
  position: relative; }

.sidebar .product-items .product-item-info {
  position: relative;
  width: auto; }
  .sidebar .product-items .product-item-info .product-item-photo {
    left: 0;
    position: absolute;
    top: 0; }

.sidebar .product-items .product-item-name {
  margin-top: 0; }

.sidebar .product-items .product-item-details {
  margin: 0 0 0 85px; }

.sidebar .product-items .product-item-actions {
  display: block;
  margin-top: 9.5px; }

.sidebar .product-items .price-box {
  display: block;
  margin: 7px 0; }

.sidebar .product-items .text {
  margin-right: 8px; }

.sidebar .product-items .counter {
  color: #7d7d7d;
  font-size: 1.2rem;
  white-space: nowrap; }

.sidebar .product-items .minilist .price {
  display: inline;
  padding: 0; }

.sidebar .product-items .minilist .weee:before {
  display: inline-block; }

.sidebar .action.delete {
  position: absolute;
  right: 0;
  top: 0; }

.sidebar .product-items-images {
  margin-left: -4.75px; }
  .sidebar .product-items-images .product-item {
    float: left;
    padding-left: 4.75px; }

.sidebar .product-items-names .product-item {
  margin-bottom: 9.5px; }

.sidebar .product-items-names .product-item-name {
  margin: 0; }

@media only screen and (max-width: 767px) {
  .catalog-product-view .column.main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .catalog-product-view .product.media {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .block.related .action.select {
    display: block;
    margin: 4.75px 0; }
  .compare,
  .product-addto-links .action.tocompare,
  .product-item-actions .actions-secondary > .action.tocompare,
  [class*='block-compare'] {
    display: none; } }

@media only screen and (min-width: 768px) {
  .product-info-main .box-tocart,
  .product-options-bottom .box-tocart {
    display: table; }
    .product-info-main .box-tocart .field.qty,
    .product-options-bottom .box-tocart .field.qty {
      display: table-cell; }
    .product-info-main .box-tocart .actions,
    .product-options-bottom .box-tocart .actions {
      display: table-cell;
      padding-top: 23.75px;
      text-align: center;
      vertical-align: bottom; }
  .product-info-main .page-title-wrapper .page-title {
    margin-top: -13px; }
  .sidebar .product-items .product-item-info .product-item-photo {
    float: left;
    left: auto;
    margin: 0 9.5px 9.5px 0;
    position: relative;
    top: auto; }
  .sidebar .product-items .product-item-details {
    margin: 0; }
  .sidebar .product-items .product-item-actions {
    clear: left; } }

@media only screen and (min-width: 1440px) {
  .sidebar .product-items .product-item-info .product-item-photo {
    float: none;
    left: 0;
    margin: 0;
    position: absolute;
    top: 0; }
  .sidebar .product-items .product-item-details {
    margin-left: 85px; } }

@media only screen and (min-width: 768px) {
  .product-info-main {
    float: right; }
  .product.media {
    float: left;
    margin-bottom: 23.75px; }
  .page-layout-1column .product-info-main {
    width: 40%; }
  .page-layout-1column .product.media {
    width: 57%; }
  .page-layout-2columns-left .product-info-main,
  .page-layout-2columns-right .product-info-main,
  .page-layout-3columns .product-info-main {
    width: 48%; }
  .page-layout-2columns-left .product.media,
  .page-layout-2columns-right .product.media,
  .page-layout-3columns .product.media {
    width: 50%; } }

body.catalog-product-compare-index .action.print {
  float: right;
  margin: 15px 0; }

.table-wrapper.comparison {
  clear: both;
  max-width: 100%;
  overflow-x: auto; }

.table-comparison {
  table-layout: fixed; }
  .table-comparison .cell.label,
  .table-comparison td:last-child {
    border-right: 1px solid #d1d1d1; }
  .table-comparison .cell {
    padding: 15px;
    width: 140px; }
    .table-comparison .cell .attribute.value {
      overflow: hidden;
      width: 100%; }
    .table-comparison .cell.product.info, .table-comparison .cell.product.label {
      border-bottom: 1px solid #d1d1d1; }
    .table-comparison .cell.label .attribute.label {
      display: block;
      width: 100%;
      word-wrap: break-word; }
    .table-comparison .cell.attribute {
      font-size: 1.3rem; }
      .table-comparison .cell.attribute img {
        height: auto;
        max-width: 100%; }
  .table-comparison .product-item-photo {
    display: block;
    margin: 0 auto 15px; }
  .table-comparison .product-image-photo {
    margin-left: 0; }
  .table-comparison .product-item-actions,
  .table-comparison .price-box,
  .table-comparison .product.rating,
  .table-comparison .product-item-name {
    display: block;
    margin: 15px 0; }
  .table-comparison .product-addto-links {
    margin-top: 15px; }
    .table-comparison .product-addto-links .action.split,
    .table-comparison .product-addto-links .action.toggle {
      line-height: 1.4;
      padding: 4.75px 8px;
      font-size: 1.1rem; }
    .table-comparison .product-addto-links .action.toggle {
      padding: 0; }
  .table-comparison .cell.remove {
    padding-bottom: 0;
    padding-top: 0;
    text-align: right; }
  .table-comparison .product-item-actions > .actions-primary + .actions-secondary {
    margin-top: 9.5px; }
  .table-comparison .action.tocart {
    white-space: nowrap; }

.comparison.headings {
  background: #fff;
  left: 0;
  position: absolute;
  top: 0;
  width: auto;
  z-index: 2; }

.block-compare .product-item .product-item-name {
  margin-left: 22px; }

.block-compare .action.delete {
  left: -6px;
  position: absolute;
  top: 0; }

.block-compare .actions-toolbar {
  margin: 17px 0 0; }

.block-category-event {
  background: #f0f0f0;
  color: #333;
  padding: 9.5px 0 15px;
  text-align: center; }
  .block-category-event.block:last-child {
    margin-bottom: 9.5px; }
  .block-category-event .block-title {
    margin: 0 0 9.5px; }
    .block-category-event .block-title strong {
      font-size: 1.5rem;
      font-weight: 300; }
  .block-category-event .ticker {
    margin: 0;
    padding: 0;
    list-style: none; }
    .block-category-event .ticker li {
      display: none;
      margin: 0 15px; }
    .block-category-event .ticker .value {
      font-size: 1.8rem;
      font-weight: 300; }
    .block-category-event .ticker .label {
      font-size: 1rem;
      display: block;
      text-transform: lowercase; }
  .block-category-event .dates {
    display: table;
    margin: 0 auto; }
    .block-category-event .dates .start,
    .block-category-event .dates .end {
      display: table-cell;
      vertical-align: top; }
    .block-category-event .dates .date {
      font-size: 1.8rem; }
    .block-category-event .dates .time {
      display: block; }
    .block-category-event .dates .start {
      padding-right: 38px;
      position: relative; }
      .block-category-event .dates .start:after {
        font-size: 1.8rem;
        content: '\2013';
        display: block;
        position: absolute;
        right: 15px;
        top: 0; }

@media only screen and (min-width: 768px) {
  .block-category-event.block:last-child {
    margin-bottom: 28.5px;
    padding: 9.5px 0 28.5px; }
  .block-category-event .block-title {
    margin: 0; }
    .block-category-event .block-title strong {
      font-size: 2.4rem; }
  .block-category-event .ticker li {
    display: none;
    margin: 0 50px; }
  .block-category-event .ticker .value {
    font-size: 6rem; }
  .block-category-event .ticker .label {
    font-size: 1.4rem;
    text-transform: none; }
  .block-category-event .dates .date {
    font-size: 5rem; }
  .block-category-event .dates .start {
    padding-right: 50px; }
    .block-category-event .dates .start:after {
      font-size: 5rem;
      right: 10px; } }

.block-search {
  margin-bottom: 0; }
  .block-search .block-title {
    display: none; }
  .block-search .block-content {
    margin-bottom: 0; }
  .block-search .label {
    display: inline-block;
    text-decoration: none;
    display: inline-block;
    float: right; }
    .block-search .label > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .block-search .label:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 35px;
      line-height: 33px;
      color: #8f8f8f;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .block-search .label:hover:before {
      color: #333; }
    .block-search .label:active:before {
      color: #333; }
    .block-search .label.active + .control input {
      position: static; }
  .block-search .action.search {
    display: none; }
  .block-search .control {
    border-top: 1px solid #d1d1d1;
    clear: both;
    margin: 0 -15px -1px;
    padding: 0 15px; }
  .block-search input {
    left: -300%;
    margin: 15px 0;
    position: absolute; }
  .block-search .nested {
    display: none; }

.search-autocomplete {
  display: none;
  margin-top: -15px;
  overflow: hidden;
  position: absolute;
  z-index: 3; }
  .search-autocomplete ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .search-autocomplete ul li {
      border-top: 1px solid #e5e5e5;
      cursor: pointer;
      margin: 0;
      padding: 4.75px 38px 4.75px 9.5px;
      position: relative;
      text-align: left;
      white-space: normal; }
      .search-autocomplete ul li:not(:empty) {
        border-top: 0;
        border: 1px solid #f2f2ed;
        background: #ffffff; }
      .search-autocomplete ul li:first-child {
        border-top: none; }
      .search-autocomplete ul li:hover, .search-autocomplete ul li.selected {
        background: #e8e8e8; }
      .search-autocomplete ul li .amount {
        color: #999;
        position: absolute;
        right: 7px;
        top: 4.75px; }

.form.search.advanced .fields.range .field:first-child {
  position: relative; }
  .form.search.advanced .fields.range .field:first-child .control {
    padding-right: 25px; }
    .form.search.advanced .fields.range .field:first-child .control:after {
      content: ' \2013 ';
      display: inline-block;
      position: absolute;
      right: 0;
      text-align: center;
      top: 6px;
      width: 25px; }

.form.search.advanced .fields.range .field:last-child {
  position: relative; }
  .form.search.advanced .fields.range .field:last-child div.mage-error[generated] {
    left: 0;
    position: absolute;
    top: 32px; }

.form.search.advanced .fields.range .field.with-addon .control {
  padding-right: 45px; }

.form.search.advanced .group.price .addon .addafter {
  background: none;
  border: 0;
  padding-top: 6px;
  position: absolute;
  right: 0;
  top: 0; }

.search.summary {
  margin-bottom: 9.5px; }

@media only screen and (max-width: 767px) {
  .block-search .block-content {
    margin-bottom: 0; } }

@media only screen and (min-width: 768px) {
  .block-search {
    float: right;
    padding-left: 15px;
    position: relative;
    width: 250px;
    z-index: 4; }
    .block-search .control {
      border-top: 0;
      margin: 0;
      padding: 0 0 25px; }
    .block-search .nested {
      display: block;
      padding-top: 5px;
      position: absolute; }
    .block-search input {
      margin: 0;
      padding-right: 35px;
      position: static; }
      .block-search input::-webkit-input-placeholder {
        color: #c2c2c2; }
      .block-search input:-moz-placeholder {
        color: #c2c2c2; }
      .block-search input::-moz-placeholder {
        color: #c2c2c2; }
      .block-search input:-ms-input-placeholder {
        color: #c2c2c2; }
    .block-search .action.search {
      display: inline-block;
      display: inline-block;
      text-decoration: none;
      background-image: none;
      background: none;
      -moz-box-sizing: content-box;
      border: 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      line-height: inherit;
      margin: 0;
      padding: 0;
      text-decoration: none;
      text-shadow: none;
      font-weight: 400;
      padding: 4.75px 0;
      position: absolute;
      right: 10px;
      top: 0;
      z-index: 1; }
      .block-search .action.search > span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .block-search .action.search:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 22px;
        line-height: 22px;
        color: #8f8f8f;
        content: "";
        font-family: "duo-icons";
        margin: 0;
        vertical-align: top;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .block-search .action.search:hover:before {
        color: inherit; }
      .block-search .action.search:active:before {
        color: inherit; }
      .block-search .action.search:focus, .block-search .action.search:active {
        background: none;
        border: none; }
      .block-search .action.search:hover {
        background: none;
        border: none; }
      .block-search .action.search.disabled, .block-search .action.search[disabled],
      fieldset[disabled] .block-search .action.search {
        cursor: not-allowed;
        pointer-events: none;
        opacity: 0.5; }
      .block-search .action.search:focus:before {
        color: #333; }
  .search-autocomplete {
    margin-top: 0; } }

.cart.item .price-including-tax,
.cart.item .price-excluding-tax {
  margin-top: 9px; }
  .cart.item .price-including-tax .price,
  .cart.item .price-excluding-tax .price {
    font-weight: 400; }

.cart-summary {
  background: #ffffff;
  margin-bottom: 23.75px;
  padding: 1px 15px 23.75px; }
  .cart-summary > .title {
    display: block;
    font-weight: 300;
    line-height: 1.1;
    font-size: 2.6rem;
    margin-top: 2.375rem;
    margin-bottom: 1.9rem; }
  .cart-summary .block {
    margin-bottom: 0; }
    .cart-summary .block .item-options {
      margin-left: 0; }
    .cart-summary .block .fieldset {
      margin: 15px 0 23.75px 4.75px; }
      .cart-summary .block .fieldset .field {
        margin: 0 0 9.5px; }
        .cart-summary .block .fieldset .field.note {
          font-size: 12px; }
      .cart-summary .block .fieldset .methods .field > .label {
        display: inline; }
  .cart-summary .required label::after {
    content: '*'; }
  .cart-summary label {
    display: block;
    margin-bottom: .5rem; }
  .cart-summary comment {
    display: block;
    margin-top: .5rem;
    font-size: 1.3rem; }
  .cart-summary strong.title {
    display: block;
    margin-top: 1.6rem; }
  @media only screen and (min-width: 768px) {
    .cart-summary {
      width: 35% !important; } }

.cart-totals {
  border-top: 1px solid #d1d1d1;
  padding-top: 9.5px; }
  .cart-totals .table-wrapper {
    margin-bottom: 0;
    overflow: inherit; }

.cart.table-wrapper .items thead + .item {
  border-top: 1px solid #d1d1d1; }

.cart.table-wrapper .items > .item {
  border-bottom: 1px solid #d1d1d1;
  position: relative; }

.cart.table-wrapper .col {
  padding-top: 19px; }
  .cart.table-wrapper .col.qty .input-text {
    margin-top: -5px; }

.cart.table-wrapper .item-actions td {
  padding-bottom: 9.5px;
  text-align: center;
  white-space: normal; }

.cart.table-wrapper .item .col.item {
  display: block;
  min-height: 75px;
  padding: 23.75px 0 0 75px;
  position: relative; }

.cart.table-wrapper .actions-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .cart.table-wrapper .actions-toolbar > .action {
    margin-right: 13.5px;
    margin-bottom: 1px;
    text-decoration: none; }
    .cart.table-wrapper .actions-toolbar > .action:last-child {
      margin-right: 0; }
    .cart.table-wrapper .actions-toolbar > .action::before {
      content: '';
      display: inline-block;
      width: 16px;
      height: 16px;
      margin-right: 2px;
      background-repeat: no-repeat; }
    .cart.table-wrapper .actions-toolbar > .action.action-edit {
      display: inline-block;
      text-decoration: none; }
      .cart.table-wrapper .actions-toolbar > .action.action-edit:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 13px;
        line-height: 13px;
        color: #3b4a4b;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
    .cart.table-wrapper .actions-toolbar > .action.action-delete {
      display: inline-block;
      text-decoration: none; }
      .cart.table-wrapper .actions-toolbar > .action.action-delete:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 13px;
        line-height: 13px;
        color: #3b4a4b;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
    .cart.table-wrapper .actions-toolbar > .action span {
      color: #3b4a4b; }
    .cart.table-wrapper .actions-toolbar > .action:hover span, .cart.table-wrapper .actions-toolbar > .action:focus span {
      text-decoration: underline; }

.cart.table-wrapper .action.help.map {
  font-weight: 400; }

.cart.table-wrapper .product-item-photo {
  display: block;
  left: 0;
  max-width: 60px;
  padding: 0;
  position: absolute;
  top: 15px;
  width: 100%; }

.cart.table-wrapper .product-item-details {
  white-space: normal; }

.cart.table-wrapper .product-item-name {
  display: inline-block;
  font-weight: 400;
  margin-top: 12px; }

.cart.table-wrapper .gift-registry-name-label:after {
  content: ':'; }

.cart.table-wrapper .item-options {
  font-size: 12px;
  margin-bottom: 9.5px; }

.cart.table-wrapper .product-item-name + .item-options {
  margin-top: 9.5px; }

.cart.table-wrapper .action.configure {
  display: inline-block;
  margin: 0 0 19px; }

.cart.actions .action {
  padding: 0.8rem;
  background-color: transparent;
  color: #6a7576;
  border: none; }
  .cart.actions .action span {
    margin-left: 0.4rem; }
  .cart.actions .action.continue {
    padding-left: 0.8rem;
    font-weight: 400;
    display: inline-block;
    text-decoration: none; }
    .cart.actions .action.continue:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 13px;
      line-height: 13px;
      color: #ffffff;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .cart.actions .action.continue::before {
      margin-top: -0.3rem; }
  .cart.actions .action.clear {
    display: inline-block;
    text-decoration: none; }
    .cart.actions .action.clear:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 13px;
      line-height: 13px;
      color: #6a7576;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
  .cart.actions .action.update {
    display: inline-block;
    text-decoration: none; }
    .cart.actions .action.update:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 13px;
      line-height: 13px;
      color: #6a7576;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
  .cart.actions .action:hover span, .cart.actions .action:focus span {
    text-decoration: underline; }

@media only screen and (min-width: 768px) {
  .cart-container .form-cart {
    width: 60% !important; } }

.cart-container .checkout-methods-items {
  margin-top: 19px;
  text-align: center; }
  .cart-container .checkout-methods-items .action.primary {
    width: 100%; }
  .cart-container .checkout-methods-items .item + .item {
    margin-top: 19px; }

.cart-products-toolbar .toolbar-amount {
  margin: 23.75px 0 15px;
  padding: 0;
  text-align: center; }

.cart-products-toolbar .pages {
  margin: 0 0 23.75px;
  text-align: center; }
  .cart-products-toolbar .pages .items > .item {
    border-bottom: 0; }

.cart-products-toolbar-top {
  border-bottom: 1px solid #d1d1d1; }

.block.crosssell {
  margin-top: 70px; }

.cart-tax-info + .cart-tax-total,
.cart .cart-tax-info + .cart-tax-total {
  display: block; }

.cart.table-wrapper .col.price,
.cart.table-wrapper .col.qty,
.cart.table-wrapper .col.subtotal,
.cart.table-wrapper .col.msrp,
.order-items.table-wrapper .col.price,
.order-items.table-wrapper .col.qty,
.order-items.table-wrapper .col.subtotal,
.order-items.table-wrapper .col.msrp {
  text-align: right; }

@media only screen and (max-width: 767px) {
  .cart.table-wrapper {
    overflow: inherit; }
    .cart.table-wrapper thead .col:not(.item) {
      display: none; }
    .cart.table-wrapper .col.qty, .cart.table-wrapper .col.price, .cart.table-wrapper .col.subtotal, .cart.table-wrapper .col.msrp {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: block;
      float: left;
      text-align: center;
      white-space: nowrap;
      width: 33%; }
      .cart.table-wrapper .col.qty:before, .cart.table-wrapper .col.price:before, .cart.table-wrapper .col.subtotal:before, .cart.table-wrapper .col.msrp:before {
        content: attr(data-th) ":";
        display: block;
        font-weight: 700;
        padding-bottom: 9.5px; }
    .cart.table-wrapper .col.msrp {
      white-space: normal; }
    .cart.table-wrapper .item .col.item {
      padding-bottom: 0; } }

@media only screen and (min-width: 768px) {
  .cart-container .widget {
    float: left; }
  .cart-summary {
    float: right;
    position: relative;
    width: 23%; }
    .column.main .cart-summary .actions-toolbar > .secondary {
      float: none; }
    .cart-summary .block .fieldset .field {
      margin: 0 0 19px;
      margin: 0 0 9.5px; }
      .cart-summary .block .fieldset .field:not(.choice) > .label {
        -webkit-box-sizing: content-box;
                box-sizing: content-box;
        float: none;
        width: auto;
        text-align: left;
        padding: 0; }
      .cart-summary .block .fieldset .field:not(.choice) > .control {
        float: none;
        width: auto; }
      .cart-summary .block .fieldset .field > .label {
        margin: 0 0 4.75px;
        display: inline-block; }
      .cart-summary .block .fieldset .field.choice:before, .cart-summary .block .fieldset .field.no-label:before {
        display: none; }
  .cart.table-wrapper .items {
    min-width: 100%;
    width: auto; }
  .cart.table-wrapper .item .col.item {
    padding: 12px 8px 9.5px; }
  .cart.table-wrapper .item-actions td {
    text-align: right; }
  .cart.table-wrapper .product-item-photo {
    display: table-cell;
    max-width: 100%;
    padding-right: 19px;
    position: static;
    vertical-align: top;
    width: 1%;
    min-width: 80px; }
  .cart.table-wrapper .product-item-details {
    display: table-cell;
    vertical-align: top;
    white-space: normal;
    width: 99%; }
  .cart.table-wrapper .item-actions td {
    padding-top: 0; }
  .cart.table-wrapper .item-actions .actions-toolbar {
    text-align: left; }
  .cart .action {
    margin-bottom: 9.5px; }
  .cart-products-toolbar .toolbar-amount {
    line-height: 30px;
    margin: 0; }
  .cart-products-toolbar .pages {
    float: right;
    margin: 0 0 1px; }
    .cart-products-toolbar .pages .item:last-child {
      margin-right: 0; }
  .cart.table-wrapper .cart-products-toolbar + .cart thead tr th.col {
    padding-bottom: 7px;
    padding-top: 8px; }
  .cart.table-wrapper .cart + .cart-products-toolbar {
    margin-top: 23.75px; } }

.block-minicart .items-total {
  margin: 0 9.5px; }
  .block-minicart .items-total .count {
    font-weight: 700; }

.block-minicart .subtotal {
  margin: 0 9.5px 9.5px; }

.block-minicart .amount {
  display: inline; }
  .block-minicart .amount .price-wrapper:first-child .price {
    font-weight: 700; }

.block-minicart .subtitle {
  display: none; }
  .block-minicart .subtitle.empty {
    display: block;
    font-size: 14px;
    padding: 28.5px 0 19px;
    text-align: center; }

.block-minicart .text.empty {
  text-align: center; }

.block-minicart .block-content > .actions {
  margin-top: 15px;
  text-align: center; }
  .block-minicart .block-content > .actions > .primary {
    margin: 0 9.5px 15px; }
    .block-minicart .block-content > .actions > .primary .action.primary {
      display: block;
      margin-bottom: 15px;
      width: 100%;
      padding-top: 1rem;
      padding-bottom: 1rem;
      font-size: 16px; }
    .block-minicart .block-content > .actions > .primary .action.primary:last-child {
      margin-bottom: 0; }

.block-minicart .block-category-link,
.block-minicart .block-product-link,
.block-minicart .block-cms-link,
.block-minicart .block-banners {
  margin: 15px 0 0;
  text-align: center; }

.minicart-wrapper {
  display: inline-block;
  position: relative;
  float: right; }
  .minicart-wrapper:before, .minicart-wrapper:after {
    content: '';
    display: table; }
  .minicart-wrapper:after {
    clear: both; }
  .minicart-wrapper .action.showcart {
    cursor: pointer;
    display: inline-block;
    text-decoration: none; }
    .minicart-wrapper .action.showcart:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 35px;
      line-height: 33px;
      color: #8f8f8f;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .minicart-wrapper .action.showcart:hover:before {
      color: #333; }
    .minicart-wrapper .action.showcart:active:before {
      color: #8f8f8f; }
    .minicart-wrapper .action.showcart.active {
      display: inline-block;
      text-decoration: none; }
      .minicart-wrapper .action.showcart.active:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 35px;
        line-height: 33px;
        color: #8f8f8f;
        content: "";
        font-family: "duo-icons";
        margin: 0;
        vertical-align: top;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .minicart-wrapper .action.showcart.active:hover:before {
        color: #333; }
      .minicart-wrapper .action.showcart.active:active:before {
        color: #8f8f8f; }
  .minicart-wrapper .block-minicart {
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 0.1rem solid #efefe8;
    margin-top: 4px;
    min-width: 100%;
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: none;
    position: absolute;
    top: 100%;
    right: -4px;
    -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); }
    .minicart-wrapper .block-minicart li {
      margin: 0; }
      .minicart-wrapper .block-minicart li:hover {
        cursor: pointer; }
    .minicart-wrapper .block-minicart:before, .minicart-wrapper .block-minicart:after {
      border-bottom-style: solid;
      content: '';
      display: block;
      height: 0;
      position: absolute;
      width: 0; }
    .minicart-wrapper .block-minicart:before {
      border: 6px solid;
      border-color: transparent transparent #fff transparent;
      z-index: 99; }
    .minicart-wrapper .block-minicart:after {
      border: 7px solid;
      border-color: transparent transparent #efefe8 transparent;
      z-index: 98; }
    .minicart-wrapper .block-minicart:before {
      right: 10px;
      top: -12px; }
    .minicart-wrapper .block-minicart:after {
      right: 9px;
      top: -14px; }
  .minicart-wrapper.active {
    overflow: visible; }
    .minicart-wrapper.active .block-minicart {
      display: block; }
  .minicart-wrapper .block-minicart {
    padding: 25px 19px;
    right: 0;
    width: 320px;
    z-index: 101; }
    .minicart-wrapper .block-minicart .block-title {
      display: none; }
    .minicart-wrapper .block-minicart:after {
      left: auto;
      right: 25px; }
    .minicart-wrapper .block-minicart:before {
      left: auto;
      right: 26px; }
  .minicart-wrapper .product .actions {
    float: right;
    margin: -24px 0 0;
    text-align: right; }
    .minicart-wrapper .product .actions > .primary,
    .minicart-wrapper .product .actions > .secondary {
      display: inline; }
  .minicart-wrapper .action.close {
    display: inline-block;
    text-decoration: none;
    background-image: none;
    background: none;
    -moz-box-sizing: content-box;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    line-height: inherit;
    margin: 0;
    padding: 0;
    text-decoration: none;
    text-shadow: none;
    font-weight: 400;
    height: 40px;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px; }
    .minicart-wrapper .action.close > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .minicart-wrapper .action.close:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 18px;
      line-height: 18px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .minicart-wrapper .action.close:hover:before {
      color: inherit; }
    .minicart-wrapper .action.close:active:before {
      color: inherit; }
    .minicart-wrapper .action.close:focus, .minicart-wrapper .action.close:active {
      background: none;
      border: none; }
    .minicart-wrapper .action.close:hover {
      background: none;
      border: none; }
    .minicart-wrapper .action.close.disabled, .minicart-wrapper .action.close[disabled],
    fieldset[disabled] .minicart-wrapper .action.close {
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.5; }
  .minicart-wrapper .action.showcart {
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .minicart-wrapper .action.showcart .counter.qty {
      float: right;
      border-radius: 0;
      display: inline-block;
      margin: 0 0 0 0.5rem;
      min-width: 18px;
      overflow: hidden;
      padding: 0 0.5rem;
      text-align: center;
      white-space: normal;
      color: #ffffff;
      background-color: #e1241b; }
      .minicart-wrapper .action.showcart .counter.qty.empty {
        display: none; }
      .minicart-wrapper .action.showcart .counter.qty .loader > img {
        max-width: 24px; }
  .minicart-wrapper .minicart-widgets {
    margin-top: 15px; }

.minicart-items-wrapper {
  border: 1px solid #ccc;
  margin: 0 -19px;
  border-left: 0;
  border-right: 0;
  overflow-x: auto;
  padding: 15px; }

.minicart-items {
  margin: 0;
  padding: 0;
  list-style: none; }
  .minicart-items .product-item {
    padding: 19px 0; }
    .minicart-items .product-item:not(:first-child) {
      border-top: 1px solid #ccc; }
    .minicart-items .product-item:first-child {
      padding-top: 0; }
  .minicart-items .product-item-pricing .label {
    display: inline-block;
    width: 4.5rem; }
  .minicart-items .price-minicart {
    margin-bottom: 4.75px; }
  .minicart-items .product > .product-item-photo,
  .minicart-items .product > .product-image-container {
    float: left; }
  .minicart-items .product .toggle {
    display: block;
    text-decoration: none;
    cursor: pointer;
    position: relative; }
    .minicart-items .product .toggle:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 28px;
      line-height: 16px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .minicart-items .product .toggle:after {
      position: static;
      right: 19px;
      top: 0; }
  .minicart-items .product.active > .toggle:after {
    content: ""; }
  .minicart-items .product-item-name {
    margin: 0 0 9.5px;
    color: #3b4a4b;
    font-size: 1.6rem;
    font-weight: 700; }
    .minicart-items .product-item-name a {
      color: inherit; }
  .minicart-items .product-item-pricing {
    font-weight: normal; }
  .minicart-items .product-item-details {
    padding-left: 88px; }
    .minicart-items .product-item-details .price {
      font-weight: normal; }
    .minicart-items .product-item-details .price-including-tax,
    .minicart-items .product-item-details .price-excluding-tax {
      margin: 4.75px 0 0;
      font-size: 1.4rem; }
    .minicart-items .product-item-details .weee[data-label] {
      font-size: 1.1rem; }
    .minicart-items .product-item-details .details-qty {
      margin-top: 9.5px; }
  .minicart-items .product.options .tooltip.toggle {
    display: inline-block;
    text-decoration: none; }
    .minicart-items .product.options .tooltip.toggle > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .minicart-items .product.options .tooltip.toggle:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 28px;
      line-height: 28px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: -3px 0 0 7px;
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .minicart-items .product.options .tooltip.toggle .details {
      display: none; }
  .minicart-items .item-qty {
    margin-right: 9.5px;
    text-align: center;
    width: 50px; }
  .minicart-items .update-cart-item {
    font-size: 1.1rem;
    vertical-align: top;
    margin-top: 14px;
    padding: 0;
    background-color: transparent;
    border: none;
    color: #3b4a4b;
    display: inline-block;
    text-decoration: none; }
    .minicart-items .update-cart-item:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 11px;
      line-height: 12px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .minicart-items .update-cart-item:hover span, .minicart-items .update-cart-item:focus span {
      text-decoration: underline; }
  .minicart-items .subtitle {
    display: none; }
  .minicart-items .action.edit, .minicart-items .action.delete {
    display: inline-block;
    text-decoration: none; }
    .minicart-items .action.edit > span, .minicart-items .action.delete > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .minicart-items .action.edit:before, .minicart-items .action.delete:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 16px;
      line-height: 16px;
      color: #303030;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .minicart-items .action.edit:hover:before, .minicart-items .action.delete:hover:before {
      color: #303030; }
    .minicart-items .action.edit:active:before, .minicart-items .action.delete:active:before {
      color: #303030; }
  .minicart-items .action.delete:before {
    content: ""; }

@media only screen and (max-width: 479px) {
  .minicart-wrapper .block-minicart {
    width: 88vw;
    right: -5vw; }
    .minicart-wrapper .block-minicart::before, .minicart-wrapper .block-minicart::after {
      right: 5rem; } }

@media only screen and (min-width: 768px) {
  .minicart-wrapper .block-minicart {
    right: -15px;
    width: 390px; } }

.page-layout-checkout {
  overflow-x: hidden; }
  .page-layout-checkout .page-main__inner {
    padding-top: 0; }
  .page-layout-checkout select {
    height: 43px; }
  .page-layout-checkout .product-item-details .product-item-inner {
    position: relative;
    bottom: auto;
    right: auto;
    left: auto;
    opacity: 1;
    visibility: visible; }
  .page-layout-checkout .column.main .block.items-in-cart .title strong {
    font-size: 16px; }
  .page-layout-checkout .minicart-items .product-item,
  .page-layout-checkout .minicart-items .product-item:first-child,
  .page-layout-checkout .minicart-items .product-item:last-child {
    padding: 10px 0; }
  .page-layout-checkout .minicart-items .product > .product-item-photo,
  .page-layout-checkout .minicart-items .product > .product-image-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #f9f9f7; }
  .page-layout-checkout .opc-block-summary .minicart-items-wrapper  {
    margin: -15px -15px 0 0; }
  .page-layout-checkout .authentication-wrapper {
    width: auto;
    margin-top: 50px; }
    .page-layout-checkout .authentication-wrapper .action {
      display: inline-block;
      display: inline-block;
      text-decoration: none; }
      .page-layout-checkout .authentication-wrapper .action:hover, .page-layout-checkout .authentication-wrapper .action:active, .page-layout-checkout .authentication-wrapper .action:focus {
        text-decoration: none; }
  @media only screen and (max-width: 767px) {
    .page-layout-checkout .authentication-wrapper {
      position: relative;
      float: none;
      width: 100%;
      max-width: 100%;
      margin-top: 0;
      padding-top: 25px;
      background-color: #ffffff; }
      .page-layout-checkout .authentication-wrapper .action {
        position: relative;
        z-index: 10; } }
  .page-layout-checkout .step-title__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-bottom: 2.4rem;
    color: #3b4a4b; }
  .page-layout-checkout .step-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-width: 0;
    max-width: 80%;
    padding-right: 4.8rem;
    margin: 0;
    color: #3b4a4b;
    border: none;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.17; }
  .page-layout-checkout .step-title-decoration {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    .page-layout-checkout .step-title-decoration svg {
      width: 100%; }
  .page-layout-checkout .form-login .actions-toolbar .secondary a.action {
    margin-top: 15px; }
  .page-layout-checkout .checkout-shipping-method {
    margin-top: 60px; }
  .page-layout-checkout .minicart-wrapper .action.showcart .counter.qty {
    margin: 0;
    background-color: transparent; }
  .page-layout-checkout .opc-estimated-wrapper {
    padding: 18px 0; }
  .page-layout-checkout .table-totals {
    margin-bottom: 10px; }
  .page-layout-checkout .no-quotes-block {
    margin-bottom: 25px; }
  .page-layout-checkout .opc-block-shipping-information {
    padding: 0; }
    .page-layout-checkout .opc-block-shipping-information .shipping-information {
      margin-top: 20px;
      margin-bottom: 20px;
      padding: 22px 28.5px;
      background-color: #ffffff; }

.checkout-container {
  margin: 0 0 19px; }

.opc-wrapper {
  margin: 0 0 19px; }
  .opc-wrapper .step-content {
    margin: 0 0 38px; }

.checkout-index-index .nav-sections,
.checkout-index-index .nav-toggle {
  display: none; }

.checkout-index-index .logo {
  margin-left: 0; }

.checkout-onepage-success .print {
  display: none; }

@media only screen and (max-width: 639px) {
  .opc-wrapper .step-title {
    font-size: 18px;
    border-bottom: 0;
    padding-bottom: 0; } }

@media only screen and (min-width: 768px) {
  .opc-wrapper {
    float: left;
    width: 66.66666667%;
    padding-right: 28.5px; }
  .checkout-onepage-success .print {
    display: block;
    float: right;
    margin: 22px 0 0; } }

.opc-estimated-wrapper {
  border-bottom: 1px solid #ccc;
  margin: 0 0 15px;
  padding: 18px 15px; }
  .opc-estimated-wrapper .estimated-block {
    font-size: 18px;
    font-weight: 700;
    float: left; }
    .opc-estimated-wrapper .estimated-block .estimated-label {
      display: block;
      margin: 0 0 4.75px; }
  .opc-estimated-wrapper .minicart-wrapper .action.showcart:before {
    color: #333; }

@media only screen and (min-width: 768px) {
  .opc-estimated-wrapper {
    display: none; } }

.opc__header {
  background-color: #ffffff; }
  @media only screen and (max-width: 767px) {
    .opc__header {
      margin-left: -1.5rem;
      margin-right: -1.5rem; } }
  @media only screen and (min-width: 768px) {
    .opc__header {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw); } }

.opc__header__inner {
  padding: 0 1.5rem; }
  @media only screen and (min-width: 768px) {
    .opc__header__inner {
      margin-left: auto;
      margin-right: auto;
      max-width: 1335px; } }

.opc-progress-bar {
  margin: 0 0 50px;
  position: relative;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-right: 10rem;
  counter-reset: i;
  font-size: 0;
  background-color: #ffffff; }

.opc-progress-bar-item {
  margin: 0 0 9.5px;
  display: inline-block;
  position: relative;
  z-index: 20;
  text-align: center;
  vertical-align: top;
  width: 50%; }
  .opc-progress-bar-item:before {
    background: #d4d6d0;
    top: 19px;
    content: '';
    height: 7px;
    left: 0;
    position: absolute;
    width: 100%; }
  .opc-progress-bar-item:first-child:before {
    border-radius: 6px 0 0 6px; }
  .opc-progress-bar-item:last-child:before {
    border-radius: 0 6px 6px 0; }
  .opc-progress-bar-item > span {
    display: inline-block;
    padding-top: 45px;
    width: 100%;
    word-wrap: break-word;
    color: #d4d6d0;
    font-weight: 300;
    font-size: 1.8rem; }
    .opc-progress-bar-item > span:before, .opc-progress-bar-item > span:after {
      background: #d4d6d0;
      height: 38px;
      margin-left: -19px;
      width: 38px;
      border-radius: 50%;
      content: '';
      left: 50%;
      position: absolute;
      top: 0; }
    .opc-progress-bar-item > span:after {
      background: #fff;
      height: 26px;
      margin-left: -13px;
      top: 6px;
      width: 26px;
      content: counter(i);
      counter-increment: i;
      color: #333;
      font-weight: 600;
      line-height: 1.5;
      font-size: 1.8rem; }
  .opc-progress-bar-item._active:before {
    background: #3c626f; }
  .opc-progress-bar-item._active > span {
    color: #333; }
    .opc-progress-bar-item._active > span:before {
      background: #3c626f; }
    .opc-progress-bar-item._active > span:after {
      content: "";
      font-family: "duo-icons";
      line-height: 1.5;
      font-size: 1.8rem; }
  .opc-progress-bar-item._complete {
    cursor: pointer; }
    .opc-progress-bar-item._complete > span {
      color: #333; }
      .opc-progress-bar-item._complete > span:after {
        content: "";
        font-family: "duo-icons";
        line-height: 1.5;
        font-size: 1.8rem; }

@media only screen and (min-width: 768px) {
  .opc-progress-bar-item {
    width: 185px; } }

@media only screen and (max-width: 767px) {
  .opc-progress-bar {
    margin: 0 0 25px;
    padding: 25px 0; } }

.field.choice .field-tooltip {
  display: inline-block;
  margin-left: 9.5px;
  position: relative;
  top: -3px; }

.field.choice .field-tooltip-action {
  line-height: 21px; }

.field._error .control input,
.field._error .control select,
.field._error .control textarea {
  border-color: #ed8380; }

.opc-wrapper .fieldset > .field > .label {
  font-weight: 400; }

.opc-wrapper .fieldset > .field.street > .control label {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

@media only screen and (min-width: 768px) {
  .opc-wrapper .fieldset > .field.required, .opc-wrapper .fieldset > .field._required {
    position: relative; }
    .opc-wrapper .fieldset > .field.required > label, .opc-wrapper .fieldset > .field._required > label {
      padding-right: 25px; }
      .opc-wrapper .fieldset > .field.required > label:after, .opc-wrapper .fieldset > .field._required > label:after {
        margin-left: 9.5px;
        position: absolute;
        top: 9px; } }

@media only screen and (min-width: 768px) {
  .checkout-index-index .modal-popup .form-shipping-address {
    max-width: 500px; }
  .checkout-index-index .modal-popup .modal-footer .action-save-address {
    float: right;
    margin: 0 0 0 9.5px; } }

@media only screen and (min-width: 1024px) {
  .checkout-index-index .modal-popup .modal-inner-wrap {
    margin-left: -400px;
    width: 800px;
    left: 50%; } }

.field-tooltip {
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 5px; }
  .field-tooltip .label {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap; }
  .field-tooltip._active {
    z-index: 100; }
    .field-tooltip._active .field-tooltip-content {
      display: block; }
    .field-tooltip._active .field-tooltip-action:before {
      color: #333; }
  .field-tooltip .field-tooltip-action {
    display: inline-block;
    text-decoration: none; }
    .field-tooltip .field-tooltip-action > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .field-tooltip .field-tooltip-action:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 21px;
      line-height: inherit;
      color: #bbb;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .field-tooltip .field-tooltip-action:hover:before {
      color: #333; }
    ._keyfocus .field-tooltip .field-tooltip-action:focus {
      z-index: 100; }
      ._keyfocus .field-tooltip .field-tooltip-action:focus + .field-tooltip-content {
        display: block; }
      ._keyfocus .field-tooltip .field-tooltip-action:focus:before {
        color: #333; }
  .field-tooltip .field-tooltip-content {
    background: #f4f4f4;
    border: 1px solid #ccc;
    border-radius: 1px;
    font-size: 14px;
    padding: 12px;
    width: 270px;
    display: none;
    left: 38px;
    position: absolute;
    text-transform: none;
    top: -8px;
    word-wrap: break-word;
    z-index: 2;
    border-radius: 5px;
    -webkit-box-shadow: 2px 2px 10px 0px #ddd;
            box-shadow: 2px 2px 10px 0px #ddd; }
    .field-tooltip .field-tooltip-content:before, .field-tooltip .field-tooltip-content:after {
      border: 8px solid transparent;
      height: 0;
      width: 0;
      border-right-color: #f4f4f4;
      left: -17px;
      top: 13px;
      content: '';
      display: block;
      position: absolute;
      z-index: 3; }
    .field-tooltip .field-tooltip-content:before {
      border-right-color: #999999; }
    .field-tooltip .field-tooltip-content:after {
      border-right-color: #f4f4f4;
      width: 1px;
      z-index: 4; }

@media only screen and (max-width: 479px) {
  .modal-popup .field-tooltip .field-tooltip-content {
    width: 200px; } }

@media only screen and (max-width: 767px) {
  .field-tooltip .field-tooltip-content {
    right: 30px;
    left: auto;
    max-width: 250px; }
    .field-tooltip .field-tooltip-content:before, .field-tooltip .field-tooltip-content:after {
      display: none; } }

.opc-wrapper .form-login,
.opc-wrapper .form-shipping-address {
  margin-top: 28px;
  margin-bottom: 19px; }
  .opc-wrapper .form-login .fieldset .note,
  .opc-wrapper .form-shipping-address .fieldset .note {
    font-size: 14px;
    margin-top: 9.5px;
    opacity: 0.8; }
    .opc-wrapper .form-login .fieldset .note::before,
    .opc-wrapper .form-shipping-address .fieldset .note::before {
      margin-right: 5px;
      font-size: 12px; }

.opc-wrapper .shipping-address-items {
  font-size: 0; }

.opc-wrapper .shipping-address-item {
  border: 2px solid transparent;
  line-height: 30px;
  margin: 0 0 19px;
  padding: 19px 33.5px 19px 19px;
  -webkit-transition: 0.3s border-color;
  -o-transition: 0.3s border-color;
  transition: 0.3s border-color;
  width: 50%;
  display: inline-block;
  font-size: 14px;
  position: relative;
  vertical-align: top;
  word-wrap: break-word; }
  .opc-wrapper .shipping-address-item.selected-item {
    border-color: #ff5501; }
    .opc-wrapper .shipping-address-item.selected-item:after {
      background: #ff5501;
      color: #ffffff;
      content: "";
      font-family: "duo-icons";
      height: 27px;
      width: 29px;
      font-size: 27px;
      line-height: 21px;
      padding-top: 2px;
      position: absolute;
      right: 0;
      text-align: center;
      top: 0; }
    .opc-wrapper .shipping-address-item.selected-item .action-select-shipping-item {
      visibility: hidden; }

.opc-wrapper .action-show-popup {
  margin: 0 0 19px; }
  .opc-wrapper .action-show-popup > span:before {
    content: '+';
    padding-right: 4.75px; }

.opc-wrapper .action-select-shipping-item {
  float: right;
  margin: 19px 0 0; }

.opc-wrapper .edit-address-link {
  display: block;
  float: left;
  margin: 26px 5px 0 0; }

.checkout-shipping-method .step-title {
  margin-bottom: 0; }

.checkout-shipping-method .no-quotes-block {
  margin: 19px 0; }

.checkout-shipping-method #onepage-checkout-shipping-method-additional-load > div:first-child {
  display: none; }

.methods-shipping .actions-toolbar .action.primary {
  margin: 19px 0 0; }

.table-checkout-shipping-method thead th {
  display: none; }

.table-checkout-shipping-method tbody td {
  border-top: 1px solid #ccc;
  padding-bottom: 19px;
  padding-top: 19px; }
  .table-checkout-shipping-method tbody td:first-child {
    padding-left: 0;
    padding-right: 0;
    width: 20px; }

.table-checkout-shipping-method tbody tr:first-child td {
  border-top: none; }

.table-checkout-shipping-method tbody .row-error td {
  border-top: none;
  padding-bottom: 9.5px;
  padding-top: 0; }

@media only screen and (max-width: 639px) {
  .opc-wrapper .form-login {
    border-bottom: 1px solid #ccc;
    margin: 0 0 15px;
    padding: 0 0 15px; }
  .opc-wrapper .shipping-address-item {
    border-bottom: 1px solid #ccc;
    margin: 0 0 15px;
    padding: 0 0 15px;
    width: 100%; }
    .opc-wrapper .shipping-address-item.selected-item {
      padding: 15px 33.5px 15px 18px;
      border-bottom-width: 2px; }
      .opc-wrapper .shipping-address-item.selected-item .edit-address-link {
        right: 38.5px; }
  .opc-wrapper .form-login,
  .opc-wrapper .form-shipping-address {
    margin-top: 28px; }
  .opc-wrapper .action-select-shipping-item {
    float: none;
    margin-top: 9.5px;
    width: 100%; }
  .opc-wrapper .action-show-popup {
    width: 100%; }
  .opc-wrapper .edit-address-link {
    display: inline-block;
    text-decoration: none;
    margin: 0;
    position: absolute;
    right: 0;
    top: 1px; }
    .opc-wrapper .edit-address-link > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .opc-wrapper .edit-address-link:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 28px;
      line-height: 28px;
      color: #303030;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .opc-wrapper .edit-address-link:hover:before {
      color: #303030; }
    .opc-wrapper .edit-address-link:active:before {
      color: #303030; } }

@media only screen and (min-width: 768px) {
  .checkout-shipping-method .actions-toolbar > .primary {
    float: right; }
  .checkout-shipping-method .actions-toolbar .action.primary {
    margin: 0; }
  .opc-wrapper .form-login,
  .opc-wrapper .form-shipping-address {
    max-width: 60rem; }
  .table-checkout-shipping-method {
    width: auto; } }

@media only screen and (min-width: 1024px) {
  .opc-wrapper .shipping-address-item {
    width: 33.33333%; }
    .opc-wrapper .shipping-address-item:before {
      background: #ccc;
      height: calc(100% - 20px);
      content: '';
      left: 0;
      position: absolute;
      top: 0;
      width: 1px; }
    .opc-wrapper .shipping-address-item:nth-child(3n + 1):before {
      display: none; }
    .opc-wrapper .shipping-address-item.selected-item:before {
      display: none; }
    .opc-wrapper .shipping-address-item.selected-item + .shipping-address-item:before {
      display: none; }
  .table-checkout-shipping-method {
    min-width: 500px; } }

.checkout-shipping-method {
  position: relative; }

.shipping-policy-block.field-tooltip {
  top: 12px; }
  .shipping-policy-block.field-tooltip .field-tooltip-action {
    color: #333;
    cursor: pointer; }
    .shipping-policy-block.field-tooltip .field-tooltip-action:before {
      display: none; }
  .shipping-policy-block.field-tooltip .field-tooltip-content {
    width: 420px;
    top: 28.5px; }

@media only screen and (max-width: 639px) {
  .shipping-policy-block.field-tooltip {
    margin-bottom: 19px;
    position: relative;
    right: auto;
    top: auto; }
    .shipping-policy-block.field-tooltip .field-tooltip-content {
      width: 300px;
      right: auto; }
      .shipping-policy-block.field-tooltip .field-tooltip-content:before, .shipping-policy-block.field-tooltip .field-tooltip-content:after {
        right: auto; } }

@media only screen and (min-width: 768px) {
  .opc-sidebar {
    margin: 0 0 19px;
    float: right;
    width: 33.33333333%; } }

.opc-block-shipping-information {
  padding: 0 28.5px; }
  .opc-block-shipping-information .shipping-information-title {
    border-bottom: 1px solid #ccc;
    margin: 0 0 19px;
    padding-right: 20px;
    position: relative; }
    .opc-block-shipping-information .shipping-information-title .action-edit {
      top: 2px;
      display: inline-block;
      text-decoration: none;
      margin: 0;
      position: absolute;
      right: 0; }
      .opc-block-shipping-information .shipping-information-title .action-edit > span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .opc-block-shipping-information .shipping-information-title .action-edit:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 18px;
        line-height: 18px;
        color: #8f8f8f;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .opc-block-shipping-information .shipping-information-title .action-edit:hover:before {
        color: #333; }
      .opc-block-shipping-information .shipping-information-title .action-edit:active:before {
        color: #8f8f8f; }
  .opc-block-shipping-information .shipping-information-content {
    line-height: 27px; }
    .opc-block-shipping-information .shipping-information-content .actions-toolbar {
      margin-left: 0; }
  .opc-block-shipping-information .ship-to,
  .opc-block-shipping-information .ship-via {
    margin: 0 0 19px; }

.opc-block-summary {
  background: #ffffff;
  padding: 22px 28.5px;
  margin: 0 0 19px; }
  .opc-block-summary > .title {
    display: block; }
  .opc-block-summary .table-totals tr.shipping {
    display: none; }
  .opc-block-summary .mark .value {
    color: #999;
    display: block; }
  .opc-block-summary .grand.incl + .grand.excl .mark,
  .opc-block-summary .grand.incl + .grand.excl .amount {
    border-top: 0;
    font-size: 1.4rem;
    padding-top: 0; }
    .opc-block-summary .grand.incl + .grand.excl .mark strong,
    .opc-block-summary .grand.incl + .grand.excl .amount strong {
      font-weight: 400; }
  .opc-block-summary .not-calculated {
    font-style: italic; }
  .opc-block-summary .items-in-cart > .title {
    border-bottom: 1px solid #d1d1d1;
    padding: 9.5px 38px 9.5px 0;
    cursor: pointer;
    display: block;
    text-decoration: none;
    margin-bottom: 0;
    position: relative; }
    .opc-block-summary .items-in-cart > .title > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .opc-block-summary .items-in-cart > .title:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 16px;
      line-height: 14px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 3px 0 0;
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .opc-block-summary .items-in-cart > .title:after {
      position: absolute;
      right: 0;
      top: 9.5px; }
    .opc-block-summary .items-in-cart > .title strong {
      font-size: 1.8rem;
      font-weight: 300;
      margin: 0; }
  .opc-block-summary .items-in-cart.active > .title:after {
    content: ""; }
  .opc-block-summary .items-in-cart .product {
    position: relative; }
  .opc-block-summary .minicart-items-wrapper {
    margin: -15px 0 0;
    max-height: 370px;
    padding: 15px 0 0 0;
    border: 0; }
  .column.main .opc-block-summary .product-item {
    margin: 0;
    padding-left: 0; }
  .opc-block-summary .product-item .product-item-inner {
    display: table;
    margin: 0 0 9.5px;
    width: 100%; }
  .opc-block-summary .product-item .product-item-name-block {
    display: table-cell;
    padding-right: 4.75px;
    text-align: left; }
  .opc-block-summary .product-item .subtotal {
    display: table-cell;
    text-align: right; }
  .opc-block-summary .product-item .price {
    font-size: 1.6rem;
    font-weight: 400; }
  .opc-block-summary .product-item .price-including-tax + .price-excluding-tax {
    margin: 0; }
    .opc-block-summary .product-item .price-including-tax + .price-excluding-tax .price {
      font-size: 1rem; }
  .opc-block-summary .actions-toolbar {
    position: relative;
    z-index: 1; }
    .opc-block-summary .actions-toolbar .secondary {
      border-top: 1px solid #d1d1d1;
      display: block;
      float: none;
      margin: -1px 0 0;
      padding: 15px 0 0;
      text-align: left; }
      .opc-block-summary .actions-toolbar .secondary .action {
        margin: 0; }

@media only screen and (max-width: 767px) {
  .opc-block-summary {
    padding-top: 55px; } }

@media only screen and (min-width: 768px) {
  .opc-summary-wrapper .modal-header .action-close {
    display: none; } }

.authentication-dropdown {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .authentication-dropdown .modal-inner-wrap {
    padding: 23.75px; }

.authentication-wrapper {
  float: right;
  margin-top: -57px;
  max-width: 50%;
  position: relative;
  z-index: 10; }
  ._has-auth-shown .authentication-wrapper {
    z-index: 900; }

.block-authentication .block-title {
  font-size: 1.8rem;
  border-bottom: 0;
  margin-bottom: 23.75px; }
  .block-authentication .block-title strong {
    font-weight: 300; }

.block-authentication .field .label {
  font-weight: 400; }

.block-authentication .actions-toolbar {
  margin-bottom: 4.75px; }
  .block-authentication .actions-toolbar > .secondary {
    padding-top: 23.75px;
    text-align: left; }

.block-authentication .block[class] {
  margin: 0; }
  .block-authentication .block[class] ul {
    list-style: none;
    padding-left: 9.5px; }
  .block-authentication .block[class] .field .control,
  .block-authentication .block[class] .field .label {
    float: none;
    width: auto; }
  .block-authentication .block[class] + .block {
    border-top: 1px solid #c1c1c1;
    margin-top: 38px;
    padding-top: 38px;
    position: relative; }
    .block-authentication .block[class] + .block::before {
      height: 36px;
      line-height: 34px;
      margin: -19px 0 -18px;
      min-width: 36px;
      background: #ffffff;
      border: 1px solid #c1c1c1;
      border-radius: 50%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      color: #c1c1c1;
      content: attr(data-label);
      display: inline-block;
      left: 50%;
      letter-spacing: normal;
      padding: 0 0.2rem;
      position: absolute;
      text-align: center;
      text-transform: uppercase;
      top: 0; }

@media only screen and (min-width: 768px) {
  .authentication-dropdown {
    background-color: #ffffff;
    border: 1px solid #aeaeae;
    position: absolute;
    text-align: left;
    top: 100%;
    -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-transition: visibility 0s linear 0.1s, -webkit-transform linear 0.1s;
    transition: visibility 0s linear 0.1s, -webkit-transform linear 0.1s;
    -o-transition: transform linear 0.1s, visibility 0s linear 0.1s;
    transition: transform linear 0.1s, visibility 0s linear 0.1s;
    transition: transform linear 0.1s, visibility 0s linear 0.1s, -webkit-transform linear 0.1s;
    visibility: hidden;
    width: 100%; }
    .authentication-dropdown._show {
      z-index: 100;
      -webkit-transform: scale(1, 1);
          -ms-transform: scale(1, 1);
              transform: scale(1, 1);
      -webkit-transition: visibility 0s linear 0s, -webkit-transform linear 0.1s;
      transition: visibility 0s linear 0s, -webkit-transform linear 0.1s;
      -o-transition: transform linear 0.1s, visibility 0s linear 0s;
      transition: transform linear 0.1s, visibility 0s linear 0s;
      transition: transform linear 0.1s, visibility 0s linear 0s, -webkit-transform linear 0.1s;
      visibility: visible; }
  .authentication-wrapper {
    width: 700%;
    text-align: right; }
  .block-authentication .block-title {
    font-size: 2.6rem;
    border-bottom: 0;
    margin-bottom: 23.75px; }
  .block-authentication .actions-toolbar > .primary {
    display: inline;
    float: right;
    margin-right: 0; }
    .block-authentication .actions-toolbar > .primary .action {
      margin-right: 0; }
  .block-authentication .actions-toolbar > .secondary {
    float: left;
    margin-right: 2rem;
    padding-top: 1rem; }
  .popup-authentication .modal-inner-wrap {
    min-width: 768px;
    width: 60%; }
  .popup-authentication .block-authentication {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border-top: 1px solid #c1c1c1; }
  .popup-authentication .block[class],
  .popup-authentication .form-login,
  .popup-authentication .fieldset,
  .popup-authentication .block-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .popup-authentication .block[class] {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    padding: 9.5px 28.5px 0 0;
    width: 50%; }
    .popup-authentication .block[class] + .block {
      border-left: 1px solid #c1c1c1;
      border-top: 0;
      margin: 0;
      padding: 9.5px 0 0 38px; }
      .popup-authentication .block[class] + .block::before {
        left: 0;
        top: 50%; }
  .popup-authentication .actions-toolbar {
    margin-bottom: 0;
    margin-top: auto; } }

.checkout-payment-method .step-title {
  border-bottom: 0;
  margin-bottom: 0; }

.checkout-payment-method .payment-method:first-child .payment-method-title {
  border-top: 0; }

.checkout-payment-method .payment-method._active .payment-method-content {
  display: block; }

.checkout-payment-method .payment-method + .payment-method .payment-method-title {
  border-top: 1px solid #ccc; }

.checkout-payment-method .payment-method-title {
  padding: 19px 0;
  margin: 0; }
  .checkout-payment-method .payment-method-title .payment-icon {
    display: inline-block;
    margin-right: 4.75px;
    vertical-align: middle; }
  .checkout-payment-method .payment-method-title .action-help {
    display: inline-block;
    margin-left: 4.75px; }

.checkout-payment-method .payment-method-content {
  display: none;
  padding: 0 0 19px 22px; }
  .checkout-payment-method .payment-method-content .fieldset:not(:last-child) {
    margin: 0 0 19px; }

.checkout-payment-method .payment-group + .payment-group .step-title {
  margin: 19px 0 0; }

.checkout-payment-method .field-select-billing,
.checkout-payment-method .billing-address-form {
  max-width: 500px; }

.checkout-payment-method .billing-address-same-as-shipping-block {
  margin: 0 0 9.5px; }

.checkout-payment-method .checkout-billing-address {
  margin: 0 0 19px; }
  .checkout-payment-method .checkout-billing-address .primary .action-update {
    margin-right: 0; }
  .checkout-payment-method .checkout-billing-address .billing-address-details {
    line-height: 27px;
    padding: 0 0 0 23px; }

.checkout-payment-method .payment-method-note + .checkout-billing-address {
  margin-top: 19px; }

.checkout-payment-method .payment-method-iframe {
  background-color: transparent;
  display: none;
  width: 100%; }

.checkout-payment-method .no-payments-block {
  margin: 19px 0; }

.checkout-payment-method .field.choice input[type="checkbox"] + .label,
.checkout-payment-method .field.choice input[type="checkbox"] + label {
  padding: 0 0 0 23px;
  font-weight: 500; }

@media only screen and (max-width: 767px) {
  .checkout-payment-method .payment-method-title {
    padding: 15px; }
  .checkout-payment-method .payment-method-content {
    padding: 0 15px 19px; }
  .checkout-payment-method .checkout-billing-address .action-cancel {
    margin-top: 9.5px; } }

@media only screen and (min-width: 768px) {
  .checkout-payment-method .actions-toolbar .primary {
    float: right;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
    .checkout-payment-method .actions-toolbar .primary button.action, .checkout-payment-method .actions-toolbar .primary .page-layout-checkout .authentication-wrapper .action, .page-layout-checkout .authentication-wrapper .checkout-payment-method .actions-toolbar .primary .action, .checkout-payment-method .actions-toolbar .primary .action.action-gift {
      margin: 0; }
    .checkout-payment-method .actions-toolbar .primary button.action:not(:last-child), .checkout-payment-method .actions-toolbar .primary .page-layout-checkout .authentication-wrapper .action:not(:last-child), .page-layout-checkout .authentication-wrapper .checkout-payment-method .actions-toolbar .primary .action:not(:last-child), .checkout-payment-method .actions-toolbar .primary .action.action-gift:not(:last-child) {
      margin-left: 2rem; }
  .checkout-payment-method .fieldset > .field-select-billing > .control {
    float: none;
    width: 100%; }
  .checkout-payment-method .payment-method-content .fieldset > .field {
    margin: 0 0 19px; }
    .checkout-payment-method .payment-method-content .fieldset > .field.type .control {
      margin-left: 25.8%; }
    .checkout-payment-method .payment-method-content .fieldset > .field.type.no-detection .control {
      margin-left: 0; }
  .checkout-billing-address .action-update {
    float: right; }
  .checkout-billing-address .actions-toolbar .action-cancel {
    margin: 6px 19px 0 0; }
  /* Adjustment for split custom checkbox + label during billing > add new address */
  .checkout-payment-method .field.choice input[type="checkbox"][id*="save-in-address-book"] + .label::before, .checkout-payment-method .field.choice input[type="checkbox"][id*="save-in-address-book"] + .label::after,
  .checkout-payment-method .field.choice input[type="checkbox"][id*="save-in-address-book"] + label::before,
  .checkout-payment-method .field.choice input[type="checkbox"][id*="save-in-address-book"] + label::after {
    left: 26%;
    left: calc(32% - 2.8rem); } }

.checkout-payment-method .payment-option._active .payment-option-title .action-toggle:after {
  content: ""; }

.checkout-payment-method .payment-option._collapsible .payment-option-title {
  cursor: pointer; }

.checkout-payment-method .payment-option._collapsible .payment-option-content {
  display: none; }

.checkout-payment-method .payment-option-title {
  border-top: 1px solid #ccc;
  padding: 19px 0 0 0; }
  .checkout-payment-method .payment-option-title .action-toggle {
    color: #3b4a4b;
    display: inline-block;
    text-decoration: none; }
    .checkout-payment-method .payment-option-title .action-toggle:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 16px;
      line-height: 16px;
      color: #8f8f8f;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .checkout-payment-method .payment-option-title .action-toggle:hover:after {
      color: #333; }
    .checkout-payment-method .payment-option-title .action-toggle:active:after {
      color: #8f8f8f; }
    .checkout-payment-method .payment-option-title .action-toggle:hover span {
      text-decoration: underline; }

.checkout-payment-method .payment-option-content {
  padding: 0 0 19px 0; }
  .checkout-payment-method .payment-option-content .messages {
    margin-bottom: 0; }
  .checkout-payment-method .payment-option-content .message {
    margin-top: 15px;
    font-size: 1.3rem; }
  .checkout-payment-method .payment-option-content .form-discount {
    margin-top: 10px; }
  .checkout-payment-method .payment-option-content .action-cancel {
    background-color: rgba(225, 39, 30, 0.7); }
    .checkout-payment-method .payment-option-content .action-cancel:hover {
      background-color: rgba(225, 39, 30, 0.8); }

.checkout-payment-method .payment-option-inner {
  margin: 0 0 19px; }

.checkout-payment-method .credit-card-types {
  padding: 0; }
  .checkout-payment-method .credit-card-types .item {
    display: inline-block;
    list-style: none;
    margin: 0 4.75px 0 0;
    vertical-align: top; }
    .checkout-payment-method .credit-card-types .item._active {
      font-weight: 700; }
      .checkout-payment-method .credit-card-types .item._active img {
        -webkit-filter: grayscale(0%);
                filter: grayscale(0%); }
    .checkout-payment-method .credit-card-types .item._inactive {
      opacity: 0.4; }
    .checkout-payment-method .credit-card-types .item span {
      display: inline-block;
      padding-top: 6px;
      vertical-align: top; }
  .checkout-payment-method .credit-card-types img {
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
    -webkit-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all 0.6s ease; }

.checkout-payment-method .ccard .fields > .year {
  padding-left: 4.75px; }

.checkout-payment-method .ccard .fields .select {
  padding-left: 4.75px;
  padding-right: 4.75px; }

.checkout-payment-method .ccard .month .select {
  width: 140px; }

.checkout-payment-method .ccard .year .select {
  width: 80px; }

.checkout-payment-method .ccard .number .input-text {
  width: 225px; }

.checkout-payment-method .ccard > .field.cvv > .control {
  padding-right: 19px;
  width: auto; }

.checkout-payment-method .ccard .cvv .input-text {
  width: 55px; }

.checkout-payment-method .ccard.fieldset > .field .fields.group.group-2 .field {
  width: auto !important; }

@media only screen and (max-width: 767px) {
  .checkout-payment-method .payment-option .payment-option-title {
    padding: 15px; }
  .checkout-payment-method .payment-option .payment-option-content {
    padding: 0 15px 19px; } }

@media only screen and (min-width: 768px) {
  .checkout-payment-method .payment-option-content .payment-option-inner + .actions-toolbar {
    margin-left: 0; } }

.checkout-agreements-block .checkout-agreement::before {
  width: 15px !important; }

.checkout-agreements-block .checkout-agreement label::after {
  margin-left: 0 !important; }

.checkout-agreements-block .checkout-agreements {
  margin-bottom: 19px; }

.checkout-agreements-block .action-show {
  vertical-align: baseline; }

.checkout-agreements-items {
  padding-bottom: 28.5px; }
  .checkout-agreements-items .checkout-agreements-item {
    margin-bottom: 19px; }
  .checkout-agreements-items .checkout-agreements-item-title {
    border-bottom: 0; }

.checkout-agreement-item-content {
  overflow: auto; }

.login-container .block-new-customer .actions-toolbar {
  margin-top: 25px; }

.login-container .block .block-title {
  font-size: 1.8rem; }

.login-container .fieldset:after {
  margin: 9.5px 0 0;
  content: attr(data-hasrequired);
  display: block;
  letter-spacing: normal;
  word-spacing: normal;
  color: #e02b27;
  font-size: 1.2rem; }

.login-container .fieldset:after {
  margin-top: 35px; }

.block-addresses-list .items.addresses > .item {
  margin-bottom: 19px; }
  .block-addresses-list .items.addresses > .item:last-child {
    margin-bottom: 0; }

.form-address-edit #region_id {
  display: none; }

.form-edit-account .fieldset.password {
  display: none; }

.box-billing-address .box-content,
.box-shipping-address .box-content,
.box-information .box-content,
.box-newsletter .box-content {
  line-height: 26px; }

.fieldset .fullname.field > .label + .control {
  width: 100%; }

.account .column.main h2 {
  margin-top: 0; }

.account .column.main .toolbar {
  text-align: center; }
  .account .column.main .toolbar .limiter-options {
    width: auto; }

.account .sidebar-additional {
  margin-top: 40px; }

.account .table-wrapper:last-child {
  margin-bottom: 0; }

.account .table-wrapper .action {
  margin-right: 15px; }
  .account .table-wrapper .action:last-child {
    margin-right: 0; }

.account-nav .content {
  background: #ffffff;
  padding: 15px 0; }

.account-nav .item {
  margin: 3px 0 0; }
  .account-nav .item:first-child {
    margin-top: 0; }
  .account-nav .item a,
  .account-nav .item > strong {
    border-left: 3px solid transparent;
    display: block;
    padding: 4.75px 18px 4.75px 15px; }
  .account-nav .item a {
    text-decoration: none; }
    .account-nav .item a:hover {
      background: #e8e8e8; }
  .account-nav .item.current a,
  .account-nav .item.current strong {
    border-color: #ff5501;
    font-weight: 600; }
  .account-nav .item.current a {
    border-color: #ff5501; }
  .account-nav .item .delimiter {
    border-top: 1px solid #d1d1d1;
    display: block;
    margin: 9.5px 1.8rem; }

.column.main .block:last-child {
  margin-bottom: 0; }

.block .title {
  margin-bottom: 9.5px; }
  .block .title strong {
    font-weight: 700;
    line-height: 1.1;
    font-size: 1.4rem;
    margin-top: 1.9rem;
    margin-bottom: 1.9rem; }
    .column.main .block .title strong {
      font-size: 18px; }

.block p:last-child {
  margin: 0; }

.block .box-actions {
  margin-top: 4.75px; }

.field.password .control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .field.password .control .mage-error {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .field.password .control .input-text {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    z-index: 2; }

.password-strength-meter {
  background-color: #f4f4f4;
  height: 4.3rem;
  line-height: 4.3rem;
  padding: 1rem;
  position: relative;
  z-index: 1; }
  .password-strength-meter:before {
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    z-index: -1; }
  .password-none .password-strength-meter:before {
    background-color: #f4f4f4;
    width: 100%; }
  .password-weak .password-strength-meter:before {
    background-color: #ffafae;
    width: 25%; }
  .password-medium .password-strength-meter:before {
    background-color: #ffd6b3;
    width: 50%; }
  .password-strong .password-strength-meter:before {
    background-color: #c5eeac;
    width: 75%; }
  .password-very-strong .password-strength-meter:before {
    background-color: #81b562;
    width: 100%; }

.control.captcha-image {
  margin-top: 9.5px; }
  .control.captcha-image .captcha-img {
    vertical-align: middle; }

@media only screen and (max-width: 639px) {
  .account .column.main,
  .account .sidebar-additional {
    margin: 0; } }

@media only screen and (max-width: 767px) {
  .login-container .fieldset:after {
    text-align: center; }
  .account .page.messages {
    margin-bottom: 38px; }
  .control.captcha-image .captcha-img {
    margin-bottom: 9.5px;
    display: block; }
  .customer-account-index .page-title-wrapper {
    position: relative; } }

@media only screen and (min-width: 768px) {
  .login-container .block.login .actions-toolbar > .primary {
    margin-bottom: 0;
    margin-right: 28.5px; }
  .login-container .block.login .actions-toolbar > .secondary {
    float: left; }
  .login-container .fieldset > .field > .control {
    width: 55%; }
  .fieldset .fullname .field .label {
    padding: 6px 15px 0 0;
    text-align: right;
    width: 32%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left; }
  .fieldset .fullname .field .control {
    width: 68%;
    float: left; }
  .form.password.reset,
  .form.send.confirmation,
  .form.password.forget,
  .form.create.account {
    min-width: 600px;
    width: 50%; }
  .account.page-layout-2columns-left .sidebar-main,
  .account.page-layout-2columns-left .sidebar-additional {
    width: 22.3%; }
  .account.page-layout-2columns-left .column.main {
    width: 77.7%; }
  .block-addresses-list .items.addresses {
    font-size: 0; }
    .block-addresses-list .items.addresses > .item {
      display: inline-block;
      font-size: 14px;
      margin-bottom: 19px;
      vertical-align: top;
      width: 48.8%; }
      .block-addresses-list .items.addresses > .item:nth-last-child(1), .block-addresses-list .items.addresses > .item:nth-last-child(2) {
        margin-bottom: 0; }
      .block-addresses-list .items.addresses > .item:nth-child(even) {
        margin-left: 2.4%; }
  .control.captcha-image .captcha-img {
    margin: 0 9.5px 9.5px 0; } }

.account.page-layout-2columns-left .sidebar-main .nav li:nth-child(4) {
  display: none; }

.downloadable.samples {
  margin-bottom: 19px; }
  .downloadable.samples dd {
    margin: 0 0 9.5px; }

.table-downloadable-products .product-name {
  margin-right: 15px; }

.field.downloads .price-container {
  display: inline;
  white-space: nowrap; }
  .field.downloads .price-container:before {
    content: ' + ';
    display: inline; }

.field.downloads .price-excluding-tax {
  display: inline; }
  .field.downloads .price-excluding-tax:before {
    content: " (" attr(data-label) ": "; }
  .field.downloads .price-excluding-tax:after {
    content: ')'; }

.field.downloads .price-including-tax {
  font-size: 1.4rem;
  display: inline;
  font-weight: 600; }

.field.downloads .sample.link {
  float: right; }

.page-product-downloadable .product-add-form {
  clear: both;
  margin-bottom: 23.75px; }

.page-product-downloadable .product-options-bottom .field.qty {
  display: none !important; }

@media only screen and (min-width: 768px) {
  .page-product-downloadable .product-options-wrapper {
    float: left;
    width: 55%; }
  .page-product-downloadable .product-options-bottom {
    float: right;
    width: 40%; }
    .page-product-downloadable .product-options-bottom .field.qty + .actions {
      padding-top: 0; } }

.cart-summary .block.giftcard .action.check {
  line-height: 1.4;
  padding: 4.75px 8px;
  font-size: 1.1rem;
  margin-top: 19px; }

.page-product-giftcard .giftcard-amount {
  margin-bottom: 0;
  text-align: left; }
  .page-product-giftcard .giftcard-amount .field:last-child {
    padding-bottom: 19px; }

.page-product-giftcard .product-options-wrapper .field:first-of-type {
  margin-top: 19px; }

.giftcard-account .please-wait {
  display: none; }

.giftcard-account .form-giftcard-redeem .giftcard.info {
  margin-bottom: 28.5px; }

.opc-wrapper .form-giftcard-account {
  max-width: 500px; }
  .opc-wrapper .form-giftcard-account .field {
    margin: 0 0 19px; }

.opc-wrapper .giftcard-account-info {
  margin: 0 0 19px; }
  .opc-wrapper .giftcard-account-info .giftcard-account-number {
    margin: 0 0 9.5px; }

.gift-message .field {
  margin-bottom: 19px; }
  .gift-message .field .label {
    color: #666;
    font-weight: 400; }

.gift-options .actions-toolbar .action-cancel {
  display: none; }

.gift-options-title {
  margin: 0 0 19px; }

.gift-options-content .fieldset {
  margin: 0 0 19px; }

.gift-summary .actions-toolbar > .secondary {
  float: none; }
  .gift-summary .actions-toolbar > .secondary .action {
    margin: 9.5px 19px 0 0; }

.action-gift {
  display: inline-block;
  display: inline-block;
  text-decoration: none;
  margin-bottom: 9.5px;
  margin-right: 9.5px;
  display: inline-block;
  text-decoration: none; }
  .action-gift:hover, .action-gift:active, .action-gift:focus {
    text-decoration: none; }
  .action-gift:last-child {
    margin-right: 0; }
  .action-gift:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 32px;
    line-height: 16px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .action-gift:hover:after {
    color: inherit; }
  .action-gift:active:after {
    color: inherit; }
  .action-gift.active:after, .action-gift._active:after {
    content: ""; }

.cart.table-wrapper .gift-content {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  clear: left;
  display: none;
  float: left;
  margin: 9.5px 0 19px;
  text-align: left;
  width: 100%; }
  .cart.table-wrapper .gift-content._active {
    display: block; }

.gift-item-block {
  margin: 0; }
  .gift-item-block._active .title:after {
    content: ""; }
  .gift-item-block .title {
    font-weight: 700;
    border-radius: 3px;
    background-image: none;
    background: #3b4a4b;
    border: 1px solid #cdcdcd;
    color: #ffffff;
    cursor: pointer;
    display: inline-block;
    font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
    font-weight: 600;
    margin: 20px 0 0;
    padding: 7px 15px;
    font-size: 1.4rem;
    line-height: 1.4;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: middle;
    display: inline-block;
    text-decoration: none; }
    .gift-item-block .title:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 32px;
      line-height: 16px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .gift-item-block .title:hover:after {
      color: inherit; }
    .gift-item-block .title:active:after {
      color: inherit; }
    .gift-item-block .title:focus, .gift-item-block .title:active {
      background: #e2e2e2;
      border: 1px solid #cdcdcd;
      color: #333; }
    .gift-item-block .title:hover {
      background: #3b4a4b;
      border: 0.1rem solid #b8b496;
      color: #ffffff; }
    .gift-item-block .title.disabled, .gift-item-block .title[disabled],
    fieldset[disabled] .gift-item-block .title {
      opacity: 0.5;
      cursor: default;
      pointer-events: none; }
  .gift-item-block .content {
    border-bottom: 1px solid #c1c1c1;
    padding: 9.5px 9.5px 19px;
    position: relative; }

.order-details-items .order-gift-message .item-options dt,
.order-details-items .block-order-details-gift-message .item-options dt {
  font-weight: 400;
  margin: 9.5px 0; }

.order-details-items .order-gift-message dt:after,
.order-details-items .block-order-details-gift-message dt:after {
  content: ''; }

.order-details-items .order-gift-message .item-message,
.order-details-items .block-order-details-gift-message .item-message {
  clear: left; }

.order-details-items .order-items .action.show {
  display: inline-block;
  text-decoration: none;
  padding-right: 19px;
  position: relative; }
  .order-details-items .order-items .action.show:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 22px;
    line-height: inherit;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .order-details-items .order-items .action.show:after {
    position: absolute;
    right: 0;
    top: -4px; }
  .order-details-items .order-items .action.show.expanded:after {
    content: ""; }

.block-order-details-gift-message {
  border-top: 1px solid #d1d1d1;
  padding-top: 9.5px; }

@media only screen and (max-width: 767px) {
  .gift-options .actions-toolbar .action-update {
    font-size: 2rem;
    padding: 15px;
    width: 100%; }
  .gift-item-block {
    border-top: 1px solid #c1c1c1;
    border-bottom: 0; }
  .cart.table-wrapper .gift-content {
    margin-right: -9.5px; } }

@media only screen and (max-width: 639px) {
  .cart.table-wrapper .gift-content {
    border-bottom: 1px solid #d1d1d1;
    margin-bottom: 19px; } }

@media only screen and (min-width: 768px) {
  .gift-message .field {
    margin-bottom: 19px; }
  .gift-options {
    position: relative;
    z-index: 1; }
    .gift-options .actions-toolbar {
      clear: both;
      float: right;
      position: static; }
      .gift-options .actions-toolbar .secondary {
        float: right; }
        .gift-options .actions-toolbar .secondary .action {
          float: right;
          margin-left: 19px; }
        .gift-options .actions-toolbar .secondary .action-cancel {
          display: block;
          float: left;
          margin-top: 6px; }
      .gift-options .actions-toolbar:nth-child(3):before {
        border-left: 1px solid #c1c1c1;
        bottom: 5rem;
        content: '';
        display: block;
        left: 50%;
        overflow: hidden;
        position: absolute;
        top: 0;
        width: 0; }
  .gift-options-title {
    font-weight: 300;
    font-size: 1.8rem; }
  .cart.table-wrapper .action-gift {
    float: left; }
  .order-options .gift-wrapping,
  .table-order-review .gift-wrapping {
    max-width: 50%; } }

.form-giftregistry-share .actions-toolbar:not(:last-child),
.form-giftregistry-edit .actions-toolbar:not(:last-child) {
  margin-bottom: 38px; }

.form-giftregistry-share .fieldset .nested .field:not(.choice) .control,
.form-giftregistry-edit .fieldset .nested .field:not(.choice) .control {
  width: 100%; }

.table-giftregistry-items .product-image {
  float: left;
  margin-right: 9.5px; }

.cart-summary .form.giftregistry .fieldset {
  margin: 25px 0 4.75px; }
  .cart-summary .form.giftregistry .fieldset .field {
    margin: 0 0 9.5px; }
    .cart-summary .form.giftregistry .fieldset .field .control {
      float: none;
      width: auto; }
  .cart-summary .form.giftregistry .fieldset .action.primary {
    margin-bottom: 0; }

.form-giftregistry-search {
  margin-bottom: 57px; }
  .form-giftregistry-search .fields-specific-options .field:nth-last-of-type(1) {
    margin-bottom: 0; }

.block-giftregistry-results .toolbar-giftregistry-results {
  text-align: center; }

.block-giftregistry .actions-toolbar {
  margin: 17px 0 0; }

.block-giftregistry-shared .item-options .item-value {
  margin: 0 0 23.75px; }

.block-giftregistry-shared-items .item {
  border-bottom: 1px solid #d1d1d1; }

.block-giftregistry-shared-items .col {
  padding: 19px 8px 9.5px; }
  .block-giftregistry-shared-items .col .price-box {
    display: inline-block; }
  .block-giftregistry-shared-items .col .price-wrapper {
    font-size: 1.8rem;
    display: block;
    font-weight: 700;
    white-space: nowrap; }

.block-giftregistry-shared-items .product .item-options {
  margin-bottom: 0; }

.block-giftregistry-shared-items .product-item-photo {
  display: block;
  max-width: 65px;
  padding: 9.5px 0; }

.block-giftregistry-shared-items .product-item-name {
  display: block;
  margin: 0 0 4.75px; }

@media only screen and (max-width: 639px) {
  .table-giftregistry-items .field.choice,
  .table-giftregistry-items .field.qty {
    display: inline-block; }
  .form-giftregistry-search .fieldset {
    margin-bottom: 15px; } }

@media only screen and (min-width: 768px) {
  .form-giftregistry-search .fieldset {
    margin-bottom: 29px; }
    .form-giftregistry-search .fieldset > .fields-specific-options > .field {
      margin: 0 0 19px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .form-giftregistry-search .fieldset > .fields-specific-options > .field > .label {
        margin: 0; }
      .form-giftregistry-search .fieldset > .fields-specific-options > .field:before, .form-giftregistry-search .fieldset > .fields-specific-options > .field:after {
        content: '';
        display: table; }
      .form-giftregistry-search .fieldset > .fields-specific-options > .field:after {
        clear: both; }
      .form-giftregistry-search .fieldset > .fields-specific-options > .field.choice:before, .form-giftregistry-search .fieldset > .fields-specific-options > .field.no-label:before {
        padding: 6px 15px 0 0;
        width: 32%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        content: ' ';
        float: left;
        height: 1px; }
      .form-giftregistry-search .fieldset > .fields-specific-options > .field .description {
        padding: 6px 15px 0 0;
        text-align: right;
        width: 32%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        float: left; }
      .form-giftregistry-search .fieldset > .fields-specific-options > .field:not(.choice) > .label {
        padding: 6px 15px 0 0;
        text-align: right;
        width: 32%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        float: left; }
      .form-giftregistry-search .fieldset > .fields-specific-options > .field:not(.choice) > .control {
        width: 68%;
        float: left; }
  .block-giftregistry-shared-items .product-item-photo {
    display: table-cell;
    max-width: 100%;
    padding: 0 19px 0 0;
    vertical-align: top;
    width: 1%; }
  .block-giftregistry-shared-items .product-item-details {
    display: table-cell;
    vertical-align: top;
    width: 99%;
    word-break: normal; }
  .block-giftregistry-shared-items .col.product {
    width: 48%; }
  .block-giftregistry-shared-items .col:not(.product) {
    text-align: center; }
  .block-giftregistry-shared-items .col.price {
    padding-top: 17px; }
  .block-giftregistry-shared-items .input-text.qty {
    margin-top: -4px; } }

.gift-wrapping .label {
  margin: 0 0 4.75px;
  display: inline-block; }

.gift-wrapping .field {
  margin-bottom: 9.5px; }

.gift-wrapping-info {
  font-weight: 300;
  font-size: 18px;
  margin: 19px 0; }

.gift-wrapping-list {
  list-style: none;
  margin: 19px 0 9.5px;
  padding: 0; }
  .gift-wrapping-list .no-image {
    background: #f2f2f2;
    display: inline-block;
    text-decoration: none; }
    .gift-wrapping-list .no-image > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .gift-wrapping-list .no-image:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 38px;
      line-height: 4rem;
      color: #494949;
      content: "";
      font-family: "duo-icons";
      vertical-align: middle;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .gift-wrapping-list .no-image:after {
      display: block; }

.gift-wrapping-preview,
.gift-wrapping-item > span {
  cursor: pointer;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1; }

.gift-wrapping-item {
  float: left;
  margin: 0 9.5px 9.5px 0; }
  .gift-wrapping-item:last-child {
    margin-right: 0; }
  .gift-wrapping-item._active span:before {
    border: 3px solid #333;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2; }
  .gift-wrapping-item > span {
    height: 4rem;
    width: 4rem; }

.gift-wrapping-title {
  margin: 9.5px 0; }
  .gift-wrapping-title .action-remove {
    margin-left: 4.75px; }

.gift-options-content .fieldset > .field {
  margin: 0 0 4.75px; }
  .gift-options-content .fieldset > .field:before {
    display: none; }

.gift-wrapping-summary .gift-wrapping-title {
  border: 0;
  display: inline-block;
  padding: 0; }

.opc-wrapper .data.table .gift-wrapping,
.table-order-items .gift-wrapping,
.table-order-review .gift-wrapping {
  margin: 19px 0; }
  .opc-wrapper .data.table .gift-wrapping .title,
  .table-order-items .gift-wrapping .title,
  .table-order-review .gift-wrapping .title {
    float: none; }
  .opc-wrapper .data.table .gift-wrapping .content,
  .table-order-items .gift-wrapping .content,
  .table-order-review .gift-wrapping .content {
    margin: 0; }
    .opc-wrapper .data.table .gift-wrapping .content > img,
    .table-order-items .gift-wrapping .content > img,
    .table-order-review .gift-wrapping .content > img {
      float: left;
      margin: 0 9.5px 0 0;
      max-height: 50px;
      max-width: 50px; }

.gift-summary .price-box,
.gift-options .price-box {
  margin-left: 22px; }

.gift-summary .regular-price:before,
.gift-options .regular-price:before {
  content: attr(data-label) ": "; }

.gift-summary .regular-price .price,
.gift-options .regular-price .price {
  font-weight: 700; }

.order-options .item {
  padding-bottom: 19px; }

.order-options .product {
  margin-bottom: 9.5px; }

.order-options .product-image-container {
  float: left;
  padding-right: 9.5px; }

.order-options .gift-wrapping {
  margin-bottom: 9.5px; }

@media only screen and (max-width: 767px) {
  .gift-wrapping {
    border-bottom: 1px solid #c1c1c1;
    margin-bottom: 19px;
    padding-bottom: 9.5px; }
  .gift-wrapping-list {
    width: 100%; }
  .gift-wrapping-preview img {
    width: 100%; }
  .item-actions .actions-toolbar .gift-options .gift-wrapping,
  .item-actions .actions-toolbar .gift-options .gift-message {
    display: block; } }

@media only screen and (min-width: 768px) {
  .gift-options-cart-item .gift-wrapping,
  .cart-gift-item .gift-wrapping {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    padding-right: 19px;
    width: 50%; }
    .gift-options-cart-item .gift-wrapping + .gift-message,
    .cart-gift-item .gift-wrapping + .gift-message {
      border-left: 1px solid #c1c1c1;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      float: left;
      padding-left: 4.5rem;
      width: 50%; } }

.table.grouped > thead > tr > th,
.table.grouped > thead > tr > td,
.table.grouped > tbody > tr > th,
.table.grouped > tbody > tr > td,
.table.grouped > tfoot > tr > th,
.table.grouped > tfoot > tr > td {
  border-top: 1px solid #d1d1d1; }

.table.grouped > caption + thead > tr:first-child > th,
.table.grouped > caption + thead > tr:first-child > td,
.table.grouped > colgroup + thead > tr:first-child > th,
.table.grouped > colgroup + thead > tr:first-child > td,
.table.grouped > thead:first-child > tr:first-child > th,
.table.grouped > thead:first-child > tr:first-child > td {
  border-top: 0; }

.table.grouped > tbody + tbody {
  border-top: 1px solid #d1d1d1; }

.table.grouped > thead > tr > th {
  border-bottom: 0; }

.table.grouped .product-item-name {
  font-weight: 400; }

.table.grouped .price-box .price {
  font-size: 14px; }

.table.grouped .stock.unavailable {
  font-weight: normal;
  margin: 0;
  text-transform: none;
  white-space: nowrap; }

.table.grouped .row-tier-price td {
  border-top: 0; }

.table.grouped .row-tier-price .prices-tier {
  margin: 0 -10px 10px; }

.form-add-invitations .action.add {
  display: inline-block;
  text-decoration: none;
  line-height: normal;
  padding: 2px 0;
  width: auto; }
  .form-add-invitations .action.add > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .form-add-invitations .action.add:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 31px;
    line-height: 22px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .form-add-invitations .action.add:hover:before {
    color: inherit; }
  .form-add-invitations .action.add:active:before {
    color: inherit; }

@media only screen and (max-width: 767px) {
  .form-add-invitations .additional,
  .form-add-invitations .field.text {
    margin-top: 19px; } }

@media only screen and (min-width: 768px) {
  .form-add-invitations .additional,
  .form-add-invitations .field.text {
    margin-top: 29px; }
  .table-invitations .col {
    width: 50%; } }

.block.filter {
  margin-bottom: 38px; }
  .block.filter .filter-title {
    margin-bottom: 19px; }
    .block.filter .filter-title strong {
      font-size: 18px; }

.block-subtitle {
  display: inline-block;
  margin-bottom: 9.5px; }

.filter-current .item {
  margin-bottom: 9.5px; }

.filter-current .filter-label {
  display: block;
  font-weight: 700; }
  .filter-current .filter-label:after {
    content: ':'; }

.filter-current + .filter-actions {
  margin-bottom: 28.5px; }

.filter-options {
  margin: 0; }
  .filter-options .filter-options-title {
    font-weight: 700;
    line-height: 1.1;
    font-size: 1.4rem;
    margin-top: 1.9rem;
    margin-bottom: 1.9rem;
    margin: 0 0 9.5px;
    word-break: break-all; }
  .filter-options .filter-options-content {
    margin: 0 0 23.75px; }
    .filter-options .filter-options-content .item {
      margin-bottom: 3px; }
  .filter-options .count {
    color: #7d7d7d; }
    .filter-options .count:before {
      content: '('; }
    .filter-options .count:after {
      content: ')'; }

.filtered .items {
  margin: 15px 0; }

.filtered .item {
  margin-bottom: 6px;
  padding-left: 22px;
  position: relative; }
  .filtered .item .label {
    font-weight: 700; }
  .filtered .item .action.remove {
    left: -6px;
    position: absolute;
    top: 0; }

.filtered + .actions {
  margin-bottom: 35px; }

@media only screen and (max-width: 1023px) {
  .page-with-filter .columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .page-with-filter .columns .sidebar-main {
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; } }

@media only screen and (min-width: 1024px) {
  .layered-filter-block-container {
    padding: 0.8rem;
    border: 1px solid #efefe8;
    border-radius: 0.4rem;
    background-color: #ffffff; } }

.map-popup-wrapper.popup .action.close {
  top: 9.5px; }

.map-popup {
  background: #fff;
  border: 1px solid #aeaeae;
  padding: 22px;
  width: 100%;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15);
          box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15);
  -webkit-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
  left: 0;
  margin-top: 9.5px;
  position: absolute;
  top: 0;
  z-index: 1001;
  display: none;
  opacity: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .map-popup .popup-header {
    margin: 0 0 25px;
    padding-right: 22px; }
    .map-popup .popup-header .title {
      font-weight: 300;
      line-height: 1.1;
      font-size: 1.8rem;
      margin-top: 1.425rem;
      margin-bottom: 0.95rem; }
  .map-popup .popup-content {
    margin: 9.5px 0 0; }
  .map-popup .popup-actions .action.close {
    position: absolute;
    display: inline-block;
    text-decoration: none;
    background-image: none;
    background: none;
    -moz-box-sizing: content-box;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    line-height: inherit;
    margin: 0;
    padding: 0;
    text-decoration: none;
    text-shadow: none;
    font-weight: 400;
    right: 9.5px;
    top: 9.5px; }
    .map-popup .popup-actions .action.close > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .map-popup .popup-actions .action.close:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 22px;
      line-height: 22px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .map-popup .popup-actions .action.close:hover:before {
      color: inherit; }
    .map-popup .popup-actions .action.close:active:before {
      color: inherit; }
    .map-popup .popup-actions .action.close:focus, .map-popup .popup-actions .action.close:active {
      background: none;
      border: none; }
    .map-popup .popup-actions .action.close:hover {
      background: none;
      border: none; }
    .map-popup .popup-actions .action.close.disabled, .map-popup .popup-actions .action.close[disabled],
    fieldset[disabled] .map-popup .popup-actions .action.close {
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.5; }
  .map-popup.active {
    opacity: 1; }
  .map-popup .map-info-price {
    margin-bottom: 15px; }
    .map-popup .map-info-price .price-box {
      margin: 0 0 19px; }
      .map-popup .map-info-price .price-box .label:after {
        content: ': '; }
  .map-popup .regular-price .price-label {
    display: none; }

.map-old-price:not(:last-child),
.product-info-price .map-show-info:not(:last-child) {
  margin-right: 9.5px; }

.map-old-price {
  text-decoration: none; }
  .map-old-price .price-wrapper {
    text-decoration: line-through; }

.map-form-addtocart {
  display: inline-block;
  text-align: center; }
  .map-form-addtocart img {
    display: block;
    margin: 0 auto; }

button.map-show-info, .page-layout-checkout .authentication-wrapper .map-show-info.action, .map-show-info.action-gift {
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  line-height: 1.42857;
  margin: 0;
  padding: 0;
  color: #333;
  text-decoration: underline;
  background: none;
  border: 0;
  display: inline; }
  button.map-show-info:focus, .page-layout-checkout .authentication-wrapper .map-show-info.action:focus, .map-show-info.action-gift:focus, button.map-show-info:active, .page-layout-checkout .authentication-wrapper .map-show-info.action:active, .map-show-info.action-gift:active {
    background: none;
    border: none; }
  button.map-show-info:hover, .page-layout-checkout .authentication-wrapper .map-show-info.action:hover, .map-show-info.action-gift:hover {
    background: none;
    border: none; }
  button.map-show-info.disabled, .page-layout-checkout .authentication-wrapper .map-show-info.disabled.action, .map-show-info.disabled.action-gift, button.map-show-info[disabled], .page-layout-checkout .authentication-wrapper .map-show-info.action[disabled], .map-show-info.action-gift[disabled],
  fieldset[disabled] button.map-show-info,
  fieldset[disabled] .page-layout-checkout .authentication-wrapper .map-show-info.action,
  .page-layout-checkout .authentication-wrapper fieldset[disabled] .map-show-info.action,
  fieldset[disabled] .map-show-info.action-gift {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }
  button.map-show-info:visited, .page-layout-checkout .authentication-wrapper .map-show-info.action:visited, .map-show-info.action-gift:visited {
    color: #333;
    text-decoration: none; }
  button.map-show-info:hover, .page-layout-checkout .authentication-wrapper .map-show-info.action:hover, .map-show-info.action-gift:hover {
    color: #a54f6c;
    text-decoration: none; }
  button.map-show-info:active, .page-layout-checkout .authentication-wrapper .map-show-info.action:active, .map-show-info.action-gift:active {
    color: #ff5501;
    text-decoration: none; }
  button.map-show-info:hover, .page-layout-checkout .authentication-wrapper .map-show-info.action:hover, .map-show-info.action-gift:hover {
    color: #a54f6c; }
  button.map-show-info:hover, .page-layout-checkout .authentication-wrapper .map-show-info.action:hover, .map-show-info.action-gift:hover, button.map-show-info:active, .page-layout-checkout .authentication-wrapper .map-show-info.action:active, .map-show-info.action-gift:active, button.map-show-info:focus, .page-layout-checkout .authentication-wrapper .map-show-info.action:focus, .map-show-info.action-gift:focus {
    background: none;
    border: 0; }
  button.map-show-info.disabled, .page-layout-checkout .authentication-wrapper .map-show-info.disabled.action, .map-show-info.disabled.action-gift, button.map-show-info[disabled], .page-layout-checkout .authentication-wrapper .map-show-info.action[disabled], .map-show-info.action-gift[disabled],
  fieldset[disabled] button.map-show-info,
  fieldset[disabled] .page-layout-checkout .authentication-wrapper .map-show-info.action,
  .page-layout-checkout .authentication-wrapper fieldset[disabled] .map-show-info.action,
  fieldset[disabled] .map-show-info.action-gift {
    color: #333;
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
    text-decoration: underline; }

@media only screen and (max-width: 767px) {
  .map-popup {
    max-width: 100%; }
  .map-old-price,
  .map-show-info {
    display: inline-block; }
    .map-old-price:not(:last-child),
    .map-show-info:not(:last-child) {
      margin-bottom: 9.5px; } }

.wishlist.split.button {
  display: inline-block;
  position: relative;
  vertical-align: middle; }
  .wishlist.split.button:before, .wishlist.split.button:after {
    content: '';
    display: table; }
  .wishlist.split.button:after {
    clear: both; }
  .wishlist.split.button .action.split {
    float: left;
    margin: 0; }
  .wishlist.split.button .action.toggle {
    float: right;
    margin: 0; }
  .wishlist.split.button button.action.split, .wishlist.split.button .page-layout-checkout .authentication-wrapper .action.split, .page-layout-checkout .authentication-wrapper .wishlist.split.button .action.split, .wishlist.split.button .action.split.action-gift {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0; }
  .wishlist.split.button button + .action.toggle, .wishlist.split.button .page-layout-checkout .authentication-wrapper .action + .action.toggle, .page-layout-checkout .authentication-wrapper .wishlist.split.button .action + .action.toggle, .wishlist.split.button .action-gift + .action.toggle {
    border-bottom-left-radius: 0;
    border-left: 0;
    border-top-left-radius: 0; }
  .wishlist.split.button .action.toggle {
    display: inline-block;
    text-decoration: none; }
    .wishlist.split.button .action.toggle > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .wishlist.split.button .action.toggle:after {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 22px;
      line-height: 22px;
      color: #333;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .wishlist.split.button .action.toggle:hover:after {
      color: #a54f6c; }
    .wishlist.split.button .action.toggle:active:after {
      color: inherit; }
    .wishlist.split.button .action.toggle.active {
      display: inline-block;
      text-decoration: none; }
      .wishlist.split.button .action.toggle.active > span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .wishlist.split.button .action.toggle.active:after {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 22px;
        line-height: 22px;
        color: #333;
        content: "";
        font-family: "duo-icons";
        margin: 0;
        vertical-align: top;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .wishlist.split.button .action.toggle.active:hover:after {
        color: #a54f6c; }
      .wishlist.split.button .action.toggle.active:active:after {
        color: inherit; }
  .wishlist.split.button .items {
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border: 1px solid #bbb;
    margin-top: 4px;
    min-width: 200px;
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: none;
    position: absolute;
    top: 100%;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15);
            box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15); }
    .wishlist.split.button .items li {
      margin: 0;
      padding: 5px 5px 5px 23px; }
      .wishlist.split.button .items li:hover {
        background: #e8e8e8;
        cursor: pointer; }
    .wishlist.split.button .items:before, .wishlist.split.button .items:after {
      border-bottom-style: solid;
      content: '';
      display: block;
      height: 0;
      position: absolute;
      width: 0; }
    .wishlist.split.button .items:before {
      border: 6px solid;
      border-color: transparent transparent #fff transparent;
      z-index: 99; }
    .wishlist.split.button .items:after {
      border: 7px solid;
      border-color: transparent transparent #bbb transparent;
      z-index: 98; }
    .wishlist.split.button .items:before {
      left: 10px;
      top: -12px; }
    .wishlist.split.button .items:after {
      left: 9px;
      top: -14px; }
  .wishlist.split.button.active {
    overflow: visible; }
    .wishlist.split.button.active .items {
      display: block; }
  .wishlist.split.button .items {
    text-align: left; }
    .wishlist.split.button .items .item:last-child:hover {
      background: #e8e8e8; }
  .table-comparison .wishlist.split.button > .action.split:before,
  .product-items .wishlist.split.button > .action.split:before {
    content: ""; }
  .table-comparison .wishlist.split.button > .action:active, .table-comparison .wishlist.split.button > .action:focus, .table-comparison .wishlist.split.button > .action:hover,
  .product-items .wishlist.split.button > .action:active,
  .product-items .wishlist.split.button > .action:focus,
  .product-items .wishlist.split.button > .action:hover {
    color: #a54f6c; }
  .table-comparison .wishlist.split.button > .action.toggle:before,
  .product-items .wishlist.split.button > .action.toggle:before {
    border-left: 1px solid gray;
    content: '';
    float: left;
    height: 15px;
    margin-top: 3px; }
  .product-info-main .wishlist.split.button .action.split, .product-info-main .wishlist.split.button .action.toggle,
  .block-bundle-summary .wishlist.split.button .action.split,
  .block-bundle-summary .wishlist.split.button .action.toggle,
  .product-add-form .wishlist.split.button .action.split,
  .product-add-form .wishlist.split.button .action.toggle {
    line-height: 1.4;
    padding: 4.75px 8px;
    font-size: 1.1rem; }
  .product-info-main .wishlist.split.button .action.toggle,
  .block-bundle-summary .wishlist.split.button .action.toggle,
  .product-add-form .wishlist.split.button .action.toggle {
    padding: 0; }
  .cart.table-wrapper .wishlist.split.button {
    margin-bottom: 9.5px; }
    .cart.table-wrapper .wishlist.split.button > .action.toggle {
      padding: 4px 4.75px; }

.wishlist.window.popup {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  border: 1px solid #aeaeae;
  padding: 22px;
  width: 100%;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15);
          box-shadow: 0 3px 3px rgba(0, 0, 0, 0.15);
  -webkit-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1001;
  display: none;
  opacity: 0; }
  .wishlist.window.popup .popup-header {
    margin: 0 0 25px;
    padding-right: 22px; }
    .wishlist.window.popup .popup-header .title {
      font-weight: 300;
      line-height: 1.1;
      font-size: 1.8rem;
      margin-top: 1.425rem;
      margin-bottom: 0.95rem; }
  .wishlist.window.popup .popup-actions .action.close {
    position: absolute;
    display: inline-block;
    text-decoration: none;
    background-image: none;
    background: none;
    -moz-box-sizing: content-box;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    line-height: inherit;
    margin: 0;
    padding: 0;
    text-decoration: none;
    text-shadow: none;
    font-weight: 400;
    right: 9.5px;
    top: 9.5px; }
    .wishlist.window.popup .popup-actions .action.close > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .wishlist.window.popup .popup-actions .action.close:before {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: 22px;
      line-height: 22px;
      color: inherit;
      content: "";
      font-family: "duo-icons";
      margin: 0;
      vertical-align: top;
      display: inline-block;
      font-weight: normal;
      overflow: hidden;
      speak: none;
      text-align: center; }
    .wishlist.window.popup .popup-actions .action.close:hover:before {
      color: inherit; }
    .wishlist.window.popup .popup-actions .action.close:active:before {
      color: inherit; }
    .wishlist.window.popup .popup-actions .action.close:focus, .wishlist.window.popup .popup-actions .action.close:active {
      background: none;
      border: none; }
    .wishlist.window.popup .popup-actions .action.close:hover {
      background: none;
      border: none; }
    .wishlist.window.popup .popup-actions .action.close.disabled, .wishlist.window.popup .popup-actions .action.close[disabled],
    fieldset[disabled] .wishlist.window.popup .popup-actions .action.close {
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.5; }
  .wishlist.window.popup.active {
    opacity: 1; }
  .wishlist.window.popup.active {
    display: block; }

.wishlist.overlay {
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  background: #000;
  z-index: 1000;
  bottom: 0;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0; }
  .wishlist.overlay.active {
    opacity: 0.5;
    filter: alpha(opacity=50); }
  .wishlist.overlay.active {
    display: block; }

.block-wishlist-management {
  position: relative; }
  .block-wishlist-management .wishlist-select .wishlist-name-label {
    font-weight: 600; }
  .block-wishlist-management .wishlist-title {
    margin-bottom: 9.5px; }
    .block-wishlist-management .wishlist-title strong {
      font-weight: 300;
      margin-right: 9.5px; }
  .block-wishlist-management .wishlist-notice {
    color: #7d7d7d;
    display: inline-block;
    margin-right: 19px; }
  .block-wishlist-management .wishlist-toolbar-select, .block-wishlist-management .wishlist-toolbar-actions {
    display: inline-block; }
  .block-wishlist-management .wishlist-toolbar-select {
    margin-right: 19px; }
  .block-wishlist-management .wishlist-dropdown.move {
    margin-right: 19px; }

.block-wishlist-search-form .form-wishlist-search {
  margin-bottom: 57px;
  max-width: 500px; }

.block-wishlist-search-results .toolbar-wishlist-results {
  text-align: center; }

.block-wishlist-info-items .block-title {
  margin-bottom: 19px;
  font-size: 2.2rem; }
  .block-wishlist-info-items .block-title > strong {
    font-weight: 300; }

.block-wishlist-info-items .product-item {
  width: 100%; }

.block-wishlist-info-items .product-item-photo {
  margin-left: 19px; }

.block-wishlist-info-items .product-item-info {
  width: auto; }
  .block-wishlist-info-items .product-item-info:hover .split {
    visibility: visible; }

.block-wishlist-info-items .price-wrapper {
  display: block;
  margin: 0 0 9.5px; }

.block-wishlist-info-items .split {
  clear: both;
  padding: 9.5px 0; }

.block-wishlist-info-items .action.towishlist {
  padding: 9.5px 0; }

.block-wishlist-info-items .input-text.qty {
  margin-right: 9.5px; }

@media only screen and (max-width: 767px) {
  .block-wishlist-management {
    clear: both;
    margin-top: -21px; }
    .block-wishlist-management .wishlist-select {
      margin: 0 -15px 20px; }
      .block-wishlist-management .wishlist-select-items {
        border-bottom: 1px solid #d1d1d1;
        background: #ffffff;
        display: none;
        padding: 15px 0; }
        .block-wishlist-management .wishlist-select-items.active {
          display: block; }
        .block-wishlist-management .wishlist-select-items .item {
          margin: 3px 0 0; }
          .block-wishlist-management .wishlist-select-items .item:first-child {
            margin-top: 0; }
          .block-wishlist-management .wishlist-select-items .item.current {
            display: none; }
          .block-wishlist-management .wishlist-select-items .item a {
            display: block;
            padding: 4.75px 18px;
            text-decoration: none; }
            .block-wishlist-management .wishlist-select-items .item a:hover {
              background: #e8e8e8; }
    .block-wishlist-management .wishlist-title strong {
      font-size: 2.6rem; }
    .block-wishlist-management .wishlist-info {
      margin-bottom: 15px; }
    .block-wishlist-management .wishlist-toolbar-select, .block-wishlist-management .wishlist-toolbar-actions {
      margin-bottom: 15px; }
  .products-grid.wishlist .product-item-checkbox {
    left: 20px;
    position: absolute;
    top: 20px; }
  .page-multiple-wishlist .products-grid.wishlist .product-item-photo {
    margin-left: 23.75px; }
  .page-multiple-wishlist .products-grid.wishlist .product-item-name, .page-multiple-wishlist .products-grid.wishlist .product-item-description, .page-multiple-wishlist
  .products-grid.wishlist .product-item .price-box, .page-multiple-wishlist .products-grid.wishlist .product-item-tooltip {
    margin-left: 115px; }
  .products-grid.wishlist .wishlist-dropdown {
    display: none; } }

@media only screen and (min-width: 768px) {
  .wishlist.window.popup {
    bottom: auto;
    top: 20%;
    left: 50%;
    margin-left: -212px;
    width: 380px;
    right: auto; }
    .wishlist.window.popup .field {
      margin: 0 0 19px; }
      .wishlist.window.popup .field:not(.choice) > .label {
        -webkit-box-sizing: content-box;
                box-sizing: content-box;
        float: none;
        width: auto;
        text-align: left;
        padding: 0; }
      .wishlist.window.popup .field:not(.choice) > .control {
        float: none;
        width: auto; }
      .wishlist.window.popup .field > .label {
        margin: 0 0 4.75px;
        display: inline-block; }
      .wishlist.window.popup .field.choice:before, .wishlist.window.popup .field.no-label:before {
        display: none; }
  .block-wishlist-management {
    margin-bottom: 19px; }
    .block-wishlist-management .wishlist-select {
      border-bottom: 1px solid #e8e8e8;
      display: table;
      margin-bottom: 15px;
      width: 100%; }
      .block-wishlist-management .wishlist-select .wishlist-name {
        display: table-cell;
        margin-right: 9.5px;
        padding: 4.75px 9.5px 9.5px;
        vertical-align: top;
        white-space: nowrap;
        width: 5%; }
      .block-wishlist-management .wishlist-select-items {
        display: table-cell;
        padding-right: 160px;
        vertical-align: top; }
        .block-wishlist-management .wishlist-select-items .item {
          display: inline-block;
          margin-right: 9.5px;
          padding: 4.75px 9.5px 9.5px; }
          .block-wishlist-management .wishlist-select-items .item:last-child {
            margin-right: 0; }
        .block-wishlist-management .wishlist-select-items .current {
          border-bottom: 3px solid #ff5501;
          font-weight: 600; }
      .block-wishlist-management .wishlist-select .wishlist-name-current {
        display: none; }
    .block-wishlist-management .wishlist-add.item {
      position: absolute;
      right: 0;
      top: 0; }
    .block-wishlist-management .wishlist-title strong {
      font-size: 4rem; }
    .block-wishlist-management .wishlist-info {
      float: left; }
    .block-wishlist-management .wishlist-toolbar {
      float: right; }
  .block-wishlist-info-items .product-item-photo {
    margin-left: 0; }
  .products-grid.wishlist .product-item-checkbox {
    float: left; }
    .products-grid.wishlist .product-item-checkbox + .product-item-name {
      margin-left: 23.75px; } }

.multicheckout .title {
  margin-bottom: 28.5px; }
  .multicheckout .title strong {
    font-weight: 400; }

.multicheckout .table-wrapper {
  margin-bottom: 0; }
  .multicheckout .table-wrapper .action.delete {
    display: inline-block; }
  .multicheckout .table-wrapper .col .qty {
    display: inline-block; }
  .multicheckout .table-wrapper .col.item .action.edit {
    font-weight: 400;
    margin-left: 9.5px; }

.multicheckout:not(.address) .table-wrapper .product-item-name {
  margin: 0; }

.multicheckout > .actions-toolbar {
  margin-top: 38px; }

.multicheckout .actions-toolbar > .secondary {
  display: block; }
  .multicheckout .actions-toolbar > .secondary .action {
    margin-bottom: 23.75px; }
    .multicheckout .actions-toolbar > .secondary .action.back {
      display: block;
      margin-left: 0; }

.multicheckout .actions-toolbar > .primary {
  margin-right: 9.5px; }

.multicheckout .item-options {
  margin: 9.5px 0 0; }

.multicheckout .block .methods-shipping .item-content .fieldset > .field:before {
  display: none; }

.multicheckout .block .methods-shipping .item-content .fieldset > .field .control {
  display: inline-block; }

.multicheckout .block-title,
.multicheckout .block-content .title {
  border-bottom: 1px solid #d1d1d1;
  padding-bottom: 9.5px; }
  .multicheckout .block-title strong,
  .multicheckout .block-content .title strong {
    font-weight: 400; }
    .multicheckout .block-title strong span,
    .multicheckout .block-content .title strong span {
      color: #a6a6a6; }

.multicheckout .block-content .title {
  border-bottom: none;
  padding-bottom: 0; }

.multicheckout.order-review .block-title > strong {
  font-size: 2.4rem; }

.multicheckout.order-review .block-shipping .block-content:not(:last-child) {
  margin-bottom: 38px; }

.multicheckout .box-title span {
  margin-right: 9.5px; }

.multicheckout .box-title > .action {
  margin: 0; }

.multicheckout .box-shipping-method .price {
  font-weight: 700; }

.multicheckout .box-billing-method .fieldset {
  margin: 0; }
  .multicheckout .box-billing-method .fieldset .legend.box-title {
    margin: 0 0 4.75px; }

.multicheckout .checkout-review .grand.totals {
  font-size: 2.1rem;
  margin-bottom: 38px; }
  .multicheckout .checkout-review .grand.totals .mark {
    font-weight: 400; }

[class^='multishipping-'] .logo {
  margin-left: 0; }

.multishipping-checkout-success .nav-sections {
  display: block; }

@media only screen and (max-width: 639px) {
  .multicheckout .data.table .address:before {
    margin-bottom: 4.75px; }
  .multicheckout .product-item-name,
  .multicheckout .price-including-tax,
  .multicheckout .price-excluding-tax {
    display: inline-block; }
  .multicheckout .block-content .box:not(:last-child) {
    margin-bottom: 38px; }
  .multicheckout .block-content .box:last-child {
    margin-bottom: 0; }
  .multicheckout.order-review .box-items .data.table thead {
    display: block; }
    .multicheckout.order-review .box-items .data.table thead tr {
      display: block; }
    .multicheckout.order-review .box-items .data.table thead .col.item {
      display: block;
      padding: 0; }
  .multicheckout .actions-toolbar .action {
    margin-bottom: 23.75px; }
  .multicheckout .actions-toolbar > .primary {
    margin-bottom: 23.75px;
    margin-right: 0; } }

@media only screen and (min-width: 640px) {
  .multicheckout .actions-toolbar .secondary {
    float: none;
    margin-top: 11px;
    text-align: right; }
    .multicheckout .actions-toolbar .secondary .action {
      margin-left: 9.5px; }
      .multicheckout .actions-toolbar .secondary .action.back {
        display: block;
        float: left; }
  .multicheckout .item-options {
    margin: 19px 0 0; }
  .multicheckout .block-content .box {
    margin-bottom: 0; }
  .multicheckout .block-shipping .box {
    float: left;
    width: 25%; }
  .multicheckout .block-shipping .box-shipping-method {
    padding-left: 23.75px;
    padding-right: 23.75px;
    width: 50%; }
    .multicheckout .block-shipping .box-shipping-method .fieldset .field:before {
      display: none; }
  .multicheckout .block-billing .box-billing-address {
    float: left;
    width: 25%; }
  .multicheckout .block-billing .box-billing-method {
    float: left;
    padding-left: 23.75px;
    width: 50%; }
  .multicheckout.form.address .table-wrapper .applicable {
    margin: 7px 0 0; }
  .multicheckout.order-review .box-items {
    clear: left;
    float: none;
    padding-top: 38px;
    width: auto; }
  .multicheckout.order-review .col.item {
    width: 75%; }
  .multicheckout .methods-payment .item-content > .fieldset {
    width: auto; }
    .multicheckout .methods-payment .item-content > .fieldset .field.cvv {
      display: inline-block;
      width: auto; }
  .multicheckout .methods-payment .fieldset > .field:not(.choice) > .label {
    float: none;
    margin-bottom: 8px;
    text-align: left;
    width: auto; }
  .multicheckout .methods-payment .fieldset > .field:not(.choice):not(.cvv) .control {
    width: 100%; } }

@media only screen and (max-width: 767px) {
  .multishipping-checkout-success .nav-toggle {
    display: block; }
  .multishipping-checkout-success .logo {
    margin-left: 38px; } }

.block.newsletter {
  margin-bottom: 38px; }
  .block.newsletter .form.subscribe {
    display: table;
    width: 100%; }
  .block.newsletter .fieldset {
    display: table-cell;
    margin: 0;
    padding: 0;
    vertical-align: top; }
  .block.newsletter .field {
    margin: 0; }
    .block.newsletter .field .control {
      display: inline-block;
      text-decoration: none;
      display: block; }
      .block.newsletter .field .control:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 35px;
        line-height: 33px;
        color: #c2c2c2;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .block.newsletter .field .control:before {
        position: absolute; }
  .block.newsletter input {
    padding-left: 35px; }
  .block.newsletter .title {
    display: none; }
  .block.newsletter .actions {
    display: table-cell;
    vertical-align: top;
    width: 1%; }
  .block.newsletter .action.subscribe {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    margin-left: -1px; }

@media only screen and (min-width: 768px) {
  .block.newsletter {
    width: 32%; }
    .block.newsletter .field {
      margin-right: 5px; }
      .block.newsletter .field .control {
        width: 100%; }
    .block.newsletter .action.subscribe {
      border-radius: 3px; } }

.paypal.after:before {
  content: "- " attr(data-label) " -";
  display: block;
  margin: 4.75px 4.75px 9.5px;
  text-transform: uppercase; }

.paypal.before:before {
  content: "- " attr(data-label) " -";
  display: block;
  margin: 9.5px 4.75px;
  text-align: center;
  text-transform: uppercase; }

.paypal.acceptance {
  display: block;
  margin: 0 0 19px; }
  .paypal.acceptance img {
    max-width: 100%; }

.box-tocart .paypal img,
.block-minicart .paypal img {
  display: block;
  margin: 0 auto; }

.paypal-review .paypa-review-title > strong {
  font-weight: 300;
  line-height: 1.1;
  font-size: 1.8rem;
  margin-top: 1.425rem;
  margin-bottom: 0.95rem;
  display: inline-block; }

.paypal-review .items-qty .item {
  white-space: nowrap; }

.paypal-review .items-qty .title:after {
  content: ': '; }

.paypal-review .paypal-review-title > strong {
  font-weight: 300;
  line-height: 1.1;
  font-size: 1.8rem;
  margin-top: 1.425rem;
  margin-bottom: 0.95rem;
  display: inline-block; }

.paypal-review .actions-toolbar {
  margin-top: 9.5px; }

.paypal-review .item-options dt {
  display: inline-block; }
  .paypal-review .item-options dt:after {
    content: ': '; }

.paypal-review .item-options dd {
  margin: 0; }

.paypal-review-discount {
  border-bottom: 1px solid #d1d1d1;
  margin: 19px 0; }
  .paypal-review-discount .block {
    margin-bottom: 0; }
    .paypal-review-discount .block .fieldset {
      padding: 9.5px 0 19px; }

@media only screen and (min-width: 768px) {
  .paypal-review .paypal-review-title {
    border-bottom: 1px solid #d1d1d1; }
  .paypal-review .block-content .box-order-shipping-address,
  .paypal-review .block-content .box-order-shipping-method,
  .paypal-review .block-content .box-order-shipping-method + .box-order-billing-address {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    width: 33%; }
  .paypal-review .block-content .box-order-shipping-address {
    padding: 0 5%;
    width: 34%; }
  .paypal-review .col.subtotal,
  .paypal-review .mark,
  .paypal-review .amount {
    text-align: right; } }

.fotorama-video-container:after {
  background: url(../Magento_ProductVideo/img/gallery-sprite.png) bottom right;
  bottom: 0;
  content: '';
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 12px;
  width: 100px; }

.fotorama-video-container .magnify-lens {
  display: none !important; }

.fotorama-video-container.video-unplayed:hover img {
  opacity: 0.6; }

.fotorama-video-container.video-unplayed:hover:after {
  -webkit-transform: scale(1.25);
      -ms-transform: scale(1.25);
          transform: scale(1.25); }

.video-thumb-icon:after {
  background: url(../Magento_ProductVideo/img/gallery-sprite.png) bottom left;
  bottom: 0;
  content: '';
  height: 40px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 10px;
  width: 49px; }

.product-video {
  bottom: 0;
  height: 75%;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%; }
  .product-video iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 9999; }

.fotorama__stage__shaft:focus .fotorama__stage__frame.fotorama__active:after {
  bottom: 0;
  content: '';
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 12px;
  width: 100px; }

.fotorama__product-video--loading:after {
  visibility: hidden; }

@media only screen and (min-device-width: 320px) and (max-device-width: 780px) and (orientation: landscape) {
  .product-video {
    height: 100%;
    width: 81%; } }

.rating-summary {
  overflow: hidden;
  white-space: nowrap; }
  .rating-summary .rating-result {
    width: 100px;
    display: inline-block;
    position: relative;
    vertical-align: middle; }
    .rating-summary .rating-result:before {
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 1;
      -webkit-font-smoothing: antialiased;
      color: #c7c7c7;
      font-family: "duo-icons";
      font-size: 28px;
      height: 28px;
      letter-spacing: -10px;
      line-height: 28px;
      content: "";
      display: block;
      font-style: normal;
      font-weight: normal;
      speak: none; }
    .rating-summary .rating-result > span {
      display: block;
      overflow: hidden; }
      .rating-summary .rating-result > span:before {
        position: relative;
        z-index: 2;
        -webkit-font-smoothing: antialiased;
        color: #ff5501;
        font-family: "duo-icons";
        font-size: 28px;
        height: 28px;
        letter-spacing: -10px;
        line-height: 28px;
        content: "";
        display: block;
        font-style: normal;
        font-weight: normal;
        speak: none; }
      .rating-summary .rating-result > span span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
  .rating-summary .rating-result {
    margin-left: -5px; }

.product-reviews-summary .rating-summary .label,
.table-reviews .rating-summary .label {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.review-control-vote {
  overflow: hidden; }
  .review-control-vote:before {
    color: #c7c7c7;
    font-family: "duo-icons";
    font-size: 28px;
    height: 28px;
    letter-spacing: -10px;
    line-height: 28px;
    font-style: normal;
    font-weight: normal;
    speak: none;
    vertical-align: top;
    -webkit-font-smoothing: antialiased;
    content: "";
    display: block;
    position: absolute;
    z-index: 1; }
  .review-control-vote input[type="radio"] {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
    .review-control-vote input[type="radio"]:focus + label:before, .review-control-vote input[type="radio"]:checked + label:before {
      opacity: 1; }
  .review-control-vote label {
    cursor: pointer;
    display: block;
    position: absolute; }
    .review-control-vote label span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .review-control-vote label:before {
      color: #ff5501;
      font-family: "duo-icons";
      font-size: 28px;
      height: 28px;
      letter-spacing: -10px;
      line-height: 28px;
      font-style: normal;
      font-weight: normal;
      speak: none;
      vertical-align: top;
      -webkit-font-smoothing: antialiased;
      opacity: 0; }
    .review-control-vote label:hover:before {
      opacity: 1; }
    .review-control-vote label:hover ~ label:before {
      opacity: 0; }
  .review-control-vote .rating-5 {
    z-index: 2; }
    .review-control-vote .rating-5:before {
      content: ""; }
  .review-control-vote .rating-4 {
    z-index: 3; }
    .review-control-vote .rating-4:before {
      content: ""; }
  .review-control-vote .rating-3 {
    z-index: 4; }
    .review-control-vote .rating-3:before {
      content: ""; }
  .review-control-vote .rating-2 {
    z-index: 5; }
    .review-control-vote .rating-2:before {
      content: ""; }
  .review-control-vote .rating-1 {
    z-index: 6; }
    .review-control-vote .rating-1:before {
      content: ""; }

.block.add.review {
  margin-bottom: 38px; }
  .block.add.review > .title {
    font-weight: 300;
    line-height: 1.1;
    font-size: 2.6rem;
    margin-top: 2.375rem;
    margin-bottom: 1.9rem; }
  .block.add.review .legend {
    font-weight: 300;
    line-height: 1.1;
    font-size: 1.8rem;
    margin-top: 1.425rem;
    margin-bottom: 0.95rem;
    margin: 0 0 19px; }
  .block.add.review .field.rating {
    display: table-row; }
    .block.add.review .field.rating .label {
      display: table-cell;
      padding: 4.75px 0;
      vertical-align: middle; }
    .block.add.review .field.rating .control {
      display: table-cell;
      vertical-align: top; }

.block.reviews.list > .title {
  font-weight: 300;
  line-height: 1.1;
  font-size: 2.6rem;
  margin-top: 2.375rem;
  margin-bottom: 1.9rem; }

.block.reviews.list .review.item {
  margin-bottom: 38px; }

.block.reviews.list .review.title {
  font-weight: 300;
  line-height: 1.1;
  font-size: 1.8rem;
  margin-top: 1.425rem;
  margin-bottom: 0.95rem; }

.data.table.reviews .rating-summary {
  margin-top: -4px; }

.customer-review.view {
  margin-bottom: 19px; }
  .customer-review.view .review.title,
  .customer-review.view .ratings-summary,
  .customer-review.view .product-details {
    margin-bottom: 19px; }

.product-reviews-summary {
  display: table;
  margin: 9.5px 0 12px; }
  .products.wrapper.list .product-reviews-summary {
    margin: 0 auto; }
  .product-reviews-summary.empty {
    margin-left: 0; }
  .product-reviews-summary .rating-summary {
    display: table-cell;
    left: -4.75px;
    position: relative;
    text-align: left;
    vertical-align: middle; }
  .product-reviews-summary .reviews-actions {
    display: table-cell;
    line-height: 28px;
    vertical-align: middle; }
    .product-reviews-summary .reviews-actions a {
      margin-right: 4.75px; }

@media only screen and (min-width: 768px) {
  .products.wrapper.list .product-reviews-summary {
    margin: 0; } }

.customer-review .product-details {
  margin-bottom: 38px; }

.customer-review .product-media {
  float: left;
  margin-right: 3%;
  max-width: 285px;
  width: 30%; }

.customer-review .review-details .customer-review-rating {
  margin-bottom: 19px; }
  .customer-review .review-details .customer-review-rating .item {
    margin-bottom: 9.5px; }
    .customer-review .review-details .customer-review-rating .item:last-child {
      margin-bottom: 0; }

.customer-review .review-details .review-title {
  font-weight: 300;
  line-height: 1.1;
  font-size: 1.8rem;
  margin-top: 1.425rem;
  margin-bottom: 0.95rem;
  font-weight: 600;
  margin-bottom: 19px; }

.customer-review .review-details .review-content {
  margin-bottom: 19px; }

.customer-review .product-reviews-summary .rating-summary,
.customer-review .product-reviews-summary .reviews-actions {
  display: block; }

.review-field-ratings .nested {
  display: table; }

.review-field-ratings .review-field-rating {
  display: table-row; }
  .review-field-ratings .review-field-rating .label,
  .review-field-ratings .review-field-rating .control {
    display: table-cell;
    padding-bottom: 9.5px;
    vertical-align: top; }
  .review-field-ratings .review-field-rating .label {
    padding-right: 9.5px;
    padding-top: 6px; }
  .review-field-ratings .review-field-rating .control {
    padding-top: 2px; }

.review-toolbar {
  border-top: 1px solid #c9c9c9;
  margin: 0 0 19px;
  text-align: center; }
  .review-toolbar:first-child {
    display: none; }
  .review-toolbar .pages {
    border-bottom: 1px solid #c9c9c9;
    display: block;
    padding: 19px 0;
    text-align: center; }
  .review-toolbar .limiter {
    display: none; }

.review-add .block-title {
  display: none; }

.review-form .action.submit.primary {
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff; }
  .review-form .action.submit.primary:focus, .review-form .action.submit.primary:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  .review-form .action.submit.primary:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }

.fieldset .review-legend.legend {
  margin-bottom: 19px; }
  .fieldset .review-legend.legend strong {
    display: block;
    margin-left: 0; }

.review-field-rating .control {
  margin-bottom: 45.6px;
  margin-top: 9.5px; }

.review-list {
  margin-bottom: 28.5px; }
  .review-list .block-title strong {
    font-weight: 300;
    line-height: 1.1;
    font-size: 2.6rem;
    margin-top: 2.375rem;
    margin-bottom: 1.9rem; }

.review-item {
  border-bottom: 1px solid #c9c9c9;
  margin: 0;
  padding: 19px 0; }
  .review-item:after {
    clear: both;
    content: '';
    display: table; }
  .review-item:last-child {
    border-width: 0; }

.review-ratings {
  display: table;
  margin-bottom: 9.5px;
  max-width: 100%; }

.review-author {
  display: inline; }

.review-title {
  font-weight: 300;
  line-height: 1.1;
  font-size: 1.8rem;
  margin-top: 1.425rem;
  margin-bottom: 0.95rem;
  margin: 0 0 19px; }

.review-content {
  margin-bottom: 19px; }

@media only screen and (min-width: 640px) {
  .review-form {
    max-width: 500px; }
  .review-ratings {
    float: left;
    margin-bottom: 0;
    max-width: 242px; }
  .review-ratings ~ .review-content,
  .review-ratings ~ .review-details {
    margin-left: 280px; }
  .review-toolbar {
    margin: 0 0 30px; }
    .review-toolbar .pages {
      padding: 30px 0; }
  .fieldset .review-legend.legend {
    margin-bottom: 30px; }
  .review-item {
    padding: 30px 0; }
  .review-title {
    margin: 0 0 30px; } }

.block-reward-info .reward-rates:not(:last-child),
.block-reward-info .reward-limit:not(:last-child),
.block-reward-info .reward-expiring:not(:last-child) {
  margin-bottom: 23.75px; }

.block-reward-info .reward-rates .title,
.block-reward-info .reward-limit .title,
.block-reward-info .reward-expiring .title {
  display: inline-block;
  margin-bottom: 9.5px; }

@media only screen and (max-width: 767px) {
  .reward-settings + .actions-toolbar {
    margin-top: 10px; } }

@media only screen and (min-width: 768px) {
  .reward-settings + .actions-toolbar {
    margin-top: -32px; } }

.form-create-return .field .control > span,
.form-create-return .field address {
  display: inline-block;
  padding-top: 6px; }

.form-create-return .additional:first-child {
  margin-top: 0; }

.form-create-return .additional .field:nth-last-child(2) {
  margin-bottom: 0; }

.form-create-return .additional .field:last-child {
  margin-top: 19px; }

.form-create-return .field.comment {
  margin-top: 55px; }

.block-returns-comments .returns-comments dt,
.block-returns-comments .returns-comments dd {
  margin: 0; }

.block-returns-comments .returns-comments dt {
  font-weight: 400; }

.block-returns-comments .returns-comments dd {
  margin-bottom: 15px; }
  .block-returns-comments .returns-comments dd:last-child {
    margin-bottom: 0; }

.block-returns-comments .fieldset {
  margin-bottom: 20px; }

.magento-rma-returns-returns .page-title-wrapper .page-title,
.magento-rma-guest-returns .page-title-wrapper .page-title,
.magento-rma-returns-view .page-title-wrapper .page-title {
  margin-right: 25px; }

@media only screen and (max-width: 767px) {
  .account .column.main .returns-details-items .block-returns-tracking .block-title > .action.track {
    display: block;
    float: none;
    margin: 9.5px 0 0; } }

@media only screen and (min-width: 768px) {
  .form-create-return .additional .field:last-child {
    margin-top: 29px; }
  .magento-rma-guest-returns .column.main .block:not(.widget) .block-content .box {
    margin-bottom: 19px; }
  .block-returns-tracking .block-title .action {
    margin: 0 0 0 30px; }
  .block-returns-tracking .block-title .actions-track {
    float: right;
    margin-top: 12px; } }

.order-links {
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 10px; }
  .order-links .item {
    display: inline-block;
    margin-right: 20px; }

.order-actions-toolbar .action {
  margin: 0 20px 0 0; }

.order-details-items {
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 20px;
  padding-bottom: 10px; }
  .order-details-items .order-title > strong {
    font-weight: 300;
    line-height: 1.1;
    font-size: 1.8rem;
    margin-top: 1.425rem;
    margin-bottom: 0.95rem;
    display: inline-block; }
  .order-details-items .items-qty .item {
    white-space: nowrap; }
  .order-details-items .items-qty .title:after {
    content: ': '; }
  .order-details-items .table-order-items .product-item-name {
    margin-top: 0; }
  .order-details-items .table-order-items tbody + tbody {
    border-top: 1px solid #d1d1d1; }
  .order-details-items .item-options dt {
    margin: 0; }
  .order-details-items .item-options dd {
    margin: 0 0 15px; }
  .order-details-items .item-options.links dt {
    display: inline-block; }
    .order-details-items .item-options.links dt:after {
      content: ': '; }
  .order-details-items .item-options.links dd {
    margin: 0; }

.order-pager-wrapper .toolbar-amount {
  padding-top: 3px; }

.order-pager-wrapper .pages-items .item:first-child, .order-pager-wrapper .pages-items .item:last-child {
  margin-right: 0; }

.order-actions-toolbar .action {
  margin-right: 20px; }
  .order-actions-toolbar .action.print {
    margin: 0; }
    .order-actions-toolbar .action.print::before {
      margin-right: 0.8rem; }

.page-title-wrapper .order-date {
  margin: 0 0 19px; }

.account .page-title-wrapper .page-title,
[class^='sales-guest-'] .page-title-wrapper .page-title,
.sales-guest-view .page-title-wrapper .page-title {
  margin-right: 23.75px; }

.form-orders-search .field.email, .form-orders-search .field.zip {
  margin-bottom: 0; }

.block-reorder .product-item .checkbox {
  position: relative;
  top: 2px;
  vertical-align: baseline; }

.block-reorder .product-item .field.item {
  display: inline-block; }

.block-reorder .product-item-name {
  display: inline-block; }

.block-reorder .actions-toolbar {
  margin: 17px 0;
  max-width: 178px; }

.block-order-details-comments {
  margin: 0 0 40px; }
  .block-order-details-comments .comment-date {
    font-weight: 600; }
  .block-order-details-comments .comment-content {
    line-height: 1.6;
    margin: 0 0 20px; }

.block-order-details-view .box-content .payment-method .title {
  font-weight: 400; }

.block-order-details-view .box-content .payment-method .content {
  margin: 0; }
  .block-order-details-view .box-content .payment-method .content > strong {
    font-weight: 400; }
    .block-order-details-view .box-content .payment-method .content > strong:after {
      content: ': '; }

.order-tracking {
  border-bottom: 1px solid #d1d1d1;
  margin: 0;
  padding: 20px 0; }
  .order-tracking .tracking-title {
    display: inline-block; }
  .order-tracking .tracking-content {
    display: inline-block;
    margin: 0 0 0 5px; }

@media only screen and (max-width: 639px) {
  .account .order-details-items .table-order-items .product-item-name,
  .account .order-details-items .table-order-items .price-including-tax,
  .account .order-details-items .table-order-items .price-excluding-tax,
  .account .order-details-items .table-order-items .items-qty {
    display: inline-block;
    vertical-align: top; }
  .account .toolbar .pages {
    float: right; }
  .account .toolbar .limiter {
    clear: both; }
  .order-details-items thead {
    display: block; }
    .order-details-items thead tr,
    .order-details-items thead td {
      display: block; }
  .table-wrapper .table.table-order-items tfoot td.order-pager-wrapper {
    width: 100%; } }

@media only screen and (max-width: 767px) {
  .order-pager-wrapper .toolbar-amount {
    left: inherit;
    position: relative;
    text-align: center;
    top: inherit; }
  .order-pager-wrapper .pages {
    text-align: center; }
  .order-pager-wrapper .action.previous,
  .order-pager-wrapper .action.next {
    margin: 0; } }

@media only screen and (min-width: 768px) {
  .table-order-items .subtotal,
  .table-order-items .amount {
    text-align: right; }
  .table-order-items.creditmemo .col.qty, .table-order-items.creditmemo .col.discount, .table-order-items.creditmemo .col.subtotal {
    text-align: center; }
  .table-order-items.creditmemo .col.total {
    text-align: right; }
  .order-pager-wrapper .order-pager-wrapper-top {
    padding-left: 0;
    padding-right: 0; }
  .order-pager-wrapper .pages {
    float: right; }
  .order-actions-toolbar .action.print {
    display: block;
    float: right; }
  .page-title-wrapper .order-date {
    /* $order-status-indent: ceil($h1__margin-bottom__desktop/2); */
    /*  @include lib-css(margin-top, -$order-status-indent); */ }
  [class^='sales-guest-'] .column.main .block:not(.widget) .block-content .box,
  .sales-guest-view .column.main .block:not(.widget) .block-content .box {
    margin-bottom: 19px; } }

.opc-wrapper .form-discount {
  max-width: 500px; }

.action.mailto.friend {
  margin-left: -7px;
  display: inline-block;
  text-decoration: none; }
  .action.mailto.friend:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 28px;
    line-height: 28px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .action.mailto.friend span {
    display: inline-block;
    line-height: 28px;
    vertical-align: top; }

.swatch-attribute-label {
  font-weight: bold;
  position: relative; }

.swatch-attribute-label.required {
  padding-right: 10px; }

.swatch-attribute-label[data-required="1"]:after {
  content: '*';
  color: red;
  position: absolute;
  right: -11px;
  top: -2px;
  font-weight: bold;
  font-size: 1em; }

.swatch-attribute-selected-option {
  color: #646464;
  padding-left: 17px; }

.swatch-attribute-options {
  margin-top: 10px; }

.swatch-option {
  padding: 1px 2px;
  min-width: 30px;
  max-width: 90px;
  height: 20px;
  float: left;
  margin: 0 10px 5px 0;
  text-align: center;
  cursor: pointer;
  position: relative;
  border: 1px solid #dadada;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis; }

.swatch-option.text {
  background: #f0f0f0;
  color: #686868;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  padding: 4px 8px;
  min-width: 22px;
  margin-right: 7px; }

.swatch-option.selected {
  outline: 2px solid #ff5501;
  border: 1px solid #fff;
  color: #333; }

.swatch-option.text.selected {
  background-color: #fff !important; }

.clearfix:after {
  content: '';
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }

.swatch-attribute.size .swatch-option,
.swatch-attribute.manufacturer .swatch-option {
  background: #f0f0f0;
  color: #949494; }

.swatch-attribute.size .swatch-option.selected,
.swatch-attribute.manufacturer .swatch-option.selected {
  color: black;
  background: #fff;
  border: 1px solid #fff; }

.swatch-option:not(.disabled):hover {
  outline: 1px solid #999;
  border: 1px solid #fff;
  color: #333; }

.swatch-option.image:not(.disabled):hover,
.swatch-option.color:not(.disabled):hover {
  outline: 2px solid #ee0000;
  border: 1px solid #fff; }

.swatch-option.disabled {
  cursor: default; }

.swatch-option.disabled:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: -webkit-gradient(linear, right bottom, left top, from(rgba(255, 255, 255, 0)), color-stop(42%, rgba(255, 255, 255, 0)), color-stop(43%, white), color-stop(46%, white), color-stop(47%, #ff5216), color-stop(53%, #ff5216), color-stop(54%, white), color-stop(57%, white), color-stop(58%, rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0)));
  background: -o-linear-gradient(right bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 42%, white 43%, white 46%, #ff5216 47%, #ff5216 53%, white 54%, white 57%, rgba(255, 255, 255, 0) 58%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to left top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 42%, white 43%, white 46%, #ff5216 47%, #ff5216 53%, white 54%, white 57%, rgba(255, 255, 255, 0) 58%, rgba(255, 255, 255, 0) 100%); }

.swatch-option-tooltip {
  max-width: 140px;
  max-height: 100%;
  min-height: 20px;
  min-width: 20px;
  position: absolute;
  padding: 5px;
  background: #fff;
  color: #949494;
  border: 1px solid #adadad;
  display: none;
  z-index: 999;
  text-align: center; }

.swatch-option-tooltip .corner,
.swatch-option-tooltip-layered .corner {
  left: 40%;
  position: absolute;
  bottom: 0;
  height: 8px; }

.swatch-option-tooltip .corner:after,
.swatch-option-tooltip-layered .corner:after {
  content: '';
  position: relative;
  top: 1px;
  left: -15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 7.5px 0 7.5px;
  border-color: #fff transparent transparent transparent;
  font-size: 1px; }

.swatch-option-tooltip .corner:before,
.swatch-option-tooltip-layered .corner:before {
  content: '';
  position: relative;
  top: 2px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8.5px 0 8.5px;
  border-color: #adadad transparent transparent transparent;
  font-size: 1px; }

.swatch-option-tooltip .image,
.swatch-option-tooltip-layered .image {
  display: block;
  height: 130px;
  width: 130px;
  margin: 0 auto; }

.swatch-option-tooltip .title {
  max-width: 140px;
  min-height: 20px;
  max-height: 200px;
  color: #282828;
  text-align: center;
  display: block;
  overflow: hidden; }

.swatch-opt {
  margin: 20px 0; }

.swatch-more {
  display: inline-block;
  margin: 2px 0;
  text-decoration: none !important;
  position: static;
  z-index: 1; }

.swatch-option-link-layered {
  position: relative;
  margin: 0 !important;
  padding: 0 !important; }

.swatch-option-link-layered:focus > div {
  -webkit-box-shadow: 0 0 3px 1px #68a8e0;
          box-shadow: 0 0 3px 1px #68a8e0; }

.swatch-option-tooltip-layered {
  width: 140px;
  position: absolute;
  background: #fff;
  color: #949494;
  border: 1px solid #adadad;
  display: none;
  z-index: 999;
  left: -47px; }

.swatch-visual-tooltip-layered {
  height: 160px;
  top: -170px; }

.swatch-textual-tooltip-layered {
  height: 30px;
  top: -40px; }

.swatch-option-link-layered:hover > .swatch-option-tooltip-layered {
  display: block; }

.swatch-attribute-options .swatch-option-tooltip-layered .title {
  width: 100%;
  height: 20px;
  position: absolute;
  bottom: -5px;
  left: 0;
  color: #282828;
  text-align: center;
  margin-bottom: 10px; }

.swatch-option-disabled:after {
  content: '';
  position: absolute;
  width: 42px;
  height: 2px;
  background: red;
  -webkit-transform: rotate(-30deg);
      -ms-transform: rotate(-30deg);
          transform: rotate(-30deg);
  z-index: 995;
  left: -4px;
  top: 10px; }

.swatch-option-disabled {
  outline: none !important;
  cursor: default;
  border: 0; }

.swatch-opt-listing {
  margin-bottom: 10px; }

.swatch-option-loading {
  content: url(../Magento_Swatches/images/loader-2.gif); }

.swatch-input {
  left: -1000px;
  position: absolute;
  visibility: hidden; }

.message.global p {
  margin: 0; }

.message.global.noscript {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #b8b496;
  border-color: #b8b496;
  color: #ffffff;
  margin: 0; }
  .message.global.noscript a {
    color: #3b4a4b; }
    .message.global.noscript a:hover {
      color: #3b4a4b; }
    .message.global.noscript a:active {
      color: #3b4a4b; }

.message.global.cookie {
  max-width: 1335px;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 20px;
  margin: 0 auto;
  position: fixed;
  z-index: 300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  pointer-events: none; }
  .message.global.cookie .content {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 32rem;
            flex: 1 0 32rem;
    max-width: 44rem;
    padding: 2rem;
    pointer-events: all;
    -webkit-box-shadow: 0 -0.5rem 1rem rgba(0, 0, 0, 0.15);
            box-shadow: 0 -0.5rem 1rem rgba(0, 0, 0, 0.15);
    background-color: #6c7778;
    color: #ffffff; }
    .message.global.cookie .content a {
      color: #b8b496; }
  .message.global.cookie .actions {
    margin-top: 19px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .message.global.cookie .actions button, .message.global.cookie .actions .page-layout-checkout .authentication-wrapper .action, .page-layout-checkout .authentication-wrapper .message.global.cookie .actions .action, .message.global.cookie .actions .action-gift {
      padding: 1rem 1.5rem;
      border: 0.2rem solid #ffffff;
      background-color: #ffffff;
      color: #3b4a4b;
      font-size: 1.4rem;
      font-weight: 600; }
      .message.global.cookie .actions button:hover, .message.global.cookie .actions .page-layout-checkout .authentication-wrapper .action:hover, .page-layout-checkout .authentication-wrapper .message.global.cookie .actions .action:hover, .message.global.cookie .actions .action-gift:hover, .message.global.cookie .actions button:focus, .message.global.cookie .actions .page-layout-checkout .authentication-wrapper .action:focus, .page-layout-checkout .authentication-wrapper .message.global.cookie .actions .action:focus, .message.global.cookie .actions .action-gift:focus {
        border-color: #b8b496;
        background-color: #3b4a4b;
        color: #ffffff; }

.message.global.demo {
  margin: 0;
  padding: 9.5px 19px;
  display: block;
  font-weight: 500;
  line-height: 2.5rem;
  font-size: 1.5rem;
  border: 1px solid;
  background: #b8b496;
  border-color: #b8b496;
  color: #ffffff;
  margin-bottom: 0;
  text-align: center; }
  .message.global.demo a {
    color: #3b4a4b; }
    .message.global.demo a:hover {
      color: #3b4a4b; }
    .message.global.demo a:active {
      color: #3b4a4b; }

.widget {
  clear: both; }

.page-header .widget.block,
.page-footer .widget.block {
  margin: 19px 0; }

.ui-datepicker td {
  padding: 0; }

@media only screen and (min-width: 768px) {
  .page-wrapper > .breadcrumbs,
  .page-wrapper > .top-container,
  .page-wrapper > .widget {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%; }
  .navigation ul {
    padding: 0 8px; } }

.page-header {
  background-color: #ffffff; }
  .page-header .panel.wrapper {
    border-bottom: 1px solid #e8e8e8; }

.header.content {
  padding-top: 9.5px;
  position: relative; }

/** --------------------------------------------------
*   #header top
*   -------------------------------------------------- */
.header__top {
  background-color: #ffffff;
  border-bottom: 0.1rem solid #efefe8; }

.header__top__inner {
  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-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1335px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem; }

/** --------------------------------------------------
*   #custom brand tagline
*   -------------------------------------------------- */
.brand-by {
  padding-right: 2rem;
  color: #e1271e;
  font-family: "Open Sans", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: 1.3rem;
  line-height: 3.2rem; }

/** --------------------------------------------------
*   #switcher (language, store)
*   -------------------------------------------------- */
.page-header .header .switcher {
  margin-right: 0; }
  .page-header .header .switcher .options .action.toggle {
    font-size: 1.3rem; }
    .page-header .header .switcher .options .action.toggle strong {
      font-weight: 500; }
    .page-header .header .switcher .options .action.toggle.active::after, .page-header .header .switcher .options .action.toggle::after {
      margin-left: 0.4rem;
      font-weight: 500;
      line-height: 18px; }

/** --------------------------------------------------
*   #header bottom
*   -------------------------------------------------- */
.header__bottom {
  padding: 0;
  background-color: #ffffff; }

.header__bottom__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/** --------------------------------------------------
*   #logos
*   -------------------------------------------------- */
.logo,
.logo--mobile {
  margin: 0 auto 0 0;
  max-width: 50%;
  position: relative;
  z-index: 5; }
  .logo img,
  .logo--mobile img {
    display: block;
    margin: 0; }

.logo--mobile {
  width: 26.2rem;
  padding: 0.2rem 0.8rem; }

.logo {
  display: none; }

/** --------------------------------------------------
*   #search
*   -------------------------------------------------- */
.block-search {
  float: none;
  width: auto;
  padding: 0;
  height: 100%; }
  .block-search.is-open .minisearch-btn, .block-search.is-auto-open .minisearch-btn {
    display: none; }
  .block-search.is-open .minisearch, .block-search.is-auto-open .minisearch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .block-search .block-content {
    position: relative; }
  .block-search .minisearch-btn {
    position: relative;
    z-index: 20; }
  .block-search .minisearch {
    display: none;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .block-search .minisearch .search,
    .block-search .minisearch .actions {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 auto;
              flex: 0 1 auto; }
  .block-search .control {
    padding: 0;
    height: 100%; }
  .block-search input {
    width: 100%;
    padding: 1.5rem 2rem;
    border-radius: 0;
    border-top: none;
    border-bottom: none;
    border-right: none;
    border-left: 0.1rem solid #efefe8;
    outline: 0;
    height: 100%; }
    @media only screen and (min-width: 768px) {
      .block-search input {
        padding: 1rem 2rem; }
        .js-focus-visible .block-search input:focus:not(.focus-visible), .block-search input:focus {
          border: 0.1rem solid #7e8889;
          border-bottom: 0.4rem solid #b8b496; } }
  @media only screen and (min-width: 768px) {
    .block-search .actions .action.search {
      position: relative;
      right: 0;
      opacity: 1;
      border-radius: 0;
      cursor: pointer;
      pointer-events: auto;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 5.4rem;
      width: 5.4rem;
      padding: 1rem;
      border-right: 0.1rem solid #efefe8;
      border-left: 0.1rem solid #efefe8; }
      .block-search .actions .action.search::before {
        display: none; }
      .block-search .actions .action.search:hover, .block-search .actions .action.search:focus {
        background-color: #f9f9f7; } }

.minisearch-btn {
  padding: 0.8rem;
  background-color: transparent;
  border-radius: 0;
  border-top: none;
  border-bottom: none;
  border-right: 0.1rem solid #efefe8;
  border-left: 0.1rem solid #efefe8; }
  @media (hover: hover) {
    .minisearch-btn:hover, .minisearch-btn:focus {
      background-color: #f9f9f7;
      border-radius: 0;
      border-top: none;
      border-bottom: none;
      border-right: 0.1rem solid #efefe8;
      border-left: 0.1rem solid #efefe8; } }

/* ACCOUNT LINKS */
/* ************* */
.header.links {
  margin: 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .header.links > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    margin: 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
    .header.links > li > a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 1rem 2rem;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      color: #000000;
      font-size: 1.4rem;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap; }
      .header.links > li > a.account__link::before {
        content: "";
        margin-right: 0.8rem;
        color: #3b4a4b;
        font-family: "duo-icons";
        font-size: 1.8rem; }
      .header.links > li > a::after {
        content: '';
        position: absolute;
        -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
                transform-origin: center center;
        -webkit-transition: 0.2s ease-out;
        -o-transition: 0.2s ease-out;
        transition: 0.2s ease-out;
        bottom: -0.1rem;
        left: 50%;
        width: 0;
        height: 0.4rem;
        background-color: #b8b496; }
      .header.links > li > a:hover::after {
        left: 0;
        width: 100%; }
    .header.links > li.authorization-link--signout > a::before {
      content: "";
      margin-right: 0.8rem;
      color: #3b4a4b;
      font-family: "duo-icons";
      font-size: 1.8rem; }

/* CART */
/* **** */
.minicart-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .minicart-wrapper > .action {
    position: relative;
    text-decoration: none; }
    .minicart-wrapper > .action, .minicart-wrapper > .action.active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 0;
          -ms-flex: 0 1 auto;
              flex: 0 1 auto; }
      .minicart-wrapper > .action::before, .minicart-wrapper > .action.active::before {
        content: none; }
    .minicart-wrapper > .action.active {
      text-decoration: none; }
  .minicart-wrapper .cart__link__icon {
    display: inline-block; }
  .minicart-wrapper .cart__link__text {
    margin: 0 0 0 0.8rem;
    color: #000000;
    font-size: 1.4rem;
    font-weight: 600; }
  .minicart-wrapper .counter.qty {
    float: right;
    border-radius: 0;
    display: inline-block;
    margin: 0 0 0 0.5rem;
    min-width: 1.8rem;
    overflow: hidden;
    padding: 0 0.5rem;
    text-align: center;
    white-space: normal;
    color: #3b4a4b;
    background-color: #f6f6f5; }
  .minicart-wrapper .counter-label {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }

/* GENERAL */
/* ******** */
.page-main > .page-title-wrapper .page-title + .action {
  margin-top: 28.5px; }

.action.skip:focus {
  background: #f0f0f0;
  padding: 9.5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 15; }

.action-skip-wrapper {
  height: 0;
  position: relative; }

@media only screen and (max-width: 767px) {
  .panel.header__top {
    display: none; }
  .header__bottom__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  /* Account links */
  .header.links > li > a {
    height: 4.8rem;
    width: 4.8rem;
    overflow: hidden;
    padding: 0; }
    .header.links > li > a::before {
      padding: 0 1.5rem;
      margin-right: 0; }
    .header.links > li > a::after {
      content: none; }
  /* Minicart */
  .minicart-wrapper {
    border-right: 0.1rem solid #efefe8; }
    .minicart-wrapper .action.showcart {
      height: 4.8rem;
      padding: 0 1.5rem; }
  .cart__link__text {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  /* Search */
  .minisearch-btn {
    height: 4.8rem;
    min-width: 4.8rem; }
    .minisearch-btn svg {
      margin: 0 auto; } }

@media only screen and (min-width: 768px) {
  #switcher-language-mobile {
    display: none; }
  .header.panel > .header.links {
    float: right;
    font-size: 0;
    margin-left: auto; }
    .header.panel > .header.links > li {
      display: inline-block;
      vertical-align: top; }
    .header.panel > .header.links > li {
      font-size: 14px;
      margin: 0 0 0 15px; }
      .header.panel > .header.links > li.welcome,
      .header.panel > .header.links > li a {
        line-height: 1.4; }
      .header.panel > .header.links > li.welcome a {
        padding-left: 4.75px; }
  .header__bottom__inner {
    max-width: 1335px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 2rem;
    padding-right: 2rem; }
  .header.content {
    padding: 28.5px 19px 0; }
  .page-header {
    border: 0;
    margin-bottom: 0; }
    .page-header .switcher {
      display: inline-block; }
  .page-top {
    border-bottom: 1px solid #e8e8e8; }
  .page-main > .page-title-wrapper .page-title {
    display: inline-block; }
  .page-main > .page-title-wrapper .page-title + .action {
    float: right;
    margin-top: 19px; }
  .logo--mobile {
    -ms-flex-item-align: center;
        align-self: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 26.2rem;
            flex: 0 0 26.2rem; }
  .minisearch-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 5.4rem;
    height: 5.4rem; }
  .minicart-wrapper .action.showcart {
    padding: 1rem 0 1rem 2rem; }
    .minicart-wrapper .action.showcart::after {
      content: '';
      position: absolute;
      -webkit-transform-origin: center center;
          -ms-transform-origin: center center;
              transform-origin: center center;
      -webkit-transition: 0.2s ease-out;
      -o-transition: 0.2s ease-out;
      transition: 0.2s ease-out;
      bottom: -0.1rem;
      left: 50%;
      width: 0;
      height: 0.4rem;
      background-color: #b8b496; }
    .minicart-wrapper .action.showcart:hover::after, .minicart-wrapper .action.showcart.active::after {
      left: 0;
      width: calc(100% + 2rem); } }

.page-footer {
  margin-top: 3.2rem;
  background: #ffffff; }

.page-footer__main {
  padding: 4rem 3.2rem;
  border-top: 0.1rem solid #b8b496; }

.page-footer__main--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 115rem;
  margin: 0 auto; }
  .page-footer__main--inner .page-footer__main__nav {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 70.5rem;
            flex: 0 1 70.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #3b4a4b; }
    .page-footer__main--inner .page-footer__main__nav .footer-column {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 33.33%;
              flex: 0 1 33.33%; }
  .page-footer__main--inner .column-title {
    padding: 0 3.2rem 0 0;
    margin: 0;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3; }
  .page-footer__main--inner .footer-column > ul {
    padding-right: 3.2rem;
    font-family: "Open Sans", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
    font-size: 1.2rem; }
    .page-footer__main--inner .footer-column > ul > li {
      margin-top: 1rem; }
      .page-footer__main--inner .footer-column > ul > li > a {
        color: inherit; }

.footer-payment-info {
  margin-top: 1rem;
  padding-right: 3.2rem; }

.footer-payment-info__text {
  font-size: 1.2rem;
  padding-bottom: 0.5rem; }

.footer-payment-info__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;
  margin: -1rem;
  max-width: 22.5rem; }
  .footer-payment-info__list .footer-payment-info__list-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    min-width: 0;
    width: 33.3333%;
    padding: 1rem;
    margin: 0;
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .footer-payment-info__list .footer-payment-info__list-item--large {
    width: 100%; }
  .footer-payment-info__list img {
    display: block;
    width: 100%;
    height: auto; }

.footer.content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.6rem 3.2rem;
  border-top: 1px solid #bcb79b;
  font-family: "Open Sans", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: 1.2rem; }
  .footer.content .links > li {
    margin: 0 0 8px; }
  .footer.content .switcher-store {
    margin: 0 0 30px; }

.page-header .switcher,
.page-footer .switcher {
  margin-right: 10px; }
  .page-header .switcher .options,
  .page-footer .switcher .options {
    display: inline-block;
    position: relative; }
    .page-header .switcher .options:before, .page-header .switcher .options:after,
    .page-footer .switcher .options:before,
    .page-footer .switcher .options:after {
      content: '';
      display: table; }
    .page-header .switcher .options:after,
    .page-footer .switcher .options:after {
      clear: both; }
    .page-header .switcher .options .action.toggle,
    .page-footer .switcher .options .action.toggle {
      padding: 0;
      cursor: pointer;
      display: inline-block;
      text-decoration: none; }
      .page-header .switcher .options .action.toggle > span,
      .page-footer .switcher .options .action.toggle > span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .page-header .switcher .options .action.toggle:after,
      .page-footer .switcher .options .action.toggle:after {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 8px;
        line-height: 22px;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        margin: 0;
        vertical-align: top;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .page-header .switcher .options .action.toggle:hover:after,
      .page-footer .switcher .options .action.toggle:hover:after {
        color: inherit; }
      .page-header .switcher .options .action.toggle:active:after,
      .page-footer .switcher .options .action.toggle:active:after {
        color: inherit; }
      .page-header .switcher .options .action.toggle.active,
      .page-footer .switcher .options .action.toggle.active {
        display: inline-block;
        text-decoration: none; }
        .page-header .switcher .options .action.toggle.active > span,
        .page-footer .switcher .options .action.toggle.active > span {
          border: 0;
          clip: rect(0, 0, 0, 0);
          height: 1px;
          margin: -1px;
          overflow: hidden;
          padding: 0;
          position: absolute;
          width: 1px; }
        .page-header .switcher .options .action.toggle.active:after,
        .page-footer .switcher .options .action.toggle.active:after {
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: 8px;
          line-height: 22px;
          color: inherit;
          content: "";
          font-family: "duo-icons";
          margin: 0;
          vertical-align: top;
          display: inline-block;
          font-weight: normal;
          overflow: hidden;
          speak: none;
          text-align: center; }
        .page-header .switcher .options .action.toggle.active:hover:after,
        .page-footer .switcher .options .action.toggle.active:hover:after {
          color: inherit; }
        .page-header .switcher .options .action.toggle.active:active:after,
        .page-footer .switcher .options .action.toggle.active:active:after {
          color: inherit; }
    .page-header .switcher .options ul.dropdown,
    .page-footer .switcher .options ul.dropdown {
      margin: 0;
      padding: 0;
      list-style: none;
      background: #fff;
      border: 0.1rem solid #efefe8;
      margin-top: 4px;
      min-width: 160px;
      z-index: 100;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: none;
      position: absolute;
      top: 100%;
      right: -4px;
      -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
              box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); }
      .page-header .switcher .options ul.dropdown li,
      .page-footer .switcher .options ul.dropdown li {
        margin: 0;
        padding: 0; }
        .page-header .switcher .options ul.dropdown li:hover,
        .page-footer .switcher .options ul.dropdown li:hover {
          background: #e8e8e8;
          cursor: pointer; }
      .page-header .switcher .options ul.dropdown:before, .page-header .switcher .options ul.dropdown:after,
      .page-footer .switcher .options ul.dropdown:before,
      .page-footer .switcher .options ul.dropdown:after {
        border-bottom-style: solid;
        content: '';
        display: block;
        height: 0;
        position: absolute;
        width: 0; }
      .page-header .switcher .options ul.dropdown:before,
      .page-footer .switcher .options ul.dropdown:before {
        border: 6px solid;
        border-color: transparent transparent #fff transparent;
        z-index: 99; }
      .page-header .switcher .options ul.dropdown:after,
      .page-footer .switcher .options ul.dropdown:after {
        border: 7px solid;
        border-color: transparent transparent #efefe8 transparent;
        z-index: 98; }
      .page-header .switcher .options ul.dropdown:before,
      .page-footer .switcher .options ul.dropdown:before {
        right: 10px;
        top: -12px; }
      .page-header .switcher .options ul.dropdown:after,
      .page-footer .switcher .options ul.dropdown:after {
        right: 9px;
        top: -14px; }
    .page-header .switcher .options.active,
    .page-footer .switcher .options.active {
      overflow: visible; }
      .page-header .switcher .options.active ul.dropdown,
      .page-footer .switcher .options.active ul.dropdown {
        display: block; }
    .page-header .switcher .options ul.dropdown,
    .page-footer .switcher .options ul.dropdown {
      border: none;
      border-radius: 0.5rem; }
      .page-header .switcher .options ul.dropdown li,
      .page-footer .switcher .options ul.dropdown li {
        font-size: 1.3rem;
        margin: 0; }
      .page-header .switcher .options ul.dropdown a,
      .page-footer .switcher .options ul.dropdown a {
        display: block;
        padding: 0.5rem 1rem;
        color: #3b4a4b;
        background-color: #ffffff;
        border-radius: 0.5rem;
        -webkit-transition: background-color 0.2s ease;
        -o-transition: background-color 0.2s ease;
        transition: background-color 0.2s ease; }
        .page-header .switcher .options ul.dropdown a:hover, .page-header .switcher .options ul.dropdown a:focus,
        .page-footer .switcher .options ul.dropdown a:hover,
        .page-footer .switcher .options ul.dropdown a:focus {
          background-color: #efefe8;
          text-decoration: none; }

.footer__legal-wrapper {
  max-width: 1335px;
  color: #3b4a4b; }
  .footer__legal-wrapper a {
    color: inherit; }
  .footer__legal-wrapper .copyright {
    font-weight: 600; }
  .footer__legal-wrapper li {
    display: inline-block; }
    .footer__legal-wrapper li:not(:first-child)::before {
      content: '|';
      display: inline-block;
      padding: 0 0.2rem; }

@media only screen and (max-width: 767px) {
  .page-footer__main--inner {
    display: block;
    max-width: none; }
    .page-footer__main--inner .page-footer__main__nav {
      width: 100%; } }

@media only screen and (max-width: 639px) {
  .page-footer__main--inner .page-footer__main__nav {
    display: block; }
    .page-footer__main--inner .page-footer__main__nav .footer-column {
      width: 100%;
      margin-bottom: 3.6rem; }
  .page-footer__main--inner .column-title {
    padding-right: 0; }
  .page-footer__main--inner .footer-column > ul {
    padding-right: 0; }
  .footer-payment-info {
    padding-right: 0; } }

@media only screen and (min-width: 768px) {
  .footer.content .block {
    float: right; }
  .footer.content .links {
    display: inline-block;
    margin-bottom: 20px;
    padding: 0 50px 0 0;
    vertical-align: top; }
  .footer.content .switcher.store {
    display: inline-block;
    padding-right: 50px;
    vertical-align: top; } }

.my-credit-cards .status {
  font-style: italic; }

.my-credit-cards .action.delete {
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  line-height: 1.42857;
  margin: 0;
  padding: 0;
  color: #333;
  text-decoration: underline;
  background: none;
  border: 0;
  display: inline; }
  .my-credit-cards .action.delete:focus, .my-credit-cards .action.delete:active {
    background: none;
    border: none; }
  .my-credit-cards .action.delete:hover {
    background: none;
    border: none; }
  .my-credit-cards .action.delete.disabled, .my-credit-cards .action.delete[disabled],
  fieldset[disabled] .my-credit-cards .action.delete {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }
  .my-credit-cards .action.delete:visited {
    color: #333;
    text-decoration: none; }
  .my-credit-cards .action.delete:hover {
    color: #a54f6c;
    text-decoration: none; }
  .my-credit-cards .action.delete:active {
    color: #ff5501;
    text-decoration: none; }
  .my-credit-cards .action.delete:hover {
    color: #a54f6c; }
  .my-credit-cards .action.delete:hover, .my-credit-cards .action.delete:active, .my-credit-cards .action.delete:focus {
    background: none;
    border: 0; }
  .my-credit-cards .action.delete.disabled, .my-credit-cards .action.delete[disabled],
  fieldset[disabled] .my-credit-cards .action.delete {
    color: #333;
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
    text-decoration: underline; }

.my-credit-cards-popup .modal-footer {
  text-align: right; }

.my-credit-cards-popup .action.secondary {
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  line-height: 1.42857;
  margin: 0;
  padding: 0;
  color: #333;
  text-decoration: underline;
  background: none;
  border: 0;
  display: inline;
  margin-right: 19px; }
  .my-credit-cards-popup .action.secondary:focus, .my-credit-cards-popup .action.secondary:active {
    background: none;
    border: none; }
  .my-credit-cards-popup .action.secondary:hover {
    background: none;
    border: none; }
  .my-credit-cards-popup .action.secondary.disabled, .my-credit-cards-popup .action.secondary[disabled],
  fieldset[disabled] .my-credit-cards-popup .action.secondary {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }
  .my-credit-cards-popup .action.secondary:visited {
    color: #333;
    text-decoration: none; }
  .my-credit-cards-popup .action.secondary:hover {
    color: #a54f6c;
    text-decoration: none; }
  .my-credit-cards-popup .action.secondary:active {
    color: #ff5501;
    text-decoration: none; }
  .my-credit-cards-popup .action.secondary:hover {
    color: #a54f6c; }
  .my-credit-cards-popup .action.secondary:hover, .my-credit-cards-popup .action.secondary:active, .my-credit-cards-popup .action.secondary:focus {
    background: none;
    border: 0; }
  .my-credit-cards-popup .action.secondary.disabled, .my-credit-cards-popup .action.secondary[disabled],
  fieldset[disabled] .my-credit-cards-popup .action.secondary {
    color: #333;
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
    text-decoration: underline; }

@media only screen and (max-width: 767px) {
  .my-credit-cards .table:not(.totals):not(.cart):not(.table-comparison) .status {
    display: none; }
    .my-credit-cards .table:not(.totals):not(.cart):not(.table-comparison) .status:before {
      display: none; }
    .my-credit-cards .table:not(.totals):not(.cart):not(.table-comparison) .status._default {
      display: block; }
  .my-credit-cards .card-type img {
    vertical-align: middle; } }

@media only screen and (min-width: 768px) {
  .my-credit-cards .card-type img {
    display: block; } }

.minilist .weee {
  display: table-row;
  font-size: 1.1rem; }
  .minilist .weee:before {
    display: none; }

.price-container.weee:before {
  display: none; }

.product-items .action.towishlist:before,
.products.list.items .action.towishlist:before,
.table-comparison .action.towishlist:before {
  content: ""; }

.account .table-wrapper .data.table.wishlist > thead > tr > th,
.account .table-wrapper .data.table.wishlist > thead > tr > td,
.account .table-wrapper .data.table.wishlist > tbody > tr > th,
.account .table-wrapper .data.table.wishlist > tbody > tr > td,
.account .table-wrapper .data.table.wishlist > tfoot > tr > th,
.account .table-wrapper .data.table.wishlist > tfoot > tr > td {
  border-top: 1px solid #d1d1d1; }

.account .table-wrapper .data.table.wishlist > caption + thead > tr:first-child > th,
.account .table-wrapper .data.table.wishlist > caption + thead > tr:first-child > td,
.account .table-wrapper .data.table.wishlist > colgroup + thead > tr:first-child > th,
.account .table-wrapper .data.table.wishlist > colgroup + thead > tr:first-child > td,
.account .table-wrapper .data.table.wishlist > thead:first-child > tr:first-child > th,
.account .table-wrapper .data.table.wishlist > thead:first-child > tr:first-child > td {
  border-top: 0; }

.account .table-wrapper .data.table.wishlist > tbody + tbody {
  border-top: 1px solid #d1d1d1; }

.account .table-wrapper .data.table.wishlist thead > tr > th {
  border-bottom: 0; }

.account .table-wrapper .data.table.wishlist tbody > tr:last-child > td {
  border-bottom: 1px solid #d1d1d1; }

.account .table-wrapper .data.table.wishlist .product.name {
  display: inline-block;
  margin-bottom: 9.5px; }

.account .table-wrapper .data.table.wishlist .box-tocart {
  margin: 9.5px 0; }
  .account .table-wrapper .data.table.wishlist .box-tocart .qty {
    vertical-align: middle; }

.account .table-wrapper .data.table.wishlist .col.item {
  width: 50%; }

.account .table-wrapper .data.table.wishlist .col.photo {
  max-width: 150px; }

.account .table-wrapper .data.table.wishlist .col.selector {
  max-width: 15px; }

.account .table-wrapper .data.table.wishlist textarea {
  margin: 9.5px 0; }

.account .table-wrapper .data.table.wishlist .input-text.qty {
  margin-bottom: 9.5px; }

.account .table-wrapper .data.table.wishlist .action.primary {
  vertical-align: top; }

.account .table-wrapper .data.table.wishlist .price {
  font-weight: 700; }

.block-wishlist .product-item-name {
  margin-right: 23.75px; }

.products-grid.wishlist .product-item-photo {
  display: block;
  margin-bottom: 9.5px; }

.products-grid.wishlist .product-item-name {
  margin-top: 0; }

.products-grid.wishlist .product-item .price-box {
  margin: 0; }

.products-grid.wishlist .product-item-comment {
  display: block;
  height: 42px;
  margin: 9.5px 0; }

.products-grid.wishlist .product-item-actions > * {
  margin-right: 15px; }
  .products-grid.wishlist .product-item-actions > *:last-child {
    margin-right: 0; }

.products-grid.wishlist .product-item .box-tocart input.qty {
  height: 32px; }

@media only screen and (max-width: 639px) {
  .products-grid.wishlist .product-item {
    border-bottom: 1px solid #e8e8e8; }
    .products-grid.wishlist .product-item:first-child {
      border-top: 1px solid #e8e8e8; } }

@media only screen and (max-width: 767px) {
  .products-grid.wishlist {
    margin-bottom: 28.5px;
    margin-right: -9.5px; }
    .products-grid.wishlist .product-item {
      padding: 19px 9.5px 19px 19px;
      position: relative; }
      .products-grid.wishlist .product-item-photo {
        float: left;
        margin-right: 19px; }
      .products-grid.wishlist .product-item-name {
        font-size: 1.6rem; }
      .products-grid.wishlist .product-item-actions {
        display: block; }
        .products-grid.wishlist .product-item-actions .action {
          margin-right: 15px; }
          .products-grid.wishlist .product-item-actions .action:last-child {
            margin-right: 0; }
          .products-grid.wishlist .product-item-actions .action.edit {
            float: left; }
          .products-grid.wishlist .product-item-actions .action.delete {
            float: right; }
          .products-grid.wishlist .product-item-actions .action.edit, .products-grid.wishlist .product-item-actions .action.delete {
            margin-top: 7px; }
      .products-grid.wishlist .product-item-name, .products-grid.wishlist .product-item-description,
      .products-grid.wishlist .product-item .price-box, .products-grid.wishlist .product-item-tooltip {
        margin-left: 95px; }
      .products-grid.wishlist .product-item .box-tocart {
        float: left;
        margin-right: 19px; }
        .products-grid.wishlist .product-item .box-tocart .stock {
          margin-top: 7px; }
      .products-grid.wishlist .product-item .giftregisty-dropdown,
      .products-grid.wishlist .product-item .field.qty {
        display: none; }
    .products-grid.wishlist .product-image-container {
      max-width: 80px; }
  .wishlist-index-index .product-item {
    width: 100%; }
    .wishlist-index-index .product-item-info {
      width: auto; } }

@media only screen and (min-width: 640px) {
  .wishlist-index-index .products-grid .product-item {
    margin-bottom: 19px; }
  .wishlist-index-index .products-grid .product-item-actions {
    margin: 0; } }

@media only screen and (min-width: 768px) {
  .products-grid.wishlist .product-item-tooltip {
    display: inline-block; }
  .products-grid.wishlist .product-item-actions {
    margin: 9.5px 0 0; }
  .products-grid.wishlist .product-item .fieldset .field.qty {
    margin-bottom: 9.5px;
    padding-right: 9.5px; }
    .products-grid.wishlist .product-item .fieldset .field.qty .label {
      width: auto; }
  .products-grid.wishlist .product-item .box-tocart .actions-primary {
    margin: 0; }
  .products-grid.wishlist .product-item .box-tocart .stock {
    margin: 19px 0 0; }
  .wishlist-index-index .product-item-info {
    width: 240px; } }

@media only screen and (min-width: 1024px) {
  .wishlist-index-index .products-grid .product-items {
    margin: 0; }
  .wishlist-index-index .products-grid .product-item {
    margin-left: calc((100% - 4 * 24.439%) / 3);
    padding: 0;
    width: 24.439%; }
    .wishlist-index-index .products-grid .product-item:nth-child(4n + 1) {
      margin-left: 0; } }

.quote-details form .control .control-item {
  display: block;
  margin-top: 1.6rem; }

.sidebar .block-addbysku .fieldset {
  margin: 0; }
  .sidebar .block-addbysku .fieldset .fields {
    position: relative; }
    .sidebar .block-addbysku .fieldset .fields .field {
      display: inline-block;
      margin-bottom: 9.5px;
      vertical-align: top; }
      .sidebar .block-addbysku .fieldset .fields .field.sku {
        margin-right: -85px;
        padding-right: 90px;
        width: 100%; }
      .sidebar .block-addbysku .fieldset .fields .field.qty .qty + .mage-error {
        width: 80px; }
    .sidebar .block-addbysku .fieldset .fields .actions-toolbar {
      position: absolute;
      right: 0;
      top: 6px; }

.sidebar .block-addbysku .form-addbysku .actions-toolbar {
  margin-bottom: 19px; }
  .sidebar .block-addbysku .form-addbysku .actions-toolbar .primary {
    text-align: left; }
    .sidebar .block-addbysku .form-addbysku .actions-toolbar .primary .action {
      width: auto; }
  .sidebar .block-addbysku .form-addbysku .actions-toolbar .secondary {
    float: none;
    text-align: left; }

.sidebar .block-addbysku .action.add {
  display: inline-block;
  text-decoration: none;
  line-height: normal;
  padding: 2px 0;
  width: auto; }
  .sidebar .block-addbysku .action.add > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .sidebar .block-addbysku .action.add:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 31px;
    line-height: 22px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .sidebar .block-addbysku .action.add:hover:before {
    color: inherit; }
  .sidebar .block-addbysku .action.add:active:before {
    color: inherit; }

.sidebar .block-addbysku .action.links {
  display: inline-block;
  margin: 19px 0 0; }

.sidebar .block-addbysku .action.reset {
  display: block;
  margin: 9.5px 0; }

.sidebar .block-addbysku .action.remove {
  display: inline-block;
  text-decoration: none;
  background-image: none;
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400; }
  .sidebar .block-addbysku .action.remove > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .sidebar .block-addbysku .action.remove:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 28px;
    line-height: 22px;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .sidebar .block-addbysku .action.remove:hover:before {
    color: inherit; }
  .sidebar .block-addbysku .action.remove:active:before {
    color: inherit; }
  .sidebar .block-addbysku .action.remove:focus, .sidebar .block-addbysku .action.remove:active {
    background: none;
    border: none; }
  .sidebar .block-addbysku .action.remove:hover {
    background: none;
    border: none; }
  .sidebar .block-addbysku .action.remove.disabled, .sidebar .block-addbysku .action.remove[disabled],
  fieldset[disabled] .sidebar .block-addbysku .action.remove {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5; }

.block-banners .banner-item,
.block-banners-inline .banner-item {
  display: block; }

.block-banners .banner-item-content,
.block-banners-inline .banner-item-content {
  margin-bottom: 19px; }
  .block-banners .banner-item-content img,
  .block-banners-inline .banner-item-content img {
    display: block;
    margin: 0 auto; }

.block-product-link.widget,
.block-category-link.widget {
  display: block;
  margin-bottom: 19px; }

.block-product-link-inline.widget {
  margin: 0; }

.block.widget .product-item-info {
  width: auto; }

.block.widget .pager {
  padding: 0; }
  .block.widget .pager .toolbar-amount {
    float: none;
    font-size: 1.2rem; }
  .block.widget .pager .pages-item-previous {
    padding-left: 0; }
  .block.widget .pager .pages-item-next {
    position: relative; }
  .block.widget .pager .items {
    white-space: nowrap; }

@media only screen and (min-width: 640px) {
  .block.widget .products-grid .product-item,
  .page-layout-1column .block.widget .products-grid .product-item,
  .page-layout-3columns .block.widget .products-grid .product-item {
    width: 33.33333%; } }

@media only screen and (min-width: 768px) {
  .block.widget .products-grid .product-item {
    width: 33.33333%; }
    .sidebar .block.widget .products-grid .product-item {
      margin-left: 0;
      width: 100%; }
      .sidebar .block.widget .products-grid .product-item .actions-secondary {
        display: block;
        padding: 10px 0; }
  .page-layout-1column .block.widget .products-grid .product-item {
    width: 25%; }
  .page-layout-3columns .block.widget .products-grid .product-item {
    width: 50%; } }

@media only screen and (min-width: 1024px) {
  .block.widget .products-grid .product-item {
    width: 20%; }
  .page-layout-1column .block.widget .products-grid .product-item {
    margin-left: calc((100% - 5 * (100% / 6)) / 4);
    width: 16.66667%; }
    .page-layout-1column .block.widget .products-grid .product-item:nth-child(4n + 1) {
      margin-left: calc((100% - 5 * (100% / 6)) / 4); }
    .page-layout-1column .block.widget .products-grid .product-item:nth-child(5n + 1) {
      margin-left: 0; }
  .page-layout-3columns .block.widget .products-grid .product-item {
    width: 25%; }
  .block.widget .products-grid .product-items {
    margin: 0; }
  .block.widget .products-grid .product-item {
    margin-left: calc((100% - 4 * 24.439%) / 3);
    padding: 0;
    width: 24.439%; }
    .block.widget .products-grid .product-item:nth-child(4n + 1) {
      margin-left: 0; } }

@media only screen and (min-width: 768px) {
  .sidebar .block.widget .pager .pages-item-next {
    padding: 0; }
    .sidebar .block.widget .pager .pages-item-next .action {
      margin: 0; } }

.columns .block-event {
  position: relative;
  z-index: 2; }

.block-event .block-content {
  position: relative; }
  .block-event .block-content > .action {
    cursor: pointer;
    margin-top: -6px;
    position: absolute;
    top: 50%;
    z-index: 3; }
    .block-event .block-content > .action.backward, .block-event .block-content > .action.forward {
      opacity: 0.5;
      overflow: hidden;
      width: 20px;
      display: inline-block;
      text-decoration: none; }
      .block-event .block-content > .action.backward > span, .block-event .block-content > .action.forward > span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .block-event .block-content > .action.backward:before, .block-event .block-content > .action.forward:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 55px;
        line-height: 30px;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .block-event .block-content > .action.backward:before, .block-event .block-content > .action.forward:before {
        margin-left: -15px; }
    .block-event .block-content > .action.backward {
      left: 0; }
    .block-event .block-content > .action.forward {
      right: 0; }
      .block-event .block-content > .action.forward:before {
        content: ""; }
      .block-event .block-content > .action.forward:before {
        margin-left: -20px; }
    .block-event .block-content > .action.inactive {
      cursor: default;
      display: none; }
    .block-event .block-content > .action:hover {
      opacity: 1; }

.block-event .slider-panel {
  overflow: hidden;
  position: relative;
  z-index: 2; }
  .block-event .slider-panel .slider {
    white-space: nowrap; }
    .block-event .slider-panel .slider .item {
      background: #f0f0f0;
      display: inline-block;
      text-align: center;
      vertical-align: top;
      white-space: normal;
      width: 16.35%; }
      .sidebar-main .block-event .slider-panel .slider .item,
      .sidebar-additional .block-event .slider-panel .slider .item {
        width: 100%; }
      .block-event .slider-panel .slider .item img {
        max-width: 100%; }
      .block-event .slider-panel .slider .item .category-name {
        display: inline-block;
        font-size: 1.8rem;
        padding: 15px 5px 0;
        word-break: break-all; }
      .block-event .slider-panel .slider .item .ticker {
        margin: 0;
        padding: 0;
        list-style: none; }
        .block-event .slider-panel .slider .item .ticker li {
          display: none;
          margin: 0 5px; }
        .block-event .slider-panel .slider .item .ticker .value {
          font-size: 2.6rem;
          font-weight: 300; }
        .block-event .slider-panel .slider .item .ticker .label {
          display: block;
          font-size: 1.3rem; }
      .block-event .slider-panel .slider .item .dates {
        font-weight: 300; }
        .block-event .slider-panel .slider .item .dates .start,
        .block-event .slider-panel .slider .item .dates .end,
        .block-event .slider-panel .slider .item .dates .date {
          display: block; }
        .block-event .slider-panel .slider .item .dates .start:after {
          font-size: 1.8rem;
          content: '\2013';
          display: block; }
        .block-event .slider-panel .slider .item .dates .date {
          font-size: 1.8rem;
          font-weight: 300; }
        .block-event .slider-panel .slider .item .dates .time {
          font-size: 1.3rem; }
      .block-event .slider-panel .slider .item .box-event .box-content {
        padding: 5px 0 9.5px; }
      .block-event .slider-panel .slider .item .box-event .box-title {
        display: block;
        font-weight: 300;
        margin: 9.5px 0 0; }
      .block-event .slider-panel .slider .item .action.show {
        display: block;
        padding: 0; }
        .block-event .slider-panel .slider .item .action.show .category.name {
          display: inline-block;
          padding: 30px 10px 0; }
        .block-event .slider-panel .slider .item .action.show img {
          display: block; }
      .block-event .slider-panel .slider .item .action.event {
        background-image: none;
        background: #3b4a4b;
        border: 1px solid #3b4a4b;
        color: #fff;
        cursor: pointer;
        display: inline-block;
        font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
        font-weight: 600;
        padding: 7px 15px;
        font-size: 1.4rem;
        line-height: 1.4;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        vertical-align: middle;
        margin-top: 15px; }
        .block-event .slider-panel .slider .item .action.event:focus, .block-event .slider-panel .slider .item .action.event:active {
          background: #000000;
          border: 1px solid #006bb4;
          color: #b8b496; }
        .block-event .slider-panel .slider .item .action.event:hover {
          background: #000000;
          border: 1px solid #006bb4;
          color: #b8b496; }
        .block-event .slider-panel .slider .item .action.event.disabled, .block-event .slider-panel .slider .item .action.event[disabled],
        fieldset[disabled] .block-event .slider-panel .slider .item .action.event {
          opacity: 0.5;
          cursor: default;
          pointer-events: none; }
        .block-event .slider-panel .slider .item .action.event:hover {
          text-decoration: none; }

.block-static-block.widget,
.block-cms-link.widget {
  margin-bottom: 19px; }
  .links .block-static-block.widget, .links
  .block-cms-link.widget {
    margin-bottom: 0; }

.block-cms-link-inline.widget {
  margin: 0; }

/** --------------------------------------------------
*   #Custom IBC CMS content pages
*   -------------------------------------------------- */
.cms-page-view .page-main {
  background-color: #ffffff; }

.cms-page-view .column.main ul, .cms-page-view .column.main ol {
  margin-left: 2rem; }

.cms-page-view .column.main ul {
  list-style-type: disc; }

.cms-page-view.page-layout-1column .column.main {
  max-width: 72rem; }
  .cms-page-view.page-layout-1column .column.main .message {
    margin-bottom: 2rem; }

.block-wishlist-search .form-wishlist-search {
  margin: 19px 0 0; }

.block-cms-hierarchy-link.widget {
  display: block;
  margin-bottom: 19px; }

.block-cms-hierarchy-link-inline.widget {
  margin: 0; }

/** --------------------------------------------------
*
*   Mageplaza Ajax Layer module
*   Module styles converted from Less.
*
*   -------------------------------------------------- */
.ln_overlay {
  background-color: #ffffff;
  height: 300%;
  left: 0;
  text-align: center;
  opacity: 0.5;
  filter: alpha(opacity=50);
  position: absolute;
  top: 0px;
  width: 500%;
  z-index: 555;
  display: none; }

.ln_overlay img {
  margin-top: 300px;
  left: 45%;
  display: block;
  position: fixed; }

.ln_slider_container {
  width: calc(100% - 20px);
  margin: 0 15px 0 5px; }

/** --------------------------------------------------
*
*   Mageplaza Layered Navigation module
*   Module styles converted from Less.
*
*   -------------------------------------------------- */
.ln_overlay {
  background-color: #ffffff;
  height: 100%;
  left: 0;
  opacity: 0.5;
  filter: alpha(opacity=50);
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 555;
  display: none; }
  .ln_overlay img {
    top: 40%;
    left: 45%;
    display: block;
    position: fixed; }

.ln_slider_container {
  width: calc(100% - 20px);
  margin: 0 15px 0 5px; }

.layered-filter-block-container .ln_tooltip {
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px; }

/** --------------------------------------------------
*
*   Mageplaza Layered Navigation Pro module
*   Module styles converted from Less.
*
*   -------------------------------------------------- */
a.chosen-single.chosen-default, .chosen-single-with-deselect {
  border-radius: 3px !important;
  min-height: 30px !important;
  line-height: 26px !important;
  background: #fff !important;
  -webkit-box-shadow: none;
          box-shadow: none; }

.chosen-container-single .chosen-single div {
  top: 3px; }

.chosen-container-single .chosen-search input[type=text] {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-radius: 2px;
  border: 1px solid #ccc; }

li.active-result.highlighted {
  border-radius: 2px !important;
  background-image: none !important;
  border: none !important; }

.chosen-container-single .chosen-single abbr {
  top: 9px !important; }

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  margin-right: 0 !important; }

ul.chosen-results::-webkit-scrollbar {
  width: 6px; }

ul.chosen-results::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

ul.chosen-results::-webkit-scrollbar-thumb {
  background-color: #ccc;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); }

.ln_slider_range {
  margin-top: 10px; }

.ln_slider_range_input {
  width: 60px !important;
  height: 30px !important;
  text-align: center;
  padding: 0; }

.filter-options-content .rating-summary {
  padding-bottom: 3px; }

.filter-options-content .rating-summary.selected {
  background-color: #e8e8e8; }

@media (min-width: 1200px) {
  #ln_slider_range_price .ln_slider_from {
    width: 45%;
    padding: 0;
    display: inline-block;
    text-align: center; }
  #ln_slider_range_price .ln_slider_to {
    width: 45%;
    float: right;
    text-align: center;
    padding: 0; }
  .ln_slider_container label {
    min-width: 0 !important; } }

@media (max-width: 1195px) {
  .ln_slider_from {
    display: block;
    margin-bottom: 15px;
    padding-left: 15px; }
  .ln_slider_to {
    display: block;
    padding-left: 15px; } }

@media (max-width: 820px) and (min-width: 768px) {
  .ln_slider_range_input {
    display: block;
    margin: 0 auto 10px auto; }
  .ln_slider_range .ln_slider_range_input_to {
    float: none !important; } }

.ln_slider_range .ln_slider_range_input_to {
  float: right; }

.ln_slider_container label {
  min-width: 50px;
  display: inline-block; }

.swatch-option-label-layered {
  height: 24px !important;
  display: block !important;
  margin-bottom: 5px !important; }

.swatch-option-label-layered .swatch-option.text {
  padding-top: 1px !important;
  padding-bottom: 1px !important; }

.swatch-text .swatch-option.color {
  height: 24px !important; }

@media (max-width: 767px) {
  .ln_slider_range {
    text-align: center; }
  .ln_slider_range .ln_slider_range_input_to {
    float: none !important; } }

.mplayer-subcategory {
  width: 90%;
  margin: auto; }

.mplayer-category-item .mplayer-item-slider {
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #575757;
  text-align: center;
  font-size: 18px;
  height: 100%;
  position: relative; }

.mplayer-category-item-label {
  padding: 10px 5px;
  border: 1px solid #ffffff;
  line-height: 1.2;
  word-break: break-word; }

.mplayer-category-item-image {
  margin-bottom: 7px; }

.mplayer-category-item-label:hover {
  background: #ffffff;
  color: #000;
  -webkit-box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
  border: 1px solid #bbb;
  margin: 0; }

a.mplayer-item-slider:hover {
  text-decoration: none; }

/* Local theme overrides */
/** --------------------------------------------------
*
*   Branded theming on top of default module styles/layout
*
*   TABLE OF CONTENTS
*   common
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #common
*   -------------------------------------------------- */
.toolbar-amount {
  padding-top: 0;
  color: #3b4a4b;
  font-size: 1.4rem;
  font-weight: bold; }

.toolbar-sorter {
  padding-top: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .toolbar-sorter label {
    color: #3b4a4b;
    font-size: 1.4rem;
    font-weight: 500; }

.toolbar select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin-left: 1ch;
  padding: 1.5rem 3.8rem 1.5rem 2rem;
  border: none;
  background-color: #3b4a4b;
  background-image: url("../images/icons/icon__select--down.svg");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  color: #ffffff;
  font-weight: 600; }

.toolbar .action {
  margin-left: 1.5rem;
  line-height: normal; }
  .toolbar .action:hover, .toolbar .action:focus {
    text-decoration: none; }
  .toolbar .action::before {
    display: block;
    line-height: 1; }

.load.indicator {
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 9999;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  position: absolute; }
  .load.indicator:before {
    background: transparent url("../images/loader-2.gif") no-repeat 50% 50%;
    border-radius: 5px;
    height: 160px;
    width: 160px;
    bottom: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: '';
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0; }
  .load.indicator > span {
    display: none; }

.loading-mask {
  bottom: 0;
  left: 0;
  margin: auto;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.5); }
  .loading-mask .loader > img {
    bottom: 0;
    left: 0;
    margin: auto;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100; }
  .loading-mask .loader > p {
    display: none; }

body > .loading-mask {
  z-index: 9999; }

._block-content-loading {
  position: relative; }

/* Override LayeredNav loaders */
.ln_overlay {
  height: 100%;
  width: 100%;
  position: fixed; }
  .ln_overlay img {
    margin-top: 0;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%); }

/* Custom CSS loader animation (attempt at integration without overwriting each and every template) */
.page-layout-checkout .loader,
.page-wrapper .loader {
  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;
  height: 100%; }
  .page-layout-checkout .loader img,
  .page-wrapper .loader img {
    display: none; }
  .page-layout-checkout .loader::before,
  .page-wrapper .loader::before {
    content: '';
    display: block;
    width: 5rem;
    height: 5rem;
    position: absolute;
    top: calc(50% - 2.5rem);
    left: calc(50% - 2.5rem);
    border: 0.6rem double;
    border-radius: 50%;
    border-color: transparent #000000;
    -webkit-animation: cssload-spin 690ms infinite linear;
            animation: cssload-spin 690ms infinite linear; }

@-webkit-keyframes cssload-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes cssload-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

/** --------------------------------------------------
*
*   Branded theming on top of default module styles/layout
*
*   TABLE OF CONTENTS
*   common
*   color swatches
*   range slider
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #common
*   -------------------------------------------------- */
.block.filter {
  margin-bottom: 0; }
  .block.filter .filter-title {
    margin: 1.4rem 0 1rem;
    padding: 0 1.5rem;
    color: #939b9c; }
    .block.filter .filter-title strong {
      font-size: 1.8rem; }

/* Type of filter. Group of options. */
.filter-options-item:not(:last-child) {
  border-bottom: 0.1rem solid #efefe8; }

.filter-options-item .filter-options-title {
  padding: 1rem 1.5rem;
  margin: 0;
  color: #3b4a4b; }

.filter-options-item[data-collapsible="true"] .filter-options-title {
  display: inline-block;
  text-decoration: none;
  position: relative;
  padding-right: 4.5rem;
  display: block;
  cursor: pointer; }
  .filter-options-item[data-collapsible="true"] .filter-options-title > span {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .filter-options-item[data-collapsible="true"] .filter-options-title:after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1.8rem;
    line-height: 1;
    color: #3b4a4b;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .filter-options-item[data-collapsible="true"] .filter-options-title:hover:after {
    color: #3b4a4b; }
  .filter-options-item[data-collapsible="true"] .filter-options-title::after {
    position: absolute;
    right: 1.4rem;
    top: 0.9rem; }

.filter-options-item.active[data-collapsible="true"] .filter-options-title::after {
  content: ""; }

/* Actual options within a type/group */
.filter-options .filter-options-content {
  margin: 0;
  padding: 1.2rem 1.5rem;
  background-color: #fbfbfa;
  color: #3b4a4b;
  font-size: 1.3rem; }
  .filter-options .filter-options-content .item {
    margin-bottom: 0.6rem; }
    .filter-options .filter-options-content .item a {
      text-decoration: none; }
    .filter-options .filter-options-content .item a,
    .filter-options .filter-options-content .item .count {
      color: inherit; }
    .filter-options .filter-options-content .item:last-child {
      margin-bottom: 0; }

/* Individual options */
.filter-options .layer-input-label {
  padding-left: 3.2rem;
  position: relative;
  display: block; }

.filter-options input[type="checkbox"] {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  display: none;
  /* -> checkbox is (apparently) not needed and has no associated label */ }
  .filter-options input[type="checkbox"] + .layer-input-label::before {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    left: 0;
    top: 0.2rem;
    -webkit-transition: background-color 250ms;
    -o-transition: background-color 250ms;
    transition: background-color 250ms;
    border: 0.1rem solid #dcdacb;
    background-color: #ffffff; }
  .filter-options input[type="checkbox"] + .layer-input-label:hover::before {
    background-color: #efefe8; }
  .filter-options input[type="checkbox"][checked] + .layer-input-label::after,
  .filter-options input[type="checkbox"]:checked + .layer-input-label::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    color: #3b4a4b;
    font-family: "duo-icons";
    font-size: 1.6rem;
    line-height: 1; }
  .filter-options input[type="checkbox"][disabled] + .layer-input-label {
    color: #9da4a3; }
    .filter-options input[type="checkbox"][disabled] + .layer-input-label:hover::before {
      background-color: #ffffff; }

/* Subitems */
/* -> show the subitems only if the parent item has been checked */
.filter-options .filter-options-content > .items > .item > ol {
  display: none;
  padding: 1rem 0 1rem 3.2rem; }

.filter-options .filter-options-content > .items > .item ol > a {
  margin-bottom: 0.6rem; }
  .filter-options .filter-options-content > .items > .item ol > a:last-child {
    margin-bottom: 0; }

.filter-options .filter-options-content > .items > .item > input[type="checkbox"]:checked ~ ol {
  display: block; }

/* Active filters + related actions */
.layered-filter-block-container .filter-current + .filter-title,
.layered-filter-block-container .filter-actions + .filter-title {
  padding-top: 1.6rem;
  border-top: 0.1rem solid #efefe8; }

.layered-filter-block-container .filter-current + .filter-actions {
  margin: 1.2rem 0 1.6rem;
  padding: 0 1.5rem; }

.layered-filter-block-container .filter-current {
  color: #3b4a4b;
  font-size: 1.3rem; }
  .layered-filter-block-container .filter-current .items {
    margin-left: 0.5rem; }
  .layered-filter-block-container .filter-current .item {
    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-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-bottom: 0;
    /* increase hit area so entire label is clickable */
    position: relative; }
    .layered-filter-block-container .filter-current .item .filter-label {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .layered-filter-block-container .filter-current .item:hover .filter-value {
      text-decoration: underline; }
    .layered-filter-block-container .filter-current .item .remove {
      padding: 1rem;
      margin-right: 0.4rem;
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1;
      text-decoration: none;
      /* Increase hit area */ }
      .layered-filter-block-container .filter-current .item .remove::before {
        content: "";
        display: block;
        color: #3b4a4b;
        font-family: "duo-icons";
        font-size: 1.1rem;
        line-height: 1; }
      .layered-filter-block-container .filter-current .item .remove:hover {
        text-decoration: none; }
      .layered-filter-block-container .filter-current .item .remove:hover::before {
        color: #000000; }
      .layered-filter-block-container .filter-current .item .remove > span {
        border: 0;
        clip: rect(0, 0, 0, 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
      .layered-filter-block-container .filter-current .item .remove::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }

.layered-filter-block-container .filter-current-subtitle {
  margin: 0.3rem 1.5rem 1rem; }

.layered-filter-block-container .filter-clear {
  color: #3b4a4b;
  font-size: 1.2rem;
  text-decoration: underline; }
  .layered-filter-block-container .filter-clear:hover, .layered-filter-block-container .filter-clear:focus {
    color: #000000;
    text-decoration: none; }

/** --------------------------------------------------
*   #color swatches
*   -------------------------------------------------- */
.swatch-layered.color .swatch-attribute-options {
  margin: 0; }

.swatch-layered.color .swatch-option-label-layered {
  margin-bottom: 0.6rem !important;
  height: auto !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3b4a4b;
  font-size: 1.3rem; }
  .swatch-layered.color .swatch-option-label-layered:last-child {
    margin-bottom: 0 !important; }

.swatch-layered.color .swatch-option {
  float: none;
  margin: 0 1rem 0 0;
  padding: 0;
  width: 2.2rem;
  height: 1.4rem;
  min-width: 0; }
  .swatch-layered.color .swatch-option.image:not(.disabled):hover, .swatch-layered.color .swatch-option.color:not(.disabled):hover {
    outline-color: #b8b496; }
  .swatch-layered.color .swatch-option.selected, .swatch-layered.color .swatch-option.selected:not(.disabled):hover {
    outline-color: #000000; }

/* Never show the hover tooltip color closeup */
.swatch-option-tooltip[style] {
  display: none !important; }

/** --------------------------------------------------
*   #range slider
*   -------------------------------------------------- */
.filter-options .filter-options-content .ln_slider_container {
  padding: 1.2rem 0 0.5rem;
  width: calc(100% - 1.5rem);
  margin: 0 1.5rem 0 0.5rem; }

.filter-options .filter-options-content .ui-slider-horizontal {
  width: 100%;
  height: 0.8rem;
  border: none;
  background-color: #efefe8; }
  .filter-options .filter-options-content .ui-slider-horizontal + div {
    margin-top: 1.5rem;
    text-align: center; }

.filter-options .filter-options-content .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  font-size: 0.7em;
  display: block;
  border: 0;
  background-position: 0 0; }

.filter-options .filter-options-content .ui-slider .ui-slider-handle {
  cursor: pointer;
  height: 2.4rem;
  width: 0.8rem;
  border: 0.1rem solid #3b4a4b;
  border-radius: 0.1rem;
  background-color: #3b4a4b; }

.filter-options .filter-options-content .ui-slider-horizontal .ui-slider-handle {
  top: -0.8rem;
  margin-left: -0.4rem; }

.filter-options .filter-options-content .ln_slider_range {
  margin-top: 2rem; }

.filter-options .filter-options-content input[type="text"] {
  font-size: 1.2rem;
  padding: 0.5rem;
  border-width: 0.1rem; }

/** --------------------------------------------------
*   #small screens, no space for sidebar filters
*   Filters toggle, overlay etc.
*   -------------------------------------------------- */
@media only screen and (max-width: 1023px) {
  .page-products .columns {
    padding-top: 6rem;
    position: relative;
    z-index: 1; }
  .page-products .sorter {
    position: absolute;
    top: 0;
    right: 0; }
    .page-products .sorter label {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
  .filter-active .page-header {
    position: relative;
    z-index: -1; }
  .filter-active .nav-sections {
    display: none; }
  .filter-options,
  .filter-subtitle {
    display: none; }
  .block.filter .filter-title strong {
    position: absolute;
    top: 0;
    left: 0;
    padding: 1.4rem 1rem;
    border-radius: 0.5rem;
    background-color: #ffffff;
    color: #3b4a4b;
    font-size: 1.4rem;
    line-height: 1; }
    .block.filter .filter-title strong::before {
      content: "";
      display: inline-block;
      margin-right: 0.4rem;
      font-family: "duo-icons";
      font-size: 1.4rem;
      line-height: 1; }
  .block.filter.active {
    /* desktop title turns into close button, "the Magento way" */ }
    .block.filter.active .filter-options {
      background: #ffffff;
      bottom: 0;
      display: block;
      left: 0;
      overflow: scroll;
      position: fixed;
      right: 0;
      top: 50px;
      z-index: 88; }
    .block.filter.active .filter-subtitle {
      display: block;
      padding: 0 1.5rem;
      margin: 0;
      line-height: 5rem;
      height: 50px;
      left: 0;
      position: fixed;
      right: 0;
      top: 0;
      z-index: 88;
      background-color: #efefe8; }
    .block.filter.active .filter-title {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: fixed;
      height: 48px;
      left: 0;
      right: 0;
      top: 0;
      z-index: 90;
      margin: 0;
      padding: 0; }
      .block.filter.active .filter-title strong {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 4.8rem;
        height: 4.8rem;
        padding: 1.2rem;
        position: relative;
        background-color: transparent;
        color: transparent;
        text-decoration: none;
        font-size: 0; }
        .block.filter.active .filter-title strong::before {
          content: none; }
        .block.filter.active .filter-title strong::after {
          content: "";
          display: inline-block;
          color: #3b4a4b;
          font-family: "duo-icons";
          font-size: 16px;
          line-height: 1;
          vertical-align: middle;
          overflow: hidden;
          speak: none;
          text-align: center; } }

/** --------------------------------------------------
*   #desktop
*   -------------------------------------------------- */
@media only screen and (min-width: 1024px) {
  .filter-subtitle {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; } }

.catalog-product-view .page-main {
  background-color: #ffffff; }

.catalog-product-view .product__main-wrapper {
  padding-bottom: 3.2rem; }

.catalog-product-view .product-info-main--inner {
  padding: 1.5rem;
  background-color: #f6f6f5;
  color: #3b4a4b; }
  @media only screen and (max-width: 639px) {
    .catalog-product-view .product-info-main--inner {
      margin-top: -3rem;
      margin-left: -1.5rem;
      margin-right: -1.5rem; } }
  .catalog-product-view .product-info-main--inner .page-title {
    margin-bottom: 0.5em;
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 1; }
  .catalog-product-view .product-info-main--inner .description_container {
    margin-bottom: 1.2rem; }
  .catalog-product-view .product-info-main--inner .product.attribute.overview ul,
  .catalog-product-view .product-info-main--inner .product.attribute.overview ol {
    margin-left: 2rem; }
  .catalog-product-view .product-info-main--inner .product.attribute.overview ul {
    list-style-type: disc; }

.catalog-product-view .product-info-labels {
  margin-top: 4.4rem;
  color: #4f5d5e;
  font-size: 1.6rem;
  line-height: 1.5625; }
  @media only screen and (max-width: 639px) {
    .catalog-product-view .product-info-labels {
      margin-top: 2.4rem;
      margin-bottom: 2.4rem; } }

.catalog-product-view .product-info-custom__availability {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 4.8rem; }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .catalog-product-view .product-info-custom__availability {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .catalog-product-view .product-info-custom__availability .product-info-price {
    margin-right: 2.4rem; }
  .catalog-product-view .product-info-custom__availability .stock {
    font-size: 1.4rem;
    font-weight: 400 !important;
    text-transform: none; }
    .catalog-product-view .product-info-custom__availability .stock.available > span {
      display: inline-block;
      text-decoration: none; }
      .catalog-product-view .product-info-custom__availability .stock.available > span:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: inherit;
        line-height: inherit;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        margin: 0 0.8rem 0 0;
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }

.catalog-product-view .product-info-main--inner .custom_attributes {
  margin-bottom: 3.2rem;
  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; }

.catalog-product-view .product-info-main--inner .custom_attribute {
  padding: 0.8rem;
  margin: 0.8rem 1.6rem 0.8rem 0;
  min-width: 13rem;
  border-radius: 0.5rem;
  background-color: #fbfbfa;
  font-size: 1.2rem;
  line-height: 1.6; }
  @media only screen and (max-width: 479px) {
    .catalog-product-view .product-info-main--inner .custom_attribute {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      margin-right: 0; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .catalog-product-view .product-info-main--inner .custom_attribute {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      margin-right: 0; } }
  .catalog-product-view .product-info-main--inner .custom_attribute .label {
    display: block;
    color: #3b4a4b;
    font-weight: bold; }
  .catalog-product-view .product-info-main--inner .custom_attribute .value {
    display: block;
    color: #6c7778; }

@supports (grid-area: auto) {
  @media only screen and (min-width: 640px) {
    .catalog-product-view .product-info-main--inner .description_container {
      margin-bottom: 2rem; }
    .catalog-product-view .product-info-main--inner .custom_attributes {
      display: grid;
      row-gap: 1.6rem;
      -webkit-column-gap: 1.6rem;
         -moz-column-gap: 1.6rem;
              column-gap: 1.6rem;
      grid-template-columns: repeat(auto-fit, minmax(13rem, -webkit-max-content));
      grid-template-columns: repeat(auto-fit, minmax(13rem, max-content)); }
      .catalog-product-view .product-info-main--inner .custom_attributes .custom_attribute {
        margin: 0; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .catalog-product-view .product-info-main--inner .custom_attributes {
      grid-template-columns: 1fr; } } }

.catalog-product-view .product__additional-wrapper {
  background-color: #f6f6f5; }
  @media only screen and (max-width: 1334px) {
    .catalog-product-view .product__additional-wrapper {
      padding-left: 2rem;
      padding-right: 2rem; } }
  @media only screen and (max-width: 767px) {
    .catalog-product-view .product__additional-wrapper {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media only screen and (max-width: 639px) {
    .catalog-product-view .product__additional-wrapper {
      margin-left: -1.5rem;
      margin-right: -1.5rem; } }

/* quantity + add to cart form */
.product-info-main .product-add-form form {
  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-bottom: 2.4rem; }
  .product-info-main .product-add-form form > button, .product-info-main .product-add-form .page-layout-checkout .authentication-wrapper form > .action, .page-layout-checkout .authentication-wrapper .product-info-main .product-add-form form > .action, .product-info-main .product-add-form form > .action-gift {
    margin-left: 1rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.product-info-main .box-tocart {
  display: block;
  margin: 0; }
  .product-info-main .box-tocart button, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .action, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .action, .product-info-main .box-tocart .action-gift {
    padding: 0.2rem;
    min-width: 5.6rem;
    min-height: 5.6rem;
    -webkit-transition: 250ms linear;
    -o-transition: 250ms linear;
    transition: 250ms linear;
    border: 0.2rem solid #3b4a4b;
    border-radius: 0.5rem;
    background-color: #3b4a4b;
    color: #ffffff;
    font-size: 3rem;
    line-height: 1; }
    .product-info-main .box-tocart button:hover, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .action:hover, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .action:hover, .product-info-main .box-tocart .action-gift:hover, .product-info-main .box-tocart button:focus, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .action:focus, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .action:focus, .product-info-main .box-tocart .action-gift:focus {
      border-color: #b8b496; }
    .product-info-main .box-tocart button.primary, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .primary.action, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .primary.action, .product-info-main .box-tocart .primary.action-gift {
      border: 0.2rem solid #ffffff;
      background-color: #ffffff;
      color: #3b4a4b;
      font-size: 1.8rem;
      font-weight: 600; }
      .product-info-main .box-tocart button.primary:hover, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .primary.action:hover, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .primary.action:hover, .product-info-main .box-tocart .primary.action-gift:hover, .product-info-main .box-tocart button.primary:focus, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .primary.action:focus, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .primary.action:focus, .product-info-main .box-tocart .primary.action-gift:focus {
        border-color: #b8b496;
        background-color: #3b4a4b;
        color: #ffffff; }
    .product-info-main .box-tocart button.tocart > span, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .tocart.action > span, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .tocart.action > span, .product-info-main .box-tocart .tocart.action-gift > span {
      display: inline-block;
      text-decoration: none; }
      .product-info-main .box-tocart button.tocart > span:before, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .tocart.action > span:before, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .tocart.action > span:before, .product-info-main .box-tocart .tocart.action-gift > span:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: inherit;
        line-height: inherit;
        color: inherit;
        content: "";
        font-family: "duo-icons";
        vertical-align: middle;
        display: inline-block;
        font-weight: normal;
        overflow: hidden;
        speak: none;
        text-align: center; }
      .product-info-main .box-tocart button.tocart > span::before, .product-info-main .box-tocart .page-layout-checkout .authentication-wrapper .tocart.action > span::before, .page-layout-checkout .authentication-wrapper .product-info-main .box-tocart .tocart.action > span::before, .product-info-main .box-tocart .tocart.action-gift > span::before {
        margin-right: 1.2rem;
        color: #7e8889;
        font-size: 2rem;
        line-height: 1;
        vertical-align: text-top; }
  .product-info-main .box-tocart .fieldset {
    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;
    margin: 0 -1.2rem;
    letter-spacing: 0; }
  .product-info-main .box-tocart .product-options-quantity {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 35%;
            flex: 1 1 35%;
    min-width: 16.8rem;
    margin: 0 1.2rem 0; }
    .product-info-main .box-tocart .product-options-quantity .number-spinner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    @media only screen and (max-width: 479px) {
      .product-info-main .box-tocart .product-options-quantity {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
  .product-info-main .box-tocart .control.qty label {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  .product-info-main .box-tocart .actions {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    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;
    padding-top: 0;
    margin: 0 1.2rem 2.4rem;
    vertical-align: initial; }
    .product-info-main .box-tocart .actions .primary {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto;
      line-height: 1; }

/* START :: custom Ordering block */
.pd-segments-block__title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 2.4rem;
  color: #5b8a97; }

.pd-segments-block__title-container-title {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: 0;
  max-width: 80%;
  padding-right: 4.8rem;
  margin: 0;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.17; }

.pd-segments-block__title-container-decoration {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }
  .pd-segments-block__title-container-decoration svg {
    width: 100%; }

.pd-order-block__packages-title {
  margin-top: 0;
  margin-bottom: 2.2rem;
  color: #28171d;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6; }

.pd-packages-block .item-list {
  margin: 0 -1.6rem 0;
  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; }
  .pd-packages-block .item-list > li {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 33.3333%;
            flex: 0 1 33.3333%;
    margin-bottom: 3.2rem; }
    @media only screen and (max-width: 639px) {
      .pd-packages-block .item-list > li {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%; } }

.product-package-item {
  padding: 2rem;
  margin: 0 1.6rem;
  height: 100%;
  border-radius: 0.8rem;
  background-color: #ffffff;
  font-size: 1.4rem;
  line-height: 1.5; }

.product-package-item__sku {
  margin: 0 0 0.6em;
  color: #000000;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.6; }

.product-package-item__line:not(:last-child) {
  margin-bottom: 0.2rem; }

/* END :: custom Ordering block */
/* START :: related products */
.products-related .actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.products-related .product-item-link--more {
  background-image: none;
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-weight: 600;
  margin: 0;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }
  .products-related .product-item-link--more:focus, .products-related .product-item-link--more:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  .products-related .product-item-link--more:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }
  .products-related .product-item-link--more.disabled, .products-related .product-item-link--more[disabled],
  fieldset[disabled] .products-related .product-item-link--more {
    opacity: 0.5;
    cursor: default;
    pointer-events: none; }

/* END :: related products */
/* START :: undo default layouts */
.page-layout-1column .product-info-main,
.page-layout-1column .product.media,
.page-layout-2columns-left .product-info-main,
.page-layout-2columns-left .product.media,
.page-layout-2columns-right .product-info-main,
.page-layout-2columns-right .product.media,
.page-layout-3columns .product-info-main,
.page-layout-3columns .product.media {
  float: none;
  width: auto; }

/* END :: undo default layouts */
@media only screen and (min-width: 768px) {
  .catalog-product-view .product__main-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .catalog-product-view .product__main-wrapper .product-info-main {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 40%;
              flex: 0 1 40%; }
      .catalog-product-view .product__main-wrapper .product-info-main .page-title-wrapper .page-title {
        margin-top: 0; }
      .catalog-product-view .product__main-wrapper .product-info-main .product-add-form form {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        .catalog-product-view .product__main-wrapper .product-info-main .product-add-form form > button, .catalog-product-view .product__main-wrapper .product-info-main .product-add-form .page-layout-checkout .authentication-wrapper form > .action, .page-layout-checkout .authentication-wrapper .catalog-product-view .product__main-wrapper .product-info-main .product-add-form form > .action, .catalog-product-view .product__main-wrapper .product-info-main .product-add-form form > .action-gift {
          margin-left: 4.8rem; }
    .catalog-product-view .product__main-wrapper .product.media {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 57%;
              flex: 0 1 57%; }
    .catalog-product-view .product__main-wrapper .product-info-main--inner {
      padding: 3.2rem 4.4rem 4rem 5.2rem; }
  .product__additional-wrapper {
    margin: 0 calc(50% - 50vw);
    padding: 4rem 0 6.5rem; }
    .product__additional-wrapper > * {
      margin: 0 auto;
      max-width: 1335px; } }

/** --------------------------------------------------
*
*   CATALOG SEARCH
*   Mostly responsive finetuning of search block which is
*   otherwise mostly themed inside _header.scss partial.
*
*   TABLE OF CONTENTS
*   mobile layout
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #mobile layout
*   -------------------------------------------------- */
@media only screen and (max-width: 767px) {
  .minisearch-btn:hover, .minisearch-btn:focus {
    background-color: #f9f9f7; }
  .block-search.is-open {
    /* do not show autcomplete dropdown outside of mobile search dropdown */ }
    .block-search.is-open .minisearch-btn {
      display: inline-block;
      background-color: #f9f9f7; }
    .block-search.is-open label {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
      .block-search.is-open label::before {
        content: none; }
    .block-search.is-open .search-autocomplete, .block-search.is-open .search-autocomplete[style] {
      display: none !important; }
    .block-search.is-open .minisearch {
      position: absolute;
      z-index: 86;
      min-width: 24rem;
      max-width: 44rem;
      top: 100%;
      right: 0;
      -webkit-transform: translateX(0) translateY(0.4rem);
          -ms-transform: translateX(0) translateY(0.4rem);
              transform: translateX(0) translateY(0.4rem);
      -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
              box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
      border: 0.1rem solid #efefe8;
      background-color: #ffffff; }
      .block-search.is-open .minisearch::before, .block-search.is-open .minisearch::after {
        content: '';
        display: block;
        position: absolute;
        height: 0;
        width: 0;
        border: 0.6rem solid; }
      .block-search.is-open .minisearch::before {
        top: -1.2rem;
        right: 1.6rem;
        z-index: 42;
        border-color: transparent transparent #ffffff transparent; }
      .block-search.is-open .minisearch::after {
        top: -1.4rem;
        right: 1.6rem;
        z-index: 40;
        border-width: 0.7rem;
        border-color: transparent transparent #efefe8 transparent; }
    .block-search.is-open .control {
      margin: 0;
      height: auto;
      border: 0; }
    .block-search.is-open .control input {
      position: relative;
      height: auto;
      left: auto;
      margin: 0;
      border: 0; }
    .block-search.is-open .action.search {
      display: block;
      line-height: 1; }
      .block-search.is-open .action.search > span {
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        position: static;
        width: auto;
        position: static !important; }
      .block-search.is-open .action.search svg {
        display: none; } }

@media only screen and (max-width: 479px) {
  .block-search.is-open .minisearch {
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(0.4rem);
        -ms-transform: translateX(-50%) translateY(0.4rem);
            transform: translateX(-50%) translateY(0.4rem); }
    .block-search.is-open .minisearch::before {
      left: calc(50% - 0.6rem);
      right: auto; }
    .block-search.is-open .minisearch::after {
      left: calc(50% - 0.7rem);
      right: auto; } }

/** --------------------------------------------------
*
*   Branding overrides for Magento Customer module and widgets
*
*   TABLE OF CONTENTS
*   - Page overrides
*   - Form spacing
*   - Password widget
*   - Login
*   - Account pages
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #Page overrides
*   -------------------------------------------------- */
.customer-account-login .page-main,
.customer-account-forgotpassword .page-main {
  background-color: #ffffff; }

/** --------------------------------------------------
*   #Form spacing
*   -------------------------------------------------- */
.form.password.reset,
.form.send.confirmation,
.form.password.forget,
.form.create.account {
  padding-bottom: 4rem; }
  .form.password.reset .actions-toolbar,
  .form.send.confirmation .actions-toolbar,
  .form.password.forget .actions-toolbar,
  .form.create.account .actions-toolbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .form.password.reset .actions-toolbar::before, .form.password.reset .actions-toolbar::after,
    .form.send.confirmation .actions-toolbar::before,
    .form.send.confirmation .actions-toolbar::after,
    .form.password.forget .actions-toolbar::before,
    .form.password.forget .actions-toolbar::after,
    .form.create.account .actions-toolbar::before,
    .form.create.account .actions-toolbar::after {
      content: none; }
    .form.password.reset .actions-toolbar .secondary .action,
    .form.send.confirmation .actions-toolbar .secondary .action,
    .form.password.forget .actions-toolbar .secondary .action,
    .form.create.account .actions-toolbar .secondary .action {
      color: #3b4a4b;
      text-decoration: underline; }
      .form.password.reset .actions-toolbar .secondary .action:hover, .form.password.reset .actions-toolbar .secondary .action:focus,
      .form.send.confirmation .actions-toolbar .secondary .action:hover,
      .form.send.confirmation .actions-toolbar .secondary .action:focus,
      .form.password.forget .actions-toolbar .secondary .action:hover,
      .form.password.forget .actions-toolbar .secondary .action:focus,
      .form.create.account .actions-toolbar .secondary .action:hover,
      .form.create.account .actions-toolbar .secondary .action:focus {
        text-decoration: none; }
    @media only screen and (max-width: 639px) {
      .form.password.reset .actions-toolbar,
      .form.send.confirmation .actions-toolbar,
      .form.password.forget .actions-toolbar,
      .form.create.account .actions-toolbar {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .form.password.reset .actions-toolbar > *,
        .form.send.confirmation .actions-toolbar > *,
        .form.password.forget .actions-toolbar > *,
        .form.create.account .actions-toolbar > * {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%; } }

@media only screen and (min-width: 768px) {
  .form.password.forget .email label {
    float: none;
    display: block;
    width: 100%;
    text-align: left; }
  .form.password.forget .email .control {
    float: none;
    width: 100%;
    max-width: 44rem; }
  .form.password.forget .actions-toolbar {
    margin-left: 0;
    max-width: 44rem; } }

/** --------------------------------------------------
*   #Password widget
*   -------------------------------------------------- */
.password-strength-meter {
  padding: 0;
  background-color: transparent; }
  .password-strength-meter::before {
    height: 0.5rem;
    top: auto;
    bottom: 0; }

/** --------------------------------------------------
*   #Login
*   -------------------------------------------------- */
.login-container .block-new-customer a.primary {
  background-image: none;
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-weight: 600;
  margin: 0;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle; }
  .login-container .block-new-customer a.primary:focus, .login-container .block-new-customer a.primary:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  .login-container .block-new-customer a.primary:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }
  .login-container .block-new-customer a.primary.disabled, .login-container .block-new-customer a.primary[disabled],
  fieldset[disabled] .login-container .block-new-customer a.primary {
    opacity: 0.5;
    cursor: default;
    pointer-events: none; }

@media only screen and (min-width: 768px) {
  .login-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .login-container::before, .login-container::after {
      content: none; }
    .login-container .fieldset > .field:not(.choice) > .label {
      text-align: left; }
    .login-container .block {
      float: none;
      width: auto; }
    .login-container .block-customer-login {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 48%;
              flex: 0 1 48%;
      max-width: 40rem;
      padding-top: 2rem;
      /* required message */ }
      .login-container .block-customer-login .fieldset > .field > .control {
        width: 74.2%; }
      .login-container .block-customer-login form .actions-toolbar {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-left: 0; }
        .login-container .block-customer-login form .actions-toolbar::before, .login-container .block-customer-login form .actions-toolbar::after {
          content: none; }
        .login-container .block-customer-login form .actions-toolbar .secondary .action {
          color: #3b4a4b;
          text-decoration: underline; }
          .login-container .block-customer-login form .actions-toolbar .secondary .action:hover, .login-container .block-customer-login form .actions-toolbar .secondary .action:focus {
            text-decoration: none; }
    .login-container .block-new-customer {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 48%;
              flex: 0 1 48%;
      max-width: 60rem;
      padding: 2rem;
      background-color: #f9f9f7; } }

/** --------------------------------------------------
*   #Account pages
*   -------------------------------------------------- */
/** --------------------------------------------------
*
*   ACCOUNT PAGES
*   Layout changes
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #Whitespace & typography
*   -------------------------------------------------- */
body.account .page-main__inner {
  padding-bottom: 4rem; }
  @media only screen and (min-width: 1024px) {
    body.account .page-main__inner {
      padding-bottom: 6.4rem; } }

body.account .price-including-tax,
body.account .price-excluding-tax {
  font-size: 1.4rem; }

body.account .price-including-tax + .price-excluding-tax {
  margin-top: 0.4rem; }
  body.account .price-including-tax + .price-excluding-tax .price {
    font-weight: 500; }

/** --------------------------------------------------
*   #tables in overviews
*   -------------------------------------------------- */
.table:not(.cart):not(.totals) > thead > tr > th {
  font-weight: 500; }

body.account table > tbody > tr > td {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem; }

/** --------------------------------------------------
*   #Account overview column structure
*   -------------------------------------------------- */
@media only screen and (max-width: 1023px) {
  .account.page-layout-2columns-left .columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

@media only screen and (max-width: 767px) {
  /* prevent unnecessary whitespace since messages placeholder container is always printed */
  .account .page.messages {
    margin-bottom: 0; }
    .account .page.messages .message:last-child {
      margin-bottom: 3rem; }
  .account.page-layout-2columns-left .columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .account.page-layout-2columns-left .columns .sidebar-main {
      -webkit-box-ordinal-group: 100;
          -ms-flex-order: 99;
              order: 99; }
      .account.page-layout-2columns-left .columns .sidebar-main .block {
        margin-top: 3.8rem;
        margin-bottom: 0; } }

@media only screen and (max-width: 639px) {
  .account .order-details-items .table-order-items .price-excluding-tax {
    display: block; }
  .account .order-details-items .table-order-items .price-including-tax {
    vertical-align: initial; }
  .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody > tr td::before,
  .table-wrapper .table:not(.cart):not(.totals):not(.table-comparison) > tbody > tr th::before {
    line-height: 1; } }

@media only screen and (min-width: 768px) {
  .account.page-layout-2columns-left .columns .sidebar-main {
    width: 20%;
    margin-left: auto; } }

@media only screen and (min-width: 1024px) {
  .account.page-layout-2columns-left .columns .column.main {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: auto; }
  .account.page-layout-2columns-left .columns .sidebar-main {
    width: auto;
    margin-left: 0; }
  .account.page-layout-2columns-left .columns .sidebar-additional {
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 25%;
            flex: 0 1 25%; }
    .account.page-layout-2columns-left .columns .sidebar-additional > .block {
      margin-left: 3.2rem; } }

/** --------------------------------------------------
*
*   ACCOUNT SECTION
*   sidebar navigation
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #sidebar navigation
*   -------------------------------------------------- */
.account-nav .content {
  background-color: #28171d;
  color: #ffffff; }
  .account-nav .content a {
    color: inherit; }
    .account-nav .content a:hover, .account-nav .content a:focus {
      background-color: transparent;
      text-decoration: underline; }
  .account-nav .content .item.current a,
  .account-nav .content .item.current strong {
    border-color: transparent;
    font-weight: 700; }

/** --------------------------------------------------
*
*   ACCOUNT FORMS
*   Overrides for default form labels, inputs in account section
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #label, input layout
*   -------------------------------------------------- */
.account .column .actions-toolbar .primary + .secondary {
  margin-left: 4rem; }

.account .actions-toolbar a.action {
  color: #3b4a4b;
  text-decoration: underline; }
  .account .actions-toolbar a.action:hover, .account .actions-toolbar a.action:focus {
    text-decoration: none; }

.account .message.empty {
  margin-bottom: 2rem; }

@media only screen and (min-width: 768px) {
  .account .fieldset > .field:not(.choice) > .label {
    float: none;
    padding: 0 0 0 1rem;
    width: 100%;
    text-align: left; }
  .account .fieldset > .field:not(.choice) > .control {
    float: none;
    width: 100%;
    max-width: 44rem; }
  .account .fieldset > .field.choice::before {
    content: none; }
  .account .column:not(.sidebar-additional) form .actions-toolbar,
  .account .column:not(.sidebar-main) form .actions-toolbar {
    margin-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .account .column:not(.sidebar-additional) form .actions-toolbar::before, .account .column:not(.sidebar-additional) form .actions-toolbar::after,
    .account .column:not(.sidebar-main) form .actions-toolbar::before,
    .account .column:not(.sidebar-main) form .actions-toolbar::after {
      content: none; } }

/** --------------------------------------------------
*   #Actions / box actions
*   -------------------------------------------------- */
.account a.action {
  -webkit-transition: 250ms linear;
  -o-transition: 250ms linear;
  transition: 250ms linear;
  color: inherit;
  font-weight: 500;
  text-decoration: underline; }
  .account a.action:hover, .account a.action:focus {
    color: #a54f6c;
    text-decoration: none; }
  .account a.action.back {
    text-decoration: none; }
    .account a.action.back::before {
      content: "";
      margin-right: 0.8rem;
      font-family: "duo-icons";
      font-size: 1.2rem; }
    .account a.action.back span {
      text-decoration: underline; }
      .account a.action.back span:hover, .account a.action.back span:focus {
        text-decoration: none; }

.account .box-actions .action {
  display: inline-block;
  margin-right: 1rem; }

/** --------------------------------------------------
*   #toolbars
*   -------------------------------------------------- */
.account .column.main .toolbar {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left; }
  .account .column.main .toolbar::before, .account .column.main .toolbar::after {
    content: none; }
  .account .column.main .toolbar .pager {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%; }
    @media only screen and (max-width: 767px) {
      .account .column.main .toolbar .pager {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
  .account .column.main .toolbar .toolbar-amount {
    padding-top: 0; }

/** --------------------------------------------------
*
*   PRICE BOX
*   attempts to group all styles relating to all price variations
*
*   TABLE OF CONTENTS
*   - product detail
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #product detail
*   -------------------------------------------------- */
.product-info-main .price-box .price-wrapper .price,
.product-options-bottom .price-box .price-wrapper .price {
  font-size: 3.4rem;
  font-weight: 600; }

.product-info-main .box-tocart .input-text.qty,
.product-options-bottom .box-tocart .input-text.qty {
  height: auto;
  min-width: 6.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  border-color: #ffffff;
  color: #28171d;
  font-size: 1.8rem;
  font-weight: 600; }

.product-info-main .box-tocart .number-spinner .number-spinner__button,
.product-options-bottom .box-tocart .number-spinner .number-spinner__button {
  position: relative;
  z-index: 3; }

.product-info-main .box-tocart .number-spinner .input-text.qty,
.product-options-bottom .box-tocart .number-spinner .input-text.qty {
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .product-info-main .box-tocart .number-spinner .input-text.qty:focus,
  .product-options-bottom .box-tocart .number-spinner .input-text.qty:focus {
    border-bottom-color: #b8b496;
    outline: none; }

/** --------------------------------------------------
*
*   CHECKOUT MODULE LAYOUT MODS
*
*   TABLE OF CONTENTS
*   whitespace
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #whitespace
*   -------------------------------------------------- */
body.checkout-cart-index .page-main__inner,
body.checkout-onepage-success .page-main__inner {
  padding-bottom: 4rem; }
  @media only screen and (min-width: 1024px) {
    body.checkout-cart-index .page-main__inner,
    body.checkout-onepage-success .page-main__inner {
      padding-bottom: 6.4rem; } }

/** --------------------------------------------------
*   #abort checkout header
*   -------------------------------------------------- */
.custom-checkout-actions {
  padding-top: 10px;
  background-color: #ffffff; }
  @media only screen and (max-width: 767px) {
    .custom-checkout-actions {
      margin-left: -1.5rem;
      margin-right: -1.5rem; } }
  @media only screen and (min-width: 768px) {
    .custom-checkout-actions {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw); } }

.custom-checkout-actions__inner {
  padding: 0 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (min-width: 768px) {
    .custom-checkout-actions__inner {
      margin-left: auto;
      margin-right: auto;
      max-width: 1335px; } }

.abort-checkout__logo {
  width: 26.2rem;
  height: 3.8rem;
  display: block;
  background-image: url("../img/header-logo--bc.svg");
  background-repeat: no-repeat;
  background-size: 262px 38px; }
  @media only screen and (max-width: 767px) {
    .abort-checkout__logo {
      width: 17rem;
      height: 2.5rem;
      background-image: url("../img/header-logo--bc.svg");
      background-size: 170px 25px; } }

.abort-checkout__text {
  display: inline-block;
  text-decoration: none; }
  .abort-checkout__text:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }
  .abort-checkout__text::before {
    margin-top: -0.25rem;
    margin-right: 0.5rem; }

/** --------------------------------------------------
*
*   (One Page) Checkout success page
*
*   TABLE OF CONTENTS
*   layout
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #layout
*   -------------------------------------------------- */
body.checkout-onepage-success .actions-toolbar {
  margin-top: 4rem; }

.page-title-children .print {
  display: inline-block;
  text-decoration: none; }
  .page-title-children .print:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    content: "";
    font-family: "duo-icons";
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }

/** --------------------------------------------------
*
*   MAGENTO CHECKOUT > AUTHENTICATION
*   Sign in modal / wrapper / dropdown
*
*   TABLE OF CONTENTS
*   overlay
*   dropdown
*   modal popup
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #overlay
*   -------------------------------------------------- */
@media only screen and (min-width: 768px) {
  .authentication-wrapper .dropdown-overlay {
    background: rgba(0, 0, 0, 0.5); } }

/** --------------------------------------------------
*   #dropdown
*   -------------------------------------------------- */
@media only screen and (min-width: 768px) {
  .authentication-dropdown {
    width: 42rem;
    right: 0;
    margin-top: 1rem; }
    .column .checkout-container .authentication-dropdown form .actions-toolbar {
      margin-left: 0; }
    .authentication-dropdown::before {
      content: '';
      display: block;
      width: 0;
      height: 0;
      position: absolute;
      top: -1rem;
      right: 1rem;
      border-style: solid;
      border-width: 0 1rem 1rem 1rem;
      border-color: transparent transparent #ffffff transparent; }
  .block-authentication .actions-toolbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .block-authentication .actions-toolbar::before, .block-authentication .actions-toolbar::after {
      content: none; }
    .block-authentication .actions-toolbar .primary .action-login {
      padding: 1.5rem 2rem; }
    .block-authentication .actions-toolbar .secondary {
      margin: 0;
      padding: 0; }
      .block-authentication .actions-toolbar .secondary .action-remind {
        padding: 0;
        margin: 0;
        background: transparent;
        border: none;
        color: #333;
        text-decoration: underline; } }

/** --------------------------------------------------
*
*   Magento Sales / orders overview components
*
*   -------------------------------------------------- */
/** --------------------------------------------------
*   #order links
*   -------------------------------------------------- */
.order-links {
  padding-left: 0.4rem; }
  .order-links .nav.item {
    padding: 0.5rem 1rem;
    margin-right: 0.4rem;
    border-radius: 0.5rem 0.5rem 0 0;
    border: 0.1rem solid #d1d1d1;
    border-bottom: none;
    background-color: #f9f9f7; }
    .order-links .nav.item.current {
      background-color: #ffffff; }

/** --------------------------------------------------
*   #order detail actions
*   -------------------------------------------------- */
.order-details-items .actions-toolbar:first-child {
  margin: 2rem 0 3.4rem; }

.order-details-items .actions-toolbar > a.print {
  display: inline-block;
  display: inline-block;
  text-decoration: none;
  background-image: none;
  background: #3b4a4b;
  border: 1px solid #cdcdcd;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-family: "Montserrat", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-weight: 600;
  margin: 0;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  border-radius: 0.5rem; }
  .order-details-items .actions-toolbar > a.print:hover, .order-details-items .actions-toolbar > a.print:active, .order-details-items .actions-toolbar > a.print:focus {
    text-decoration: none; }
  .order-details-items .actions-toolbar > a.print:focus, .order-details-items .actions-toolbar > a.print:active {
    background: #e2e2e2;
    border: 1px solid #cdcdcd;
    color: #333; }
  .order-details-items .actions-toolbar > a.print:hover {
    background: #3b4a4b;
    border: 0.1rem solid #b8b496;
    color: #ffffff; }
  .order-details-items .actions-toolbar > a.print.disabled, .order-details-items .actions-toolbar > a.print[disabled],
  fieldset[disabled] .order-details-items .actions-toolbar > a.print {
    opacity: 0.5;
    cursor: default;
    pointer-events: none; }

.order-details-items .order-title {
  margin: 1.6rem 0; }
  .order-details-items .order-title > strong {
    margin: 0;
    font-weight: normal; }
  .order-details-items .order-title a.action {
    margin-left: 2rem; }
  .order-details-items .order-title a.print {
    text-decoration: none; }
    .order-details-items .order-title a.print::before {
      content: "";
      margin-right: 0.8rem;
      font-family: "duo-icons";
      font-size: 1.4rem; }
    .order-details-items .order-title a.print > span {
      text-decoration: underline; }
    .order-details-items .order-title a.print:hover > span, .order-details-items .order-title a.print:focus > span {
      text-decoration: none; }
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJiYXNlL19iYXNlLXN0eWxlcy5zY3NzIiwiYmFzZS9fZ2xvYmFsLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvX3V0aWxpdGllcy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS9fdHlwb2dyYXBoeS5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL190YWJsZXMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL190YWJsZXMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL19idXR0b25zLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS92YXJpYWJsZXMvX2J1dHRvbnMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL19mb3Jtcy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL19mb3Jtcy5zY3NzIiwiYmxvY2tzL19hY3Rpb25zLXRvb2xiYXIuc2NzcyIsIm1peGlucy9fbWVkaWEtcXVlcmllcy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvX2FjdGlvbnMtdG9vbGJhci5zY3NzIiwiYmxvY2tzL19icmVhZGNydW1icy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvX2JyZWFkY3J1bWJzLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS92YXJpYWJsZXMvX2JyZWFkY3J1bWJzLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS92YXJpYWJsZXMvX2ljb25zLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS9faWNvbnMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL3ZhcmlhYmxlcy9fbGF5b3V0LnNjc3MiLCJibG9ja3MvX2J1dHRvbnMuc2NzcyIsImJsb2Nrcy9fZXh0ZW5kcy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvX2Ryb3Bkb3ducy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL19kcm9wZG93bnMuc2NzcyIsImJsb2Nrcy9fZm9vdGVyLWNvbnRhY3Quc2NzcyIsImJsb2Nrcy9fZm9ybXMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL190b29sdGlwcy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL190b29sdGlwcy5zY3NzIiwiYmxvY2tzL19pY29ucy5zY3NzIiwiYmxvY2tzL19sYXlvdXQuc2NzcyIsImJsb2Nrcy9fbWVzc2FnZXMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL19tZXNzYWdlcy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL19tZXNzYWdlcy5zY3NzIiwiYmxvY2tzL19uYXZpZ2F0aW9uLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS92YXJpYWJsZXMvX25hdmlnYXRpb24uc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL19uYXZpZ2F0aW9uLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS9fcGFnZXMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL3ZhcmlhYmxlcy9fcGFnZXMuc2NzcyIsImJsb2Nrcy9fcGFnZXMuc2NzcyIsImJsb2Nrcy9fcG9wdXBzLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS92YXJpYWJsZXMvX3BvcHVwcy5zY3NzIiwiYmxvY2tzL19wcmljZS5zY3NzIiwiYmxvY2tzL19zZWN0aW9ucy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvX3NlY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS92YXJpYWJsZXMvX3NlY3Rpb25zLnNjc3MiLCJibG9ja3MvX3RhYmxlcy5zY3NzIiwiYmxvY2tzL190b29sdGlwcy5zY3NzIiwiYmxvY2tzL190eXBvZ3JhcGh5LnNjc3MiLCJibG9ja3MvX2Jhbm5lci5zY3NzIiwiYmxvY2tzL19wcm9kdWN0cy5zY3NzIiwiYmxvY2tzL2NvbXBvbmVudHMvX21vZGFscy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL19zdHJ1Y3R1cmUuc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL19tb2RhbHNfZXh0ZW5kLnNjc3MiLCIuLi9NYWdlbnRvX0FkdmFuY2VkQ2hlY2tvdXQvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fQnJhaW50cmVlL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX0J1bmRsZS9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvX2xpc3RpbmdzLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9fdG9vbGJhci5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fZXh0ZW5kcy5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX21peGlucy5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX2FjdGl2ZS5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX2Fyci5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX2Fycl9fYXJyLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fY2FwdGlvbi5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX2NhcHRpb25fX3dyYXAuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19kb3Quc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19mYWRlLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fZm90b3JhbWEuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19mdWxsc2NyZWVuLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fZnVsbHNjcmVlbi1pY29uLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fZ2FsbGVyeS1wbGFjZWhvbGRlci5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX2h0bWwuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19pbWcuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19tYWduaWZpZXIuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19tYWduaWZ5LnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fbmF2LnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fbmF2LXdyYXAuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19uYXZfX2ZyYW1lLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fbmF2X19zaGFmdC5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX3BvaW50ZXIuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19zZWxlY3Quc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19zaGFkb3cuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL19zaGFkb3dzLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fc2hvdy1jb250cm9sLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fc3Bpbm5lci5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX3N0YWdlLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fc3RhZ2VfX2ZyYW1lLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fc3RhZ2VfX3NoYWZ0LnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fdGh1bWIuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL190aHVtYi1ib3JkZXIuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL190aHVtYl9fYXJyLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fdmVydGljYWxfcmF0aW8uc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL192aWRlby5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX3ZpZGVvLWNsb3NlLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZS9mb3RvcmFtYS9fdmlkZW8tcGxheS5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9tb2R1bGUvZm90b3JhbWEvX3dyYXAuc2NzcyIsIi4uL01hZ2VudG9fQ2F0YWxvZy9zdHlsZXMvbW9kdWxlL2ZvdG9yYW1hL196b29tLnNjc3MiLCIuLi9NYWdlbnRvX0NhdGFsb2dFdmVudC9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nU2VhcmNoL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX0NoZWNrb3V0L3N0eWxlcy9tb2R1bGUvX2NhcnQuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9fbWluaWNhcnQuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9jaGVja291dC9fY2hlY2tvdXQuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9jaGVja291dC9fZXN0aW1hdGVkLXRvdGFsLnNjc3MiLCIuLi9NYWdlbnRvX0NoZWNrb3V0L3N0eWxlcy9tb2R1bGUvY2hlY2tvdXQvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vTWFnZW50b19DaGVja291dC9zdHlsZXMvbW9kdWxlL2NoZWNrb3V0L19maWVsZHMuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9jaGVja291dC9fbW9kYWxzLnNjc3MiLCIuLi9NYWdlbnRvX0NoZWNrb3V0L3N0eWxlcy9tb2R1bGUvY2hlY2tvdXQvX3Rvb2x0aXAuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9jaGVja291dC9fc2hpcHBpbmcuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9jaGVja291dC9fc2hpcHBpbmctcG9saWN5LnNjc3MiLCIuLi9NYWdlbnRvX0NoZWNrb3V0L3N0eWxlcy9tb2R1bGUvY2hlY2tvdXQvX3NpZGViYXIuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9jaGVja291dC9fc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi5zY3NzIiwiLi4vTWFnZW50b19DaGVja291dC9zdHlsZXMvbW9kdWxlL2NoZWNrb3V0L19vcmRlci1zdW1tYXJ5LnNjc3MiLCIuLi9NYWdlbnRvX0NoZWNrb3V0L3N0eWxlcy9tb2R1bGUvY2hlY2tvdXQvX2F1dGhlbnRpY2F0aW9uLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS9fZ3JpZHMuc2NzcyIsInZlbmRvci9tYWdlbnRvLXVpL3ZhcmlhYmxlcy9fcmVzcG9uc2l2ZS5zY3NzIiwiLi4vTWFnZW50b19DaGVja291dC9zdHlsZXMvbW9kdWxlL2NoZWNrb3V0L19wYXltZW50cy5zY3NzIiwiLi4vTWFnZW50b19DaGVja291dC9zdHlsZXMvbW9kdWxlL2NoZWNrb3V0L19wYXltZW50LW9wdGlvbnMuc2NzcyIsIi4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZS9jaGVja291dC9fY2hlY2tvdXQtYWdyZWVtZW50cy5zY3NzIiwiLi4vTWFnZW50b19DdXN0b21lci9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19Eb3dubG9hZGFibGUvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fR2lmdENhcmQvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fR2lmdENhcmRBY2NvdW50L3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX0dpZnRNZXNzYWdlL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX0dpZnRSZWdpc3RyeS9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19HaWZ0V3JhcHBpbmcvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fR3JvdXBlZFByb2R1Y3Qvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fSW52aXRhdGlvbi9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19MYXllcmVkTmF2aWdhdGlvbi9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19Nc3JwL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS9fcG9wdXBzLnNjc3MiLCIuLi9NYWdlbnRvX011bHRpcGxlV2lzaGxpc3Qvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fTXVsdGlzaGlwcGluZy9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19OZXdzbGV0dGVyL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX1BheXBhbC9zdHlsZXMvbW9kdWxlL19wYXlwYWwtYnV0dG9uLnNjc3MiLCIuLi9NYWdlbnRvX1BheXBhbC9zdHlsZXMvbW9kdWxlL19yZXZpZXcuc2NzcyIsIi4uL01hZ2VudG9fUHJvZHVjdFZpZGVvL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX1Jldmlldy9zdHlsZXMvX21vZHVsZS5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvX3JhdGluZy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL19yYXRpbmcuc2NzcyIsIi4uL01hZ2VudG9fUmV3YXJkL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX1JtYS9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19TYWxlcy9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19TYWxlc1J1bGUvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fU2VuZEZyaWVuZC9zdHlsZXMvX21vZHVsZS5zY3NzIiwiLi4vTWFnZW50b19Td2F0Y2hlcy9zdHlsZXMvX3N3YXRjaGVzLnNjc3MiLCIuLi9NYWdlbnRvX1RoZW1lL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX1RoZW1lL3N0eWxlcy9faGVhZGVyLnNjc3MiLCIuLi9NYWdlbnRvX1RoZW1lL3N0eWxlcy9fZm9vdGVyLnNjc3MiLCIuLi9NYWdlbnRvX1ZhdWx0L3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlbnRvX1dlZWUvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fV2lzaGxpc3Qvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL0FtYXN0eV9SZXF1ZXN0UXVvdGUvc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VudG9fQWR2YW5jZWRDaGVja291dC9zdHlsZXMvX3dpZGdldHMuc2NzcyIsIi4uL01hZ2VudG9fQmFubmVyL3N0eWxlcy9fd2lkZ2V0cy5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy9fd2lkZ2V0cy5zY3NzIiwiLi4vTWFnZW50b19DYXRhbG9nRXZlbnQvc3R5bGVzL193aWRnZXRzLnNjc3MiLCIuLi9NYWdlbnRvX0Ntcy9zdHlsZXMvX3dpZGdldHMuc2NzcyIsIi4uL01hZ2VudG9fTXVsdGlwbGVXaXNobGlzdC9zdHlsZXMvX3dpZGdldHMuc2NzcyIsIi4uL01hZ2VudG9fVmVyc2lvbnNDbXMvc3R5bGVzL193aWRnZXRzLnNjc3MiLCIuLi9NYWdlcGxhemFfQWpheExheWVyL3N0eWxlcy9fbW9kdWxlLnNjc3MiLCIuLi9NYWdlcGxhemFfTGF5ZXJlZE5hdmlnYXRpb24vc3R5bGVzL19tb2R1bGUuc2NzcyIsIi4uL01hZ2VwbGF6YV9MYXllcmVkTmF2aWdhdGlvblByby9zdHlsZXMvX21vZHVsZS5zY3NzIiwic3R5bGVzLnNjc3MiLCJibG9ja3MvY29tcG9uZW50cy9fdG9vbGJhcl9leHRlbmQuc2NzcyIsImJsb2Nrcy9fbG9hZGVycy5zY3NzIiwidmVuZG9yL21hZ2VudG8tdWkvdmFyaWFibGVzL19sb2FkZXJzLnNjc3MiLCJ2ZW5kb3IvbWFnZW50by11aS9fbG9hZGVycy5zY3NzIiwiYmxvY2tzL2NvbXBvbmVudHMvX2xheWVyZWRuYXZpZ2F0aW9uX2V4dGVuZC5zY3NzIiwiYmxvY2tzL2NvbXBvbmVudHMvX2NhdGFsb2dfcHJvZHVjdF9leHRlbmQuc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL19jYXRhbG9nX3NlYXJjaF9leHRlbmQuc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL19jdXN0b21lcl9leHRlbmQuc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL2FjY291bnQvX2xheW91dC5zY3NzIiwiYmxvY2tzL2NvbXBvbmVudHMvYWNjb3VudC9fc2lkZW5hdi5zY3NzIiwiYmxvY2tzL2NvbXBvbmVudHMvYWNjb3VudC9fZm9ybXMuc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL19wcmljZS1ib3guc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL2NoZWNrb3V0L19sYXlvdXQuc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL2NoZWNrb3V0L19zdWNjZXNzLnNjc3MiLCJibG9ja3MvY29tcG9uZW50cy9jaGVja291dC9fYXV0aGVudGljYXRpb24uc2NzcyIsImJsb2Nrcy9jb21wb25lbnRzL3NhbGVzL19vcmRlci10YWJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDbU1oQixpQkFBQTtBQUlBLHlDQUFBO0FDdk1BOzs7Ozs7Ozs7Ozs7O3dERmdCd0Q7QUVFeEQ7O3dERkN3RDtBRUd4RDs7O0VBR0MsOEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBOztBQU12Qjs7d0RGSndEO0FFUXhEOzs7Ozs7Ozs7RUFTQyxTQUFTO0VBQ1QsVUFBVSxFQUFBOztBQUdYOzs7Ozs7Ozs7OztFQVdDLGNBQWMsRUFBQTs7QUFNZjs7d0RGVndEO0FFY3hELHNCQUFBO0FBRUEsV0FBQTtBQUVBO0VBQ0MsV0FBVztFQUNYLGVBQWU7RUFDZixZQUFZO0VBQ1osa0JBQWtCLEVBQUE7O0FBR25CLFVBQUE7QUFFQTtFQUNDLDZCQUE2QjtFQUFFLHVEQUFBO0VBQy9CLGNBQWMsRUFBQTs7QUFHZixhQUFBO0FBRUE7RUFDQyxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixxQkFBcUIsRUFBQTs7QUFHdEI7RUFBSyxlQUFlLEVBQUE7O0FBQ3BCO0VBQUssaUJBQWlCLEVBQUE7O0FBQ3RCO0VBQUssZUFBZSxFQUFBOztBQUNwQjtFQUFLLGlCQUFpQixFQUFBOztBQUN0QjtFQUFLLGlCQUFpQixFQUFBOztBQUN0QjtFQUFLLGlCQUFpQixFQUFBOztBQUV0QixVQUFBO0FBRUE7RUFDQyxnQkFBZ0IsRUFBQTs7QUFHakIsWUFBQTtBQUVBO0VBQ0MsWUFBWSxFQUFBOztBQUdiLFdBQUE7QUFFQTtF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R3JVeEQ7RUFDQyw4REFBQTtFQUNBLDZCQUE2QixFQUFBOztBQUc5QjtFQUNDLGtDQUFrQztFQUNsQyxrQ0FBa0M7RUFDbEMsbUNBQW1DO0VBRW5DLHNCQ3ZCOEIsRUFBQTs7QURhL0I7RUVxS1ksZ0JDL0oyQjtFQ29ObkMsc0JBQXNCLEVBQUE7O0FKck4xQjtFRWdLWSxjSjlLYztFSTBLViwrRUNwS3NFO0VEd0sxRSxrQkMxSTRCO0VEMEk1QixnQkNoSnlCO0VEZ0p6QixvQkN0SThCO0VEc0k5QixpQkE3SjBDLEVBQUE7O0FFeU5wRDtFRjVEVSxhQ3hEdUIsRUFBQTs7QUNvSGpDO0VGNURVLHNCQTdKMEMsRUFBQTs7QUhzSXREO0VHbUJnQixpQ0N4R3NEO0VDcUxsRSxZQUFZLEVBQUE7O0FMckRoQjs7RUdwQlksZ0JDN0l5QixFQUFBOztBQzhObkM7O0VGakZVLGtCQ3pJNEIsRUFBQTs7QUMrTnRDO0VGdEZVLG1CRG5Ga0Q7RUNtRmxELFlENUYyQyxFQUFBOztBR3VMckQ7O0VGM0ZVLGVDckptRCxFQUFBOztBSmtHL0Q7RUtvSkksU0FBUztFRnJHRyw2QkN4R3NEO0VENEcxRCxtQkNySWtFO0VEcUlsRSxnQkNySWtFLEVBQUE7O0FKeUs5RTs7RUdwQ1ksb0JFaUQwRDtFQXlEbEUsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix3QkFBd0IsRUFBQTs7QUw1RDVCO0VLZ0VJLFdBQVcsRUFBQTs7QUxwRWY7RUt3RUksZUFBZSxFQUFBOztBQUdqQjtFRnZIVSxrQkN6STRCLEVBQUE7O0FKbUR4QztFR3NGWSxnQkNqSnlCO0VEaUp6QixnQkMvQ3lCO0VEK0N6QixpQkE3SjBDO0VBNkoxQyxhQ25DdUI7RURtQ3ZCLHFCQTdKMEMsRUFBQTs7QUh3RXREO0VHcUZZLGdCQ2pKeUI7RURpSnpCLGdCQy9DeUI7RUQrQ3pCLGlCQTdKMEM7RUE2SjFDLG9CQTdKMEM7RUE2SjFDLHFCQTdKMEMsRUFBQTs7QUh5RXREO0VHb0ZZLGdCQ2pKeUI7RURpSnpCLGdCQy9DeUI7RUQrQ3pCLGlCQTdKMEM7RUE2SjFDLG9CQTdKMEM7RUE2SjFDLHNCQTdKMEMsRUFBQTs7QUgwRXREO0VHbUZZLGdCQzdJeUI7RUQ2SXpCLGdCQy9DeUI7RUQrQ3pCLGlCQTdKMEM7RUE2SjFDLGtCQTdKMEM7RUE2SjFDLHFCQTdKMEMsRUFBQTs7QUgyRXREO0VHa0ZZLGdCQzdJeUI7RUQ2SXpCLGdCQy9DeUI7RUQrQ3pCLGlCQTdKMEM7RUE2SjFDLGtCQTdKMEM7RUE2SjFDLHFCQTdKMEMsRUFBQTs7QUg0RXREO0VHaUZZLGdCQzdJeUI7RUQ2SXpCLGdCQy9DeUI7RUQrQ3pCLGVBN0owQztFQTZKMUMsa0JBN0owQztFQTZKMUMscUJBN0owQyxFQUFBOztBRTBUcEQ7Ozs7Ozs7Ozs7OztFRjdKVSxXRDlLbUI7RUMwS2YsK0VDcEtzRTtFRHdLMUUsa0JDMUk0QjtFRDBJNUIsZ0JDaEp5QjtFRGdKekIsY0NldUIsRUFBQTs7QUNxS2pDOztFRnBMVSxXRDlLbUI7RUM4S25CLDBCQ3BHK0IsRUFBQTtFQ096Qzs7SUY2RlUsV0Q5S21CO0lDOEtuQixxQkNqRzBCLEVBQUE7RUNTcEM7O0lGd0ZVLGNDL0Y2QjtJRCtGN0IscUJDOUYwQixFQUFBO0VDV3BDOztJRm1GVSxjRHhIc0I7SUN3SHRCLHFCQzNGMEIsRUFBQTs7QUNzU3BDOztFRjNNVSxhQzVFdUI7RUQ0RXZCLHVCQTdKMEMsRUFBQTtFRXdXcEQ7O0lGM01VLGFDekV1QjtJRHlFdkIsc0JBN0owQyxFQUFBO0VFd1dwRDs7OztJQVlJLGdCQUFnQixFQUFBOztBQUlwQjtFRjNOVSxtQkNySWtFO0VEcUlsRSxhQ3RFdUIsRUFBQTs7QUNzU2pDO0VGaE9VLGdCQzdJeUI7RUQ2SXpCLHFCQ2xIdUM7RURrSHZDLGFDbkV1QixFQUFBOztBQ3lTakM7RUZ0T1Usb0JDbkh1QztFRG1IdkMsYUMvRHVCO0VDd1MvQixjQUFjLEVBQUE7O0FMMVNsQjtFR2lFWSxXR2xMaUM7RUNRekMseUJBQXlCO0VBQ3pCLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7RUFFZjtJQUNJLGdCQUFnQixFQUFBO0VBTVo7Ozs7SUFFSSxtQkFBbUIsRUFBQTtFQU0zQjs7SUFFSSxzQkFBc0IsRUFBQTtFQVF0Qjs7Ozs7O0lKeUlJLGtCQy9HbUMsRUFBQTs7QUp5S25EO0VReExJLHNCQUFzQjtFTGtJZCxtQko5S2M7RUkwS1YseUJEN0hrQjtFQ2lJdEIsY0psTFM7RUlrTFQsZU1uSzJDO0VObUszQyxxQk1wS2dEO0VOZ0s1QywrRUNwS3NFO0VEd0sxRSxnQkpRYTtFSVJiLFNNektxQztFTnFLakMsb0JKUWE7RUlKakIsaUJKT2M7RVM1SHRCLGdCQUFnQjtFQUNoQiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHNCQUFzQixFQUFBO0VBaUJ0QjtJTGtHUSxtQkRsSXNCO0lDOEhsQix5QkQ3SGtCO0lDaUl0QixXRDlLbUIsRUFBQTtFTW1GM0I7SUwyRlEsbUJKOUtjO0lJMEtWLDRCSnZLVTtJSTJLZCxjSmxMUyxFQUFBO0VTNkZqQjs7Ozs7SUxxRlEsWU1oS3VDO0lEK0UzQyxlQUFlO0lBQ2Ysb0JBQW9CLEVBQUE7O0FFdVJ4Qjs7Ozs7Ozs7O0VQdk1RLGdCRGxMbUI7RUNrTG5CLDRCUXBLaUQ7RVJnSzdDLDRCUXhLeUM7RVI0SzdDLHFCUTFLNEM7RVJzS3hDLCtFQ3BLc0U7RUR3SzFFLGVDeEowRTtFRHdKMUUsY1F6SzRDO0VSeUs1QyxjUTlKdUM7RVI4SnZDLGFRdEswQztFUnNLMUMsd0JRcks4QztFUnFLOUMsV1F4SzBDO0VEcUlsRCw4QkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RUEwT3RCOzs7Ozs7Ozs7SVAzTVksNEJRM0lzRCxFQUFBO0VEc1ZsRTs7Ozs7Ozs7O0lQdk1RLFlRckp5QyxFQUFBO0VENFZqRDs7Ozs7Ozs7O0lQdk1RLGNEaktzQixFQUFBO0VRd1c5Qjs7Ozs7Ozs7O0lQdk1RLGNEaktzQixFQUFBO0VRd1c5Qjs7Ozs7Ozs7O0lQdk1RLGNEaktzQixFQUFBOztBUW9YOUI7RUF4S0EsMEJBQTBCLEVBQUE7RUFOMUI7SUFFSSx3QkFBd0I7SUFDeEIsU0FBUyxFQUFBOztBQStLYjtFQXhLQSx3QkFBd0IsRUFBQTtFQUN4QjtJQUlJLHdCQUF3QixFQUFBOztBQXVLNUI7RVAzTlEsZ0JEbExtQjtFQ2tMbkIsNEJRcEtpRDtFUmdLN0MsNEJReEt5QztFUjRLN0MscUJRMUs0QztFUnNLeEMsK0VDcEtzRTtFRHdLMUUsZUN4SjBFO0VEd0oxRSxjUXpLNEM7RVJ5SzVDLGNROUp1QztFUjBKbkMseUJRbEY0RDtFUnNGaEUsd0JRcks4QztFUnFLOUMsV1F4SzBDO0VEcUlsRCw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBaUNsQix3QkFBd0I7RUFDeEIscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUVoQixvRUFBNEU7RUFDNUUsNEJBQTRCO0VBQzVCLHlCQUF5QjtFQUN6Qix3Q0FBd0M7RUFDeEMscUJBQXFCLEVBQUE7RUFxTnpCO0lQL05ZLDRCUTNJc0QsRUFBQTtFRDBXbEU7SVAzTlEsWVFySnlDLEVBQUE7O0FEb1hqRDtFUC9OUSxZT2dPeUI7RUFDN0Isc0JBQXNCLEVBQUE7O0FWekg5QjtFR3hHWSxnQkRsTG1CO0VDa0xuQiw0QlFwS2lEO0VSZ0s3Qyw0QlF4S3lDO0VSNEs3QyxxQlExSzRDO0VSc0t4QywrRUNwS3NFO0VEd0sxRSxlQ3hKMEU7RUR3SjFFLFlRcEQwQztFUm9EMUMsY1E5SnVDO0VSOEp2QyxTUWpEdUM7RVJpRHZDLGNDbkh1QztFRG1IdkMsd0JRcks4QztFUnFLOUMsV1F4SzBDO0VEcUlsRCw4QkFBc0I7VUFBdEIsc0JBQXNCO0VQbUNkLGdCUXhDOEMsRUFBQTtFRDRRdEQ7SVB4T1ksNEJRM0lzRCxFQUFBO0VEbVhsRTtJUHBPUSxZUXJKeUMsRUFBQTtFRHlYakQ7SVBwT1EsY0RqS3NCLEVBQUE7RVFxWTlCO0lQcE9RLGNEaktzQixFQUFBO0VRcVk5QjtJUHBPUSxjRGpLc0IsRUFBQTs7QVE4UTlCOzs7RVA3R1EscUJReUJzRixFQUFBOztBRDhOOUY7RVB2UFEsY0Q1SHNCO0VDNEh0QixpQkE3SjBDLEVBQUE7O0FPd1psRDs7O0VBR0ksZUFBZTtFQUNmLDBCQUEwQixFQUFBOztBQUc5QjtFQUNJLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FF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bkIvYTlCLFdEOUttQjtJQzhLbkIsd0JDNUtpQztJRDRLakMsc0JtQjhhK0I7SUg1U3ZDLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxrQkFBa0IsRUFBQTtFQXJSVjs7OztJaEIrSUEsY0MvRjZCLEVBQUE7O0FrQnNoQnpDOzs7RWQxZkksZ0JBQWdCO0VMK0RKLG9CSm9CZ0I7RUloQnBCLGlCSmNpQixFQUFBOztBdUJpYjdCOztFbkIvYlksb0JDdEk4QjtFRHNJOUIsVUtMYztFTEtkLFdEOUttQjtFQzhLbkIsMEJDcEcrQjtFSXFHdkMsZ0JBQWdCO0VBQ2hCLFNBQVM7RUFDVCxlQUFlO0VjOGJmLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZ0JsQm5sQmlDLEVBQUE7RUNtRG5DOztJRjZGVSxXRDlLbUI7SUM4S25CLHFCQ2pHMEIsRUFBQTtFQ1NwQzs7SUZ3RlUsY0MvRjZCO0lEK0Y3QixxQkM5RjBCLEVBQUE7RUNXcEM7O0lGbUZVLGNEeEhzQjtJQ3dIdEIscUJDM0YwQixFQUFBO0VDR3BDOztJRndGVSxjQy9GNkIsRUFBQTtFSXdHckM7Ozs7SUFHSSxnQkFBZ0I7SUFDaEIsU0FBUyxFQUFBO0VBR2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lMaEJRLFdEOUttQjtJQzhLbkIsWU1oS3VDO0lEcUwzQyxlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLDBCQUEwQixFQUFBO0Vjd2FsQzs7O0lBUVEsd0JBQWdCO1lBQWhCLGdCQUFnQixFQUFBOztBQVF4QjtFbkIvY1ksbUJKOUtjO0VJMEtWLHlCRDdIa0I7RUNpSXRCLGNKbExTLEVBQUE7RVNtVWpCO0lMakpRLG1CRGxJc0I7SUM4SGxCLHlCRDdIa0I7SUNpSXRCLFdEOUttQixFQUFBO0VNc1UzQjtJTHhKUSxtQko5S2M7SUkwS1YsNEJKdktVO0lJMktkLGNKbExTLEVBQUE7O0F1QnlvQnJCO0VuQnZkWSxpQkpPYztFUzFFdEIsZ0JBQWdCO0VMK0RKLG9CSlFhLEVBQUE7O0F1QjJkN0I7RUFDSSxlQUFvQixFQUFBOztBQU94Qjs7Ozs7Ozs7Ozs7OztFbkJ2ZVksaUJBN0owQztFbUJ5b0I5QyxxQkFBcUI7RUFDckIsbUJBQW1CLEVBQUE7O0FBTjNCO0VBVVEscUJBQXFCO0VuQmpmakIsaUJBN0owQyxFQUFBO0VtQm9vQnREO0lBY1ksa0NBQWdDLEVBQUE7RUFkNUM7SUFrQlksWUFBWSxFQUFBOztBQVN4Qjs7RUFDSSxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGtCQUFrQjtFbkJyZ0JWLHFCZTFKNkI7RUNKckMscUJBQXFCLEVBQUE7RUEwQmpCOztJQThQSixtQ0FBbUM7SUFDbkMsa0NBQWtDO0loQjNIMUIsZW1Cd2dCMEI7SW5CeGdCMUIsaUJtQnlnQjBCO0luQnpnQjFCLGNlOUp3QjtJZjhKeEIsWWUvR2lCO0lmK0dqQix3QkM1S2lDO0lEd0s3QixpQm1COGdCMkI7SW5CMWdCL0Isc0JlN0t1QjtJQytTL0IscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGtCQUFrQixFQUFBO0VBMVFkOztJR21wQkEsa0JBQWtCO0lBQ2xCLGFsQm5vQjJDO0lrQm9vQjNDLFFBQVEsRUFBQTtFSGptQlI7O0loQmdGSSxZZWhIaUIsRUFBTzs7QUNnQzVCOztFaEJnRkksWWVoSGlCLEVBQU87O0FJdXBCcEM7RW5CdmlCWSxpQkE3SjBDO0VtQnNzQmxELGdCbEJ0ckJpQztFa0J1ckJqQyxnQkFBZ0IsRUFBQTs7QVR6c0JoQjtFU2l0QkE7SUFHWSxnQ2xCanFCc0QsRUFBQTtFa0I4cEJsRTtJQVdvQixhQUFhLEVBQUE7RUFYakM7SUFrQmdCLDhCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsVUFBVSxFQUFBO0lBdEIxQjtNQXlCb0IsMEJBQTBCO01BQzFCLGNBQWM7TUFDZCxnQmxCMXRCYTtNa0IydEJiLHFCbEJqc0IyQixFQUFBO0VrQnFxQi9DO0lBa0NZLFNBQVMsRUFBQSxFQUNaOztBQVNiOzs7RUFFUSxhQUFhLEVBQUE7O0FBUXJCO0VuQnhtQlkscUJlMUo2QjtFQ0pyQyxxQkFBcUIsRUFBQTtFQUdqQjtJQXFSSixtQ0FBbUM7SUFDbkMsa0NBQWtDO0loQjNIMUIsZW1CMm1CNkI7SW5CM21CN0IsaUJtQjRtQjZCO0luQjVtQjdCLGNlOUp3QjtJZjhKeEIsWWVySGlCO0lmcUhqQix3QkM1S2lDO0lENEtqQyxzQm1CNm1CK0I7SUgzZXZDLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxrQkFBa0IsRUFBQTs7QU5yU2xCO0VTaXhCQTtJbkJsbkJRLGNtQnluQmtDO0lIdnhCMUMscUJBQXFCLEVBQUE7SUFHakI7TUFxUkosbUNBQW1DO01BQ25DLGtDQUFrQztNaEIzSDFCLGVtQnFuQmlDO01uQnJuQmpDLGlCbUJzbkJpQztNbkJ0bkJqQyxjZTlKd0I7TWY4SnhCLFllckhpQjtNZnFIakIsd0JDNUtpQztNRHdLN0IsaUJtQjRuQmtDO01uQnhuQnRDLHNCbUJ1bkJtQztNSHJmM0MscUJBQXFCO01BQ3JCLG1CQUFtQjtNQUNuQixnQkFBZ0I7TUFDaEIsV0FBVztNQUNYLGtCQUFrQixFQUFBLEVBdlJiOztBR214QlQ7RW5CbG9CWSxtQkQxSnNCLEVBQUE7O0FvQjR4QmxDO0VBVVksa0JBQWtCO0VBQ2xCLG9CbEIvdkJ1QyxFQUFBOztBUzdDL0M7RVNzekJBO0lBQ0ksZ0NsQnB3QjhEO0lrQnF3QjlELDZCbEJyd0I4RDtJa0Jzd0I5RCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLDhCRjEwQmtDO0lFMjBCbEMsa0JBQWtCO0luQjdwQmQsY21Cb3FCNkI7SUhsMEJyQyxxQkFBcUIsRUFBQTtJQTBCakI7TUE4UEosbUNBQW1DO01BQ25DLGtDQUFrQztNaEIzSDFCLGVtQmlxQjRCO01uQmpxQjVCLG9CZWhLd0I7TWZnS3hCLGNlOUp3QjtNZjhKeEIsWWUvR2lCO01mK0dqQix3QkM1S2lDO01ENEtqQyxzQmU3S3VCO01DK1MvQixxQkFBcUI7TUFDckIsbUJBQW1CO01BQ25CLGdCQUFnQjtNQUNoQixXQUFXO01BQ1gsa0JBQWtCLEVBQUE7SUExUWQ7TUc0eUJJLGtCQUFrQjtNQUNsQixZbEI1eEJ1QztNa0I2eEJ2QyxNQUFNLEVBQUE7SUgxdkJWO01oQmdGSSxZZWhIaUIsRUFBTyxFQ2tDM0I7O0FHNHdCVDs7OztFQUhJLGFBQWEsRUFBQTs7QVQxMUJiO0VTazJCQTtJQVJBLGFBQWEsRUFBQSxFQVVaOztBVHAyQkQ7RVN3MkJBO0lBZEEsYUFBYSxFQUFBLEVBZ0JaOztBQU9MO0VBQ0kscUJBQXFCO0VBQ3JCLG1CbEJ6MUIwRSxFQUFBOztBUzFCMUU7RVMyM0JBOzs7Ozs7O0lBSVEsV0FBVztJQUNYLHNCbEJyMUIwQyxFQUFBLEVrQnMxQjdDOztBVGo0Qkw7RVMwNEJBOzs7OztJQUlRLHNCbEJuMkIwQyxFQUFBLEVrQm8yQjdDOztBVC80Qkw7RVN3NUJBO0lBRUksbUJsQmg0QnNFO0lrQmk0QnRFLGtCQUFrQixFQUFBO0lBSHRCO01BTVEsWUFBWTtNQUNaLGtCQUFrQjtNQUNsQixVQUFVLEVBQUE7SUFSbEI7TUFZUSxXQUFXO01BQ1gsbUJBQW1CO01BQ25CLGdCQUFnQjtNQUNoQixrQkFBa0I7TUFDbEIsVUFBVSxFQUFBO0lBaEJsQjtNQW9CUSxrQkFBa0I7TUFDbEIsVUFBVTtNQUNWLFNBQVM7TUFDVCxPQUFPO01BQ1AsV0FBVyxFQUFBLEVBQ2Q7O0FBUVQ7RW5CMXhCWSxjRDFGNEM7RUMwRjVDLGlCQTdKMEM7RW1CMDdCbEQsbUJBQW1CLEVBQUE7O0FBT3ZCO0VBR1ksa0JBQWtCO0VBQ2xCLGdCbEJyN0J5QjtFRDZJekIscUJNcEtnRDtFRDJJeEQscUJBQXFCO0VBQ3JCLHFCQUFxQjtFQTFHckIsc0JBQXNCO0VMa0lkLG1CSjlLYztFSTBLVix5QkQ3SGtCO0VDaUl0QixjSmxMUztFSWtMVCxlTW5LMkM7RU5tSzNDLHFCTXBLZ0Q7RU5nSzVDLCtFQ3BLc0U7RUR3SzFFLGdCSlFhO0VJUmIsU016S3FDO0VOcUtqQyx1Qm1CK3lCK0M7RW5CM3lCbkQsaUJKT2M7RVM1SHRCLGdCQUFnQjtFQUNoQiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHNCQUFzQjtFTG1IZCxxQmUxSjZCO0VDSnJDLHFCQUFxQixFQUFBO0VYd0lyQjtJQUdJLHFCQUFxQixFQUFBO0VXeElyQjtJQXFSSixtQ0FBbUM7SUFDbkMsa0NBQWtDO0loQjNIMUIsZW1COHlCeUM7SW5COXlCekMsaUJtQit5QnlDO0luQi95QnpDLGNNdkcyQztJTnVHM0MsWWUxSGlCO0lmMEhqQix3QkM1S2lDO0lENEtqQyxTTXRHcUM7SU5zR3JDLG1CTXJHdUM7SVV1Ty9DLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxrQkFBa0IsRUFBQTtFQXJSVjtJaEIrSUEsY01qRzJDLEVBQUE7RVV6QzNDO0loQjBJQSxjTWhHMkMsRUFBQTtFREZuRDtJTGtHUSxtQkRsSXNCO0lDOEhsQix5QkQ3SGtCO0lDaUl0QixXRDlLbUIsRUFBQTtFTW1GM0I7SUwyRlEsbUJKOUtjO0lJMEtWLDRCSnZLVTtJSTJLZCxjSmxMUyxFQUFBO0VTNkZqQjs7Ozs7SUxxRlEsWU1oS3VDO0lEK0UzQyxlQUFlO0lBQ2Ysb0JBQW9CLEVBQUE7O0FjbzNCNUI7RW5CcHlCWSxxQmUxSjZCO0VDSnJDLHFCQUFxQjtFRzI5QmIsb0JsQi82QnVDLEVBQUE7RWV6QzNDO0lBcVJKLG1DQUFtQztJQUNuQyxrQ0FBa0M7SWhCM0gxQixlbUIwekJrQztJbkIxekJsQyxpQm1CMnpCa0M7SW5CM3pCbEMsY012RzJDO0lOdUczQyxZZS9JaUI7SWYrSWpCLHdCQzVLaUM7SUQ0S2pDLFNNdEdxQztJTnNHckMsbUJNckd1QztJVXVPL0MscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGtCQUFrQixFQUFBO0VBclJWO0loQitJQSxjTWpHMkMsRUFBQTtFVXpDM0M7SWhCMElBLGNNaEcyQyxFQUFBOztBSS9EbkQ7RVNrK0JBO0lBRVEsa0JBQWtCLEVBQUE7RUFGMUI7SUFTWSxvQmxCLzdCbUMsRUFBQTtFa0JzN0Iv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QixXQUFXLEVBQUE7SUFHZjs7TUFDSSxxQkFBcUIsRUFBQTtJQUd6Qjs7TUFDSSx1QkFBdUIsRUFBQTtJQUczQjs7TUFDSSxxQkFBcUIsRUFBQTtJQUd6Qjs7TUFDSSxxQkFBcUIsRUFBQTtJQUk3Qjs7TVBuZkEsMkJPb2ZrRDtNUHBmbEQsMkJPb2ZrRDtNUHBmbEQsb0JPb2ZrRDtNUDVkbEQscUJPNmQrQztVUDdkL0MsaUJPNmQrQztNQUMzQyxVQUFVO01BQ1YsV0FBVyxFQUFBO01BRVg7Ozs7OztRUHJkSiw0Qk93ZDBDO1lQeGQxQyxpQk93ZDBDO2dCUHhkMUMsUU93ZDBDO1FQMWUxQyw2Qk8yZWtEO1lQM2VsRCxnQk8yZWtEO1FBQzFDLHFCQUFxQjtRQUNyQixTQUFTO1FBQ1QsV0FBVyxFQUFBO01BR2Y7Ozs7UVBybUJJLGdCRGxMbUI7UUNrTG5CLDRCUXBLaUQ7UVJnSzdDLDRCUXhLeUM7UVI0SzdDLHFCUTFLNEM7UVJzS3hDLCtFQ3BLc0U7UUR3SzFFLGVDeEowRTtRRHdKMUUsY1F6SzRDO1FSeUs1QyxjUTlKdUM7UVI4SnZDLGFRdEswQztRUnNLMUMsd0JRcks4QztRUnFLOUMsV1F4SzBDO1FEcUlsRCw4QkFBc0I7Z0JBQXRCLHNCQUFzQjtRUHlLdEIsNEJPa2UwQztZUGxlMUMsaUJPa2UwQztnQlBsZTFDLFFPa2UwQztRQUNsQyxxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQixXQUFXLEVBQUE7UUFoVG5COzs7O1VQaFVZLDRCUTNJc0QsRUFBQTtRRDhkbEU7Ozs7VVAvVVEsWVFySnlDLEVBQUE7UURvZjdDOzs7O1VQL1ZJLGNEaktzQixFQUFBO1FRd2dCMUI7Ozs7VVB2V0ksY0RqS3NCLEVBQUE7UVFnaEIxQjs7OztVUC9XSSxjRGpLc0IsRUFBQTtNUWd4QjFCOztRQUNJLFdBQVc7UVAxZW5CLDRCTzJlMEM7WVAzZTFDLGlCTzJlMEM7Z0JQM2UxQyxRTzJlMEMsRUFBQTtJQUkxQzs7TVBybkJRLGlCUXVEc0UsRUFBQTtJRGl0QjFFOzs7O01BQ0ksWUFBWTtNUHp3Qlos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QjhCdko0QjtFOUIySmhDLG1CRDVHc0I7RUM0R3RCLHFCRDVIc0I7RUM0SHRCLGNENUhzQjtFQzRIdEIsa0I4QnJLK0I7RUQyT3ZDLGtCQUFrQixFQUFBO0VBbExsQjtJN0I0R1EsYzhCN0VrQyxFQUFBO0lENUJ0QztNN0J5R0ksV0Q5S21CLEVBQUE7SThCeUV2QjtNN0JxR0ksV0Q5S21CLEVBQUE7RThCc1AzQjtJYmtEQSxtQ0FBbUM7SUFDbkMsa0NBQWtDO0loQjNIMUIsZThCdksrQjtJOUJ1Sy9CLGlCOEJ2SytCO0k5QnVLL0IsY0QzSHNCO0lDMkh0QixZZWhKaUI7SWZnSmpCLHdCQzVLaUM7SUR3SzdCLGdCNkJtRjBEO0k3Qi9FOUQsc0JlN0t1QjtJQytTL0IscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGtCQUFrQjtJaEJ0SVYsTzhCL0o0QjtJOUIrSjVCLFM4QmxLK0I7STlCa0svQixXOEJySytCO0lENFBuQyxrQkFBa0I7SUFDbEIsa0JBQWtCLEVBQUE7O0FEOUwxQjtFNUJzR1ksUzRCbExPO0U1QjhLSCxtQkNqSThEO0U0QkMxRSxjQUFjO0U3Qm9JTixnQjRCaExjO0U1QmdMZCxtQjRCL0tpQjtFNUIrS2pCLGlCNEJqTGU7RTVCNktYLGlCOEJ2SjRCO0U5QjJKaEMsbUJEdEdzQjtFQ3NHdEIscUJEdEdzQjtFQ3NHdEIsY0R6R3NCO0VDeUd0QixrQjhCcksrQjtFRDJPdkMsa0JBQWtCLEVBQUE7RUFsTGxCO0k3QjRHUSxjOEJuSmtDLEVBQUE7SUQwQ3RDO003QnlHSSxXRDlLbUIsRUFBQTtJOEJ5RXZCO003QnFHSSxXRDlLbUIsRUFBQTtFOEJzUDNCO0lia0RBLG1DQUFtQztJQUNuQyxrQ0FBa0M7SWhCM0gxQixlOEJ2SytCO0k5QnVLL0IsaUI4QnZLK0I7STlCdUsvQixjRHhHc0I7SUN3R3RCLFllaEppQjtJZmdKakIsd0JDNUtpQztJRHdLN0IsZ0I2Qm1GMEQ7STdCL0U5RCxzQmU3S3VCO0lDK1MvQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsa0JBQWtCO0loQnRJVixPOEIvSjRCO0k5QitKNUIsUzhCbEsrQjtJOUJrSy9CLFc4QnJLK0I7SUQ0UG5DLGtCQUFrQjtJQUNsQixrQkFBa0IsRUFBQTs7QUQxTDFCO0U1QmtHWSxTNEJsTE87RTVCOEtILG1CQ2pJOEQ7RTRCQzFFLGNBQWM7RTdCb0lOLGdCNEJoTGM7RTVCZ0xkLG1CNEIvS2lCO0U1QitLakIsaUI0QmpMZTtFNUI2S1gsaUI4QnZKNEI7RTlCMkpoQyxtQkR0R3NCO0VDc0d0QixxQkR0R3NCO0VDc0d0QixjRHpHc0I7RUN5R3RCLGtCOEJySytCO0VEMk92QyxrQkFBa0IsRUFBQTtFQWxMbEI7STdCNEdRLGM4Qm5Ka0MsRUFBQTtJRDBDdEM7TTdCeUdJLFdEOUttQixFQUFBO0k4QnlFdkI7TTdCcUdJLFdEOUttQixFQUFBO0U4QnNQM0I7SWJrREEsbUNBQW1DO0lBQ25DLGtDQUFrQztJaEIzSDFCLGU4QnZLK0I7STlCdUsvQixpQjhCdksrQjtJOUJ1Sy9CLGNEeEdzQjtJQ3dHdEIsWWVoSmlCO0lmZ0pqQix3QkM1S2lDO0lEd0s3QixnQjZCbUYwRDtJN0IvRTlELHNCZTdLdUI7SUMrUy9CLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxrQkFBa0I7SWhCdElWLE84Qi9KNEI7STlCK0o1QixTOEJsSytCO0k5QmtLL0IsVzhCcksrQjtJRDRQbkMsa0JBQWtCO0lBQ2xCLGtCQUFrQixFQUFBOztBRHRMMUI7RTVCOEZZLFM0QmxMTztFNUI4S0gsbUJDakk4RDtFNEJDMUUsY0FBYztFN0JvSU4sZ0I0QmhMYztFNUJnTGQsbUI0Qi9LaUI7RTVCK0tqQixpQjRCakxlO0U1QjZLWCxpQjhCdko0QjtFOUIySmhDLG1CRGhKc0I7RUNnSnRCLHFCRG5Ic0I7RUNtSHRCLGNEbkhzQjtFQ21IdEIsa0I4QnJLK0I7RUQyT3ZDLGtCQUFrQixFQUFBO0VBbExsQjtJN0I0R1EsYzhCMUNrQyxFQUFBO0lEL0R0QztNN0J5R0ks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O1FBL0M5QjtVakN4RlEsbUJKdktnQjtVSXVLaEIsV0Q5S21CO1VDOEtuQixxQmdDckhtRCxFQUFBO01DNk0zRDtRakN4RlEscUJEeEhzQjtRQ3dIdEIsbUJnQzVHb0Q7UWhDNEdwRCxlK0JoTDRDO1EvQmdMNUMsV0Q5S21CO1FDOEtuQiwwQkpsSHVEO1FxQzZRL0MscUJBQXFCLEVBQUE7TUFuRXJDO1FBd0VZLDRCQUE0QixFQUFBO01BeEV4QztRakN4RlEsZ0JEbExtQjtRQzhLZix5QkN4R3NEO1FEd0d0RCx1RGdDL0Z3RjtnQmhDK0Z4RiwrQ2dDL0Z3RjtRaENtRzVGLGdCQzdJeUI7UUQ2SXpCLGdCZ0NoR29EO1FoQzRGaEQsZWdDM0ZpRDtRQzBRakQsYUFBYTtRQUNiLE9BQU87UUFDUCxvQkFBb0I7UUFDcEIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixVQUFVO1FqQ2hMZCxnQmlDeVF3QixFQUFBO1FBakxoQztVakN4RlEsZ0JpQ3lRd0IsRUFBQTtVQWpMaEM7WUEwTGdCLFdBQVc7WUFDWCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGtCQUFrQixFQUFBO1VBN0xsQztZakN4RlEsV0RsTG1CO1lDa0xuQixVZ0MzRm1EO1loQzJGbkQsVWlDMlJ1QztZakNsUC9DLDhCQUFnQztZQUNoQyxTQUFTO1lBQ1QsUUFBUTtZQTNDQSx5QkRsTG1CO1lrQytjWCxVQUFVLEVBQUE7VUFyTTFCO1lqQy9DQSw4QkFBZ0M7WUFDaEMsU0FBUztZQUNULFFBQVE7WUEzQ0EsNEJDNUcwRDtZRDRHMUQsY0M1RzBEO1lENEcxRCxVaUMwUXdCO1lqQzFReEIsVWlDb1M2QztZQUNyQyxVQUFVLEVBQUE7UUE3TTFCO1VBbUdnQixjQUFjO1VBQ2Qsb0JBQW9CO1VqQzVMNUIsY0Q3S3NCO1VDeUtsQixpQkNqSThELEVBQUE7VWdDNk4xRTtZakN4RlEsbUJEMUpzQjtZQzBKdEIsV0Q5S21CO1lDOEtuQixxQmdDckhtRCxFQUFBO1FDNk0zRDtVakN4RlEscUJEeEhzQjtVQ3dIdEIsbUJnQzVFb0Q7VWhDd0VoRCx1QmdDdkVvRCxFQUFBO1FDbUtoRTtVQThIZ0IsaUJBQWlCO1VBQ2pCLHFCQUFxQixFQUFBO1FBL0hyQztVQW1JZ0IscUJBQXFCO1VBQ3JCLFdBQVcsRUFBQTtNQXBJM0I7UUF5SVksa0JBQWtCO1FqQ2pPdEIscUJlMUo2QjtRQ0pyQyxxQkFBcUIsRUFBQTtRQTBCakI7VUE4UEosbUNBQW1DO1VBQ25DLGtDQUFrQztVaEIzSDFCLGVpQ29PbUM7VWpDcE9uQyxvQmVoS3dCO1VmZ0t4QixjZTlKd0I7VWY4SnhCLFllMUlpQjtVZjBJakIsd0JDNUtpQztVRDRLakMsc0JlN0t1QjtVQytTL0IscUJBQXFCO1VBQ3JCLG1CQUFtQjtVQUNuQixnQkFBZ0I7VUFDaEIsV0FBVztVQUNYLGtCQUFrQixFQUFBO1FpQjlDbEI7VUFpSmdCLGFBQWEsRUFBQTtRakI3V3pCO1VpQmlYWSxlQUFlO1VBQ2YsaUJBQWlCO1VBQ2pCLGtCQUFrQjtVQUNsQixVQUFVLEVBQUE7UUF4SjFCO1VBNEpnQiw0QkFBNEIsRUFBQTtRQTVKNUM7VUFnS2dCLGNBQWMsRUFBQTtFRjdFakM7SUFDRyw0RUFBaUU7SUFBakUsdUVBQWlFO0lBQWpFLG9FQUFpRTtJQUNqRSxzQkFBc0I7SUFFdEIsY25DL1ZvQjtJbUNnV3BCLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBQTtJQU50QjtNQVNFLG9CQUFvQixFQUFBO0VBM1Z2QjtJQWdXRSxxQkFBcUIsRUFBQSxFQUNyQjs7QUFLRiw2QkFBQTtBckI5Vkk7RXFCMFVIO0lBdUJHLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsbUJBQW1CLEVBQUE7SUF6QnRCO01BNEJFLG9CQUFvQixFQUFBLEVBQ3BCOztBRzlGSztFbEN2UEosU0FBUztFQUNULHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTs7QWtDd0VWO0VsQ3FCQSxZQUFZO0VBQ1osb0JBQW9CO0VBQ3BCLGNBQWM7RWtDdUhWLG1CQUFtQjtFQXpJbkIsU0FBUztFQUNULFVBQVU7RUFDVixnQkFBZ0I7RWxDdURaLHFCbUMzSytDO0VuQzJLL0MsbUJvQ2pMZSxFQUFBOztBRitIdkI7RWxDa0RRLGlCb0NsTGE7RXBDbUpyQixpQm9DbkpxQjtFcENvSnJCLHNCQUFzQjtFQUN0QixtQm9Dbkp1QjtFcEM0S1gsb0JvQzNLaUI7RXBDK0tyQixxQm1DM0srQyxFQUFBO0VEbUluRDtJbENyR0osU0FBUztJQUNULHNCQUFzQjtJQUN0QixXQUFXO0lBQ1gsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTs7QWtDbUdWO0VsQ21DUSx1Qm9DMUttQjtFcENzS2YsZ0NvQ3RLZTtFcEMwS25CLGNKOUtjO0VJOEtkLHFCbUMzSytDO0VuQ3VLM0MsY21DcktvQztFbkN5S3hDLHFCbUNwSnVDLEVBQUE7RUR5SDNDO0lsQzJCSSxjSjlLYyxFQUFBO0VzQ3lKbEI7SWxDaUJRLDRCSjFLVTtJSThLZCxjQy9GNkI7SUQrRjdCLHFCbUNwSnVDLEVBQUE7RURzSTNDO0lsQ2NJLGNEeEhzQixFQUFBOztBbUNpSDlCO0VsQ09RLG1CSmxMUztFSWtMVCxpQm9DbExhO0VwQ21KckIsaUJvQ25KcUI7RXBDb0pyQixzQkFBc0I7RUFDdEIsbUJvQ25KdUI7RXBDZ0xmLGNKOUtjO0VJOEtkLHFCbUMzSytDO0VuQzJLL0MsZ0JDN0l5QjtFRHlJckIsY21DcktvQyxFQUFBOztBRGlMaEQ7RWxDUlEsbUJKOUtjO0VJMEtWLHlCQ3hHc0Q7RUQ0RzFELGNKektjO0VJeUtkLHFCbUMzSytDO0VuQzJLL0MsVW9DOUtjO0VwQzhLZCxxQm1DcEp1QyxFQUFBO0VEb0szQztJbENoQkksY0p6S2MsRUFBQTtFc0MrTGxCO0lsQ3RCSSxtQkpqTFM7SUlpTFQsY0p6S2M7SUl5S2QscUJtQ3JJdUMsRUFBQTtFRGtLM0M7SWxDN0JJLGNEMUY0QyxFQUFBO0VtQzZIaEQ7SWxDbkNJLHFCZTFKNkI7SUNKckMscUJBQXFCLEVBQUE7SWtCK1NUO01sQ2pKSixjSnpLYyxFQUFBO0lzQ2dVVjtNbEN2SkosY0QxRjRDLEVBQUE7SWlCbUlwRDtNaEJ0TEEsU0FBUztNQUNULHNCQUFzQjtNQUN0QixXQUFXO01BQ1gsWUFBWTtNQUNaLGdCQUFnQjtNQUNoQixVQUFVO01BQ1Ysa0JBQWtCO01BQ2xCLFVBQVUsRUFBQTtJZ0JyQk47TUFxUkosbUNBQW1DO01BQ25DLGtDQUFrQztNaEIzSDFCLGlCb0NqS2tCO01wQ2lLbEIsY29DaEtvQjtNcENnS3BCLGNKektjO01JeUtkLFlleklpQjtNZnlJakIsd0JDNUtpQztNRDRLakMsU29DL0plO01wQytKZixzQm9DOUo0QjtNcEJnU3BDLHFCQUFxQjtNQUNyQixtQkFBbUI7TUFDbkIsZ0JBQWdCO01BQ2hCLFdBQVc7TUFDWCxrQkFBa0IsRUFBQTtJQXJSVjtNaEIrSUEsY0p6S2MsRUFBQTtJc0NnVVY7TWxDdkpKLGNEMUY0QyxFQUFBO0VtQytJaEQ7SWxDckRJLHFCZTFKNkI7SUNKckMscUJBQXFCLEVBQUE7SWtCK1NUO01sQ2pKSixjSnpLYyxFQUFBO0lzQ2dVVjtNbEN2SkosY0QxRjRDLEVBQUE7SWlCbUlwRDtNaEJ0TEEsU0FBUztNQUNULHNCQUFzQjtNQUN0QixXQUFXO01BQ1gsWUFBWTtNQUNaLGdCQUFnQjtNQUNoQixVQUFVO01BQ1Ysa0JBQWtCO01BQ2xCLFVBQVUsRUFBQTtJZ0JyQk47TUFxUkosbUNBQW1DO01BQ25DLGtDQUFrQztNaEIzSDFCLGlCb0NqS2tCO01wQ2lLbEIsY29DaEtvQjtNcENnS3BCLGNKektjO01JeUtkLFllMUhpQjtNZjBIakIsd0JDNUtpQztNRDRLakMsU29DL0plO01wQytKZixzQm9DOUo0QjtNcEJnU3BDLHFCQUFxQjtNQUNyQixtQkFBbUI7TUFDbkIsZ0JBQWdCO01BQ2hCLFdBQVc7TUFDWCxrQkFBa0IsRUFBQTtJQXJSVjtNaEIrSUEsY0p6S2MsRUFBQTtJc0NnVVY7TWxDdkpKLGNEMUY0QyxFQUFBOztBbUN3Q3BEO0VFL0ZGLHFCQUFxQixFQUFBO0VBSnZCO0lBT0csaUJBQWlCO0lBQ2pCLHNDQUE4QjtJQUE5QixpQ0FBOEI7SUFBOUIsOEJBQThCLEVBQUE7O0FBUmpDOztFQWVNLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixjQUFjLEVBQUE7O0FBbkJwQjtFQXdCSSxjQUFjLEVBQUE7O0FGcUlkO0VFaklGLDBDQUFrQztFQUFsQyxxQ0FBa0M7RUFBbEMsa0NBQWtDLEVBQUE7O0FDdERwQztFckMrS1ksa0JzQ25KeUQ7RURyQnJELFlBQVk7RUFDWixRQUFRO0VBQ1IsTUFBTTtFQUNOLFdBQVc7RUFDWCxhQUFhO0VyQ29LakIscUJlMUo2QjtFQ0pyQyxxQkFBcUI7RVhzTXJCLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsNEJBQTRCO0VBQzVCLFNBQVM7RUFDVCx3QkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixTQUFTO0VBQ1QsVUFBVTtFQUNWLHFCQUFxQjtFQUNyQixpQkFBaUI7RUxqRFQsZ0JDaEp5QixFQUFBO0VleUxqQztJaEJ0TEEsU0FBUztJQUNULHNCQUFzQjtJQUN0QixXQUFXO0lBQ1gsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTtFZ0JyQk47SUFxUkosbUNBQW1DO0lBQ25DLGtDQUFrQztJaEIzSDFCLGVNekd3QztJTnlHeEMsaUJNekd3QztJTnlHeEMsY012RzJDO0lOdUczQyxZZTNIaUI7SWYySGpCLHdCQzVLaUM7SUQ0S2pDLFNNdEdxQztJTnNHckMsbUJNckd1QztJVXVPL0MscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGtCQUFrQixFQUFBO0VBclJWO0loQitJQSxjTWpHMkMsRUFBQTtFVXpDM0M7SWhCMElBLGNNaEcyQyxFQUFBO0VEb0puRDtJQUVJLGdCQUFnQjtJQUNoQixZQUFZLEVBQUE7RUFHaEI7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWSxFQUFBO0VBR2hCOztJQUdJLG1CQUFtQjtJQUNuQixvQkFBb0I7SUxuRWhCLFlNaEt1QyxFQUFBOztBK0JtQm5EO0VBUUksa0JBQXFDO0VBQ3JDLGtCQUFrQjtFQUNsQixVQUE2QixFQUFBO0VyQzRTN0I7SUFFSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxRQUFRO0lBQ1IsU0FBUztJQUNULDBCQUEwQixFQUFBO0VBRzlCO0lBbkxRLFNxQ3ZJK0I7SXJDdUkvQixRcUN4SStCO0lyQ29JM0IsaUJBMExpQztJQTFMakMsc0RBMkw2RTtJQXZMakYsV0F1SzBCLEVBQUE7RUFvQmxDO0lBM0xRLFNBNExzRTtJQTVMdEUsTUE1SytCO0lBd0szQixpQnFDOUtRO0lyQzhLUix5REFtTXlFO0lBL0w3RSxXQXVLMEIsRUFBQTs7QVV0VWxDO0UyQm9DQTtJQUVRLFlBQVksRUFBQSxFQUNmOztBRTNERDs7RUFFSSxlQUFlLEVBQUE7O0FBdUJ2Qjs7RUFFSSxjQUFjO0V2Q3dKVixpQkE3SjBDO0V1Q085QyxjQUFjLEVBQUE7RUFKbEI7O0lBT1EsZ0J0Q015QixFQUFBOztBc0NLakM7O0VBRUksY0FBYztFdkNzSVYsaUJBN0owQyxFQUFBO0V1Q3FCbEQ7O0lBTVEsOEJBQThCO0l2Q2tJOUIsaUJBN0owQyxFQUFBO0V1Q3FCbEQ7O0l2Q3dJUSxpQkE3SjBDLEVBQUE7O0F3Q3pCdEQ7RUMySkksU0FBUztFQUNULFVBQVU7RUQxSlYsbUJ2QytDMEUsRUFBQTtFd0M2RzFFO0lBQ0ksOEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixXQUFXO0lBQ1gsV0FBVyxFQUFBO0lBRVg7TUFDSSxjQUFjLEVBQUE7RUFJdEI7SUFFSSw4QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsU0FBUyxFQUFBO0l6QzVHYjtNQUVJLFdBQVc7TUFDWCxjQUFjLEVBQUE7SUFHbEI7TUFDSSxXQUFXLEVBQUE7SXlDdUdYO01BQ0ksY0FBYyxFQUFBO0VBbEJ0QjtJekNvQlksa0JDOUdtQyxFQUFBO0V3QytGM0M7SXpDbUJJLG1CRG5Ga0Q7SUMrRTlDLGdDQ3hHc0Q7SUR3R3RELDhCQ3hHc0Q7SUR3R3RELCtCQ3hHc0Q7SUR3R3RELDZCQ3hHc0Q7SUQ0RzFELFlDdEh1QztJRGtIbkMsZ0NDakk4RDtJRHFJbEUsY0QxRjRDO0lDMEY1QyxnQkM5SXlCO0lEOEl6QixpQkN0SHVDO0lEc0h2QyxpQkE3SjBDO0lBNkoxQyxjRDFGNEM7SUMwRjVDLHFCMEMzSnVDLEVBQUE7SXhDOERqRDtNRjZGVSxjRDFGNEM7TUMwRjVDLHFCMEMzSnVDLEVBQUE7SXhDbUVqRDtNRndGVSxjRDFGNEM7TUMwRjVDLHFCMEMzSnVDLEVBQUE7SXhDd0VqRDtNRm1GVSxXRDlLbUI7TUM4S25CLHFCMEMzSnVDLEVBQUE7RUQyTzNDOztJekNoRkksbUIwQ3pKOEUsRUFBQTtFRDhPbEY7Ozs7SXpDckZJLGlCMENySitFO0kxQ3FKL0Usc0JDbEh1QyxFQUFBO0V3Q29HL0M7SXpDY1EsaUIwQ3JKK0U7STFDaUozRSx5QkN4R3NEO0lEd0d0RCxrQkM5R21DO0lEOEduQyw0QkNqSThELEVBQUE7O0FTMUIxRTtFOEJ2Qko7SUNRSSxrQkFBa0I7SUFDbEIsVUFBVSxFQUFBO0l6Q3dEVjtNQUVJLFdBQVc7TUFDWCxjQUFjLEVBQUE7SUFHbEI7TUFDSSxXQUFXLEVBQUE7SXlDc0ZmO01BbEpJLFdBQVc7TUFDWCxXQUFXLEVBQUE7TUFzSlg7UXpDbUJJLFlDcklrRTtRd0NoQ2xFLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsVUFBVSxFQUFBO0lBcUpsQjtNekNjUSxnQkNySWtFO013Q3ZCdEUsOEJBQXNCO2NBQXRCLHNCQUFzQjtNQUN0QixZQUFZO01BQ1osa0JBQWtCO01BQ2xCLFdBQVcsRUFBQTtNekNvQ2Y7UUFFSSxXQUFXO1FBQ1gsY0FBYyxFQUFBO01BR2xCO1FBQ0ksV0FBVyxFQUFBO015Q3VHWDtRQS9JSSxjQUFjLEVBQUE7SUE4SHRCO016Q29CWSxvQnlDaEdpRCxFQUFBO01BaUZ6RDtRekNtQkksY0QxRjRDO1FDMEY1QyxnQkM5SXlCO1FEOEl6QixpQkNySWtFO1FEcUlsRSxpQkE3SjBDO1FBNkoxQyxjRDFGNEM7UUMwRjVDLHFCMEMzSnVDO1ExQzJKdkMsbUJEbkZrRDtRQytFOUMseUJDeEdzRDtRd0M4QjFELG1CQUFtQjtRekM4RW5CLFlDcklrRTtRRGlJOUQsZ0NDakk4RCxFQUFBO1FDd0M1RTtVRjZGVSxjRDFGNEM7VUMwRjVDLHFCMEMzSnVDLEVBQUE7UXhDbUVqRDtVRndGVSxjRDFGNEM7VUMwRjVDLHFCMEMzSnVDLEVBQUE7UXhDd0VqRDtVRm1GVSxXRDlLbUI7VUM4S25CLHFCMEMzSnVDLEVBQUE7TUQyTzNDOztRekNoRkksbUIwQ3pKOEUsRUFBQTtNRDhPbEY7Ozs7UXpDckZJLGlCMENySitFO1ExQ3FKL0UsV0Q5S21CLEVBQUE7TTBDa0h2Qjs7O1F6QzRESSxzQnlDekQwRixFQUFBO0lBMkNsRztNekNjUSxpQjBDckorRTtNRGtHbkYsa0JDM0ZtSjtNRDRGbkosNEJ4Q25Gc0U7TXdDaUd0RSxTQUFTO016Q2dDRCw2QkN4R3NELEVBQUEsRXdDZ0VqRTs7QS9CbkhEO0U4QnZCSjtJQzJKSSxTQUFTO0lBQ1QsVUFBVSxFQUFBO0lBRVY7TUFDSSw4QkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLFdBQVc7TUFDWCxXQUFXLEVBQUE7TUFFWDtRQUNJLGNBQWMsRUFBQTtJQUl0QjtNQUVJLDhCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsY0FBYztNQUNkLFdBQVc7TUFDWCxTQUFTLEVBQUE7TXpDNUdiO1FBRUksV0FBVztRQUNYLGNBQWMsRUFBQTtNQUdsQjtRQUNJLFdBQVcsRUFBQTtNeUN1R1g7UUFDSSxjQUFjLEVBQUE7SUFsQnRCO016Q29CWSxrQkM5R21DLEVBQUE7SXdDK0YzQztNekNtQkksbUJEbkZrRDtNQytFOUMsZ0NDeEdzRDtNRHdHdEQsOEJDeEdzRDtNRHdHdEQsK0JDeEdzRDtNRHdHdEQsNkJDeEdzRDtNRDRHMUQsWUN0SHVDO01Ea0huQyxnQ0NqSThEO01EcUlsRSxjRDFGNEM7TUMw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SXZHa0hZLG1CSi9KVztJSStKWCxTdUd2RzhEO0lBQ2xFLFdBQVc7SUFDWCxXQUFXO0lBQ1gsT0FBTztJQUNQLGtCQUFrQjtJQUNsQixXQUFXLEVBQUE7RUFoQm5CO0l2RzhHZ0IsMEJ1R3pLb0QsRUFBQTtFQTJEcEU7SXZHOEdnQiwwQnVHbkZxSCxFQUFBO0VBM0JySTtJQWdDUSxxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxxQkFBcUI7SXZHK0VqQixjSi9KVztJSStKWCxnQkNqSnlCO0lEaUp6QixpQkE3SjBDLEVBQUE7SXVHMkN0RDtNdkdrSFksbUJKL0pXO01JK0pYLFl1R3RLeUQ7TXZHc0t6RCxrQnVHaEU0RTtNdkdnRTVFLFd1R3RLeUQ7TUF3R3pELGtCQUFrQjtNQUNsQixXQUFXO01BQ1gsU0FBUztNQUNULGtCQUFrQjtNQUNsQixNQUFNLEVBQUE7SUF4RGxCO012R2tIWSxnQkRsTG1CO01Da0xuQixZdUdoSytKO012R2dLL0osa0J1R3BEa0Y7TXZHb0RsRixRdUdqS3dEO012R2lLeEQsV3VHaEsrSjtNQStHL0osbUJBQW1CO01BQ25CLG9CQUFvQjtNdkdnRHBCLFdEOUttQjtNQzhLbkIsZ0JDOUl5QjtNRDhJekIsZ0J1R3pDdUI7TXZHeUN2QixpQkE3SjBDLEVBQUE7RXVHMkN0RDtJQWlGWSxtQjNHL0hRLEVBQUE7RTJHOENwQjtJdkdrSFksV0Q5S21CLEVBQUE7SXdHNEQvQjtNdkdrSFksbUJKaEtRLEVBQUE7STJHOENwQjtNdkdrSFksWWVqSWlCO01maUlqQix3QkM1S2lDO01ENEtqQyxnQnVHNUp3RDtNdkc0SnhELGlCQTdKMEMsRUFBQTtFdUcyQ3REO0lBc0dRLGVBQWUsRUFBQTtJQXRHdkI7TXZHa0hZLFdEOUttQixFQUFBO013RzREL0I7UXZHa0hZLFllaklpQjtRZmlJakIsd0JDNUtpQztRRDRLakMsZ0J1RzVKd0Q7UXZHNEp4RCxpQkE3SjBDLEVBQUE7O0FVRmxEO0U2RjZDSjtJdkdrSFksWXVHMUswRCxFQUFBLEVBcUxqRTs7QTdGMUtEO0U2RmlDSjtJQW1K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dkcyQztJTnVHM0MsWWUvR2lCO0lmK0dqQix3QkM1S2lDO0lENEtqQyxTTXRHcUM7SU5zR3JDLG1CTXJHdUM7SVV1Ty9DLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxrQkFBa0IsRUFBQTtFQTlQVjtJaEJ3SEEsY01qRzJDLEVBQUE7RVVqQjNDO0loQmtIQSxjTWhHMkMsRUFBQTtFVWdCL0M7SWhCZ0ZJLFllaEhpQixFQUFPOztBMkdZcEM7RUFHWSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxhQUFhO0VBQ2IsV0FBVztFQUNYLG9Cekh4Q2tFO0V5SHlDbEUsZ0JBQWdCO0VBQ2hCLFdBQVcsRUFBQTtFQVR2QjtJQVlnQixjQUFjLEVBQUE7O0FBVTlCO0VBQ0ksU0FBUyxFQUFBO0UxR0hMO0loQmdGSSxZZWhIaUIsRUFBTztFMkdrQ3BDO0kxSDhFWSxnQkM3SXlCO0l5SDZFN0Isa0JBQWtCO0lySGxFdEIsc0JBQXNCO0lMa0lkLG1CSjlLYztJSTBLVix5QkQ3SGtCO0lDaUl0QixjSmxMUztJSWtMVCxlTW5LMkM7SU5tSzNDLHFCTXBLZ0Q7SU5nSzVDLCtFQ3BLc0U7SUR3SzFFLGdCSlFhO0lJWlQsZ0IwSHpEcUM7STFIeURyQyxpQjBIeERxQztJMUg0RHpDLGlCSk9jO0lTNUh0QixnQkFBZ0I7SUFDaEIsOEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUxtSGQscUJlMUo2QjtJQ0pyQyxxQkFBcUIsRUFBQTtJQTBCakI7TUE4UEosbUNBQW1DO01BQ25DLGtDQUFrQztNaEIzSDFCLGUwSHhEcUM7TTFId0RyQyxpQjBIdkRxQztNMUh1RHJDLGNNdkcyQztNTnVHM0MsWWUvR2lCO01mK0dqQix3QkM1S2lDO01ENEtqQyxTTXRHcUM7TU5zR3JDLG1CTXJHdUM7TVV1Ty9DLHFCQUFxQjtNQUNyQixtQkFBbUI7TUFDbkIsZ0JBQWdCO01BQ2hCLFdBQVc7TUFDWCxrQkFBa0IsRUFBQTtJQTlQVjtNaEJ3SEEsY01qRzJDLEVBQUE7SVVqQjNDO01oQmtIQSxjTWhHMkMsRUFBQTtJREZuRDtNTGtHUSxtQkRsSXNCO01DOEhsQix5QkQ3SGtCO01DaUl0QixXRDlLbUIsRUFBQTtJTW1GM0I7TUwyRlEsbUJKOUtjO01JMEtWLDRCSnZLVTtNSTJLZCxjSmxMUyxFQUFBO0lTNkZqQjs7TUxxRlEsWU1oS3VDO01EK0UzQyxlQUFlO01BQ2Ysb0JBQW9CLEVBQUE7RXFIRTVCO0kxSDBFZ0IsZ0NEeElrQjtJMkhnRzFCLHlCekh6RnNFO0l5SDBGdEUsa0JBQWtCLEVBQUE7O0FBUTFCOztFMUhtQ1ksZ0JDaEp5QjtFeUhtSHJCLGVBQW9CLEVBQUE7O0FBTnBDOztFQWNnQixXQUFXLEVBQUE7O0FBZDNCOztFQXVCWSxXQUFXLEVBQUE7O0FBdkJ2QjtFMUhtQ1kscUIwSFN3QztFMUd2S2hELHFCQUFxQjtFMEd5S2IsbUJ6SGhKa0U7RXlIaUpsRSxrQkFBa0IsRUFBQTtFMUdoSnRCO0lBOFBKLG1DQUFtQztJQUNuQyxrQ0FBa0M7SWhCM0gxQixlMEhNZ0M7STFITmhDLG9CZWhLd0I7SWZnS3hCLGNlOUp3QjtJZjhKeEIsWWUvR2lCO0lmK0dqQix3QkM1S2lDO0lENEtqQyxzQmU3S3VCO0lDK1MvQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsa0JBQWtCLEVBQUE7RUExUWQ7STBHbUpRLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsU0FBUyxFQUFBO0UxR2pHakI7SWhCZ0ZJLFllaEhpQixFQUFPOztBMkc4SXBDO0VBQ0ksNkJ6SDNJa0U7RXlINElsRSxrQnpIbkorQyxFQUFBOztBUzVDL0M7RWdIdU1BO0kxSHhDUSxlQTdKMEM7STBIeU10QyxhQUFhO0lBQ2IsV0FBVyxFQUFBO0VBM0gzQjtJMUgwRWdCLDZCRHhJa0I7STJIZ00xQixnQkFBZ0IsRUFBQTtFQXhKeEI7SUE4SmdCLG9Cekg3S21DLEVBQUEsRXlIOEt0Qzs7QWhIMU5UO0VnSDJESjtJQXdLZ0IsZ0N6SGhMc0Q7SXlIaUx0RCxtQnpIMU04RCxFQUFBLEV5SDJNakU7O0FoSHJPVDtFZ0hmSjtJQWdRWSxtQnpIdk5rRSxFQUFBO0V5SDJOMUU7SUFDSSxrQkFBa0I7SUFDbEIsVUFBVSxFQUFBO0lBRmQ7TUFLUSxXQUFXO01BQ1gsWUFBWTtNQUNaLGdCQUFnQixFQUFBO01BUHhCO1FBVVksWUFBWSxFQUFBO1FBVnhCO1VBYWdCLFlBQVk7VUFDWixpQnpIek8wRCxFQUFBO1F5SDJOMUU7VUFrQmdCLGNBQWM7VUFDZCxXQUFXO1VBQ1gsZUFBZSxFQUFBO01BcEIvQjtRMUgxRlksOEJEeElrQjtRMkg2UGQsWUFBWTtRQUNaLFdBQVc7UUFDWCxjQUFjO1FBQ2QsU0FBUztRQUNULGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsTUFBTTtRQUNOLFFBQVEsRUFBQTtFQWhSNUI7STFId0pZLGdCQ2pKeUI7SURpSnpCLGlCQTdKMEMsRUFBQTtFMEhpVGxEO0lBR1ksV0FBVyxFQUFBO0VBU3ZCOztJQUdRLGNBQWMsRUFBQSxFQUNqQjs7QUMxVlQ7O0VBSVEsbUIxSDREMkMsRUFBQTs7QTBIaEVuRDs7RUFVb0IsV0FBVyxFQUFBOztBQWlCL0I7RUFNUSxXQUFXO0UzSHFKUCxtQkNuSHVDLEVBQUE7O0EwSDVCL0M7RUFDSSxxQjFINEIyQyxFQUFBO0UwSDdCL0M7SUFJUSxpQjFId0J1QyxFQUFBO0kwSDVCL0M7TUFPWSxXQUFXO01BQ1gsV0FBVyxFQUFBO0VBUnZCO0lBZVEsZ0JBQWdCLEVBQUE7O0FBSzVCO0VBQ0ksbUJBQTZCLEVBQUE7RUFEakM7SUFNZ0IsZ0JBQWdCLEVBQUE7O0FBVWhDO0VBTVEsa0JBQWtCLEVBQUE7O0FBSTFCO0VBRVEsZ0JBQWdCLEVBQUE7O0FBSXhCO0VBR1ksbUIxSDVCMEMsRUFBQTs7QTBIaUN0RDtFQVVRLGdDMUhuQzhELEVBQUE7O0EwSHlCdEU7RUFvQlEsdUIxSHBEMkMsRUFBQTtFMEhnQ25EO0lBdUJZLHFCQUFxQixFQUFBO0VBdkJqQztJM0htRlksaUJBN0owQztJMkhzRzFDLGNBQWM7SUFDZCxnQjFIdkZ5QjtJMEh3RnpCLG1CQUFtQixFQUFBOztBQTlCL0I7RUFzQ1ksZ0JBQWdCLEVBQUE7O0FBdEM1QjtFQTBDWSxjQUFjO0VBQ2QsZUFBZTtFQUNmLGdCQUFxQixFQUFBOztBQTVDakM7RUFnRFksY0FBYztFQUNkLGtCMUhoRnVDLEVBQUE7O0FTN0MvQztFaUh1SUE7O0lBVVEscUJBQXFCLEVBQUE7RUFJN0I7SUFFUSxtQkFBbUIsRUFBQSxFQUN0Qjs7QWpIeEpMO0VpSHFKQTtJQXVCUSxtQnBHL0wrQixFQUFBO0lvRzZMdkM7TTNIZlksZ0JDakk4RDtNTTgwQjFFLDhCQUFzQjtjQUF0QixzQkFBc0IsRUFBQTtNQW9MbEI7UUE0REEsU0FBUyxFQUFBO01QOWlDYjtRQUVJLFdBQVc7UUFDWCxjQUFjLEVBQUE7TUFHbEI7UUFDSSxXQUFXLEVBQUE7TU95ekJmO1FQL3NCWSxxQlE4RXFGO1FSMUV6RixVdUJoTDZCO1FoQiszQmpDLDhCQUFzQjtnQkFBdEIsc0JBQXNCO1FBQ3RCLFlBQVk7UUFDWixXQUFXO1FBQ1gsV0FBVyxFQUFBO01BR2Y7UVB6dEJZLHFCUThFcUY7UVIxRXpGLGlCUTRFMkM7UVI1RTNDLFV1QmhMNkI7UWhCeTRCakMsOEJBQXNCO2dCQUF0QixzQkFBc0I7UUFDdEIsV0FBVyxFQUFBO01BSVg7UVBsdUJRLHFCUThFcUY7UVIxRXpGLGlCUTRFMkM7UVI1RTNDLFV1QmhMNkI7UWhCbTVCN0IsOEJBQXNCO2dCQUF0QixzQkFBc0I7UUFDdEIsV0FBVyxFQUFBO01BR2Y7UVB2dUJJLFV1Qi9LK0I7UWhCdzVCL0IsV0FBVyxFQUFBO0VvSDV6QnZCO0lBNkhnQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG1CQUE0QjtJQUM1QixtQkFBbUI7SUFDbkIsU0FBUyxFQUFBO0VBYnJCO0lBaUJZLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLGtCQUFrQixFQUFBO0VBcEI5QjtJQTBCWSxVQUFVLEVBQUE7RUExQnRCO0lBOEJZLGtCQUFrQixFQUFBO0VBOUI5QjtJQWtDWSxpQkFBaUIsRUFBQTtFQWxDN0I7SUF3Q1ksZ0JBQWdCLEVBQUEsRUFDbkI7O0FDL09iO0U1SGlLZ0Isa0JDOUdtQztFMkhoRDNDLHFCQUFxQixFQUFBOztBQUg3QjtFQU9RLG9CM0gyQzJDLEVBQUE7O0EySHZDbkQ7RTVIMEpZLGdCQ2pKeUI7RTJIUGpDLGUzSEUyRDtFMkhEM0QsY0FBdUIsRUFBQTs7QUFHM0I7RUFFSSxnQkFBZ0I7RUFDaEIsb0IzSDhCK0M7RTJIN0IvQyxVQUFVLEVBQUE7RUFKZDtJNUhvSlksbUJEdkpzQjtJQ3VKdEIscUJlMUo2QjtJQ0pyQyxxQkFBcUIsRUFBQTtJQXVNckI7TWhCdExBLFNBQVM7TUFDVCxzQkFBc0I7TUFDdEIsV0FBVztNQUNYLFlBQVk7TUFDWixnQkFBZ0I7TUFDaEIsVUFBVTtNQUNWLGtCQUFrQjtNQUNsQixVQUFVLEVBQUE7SWdCRU47TUE4UEosbUNBQW1DO01BQ25DLGtDQUFrQztNaEIzSDFCLGU0SHZLdUM7TTVIdUt2QyxpQjRINUt1QztNNUg0S3ZDLGNEL0hzQjtNQytIdEIsWWUzR2lCO01mMkdqQix3QkM1S2lDO01ENEtqQyxzQjRIckltQztNNUd1UTNDLHFCQUFxQjtNQUNyQixtQkFBbUI7TUFDbkIsZ0JBQWdCO01BQ2hCLFdBQVc7TUFDWCxrQkFBa0IsRUFBQTtJQTFRZDtNNEdHSSxjQUFjLEVBQUE7O0FBSzFCOztFQUVJLGVBQWU7RUFDZixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixVQUFVLEVBQUE7O0FBR2Q7RUFDSSxXQUFXO0VBQ1gsdUJBQWlDLEVBQUE7RUFGckM7SUFLUSxlQUFlLEVBQUE7RUFMdkI7STVIK0dnQixzQkQxS2U7STZIdUVmLDhCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLGNBQWM7SUFDZCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxVQUFVLEVBQUE7RUFsQjFCO0lBd0JRLFlBakYyQztJQWtGM0MsV0FsRjJDLEVBQUE7O0FBc0ZuRDtFQUNJLGVBQW9CLEVBQUE7RUFEeEI7SUFJUSxtQjNIaEMyQyxFQUFBOztBMkhvQ25EO0VBR1ksa0IzSHZDdUMsRUFBQTtFMkhvQ25EO0lBTWdCLGFBQWEsRUFBQTs7QUFNN0I7RUFFUSxTQUFTO0VBQ1QscUJBQXFCO0VBQ3JCLFVBQVUsRUFBQTs7QUFJbEI7OztFQUtRLGNBQXVCLEVBQUE7RUFML0I7OztJQVFZLFdBQVcsRUFBQTtFQVJ2Qjs7O0lBWVksU0FBUyxFQUFBO0lBWnJCOzs7TUFlZ0IsV0FBVztNQUNYLG1CQUF3QjtNQUN4QixnQkFBZ0I7TUFDaEIsZUFBZSxFQUFBOztBQU0vQjs7RUFLUSxpQkFBaUIsRUFBQTs7QUFMekI7O0VBVVksOEJBQTZCLEVBQUE7O0FBVnpDOztFQWNZLGdCM0h6SHlCLEVBQUE7O0EySGtJckM7RUFFUSxvQjNINUhzRSxFQUFBOztBMkgwSDlFO0VBT1Esb0IzSC9HMkMsRUFBQTs7QTJId0duRDtFQVdRLFdBQVc7RUFDWCxvQjNIcEgyQyxFQUFBOztBMkh3R25EO0VBZ0JRLG9CM0h4SDJDLEVBQUE7O0FTNUMvQztFa0g2S0E7STVIbEJZLGdDRHhJa0I7STZINEoxQixtQjNIckpzRTtJMkhzSnRFLHFCM0hwSTJDLEVBQUE7RTJIakNuRDtJQXlLUSxXQUFXLEVBQUE7RUFHZjtJQUVRLFdBQVcsRUFBQTtFQUluQjs7SUFLZ0IsY0FBYyxFQUFBLEVBQ2pCOztBbEhuTWI7RWtINE5BOztJQUdRLDhCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLG1CM0h2TWtFO0kySHdNbEUsVUFBVSxFQUFBO0lBTmxCOztNNUhqRVksOEJEeElrQjtNNkhtTmxCLDhCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsV0FBVztNQUNYLG9CQUFvQjtNQUNwQixVQUFVLEVBQUEsRUFDYjs7QXhIM0ZHOzs7Ozs7RUpZQSw2QkN4R3NELEVBQUE7O0FHdUd0RDs7Ozs7O0VBRUksYUFBYSxFQUFBOztBQUt6QjtFSk5RLDZCQ3hHc0QsRUFBQTs7QTRIMUV0RTtFQU1RLGdCQUFnQixFQUFBOztBQU54QjtFQVVRLGdCNUg0QjZCLEVBQUE7O0E0SHRDckM7RUFlWSxlNUhlMEUsRUFBQTs7QTRIOUJ0RjtFQTBCUSxtQkFBbUI7RUFDbkIsU0FBUztFQUNULG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTs7QUE3QjNCO0VBa0NZLGFBQWEsRUFBQTs7QUFsQ3pCO0VBc0NZLG9CQUFvQixFQUFBOztBQ3RDaEM7RTlIc0xZLHFCZTFKNkI7RUNKckMscUJBQXFCO0U4R2ZiLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsV0FBVyxFQUFBO0U5R29ObkI7SWhCdExBLFNBQVM7SUFDVCxzQkFBc0I7SUFDdEIsV0FBVztJQUNYLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixVQUFVLEVBQUE7RWdCckJOO0lBcVJKLG1DQUFtQztJQUNuQyxrQ0FBa0M7SWhCM0gxQixlOEgvS2dDO0k5SCtLaEMsaUJNekd3QztJTnlHeEMsY012RzJDO0lOdUczQyxZZXJIaUI7SWZxSGpCLHdCQzVLaUM7SUQ0S2pDLFNNdEdxQztJTnNHckMsbUJNckd1QztJVXVPL0MscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGtCQUFrQixFQUFBO0VBclJWO0loQitJQSxjTWpHMkMsRUFBQTtFVXpDM0M7SWhCMElBLGNNaEcyQyxFQUFBOztBSS9EbkQ7RW9ITkE7O0k5SHFLUSxnQkNySWtFLEVBQUEsRTZINUJyRTs7QXBIRUw7RW9ITkE7O0k5SHFLUSxnQnVCbEwrQixFQUFBO0V1R2tDdkM7SUFFUSxVQUFVLEVBQUEsRUFDYjs7QUNyQ1Q7RUFDQyxtQjlIMkRrRCxFQUFBO0U4SDVEbkQ7SUFJRSxtQjlIeUM0RSxFQUFBO0k4SDdDOUU7TUFPRyxlQUFlLEVBQUE7O0FBS2xCO0VBQ0MscUJBQXFCO0VBQ3JCLG9COUhpRGtELEVBQUE7O0E4SDlDbkQ7RUFFRSxvQjlINENpRCxFQUFBOztBOEg5Q25EO0VBTUUsY0FBYztFQUNkLGdCOUhhbUMsRUFBQTtFOEhwQnJDO0lBVUcsWUFBWSxFQUFBOztBQVZmO0VBZUUscUI5SDZCbUQsRUFBQTs7QThIbkJyRDtFQUNDLFNBQVMsRUFBQTtFQURWO0kvSHdJWSxnQkM3SXlCO0lENkl6QixnQkMvQ3lCO0lEK0N6QixpQkE3SjBDO0lBNkoxQyxrQkE3SjBDO0lBNkoxQyxxQkE3SjBDO0krSDBCcEQsaUI5SGdCaUQ7SThIZmpELHFCQUFxQixFQUFBO0VBTnZCO0lBVUUsbUI5SFVvRCxFQUFBO0k4SHBCdEQ7TUFhRyxrQkFBa0IsRUFBQTtFQWJyQjtJL0h3SVksY0QxRjRDLEVBQUE7SWdJOUN4RDtNQXFCRyxZQUFZLEVBQUE7SUFyQmY7TUF5QkcsWUFBWSxFQUFBOztBQVNmO0VBRUUsY0FBYyxFQUFBOztBQUZoQjtFQU1FLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsa0JBQWtCLEVBQUE7RUFScEI7SUFXRyxnQjlIbERrQyxFQUFBO0U4SHVDckM7SUFnQkcsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixNQUFNLEVBQUE7O0FBbEJUO0VBdUJFLG1CQUFtQixFQUFBOztBckhoRmpCO0VxSDRGSDtJQUVLLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCLEVBQUE7SUFIM0I7TS9IeU1HLDRCK0huTW1DO1UvSG1NbkMsa0IrSG5NbUM7Yy9IbU1uQyxTK0huTW1DLEVBQUEsRUFDbkM7O0FySG5HQTtFcUhnSEg7SUFDQyxlQUFlO0lBQ2YseUJuSTVId0I7SW1JNkh4QixxQkFBcUI7SUFDckIseUJuSXZJbUIsRUFBQSxFbUl3SW5COztBQzVJRjtFaElzTFksVUNuSHVDLEVBQUE7O0ErSDdEbkQ7RWhJZ0xZLGdCRGxMbUI7RUM4S2YseUJEMUlrQjtFQzhJdEIsYXNDaExxRDtFdENnTHJELFdzQ2xMcUQ7RXRDOEtqRCxpRHNDeEswRTtVdEN3SzFFLHlDc0N4SzBFO0V0Q3dLMUUsdUNzQ3ZLZ0U7RXRDdUtoRSxrQ3NDdktnRTtFdEN1S2hFLCtCc0N2S2dFO0V0QzJLcEUsT3NDcEtrRDtFdENvS2xELGlCQ25IdUM7RURtSHZDLGtCZ0l6SzhCO0VoSXlLOUIsTXNDdktrRDtFdEN1S2xELGFzQzFLcUQ7RTJGdUk3RCxhQUFhO0VBQ2IsVUFBVTtFRHJJViw4QkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RUN1RXRCO0lqSTRGWSxnQnNDdkpxRDtJdEMySnpELG1CTXpHd0MsRUFBQTtJMkhZNUM7TWpJNkZJLGdCQ2pKeUI7TURpSnpCLGdCQy9DeUI7TUQrQ3pCLGlCQTdKMEM7TUE2SjFDLG9CQTdKMEM7TUE2SjFDLHNCQTdKMEMsRUFBQTtFaUkwRWxEO0lqSStFWSxpQmdJeEtnQyxFQUFBO0VDbUd4QztJakl5RUksa0JzQ25KeUQ7SXRDbUp6RCxxQmUxSjZCO0lDSnJDLHFCQUFxQjtJWHNNckIsc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQiw0QkFBNEI7SUFDNUIsU0FBUztJQUNULHdCQUFnQjtZQUFoQixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLFNBQVM7SUFDVCxVQUFVO0lBQ1YscUJBQXFCO0lBQ3JCLGlCQUFpQjtJTGpEVCxnQkNoSnlCO0lEZ0p6QixZQ25IdUM7SURtSHZDLFVDbkh1QyxFQUFBO0llNEovQztNaEJ0TEEsU0FBUztNQUNULHNCQUFzQjtNQUN0QixXQUFXO01BQ1gsWUFBWTtNQUNaLGdCQUFnQjtNQUNoQixVQUFVO01BQ1Ysa0JBQWtCO01BQ2xCLFVBQVUsRUFBQTtJZ0JyQk47TUFxUkosbUNBQW1DO01BQ25DLGtDQUFrQztNaEIzSDFCLGVNekd3QztNTnlHeEMsaUJNekd3QztNTnlHeEMsY012RzJDO01OdUczQyxZZTNIaUI7TWYySGpCLHdCQzVLaUM7TUQ0S2pDLFNNdEdxQztNTnNHckMsbUJNckd1QztNVXVPL0MscUJBQXFCO01BQ3JCLG1CQUFtQjtNQUNuQixnQkFBZ0I7TUFDaEIsV0FBVztNQUNYLGtCQUFrQixFQUFBO0lBclJWO01oQitJQSxjTWpHMkMsRUFBQTtJVXpDM0M7TWhCMElBLGNNaEcyQyxFQUFBO0lEb0puRDtNQUVJLGdCQUFnQjtNQUNoQixZQUFZLEVBQUE7SUFHaEI7TUFDSSxnQkFBZ0I7TUFDaEIsWUFBWSxFQUFBO0lBR2hCOztNQUdJLG1CQUFtQjtNQUNuQixvQkFBb0I7TUxuRWhCLFlNaEt1QyxFQUFBO0UySGdJL0M7SUFDSSxVQUFVLEVBQUE7RURqSmxCO0lBYVEsbUJBQW1CLEVBQUE7SUFiM0I7TUFnQlksZ0IvSDJCa0UsRUFBQTtNK0gzQzlFO1FBb0JvQixhQUFhLEVBQUE7RUFwQmpDO0lBNEJZLGFBQWEsRUFBQTs7QUFLekI7O0VBR1EsbUIvSHlCMkMsRUFBQTs7QStIckJuRDtFQUNJLHFCQUFxQixFQUFBO0VBRHpCO0lBSVEsNkJBQTZCLEVBQUE7O0FBSXJDO0VBQ0kscUJBQXFCO0VBQ3JCLGtCQUFrQixFQUFBO0VBRnRCO0lBS1EsY0FBYztJQUNkLGNBQWMsRUFBQTs7QUFJdEI7RTNIOEpJLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsNEJBQTRCO0VBQzVCLFNBQVM7RUFDVCx3QkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixTQUFTO0VBQ1QsVUFBVTtFQUNWLHFCQUFxQjtFQUNyQixpQkFBaUI7RUxqRFQsZ0JDaEp5QjtFRGdKekIsb0JDdEk4QjtFRHNJOUIsU0tOYztFTE1kLFVLTGM7RUxLZCxXRDlLbUI7RUM4S25CLDBCQ3BHK0I7RUlxR3ZDLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsZUFBZSxFQUFBO0VBaURmO0lBRUksZ0JBQWdCO0lBQ2hCLFlBQVksRUFBQTtFQUdoQjtJQUNJLGdCQUFnQjtJQUNoQixZQUFZLEVBQUE7RUFHaEI7Ozs7O0lBR0ksbUJBQW1CO0lBQ25CLG9CQUFvQjtJTG5FaEIsWU1oS3VDLEVBQUE7RUptRWpEO0lGNkZVLFdEOUttQjtJQzhLbkIscUJDakcwQixFQUFBO0VJMkpsQztJTDFEUSxjQy9GNkI7SUQrRjdCLHFCQzlGMEIsRUFBQTtFQ1dwQztJRm1GVSxjRHhIc0I7SUN3SHRCLHFCQzNGMEIsRUFBQTtFSXFKbEM7SUwxRFEsY0MvRjZCLEVBQUE7RUl3R3JDO0lBR0ksZ0JBQWdCO0lBQ2hCLFNBQVMsRUFBQTtFQWtEYjs7Ozs7SUwvRFEsV0Q5S21CO0lDOEtuQixZTWhLdUM7SURxTDNDLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsMEJBQTBCLEVBQUE7O0FLdEw5QjtFc0hqQko7SUFxRVEsZUFBZSxFQUFBO0VBR25COztJQUVJLHFCQUFxQixFQUFBO0lBRnpCOztNQUtRLG9CL0hoQnVDLEVBQUEsRStIaUIxQzs7QUUvRVQ7RTlHaUpJLHFCQUFxQjtFQUNyQixrQkFBa0I7RThHaklkLHNCQUFzQixFQUFBO0VsSTJDMUI7SUFFSSxXQUFXO0lBQ1gsY0FBYyxFQUFBO0VBR2xCO0lBQ0ksV0FBVyxFQUFBO0VvQndYWDtJQUNJLFdBQVc7SUFDWCxTQUFTLEVBQUE7RUFFYjtJQUNJLFlBQVk7SUFDWixTQUFTLEVBQUE7RUFHVDtJQUNJLDZCQUE2QjtJQUM3QiwwQkFBMEIsRUFBQTtFQUc5QjtJQUNJLDRCQUE0QjtJQUM1QixjQUFjO0lBQ2QseUJBQXlCLEVBQUE7RUFiakM7SXBCOVFJLHFCZTFKNkI7SUNKckMscUJBQXFCLEVBQUE7SUF1TXJCO01oQnRMQSxTQUFTO01BQ1Qsc0JBQXNCO01BQ3RCLFdBQVc7TUFDWCxZQUFZO01BQ1osZ0JBQWdCO01BQ2hCLFVBQVU7TUFDVixrQkFBa0I7TUFDbEIsVUFBVSxFQUFBO0lnQkVOO01BOFBKLG1DQUFtQztNQUNuQyxrQ0FBa0M7TWhCM0gxQixla0l0S2tEO01sSXNLbEQsaUJNekd3QztNTnlHeEMsV0Q5S21CO01DOEtuQixZZS9HaUI7TWYrR2pCLHdCQzVLaUM7TUQ0S2pDLFNNdEdxQztNTnNHckMsbUJNckd1QztNVXVPL0MscUJBQXFCO01BQ3JCLG1CQUFtQjtNQUNuQixnQkFBZ0I7TUFDaEIsV0FBVztNQUNYLGtCQUFrQixFQUFBO0lBOVBWO01oQndIQSxjQy9GNkIsRUFBQTtJZW5CN0I7TWhCa0hBLGNNaEcyQyxFQUFBO0ljNFRuRDtNcEI1TlEscUJlMUo2QjtNQ0pyQyxxQkFBcUIsRUFBQTtNQXVNckI7UWhCdExBLFNBQVM7UUFDVCxzQkFBc0I7UUFDdEIsV0FBVztRQUNYLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixVQUFVLEVBQUE7TWdCRU47UUE4UEosbUNBQW1DO1FBQ25DLGtDQUFrQztRaEIzSDFCLGVrSXRLa0Q7UWxJc0tsRCxpQk16R3dDO1FOeUd4QyxXRDlLbUI7UUM4S25CLFllaEhpQjtRZmdIakIsd0JDNUtpQztRRDRLakMsU010R3FDO1FOc0dyQyxtQk1yR3VDO1FVdU8vQyxxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsa0JBQWtCLEVBQUE7TUE5UFY7UWhCd0hBLGNDL0Y2QixFQUFBO01lbkI3QjtRaEJrSEEsY01oRzJDLEVBQUE7RWNzSm5EO0lBQ0ksU0FBUztJQUNULFVBQVU7SUFDVixnQkFBZ0I7SXBCekRaLGdCRGxMbUI7SUM4S2Ysc0JEM0llO0lDK0luQixlcUJ6SzJDO0lyQnlLM0MsZ0JrSWxLbUQ7SWxJa0tuRCxZcUJoSzJDO0lEaU8vQyw4QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYixrQkFBa0I7SUF5RGxCLFNDcFNnRDtJckJvS3hDLGlEcUI3SmlFO1lyQjZKakUseUNxQjdKaUUsRUFBQTtJRCtPekU7TXBCOUVJLFNxQnZKeUM7TXJCbUpyQyx5QmtJdEswRCxFQUFBO005R2dROUQ7UXBCdEZBLG1CRDFKc0I7UXFCa1BsQixlQUFlLEVBQUE7SUE2UTNCO01BRUksMEJBQTBCO01BQzFCLFdBQVc7TUFDWCxjQUFjO01BQ2QsU0FBUztNQUNULGtCQUFrQjtNQUNsQixRQUFRLEVBQUE7SUFHWjtNQUNJLGlCQUFpQjtNcEJwWFQsc0RvQnFYcUY7TUFDN0YsV0FBVyxFQUFBO0lBR2Y7TUFDSSxpQkFBaUI7TXBCMVhULHNEb0IyWHlGO01BQ2pHLFdBQVcsRUFBQTtJQVRmO01wQi9XUSxVcUIzSjRDO01yQjJKNUMsVXFCNUo2QyxFQUFBO0lEaWhCckQ7TXBCclhRLFNvQjJVc0U7TXBCM1V0RSxVb0I0VThELEVBQUE7RUFwT3RFO0lBQ0ksaUJBQWlCLEVBQUE7SUFFakI7TUFDSSxjQUFjLEVBQUE7RUF0RHRCO0k4R25OUSxnQkFBZ0IsRUFBQTtJQXBCNUI7TWxJaUxZLG1CRDFKc0IsRUFBQTtFaUJxRTFCOztJaEJxRkksWWVqSmlCLEVBQU87RW1IRjVCOzs7O0lsSW1KSSxjQy9GNkIsRUFBQTtFaUlwRGpDOztJQW9CWSwyQkFBaUQ7SUFDakQsV0FBVztJQUNYLFdBQVc7SUFDWCxZQUFZO0lBQ1osZUFBZSxFQUFBO0VBSzNCOzs7OztJN0htREosZ0JBQWdCO0lMK0RKLG1CTWxGK0M7SU5zRm5ELGlCQTdKMEMsRUFBQTtFa0l1QzlDOzs7SUFVWSxVQUFVLEVBQUE7RUFLdEI7SUFDSSxvQmpJYnVDLEVBQUE7SWlJWTNDO01BS1ksbUJqSWhCK0IsRUFBQTs7QWlJL0RuRDtFQXNGUSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VsSTJGbEIsZ0JEbExtQjtFQzhLZix5QkQxSWtCO0VDOEl0Qixhc0NoTHFEO0V0Q2dMckQsV3NDbExxRDtFdEM4S2pELGlEc0N4SzBFO1V0Q3dLMUUseUNzQ3hLMEU7RXRDd0sxRSx1Q3NDdktnRTtFdEN1S2hFLGtDc0N2S2dFO0V0Q3VLaEUsK0JzQ3ZLZ0U7RXRDMktwRSxTc0NyS2tEO0V0Q3FLbEQsT3NDcEtrRDtFdENvS2xELGVzQ3hLc0Q7RXRDd0t0RCxRc0N0S2tEO0V0Q3NLbEQsTXNDdktrRDtFdEN1S2xELGFzQzFLcUQ7RTJGdUk3RCxhQUFhO0VBQ2IsVUFBVSxFQUFBO0VBOURWO0lqSTRGWSxnQnNDdkpxRDtJdEMySnpELG1CTXpHd0MsRUFBQTtJMkhZNUM7TWpJNkZJLGdCQ2pKeUI7TURpSnpCLGdCQy9DeUI7TUQrQ3pCLGlCQTdKMEM7TUE2SjFDLG9CQTdKMEM7TUE2SjFDLHNCQTdKMEMsRUFBQTtFaUlvRjlDO0lqSXlFSSxrQnNDbkp5RDtJdENtSnpELHFCZTFKNkI7SUNKckMscUJBQXFCO0lYc01yQixzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtJQUM1QixTQUFTO0lBQ1Qsd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsU0FBUztJQUNU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RCtFM0MsZUFBZTtJQUNmLG9CQUFvQixFQUFBOztBNksvRDVCO0VBZUksZ0JBQWdCLEVBQUE7RXJDdENwQjtJcUN5Q00sU0FBUztJQUNULG1CQUFtQixFQUFBO0VBbkJ6QjtJQXVCTSxpQkFBaUIsRUFBQTtFQXZCdkI7SUEyQk0scUJBQXFCLEVBQUE7SUEzQjNCO01BOEJRLFluSzJCcUI7TW1LMUJyQixvQkFBb0I7TUFDcEIsd0JqTDdEcUM7TWlMOERyQyxpQkFBaUIsRUFBQTtJQWpDekI7TUFxQ1EsMEJBQTBCLEVBQUE7SUFyQ2xDO01BMkNVLHFCQUFxQixFQUFBIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBsYXJnZSBidXR0b24gKi9cbi8qIHByaW1hcnkgYnV0dG9uIHN0eWxlICh1c2VkIGluIG1haWxzKSAqL1xuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgYmFzZVxuKiAgIEJBU0UgU1RZTEVTXG4qXG4qICAgVEFCTEUgT0YgQ09OVEVOVFNcbiogICBib3gtc2l6aW5nXG4qICAgcmVzZXRzXG4qICAgZGVmYXVsdHNcbiogICBmb2N1cyBzdHlsZXNcbiogICByZWR1Y2VkIG1vdGlvblxuKiAgIGllMTBcbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2JveC1zaXppbmdcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuKixcbio6OmFmdGVyLFxuKjo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjcmVzZXRzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHksXG5kaXYsIHNlY3Rpb24sIGFydGljbGUsXG5kbCwgZHQsIGRkLFxudWwsIG9sLCBsaSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG5wcmUsIGZvcm0sIGZpZWxkc2V0LCBsZWdlbmQsXG5maWd1cmUsIGZpZ2NhcHRpb24sXG5wLCBibG9ja3F1b3RlLFxudGgsIHRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbixcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2RlZmF1bHRzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBpbWFnZXMgKi9cbmltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIGxpbmtzICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHJlbW92ZSB0aGUgZ3JleSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRTEwICovXG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qIGhlYWRpbmdzICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuaDEge1xuICBmb250LXNpemU6IDRyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDIuOHJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS44cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4vKiBsaXN0cyAqL1xudWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qIGlmcmFtZXMgKi9cbmlmcmFtZSB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vKiB0YWJsZXMgKi9cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBtYWluICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGhyICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC4xcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qXG4qIHJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiogaW1hZ2VzLCB2aWRlb3MgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVyc1xuKi9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qIGFiYnIgKi9cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyogc3ZnICovXG5zdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi8qIGhpZGRlbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiBhZGRlZCBsaW5lICovIH1cblxuLyogdGVtcGxhdGUgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBwcmUgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogY29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplICovXG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIHRleHQgbGV2ZWwgc2VtYW50aWNzICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogY29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplICovXG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogZm9ybXMgKi9cbmJ1dHRvbiwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24sIC5hY3Rpb24tZ2lmdCxcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyB9XG5cbmJ1dHRvbiwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24sIC5hY3Rpb24tZ2lmdCxcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbiwgLmFjdGlvbi1naWZ0LFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbiwgLmFjdGlvbi1naWZ0LFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uOjotbW96LWZvY3VzLWlubmVyLCAuYWN0aW9uLWdpZnQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7IH1cblxuLyogZmllbGRzZXQgKyBsZWdlbmQgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLyogdGV4dGFyZWEgKi9cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogcHJvZ3Jlc3MgKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qIGRldGFpbHMgLSBzdW1tYXJ5ICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBpbnB1dCB0eXBlcyAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuKiBjb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBjaHJvbWVcbiovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuKiBjb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBjaHJvbWUgYW5kIHNhZmFyaVxuKiBjb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIHNhZmFyaVxuKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbi8qKlxuKiByZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gY2hyb21lIGFuZCBzYWZhcmkgb24gbWFjT1MuXG4qL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4qIGNvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBzYWZhcmlcbiogY2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpXG4qL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbi8qIGFkZHJlc3MgKi9cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBpbmhlcml0OyB9XG5cbi8qIG1lZGlhICovXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjcmVkdWNlZCBtb3Rpb25cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAwMXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMDFzICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjaWUxMFxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxuKiBJRTEwIGlnbm9yZXMgdGhlIG1ldGEgdmlld3BvcnQgdGFnIGZvciBhbnkgdmlld3BvcnQgc21hbGxlciB0aGFuIDQwMCBwaXhlbHMgaW4gd2lkdGg7XG4qIHNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ25cbiovXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIGJhc2VcbiogICBHTE9CQUxcbipcbiogICBUQUJMRSBPRiBDT05URU5UU1xuKiAgIGh0bWwgJiBib2R5XG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNodG1sICYgYm9keVxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sIHtcbiAgLyogcHJldmVudCB0aGUgc2Nyb2xsYmFyIGZyb20gb3ZlcmxhcHBpbmcgdGhlIGNvbnRlbnQgb24gSUU6ICovXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyB9XG5cbmJvZHkge1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgZm9udC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgY29sb3I6ICMzYjRhNGI7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45NXJlbTsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2QxZDFkMTtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbmhyIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgbWFyZ2luLXRvcDogMTlweDsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDcxLjQyODU3JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuaDEge1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS45cmVtOyB9XG5cbmgyIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIG1hcmdpbi10b3A6IDIuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjlyZW07IH1cblxuaDMge1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbWFyZ2luLXRvcDogMS40MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTVyZW07IH1cblxuaDQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLXRvcDogMS45cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjlyZW07IH1cblxuaDUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLXRvcDogMS45cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjlyZW07IH1cblxuaDYge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi10b3A6IDEuOXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS45cmVtOyB9XG5cbmgxIHNtYWxsLFxuaDEgLnNtYWxsLFxuaDIgc21hbGwsXG5oMiAuc21hbGwsXG5oMyBzbWFsbCxcbmgzIC5zbWFsbCxcbmg0IHNtYWxsLFxuaDQgLnNtYWxsLFxuaDUgc21hbGwsXG5oNSAuc21hbGwsXG5oNiBzbWFsbCxcbmg2IC5zbWFsbCB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBcInNhbnMtc2VyaWZcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5hLFxuLmFsaW5rIHtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGE6dmlzaXRlZCxcbiAgLmFsaW5rOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyLFxuICAuYWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjYTU0ZjZjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmFjdGl2ZSxcbiAgLmFsaW5rOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZjU1MDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTsgfVxuICB1bCA+IGxpLFxuICBvbCA+IGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTVyZW07IH1cbiAgdWwgdWwsXG4gIHVsIG9sLFxuICBvbCB1bCxcbiAgb2wgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogNC43NXB4O1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGFibGUgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICB0YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgdGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGgsXG4gIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICB0YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgdGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmc6IDhweCA5LjVweDsgfVxuXG5idXR0b24sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uLCAuYWN0aW9uLWdpZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICBidXR0b246Zm9jdXMsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uOmZvY3VzLCAuYWN0aW9uLWdpZnQ6Zm9jdXMsIGJ1dHRvbjphY3RpdmUsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uOmFjdGl2ZSwgLmFjdGlvbi1naWZ0OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2UyZTJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIGJ1dHRvbjpob3ZlciwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb246aG92ZXIsIC5hY3Rpb24tZ2lmdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzNiNGE0YjtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjYjhiNDk2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGJ1dHRvbi5kaXNhYmxlZCwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5kaXNhYmxlZC5hY3Rpb24sIC5kaXNhYmxlZC5hY3Rpb24tZ2lmdCwgYnV0dG9uW2Rpc2FibGVkXSwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb25bZGlzYWJsZWRdLCAuYWN0aW9uLWdpZnRbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gYnV0dG9uLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24sXG4gIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5hY3Rpb24tZ2lmdCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICNmMmYyZWQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgXCJzYW5zLXNlcmlmXCI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgaGVpZ2h0OiA0LjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAxcmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzdlODg4OTsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInVybFwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInVybFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInRlbFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOjotbW96LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYzJjMmMyOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjMmMyYzI7IH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2MyYzJjMjsgfVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZjJmMmVkO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGhlaWdodDogNC4zcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogNC43NXB4IDkuNXB4IDRweDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2ljb25fX3NlbGVjdC0tZG93bi0tZGFyay5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTFweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOHJlbSBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNnJlbTsgfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICM3ZTg4ODk7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cblxuc2VsZWN0W211bHRpcGxlPVwibXVsdGlwbGVcIl0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZjJmMmVkO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOS41cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICM3ZTg4ODk7IH1cbiAgdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjMmMyYzI7IH1cbiAgdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYzJjMmMyOyB9XG4gIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjMmMyYzI7IH1cblxuaW5wdXQubWFnZS1lcnJvcixcbnNlbGVjdC5tYWdlLWVycm9yLFxudGV4dGFyZWEubWFnZS1lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogI2VkODM4MDsgfVxuXG5kaXYubWFnZS1lcnJvcltnZW5lcmF0ZWRdIHtcbiAgY29sb3I6ICNlMDJiMjc7XG4gIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG5cbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnksXG4uYWN0aW9ucy10b29sYmFyID4gLnNlY29uZGFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5hY3Rpb24sXG4gIC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG4gICAgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5hY3Rpb246bGFzdC1jaGlsZCxcbiAgICAuYWN0aW9ucy10b29sYmFyID4gLnNlY29uZGFyeSAuYWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnk6bGFzdC1jaGlsZCxcbiAgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hY3Rpb25zLXRvb2xiYXI6YmVmb3JlLCAuYWN0aW9ucy10b29sYmFyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYWN0aW9ucy10b29sYmFyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5LFxuICAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgYS5hY3Rpb24sXG4gICAgLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IGEuYWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgYS5hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAuYWN0aW9ucy10b29sYmFyID4gLnNlY29uZGFyeSxcbiAgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkgLmFjdGlvbixcbiAgICAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkgLmFjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjU7IH1cbiAgLmJyZWFkY3J1bWJzIC5pdGVtcyB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICNhM2EzYTM7IH1cbiAgICAuYnJlYWRjcnVtYnMgLml0ZW1zID4gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuYnJlYWRjcnVtYnMgLml0ZW0ge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYnJlYWRjcnVtYnMgLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1icyAuaXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBjb250ZW50OiBcIu6YiFwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYnJlYWRjcnVtYnMgLml0ZW1zIHtcbiAgICBtYXgtd2lkdGg6IDEzMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMC44cmVtIDJyZW07IH1cbiAgICAuYnJlYWRjcnVtYnMgLml0ZW1zID4gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG5cbmEuYWN0aW9uLnByaW1hcnksIGJ1dHRvbiwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24sIC5hY3Rpb24tZ2lmdCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAyNTBtcyBsaW5lYXI7IH1cbiAgYS5hY3Rpb24ucHJpbWFyeVtkaXNhYmxlZF0sIGJ1dHRvbltkaXNhYmxlZF0sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uW2Rpc2FibGVkXSwgLmFjdGlvbi1naWZ0W2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuYS5hY3Rpb24ucHJpbWFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYS5hY3Rpb24ucHJpbWFyeTpob3ZlciwgYS5hY3Rpb24ucHJpbWFyeTphY3RpdmUsIGEuYWN0aW9uLnByaW1hcnk6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYWJzLXJlc2V0LWxpc3QsIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5idW5kbGUuaXRlbXMsIC5wcmljZXMtdGllciwgLmNhcnQtY29udGFpbmVyIC5jaGVja291dC1tZXRob2RzLWl0ZW1zLCAub3BjLXdyYXBwZXIgLm9wYywgLm9wYy1wcm9ncmVzcy1iYXIsIC5jaGVja291dC1hZ3JlZW1lbnRzLWl0ZW1zLCAuaXRlbXMsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1zZWxlY3QtaXRlbXMsIC5wYXlwYWwtcmV2aWV3IC5pdGVtcy1xdHksIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5pdGVtcy1xdHksIC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIgLmZvb3Rlci1jb2x1bW4gPiB1bCwgLmZvb3Rlci5jb250ZW50IHVsLCAuYmxvY2stYmFubmVycyAuYmFubmVyLWl0ZW1zLFxuLmJsb2NrLWJhbm5lcnMtaW5saW5lIC5iYW5uZXItaXRlbXMsIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmFicy1yZXNldC1saXN0ID4gbGksIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5idW5kbGUuaXRlbXMgPiBsaSwgLnByaWNlcy10aWVyID4gbGksIC5jYXJ0LWNvbnRhaW5lciAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyA+IGxpLCAub3BjLXdyYXBwZXIgLm9wYyA+IGxpLCAub3BjLXByb2dyZXNzLWJhciA+IGxpLCAuY2hlY2tvdXQtYWdyZWVtZW50cy1pdGVtcyA+IGxpLCAuaXRlbXMgPiBsaSwgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdC1pdGVtcyA+IGxpLCAucGF5cGFsLXJldmlldyAuaXRlbXMtcXR5ID4gbGksIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5pdGVtcy1xdHkgPiBsaSwgLnBhZ2UtZm9vdGVyX19tYWluLS1pbm5lciAuZm9vdGVyLWNvbHVtbiA+IHVsID4gbGksIC5mb290ZXIuY29udGVudCB1bCA+IGxpLCAuYmxvY2stYmFubmVycyAuYmFubmVyLWl0ZW1zID4gbGksIC5ibG9jay1iYW5uZXJzLWlubGluZSAuYmFubmVyLWl0ZW1zID4gbGksIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgPiBsaSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hYnMtYWN0aW9uLWxpbmstYnV0dG9uLCAuYWJzLWFjdGlvbi1hZGR0by1wcm9kdWN0LCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAucHJvZHVjdC1hZGR0by1saW5rcyA+IC5hY3Rpb24sIC5wcm9kdWN0LWluZm8tbWFpbiAuYWN0aW9uLnRvY29tcGFyZSxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG9jb21wYXJlLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b3dpc2hsaXN0LFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmFjdGlvbi50b3dpc2hsaXN0LFxuLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5hY3Rpb24udG93aXNobGlzdCwgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZDogIzNiNGE0YjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBcInNhbnMtc2VyaWZcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuYWJzLWFjdGlvbi1saW5rLWJ1dHRvbjpmb2N1cywgLmFicy1hY3Rpb24tYWRkdG8tcHJvZHVjdDpmb2N1cywgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLnByb2R1Y3QtYWRkdG8tbGlua3MgPiAuYWN0aW9uOmZvY3VzLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b2NvbXBhcmU6Zm9jdXMsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG9jb21wYXJlOmZvY3VzLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b3dpc2hsaXN0OmZvY3VzLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvd2lzaGxpc3Q6Zm9jdXMsXG4gIC5ibG9jay1idW5kbGUtc3VtbWFyeSAuYWN0aW9uLnRvd2lzaGxpc3Q6Zm9jdXMsIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5ldmVudDpmb2N1cywgLmFicy1hY3Rpb24tbGluay1idXR0b246YWN0aXZlLCAuYWJzLWFjdGlvbi1hZGR0by1wcm9kdWN0OmFjdGl2ZSwgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLnByb2R1Y3QtYWRkdG8tbGlua3MgPiAuYWN0aW9uOmFjdGl2ZSwgLnByb2R1Y3QtaW5mby1tYWluIC5hY3Rpb24udG9jb21wYXJlOmFjdGl2ZSxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmFjdGlvbi50b2NvbXBhcmU6YWN0aXZlLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b3dpc2hsaXN0OmFjdGl2ZSxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmFjdGlvbi50b3dpc2hsaXN0OmFjdGl2ZSxcbiAgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5hY3Rpb24udG93aXNobGlzdDphY3RpdmUsIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5ldmVudDphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAuYWJzLWFjdGlvbi1saW5rLWJ1dHRvbjpob3ZlciwgLmFicy1hY3Rpb24tYWRkdG8tcHJvZHVjdDpob3ZlciwgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLnByb2R1Y3QtYWRkdG8tbGlua3MgPiAuYWN0aW9uOmhvdmVyLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b2NvbXBhcmU6aG92ZXIsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG9jb21wYXJlOmhvdmVyLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b3dpc2hsaXN0OmhvdmVyLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvd2lzaGxpc3Q6aG92ZXIsXG4gIC5ibG9jay1idW5kbGUtc3VtbWFyeSAuYWN0aW9uLnRvd2lzaGxpc3Q6aG92ZXIsIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5ldmVudDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzNiNGE0YjtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjYjhiNDk2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5hYnMtYWN0aW9uLWxpbmstYnV0dG9uLmRpc2FibGVkLCAuZGlzYWJsZWQuYWJzLWFjdGlvbi1hZGR0by1wcm9kdWN0LCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAucHJvZHVjdC1hZGR0by1saW5rcyA+IC5kaXNhYmxlZC5hY3Rpb24sIC5wcm9kdWN0LWluZm8tbWFpbiAuZGlzYWJsZWQuYWN0aW9uLnRvY29tcGFyZSxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmRpc2FibGVkLmFjdGlvbi50b2NvbXBhcmUsIC5wcm9kdWN0LWluZm8tbWFpbiAuZGlzYWJsZWQuYWN0aW9uLnRvd2lzaGxpc3QsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5kaXNhYmxlZC5hY3Rpb24udG93aXNobGlzdCxcbiAgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5kaXNhYmxlZC5hY3Rpb24udG93aXNobGlzdCwgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuZGlzYWJsZWQuYWN0aW9uLmV2ZW50LCAuYWJzLWFjdGlvbi1saW5rLWJ1dHRvbltkaXNhYmxlZF0sIC5hYnMtYWN0aW9uLWFkZHRvLXByb2R1Y3RbZGlzYWJsZWRdLCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAucHJvZHVjdC1hZGR0by1saW5rcyA+IC5hY3Rpb25bZGlzYWJsZWRdLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b2NvbXBhcmVbZGlzYWJsZWRdLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvY29tcGFyZVtkaXNhYmxlZF0sIC5wcm9kdWN0LWluZm8tbWFpbiAuYWN0aW9uLnRvd2lzaGxpc3RbZGlzYWJsZWRdLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvd2lzaGxpc3RbZGlzYWJsZWRdLFxuICAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLmFjdGlvbi50b3dpc2hsaXN0W2Rpc2FibGVkXSwgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50W2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5hYnMtYWN0aW9uLWxpbmstYnV0dG9uLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmFicy1hY3Rpb24tYWRkdG8tcHJvZHVjdCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5wcm9kdWN0LWFkZHRvLWxpbmtzID4gLmFjdGlvbixcbiAgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnkgZmllbGRzZXRbZGlzYWJsZWRdIC5wcm9kdWN0LWFkZHRvLWxpbmtzID4gLmFjdGlvbixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5wcm9kdWN0LWluZm8tbWFpbiAuYWN0aW9uLnRvY29tcGFyZSxcbiAgLnByb2R1Y3QtaW5mby1tYWluIGZpZWxkc2V0W2Rpc2FibGVkXSAuYWN0aW9uLnRvY29tcGFyZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG9jb21wYXJlLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbi50b2NvbXBhcmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b3dpc2hsaXN0LFxuICAucHJvZHVjdC1pbmZvLW1haW4gZmllbGRzZXRbZGlzYWJsZWRdIC5hY3Rpb24udG93aXNobGlzdCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG93aXNobGlzdCxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gZmllbGRzZXRbZGlzYWJsZWRdIC5hY3Rpb24udG93aXNobGlzdCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5ibG9jay1idW5kbGUtc3VtbWFyeSAuYWN0aW9uLnRvd2lzaGxpc3QsXG4gIC5ibG9jay1idW5kbGUtc3VtbWFyeSBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbi50b3dpc2hsaXN0LFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50LFxuICAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIGZpZWxkc2V0W2Rpc2FibGVkXSAuYWN0aW9uLmV2ZW50IHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5hYnMtYWN0aW9uLWxpbmstYnV0dG9uOmhvdmVyLCAuYWJzLWFjdGlvbi1hZGR0by1wcm9kdWN0OmhvdmVyLCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAucHJvZHVjdC1hZGR0by1saW5rcyA+IC5hY3Rpb246aG92ZXIsIC5wcm9kdWN0LWluZm8tbWFpbiAuYWN0aW9uLnRvY29tcGFyZTpob3ZlcixcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmFjdGlvbi50b2NvbXBhcmU6aG92ZXIsIC5wcm9kdWN0LWluZm8tbWFpbiAuYWN0aW9uLnRvd2lzaGxpc3Q6aG92ZXIsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG93aXNobGlzdDpob3ZlcixcbiAgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5hY3Rpb24udG93aXNobGlzdDpob3ZlciwgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50OmhvdmVyLCAuYWJzLWFjdGlvbi1saW5rLWJ1dHRvbjphY3RpdmUsIC5hYnMtYWN0aW9uLWFkZHRvLXByb2R1Y3Q6YWN0aXZlLCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAucHJvZHVjdC1hZGR0by1saW5rcyA+IC5hY3Rpb246YWN0aXZlLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b2NvbXBhcmU6YWN0aXZlLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvY29tcGFyZTphY3RpdmUsIC5wcm9kdWN0LWluZm8tbWFpbiAuYWN0aW9uLnRvd2lzaGxpc3Q6YWN0aXZlLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvd2lzaGxpc3Q6YWN0aXZlLFxuICAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLmFjdGlvbi50b3dpc2hsaXN0OmFjdGl2ZSwgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50OmFjdGl2ZSwgLmFicy1hY3Rpb24tbGluay1idXR0b246Zm9jdXMsIC5hYnMtYWN0aW9uLWFkZHRvLXByb2R1Y3Q6Zm9jdXMsIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC5wcm9kdWN0LWFkZHRvLWxpbmtzID4gLmFjdGlvbjpmb2N1cywgLnByb2R1Y3QtaW5mby1tYWluIC5hY3Rpb24udG9jb21wYXJlOmZvY3VzLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvY29tcGFyZTpmb2N1cywgLnByb2R1Y3QtaW5mby1tYWluIC5hY3Rpb24udG93aXNobGlzdDpmb2N1cyxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmFjdGlvbi50b3dpc2hsaXN0OmZvY3VzLFxuICAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLmFjdGlvbi50b3dpc2hsaXN0OmZvY3VzLCAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIC5hY3Rpb24uZXZlbnQ6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYWJzLXByb2R1Y3Qtb3B0aW9ucy1saXN0IGR0LCAuY2FydC50YWJsZS13cmFwcGVyIC5pdGVtLW9wdGlvbnMgZHQsIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5wcm9kdWN0IC5pdGVtLW9wdGlvbnMgZHQsIC5tdWx0aWNoZWNrb3V0IC5pdGVtLW9wdGlvbnMgZHQge1xuICBjbGVhcjogbGVmdDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCA5LjVweCA0Ljc1cHggMDsgfVxuICAuYWJzLXByb2R1Y3Qtb3B0aW9ucy1saXN0IGR0OmFmdGVyLCAuY2FydC50YWJsZS13cmFwcGVyIC5pdGVtLW9wdGlvbnMgZHQ6YWZ0ZXIsIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5wcm9kdWN0IC5pdGVtLW9wdGlvbnMgZHQ6YWZ0ZXIsIC5tdWx0aWNoZWNrb3V0IC5pdGVtLW9wdGlvbnMgZHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc6ICc7IH1cblxuLmFicy1wcm9kdWN0LW9wdGlvbnMtbGlzdCBkZCwgLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbS1vcHRpb25zIGRkLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZC1pdGVtcyAucHJvZHVjdCAuaXRlbS1vcHRpb25zIGRkLCAubXVsdGljaGVja291dCAuaXRlbS1vcHRpb25zIGRkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDAgNC43NXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFicy1wcm9kdWN0LW9wdGlvbnMtbGlzdC1kZXNrdG9wIGR0LCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZCAuaXRlbS1vcHRpb25zIGR0IHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgOS41cHggNC43NXB4IDA7IH1cbiAgICAuYWJzLXByb2R1Y3Qtb3B0aW9ucy1saXN0LWRlc2t0b3AgZHQ6YWZ0ZXIsIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkIC5pdGVtLW9wdGlvbnMgZHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzogJzsgfVxuICAuYWJzLXByb2R1Y3Qtb3B0aW9ucy1saXN0LWRlc2t0b3AgZGQsIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkIC5pdGVtLW9wdGlvbnMgZGQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMCA0Ljc1cHg7IH0gfVxuXG4uYWJzLWJ1dHRvbi1yZXNwb25zaXZlLCAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkgLmFjdGlvbixcbi5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hYnMtYnV0dG9uLWRlc2t0b3Age1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYWJzLWJ1dHRvbi1yZXNwb25zaXZlLXNtYWxsZXIsIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAuYWN0aW9ucyAuYWN0aW9uLnRvY2FydCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hYnMtYmxvY2tzLTJjb2x1bW5zLCAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYm94LCAubG9naW4tY29udGFpbmVyIC5ibG9jaywgLmFjY291bnQgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveCwgLm1hZ2VudG8tcm1hLWd1ZXN0LXJldHVybnMgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveCwgW2NsYXNzXj0nc2FsZXMtZ3Vlc3QtJ10gLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveCxcbiAgLnNhbGVzLWd1ZXN0LXZpZXcgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveCB7XG4gICAgd2lkdGg6IDQ4LjglOyB9XG4gICAgLmFicy1ibG9ja3MtMmNvbHVtbnM6bnRoLWNoaWxkKG9kZCksIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5ibG9jay1jb250ZW50IC5ib3g6bnRoLWNoaWxkKG9kZCksIC5sb2dpbi1jb250YWluZXIgLmJsb2NrOm50aC1jaGlsZChvZGQpLCAuYWNjb3VudCAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudCAuYm94Om50aC1jaGlsZChvZGQpLCAubWFnZW50by1ybWEtZ3Vlc3QtcmV0dXJucyAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudCAuYm94Om50aC1jaGlsZChvZGQpLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudCAuYm94Om50aC1jaGlsZChvZGQpLFxuICAgIC5zYWxlcy1ndWVzdC12aWV3IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50IC5ib3g6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5hYnMtYmxvY2tzLTJjb2x1bW5zOm50aC1jaGlsZChldmVuKSwgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmJsb2NrLWNvbnRlbnQgLmJveDpudGgtY2hpbGQoZXZlbiksIC5sb2dpbi1jb250YWluZXIgLmJsb2NrOm50aC1jaGlsZChldmVuKSwgLmFjY291bnQgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveDpudGgtY2hpbGQoZXZlbiksIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50IC5ib3g6bnRoLWNoaWxkKGV2ZW4pLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudCAuYm94Om50aC1jaGlsZChldmVuKSxcbiAgICAuc2FsZXMtZ3Vlc3QtdmlldyAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudCAuYm94Om50aC1jaGlsZChldmVuKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5hYnMtYmxvY2tzLTJjb2x1bW5zLXMge1xuICAgIHdpZHRoOiA0OC44JTsgfVxuICAgIC5hYnMtYmxvY2tzLTJjb2x1bW5zLXM6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5hYnMtYmxvY2tzLTJjb2x1bW5zLXM6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5hYnMtcmVzZXQtaW1hZ2Utd3JhcHBlciwgLmNhcnQudGFibGUtd3JhcHBlciAucHJvZHVjdC1pbWFnZS13cmFwcGVyLCAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciwgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5hYnMtcmVzZXQtaW1hZ2Utd3JhcHBlciAucHJvZHVjdC1pbWFnZS1waG90bywgLmNhcnQudGFibGUtd3JhcHBlciAucHJvZHVjdC1pbWFnZS13cmFwcGVyIC5wcm9kdWN0LWltYWdlLXBob3RvLCAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciAucHJvZHVjdC1pbWFnZS1waG90bywgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciAucHJvZHVjdC1pbWFnZS1waG90byB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4uYWJzLWFkYXB0aXZlLWltYWdlcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYWJzLWFkYXB0aXZlLWltYWdlcy1jZW50ZXJlZCwgLnByb2R1Y3QubWVkaWEgLnByb2R1Y3QucGhvdG8gLnBob3RvLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYWJzLWxvZ2luLWJsb2NrLXRpdGxlLCAubG9naW4tY29udGFpbmVyIC5ibG9jayAuYmxvY2stdGl0bGUge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4OyB9XG4gIC5hYnMtbG9naW4tYmxvY2stdGl0bGUgc3Ryb25nLCAubG9naW4tY29udGFpbmVyIC5ibG9jayAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5hYnMtYmxvY2stdGl0bGUsIC5hYnMtYWNjb3VudC1ibG9ja3MgLmJsb2NrLXRpdGxlLCAuYWNjb3VudCAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stdGl0bGUsIC5tdWx0aWNoZWNrb3V0IC5ibG9jay10aXRsZSwgLnBheXBhbC1yZXZpZXcgLmJsb2NrIC5ibG9jay10aXRsZSwgLm1hZ2VudG8tcm1hLWd1ZXN0LXJldHVybnMgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLXRpdGxlLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stdGl0bGUsIC5zYWxlcy1ndWVzdC12aWV3IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay10aXRsZSwgLmJsb2NrLWNvbXBhcmUgLmJsb2NrLXRpdGxlLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXJlc3VsdHMgLmJsb2NrLXRpdGxlLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZC1pdGVtcyAuYmxvY2stdGl0bGUsIC5ibG9jay13aXNobGlzdC1zZWFyY2gtcmVzdWx0cyAuYmxvY2stdGl0bGUsIC5ibG9jay1yZW9yZGVyIC5ibG9jay10aXRsZSwgLndpZGdldCAuYmxvY2stdGl0bGUsIC5ibG9jay13aXNobGlzdCAuYmxvY2stdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5hYnMtYmxvY2stdGl0bGUgPiBzdHJvbmcsIC5hYnMtYWNjb3VudC1ibG9ja3MgLmJsb2NrLXRpdGxlID4gc3Ryb25nLCAuYWNjb3VudCAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stdGl0bGUgPiBzdHJvbmcsIC5tdWx0aWNoZWNrb3V0IC5ibG9jay10aXRsZSA+IHN0cm9uZywgLnBheXBhbC1yZXZpZXcgLmJsb2NrIC5ibG9jay10aXRsZSA+IHN0cm9uZywgLm1hZ2VudG8tcm1hLWd1ZXN0LXJldHVybnMgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLXRpdGxlID4gc3Ryb25nLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stdGl0bGUgPiBzdHJvbmcsIC5zYWxlcy1ndWVzdC12aWV3IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay10aXRsZSA+IHN0cm9uZywgLmJsb2NrLWNvbXBhcmUgLmJsb2NrLXRpdGxlID4gc3Ryb25nLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXJlc3VsdHMgLmJsb2NrLXRpdGxlID4gc3Ryb25nLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZC1pdGVtcyAuYmxvY2stdGl0bGUgPiBzdHJvbmcsIC5ibG9jay13aXNobGlzdC1zZWFyY2gtcmVzdWx0cyAuYmxvY2stdGl0bGUgPiBzdHJvbmcsIC5ibG9jay1yZW9yZGVyIC5ibG9jay10aXRsZSA+IHN0cm9uZywgLndpZGdldCAuYmxvY2stdGl0bGUgPiBzdHJvbmcsIC5ibG9jay13aXNobGlzdCAuYmxvY2stdGl0bGUgPiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjQyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjk1cmVtOyB9XG5cbi5hYnMtYWNjb3VudC1ibG9ja3MgLmJsb2NrLXRpdGxlID4gLmFjdGlvbiwgLmFjY291bnQgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLXRpdGxlID4gLmFjdGlvbiwgLm11bHRpY2hlY2tvdXQgLmJsb2NrLXRpdGxlID4gLmFjdGlvbiwgLnBheXBhbC1yZXZpZXcgLmJsb2NrIC5ibG9jay10aXRsZSA+IC5hY3Rpb24sIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay10aXRsZSA+IC5hY3Rpb24sIFtjbGFzc149J3NhbGVzLWd1ZXN0LSddIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay10aXRsZSA+IC5hY3Rpb24sIC5zYWxlcy1ndWVzdC12aWV3IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay10aXRsZSA+IC5hY3Rpb24ge1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4uYWJzLWFjY291bnQtYmxvY2tzIC5ib3gtdGl0bGUsIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ib3gtdGl0bGUsIC5tdWx0aWNoZWNrb3V0IC5ib3gtdGl0bGUsIC5wYXlwYWwtcmV2aWV3IC5ibG9jayAuYm94LXRpdGxlLCAubWFnZW50by1ybWEtZ3Vlc3QtcmV0dXJucyAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYm94LXRpdGxlLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYm94LXRpdGxlLCAuc2FsZXMtZ3Vlc3QtdmlldyAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYm94LXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCA0Ljc1cHg7IH1cbiAgLmFicy1hY2NvdW50LWJsb2NrcyAuYm94LXRpdGxlID4gc3BhbiwgLmFjY291bnQgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJveC10aXRsZSA+IHNwYW4sIC5tdWx0aWNoZWNrb3V0IC5ib3gtdGl0bGUgPiBzcGFuLCAucGF5cGFsLXJldmlldyAuYmxvY2sgLmJveC10aXRsZSA+IHNwYW4sIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ib3gtdGl0bGUgPiBzcGFuLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYm94LXRpdGxlID4gc3BhbiwgLnNhbGVzLWd1ZXN0LXZpZXcgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJveC10aXRsZSA+IHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjlyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS45cmVtOyB9XG4gIC5hYnMtYWNjb3VudC1ibG9ja3MgLmJveC10aXRsZSA+IC5hY3Rpb24sIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ib3gtdGl0bGUgPiAuYWN0aW9uLCAubXVsdGljaGVja291dCAuYm94LXRpdGxlID4gLmFjdGlvbiwgLnBheXBhbC1yZXZpZXcgLmJsb2NrIC5ib3gtdGl0bGUgPiAuYWN0aW9uLCAubWFnZW50by1ybWEtZ3Vlc3QtcmV0dXJucyAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYm94LXRpdGxlID4gLmFjdGlvbiwgW2NsYXNzXj0nc2FsZXMtZ3Vlc3QtJ10gLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJveC10aXRsZSA+IC5hY3Rpb24sIC5zYWxlcy1ndWVzdC12aWV3IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ib3gtdGl0bGUgPiAuYWN0aW9uIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1sZWZ0OiA5LjVweDsgfVxuXG4uYWJzLWFjY291bnQtYmxvY2tzIC5ibG9jay1jb250ZW50IHA6bGFzdC1jaGlsZCwgLmFjY291bnQgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgcDpsYXN0LWNoaWxkLCAubXVsdGljaGVja291dCAuYmxvY2stY29udGVudCBwOmxhc3QtY2hpbGQsIC5wYXlwYWwtcmV2aWV3IC5ibG9jayAuYmxvY2stY29udGVudCBwOmxhc3QtY2hpbGQsIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50IHA6bGFzdC1jaGlsZCwgW2NsYXNzXj0nc2FsZXMtZ3Vlc3QtJ10gLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgcDpsYXN0LWNoaWxkLCAuc2FsZXMtZ3Vlc3QtdmlldyAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5hYnMtYWNjb3VudC1ibG9ja3MgLmJsb2NrLWNvbnRlbnQgLmJveCwgLmFjY291bnQgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveCwgLm11bHRpY2hlY2tvdXQgLmJsb2NrLWNvbnRlbnQgLmJveCwgLnBheXBhbC1yZXZpZXcgLmJsb2NrIC5ibG9jay1jb250ZW50IC5ib3gsIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50IC5ib3gsIFtjbGFzc149J3NhbGVzLWd1ZXN0LSddIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50IC5ib3gsIC5zYWxlcy1ndWVzdC12aWV3IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50IC5ib3gge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG5cbi5hYnMtZHJvcGRvd24tc2ltcGxlLCAuZ2lmdHJlZ2lzdHktZHJvcGRvd24sIC53aXNobGlzdC1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hYnMtZHJvcGRvd24tc2ltcGxlOmJlZm9yZSwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duOmJlZm9yZSwgLndpc2hsaXN0LWRyb3Bkb3duOmJlZm9yZSwgLmFicy1kcm9wZG93bi1zaW1wbGU6YWZ0ZXIsIC5naWZ0cmVnaXN0eS1kcm9wZG93bjphZnRlciwgLndpc2hsaXN0LWRyb3Bkb3duOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYWJzLWRyb3Bkb3duLXNpbXBsZTphZnRlciwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duOmFmdGVyLCAud2lzaGxpc3QtZHJvcGRvd246YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hYnMtZHJvcGRvd24tc2ltcGxlIC5hY3Rpb24udG9nZ2xlLCAuZ2lmdHJlZ2lzdHktZHJvcGRvd24gLmFjdGlvbi50b2dnbGUsIC53aXNobGlzdC1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSAuYWN0aW9uLnRvZ2dsZTphZnRlciwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duIC5hY3Rpb24udG9nZ2xlOmFmdGVyLCAud2lzaGxpc3QtZHJvcGRvd24gLmFjdGlvbi50b2dnbGU6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbnRlbnQ6IFwi7piHXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSAuYWN0aW9uLnRvZ2dsZTpob3ZlcjphZnRlciwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duIC5hY3Rpb24udG9nZ2xlOmhvdmVyOmFmdGVyLCAud2lzaGxpc3QtZHJvcGRvd24gLmFjdGlvbi50b2dnbGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSAuYWN0aW9uLnRvZ2dsZTphY3RpdmU6YWZ0ZXIsIC5naWZ0cmVnaXN0eS1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZTphY3RpdmU6YWZ0ZXIsIC53aXNobGlzdC1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZTphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSAuYWN0aW9uLnRvZ2dsZS5hY3RpdmUsIC5naWZ0cmVnaXN0eS1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZS5hY3RpdmUsIC53aXNobGlzdC1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZS5hY3RpdmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWZ0ZXIsIC5naWZ0cmVnaXN0eS1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWZ0ZXIsIC53aXNobGlzdC1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwi7piYXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6aG92ZXI6YWZ0ZXIsIC5naWZ0cmVnaXN0eS1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6aG92ZXI6YWZ0ZXIsIC53aXNobGlzdC1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLmFicy1kcm9wZG93bi1zaW1wbGUgLmFjdGlvbi50b2dnbGUuYWN0aXZlOmFjdGl2ZTphZnRlciwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duIC5hY3Rpb24udG9nZ2xlLmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIC53aXNobGlzdC1kcm9wZG93biAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmFicy1kcm9wZG93bi1zaW1wbGUgdWwuZHJvcGRvd24sIC5naWZ0cmVnaXN0eS1kcm9wZG93biB1bC5kcm9wZG93biwgLndpc2hsaXN0LWRyb3Bkb3duIHVsLmRyb3Bkb3duIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2VmZWZlODtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IC00cHg7XG4gICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgLmFicy1kcm9wZG93bi1zaW1wbGUgdWwuZHJvcGRvd24gbGksIC5naWZ0cmVnaXN0eS1kcm9wZG93biB1bC5kcm9wZG93biBsaSwgLndpc2hsaXN0LWRyb3Bkb3duIHVsLmRyb3Bkb3duIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDIzcHg7IH1cbiAgICAgIC5hYnMtZHJvcGRvd24tc2ltcGxlIHVsLmRyb3Bkb3duIGxpOmhvdmVyLCAuZ2lmdHJlZ2lzdHktZHJvcGRvd24gdWwuZHJvcGRvd24gbGk6aG92ZXIsIC53aXNobGlzdC1kcm9wZG93biB1bC5kcm9wZG93biBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5hYnMtZHJvcGRvd24tc2ltcGxlIHVsLmRyb3Bkb3duOmJlZm9yZSwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duIHVsLmRyb3Bkb3duOmJlZm9yZSwgLndpc2hsaXN0LWRyb3Bkb3duIHVsLmRyb3Bkb3duOmJlZm9yZSwgLmFicy1kcm9wZG93bi1zaW1wbGUgdWwuZHJvcGRvd246YWZ0ZXIsIC5naWZ0cmVnaXN0eS1kcm9wZG93biB1bC5kcm9wZG93bjphZnRlciwgLndpc2hsaXN0LWRyb3Bkb3duIHVsLmRyb3Bkb3duOmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgLmFicy1kcm9wZG93bi1zaW1wbGUgdWwuZHJvcGRvd246YmVmb3JlLCAuZ2lmdHJlZ2lzdHktZHJvcGRvd24gdWwuZHJvcGRvd246YmVmb3JlLCAud2lzaGxpc3QtZHJvcGRvd24gdWwuZHJvcGRvd246YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogNnB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICAgICAgei1pbmRleDogOTk7IH1cbiAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSB1bC5kcm9wZG93bjphZnRlciwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duIHVsLmRyb3Bkb3duOmFmdGVyLCAud2lzaGxpc3QtZHJvcGRvd24gdWwuZHJvcGRvd246YWZ0ZXIge1xuICAgICAgYm9yZGVyOiA3cHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlZmVmZTggdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiA5ODsgfVxuICAgIC5hYnMtZHJvcGRvd24tc2ltcGxlIHVsLmRyb3Bkb3duOmJlZm9yZSwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duIHVsLmRyb3Bkb3duOmJlZm9yZSwgLndpc2hsaXN0LWRyb3Bkb3duIHVsLmRyb3Bkb3duOmJlZm9yZSB7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogLTEycHg7IH1cbiAgICAuYWJzLWRyb3Bkb3duLXNpbXBsZSB1bC5kcm9wZG93bjphZnRlciwgLmdpZnRyZWdpc3R5LWRyb3Bkb3duIHVsLmRyb3Bkb3duOmFmdGVyLCAud2lzaGxpc3QtZHJvcGRvd24gdWwuZHJvcGRvd246YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDlweDtcbiAgICAgIHRvcDogLTE0cHg7IH1cbiAgLmFicy1kcm9wZG93bi1zaW1wbGUuYWN0aXZlLCAuYWN0aXZlLmdpZnRyZWdpc3R5LWRyb3Bkb3duLCAuYWN0aXZlLndpc2hsaXN0LWRyb3Bkb3duIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC5hYnMtZHJvcGRvd24tc2ltcGxlLmFjdGl2ZSB1bC5kcm9wZG93biwgLmFjdGl2ZS5naWZ0cmVnaXN0eS1kcm9wZG93biB1bC5kcm9wZG93biwgLmFjdGl2ZS53aXNobGlzdC1kcm9wZG93biB1bC5kcm9wZG93biB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWJzLWlucHV0LXF0eSwgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLnF0eSAucXR5LCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5pbnB1dC10ZXh0LnF0eSwgLmNhcnQudGFibGUtd3JhcHBlciAuY29sLnF0eSAuaW5wdXQtdGV4dCwgLmFjY291bnQgLnRhYmxlLXJldHVybi1pdGVtcyAucXR5IC5pbnB1dC10ZXh0LCAudGFibGUtZ2lmdHJlZ2lzdHJ5LWl0ZW1zIC5maWVsZC5xdHkgLnF0eSwgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLnF0eSAucXR5LCAudGFibGUuZ3JvdXBlZCAuY29udHJvbCAucXR5LCAuYmxvY2std2lzaGxpc3QtaW5mby1pdGVtcyAuaW5wdXQtdGV4dC5xdHksIC5tdWx0aWNoZWNrb3V0IC50YWJsZS13cmFwcGVyIC5jb2wgLnF0eSAuaW5wdXQtdGV4dCwgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgLmJveC10b2NhcnQgLnF0eSwgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAuYm94LXRvY2FydCBpbnB1dC5xdHksIC5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuZmllbGRzZXQgLmZpZWxkcyAuZmllbGQucXR5IC5xdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA0N3B4OyB9XG5cbi5hYnMtbWFyZ2luLWZvci1ibG9ja3MtYW5kLXdpZGdldHMsIC5ibG9jaywgLnNpZGViYXIgLndpZGdldC5ibG9jazpub3QoOmxhc3QtY2hpbGQpLFxuLnNpZGViYXIgLndpZGdldDpub3QoOmxhc3QtY2hpbGQpLCAuYmxvY2stYmFubmVycyxcbi5ibG9jay1iYW5uZXJzLWlubGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDM4cHg7IH1cblxuLmFicy1yZW1vdmUtYnV0dG9uLWZvci1ibG9ja3MsIC5zaWRlYmFyIC5hY3Rpb24uZGVsZXRlLCAudGFibGUtY29tcGFyaXNvbiAuY2VsbC5yZW1vdmUgLmFjdGlvbi5kZWxldGUsIC5ibG9jay1jb21wYXJlIC5hY3Rpb24uZGVsZXRlLCAuZmlsdGVyZWQgLml0ZW0gLmFjdGlvbi5yZW1vdmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYWJzLXJlbW92ZS1idXR0b24tZm9yLWJsb2NrcyA+IHNwYW4sIC5zaWRlYmFyIC5hY3Rpb24uZGVsZXRlID4gc3BhbiwgLnRhYmxlLWNvbXBhcmlzb24gLmNlbGwucmVtb3ZlIC5hY3Rpb24uZGVsZXRlID4gc3BhbiwgLmJsb2NrLWNvbXBhcmUgLmFjdGlvbi5kZWxldGUgPiBzcGFuLCAuZmlsdGVyZWQgLml0ZW0gLmFjdGlvbi5yZW1vdmUgPiBzcGFuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC5hYnMtcmVtb3ZlLWJ1dHRvbi1mb3ItYmxvY2tzOmJlZm9yZSwgLnNpZGViYXIgLmFjdGlvbi5kZWxldGU6YmVmb3JlLCAudGFibGUtY29tcGFyaXNvbiAuY2VsbC5yZW1vdmUgLmFjdGlvbi5kZWxldGU6YmVmb3JlLCAuYmxvY2stY29tcGFyZSAuYWN0aW9uLmRlbGV0ZTpiZWZvcmUsIC5maWx0ZXJlZCAuaXRlbSAuYWN0aW9uLnJlbW92ZTpiZWZvcmUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgIGNvbG9yOiAjMzAzMDMwO1xuICAgIGNvbnRlbnQ6IFwi7piWXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYWJzLXJlbW92ZS1idXR0b24tZm9yLWJsb2Nrczpob3ZlcjpiZWZvcmUsIC5zaWRlYmFyIC5hY3Rpb24uZGVsZXRlOmhvdmVyOmJlZm9yZSwgLnRhYmxlLWNvbXBhcmlzb24gLmNlbGwucmVtb3ZlIC5hY3Rpb24uZGVsZXRlOmhvdmVyOmJlZm9yZSwgLmJsb2NrLWNvbXBhcmUgLmFjdGlvbi5kZWxldGU6aG92ZXI6YmVmb3JlLCAuZmlsdGVyZWQgLml0ZW0gLmFjdGlvbi5yZW1vdmU6aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzMwMzAzMDsgfVxuICAuYWJzLXJlbW92ZS1idXR0b24tZm9yLWJsb2NrczphY3RpdmU6YmVmb3JlLCAuc2lkZWJhciAuYWN0aW9uLmRlbGV0ZTphY3RpdmU6YmVmb3JlLCAudGFibGUtY29tcGFyaXNvbiAuY2VsbC5yZW1vdmUgLmFjdGlvbi5kZWxldGU6YWN0aXZlOmJlZm9yZSwgLmJsb2NrLWNvbXBhcmUgLmFjdGlvbi5kZWxldGU6YWN0aXZlOmJlZm9yZSwgLmZpbHRlcmVkIC5pdGVtIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMzAzMDMwOyB9XG5cbi5hYnMtcHJvZHVjdC1saW5rLCAucHJvZHVjdC5uYW1lIGEge1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5hYnMtcHJvZHVjdC1saW5rID4gYSwgLnByb2R1Y3QubmFtZSBhID4gYSB7XG4gICAgY29sb3I6ICMzYjRhNGI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFicy1wcm9kdWN0LWxpbmsgPiBhOnZpc2l0ZWQsIC5wcm9kdWN0Lm5hbWUgYSA+IGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hYnMtcHJvZHVjdC1saW5rID4gYTpob3ZlciwgLnByb2R1Y3QubmFtZSBhID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hYnMtcHJvZHVjdC1saW5rID4gYTphY3RpdmUsIC5wcm9kdWN0Lm5hbWUgYSA+IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hYnMtcmVzZXQtbGVmdC1tYXJnaW4sIC5mb3JtLmdpZnRyZWdpc3RyeS5pdGVtcyAuYWN0aW9ucy10b29sYmFyLCAuZm9ybS1uZXctYWdyZWVtZW50IC5hY3Rpb25zLXRvb2xiYXIsIC5maWVsZHNldCAucmV2aWV3LWxlZ2VuZC5sZWdlbmQsIC5mb3JtLndpc2hsaXN0Lml0ZW1zIC5hY3Rpb25zLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hYnMtcmVzZXQtbGVmdC1tYXJnaW4tZGVza3RvcCwgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAubGVnZW5kLnRpdGxlLCAuY29sdW1uLm1haW4gLmNhcnQtc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyLCAuY2FydC50YWJsZS13cmFwcGVyIC5pdGVtLWFjdGlvbnMgLmFjdGlvbnMtdG9vbGJhciwgLmdpZnQtc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyLFxuICAuY2FydC50YWJsZS13cmFwcGVyIC5naWZ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciwgLmNvbHVtbi5tYWluIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIsIC5mb3JtLW5ldy1hZ3JlZW1lbnQgLmZpZWxkc2V0IC5sZWdlbmQsIC5mb3JtLW5ldy1hZ3JlZW1lbnQgLmFjdGlvbnMtdG9vbGJhciwgLmNvbHVtbi5tYWluIC5wYXlwYWwtcmV2aWV3IC5hY3Rpb25zLXRvb2xiYXIsIC53aXNobGlzdC1pbmRleC1pbmRleCAubWFpbiAuZm9ybS13aXNobGlzdC1pdGVtcyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmFicy1yZXNldC1sZWZ0LW1hcmdpbi1kZXNrdG9wLXMsIC5jb2x1bW46bm90KC5zaWRlYmFyLW1haW4pIC5tdWx0aWNoZWNrb3V0IC5hY3Rpb25zLXRvb2xiYXIsIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1zaGlwcGluZyAuYm94LXNoaXBwaW5nLW1ldGhvZCAuZmllbGRzZXQgLmxlZ2VuZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uYWJzLWFjdGlvbi1yZW1vdmUsIC5hYnMtYWRkLWZpZWxkcyAuYWN0aW9uLnJlbW92ZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS1naWZ0cmVnaXN0cnktZWRpdCAuYWN0aW9uLnJlbW92ZSwgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS5zZW5kLmZyaWVuZCAuYWN0aW9uLnJlbW92ZSB7XG4gIGxlZnQ6IDkuNXB4O1xuICBtYXJnaW4tbGVmdDogNzAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzFweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWJzLWFjdGlvbi1yZW1vdmUtZGVza3RvcCwgLmFicy1hZGQtZmllbGRzLWRlc2t0b3AgLmZpZWxkc2V0IC5hZGRpdGlvbmFsIC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmZpZWxkc2V0IC5hZGRpdGlvbmFsIC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS1naWZ0cmVnaXN0cnktZWRpdCAuZmllbGRzZXQgLmFkZGl0aW9uYWwgLmFjdGlvbi5yZW1vdmUsIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuZmllbGRzZXQgLmFkZGl0aW9uYWwgLmFjdGlvbi5yZW1vdmUsIC5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkc2V0IC5hZGRpdGlvbmFsIC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS5zZW5kLmZyaWVuZCAuZmllbGRzZXQgLmFkZGl0aW9uYWwgLmFjdGlvbi5yZW1vdmUge1xuICAgIG1hcmdpbi1sZWZ0OiA3NS44JTtcbiAgICB0b3A6IDZweDsgfSB9XG5cbi5hYnMtYWRkLWZpZWxkcyAuZmllbGRzZXQsIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuZmllbGRzZXQsIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5maWVsZHNldCwgLmZvcm0tYWRkLWludml0YXRpb25zIC5maWVsZHNldCwgLmZvcm0tY3JlYXRlLXJldHVybiAuZmllbGRzZXQsIC5mb3JtLnNlbmQuZnJpZW5kIC5maWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmFicy1hZGQtZmllbGRzIC5maWVsZHNldCAuZmllbGQ6bm90KC5jaG9pY2UpIC5jb250cm9sLCAuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmZpZWxkc2V0IC5maWVsZDpub3QoLmNob2ljZSkgLmNvbnRyb2wsIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5maWVsZHNldCAuZmllbGQ6bm90KC5jaG9pY2UpIC5jb250cm9sLCAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmZpZWxkc2V0IC5maWVsZDpub3QoLmNob2ljZSkgLmNvbnRyb2wsIC5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkc2V0IC5maWVsZDpub3QoLmNob2ljZSkgLmNvbnRyb2wsIC5mb3JtLnNlbmQuZnJpZW5kIC5maWVsZHNldCAuZmllbGQ6bm90KC5jaG9pY2UpIC5jb250cm9sIHtcbiAgICB3aWR0aDogNzAlOyB9XG4gIC5hYnMtYWRkLWZpZWxkcyAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKSA+IC5zZWNvbmRhcnksIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKSA+IC5zZWNvbmRhcnksIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpID4gLnNlY29uZGFyeSwgLmZvcm0tYWRkLWludml0YXRpb25zIC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpID4gLnNlY29uZGFyeSwgLmZvcm0tY3JlYXRlLXJldHVybiAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKSA+IC5zZWNvbmRhcnksIC5mb3JtLnNlbmQuZnJpZW5kIC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpID4gLnNlY29uZGFyeSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuYWJzLWFkZC1maWVsZHMgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCkgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYWRkLCAuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCkgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYWRkLCAuZm9ybS1naWZ0cmVnaXN0cnktZWRpdCAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKSA+IC5zZWNvbmRhcnkgLmFjdGlvbi5hZGQsIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKSA+IC5zZWNvbmRhcnkgLmFjdGlvbi5hZGQsIC5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCkgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYWRkLCAuZm9ybS5zZW5kLmZyaWVuZCAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKSA+IC5zZWNvbmRhcnkgLmFjdGlvbi5hZGQge1xuICAgICAgbWFyZ2luLXRvcDogMjguNXB4OyB9XG4gIC5hYnMtYWRkLWZpZWxkcyAuZmllbGRzZXQgLmZpZWxkcyAuYWN0aW9ucy10b29sYmFyLCAuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmZpZWxkc2V0IC5maWVsZHMgLmFjdGlvbnMtdG9vbGJhciwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmZpZWxkc2V0IC5maWVsZHMgLmFjdGlvbnMtdG9vbGJhciwgLmZvcm0tYWRkLWludml0YXRpb25zIC5maWVsZHNldCAuZmllbGRzIC5hY3Rpb25zLXRvb2xiYXIsIC5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkc2V0IC5maWVsZHMgLmFjdGlvbnMtdG9vbGJhciwgLmZvcm0uc2VuZC5mcmllbmQgLmZpZWxkc2V0IC5maWVsZHMgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hYnMtYWRkLWZpZWxkcyAubWVzc2FnZS5ub3RpY2UsIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAubWVzc2FnZS5ub3RpY2UsIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5tZXNzYWdlLm5vdGljZSwgLmZvcm0tYWRkLWludml0YXRpb25zIC5tZXNzYWdlLm5vdGljZSwgLmZvcm0tY3JlYXRlLXJldHVybiAubWVzc2FnZS5ub3RpY2UsIC5mb3JtLnNlbmQuZnJpZW5kIC5tZXNzYWdlLm5vdGljZSB7XG4gIG1hcmdpbjogMjguNXB4IDAgMDsgfVxuXG4uYWJzLWFkZC1maWVsZHMgLmFkZGl0aW9uYWwsIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuYWRkaXRpb25hbCwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmFkZGl0aW9uYWwsIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuYWRkaXRpb25hbCwgLmZvcm0tY3JlYXRlLXJldHVybiAuYWRkaXRpb25hbCwgLmZvcm0uc2VuZC5mcmllbmQgLmFkZGl0aW9uYWwge1xuICBtYXJnaW4tdG9wOiA1NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWJzLWFkZC1maWVsZHMtZGVza3RvcCAuZmllbGRzZXQgLmZpZWxkOm5vdCguY2hvaWNlKSAuY29udHJvbCwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5maWVsZHNldCAuZmllbGQ6bm90KC5jaG9pY2UpIC5jb250cm9sLCAuZm9ybS1naWZ0cmVnaXN0cnktZWRpdCAuZmllbGRzZXQgLmZpZWxkOm5vdCguY2hvaWNlKSAuY29udHJvbCwgLmZvcm0tYWRkLWludml0YXRpb25zIC5maWVsZHNldCAuZmllbGQ6bm90KC5jaG9pY2UpIC5jb250cm9sLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5maWVsZHNldCAuZmllbGQ6bm90KC5jaG9pY2UpIC5jb250cm9sLCAuZm9ybS5zZW5kLmZyaWVuZCAuZmllbGRzZXQgLmZpZWxkOm5vdCguY2hvaWNlKSAuY29udHJvbCB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFicy1tYXJnaW4tZm9yLWZvcm1zLWRlc2t0b3AsIC5jb2x1bW46bm90KC5zaWRlYmFyLWFkZGl0aW9uYWwpIGZvcm0gLmFjdGlvbnMtdG9vbGJhcixcbiAgLmNvbHVtbjpub3QoLnNpZGViYXItbWFpbikgZm9ybSAuYWN0aW9ucy10b29sYmFyLCAuZmllbGRzZXQgLmxlZ2VuZCwgLmxvZ2luLWNvbnRhaW5lciAuZmllbGRzZXQ6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNS44JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmFicy1tYXJnaW4tZm9yLWZvcm1zLWRlc2t0b3AtcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1LjglOyB9IH1cblxuLmFicy1oaWRkZW4sIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5vcmRlci1pdGVtcyAub3JkZXItZ2lmdC1tZXNzYWdlOm5vdCguZXhwYW5kZWQtY29udGVudCkge1xuICBoZWlnaHQ6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uYWJzLXZpc3VhbGx5LWhpZGRlbiwgLmZpZWxkc2V0ID4gLmZpZWxkLm5vLWxhYmVsID4gLmxhYmVsLFxuLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZC5uby1sYWJlbCA+IC5sYWJlbCwgLnRhYmxlLWNvbXBhcmlzb24gLmNlbGwubGFiZWwucmVtb3ZlIHNwYW4sXG4udGFibGUtY29tcGFyaXNvbiAuY2VsbC5sYWJlbC5wcm9kdWN0IHNwYW4sIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNvbC5xdHkgLmxhYmVsLCAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IC5jb3VudGVyLWxhYmVsLCAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnBhZ2UtdGl0bGUtd3JhcHBlciwgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5maWVsZC1zZWxlY3QtYmlsbGluZyA+IC5sYWJlbCwgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50cyAubGVnZW5kLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNjYXJkIC5sZWdlbmQsIC5maWVsZHNldCAuZnVsbG5hbWUuZmllbGQgPiAubGFiZWwsIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAubGltaXRlciA+IC5sYWJlbCwgLmZpZWxkLnN0cmVldCAuZmllbGQuYWRkaXRpb25hbCAubGFiZWwsIC5hY2NvdW50LW5hdiAudGl0bGUsIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciAuZmllbGRzZXQgLmxlZ2VuZC5saW5rcy10aXRsZSwgLnBhZ2UtcHJvZHVjdC1naWZ0Y2FyZCAuZmllbGRzZXQuZ2lmdGNhcmQgPiAubGVnZW5kLCAub3BjLXdyYXBwZXIgLmZvcm0tZ2lmdGNhcmQtYWNjb3VudCAuZmllbGQgLmxhYmVsLCAuZmlsdGVyLW9wdGlvbnMtY29udGVudCAuZmlsdGVyLWNvdW50LWxhYmVsLCAuYmxvY2std2lzaGxpc3Qtc2VhcmNoLWZvcm0gLmZvcm0td2lzaGxpc3Qtc2VhcmNoIC5maWVsZHNldCA+IC5sZWdlbmQsIC5wYWdlLW11bHRpcGxlLXdpc2hsaXN0IC5wYWdlLXRpdGxlLXdyYXBwZXIgLnBhZ2UtdGl0bGUsIC5tdWx0aWNoZWNrb3V0IC50YWJsZS13cmFwcGVyIC5jb2wgLmxhYmVsLCAubXVsdGljaGVja291dCAuYmxvY2sgLm1ldGhvZHMtc2hpcHBpbmcgLml0ZW0tY29udGVudCAuZmllbGRzZXQgPiAubGVnZW5kLCAuYmxvY2submV3c2xldHRlciAubGFiZWwsIC5ibG9jay1yZW9yZGVyIC5wcm9kdWN0LWl0ZW0gLmxhYmVsLCAub3BjLXdyYXBwZXIgLmZvcm0tZGlzY291bnQgLmZpZWxkIC5sYWJlbCwgLmFjdGlvbi5za2lwOm5vdCg6Zm9jdXMpLCAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5sYWJlbCxcbi5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLmxhYmVsLCAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIC5jb21tZW50LWJveCAubGFiZWwge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5hYnMtdmlzdWFsbHktaGlkZGVuLW1vYmlsZSwgLnRhYmxlLWdpZnRyZWdpc3RyeS1pdGVtcyAuY29sLnByb2R1Y3Q6YmVmb3JlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYWJzLXZpc3VhbGx5LWhpZGRlbi1tb2JpbGUtbSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmFicy12aXN1YWxseS1oaWRkZW4tZGVza3RvcC1zIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWJzLXZpc3VhbGx5LWhpZGRlbi1kZXNrdG9wLCAubW9kZXMtbGFiZWwsIC5ibG9jay1zZWFyY2ggLmxhYmVsLCAuZGFzaGJvYXJkLXdlbGNvbWUtdG9nZ2xlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfSB9XG5cbi5hYnMtdmlzdWFsbHktaGlkZGVuLXJlc2V0LCAuc2hpcHBpbmctcG9saWN5LWJsb2NrLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHNwYW4ge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5hYnMtYWRkLWNsZWFyZml4OmJlZm9yZSwgLmFicy1hZGQtZmllbGRzIC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLCAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwgLmZvcm0uc2VuZC5mcmllbmQgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLCAucGF5bWVudC1tZXRob2QtYnJhaW50cmVlIC5ob3N0ZWQtZGF0ZS13cmFwOmJlZm9yZSwgLnNpZGViYXIgLnByb2R1Y3QtaXRlbXMtaW1hZ2VzOmJlZm9yZSwgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9ucy10b29sYmFyOmJlZm9yZSwgLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbS1vcHRpb25zOmJlZm9yZSwgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gPiAucHJvZHVjdDpiZWZvcmUsIC5jaGVja291dC1jb250YWluZXI6YmVmb3JlLCAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzOmJlZm9yZSwgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlcjpiZWZvcmUsIC5vcGMtd3JhcHBlciAuZmllbGQuYWRkcmVzc2VzOmJlZm9yZSwgLmZpZWxkc2V0IC5mdWxsbmFtZSAuZmllbGQ6YmVmb3JlLCAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAucHJvZHVjdC1hZGQtZm9ybTpiZWZvcmUsIC5naWZ0LW9wdGlvbnM6YmVmb3JlLCAuZ2lmdC1pdGVtLWJsb2NrIC5jb250ZW50OmJlZm9yZSwgLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLWdpZnQtbWVzc2FnZTpiZWZvcmUsXG4ub3JkZXItZGV0YWlscy1pdGVtcyAuYmxvY2stb3JkZXItZGV0YWlscy1naWZ0LW1lc3NhZ2U6YmVmb3JlLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZC1pdGVtcyAucHJvZHVjdCAuaXRlbS1vcHRpb25zOmJlZm9yZSwgLmdpZnQtd3JhcHBpbmctbGlzdDpiZWZvcmUsIC5vcGMtd3JhcHBlciAuZGF0YS50YWJsZSAuZ2lmdC13cmFwcGluZzpiZWZvcmUsXG4udGFibGUtb3JkZXItaXRlbXMgLmdpZnQtd3JhcHBpbmc6YmVmb3JlLFxuLnRhYmxlLW9yZGVyLXJldmlldyAuZ2lmdC13cmFwcGluZzpiZWZvcmUsIC5vcmRlci1vcHRpb25zIC5wcm9kdWN0OmJlZm9yZSwgLm1hcC1wb3B1cCAubWFwLWluZm8tcHJpY2U6YmVmb3JlLCAubXVsdGljaGVja291dCAuaXRlbS1vcHRpb25zOmJlZm9yZSwgLm11bHRpY2hlY2tvdXQgLmJsb2NrOmJlZm9yZSwgLm11bHRpY2hlY2tvdXQgLmJsb2NrLWNvbnRlbnQ6YmVmb3JlLCAuY3VzdG9tZXItcmV2aWV3IC5wcm9kdWN0LWRldGFpbHM6YmVmb3JlLCAuaGVhZGVyLmNvbnRlbnQ6YmVmb3JlLCAuYWJzLWFkZC1jbGVhcmZpeDphZnRlciwgLmFicy1hZGQtZmllbGRzIC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpOmFmdGVyLCAuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YWZ0ZXIsIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpOmFmdGVyLCAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YWZ0ZXIsIC5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YWZ0ZXIsIC5mb3JtLnNlbmQuZnJpZW5kIC5maWVsZHNldCAuYWN0aW9ucy10b29sYmFyOm5vdCg6Zmlyc3QtY2hpbGQpOmFmdGVyLCAucGF5bWVudC1tZXRob2QtYnJhaW50cmVlIC5ob3N0ZWQtZGF0ZS13cmFwOmFmdGVyLCAuc2lkZWJhciAucHJvZHVjdC1pdGVtcy1pbWFnZXM6YWZ0ZXIsIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbnMtdG9vbGJhcjphZnRlciwgLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbS1vcHRpb25zOmFmdGVyLCAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbSA+IC5wcm9kdWN0OmFmdGVyLCAuY2hlY2tvdXQtY29udGFpbmVyOmFmdGVyLCAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzOmFmdGVyLCAub3BjLWVzdGltYXRlZC13cmFwcGVyOmFmdGVyLCAub3BjLXdyYXBwZXIgLmZpZWxkLmFkZHJlc3NlczphZnRlciwgLmZpZWxkc2V0IC5mdWxsbmFtZSAuZmllbGQ6YWZ0ZXIsIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5wcm9kdWN0LWFkZC1mb3JtOmFmdGVyLCAuZ2lmdC1vcHRpb25zOmFmdGVyLCAuZ2lmdC1pdGVtLWJsb2NrIC5jb250ZW50OmFmdGVyLCAub3JkZXItZGV0YWlscy1pdGVtcyAub3JkZXItZ2lmdC1tZXNzYWdlOmFmdGVyLFxuLm9yZGVyLWRldGFpbHMtaXRlbXMgLmJsb2NrLW9yZGVyLWRldGFpbHMtZ2lmdC1tZXNzYWdlOmFmdGVyLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZC1pdGVtcyAucHJvZHVjdCAuaXRlbS1vcHRpb25zOmFmdGVyLCAuZ2lmdC13cmFwcGluZy1saXN0OmFmdGVyLCAub3BjLXdyYXBwZXIgLmRhdGEudGFibGUgLmdpZnQtd3JhcHBpbmc6YWZ0ZXIsXG4udGFibGUtb3JkZXItaXRlbXMgLmdpZnQtd3JhcHBpbmc6YWZ0ZXIsXG4udGFibGUtb3JkZXItcmV2aWV3IC5naWZ0LXdyYXBwaW5nOmFmdGVyLCAub3JkZXItb3B0aW9ucyAucHJvZHVjdDphZnRlciwgLm1hcC1wb3B1cCAubWFwLWluZm8tcHJpY2U6YWZ0ZXIsIC5tdWx0aWNoZWNrb3V0IC5pdGVtLW9wdGlvbnM6YWZ0ZXIsIC5tdWx0aWNoZWNrb3V0IC5ibG9jazphZnRlciwgLm11bHRpY2hlY2tvdXQgLmJsb2NrLWNvbnRlbnQ6YWZ0ZXIsIC5jdXN0b21lci1yZXZpZXcgLnByb2R1Y3QtZGV0YWlsczphZnRlciwgLmhlYWRlci5jb250ZW50OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5hYnMtYWRkLWNsZWFyZml4OmFmdGVyLCAuYWJzLWFkZC1maWVsZHMgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YWZ0ZXIsIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKTphZnRlciwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YWZ0ZXIsIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKTphZnRlciwgLmZvcm0tY3JlYXRlLXJldHVybiAuZmllbGRzZXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmZpcnN0LWNoaWxkKTphZnRlciwgLmZvcm0uc2VuZC5mcmllbmQgLmZpZWxkc2V0IC5hY3Rpb25zLXRvb2xiYXI6bm90KDpmaXJzdC1jaGlsZCk6YWZ0ZXIsIC5wYXltZW50LW1ldGhvZC1icmFpbnRyZWUgLmhvc3RlZC1kYXRlLXdyYXA6YWZ0ZXIsIC5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zLWltYWdlczphZnRlciwgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9ucy10b29sYmFyOmFmdGVyLCAuY2FydC50YWJsZS13cmFwcGVyIC5pdGVtLW9wdGlvbnM6YWZ0ZXIsIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtID4gLnByb2R1Y3Q6YWZ0ZXIsIC5jaGVja291dC1jb250YWluZXI6YWZ0ZXIsIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3M6YWZ0ZXIsIC5vcGMtZXN0aW1hdGVkLXdyYXBwZXI6YWZ0ZXIsIC5vcGMtd3JhcHBlciAuZmllbGQuYWRkcmVzc2VzOmFmdGVyLCAuZmllbGRzZXQgLmZ1bGxuYW1lIC5maWVsZDphZnRlciwgLnBhZ2UtcHJvZHVjdC1kb3dubG9hZGFibGUgLnByb2R1Y3QtYWRkLWZvcm06YWZ0ZXIsIC5naWZ0LW9wdGlvbnM6YWZ0ZXIsIC5naWZ0LWl0ZW0tYmxvY2sgLmNvbnRlbnQ6YWZ0ZXIsIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5vcmRlci1naWZ0LW1lc3NhZ2U6YWZ0ZXIsXG4ub3JkZXItZGV0YWlscy1pdGVtcyAuYmxvY2stb3JkZXItZGV0YWlscy1naWZ0LW1lc3NhZ2U6YWZ0ZXIsIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5wcm9kdWN0IC5pdGVtLW9wdGlvbnM6YWZ0ZXIsIC5naWZ0LXdyYXBwaW5nLWxpc3Q6YWZ0ZXIsIC5vcGMtd3JhcHBlciAuZGF0YS50YWJsZSAuZ2lmdC13cmFwcGluZzphZnRlcixcbi50YWJsZS1vcmRlci1pdGVtcyAuZ2lmdC13cmFwcGluZzphZnRlcixcbi50YWJsZS1vcmRlci1yZXZpZXcgLmdpZnQtd3JhcHBpbmc6YWZ0ZXIsIC5vcmRlci1vcHRpb25zIC5wcm9kdWN0OmFmdGVyLCAubWFwLXBvcHVwIC5tYXAtaW5mby1wcmljZTphZnRlciwgLm11bHRpY2hlY2tvdXQgLml0ZW0tb3B0aW9uczphZnRlciwgLm11bHRpY2hlY2tvdXQgLmJsb2NrOmFmdGVyLCAubXVsdGljaGVja291dCAuYmxvY2stY29udGVudDphZnRlciwgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1kZXRhaWxzOmFmdGVyLCAuaGVhZGVyLmNvbnRlbnQ6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A6YmVmb3JlLCAuYWJzLXBhZ2VyLXRvb2xiYXI6YmVmb3JlLCAuYWNjb3VudCAudG9vbGJhcjpiZWZvcmUsIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzOmJlZm9yZSwgLnRvb2xiYXItd2lzaGxpc3QtcmVzdWx0czpiZWZvcmUsIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5ibG9jay1jb250ZW50OmJlZm9yZSwgLmJsb2NrLWNhcnQtZmFpbGVkIC5ibG9jay1jb250ZW50OmJlZm9yZSwgLmNhcnQtY29udGFpbmVyOmJlZm9yZSwgLmxvZ2luLWNvbnRhaW5lcjpiZWZvcmUsIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50OmJlZm9yZSwgLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXM6YmVmb3JlLCAuYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZCAuaXRlbS1vcHRpb25zOmJlZm9yZSwgLmdpZnQtd3JhcHBpbmcgLm5lc3RlZDpiZWZvcmUsIC50YWJsZSAuZ2lmdC13cmFwcGluZyAuY29udGVudDpiZWZvcmUsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50OmJlZm9yZSwgLnBheXBhbC1yZXZpZXcgLmJsb2NrLWNvbnRlbnQ6YmVmb3JlLCAubWFnZW50by1ybWEtZ3Vlc3QtcmV0dXJucyAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudDpiZWZvcmUsIFtjbGFzc149J3NhbGVzLWd1ZXN0LSddIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50OmJlZm9yZSxcbiAgLnNhbGVzLWd1ZXN0LXZpZXcgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQ6YmVmb3JlLCAuaGVhZGVyLmNvbnRlbnQ6YmVmb3JlLCAucGFnZS1oZWFkZXIgLmhlYWRlci5wYW5lbDpiZWZvcmUsIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A6YWZ0ZXIsIC5hYnMtcGFnZXItdG9vbGJhcjphZnRlciwgLmFjY291bnQgLnRvb2xiYXI6YWZ0ZXIsIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzOmFmdGVyLCAudG9vbGJhci13aXNobGlzdC1yZXN1bHRzOmFmdGVyLCAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudDphZnRlciwgLmJsb2NrLWNhcnQtZmFpbGVkIC5ibG9jay1jb250ZW50OmFmdGVyLCAuY2FydC1jb250YWluZXI6YWZ0ZXIsIC5sb2dpbi1jb250YWluZXI6YWZ0ZXIsIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50OmFmdGVyLCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlczphZnRlciwgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQgLml0ZW0tb3B0aW9uczphZnRlciwgLmdpZnQtd3JhcHBpbmcgLm5lc3RlZDphZnRlciwgLnRhYmxlIC5naWZ0LXdyYXBwaW5nIC5jb250ZW50OmFmdGVyLCAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudDphZnRlciwgLnBheXBhbC1yZXZpZXcgLmJsb2NrLWNvbnRlbnQ6YWZ0ZXIsIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50OmFmdGVyLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudDphZnRlcixcbiAgLnNhbGVzLWd1ZXN0LXZpZXcgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQ6YWZ0ZXIsIC5oZWFkZXIuY29udGVudDphZnRlciwgLnBhZ2UtaGVhZGVyIC5oZWFkZXIucGFuZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A6YWZ0ZXIsIC5hYnMtcGFnZXItdG9vbGJhcjphZnRlciwgLmFjY291bnQgLnRvb2xiYXI6YWZ0ZXIsIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzOmFmdGVyLCAudG9vbGJhci13aXNobGlzdC1yZXN1bHRzOmFmdGVyLCAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudDphZnRlciwgLmJsb2NrLWNhcnQtZmFpbGVkIC5ibG9jay1jb250ZW50OmFmdGVyLCAuY2FydC1jb250YWluZXI6YWZ0ZXIsIC5sb2dpbi1jb250YWluZXI6YWZ0ZXIsIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50OmFmdGVyLCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlczphZnRlciwgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQgLml0ZW0tb3B0aW9uczphZnRlciwgLmdpZnQtd3JhcHBpbmcgLm5lc3RlZDphZnRlciwgLnRhYmxlIC5naWZ0LXdyYXBwaW5nIC5jb250ZW50OmFmdGVyLCAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudDphZnRlciwgLnBheXBhbC1yZXZpZXcgLmJsb2NrLWNvbnRlbnQ6YWZ0ZXIsIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50OmFmdGVyLCBbY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAuY29sdW1uLm1haW4gLmJsb2NrOm5vdCgud2lkZ2V0KSAuYmxvY2stY29udGVudDphZnRlcixcbiAgLnNhbGVzLWd1ZXN0LXZpZXcgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQ6YWZ0ZXIsIC5oZWFkZXIuY29udGVudDphZnRlciwgLnBhZ2UtaGVhZGVyIC5oZWFkZXIucGFuZWw6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wLXM6YmVmb3JlLCAubXVsdGljaGVja291dCAuYmxvY2stYmlsbGluZzpiZWZvcmUsIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3AtczphZnRlciwgLm11bHRpY2hlY2tvdXQgLmJsb2NrLWJpbGxpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3AtczphZnRlciwgLm11bHRpY2hlY2tvdXQgLmJsb2NrLWJpbGxpbmc6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGU6YmVmb3JlLCAuYWJzLWNoZWNrb3V0LW9yZGVyLXJldmlldyB0Ym9keSB0cjpiZWZvcmUsIC5tdWx0aWNoZWNrb3V0Lm9yZGVyLXJldmlldyAuZGF0YS50YWJsZSB0Ym9keSB0cjpiZWZvcmUsIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSB0Zm9vdCB0cjpiZWZvcmUsIC50YWJsZS1naWZ0cmVnaXN0cnktaXRlbXMgLmNvbC5wcm9kdWN0OmJlZm9yZSwgLmFjY291bnQgLnRvb2xiYXI6YmVmb3JlLCAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGU6YWZ0ZXIsIC5hYnMtY2hlY2tvdXQtb3JkZXItcmV2aWV3IHRib2R5IHRyOmFmdGVyLCAubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmRhdGEudGFibGUgdGJvZHkgdHI6YWZ0ZXIsIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSB0Zm9vdCB0cjphZnRlciwgLnRhYmxlLWdpZnRyZWdpc3RyeS1pdGVtcyAuY29sLnByb2R1Y3Q6YWZ0ZXIsIC5hY2NvdW50IC50b29sYmFyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGU6YWZ0ZXIsIC5hYnMtY2hlY2tvdXQtb3JkZXItcmV2aWV3IHRib2R5IHRyOmFmdGVyLCAubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmRhdGEudGFibGUgdGJvZHkgdHI6YWZ0ZXIsIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSB0Zm9vdCB0cjphZnRlciwgLnRhYmxlLWdpZnRyZWdpc3RyeS1pdGVtcyAuY29sLnByb2R1Y3Q6YWZ0ZXIsIC5hY2NvdW50IC50b29sYmFyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFicy1hZGQtY2xlYXJmaXgtbW9iaWxlLW06YmVmb3JlLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5maWVsZHNldCA+IC5hY3Rpb25zLXRvb2xiYXI6YmVmb3JlLCAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGUtbTphZnRlciwgLmZvcm0tY3JlYXRlLXJldHVybiAuZmllbGRzZXQgPiAuYWN0aW9ucy10b29sYmFyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGUtbTphZnRlciwgLmZvcm0tY3JlYXRlLXJldHVybiAuZmllbGRzZXQgPiAuYWN0aW9ucy10b29sYmFyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfSB9XG5cbi5hYnMtYWRkLWJveC1zaXppbmcsIC5hYnMtZmllbGQtZGF0ZSAuY29udHJvbCwgLmZpZWxkLmRhdGUgLmNvbnRyb2wsIC5hYnMtZmllbGQtdG9vbHRpcCwgLmZpZWxkIC5jb250cm9sLl93aXRoLXRvb2x0aXAsIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5za3UsIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5LCAuc2lkZWJhciAucHJvZHVjdC1pdGVtcy1pbWFnZXMgLnByb2R1Y3QtaXRlbSwgLnNlYXJjaC1hdXRvY29tcGxldGUsIC5jYXJ0LXN1bW1hcnksIC5vcGMtd3JhcHBlciAuc2hpcHBpbmctYWRkcmVzcy1pdGVtLCAuc2hpcHBpbmctcG9saWN5LWJsb2NrLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudCwgLm9wYy1ibG9jay1zdW1tYXJ5LCAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmZpZWxkc2V0IC5maWVsZHMgLmZpZWxkLnNrdSwgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLnNob3cge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFicy1hZGQtYm94LXNpemluZy1kZXNrdG9wIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYWJzLWFkZC1ib3gtc2l6aW5nLWRlc2t0b3AtcywgLm11bHRpY2hlY2tvdXQgLmJsb2NrLXNoaXBwaW5nIC5ib3gsIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1iaWxsaW5nIC5ib3gtYmlsbGluZy1hZGRyZXNzLCAubXVsdGljaGVja291dCAuYmxvY2stYmlsbGluZyAuYm94LWJpbGxpbmctbWV0aG9kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWJzLWFkZC1ib3gtc2l6aW5nLWRlc2t0b3AtbSwgLm9wYy13cmFwcGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWJzLXJldmVydC1maWVsZC10eXBlLWRlc2t0b3AgLmZpZWxkc2V0ID4gLmZpZWxkLCAucHJvZHVjdC1hZGQtZm9ybSAuZmllbGRzZXQgPiAuZmllbGQsXG4gIC5hYnMtcmV2ZXJ0LWZpZWxkLXR5cGUtZGVza3RvcCAuZmllbGRzZXQgLmZpZWxkcyA+IC5maWVsZCxcbiAgLnByb2R1Y3QtYWRkLWZvcm0gLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQge1xuICAgIG1hcmdpbjogMCAwIDE5cHg7IH1cbiAgICAuYWJzLXJldmVydC1maWVsZC10eXBlLWRlc2t0b3AgLmZpZWxkc2V0ID4gLmZpZWxkOm5vdCguY2hvaWNlKSA+IC5sYWJlbCwgLnByb2R1Y3QtYWRkLWZvcm0gLmZpZWxkc2V0ID4gLmZpZWxkOm5vdCguY2hvaWNlKSA+IC5sYWJlbCxcbiAgICAuYWJzLXJldmVydC1maWVsZC10eXBlLWRlc2t0b3AgLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQ6bm90KC5jaG9pY2UpID4gLmxhYmVsLFxuICAgIC5wcm9kdWN0LWFkZC1mb3JtIC5maWVsZHNldCAuZmllbGRzID4gLmZpZWxkOm5vdCguY2hvaWNlKSA+IC5sYWJlbCB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5hYnMtcmV2ZXJ0LWZpZWxkLXR5cGUtZGVza3RvcCAuZmllbGRzZXQgPiAuZmllbGQ6bm90KC5jaG9pY2UpID4gLmNvbnRyb2wsIC5wcm9kdWN0LWFkZC1mb3JtIC5maWVsZHNldCA+IC5maWVsZDpub3QoLmNob2ljZSkgPiAuY29udHJvbCxcbiAgICAuYWJzLXJldmVydC1maWVsZC10eXBlLWRlc2t0b3AgLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQ6bm90KC5jaG9pY2UpID4gLmNvbnRyb2wsXG4gICAgLnByb2R1Y3QtYWRkLWZvcm0gLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQ6bm90KC5jaG9pY2UpID4gLmNvbnRyb2wge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5hYnMtcmV2ZXJ0LWZpZWxkLXR5cGUtZGVza3RvcCAuZmllbGRzZXQgPiAuZmllbGQgPiAubGFiZWwsIC5wcm9kdWN0LWFkZC1mb3JtIC5maWVsZHNldCA+IC5maWVsZCA+IC5sYWJlbCxcbiAgICAuYWJzLXJldmVydC1maWVsZC10eXBlLWRlc2t0b3AgLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQgPiAubGFiZWwsXG4gICAgLnByb2R1Y3QtYWRkLWZvcm0gLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQgPiAubGFiZWwge1xuICAgICAgbWFyZ2luOiAwIDAgNC43NXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmFicy1yZXZlcnQtZmllbGQtdHlwZS1kZXNrdG9wIC5maWVsZHNldCA+IC5maWVsZC5jaG9pY2U6YmVmb3JlLCAucHJvZHVjdC1hZGQtZm9ybSAuZmllbGRzZXQgPiAuZmllbGQuY2hvaWNlOmJlZm9yZSwgLmFicy1yZXZlcnQtZmllbGQtdHlwZS1kZXNrdG9wIC5maWVsZHNldCA+IC5maWVsZC5uby1sYWJlbDpiZWZvcmUsIC5wcm9kdWN0LWFkZC1mb3JtIC5maWVsZHNldCA+IC5maWVsZC5uby1sYWJlbDpiZWZvcmUsXG4gICAgLmFicy1yZXZlcnQtZmllbGQtdHlwZS1kZXNrdG9wIC5maWVsZHNldCAuZmllbGRzID4gLmZpZWxkLmNob2ljZTpiZWZvcmUsXG4gICAgLnByb2R1Y3QtYWRkLWZvcm0gLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQuY2hvaWNlOmJlZm9yZSxcbiAgICAuYWJzLXJldmVydC1maWVsZC10eXBlLWRlc2t0b3AgLmZpZWxkc2V0IC5maWVsZHMgPiAuZmllbGQubm8tbGFiZWw6YmVmb3JlLFxuICAgIC5wcm9kdWN0LWFkZC1mb3JtIC5maWVsZHNldCAuZmllbGRzID4gLmZpZWxkLm5vLWxhYmVsOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmFicy1yZXZlcnQtZmllbGQtdHlwZS1kZXNrdG9wIC5maWVsZHNldCA+IC5maWVsZDpub3QoOmZpcnN0LWNoaWxkKTpsYXN0LW9mLXR5cGUsIC5wcm9kdWN0LWFkZC1mb3JtIC5maWVsZHNldCA+IC5maWVsZDpub3QoOmZpcnN0LWNoaWxkKTpsYXN0LW9mLXR5cGUsXG4gICAgLmFicy1yZXZlcnQtZmllbGQtdHlwZS1kZXNrdG9wIC5maWVsZHNldCAuZmllbGRzID4gLmZpZWxkOm5vdCg6Zmlyc3QtY2hpbGQpOmxhc3Qtb2YtdHlwZSxcbiAgICAucHJvZHVjdC1hZGQtZm9ybSAuZmllbGRzZXQgLmZpZWxkcyA+IC5maWVsZDpub3QoOmZpcnN0LWNoaWxkKTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5hYnMtbmF2aWdhdGlvbi1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYWJzLW5hdmlnYXRpb24taWNvbjphZnRlciB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjb250ZW50OiBcIu6YolwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFicy1uYXZpZ2F0aW9uLWljb246YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNC43NXB4O1xuICAgIHRvcDogMDsgfVxuXG4uYWJzLXNwbGl0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5hYnMtc3BsaXQtYnV0dG9uOmJlZm9yZSwgLmFicy1zcGxpdC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hYnMtc3BsaXQtYnV0dG9uOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYWJzLXNwbGl0LWJ1dHRvbiAuYWN0aW9uLnNwbGl0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFicy1zcGxpdC1idXR0b24gLmFjdGlvbi50b2dnbGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFicy1zcGxpdC1idXR0b24gYnV0dG9uLmFjdGlvbi5zcGxpdCwgLmFicy1zcGxpdC1idXR0b24gLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24uc3BsaXQsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWJzLXNwbGl0LWJ1dHRvbiAuYWN0aW9uLnNwbGl0LCAuYWJzLXNwbGl0LWJ1dHRvbiAuYWN0aW9uLnNwbGl0LmFjdGlvbi1naWZ0IHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuICAuYWJzLXNwbGl0LWJ1dHRvbiBidXR0b24gKyAuYWN0aW9uLnRvZ2dsZSwgLmFicy1zcGxpdC1idXR0b24gLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24gKyAuYWN0aW9uLnRvZ2dsZSwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hYnMtc3BsaXQtYnV0dG9uIC5hY3Rpb24gKyAuYWN0aW9uLnRvZ2dsZSwgLmFicy1zcGxpdC1idXR0b24gLmFjdGlvbi1naWZ0ICsgLmFjdGlvbi50b2dnbGUge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuICAuYWJzLXNwbGl0LWJ1dHRvbiAuYWN0aW9uLnRvZ2dsZSB7XG4gICAgcGFkZGluZzogNHB4IDQuNzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFicy1zcGxpdC1idXR0b24gLmFjdGlvbi50b2dnbGUgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5hYnMtc3BsaXQtYnV0dG9uIC5hY3Rpb24udG9nZ2xlOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiBcIu6Yh1wiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5hYnMtc3BsaXQtYnV0dG9uIC5hY3Rpb24udG9nZ2xlOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmFicy1zcGxpdC1idXR0b24gLmFjdGlvbi50b2dnbGU6YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmFicy1zcGxpdC1idXR0b24gLmFjdGlvbi50b2dnbGUuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmFicy1zcGxpdC1idXR0b24gLmFjdGlvbi50b2dnbGUuYWN0aXZlID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4OyB9XG4gICAgICAuYWJzLXNwbGl0LWJ1dHRvbiAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwi7piYXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmFicy1zcGxpdC1idXR0b24gLmFjdGlvbi50b2dnbGUuYWN0aXZlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5hYnMtc3BsaXQtYnV0dG9uIC5hY3Rpb24udG9nZ2xlLmFjdGl2ZTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYWJzLXNwbGl0LWJ1dHRvbiAuaXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgLmFicy1zcGxpdC1idXR0b24gLml0ZW1zIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDNweCA0Ljc1cHg7IH1cbiAgICAgIC5hYnMtc3BsaXQtYnV0dG9uIC5pdGVtcyBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5hYnMtc3BsaXQtYnV0dG9uIC5pdGVtczpiZWZvcmUsIC5hYnMtc3BsaXQtYnV0dG9uIC5pdGVtczphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDsgfVxuICAgIC5hYnMtc3BsaXQtYnV0dG9uIC5pdGVtczpiZWZvcmUge1xuICAgICAgYm9yZGVyOiA2cHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICAgIC5hYnMtc3BsaXQtYnV0dG9uIC5pdGVtczphZnRlciB7XG4gICAgICBib3JkZXI6IDdweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2JiYiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDk4OyB9XG4gICAgLmFicy1zcGxpdC1idXR0b24gLml0ZW1zOmJlZm9yZSB7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogLTEycHg7IH1cbiAgICAuYWJzLXNwbGl0LWJ1dHRvbiAuaXRlbXM6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDlweDtcbiAgICAgIHRvcDogLTE0cHg7IH1cbiAgLmFicy1zcGxpdC1idXR0b24uYWN0aXZlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC5hYnMtc3BsaXQtYnV0dG9uLmFjdGl2ZSAuaXRlbXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFicy1hY3Rpb24tYWRkdG8tcHJvZHVjdCwgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLnByb2R1Y3QtYWRkdG8tbGlua3MgPiAuYWN0aW9uLCAucHJvZHVjdC1pbmZvLW1haW4gLmFjdGlvbi50b2NvbXBhcmUsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYWN0aW9uLnRvY29tcGFyZSwgLnByb2R1Y3QtaW5mby1tYWluIC5hY3Rpb24udG93aXNobGlzdCxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG93aXNobGlzdCxcbi5ibG9jay1idW5kbGUtc3VtbWFyeSAuYWN0aW9uLnRvd2lzaGxpc3Qge1xuICBsaW5lLWhlaWdodDogMS40O1xuICBwYWRkaW5nOiA0Ljc1cHggOHB4O1xuICBmb250LXNpemU6IDEuMXJlbTsgfVxuXG4uYWJzLWFjdGlvbnMtYWRkdG8tZ3JpZGxpc3QsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLnNwbGl0LFxuLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24uc3BsaXQsIC5wcm9kdWN0LWl0ZW1zIC5hY3Rpb24udG93aXNobGlzdCxcbi5wcm9kdWN0cy5saXN0Lml0ZW1zIC5hY3Rpb24udG93aXNobGlzdCxcbi50YWJsZS1jb21wYXJpc29uIC5hY3Rpb24udG93aXNobGlzdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hYnMtYWN0aW9ucy1hZGR0by1ncmlkbGlzdCA+IHNwYW4sIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLnNwbGl0ID4gc3BhbiwgLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24uc3BsaXQgPiBzcGFuLCAucHJvZHVjdC1pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3QgPiBzcGFuLCAucHJvZHVjdHMubGlzdC5pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3QgPiBzcGFuLCAudGFibGUtY29tcGFyaXNvbiAuYWN0aW9uLnRvd2lzaGxpc3QgPiBzcGFuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC5hYnMtYWN0aW9ucy1hZGR0by1ncmlkbGlzdDpiZWZvcmUsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLnNwbGl0OmJlZm9yZSxcbiAgLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24uc3BsaXQ6YmVmb3JlLCAucHJvZHVjdC1pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3Q6YmVmb3JlLFxuICAucHJvZHVjdHMubGlzdC5pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3Q6YmVmb3JlLFxuICAudGFibGUtY29tcGFyaXNvbiAuYWN0aW9uLnRvd2lzaGxpc3Q6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5hYnMtYWN0aW9ucy1hZGR0by1ncmlkbGlzdDpob3ZlcjpiZWZvcmUsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLnNwbGl0OmhvdmVyOmJlZm9yZSxcbiAgLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24uc3BsaXQ6aG92ZXI6YmVmb3JlLCAucHJvZHVjdC1pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3Q6aG92ZXI6YmVmb3JlLFxuICAucHJvZHVjdHMubGlzdC5pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3Q6aG92ZXI6YmVmb3JlLFxuICAudGFibGUtY29tcGFyaXNvbiAuYWN0aW9uLnRvd2lzaGxpc3Q6aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogI2E1NGY2YzsgfVxuXG4uYWJzLWJ1dHRvbi1sLCAuYnVuZGxlLWFjdGlvbnMgLmFjdGlvbi5wcmltYXJ5LCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAuYm94LXRvY2FydCAuYWN0aW9uLnByaW1hcnksIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAuYWN0aW9uLnRvY2FydCxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5ib3gtdG9jYXJ0IC5hY3Rpb24udG9jYXJ0LCAuY2FydC1jb250YWluZXIgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMgLmFjdGlvbi5wcmltYXJ5LCAuYmxvY2stbWluaWNhcnQgLmJsb2NrLWNvbnRlbnQgPiAuYWN0aW9ucyA+IC5wcmltYXJ5IC5hY3Rpb24ucHJpbWFyeSwgLm1ldGhvZHMtc2hpcHBpbmcgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLnByaW1hcnksIC5ibG9jay1hdXRoZW50aWNhdGlvbiAuYWN0aW9uLmFjdGlvbi1yZWdpc3Rlcixcbi5ibG9jay1hdXRoZW50aWNhdGlvbiAuYWN0aW9uLmFjdGlvbi1sb2dpbiwgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC1jb250ZW50ID4gLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5hY3Rpb24ucHJpbWFyeSwgLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5wcmltYXJ5LCAubXVsdGljaGVja291dCAuYWN0aW9uLnByaW1hcnkge1xuICBsaW5lLWhlaWdodDogMS40O1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgZm9udC1zaXplOiAxLjhyZW07IH1cblxuLmFicy1hY3Rpb24tYnV0dG9uLWFzLWxpbmssIC5hYnMtYWN0aW9uLXJlbW92ZSwgLmFicy1hZGQtZmllbGRzIC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmFjdGlvbi5yZW1vdmUsIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5hY3Rpb24ucmVtb3ZlLCAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmFjdGlvbi5yZW1vdmUsIC5mb3JtLWNyZWF0ZS1yZXR1cm4gLmFjdGlvbi5yZW1vdmUsIC5mb3JtLnNlbmQuZnJpZW5kIC5hY3Rpb24ucmVtb3ZlLCAuY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb24uaGVscC5tYXAsIC5vcGMtd3JhcHBlciAuZWRpdC1hZGRyZXNzLWxpbmssIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uLXRpdGxlIC5hY3Rpb24tZWRpdCwgLmFjdGlvbi1hdXRoLXRvZ2dsZSwgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jaGVja291dC1iaWxsaW5nLWFkZHJlc3MgLmFjdGlvbi1jYW5jZWwsIC5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIC5hY3Rpb24tc2hvdywgLmNhcnQtc3VtbWFyeSAuYmxvY2suZ2lmdGNhcmQgLmFjdGlvbi5jaGVjaywgLmdpZnQtb3B0aW9ucyAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tY2FuY2VsLCAudGFibGUtY29tcGFyaXNvbiAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbixcbi5wcm9kdWN0LWl0ZW1zIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLCAucGF5cGFsLWJ1dHRvbi13aWRnZXQgLnBheXBhbC1idXR0b24ge1xuICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rOnZpc2l0ZWQsIC5hYnMtYWN0aW9uLXJlbW92ZTp2aXNpdGVkLCAuYWJzLWFkZC1maWVsZHMgLmFjdGlvbi5yZW1vdmU6dmlzaXRlZCwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlOnZpc2l0ZWQsIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5hY3Rpb24ucmVtb3ZlOnZpc2l0ZWQsIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuYWN0aW9uLnJlbW92ZTp2aXNpdGVkLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hY3Rpb24ucmVtb3ZlOnZpc2l0ZWQsIC5mb3JtLnNlbmQuZnJpZW5kIC5hY3Rpb24ucmVtb3ZlOnZpc2l0ZWQsIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbi5oZWxwLm1hcDp2aXNpdGVkLCAub3BjLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy1saW5rOnZpc2l0ZWQsIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uLXRpdGxlIC5hY3Rpb24tZWRpdDp2aXNpdGVkLCAuYWN0aW9uLWF1dGgtdG9nZ2xlOnZpc2l0ZWQsIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb24tY2FuY2VsOnZpc2l0ZWQsIC5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIC5hY3Rpb24tc2hvdzp2aXNpdGVkLCAuY2FydC1zdW1tYXJ5IC5ibG9jay5naWZ0Y2FyZCAuYWN0aW9uLmNoZWNrOnZpc2l0ZWQsIC5naWZ0LW9wdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWNhbmNlbDp2aXNpdGVkLCAudGFibGUtY29tcGFyaXNvbiAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbjp2aXNpdGVkLFxuICAucHJvZHVjdC1pdGVtcyAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbjp2aXNpdGVkLCAucGF5cGFsLWJ1dHRvbi13aWRnZXQgLnBheXBhbC1idXR0b246dmlzaXRlZCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rOmhvdmVyLCAuYWJzLWFjdGlvbi1yZW1vdmU6aG92ZXIsIC5hYnMtYWRkLWZpZWxkcyAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS1naWZ0cmVnaXN0cnktZWRpdCAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS5zZW5kLmZyaWVuZCAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9uLmhlbHAubWFwOmhvdmVyLCAub3BjLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy1saW5rOmhvdmVyLCAub3BjLWJsb2NrLXNoaXBwaW5nLWluZm9ybWF0aW9uIC5zaGlwcGluZy1pbmZvcm1hdGlvbi10aXRsZSAuYWN0aW9uLWVkaXQ6aG92ZXIsIC5hY3Rpb24tYXV0aC10b2dnbGU6aG92ZXIsIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb24tY2FuY2VsOmhvdmVyLCAuY2hlY2tvdXQtYWdyZWVtZW50cy1ibG9jayAuYWN0aW9uLXNob3c6aG92ZXIsIC5jYXJ0LXN1bW1hcnkgLmJsb2NrLmdpZnRjYXJkIC5hY3Rpb24uY2hlY2s6aG92ZXIsIC5naWZ0LW9wdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWNhbmNlbDpob3ZlciwgLnRhYmxlLWNvbXBhcmlzb24gLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb246aG92ZXIsXG4gIC5wcm9kdWN0LWl0ZW1zIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmhvdmVyLCAucGF5cGFsLWJ1dHRvbi13aWRnZXQgLnBheXBhbC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjYTU0ZjZjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYWJzLWFjdGlvbi1idXR0b24tYXMtbGluazphY3RpdmUsIC5hYnMtYWN0aW9uLXJlbW92ZTphY3RpdmUsIC5hYnMtYWRkLWZpZWxkcyAuYWN0aW9uLnJlbW92ZTphY3RpdmUsIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuYWN0aW9uLnJlbW92ZTphY3RpdmUsIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0tY3JlYXRlLXJldHVybiAuYWN0aW9uLnJlbW92ZTphY3RpdmUsIC5mb3JtLnNlbmQuZnJpZW5kIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9uLmhlbHAubWFwOmFjdGl2ZSwgLm9wYy13cmFwcGVyIC5lZGl0LWFkZHJlc3MtbGluazphY3RpdmUsIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uLXRpdGxlIC5hY3Rpb24tZWRpdDphY3RpdmUsIC5hY3Rpb24tYXV0aC10b2dnbGU6YWN0aXZlLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYWN0aW9uLWNhbmNlbDphY3RpdmUsIC5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIC5hY3Rpb24tc2hvdzphY3RpdmUsIC5jYXJ0LXN1bW1hcnkgLmJsb2NrLmdpZnRjYXJkIC5hY3Rpb24uY2hlY2s6YWN0aXZlLCAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1jYW5jZWw6YWN0aXZlLCAudGFibGUtY29tcGFyaXNvbiAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbjphY3RpdmUsXG4gIC5wcm9kdWN0LWl0ZW1zIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmFjdGl2ZSwgLnBheXBhbC1idXR0b24td2lkZ2V0IC5wYXlwYWwtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZjU1MDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rOmhvdmVyLCAuYWJzLWFjdGlvbi1yZW1vdmU6aG92ZXIsIC5hYnMtYWRkLWZpZWxkcyAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS1naWZ0cmVnaXN0cnktZWRpdCAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS5zZW5kLmZyaWVuZCAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9uLmhlbHAubWFwOmhvdmVyLCAub3BjLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy1saW5rOmhvdmVyLCAub3BjLWJsb2NrLXNoaXBwaW5nLWluZm9ybWF0aW9uIC5zaGlwcGluZy1pbmZvcm1hdGlvbi10aXRsZSAuYWN0aW9uLWVkaXQ6aG92ZXIsIC5hY3Rpb24tYXV0aC10b2dnbGU6aG92ZXIsIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb24tY2FuY2VsOmhvdmVyLCAuY2hlY2tvdXQtYWdyZWVtZW50cy1ibG9jayAuYWN0aW9uLXNob3c6aG92ZXIsIC5jYXJ0LXN1bW1hcnkgLmJsb2NrLmdpZnRjYXJkIC5hY3Rpb24uY2hlY2s6aG92ZXIsIC5naWZ0LW9wdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWNhbmNlbDpob3ZlciwgLnRhYmxlLWNvbXBhcmlzb24gLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb246aG92ZXIsXG4gIC5wcm9kdWN0LWl0ZW1zIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmhvdmVyLCAucGF5cGFsLWJ1dHRvbi13aWRnZXQgLnBheXBhbC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjYTU0ZjZjOyB9XG4gIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rOmhvdmVyLCAuYWJzLWFjdGlvbi1yZW1vdmU6aG92ZXIsIC5hYnMtYWRkLWZpZWxkcyAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS1naWZ0cmVnaXN0cnktZWRpdCAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuZm9ybS5zZW5kLmZyaWVuZCAuYWN0aW9uLnJlbW92ZTpob3ZlciwgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9uLmhlbHAubWFwOmhvdmVyLCAub3BjLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy1saW5rOmhvdmVyLCAub3BjLWJsb2NrLXNoaXBwaW5nLWluZm9ybWF0aW9uIC5zaGlwcGluZy1pbmZvcm1hdGlvbi10aXRsZSAuYWN0aW9uLWVkaXQ6aG92ZXIsIC5hY3Rpb24tYXV0aC10b2dnbGU6aG92ZXIsIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb24tY2FuY2VsOmhvdmVyLCAuY2hlY2tvdXQtYWdyZWVtZW50cy1ibG9jayAuYWN0aW9uLXNob3c6aG92ZXIsIC5jYXJ0LXN1bW1hcnkgLmJsb2NrLmdpZnRjYXJkIC5hY3Rpb24uY2hlY2s6aG92ZXIsIC5naWZ0LW9wdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWNhbmNlbDpob3ZlciwgLnRhYmxlLWNvbXBhcmlzb24gLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb246aG92ZXIsXG4gIC5wcm9kdWN0LWl0ZW1zIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmhvdmVyLCAucGF5cGFsLWJ1dHRvbi13aWRnZXQgLnBheXBhbC1idXR0b246aG92ZXIsIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rOmFjdGl2ZSwgLmFicy1hY3Rpb24tcmVtb3ZlOmFjdGl2ZSwgLmFicy1hZGQtZmllbGRzIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmFjdGlvbi5yZW1vdmU6YWN0aXZlLCAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmFjdGlvbi5yZW1vdmU6YWN0aXZlLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0uc2VuZC5mcmllbmQgLmFjdGlvbi5yZW1vdmU6YWN0aXZlLCAuY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb24uaGVscC5tYXA6YWN0aXZlLCAub3BjLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy1saW5rOmFjdGl2ZSwgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0OmFjdGl2ZSwgLmFjdGlvbi1hdXRoLXRvZ2dsZTphY3RpdmUsIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb24tY2FuY2VsOmFjdGl2ZSwgLmNoZWNrb3V0LWFncmVlbWVudHMtYmxvY2sgLmFjdGlvbi1zaG93OmFjdGl2ZSwgLmNhcnQtc3VtbWFyeSAuYmxvY2suZ2lmdGNhcmQgLmFjdGlvbi5jaGVjazphY3RpdmUsIC5naWZ0LW9wdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWNhbmNlbDphY3RpdmUsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmFjdGl2ZSxcbiAgLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb246YWN0aXZlLCAucGF5cGFsLWJ1dHRvbi13aWRnZXQgLnBheXBhbC1idXR0b246YWN0aXZlLCAuYWJzLWFjdGlvbi1idXR0b24tYXMtbGluazpmb2N1cywgLmFicy1hY3Rpb24tcmVtb3ZlOmZvY3VzLCAuYWJzLWFkZC1maWVsZHMgLmFjdGlvbi5yZW1vdmU6Zm9jdXMsIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuYWN0aW9uLnJlbW92ZTpmb2N1cywgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmFjdGlvbi5yZW1vdmU6Zm9jdXMsIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuYWN0aW9uLnJlbW92ZTpmb2N1cywgLmZvcm0tY3JlYXRlLXJldHVybiAuYWN0aW9uLnJlbW92ZTpmb2N1cywgLmZvcm0uc2VuZC5mcmllbmQgLmFjdGlvbi5yZW1vdmU6Zm9jdXMsIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbi5oZWxwLm1hcDpmb2N1cywgLm9wYy13cmFwcGVyIC5lZGl0LWFkZHJlc3MtbGluazpmb2N1cywgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0OmZvY3VzLCAuYWN0aW9uLWF1dGgtdG9nZ2xlOmZvY3VzLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYWN0aW9uLWNhbmNlbDpmb2N1cywgLmNoZWNrb3V0LWFncmVlbWVudHMtYmxvY2sgLmFjdGlvbi1zaG93OmZvY3VzLCAuY2FydC1zdW1tYXJ5IC5ibG9jay5naWZ0Y2FyZCAuYWN0aW9uLmNoZWNrOmZvY3VzLCAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1jYW5jZWw6Zm9jdXMsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmZvY3VzLFxuICAucHJvZHVjdC1pdGVtcyAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbjpmb2N1cywgLnBheXBhbC1idXR0b24td2lkZ2V0IC5wYXlwYWwtYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDsgfVxuICAuYWJzLWFjdGlvbi1idXR0b24tYXMtbGluay5kaXNhYmxlZCwgLmRpc2FibGVkLmFicy1hY3Rpb24tcmVtb3ZlLCAuYWJzLWFkZC1maWVsZHMgLmRpc2FibGVkLmFjdGlvbi5yZW1vdmUsIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuZGlzYWJsZWQuYWN0aW9uLnJlbW92ZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmRpc2FibGVkLmFjdGlvbi5yZW1vdmUsIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuZGlzYWJsZWQuYWN0aW9uLnJlbW92ZSwgLmZvcm0tY3JlYXRlLXJldHVybiAuZGlzYWJsZWQuYWN0aW9uLnJlbW92ZSwgLmZvcm0uc2VuZC5mcmllbmQgLmRpc2FibGVkLmFjdGlvbi5yZW1vdmUsIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmRpc2FibGVkLmFjdGlvbi5oZWxwLm1hcCwgLm9wYy13cmFwcGVyIC5kaXNhYmxlZC5lZGl0LWFkZHJlc3MtbGluaywgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmRpc2FibGVkLmFjdGlvbi1lZGl0LCAuZGlzYWJsZWQuYWN0aW9uLWF1dGgtdG9nZ2xlLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuZGlzYWJsZWQuYWN0aW9uLWNhbmNlbCwgLmNoZWNrb3V0LWFncmVlbWVudHMtYmxvY2sgLmRpc2FibGVkLmFjdGlvbi1zaG93LCAuY2FydC1zdW1tYXJ5IC5ibG9jay5naWZ0Y2FyZCAuZGlzYWJsZWQuYWN0aW9uLmNoZWNrLCAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLmRpc2FibGVkLmFjdGlvbi1jYW5jZWwsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuZGlzYWJsZWQuYWN0aW9uLFxuICAucHJvZHVjdC1pdGVtcyAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmRpc2FibGVkLmFjdGlvbiwgLnBheXBhbC1idXR0b24td2lkZ2V0IC5kaXNhYmxlZC5wYXlwYWwtYnV0dG9uLCAuYWJzLWFjdGlvbi1idXR0b24tYXMtbGlua1tkaXNhYmxlZF0sIC5hYnMtYWN0aW9uLXJlbW92ZVtkaXNhYmxlZF0sIC5hYnMtYWRkLWZpZWxkcyAuYWN0aW9uLnJlbW92ZVtkaXNhYmxlZF0sIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuYWN0aW9uLnJlbW92ZVtkaXNhYmxlZF0sIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5hY3Rpb24ucmVtb3ZlW2Rpc2FibGVkXSwgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24ucmVtb3ZlW2Rpc2FibGVkXSwgLmZvcm0tY3JlYXRlLXJldHVybiAuYWN0aW9uLnJlbW92ZVtkaXNhYmxlZF0sIC5mb3JtLnNlbmQuZnJpZW5kIC5hY3Rpb24ucmVtb3ZlW2Rpc2FibGVkXSwgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9uLmhlbHAubWFwW2Rpc2FibGVkXSwgLm9wYy13cmFwcGVyIC5lZGl0LWFkZHJlc3MtbGlua1tkaXNhYmxlZF0sIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uLXRpdGxlIC5hY3Rpb24tZWRpdFtkaXNhYmxlZF0sIC5hY3Rpb24tYXV0aC10b2dnbGVbZGlzYWJsZWRdLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYWN0aW9uLWNhbmNlbFtkaXNhYmxlZF0sIC5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIC5hY3Rpb24tc2hvd1tkaXNhYmxlZF0sIC5jYXJ0LXN1bW1hcnkgLmJsb2NrLmdpZnRjYXJkIC5hY3Rpb24uY2hlY2tbZGlzYWJsZWRdLCAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1jYW5jZWxbZGlzYWJsZWRdLCAudGFibGUtY29tcGFyaXNvbiAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbltkaXNhYmxlZF0sXG4gIC5wcm9kdWN0LWl0ZW1zIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uW2Rpc2FibGVkXSwgLnBheXBhbC1idXR0b24td2lkZ2V0IC5wYXlwYWwtYnV0dG9uW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmFicy1hY3Rpb24tcmVtb3ZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmFicy1hZGQtZmllbGRzIC5hY3Rpb24ucmVtb3ZlLFxuICAuYWJzLWFkZC1maWVsZHMgZmllbGRzZXRbZGlzYWJsZWRdIC5hY3Rpb24ucmVtb3ZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlLFxuICAuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgZmllbGRzZXRbZGlzYWJsZWRdIC5hY3Rpb24ucmVtb3ZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmFjdGlvbi5yZW1vdmUsXG4gIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IGZpZWxkc2V0W2Rpc2FibGVkXSAuYWN0aW9uLnJlbW92ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuYWN0aW9uLnJlbW92ZSxcbiAgLmZvcm0tYWRkLWludml0YXRpb25zIGZpZWxkc2V0W2Rpc2FibGVkXSAuYWN0aW9uLnJlbW92ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNyZWF0ZS1yZXR1cm4gLmFjdGlvbi5yZW1vdmUsXG4gIC5mb3JtLWNyZWF0ZS1yZXR1cm4gZmllbGRzZXRbZGlzYWJsZWRdIC5hY3Rpb24ucmVtb3ZlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0uc2VuZC5mcmllbmQgLmFjdGlvbi5yZW1vdmUsXG4gIC5mb3JtLnNlbmQuZnJpZW5kIGZpZWxkc2V0W2Rpc2FibGVkXSAuYWN0aW9uLnJlbW92ZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbi5oZWxwLm1hcCxcbiAgLmNhcnQudGFibGUtd3JhcHBlciBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbi5oZWxwLm1hcCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5vcGMtd3JhcHBlciAuZWRpdC1hZGRyZXNzLWxpbmssXG4gIC5vcGMtd3JhcHBlciBmaWVsZHNldFtkaXNhYmxlZF0gLmVkaXQtYWRkcmVzcy1saW5rLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0LFxuICAub3BjLWJsb2NrLXNoaXBwaW5nLWluZm9ybWF0aW9uIC5zaGlwcGluZy1pbmZvcm1hdGlvbi10aXRsZSBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbi1lZGl0LFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbi1hdXRoLXRvZ2dsZSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb24tY2FuY2VsLFxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbi1jYW5jZWwsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tvdXQtYWdyZWVtZW50cy1ibG9jayAuYWN0aW9uLXNob3csXG4gIC5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIGZpZWxkc2V0W2Rpc2FibGVkXSAuYWN0aW9uLXNob3csXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2FydC1zdW1tYXJ5IC5ibG9jay5naWZ0Y2FyZCAuYWN0aW9uLmNoZWNrLFxuICAuY2FydC1zdW1tYXJ5IC5ibG9jay5naWZ0Y2FyZCBmaWVsZHNldFtkaXNhYmxlZF0gLmFjdGlvbi5jaGVjayxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5naWZ0LW9wdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWNhbmNlbCxcbiAgLmdpZnQtb3B0aW9ucyAuYWN0aW9ucy10b29sYmFyIGZpZWxkc2V0W2Rpc2FibGVkXSAuYWN0aW9uLWNhbmNlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLFxuICAudGFibGUtY29tcGFyaXNvbiBmaWVsZHNldFtkaXNhYmxlZF0gLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAucHJvZHVjdC1pdGVtcyAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbixcbiAgLnByb2R1Y3QtaXRlbXMgZmllbGRzZXRbZGlzYWJsZWRdIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLnBheXBhbC1idXR0b24td2lkZ2V0IC5wYXlwYWwtYnV0dG9uLFxuICAucGF5cGFsLWJ1dHRvbi13aWRnZXQgZmllbGRzZXRbZGlzYWJsZWRdIC5wYXlwYWwtYnV0dG9uIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rOmFjdGl2ZSwgLmFicy1hY3Rpb24tcmVtb3ZlOmFjdGl2ZSwgLmFicy1hZGQtZmllbGRzIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmFjdGlvbi5yZW1vdmU6YWN0aXZlLCAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmFjdGlvbi5yZW1vdmU6YWN0aXZlLCAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZSwgLmZvcm0uc2VuZC5mcmllbmQgLmFjdGlvbi5yZW1vdmU6YWN0aXZlLCAuY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb24uaGVscC5tYXA6YWN0aXZlLCAub3BjLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy1saW5rOmFjdGl2ZSwgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0OmFjdGl2ZSwgLmFjdGlvbi1hdXRoLXRvZ2dsZTphY3RpdmUsIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb24tY2FuY2VsOmFjdGl2ZSwgLmNoZWNrb3V0LWFncmVlbWVudHMtYmxvY2sgLmFjdGlvbi1zaG93OmFjdGl2ZSwgLmNhcnQtc3VtbWFyeSAuYmxvY2suZ2lmdGNhcmQgLmFjdGlvbi5jaGVjazphY3RpdmUsIC5naWZ0LW9wdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWNhbmNlbDphY3RpdmUsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmFjdGl2ZSxcbiAgLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb246YWN0aXZlLCAucGF5cGFsLWJ1dHRvbi13aWRnZXQgLnBheXBhbC1idXR0b246YWN0aXZlLCAuYWJzLWFjdGlvbi1idXR0b24tYXMtbGluazpub3QoOmZvY3VzKSwgLmFicy1hY3Rpb24tcmVtb3ZlOm5vdCg6Zm9jdXMpLCAuYWJzLWFkZC1maWVsZHMgLmFjdGlvbi5yZW1vdmU6bm90KDpmb2N1cyksIC5mb3JtLWdpZnRyZWdpc3RyeS1zaGFyZSAuYWN0aW9uLnJlbW92ZTpub3QoOmZvY3VzKSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmFjdGlvbi5yZW1vdmU6bm90KDpmb2N1cyksIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuYWN0aW9uLnJlbW92ZTpub3QoOmZvY3VzKSwgLmZvcm0tY3JlYXRlLXJldHVybiAuYWN0aW9uLnJlbW92ZTpub3QoOmZvY3VzKSwgLmZvcm0uc2VuZC5mcmllbmQgLmFjdGlvbi5yZW1vdmU6bm90KDpmb2N1cyksIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbi5oZWxwLm1hcDpub3QoOmZvY3VzKSwgLm9wYy13cmFwcGVyIC5lZGl0LWFkZHJlc3MtbGluazpub3QoOmZvY3VzKSwgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0Om5vdCg6Zm9jdXMpLCAuYWN0aW9uLWF1dGgtdG9nZ2xlOm5vdCg6Zm9jdXMpLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYWN0aW9uLWNhbmNlbDpub3QoOmZvY3VzKSwgLmNoZWNrb3V0LWFncmVlbWVudHMtYmxvY2sgLmFjdGlvbi1zaG93Om5vdCg6Zm9jdXMpLCAuY2FydC1zdW1tYXJ5IC5ibG9jay5naWZ0Y2FyZCAuYWN0aW9uLmNoZWNrOm5vdCg6Zm9jdXMpLCAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1jYW5jZWw6bm90KDpmb2N1cyksIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOm5vdCg6Zm9jdXMpLFxuICAucHJvZHVjdC1pdGVtcyAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbjpub3QoOmZvY3VzKSwgLnBheXBhbC1idXR0b24td2lkZ2V0IC5wYXlwYWwtYnV0dG9uOm5vdCg6Zm9jdXMpIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5hYnMtcmV2ZXJ0LXNlY29uZGFyeS1jb2xvciwgLmJsb2NrLWNvbXBhcmUgLmFjdGlvbi5jb21wYXJlLCAuY2FydC1zdW1tYXJ5IC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSBidXR0b24sIC5jYXJ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmNhcnQtc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkgLmFjdGlvbiwgLmNhcnQtc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkgLmFjdGlvbi1naWZ0LCAuY2FydC1zdW1tYXJ5IC5mb3JtLmdpZnRyZWdpc3RyeSAuZmllbGRzZXQgLmFjdGlvbi5wcmltYXJ5LCAucGF5cGFsLXJldmlldyAuYmxvY2sgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYWJzLXJldmVydC1zZWNvbmRhcnktY29sb3I6Zm9jdXMsIC5ibG9jay1jb21wYXJlIC5hY3Rpb24uY29tcGFyZTpmb2N1cywgLmNhcnQtc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkgYnV0dG9uOmZvY3VzLCAuY2FydC1zdW1tYXJ5IC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbjpmb2N1cywgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5jYXJ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5hY3Rpb246Zm9jdXMsIC5jYXJ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5hY3Rpb24tZ2lmdDpmb2N1cywgLmNhcnQtc3VtbWFyeSAuZm9ybS5naWZ0cmVnaXN0cnkgLmZpZWxkc2V0IC5hY3Rpb24ucHJpbWFyeTpmb2N1cywgLnBheXBhbC1yZXZpZXcgLmJsb2NrIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5wcmltYXJ5OmZvY3VzLCAuYWJzLXJldmVydC1zZWNvbmRhcnktY29sb3I6YWN0aXZlLCAuYmxvY2stY29tcGFyZSAuYWN0aW9uLmNvbXBhcmU6YWN0aXZlLCAuY2FydC1zdW1tYXJ5IC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSBidXR0b246YWN0aXZlLCAuY2FydC1zdW1tYXJ5IC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbjphY3RpdmUsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuY2FydC1zdW1tYXJ5IC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSAuYWN0aW9uOmFjdGl2ZSwgLmNhcnQtc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkgLmFjdGlvbi1naWZ0OmFjdGl2ZSwgLmNhcnQtc3VtbWFyeSAuZm9ybS5naWZ0cmVnaXN0cnkgLmZpZWxkc2V0IC5hY3Rpb24ucHJpbWFyeTphY3RpdmUsIC5wYXlwYWwtcmV2aWV3IC5ibG9jayAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24ucHJpbWFyeTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAuYWJzLXJldmVydC1zZWNvbmRhcnktY29sb3I6aG92ZXIsIC5ibG9jay1jb21wYXJlIC5hY3Rpb24uY29tcGFyZTpob3ZlciwgLmNhcnQtc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkgYnV0dG9uOmhvdmVyLCAuY2FydC1zdW1tYXJ5IC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbjpob3ZlciwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5jYXJ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5hY3Rpb246aG92ZXIsIC5jYXJ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IC5hY3Rpb24tZ2lmdDpob3ZlciwgLmNhcnQtc3VtbWFyeSAuZm9ybS5naWZ0cmVnaXN0cnkgLmZpZWxkc2V0IC5hY3Rpb24ucHJpbWFyeTpob3ZlciwgLnBheXBhbC1yZXZpZXcgLmJsb2NrIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNiOGI0OTY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmFicy1yZXZlcnQtc2Vjb25kYXJ5LXNpemUsIC5jYXJ0LXN1bW1hcnkgLmZvcm0uZ2lmdHJlZ2lzdHJ5IC5maWVsZHNldCAuYWN0aW9uLnByaW1hcnkge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07IH1cblxuLmFicy1ib3gtdG9jYXJ0LCAuYnVuZGxlLWFjdGlvbnMge1xuICBtYXJnaW46IDkuNXB4IDA7IH1cblxuLmFicy1hZGp1c3RtZW50LWluY2wtZXhjbC10YXggLnByaWNlLWluY2x1ZGluZy10YXgsIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLnByaWNlLW5vdGljZSAucHJpY2UtaW5jbHVkaW5nLXRheCwgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZCAucHJpY2Utbm90aWNlIC5wcmljZS1pbmNsdWRpbmctdGF4LCAuY2FydC1zdW1tYXJ5IC5wcmljZS1pbmNsdWRpbmctdGF4LCAuZ2lmdC1zdW1tYXJ5IC5wcmljZS1pbmNsdWRpbmctdGF4LCAuZ2lmdC1vcHRpb25zIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuLmFicy1hZGp1c3RtZW50LWluY2wtZXhjbC10YXggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4uYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5wcmljZS1ub3RpY2UgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIgLmZpZWxkIC5wcmljZS1ub3RpY2UgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4uY2FydC1zdW1tYXJ5IC5wcmljZS1leGNsdWRpbmctdGF4LFxuLmdpZnQtc3VtbWFyeSAucHJpY2UtZXhjbHVkaW5nLXRheCxcbi5naWZ0LW9wdGlvbnMgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4uYWJzLWFkanVzdG1lbnQtaW5jbC1leGNsLXRheCAud2VlZSxcbi5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLnByaWNlLW5vdGljZSAud2VlZSxcbi5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciAuZmllbGQgLnByaWNlLW5vdGljZSAud2VlZSxcbi5jYXJ0LXN1bW1hcnkgLndlZWUsXG4uZ2lmdC1zdW1tYXJ5IC53ZWVlLFxuLmdpZnQtb3B0aW9ucyAud2VlZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmFicy1hZGp1c3RtZW50LWluY2wtZXhjbC10YXggLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCwgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAucHJpY2Utbm90aWNlIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXgsIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciAuZmllbGQgLnByaWNlLW5vdGljZSAucHJpY2UtaW5jbHVkaW5nLXRheCArIC5wcmljZS1leGNsdWRpbmctdGF4LCAuY2FydC1zdW1tYXJ5IC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXgsIC5naWZ0LXN1bW1hcnkgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCwgLmdpZnQtb3B0aW9ucyAucHJpY2UtaW5jbHVkaW5nLXRheCArIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuMXJlbTsgfVxuICAuYWJzLWFkanVzdG1lbnQtaW5jbC1leGNsLXRheCAucHJpY2UtaW5jbHVkaW5nLXRheCArIC5wcmljZS1leGNsdWRpbmctdGF4OmJlZm9yZSwgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAucHJpY2Utbm90aWNlIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXg6YmVmb3JlLCAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIgLmZpZWxkIC5wcmljZS1ub3RpY2UgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsIC5jYXJ0LXN1bW1hcnkgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsIC5naWZ0LXN1bW1hcnkgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUsIC5naWZ0LW9wdGlvbnMgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiKFwiIGF0dHIoZGF0YS1sYWJlbCkgXCI6IFwiOyB9XG4gIC5hYnMtYWRqdXN0bWVudC1pbmNsLWV4Y2wtdGF4IC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXg6YWZ0ZXIsIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLnByaWNlLW5vdGljZSAucHJpY2UtaW5jbHVkaW5nLXRheCArIC5wcmljZS1leGNsdWRpbmctdGF4OmFmdGVyLCAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIgLmZpZWxkIC5wcmljZS1ub3RpY2UgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheDphZnRlciwgLmNhcnQtc3VtbWFyeSAucHJpY2UtaW5jbHVkaW5nLXRheCArIC5wcmljZS1leGNsdWRpbmctdGF4OmFmdGVyLCAuZ2lmdC1zdW1tYXJ5IC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXg6YWZ0ZXIsIC5naWZ0LW9wdGlvbnMgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheDphZnRlciB7XG4gICAgY29udGVudDogJyknOyB9XG5cbi5hYnMtdGF4LXRvdGFsLCAucHJpY2UtaW5jbHVkaW5nLXRheCAuY2FydC10YXgtdG90YWwsXG4ucHJpY2UtZXhjbHVkaW5nLXRheCAuY2FydC10YXgtdG90YWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmFicy10YXgtdG90YWw6YWZ0ZXIsIC5wcmljZS1pbmNsdWRpbmctdGF4IC5jYXJ0LXRheC10b3RhbDphZnRlcixcbiAgLnByaWNlLWV4Y2x1ZGluZy10YXggLmNhcnQtdGF4LXRvdGFsOmFmdGVyIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjb250ZW50OiBcIu6YolwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIG1hcmdpbjogM3B4IDAgMCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFicy10YXgtdG90YWw6YWZ0ZXIsIC5wcmljZS1pbmNsdWRpbmctdGF4IC5jYXJ0LXRheC10b3RhbDphZnRlcixcbiAgLnByaWNlLWV4Y2x1ZGluZy10YXggLmNhcnQtdGF4LXRvdGFsOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC05LjVweDtcbiAgICB0b3A6IDNweDsgfVxuICAuYWJzLXRheC10b3RhbC1leHBhbmRlZDphZnRlciwgLnByaWNlLWluY2x1ZGluZy10YXggLmNhcnQtdGF4LXRvdGFsLWV4cGFuZGVkOmFmdGVyLFxuICAucHJpY2UtZXhjbHVkaW5nLXRheCAuY2FydC10YXgtdG90YWwtZXhwYW5kZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7pihXCI7IH1cblxuLmFicy10YXgtdG90YWwtZXhwYW5kZWQ6YWZ0ZXIsIC5wcmljZS1pbmNsdWRpbmctdGF4IC5jYXJ0LXRheC10b3RhbC1leHBhbmRlZDphZnRlcixcbi5wcmljZS1leGNsdWRpbmctdGF4IC5jYXJ0LXRheC10b3RhbC1leHBhbmRlZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7pihXCI7IH1cblxuLmFicy1tZXRob2RzLXNoaXBwaW5nLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuYWJzLWNoZWNrb3V0LW9yZGVyLXJldmlldyB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpLCAubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmRhdGEudGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7IH1cbiAgLmFicy1jaGVja291dC1vcmRlci1yZXZpZXcgdGJvZHkgdHIgLmNvbC5pdGVtOmJlZm9yZSwgLm11bHRpY2hlY2tvdXQub3JkZXItcmV2aWV3IC5kYXRhLnRhYmxlIHRib2R5IHRyIC5jb2wuaXRlbTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFicy1jaGVja291dC1vcmRlci1yZXZpZXcgdGJvZHkgdHIgLmNvbC5xdHksIC5tdWx0aWNoZWNrb3V0Lm9yZGVyLXJldmlldyAuZGF0YS50YWJsZSB0Ym9keSB0ciAuY29sLnF0eSwgLmFicy1jaGVja291dC1vcmRlci1yZXZpZXcgdGJvZHkgdHIgLmNvbC5wcmljZSwgLm11bHRpY2hlY2tvdXQub3JkZXItcmV2aWV3IC5kYXRhLnRhYmxlIHRib2R5IHRyIC5jb2wucHJpY2UsIC5hYnMtY2hlY2tvdXQtb3JkZXItcmV2aWV3IHRib2R5IHRyIC5jb2wuc3VidG90YWwsIC5tdWx0aWNoZWNrb3V0Lm9yZGVyLXJldmlldyAuZGF0YS50YWJsZSB0Ym9keSB0ciAuY29sLnN1YnRvdGFsIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgICAuYWJzLWNoZWNrb3V0LW9yZGVyLXJldmlldyB0Ym9keSB0ciAuY29sLnF0eTpiZWZvcmUsIC5tdWx0aWNoZWNrb3V0Lm9yZGVyLXJldmlldyAuZGF0YS50YWJsZSB0Ym9keSB0ciAuY29sLnF0eTpiZWZvcmUsIC5hYnMtY2hlY2tvdXQtb3JkZXItcmV2aWV3IHRib2R5IHRyIC5jb2wucHJpY2U6YmVmb3JlLCAubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmRhdGEudGFibGUgdGJvZHkgdHIgLmNvbC5wcmljZTpiZWZvcmUsIC5hYnMtY2hlY2tvdXQtb3JkZXItcmV2aWV3IHRib2R5IHRyIC5jb2wuc3VidG90YWw6YmVmb3JlLCAubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmRhdGEudGFibGUgdGJvZHkgdHIgLmNvbC5zdWJ0b3RhbDpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSBcIjpcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5LjVweDsgfVxuICAuYWJzLWNoZWNrb3V0LW9yZGVyLXJldmlldyB0Ym9keSB0ciAucHJvZHVjdC1pdGVtLW5hbWUsIC5tdWx0aWNoZWNrb3V0Lm9yZGVyLXJldmlldyAuZGF0YS50YWJsZSB0Ym9keSB0ciAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi5hYnMtY29sb246YWZ0ZXIsIC5ibG9jay1taW5pY2FydCAuc3VidG90YWwgLmxhYmVsOmFmdGVyLCAubWluaWNhcnQtaXRlbXMgLmRldGFpbHMtcXR5IC5sYWJlbDphZnRlcixcbi5taW5pY2FydC1pdGVtcyAucHJpY2UtbWluaWNhcnQgLmxhYmVsOmFmdGVyLCAub3JkZXItZGV0YWlscy1pdGVtcyAub3JkZXItZ2lmdC1tZXNzYWdlIC5sYWJlbDphZnRlcixcbi5vcmRlci1kZXRhaWxzLWl0ZW1zIC5ibG9jay1vcmRlci1kZXRhaWxzLWdpZnQtbWVzc2FnZSAubGFiZWw6YWZ0ZXIsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1zZWxlY3QgLndpc2hsaXN0LW5hbWUtbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnOiAnOyB9XG5cbi5hYnMtaWNvbi1hZGQsIC5hYnMtZHJvcGRvd24taXRlbXMtbmV3IC5hY3Rpb24ubmV3LCAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24ubmV3LCAud2lzaGxpc3QtZHJvcGRvd24gLmFjdGlvbi5uZXcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYWJzLWljb24tYWRkOmJlZm9yZSwgLmFicy1kcm9wZG93bi1pdGVtcy1uZXcgLmFjdGlvbi5uZXc6YmVmb3JlLCAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24ubmV3OmJlZm9yZSwgLndpc2hsaXN0LWRyb3Bkb3duIC5hY3Rpb24ubmV3OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY29udGVudDogXCLumJxcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFicy1pY29uLWFkZC1tb2JpbGUsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1hZGQuaXRlbSAuYWRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYWJzLWljb24tYWRkLW1vYmlsZTpiZWZvcmUsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1hZGQuaXRlbSAuYWRkOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY29udGVudDogXCLumJxcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5hYnMtZHJvcGRvd24taXRlbXMtbmV3IC5pdGVtcyAuaXRlbTpsYXN0LWNoaWxkOmhvdmVyLCAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5pdGVtcyAuaXRlbTpsYXN0LWNoaWxkOmhvdmVyLCAud2lzaGxpc3QtZHJvcGRvd24gLml0ZW1zIC5pdGVtOmxhc3QtY2hpbGQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZThlOGU4OyB9XG5cbi5hYnMtZHJvcGRvd24taXRlbXMtbmV3IC5hY3Rpb24ubmV3OmJlZm9yZSwgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLm5ldzpiZWZvcmUsIC53aXNobGlzdC1kcm9wZG93biAuYWN0aW9uLm5ldzpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogLTE3cHg7XG4gIG1hcmdpbi1yaWdodDogNC43NXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFicy10b2dnbGluZy10aXRsZS1tb2JpbGUsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1zZWxlY3QgLndpc2hsaXN0LW5hbWUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDkuNXB4IDM4cHggOS41cHggMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFicy10b2dnbGluZy10aXRsZS1tb2JpbGU6YWZ0ZXIsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1zZWxlY3QgLndpc2hsaXN0LW5hbWU6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmFicy10b2dnbGluZy10aXRsZS1tb2JpbGU6YWZ0ZXIsIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1zZWxlY3QgLndpc2hsaXN0LW5hbWU6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDkuNXB4O1xuICAgICAgdG9wOiAwOyB9XG4gICAgLmFicy10b2dnbGluZy10aXRsZS1tb2JpbGUuYWN0aXZlOmFmdGVyLCAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0IC5hY3RpdmUud2lzaGxpc3QtbmFtZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6YoVwiOyB9IH1cblxuLmFicy1uby1kaXNwbGF5LCAuYWJzLXNpZGViYXItdG90YWxzIC50YWJsZS1jYXB0aW9uLCAuY2FydC10b3RhbHMgLnRhYmxlLWNhcHRpb24sIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC50YWJsZS1jYXB0aW9uLCAuc2lkZWJhciAuc3VidGl0bGUsIC5jYXJ0LXN1bW1hcnkgLmJsb2NrIC5maWVsZHNldC5lc3RpbWF0ZSA+IC5sZWdlbmQsXG4uY2FydC1zdW1tYXJ5IC5ibG9jayAuZmllbGRzZXQuZXN0aW1hdGUgPiAubGVnZW5kICsgYnIsIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLWRldGFpbHMgLndlZWVbZGF0YS1sYWJlbF0gLmxhYmVsLCAucGFnZS1wcm9kdWN0LWdpZnRjYXJkIC5maWVsZHNldC5naWZ0Y2FyZCA+IC5sZWdlbmQgKyBiciwgLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLWl0ZW1zIC5vcmRlci1naWZ0LW1lc3NhZ2UgLmFjdGlvbi5jbG9zZSwgLm11bHRpY2hlY2tvdXQgLmJsb2NrIC5tZXRob2RzLXNoaXBwaW5nIC5pdGVtLWNvbnRlbnQgLmZpZWxkc2V0ID4gLmxlZ2VuZCArIGJyLCAubXVsdGljaGVja291dCAuaGlkZGVuLCBbY2xhc3NePSdtdWx0aXNoaXBwaW5nLSddIC5uYXYtc2VjdGlvbnMsXG5bY2xhc3NePSdtdWx0aXNoaXBwaW5nLSddIC5uYXYtdG9nZ2xlLCAuc2lkZWJhci1tYWluIC5ibG9jay1yZW9yZGVyIC5zdWJ0aXRsZSxcbi5zaWRlYmFyLWFkZGl0aW9uYWwgLmJsb2NrLXJlb3JkZXIgLnN1YnRpdGxlLCAubm8tZGlzcGxheSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuYWJzLW5vLWRpc3BsYXktcywgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHRib2R5IHRoLCAub3BjLXdyYXBwZXIgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbS5zZWxlY3RlZC1pdGVtIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hYnMtbm8tZGlzcGxheS1kZXNrdG9wLCAub3BjLWVzdGltYXRlZC13cmFwcGVyLCAuc2lkZWJhciAuYmxvY2sud2lkZ2V0IC5wYWdlciAuaXRlbTpub3QoLnBhZ2VzLWl0ZW0tbmV4dCk6bm90KC5wYWdlcy1pdGVtLXByZXZpb3VzKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5hYnMtc3RhdHVzLCAucmV0dXJuLXN0YXR1cywgLm9yZGVyLXN0YXR1cyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hYnMtcGFnZXItdG9vbGJhci1tb2JpbGUgLnRvb2xiYXItYW1vdW50LCAuYWNjb3VudCAudG9vbGJhciAudG9vbGJhci1hbW91bnQsIC50b29sYmFyLXdpc2hsaXN0LXJlc3VsdHMgLnRvb2xiYXItYW1vdW50LFxuICAuYWJzLXBhZ2VyLXRvb2xiYXItbW9iaWxlIC5saW1pdGVyLFxuICAuYWNjb3VudCAudG9vbGJhciAubGltaXRlcixcbiAgLnRvb2xiYXItd2lzaGxpc3QtcmVzdWx0cyAubGltaXRlcixcbiAgLmFicy1wYWdlci10b29sYmFyLW1vYmlsZSAucGFnZXMsXG4gIC5hY2NvdW50IC50b29sYmFyIC5wYWdlcyxcbiAgLnRvb2xiYXItd2lzaGxpc3QtcmVzdWx0cyAucGFnZXMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDIzLjc1cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5hYnMtcGFnZXItdG9vbGJhci1tb2JpbGUtcyAudG9vbGJhci1hbW91bnQsIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzIC50b29sYmFyLWFtb3VudCxcbiAgLmFicy1wYWdlci10b29sYmFyLW1vYmlsZS1zIC5saW1pdGVyLFxuICAudG9vbGJhci1naWZ0cmVnaXN0cnktcmVzdWx0cyAubGltaXRlcixcbiAgLmFicy1wYWdlci10b29sYmFyLW1vYmlsZS1zIC5wYWdlcyxcbiAgLnRvb2xiYXItZ2lmdHJlZ2lzdHJ5LXJlc3VsdHMgLnBhZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMy43NXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYWJzLXBhZ2VyLXRvb2xiYXIsIC5hY2NvdW50IC50b29sYmFyLCAudG9vbGJhci1naWZ0cmVnaXN0cnktcmVzdWx0cywgLnRvb2xiYXItd2lzaGxpc3QtcmVzdWx0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYWJzLXBhZ2VyLXRvb2xiYXIgLmxpbWl0ZXIsIC5hY2NvdW50IC50b29sYmFyIC5saW1pdGVyLCAudG9vbGJhci1naWZ0cmVnaXN0cnktcmVzdWx0cyAubGltaXRlciwgLnRvb2xiYXItd2lzaGxpc3QtcmVzdWx0cyAubGltaXRlciB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmFicy1wYWdlci10b29sYmFyIC50b29sYmFyLWFtb3VudCwgLmFjY291bnQgLnRvb2xiYXIgLnRvb2xiYXItYW1vdW50LCAudG9vbGJhci1naWZ0cmVnaXN0cnktcmVzdWx0cyAudG9vbGJhci1hbW91bnQsIC50b29sYmFyLXdpc2hsaXN0LXJlc3VsdHMgLnRvb2xiYXItYW1vdW50IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmc6IDdweCAwIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmFicy1wYWdlci10b29sYmFyIC5wYWdlcywgLmFjY291bnQgLnRvb2xiYXIgLnBhZ2VzLCAudG9vbGJhci1naWZ0cmVnaXN0cnktcmVzdWx0cyAucGFnZXMsIC50b29sYmFyLXdpc2hsaXN0LXJlc3VsdHMgLnBhZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICB0b3A6IDYwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDgwcHg7IH0gfVxuXG4uYWJzLWJsb2NrLWl0ZW1zLWNvdW50ZXIsIC5ibG9jay1jb21wYXJlIC5jb3VudGVyLCAuYmxvY2std2lzaGxpc3QgLmNvdW50ZXIge1xuICBjb2xvcjogIzdkN2Q3ZDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zIC5hY3Rpb24uY29udGludWUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLmNvbnRpbnVlLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNvbnRpbnVlIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDdweCAxNXB4IDdweCAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zIC5hY3Rpb24uY29udGludWU6aG92ZXIsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLmNvbnRpbnVlOmhvdmVyLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNvbnRpbnVlOmhvdmVyLCAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMgLmFjdGlvbi5jb250aW51ZTphY3RpdmUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLmNvbnRpbnVlOmFjdGl2ZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi5jb250aW51ZTphY3RpdmUsIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcyAuYWN0aW9uLmNvbnRpbnVlOmZvY3VzLCAuYmxvY2stY2FydC1mYWlsZWQgLmFjdGlvbi5jb250aW51ZTpmb2N1cywgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi5jb250aW51ZTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcyAuYWN0aW9uLmNvbnRpbnVlOmJlZm9yZSwgLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb24uY29udGludWU6YmVmb3JlLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNvbnRpbnVlOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY29udGVudDogXCLumJdcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICBtYXJnaW46IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMgLmFjdGlvbi5jb250aW51ZTpob3ZlcjpiZWZvcmUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLmNvbnRpbnVlOmhvdmVyOmJlZm9yZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi5jb250aW51ZTpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcyAuYWN0aW9uLmNvbnRpbnVlOmFjdGl2ZTpiZWZvcmUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLmNvbnRpbnVlOmFjdGl2ZTpiZWZvcmUsIC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5hY3Rpb24uY29udGludWU6YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zIC5hY3Rpb24uY29udGludWU6Zm9jdXMsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLmNvbnRpbnVlOmZvY3VzLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNvbnRpbnVlOmZvY3VzLCAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMgLmFjdGlvbi5jb250aW51ZTphY3RpdmUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLmNvbnRpbnVlOmFjdGl2ZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi5jb250aW51ZTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMgLmFjdGlvbi5jb250aW51ZTpob3ZlciwgLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb24uY29udGludWU6aG92ZXIsIC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5hY3Rpb24uY29udGludWU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzYjRhNGI7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2I4YjQ5NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMgLmFjdGlvbi5jb250aW51ZS5kaXNhYmxlZCwgLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb24uY29udGludWUuZGlzYWJsZWQsIC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5hY3Rpb24uY29udGludWUuZGlzYWJsZWQsIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcyAuYWN0aW9uLmNvbnRpbnVlW2Rpc2FibGVkXSwgLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb24uY29udGludWVbZGlzYWJsZWRdLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNvbnRpbnVlW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcyAuYWN0aW9uLmNvbnRpbnVlLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb24uY29udGludWUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNvbnRpbnVlLFxuICAuY2FydC1jb250YWluZXIgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNhcnQgLmFjdGlvbi5jb250aW51ZSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMgLmFjdGlvbi51cGRhdGUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLnVwZGF0ZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi51cGRhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiA0Ljc1cHg7IH1cbiAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zIC5hY3Rpb24udXBkYXRlOmJlZm9yZSwgLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb24udXBkYXRlOmJlZm9yZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi51cGRhdGU6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjb250ZW50OiBcIu6Yg1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcyAuYWN0aW9uLnVwZGF0ZTpob3ZlcjpiZWZvcmUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLnVwZGF0ZTpob3ZlcjpiZWZvcmUsIC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5hY3Rpb24udXBkYXRlOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zIC5hY3Rpb24udXBkYXRlOmFjdGl2ZTpiZWZvcmUsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9uLnVwZGF0ZTphY3RpdmU6YmVmb3JlLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLnVwZGF0ZTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcy1tb2JpbGUgLmFjdGlvbnMsIC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLW1vYmlsZSAuYWN0aW9uLnVwZGF0ZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi51cGRhdGUsIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcy1tb2JpbGUgLmFjdGlvbi5jb250aW51ZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi5jb250aW51ZSwgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLW1vYmlsZSAuYWN0aW9uLmNsZWFyLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNsZWFyIHtcbiAgICBtYXJnaW46IDAgYXV0byA5LjVweDsgfVxuICAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMtbW9iaWxlIC5hY3Rpb24udXBkYXRlLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLnVwZGF0ZSwgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLW1vYmlsZSAuYWN0aW9uLmNsZWFyLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLmNsZWFyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLWRlc2t0b3AsIC5ibG9jay1jYXJ0LWZhaWxlZCwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQsIC5jYXJ0LWNvbnRhaW5lciAuY2FydC1naWZ0LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNzMlOyB9XG4gICAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLWRlc2t0b3AgLmFjdGlvbnMsIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9ucywgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbnMsIC5jYXJ0LWNvbnRhaW5lciAuY2FydC1naWZ0LWl0ZW0gLmFjdGlvbnMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMtZGVza3RvcCAuYWN0aW9uLmNsZWFyLCAuYmxvY2stY2FydC1mYWlsZWQgLmFjdGlvbi5jbGVhciwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi5jbGVhciwgLmNhcnQtY29udGFpbmVyIC5jYXJ0LWdpZnQtaXRlbSAuYWN0aW9uLmNsZWFyLCAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMtZGVza3RvcCAuYWN0aW9uLnVwZGF0ZSwgLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb24udXBkYXRlLCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuYWN0aW9uLnVwZGF0ZSwgLmNhcnQtY29udGFpbmVyIC5jYXJ0LWdpZnQtaXRlbSAuYWN0aW9uLnVwZGF0ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogOS41cHg7IH1cbiAgICAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMtZGVza3RvcCAuYWN0aW9uLmNvbnRpbnVlLCAuYmxvY2stY2FydC1mYWlsZWQgLmFjdGlvbi5jb250aW51ZSwgLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmFjdGlvbi5jb250aW51ZSwgLmNhcnQtY29udGFpbmVyIC5jYXJ0LWdpZnQtaXRlbSAuYWN0aW9uLmNvbnRpbnVlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLmFicy1maWVsZC1kYXRlIC5jb250cm9sLCAuZmllbGQuZGF0ZSAuY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYWJzLWZpZWxkLWRhdGUtaW5wdXQsIC5hYnMtZmllbGQtZGF0ZSBpbnB1dCwgLmZpZWxkLmRhdGUgaW5wdXQsIC5mb3JtLWdpZnRyZWdpc3RyeS1zZWFyY2ggLmZpZWxkcy1zcGVjaWZpYy1vcHRpb25zIC5kYXRldGltZS1waWNrZXIge1xuICBtYXJnaW4tcmlnaHQ6IDkuNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDkuNXB4KTsgfVxuXG4uYWJzLWZpZWxkLXRvb2x0aXAsIC5maWVsZCAuY29udHJvbC5fd2l0aC10b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hYnMtZmllbGQtdG9vbHRpcCBpbnB1dCwgLmZpZWxkIC5jb250cm9sLl93aXRoLXRvb2x0aXAgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogOS41cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1LjI1cHgpOyB9XG5cbi5hYnMtY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uLXRvcCwgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1wb3B1cCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50LCAuc2hpcHBpbmctcG9saWN5LWJsb2NrLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gIHJpZ2h0OiAtOS41cHg7XG4gIHRvcDogMzhweDtcbiAgbGVmdDogYXV0bzsgfVxuICAuYWJzLWNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1wb3NpdGlvbi10b3A6YmVmb3JlLCAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXBvcHVwIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuc2hpcHBpbmctcG9saWN5LWJsb2NrLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5hYnMtY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uLXRvcDphZnRlciwgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1wb3B1cCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyLCAuc2hpcHBpbmctcG9saWN5LWJsb2NrLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIG1hcmdpbi10b3A6IC0xOXB4O1xuICAgIHJpZ2h0OiA5LjVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuYWJzLWNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1wb3NpdGlvbi10b3A6YmVmb3JlLCAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXBvcHVwIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuc2hpcHBpbmctcG9saWN5LWJsb2NrLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjY2M7IH1cbiAgLmFicy1jaGVja291dC10b29sdGlwLWNvbnRlbnQtcG9zaXRpb24tdG9wOmFmdGVyLCAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXBvcHVwIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsIC5zaGlwcGluZy1wb2xpY3ktYmxvY2suZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZjRmNGY0O1xuICAgIHRvcDogMXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFicy1jaGVja291dC10b29sdGlwLWNvbnRlbnQtcG9zaXRpb24tdG9wLW1vYmlsZSwgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgcmlnaHQ6IC05LjVweDtcbiAgICB0b3A6IDM4cHg7XG4gICAgbGVmdDogYXV0bzsgfVxuICAgIC5hYnMtY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uLXRvcC1tb2JpbGU6YmVmb3JlLCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmFicy1jaGVja291dC10b29sdGlwLWNvbnRlbnQtcG9zaXRpb24tdG9wLW1vYmlsZTphZnRlciwgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBib3JkZXI6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTE5cHg7XG4gICAgICByaWdodDogOS41cHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgdG9wOiAwOyB9XG4gICAgLmFicy1jaGVja291dC10b29sdGlwLWNvbnRlbnQtcG9zaXRpb24tdG9wLW1vYmlsZTpiZWZvcmUsIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjY2M7IH1cbiAgICAuYWJzLWNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1wb3NpdGlvbi10b3AtbW9iaWxlOmFmdGVyLCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmNGY0ZjQ7XG4gICAgICB0b3A6IDFweDsgfSB9XG5cbi5hYnMtY2hlY2tvdXQtdGl0bGUsIC5vcGMtd3JhcHBlciAuc3RlcC10aXRsZSwgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUsIC5vcGMtYmxvY2stc3VtbWFyeSA+IC50aXRsZSwgLmNoZWNrb3V0LWFncmVlbWVudHMtaXRlbXMgLmNoZWNrb3V0LWFncmVlbWVudHMtaXRlbS10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nLWJvdHRvbTogOS41cHg7XG4gIGNvbG9yOiAjM2I0YTRiO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDIuNnJlbTsgfVxuXG4uYWJzLXNpZGViYXItdG90YWxzIC5tYXJrLCAuY2FydC10b3RhbHMgLm1hcmssIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC5tYXJrIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7IH1cbiAgLmFicy1zaWRlYmFyLXRvdGFscyAubWFyayBzdHJvbmcsIC5jYXJ0LXRvdGFscyAubWFyayBzdHJvbmcsIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC5tYXJrIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uYWJzLXNpZGViYXItdG90YWxzIC5hbW91bnQsIC5jYXJ0LXRvdGFscyAuYW1vdW50LCAub3BjLWJsb2NrLXN1bW1hcnkgLnRhYmxlLXRvdGFscyAuYW1vdW50IHtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuYWJzLXNpZGViYXItdG90YWxzIC5hbW91bnQgc3Ryb25nLCAuY2FydC10b3RhbHMgLmFtb3VudCBzdHJvbmcsIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC5hbW91bnQgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5hYnMtc2lkZWJhci10b3RhbHMgLmdyYW5kIC5tYXJrLCAuY2FydC10b3RhbHMgLmdyYW5kIC5tYXJrLCAub3BjLWJsb2NrLXN1bW1hcnkgLnRhYmxlLXRvdGFscyAuZ3JhbmQgLm1hcmssXG4uYWJzLXNpZGViYXItdG90YWxzIC5ncmFuZCAuYW1vdW50LFxuLmNhcnQtdG90YWxzIC5ncmFuZCAuYW1vdW50LFxuLm9wYy1ibG9jay1zdW1tYXJ5IC50YWJsZS10b3RhbHMgLmdyYW5kIC5hbW91bnQge1xuICBwYWRkaW5nLXRvcDogMTlweDsgfVxuXG5cbi5hYnMtc2lkZWJhci10b3RhbHMgLmdyYW5kIC5hbW91bnQsXG4uY2FydC10b3RhbHMgLmdyYW5kIC5hbW91bnQsXG4ub3BjLWJsb2NrLXN1bW1hcnkgLnRhYmxlLXRvdGFscyAuZ3JhbmQgLmFtb3VudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmFicy1zaWRlYmFyLXRvdGFscyAuZ3JhbmQgLmFtb3VudCBzdHJvbmcsIC5jYXJ0LXRvdGFscyAuZ3JhbmQgLmFtb3VudCBzdHJvbmcsIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC5ncmFuZCAuYW1vdW50IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYWJzLXNpZGViYXItdG90YWxzIC5tc3JwLCAuY2FydC10b3RhbHMgLm1zcnAsIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC5tc3JwIHtcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cblxuLmFicy1zaWRlYmFyLXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5IC5tYXJrLCAuY2FydC10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeSAubWFyaywgLm9wYy1ibG9jay1zdW1tYXJ5IC50YWJsZS10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeSAubWFyayxcbi5hYnMtc2lkZWJhci10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeSAuYW1vdW50LFxuLmNhcnQtdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkgLmFtb3VudCxcbi5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkgLmFtb3VudCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5hYnMtc2lkZWJhci10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeSAuYW1vdW50IC5wcmljZSwgLmNhcnQtdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkgLmFtb3VudCAucHJpY2UsIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkgLmFtb3VudCAucHJpY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiAyMy43NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFicy1zaWRlYmFyLXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5IC5hbW91bnQgLnByaWNlID4gc3BhbiwgLmNhcnQtdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkgLmFtb3VudCAucHJpY2UgPiBzcGFuLCAub3BjLWJsb2NrLXN1bW1hcnkgLnRhYmxlLXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5IC5hbW91bnQgLnByaWNlID4gc3BhbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfVxuICAuYWJzLXNpZGViYXItdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkgLmFtb3VudCAucHJpY2U6YWZ0ZXIsIC5jYXJ0LXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5IC5hbW91bnQgLnByaWNlOmFmdGVyLCAub3BjLWJsb2NrLXN1bW1hcnkgLnRhYmxlLXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5IC5hbW91bnQgLnByaWNlOmFmdGVyIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjb250ZW50OiBcIu6YolwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFicy1zaWRlYmFyLXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5IC5hbW91bnQgLnByaWNlOmFmdGVyLCAuY2FydC10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeSAuYW1vdW50IC5wcmljZTphZnRlciwgLm9wYy1ibG9jay1zdW1tYXJ5IC50YWJsZS10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeSAuYW1vdW50IC5wcmljZTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNXB4O1xuICAgIHRvcDogLTEycHg7IH1cblxuLmFicy1zaWRlYmFyLXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5LmV4cGFuZGVkIC5tYXJrLCAuY2FydC10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeS5leHBhbmRlZCAubWFyaywgLm9wYy1ibG9jay1zdW1tYXJ5IC50YWJsZS10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeS5leHBhbmRlZCAubWFyayxcbi5hYnMtc2lkZWJhci10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeS5leHBhbmRlZCAuYW1vdW50LFxuLmNhcnQtdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkuZXhwYW5kZWQgLmFtb3VudCxcbi5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC50b3RhbHMtdGF4LXN1bW1hcnkuZXhwYW5kZWQgLmFtb3VudCB7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmFicy1zaWRlYmFyLXRvdGFscyAudG90YWxzLXRheC1zdW1tYXJ5LmV4cGFuZGVkIC5hbW91bnQgLnByaWNlOmFmdGVyLCAuY2FydC10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeS5leHBhbmRlZCAuYW1vdW50IC5wcmljZTphZnRlciwgLm9wYy1ibG9jay1zdW1tYXJ5IC50YWJsZS10b3RhbHMgLnRvdGFscy10YXgtc3VtbWFyeS5leHBhbmRlZCAuYW1vdW50IC5wcmljZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7pihXCI7IH1cblxuLmFicy1zaWRlYmFyLXRvdGFscyAudG90YWxzLXRheC1kZXRhaWxzLCAuY2FydC10b3RhbHMgLnRvdGFscy10YXgtZGV0YWlscywgLm9wYy1ibG9jay1zdW1tYXJ5IC50YWJsZS10b3RhbHMgLnRvdGFscy10YXgtZGV0YWlscyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxOyB9XG4gIC5hYnMtc2lkZWJhci10b3RhbHMgLnRvdGFscy10YXgtZGV0YWlscy5zaG93biwgLmNhcnQtdG90YWxzIC50b3RhbHMtdGF4LWRldGFpbHMuc2hvd24sIC5vcGMtYmxvY2stc3VtbWFyeSAudGFibGUtdG90YWxzIC50b3RhbHMtdGF4LWRldGFpbHMuc2hvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG4uYWJzLWRpc2NvdW50LWJsb2NrID4gLnRpdGxlLCAuY2FydC1zdW1tYXJ5IC5ibG9jayA+IC50aXRsZSwgLnBheXBhbC1yZXZpZXctZGlzY291bnQgLmJsb2NrID4gLnRpdGxlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogN3B4IDI4LjVweCA3cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hYnMtZGlzY291bnQtYmxvY2sgPiAudGl0bGU6YWZ0ZXIsIC5jYXJ0LXN1bW1hcnkgLmJsb2NrID4gLnRpdGxlOmFmdGVyLCAucGF5cGFsLXJldmlldy1kaXNjb3VudCAuYmxvY2sgPiAudGl0bGU6YWZ0ZXIge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYWJzLWRpc2NvdW50LWJsb2NrID4gLnRpdGxlOmFmdGVyLCAuY2FydC1zdW1tYXJ5IC5ibG9jayA+IC50aXRsZTphZnRlciwgLnBheXBhbC1yZXZpZXctZGlzY291bnQgLmJsb2NrID4gLnRpdGxlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTExLjVweDsgfVxuICAuY29sdW1uLm1haW4gLmFicy1kaXNjb3VudC1ibG9jayA+IC50aXRsZSBzdHJvbmcsIC5jb2x1bW4ubWFpbiAuY2FydC1zdW1tYXJ5IC5ibG9jayA+IC50aXRsZSBzdHJvbmcsIC5jYXJ0LXN1bW1hcnkgLmNvbHVtbi5tYWluIC5ibG9jayA+IC50aXRsZSBzdHJvbmcsIC5jb2x1bW4ubWFpbiAucGF5cGFsLXJldmlldy1kaXNjb3VudCAuYmxvY2sgPiAudGl0bGUgc3Ryb25nLCAucGF5cGFsLXJldmlldy1kaXNjb3VudCAuY29sdW1uLm1haW4gLmJsb2NrID4gLnRpdGxlIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uYWJzLWRpc2NvdW50LWJsb2NrID4gLmNvbnRlbnQsIC5jYXJ0LXN1bW1hcnkgLmJsb2NrID4gLmNvbnRlbnQsIC5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IC5ibG9jayA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWJzLWRpc2NvdW50LWJsb2NrLmFjdGl2ZSA+IC50aXRsZTphZnRlciwgLmNhcnQtc3VtbWFyeSAuYWN0aXZlLmJsb2NrID4gLnRpdGxlOmFmdGVyLCAucGF5cGFsLXJldmlldy1kaXNjb3VudCAuYWN0aXZlLmJsb2NrID4gLnRpdGxlOmFmdGVyIHtcbiAgY29udGVudDogXCLumKFcIjsgfVxuXG4uYWJzLWRpc2NvdW50LWJsb2NrLmFjdGl2ZSA+IC5jb250ZW50LCAuY2FydC1zdW1tYXJ5IC5hY3RpdmUuYmxvY2sgPiAuY29udGVudCwgLnBheXBhbC1yZXZpZXctZGlzY291bnQgLmFjdGl2ZS5ibG9jayA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gIHBhZGRpbmc6IDAgMS42cmVtOyB9XG5cbi5jb250YWN0LWJsb2NrX19pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjU7IH1cblxuLmNvbnRhY3QtYmxvY2tfX3RpdGxlLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29udGFjdC1ibG9ja19fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICBwYWRkaW5nOiAwIDE1JSA0LjVyZW0gMTUlO1xuICBtYXJnaW46IDAgMiU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kcy9jaGFwdGVyLWJhY2tncm91bmQtLWJvdHRvbWhhbGYtLXdoaXRlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBcInNhbnMtc2VyaWZcIjtcbiAgZm9udC1zaXplOiAzLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5jb250YWN0LWJsb2NrX19jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwLjRyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiA1cmVtIDMuMnJlbSA5cmVtIDMuMnJlbTsgfVxuXG4uY29udGFjdC1ibG9ja19fY29udGVudC1jb250YWluZXItaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgLTEuNnJlbTsgfVxuXG4uY29udGFjdC1ibG9ja19fY29udGFjdC1wZXJzb25zIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2JTtcbiAgcGFkZGluZzogMCAxLjZyZW07IH1cblxuLmNvbnRhY3QtYmxvY2tfX2NvbnRhY3QtcGVyc29uLWl0ZW1zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIC0xLjNyZW0gLTIuNnJlbSAtMS4zcmVtOyB9XG5cbi5jb250YWN0LWJsb2NrX19jb250YWN0LXBlcnNvbi1pdGVtIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMi42cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cblxuLmNvbnRhY3QtcGVyc29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMCAxLjNyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgLyogQ3VycmVudGx5IG5vdCBpbiB1c2UsIG1pbWljcyBEcnVwYWwgbGF5b3V0ICovXG4gIC8qIERydXBhbCBjb250YWN0IGVudHJpZXMgKi9cbiAgLyogRW5kIERydXBhbCBzdHlsZSBlbnRyaWVzICovIH1cbiAgLmNvbnRhY3QtcGVyc29uIC5jcC1ibG9jay10ZWFzZXJfX2NvbnRhaW5lciB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgLyogQmVsb3cgcnVsZXMgYXBwbHkgdG8gb3JpZ2luYWwgRHJ1cGFsIGxheW91dCB3aXRoIGNvbnRhY3QgaW1hZ2UgKi8gfVxuICAuY29udGFjdC1wZXJzb24gLmNwLWJsb2NrLXRlYXNlcl9fY29udGFpbmVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCAtMC44cmVtOyB9XG4gIC5jb250YWN0LXBlcnNvbiAuY3AtYmxvY2stdGVhc2VyX19pbWFnZS1ibG9jayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDkuOHJlbTtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgICAuY29udGFjdC1wZXJzb24gLmNwLWJsb2NrLXRlYXNlcl9faW1hZ2UtYmxvY2sgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmNvbnRhY3QtcGVyc29uIC5jcC1ibG9jay10ZWFzZXJfX2ltYWdlLWJsb2NrIGltZzo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY1OyB9XG4gIC5jb250YWN0LXBlcnNvbiAuY3AtYmxvY2stdGVhc2VyX190ZXh0LWJsb2NrIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgLyogTWFnZW50byBjb250YWN0IGJsb2NrICovXG4gICAgY29sb3I6ICMzYjRhNGI7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgIC5jb250YWN0LXBlcnNvbiAuY3AtYmxvY2stdGVhc2VyX190ZXh0LWJsb2NrIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jb250YWN0LXBlcnNvbiAuY3AtYmxvY2stdGVhc2VyX190ZXh0LWJsb2NrIGE6aG92ZXIsIC5jb250YWN0LXBlcnNvbiAuY3AtYmxvY2stdGVhc2VyX190ZXh0LWJsb2NrIGE6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY29udGFjdC1wZXJzb24gLmNwLWJsb2NrLXRlYXNlcl9fdGV4dC1ibG9jay1pbm5lciB7XG4gICAgcGFkZGluZzogMCAwLjhyZW07IH1cbiAgLmNvbnRhY3QtcGVyc29uIC5jcC1ibG9jay10ZWFzZXJfX25hbWUge1xuICAgIGNvbG9yOiAjM2M2MjZmO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAuY29udGFjdC1wZXJzb24gLmNwLWJsb2NrLXRlYXNlcl9fZnVuY3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6ICMzYzYyNmY7IH1cbiAgLmNvbnRhY3QtcGVyc29uIC5jcC1ibG9jay10ZWFzZXJfX2NvbnRhY3QtZGV0YWlscyB7XG4gICAgbWFyZ2luLXRvcDogMC40cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4uY29udGFjdC1ibG9ja19fbG9jYXRpb25zIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzJTtcbiAgcGFkZGluZzogMCAxLjZyZW07IH1cbiAgLmNvbnRhY3QtYmxvY2tfX2xvY2F0aW9ucyAuY2wtYmxvY2stdGVhc2VyX19hZGRyZXNzIHtcbiAgICBjb2xvcjogIzNiNGE0YjtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIC8qIERydXBhbCBzdHlsZSAqL1xuICAgIC8qIEVuZCBEcnVwYWwgc3R5bGUgKi8gfVxuICAgIC5jb250YWN0LWJsb2NrX19sb2NhdGlvbnMgLmNsLWJsb2NrLXRlYXNlcl9fYWRkcmVzcyAuYWRkcmVzc19fbGluZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jb250YWN0LWJsb2NrX19sb2NhdGlvbnMgLmNsLWJsb2NrLXRlYXNlcl9fYWRkcmVzcyAub3JnYW5pemF0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLmNvbnRhY3QtYmxvY2tfX2xvY2F0aW9ucyAuY2wtYmxvY2stdGVhc2VyX19hZGRyZXNzIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jb250YWN0LWJsb2NrX19sb2NhdGlvbnMgLmNsLWJsb2NrLXRlYXNlcl9fYWRkcmVzcyBhOmhvdmVyLCAuY29udGFjdC1ibG9ja19fbG9jYXRpb25zIC5jbC1ibG9jay10ZWFzZXJfX2FkZHJlc3MgYTpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jb250YWN0LWJsb2NrX19zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGNvbG9yOiAjYjhiNDk2O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBcInNhbnMtc2VyaWZcIjtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLmNvbnRhY3QtcGVyc29uIC5jcC1ibG9jay10ZWFzZXJfX2ltYWdlLWJsb2NrIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNvbnRhY3QtcGVyc29uIC5jcC1ibG9jay10ZWFzZXJfX3RleHQtYmxvY2sge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jb250YWN0LWJsb2NrX19jb250YWN0LXBlcnNvbnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb250YWN0LWJsb2NrX19sb2NhdGlvbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgLmNvbnRhY3QtYmxvY2tfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICBwYWRkaW5nOiAwIDEwJSAycmVtIDEwJTsgfVxuICAuY29udGFjdC1ibG9ja19fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5jb250YWN0LWJsb2NrX190aXRsZSB7XG4gICAgcGFkZGluZzogMCAxMCUgNC41cmVtIDEwJTsgfVxuICAuY29udGFjdC1ibG9ja19fY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDNyZW0gMi41cmVtIDZyZW0gMi41cmVtOyB9XG4gIC5jb250YWN0LWJsb2NrX19jb250YWN0LXBlcnNvbi1pdGVtcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH1cbiAgLmNvbnRhY3QtYmxvY2tfX2NvbnRhY3QtcGVyc29uLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNvbnRhY3QtcGVyc29uIC5jcC1ibG9jay10ZWFzZXJfX2ltYWdlLWJsb2NrIHtcbiAgICBmbGV4LWJhc2lzOiA3cmVtOyB9XG4gIC5jb250YWN0LXBlcnNvbiAuY3AtYmxvY2stdGVhc2VyX19uYW1lIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb250YWN0LWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAzLjJyZW07XG4gICAgcGFkZGluZzogMCAzLjJyZW07IH0gfVxuXG4uZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDM4cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMWVtOyB9XG4gIC5maWVsZHNldCA+ICoge1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLmZpZWxkc2V0ID4gLmxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwIDAgMjMuNzVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAuZmllbGRzZXQgPiAubGVnZW5kICsgYnIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmZpZWxkc2V0ID4gLmZpZWxkLFxuICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIHtcbiAgICBtYXJnaW46IDAgMCAxOXB4OyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkID4gLmxhYmVsLFxuICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgPiAubGFiZWwge1xuICAgICAgbWFyZ2luOiAwIDAgNC43NXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkOmxhc3QtY2hpbGQsXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZmllbGRzZXQgPiAuZmllbGQgPiAubGFiZWwsXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCA+IC5sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuZmllbGRzZXQgPiAuZmllbGQgPiAubGFiZWwgKyBicixcbiAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgPiAubGFiZWwgKyBiciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmllbGRzZXQgPiAuZmllbGQgLmNob2ljZSBpbnB1dCxcbiAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5jaG9pY2UgaW5wdXQge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCAuZmllbGRzLmdyb3VwOmJlZm9yZSwgLmZpZWxkc2V0ID4gLmZpZWxkIC5maWVsZHMuZ3JvdXA6YWZ0ZXIsXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuZmllbGRzLmdyb3VwOmJlZm9yZSxcbiAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5maWVsZHMuZ3JvdXA6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCAuZmllbGRzLmdyb3VwOmFmdGVyLFxuICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmZpZWxkcy5ncm91cDphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCAuZmllbGRzLmdyb3VwIC5maWVsZCxcbiAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5maWVsZHMuZ3JvdXAgLmZpZWxkIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCAuZmllbGRzLmdyb3VwLmdyb3VwLTIgLmZpZWxkLFxuICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmZpZWxkcy5ncm91cC5ncm91cC0yIC5maWVsZCB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGRzZXQgPiAuZmllbGQgLmZpZWxkcy5ncm91cC5ncm91cC0zIC5maWVsZCxcbiAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5maWVsZHMuZ3JvdXAuZ3JvdXAtMyAuZmllbGQge1xuICAgICAgd2lkdGg6IDMzLjMlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGRzZXQgPiAuZmllbGQgLmZpZWxkcy5ncm91cC5ncm91cC00IC5maWVsZCxcbiAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5maWVsZHMuZ3JvdXAuZ3JvdXAtNCAuZmllbGQge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5maWVsZHMuZ3JvdXAuZ3JvdXAtNSAuZmllbGQsXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuZmllbGRzLmdyb3VwLmdyb3VwLTUgLmZpZWxkIHtcbiAgICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCAuYWRkb24sXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5hZGRvbiB0ZXh0YXJlYSxcbiAgICAgIC5maWVsZHNldCA+IC5maWVsZCAuYWRkb24gc2VsZWN0LFxuICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5hZGRvbiBpbnB1dCxcbiAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmFkZG9uIHRleHRhcmVhLFxuICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24gc2VsZWN0LFxuICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24gaW5wdXQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAuZmllbGRzZXQgPiAuZmllbGQgLmFkZG9uIC5hZGRiZWZvcmUsXG4gICAgICAuZmllbGRzZXQgPiAuZmllbGQgLmFkZG9uIC5hZGRhZnRlcixcbiAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmFkZG9uIC5hZGRiZWZvcmUsXG4gICAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5hZGRvbiAuYWRkYWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZjJmMmVkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGhlaWdodDogNC4zcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5hZGRvbiAuYWRkYmVmb3JlOmZvY3VzLFxuICAgICAgICAuZmllbGRzZXQgPiAuZmllbGQgLmFkZG9uIC5hZGRhZnRlcjpmb2N1cyxcbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24gLmFkZGJlZm9yZTpmb2N1cyxcbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24gLmFkZGFmdGVyOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjN2U4ODg5OyB9XG4gICAgICAgIC5maWVsZHNldCA+IC5maWVsZCAuYWRkb24gLmFkZGJlZm9yZTpkaXNhYmxlZCxcbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5hZGRvbiAuYWRkYWZ0ZXI6ZGlzYWJsZWQsXG4gICAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmFkZG9uIC5hZGRiZWZvcmU6ZGlzYWJsZWQsXG4gICAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmFkZG9uIC5hZGRhZnRlcjpkaXNhYmxlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgICAgIC5maWVsZHNldCA+IC5maWVsZCAuYWRkb24gLmFkZGJlZm9yZTo6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5hZGRvbiAuYWRkYWZ0ZXI6Oi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmFkZG9uIC5hZGRiZWZvcmU6Oi1tb3otcGxhY2Vob2xkZXIsXG4gICAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmFkZG9uIC5hZGRhZnRlcjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgY29sb3I6ICNjMmMyYzI7IH1cbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5hZGRvbiAuYWRkYmVmb3JlOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgICAuZmllbGRzZXQgPiAuZmllbGQgLmFkZG9uIC5hZGRhZnRlcjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24gLmFkZGJlZm9yZTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24gLmFkZGFmdGVyOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogI2MyYzJjMjsgfVxuICAgICAgICAuZmllbGRzZXQgPiAuZmllbGQgLmFkZG9uIC5hZGRiZWZvcmU6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgICAuZmllbGRzZXQgPiAuZmllbGQgLmFkZG9uIC5hZGRhZnRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmFkZG9uIC5hZGRiZWZvcmU6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5hZGRvbiAuYWRkYWZ0ZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogI2MyYzJjMjsgfVxuICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5hZGRvbiAuYWRkYmVmb3JlLFxuICAgICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAuYWRkb24gLmFkZGJlZm9yZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCAuYWRkaXRpb25hbCxcbiAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5hZGRpdGlvbmFsIHtcbiAgICAgIG1hcmdpbi10b3A6IDkuNXB4OyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkLnJlcXVpcmVkID4gLmxhYmVsOmFmdGVyLFxuICAgIC5maWVsZHNldCA+IC5maWVsZC5fcmVxdWlyZWQgPiAubGFiZWw6YWZ0ZXIsXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZC5yZXF1aXJlZCA+IC5sYWJlbDphZnRlcixcbiAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkLl9yZXF1aXJlZCA+IC5sYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnKic7XG4gICAgICBjb2xvcjogI2UwMmIyNztcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMCA0Ljc1cHg7IH1cbiAgICAuZmllbGRzZXQgPiAuZmllbGQgLm5vdGUsXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAubm90ZSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIG1hcmdpbjogM3B4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5maWVsZHNldCA+IC5maWVsZCAubm90ZTpiZWZvcmUsXG4gICAgICAuZmllbGRzZXQgPiAuZmllbGRzID4gLmZpZWxkIC5ub3RlOmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICBjb250ZW50OiBcIu6YmFwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkLmNob2ljZSAubGFiZWwsXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZC5jaG9pY2UgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuY29sdW1uOm5vdCgubWFpbikgLmZpZWxkc2V0ID4gLmZpZWxkIC5sYWJlbCwgLmNvbHVtbjpub3QoLm1haW4pXG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkcyA+IC5maWVsZCAubGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCAuZmllbGQuY2hvaWNlLFxuICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgLmZpZWxkLmNob2ljZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5LjVweDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZCBpbnB1dFt0eXBlPWZpbGVdLFxuICAgIC5maWVsZHNldCA+IC5maWVsZHMgPiAuZmllbGQgaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgICBtYXJnaW46IDQuNzVweCAwOyB9XG5cbi5sZWdlbmQgKyAuZmllbGRzZXQsXG4ubGVnZW5kICsgZGl2IHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmxlZ2VuZCBzdHJvbmcge1xuICBtYXJnaW4tbGVmdDogNC43NXB4OyB9XG5cbmZpZWxkc2V0LmZpZWxkIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5maWVsZC5kYXRlIC50aW1lLXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogOS41cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZpZWxkIC5tZXNzYWdlLndhcm5pbmcge1xuICBtYXJnaW4tdG9wOiA5LjVweDsgfVxuXG4uZmllbGQtZXJyb3IsXG5kaXYubWFnZS1lcnJvcltnZW5lcmF0ZWRdIHtcbiAgbWFyZ2luLXRvcDogN3B4OyB9XG5cbi5maWVsZC1lcnJvciB7XG4gIGNvbG9yOiAjZTAyYjI3O1xuICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4uZmllbGQgLnRvb2x0aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpZWxkIC50b29sdGlwIC50b29sdGlwLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogMDsgfVxuICAgIC5maWVsZCAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50OmFmdGVyLCAuZmllbGQgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAuZmllbGQgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmllbGQgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZpZWxkIC50b29sdGlwIC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsIC5maWVsZCAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICByaWdodDogMTAwJTsgfVxuICAgIC5maWVsZCAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICB0b3A6IDE1cHg7IH1cbiAgICAuZmllbGQgLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjYmJiO1xuICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgIHRvcDogMTVweDsgfVxuICAuZmllbGQgLnRvb2x0aXAgLnRvb2x0aXAtdG9nZ2xlIHtcbiAgICBjdXJzb3I6IGhlbHA7IH1cbiAgLmZpZWxkIC50b29sdGlwIC50b29sdGlwLXRvZ2dsZTpob3ZlciArIC50b29sdGlwLWNvbnRlbnQsXG4gIC5maWVsZCAudG9vbHRpcCAudG9vbHRpcC10b2dnbGU6Zm9jdXMgKyAudG9vbHRpcC1jb250ZW50LFxuICAuZmllbGQgLnRvb2x0aXA6aG92ZXIgLnRvb2x0aXAtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZpZWxkIC50b29sdGlwIC50b29sdGlwLWNvbnRlbnQge1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5pbnB1dDpmb2N1cyB+IC50b29sdGlwIC50b29sdGlwLWNvbnRlbnQsXG5zZWxlY3Q6Zm9jdXMgfiAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLl9oYXMtZGF0ZXBpY2tlciB+IC51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuX2hhcy1kYXRlcGlja2VyIH4gLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpmb2N1cywgLl9oYXMtZGF0ZXBpY2tlciB+IC51aS1kYXRlcGlja2VyLXRyaWdnZXI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuX2hhcy1kYXRlcGlja2VyIH4gLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLl9oYXMtZGF0ZXBpY2tlciB+IC51aS1kYXRlcGlja2VyLXRyaWdnZXIuZGlzYWJsZWQsIC5faGFzLWRhdGVwaWNrZXIgfiAudWktZGF0ZXBpY2tlci10cmlnZ2VyW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5faGFzLWRhdGVwaWNrZXIgfiAudWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuX2hhcy1kYXRlcGlja2VyIH4gLnVpLWRhdGVwaWNrZXItdHJpZ2dlciA+IHNwYW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLl9oYXMtZGF0ZXBpY2tlciB+IC51aS1kYXRlcGlja2VyLXRyaWdnZXI6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICBjb250ZW50OiBcIu6YklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLl9oYXMtZGF0ZXBpY2tlciB+IC51aS1kYXRlcGlja2VyLXRyaWdnZXI6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG4gIC5maWVsZC5jaG9pY2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgLmxhYmVsLFxuICAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjJyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyAubGFiZWw6OmJlZm9yZSxcbiAgICAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDAuMnJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyNTBtcztcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkY2RhY2I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyAubGFiZWw6aG92ZXI6OmJlZm9yZSxcbiAgICAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0YTRiOyB9XG4gIC5maWVsZC5jaG9pY2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAubGFiZWw6OmFmdGVyLFxuICAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6YkFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBjb2xvcjogIzNiNGE0YjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIC5sYWJlbCxcbiAgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgY29sb3I6ICM5ZGE0YTM7IH1cbiAgICAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIC5sYWJlbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5maWVsZC5jaG9pY2UgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5zaWRlYmFyIC5maWVsZHNldCB7XG4gIG1hcmdpbjogMDsgfVxuICAuc2lkZWJhciAuZmllbGRzZXQgPiAuZmllbGQ6bm90KC5jaG9pY2UpOm5vdCg6bGFzdC1jaGlsZCksXG4gIC5zaWRlYmFyIC5maWVsZHNldCAuZmllbGRzID4gLmZpZWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbjogMCAwIDE5cHg7IH1cbiAgLnNpZGViYXIgLmZpZWxkc2V0ID4gLmZpZWxkOm5vdCguY2hvaWNlKSAubGFiZWwsXG4gIC5zaWRlYmFyIC5maWVsZHNldCAuZmllbGRzID4gLmZpZWxkIC5sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIHBhZGRpbmc6IDAgMCA0Ljc1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2lkZWJhciAuZmllbGRzZXQgPiAuZmllbGQ6bm90KC5jaG9pY2UpIC5jb250cm9sLFxuICAuc2lkZWJhciAuZmllbGRzZXQgLmZpZWxkcyA+IC5maWVsZCAuY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi5tYWluIC5jYXJ0LWRpc2NvdW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xlYXI6IGxlZnQ7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNzMlO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLnRpdGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNvbHVtbi5tYWluIC5jYXJ0LWRpc2NvdW50IC5ibG9jayAudGl0bGU6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbnRlbnQ6IFwi7pihXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNvbHVtbi5tYWluIC5jYXJ0LWRpc2NvdW50IC5ibG9jayAudGl0bGU6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLnRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmNvbHVtbi5tYWluIC5jYXJ0LWRpc2NvdW50IC5ibG9jayAudGl0bGU6aG92ZXI6OmFmdGVyLCAuY29sdW1uLm1haW4gLmNhcnQtZGlzY291bnQgLmJsb2NrIC50aXRsZTpmb2N1czo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLnRpdGxlOmhvdmVyIHN0cm9uZywgLmNvbHVtbi5tYWluIC5jYXJ0LWRpc2NvdW50IC5ibG9jayAudGl0bGU6Zm9jdXMgc3Ryb25nIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNvbHVtbi5tYWluIC5jYXJ0LWRpc2NvdW50IC5ibG9jayAudGl0bGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY29sdW1uLm1haW4gLmNhcnQtZGlzY291bnQgLmJsb2NrIC50aXRsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbHVtbi5tYWluIC5jYXJ0LWRpc2NvdW50IC5ibG9jayBmb3JtIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLmxhYmVsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLmZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG4gIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCAuYmxvY2sgLmFjdGlvbi5jYW5jZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAzOSwgMzAsIDAuNyk7IH1cbiAgICAuY29sdW1uLm1haW4gLmNhcnQtZGlzY291bnQgLmJsb2NrIC5hY3Rpb24uY2FuY2VsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAzOSwgMzAsIDAuOCk7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmllbGRzZXQgPiAuZmllbGQge1xuICAgIG1hcmdpbjogMCAwIDE5cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgMCAyOXB4OyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkID4gLmxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZDpiZWZvcmUsIC5maWVsZHNldCA+IC5maWVsZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkLmNob2ljZTpiZWZvcmUsIC5maWVsZHNldCA+IC5maWVsZC5uby1sYWJlbDpiZWZvcmUge1xuICAgICAgcGFkZGluZzogNnB4IDE1cHggMCAwO1xuICAgICAgd2lkdGg6IDMyJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGhlaWdodDogMXB4OyB9XG4gICAgLmZpZWxkc2V0ID4gLmZpZWxkIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiA2cHggMTVweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHdpZHRoOiAzMiU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuZmllbGRzZXQgPiAuZmllbGQ6bm90KC5jaG9pY2UpID4gLmxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDZweCAxNXB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgd2lkdGg6IDMyJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5maWVsZHNldCA+IC5maWVsZDpub3QoLmNob2ljZSkgPiAuY29udHJvbCB7XG4gICAgICB3aWR0aDogNjglO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5jb2x1bW4ubWFpbiAuY2FydC1kaXNjb3VudCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZHVvLW1hZ2VudG8taWNvbnMvRHVvLU1hZ2VudG8tSWNvbnMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2R1by1tYWdlbnRvLWljb25zL0R1by1NYWdlbnRvLUljb25zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZHVvLW1hZ2VudG8taWNvbnMvRHVvLU1hZ2VudG8tSWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qICAgICAubmF2aWdhdGlvbixcbiAgICAuYnJlYWRjcnVtYnMsXG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIucGFuZWwsXG4gICAgLmhlYWRlci5jb250ZW50LFxuICAgIC5mb290ZXIuY29udGVudCxcbiAgICAucGFnZS1tYWluLFxuICAgIC5wYWdlLXdyYXBwZXIgPiAud2lkZ2V0LFxuICAgIC5wYWdlLXdyYXBwZXIgPiAucGFnZS1ib3R0b20sXG4gICAgLmJsb2NrLmNhdGVnb3J5LmV2ZW50LFxuICAgIC50b3AtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGF5b3V0X193aWR0aC14cy1pbmRlbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsYXlvdXRfX3dpZHRoLXhzLWluZGVudDtcbiAgICB9XG5cbiAgICAucGFnZS1tYWluIHtcbiAgICAgICAgLmFjY291bnQgJixcbiAgICAgICAgLmNtcy1wcml2YWN5LXBvbGljeSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfSAqLyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgIGZsZXg6IDAgMSA3NSU7IH1cbiAgICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyAuc2lkZWJhci1tYWluIHtcbiAgICAgIGZsZXg6IDAgMSAyNSU7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgICAgIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5jb2x1bW5zIC5zaWRlYmFyLW1haW4gPiBkaXYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuMnJlbTsgfVxuICAucGFnZS1tYWluIHtcbiAgICAvKiB3aWR0aDogMTAwJTsgKi9cbiAgICAvKiAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZ3JvdygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZmxleC1zaHJpbmsoMCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtYmFzaXMoYXV0byk7ICovXG4gICAgLyogIC5pZTkgJiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfSAqLyB9XG4gIC5wYW5lbC5oZWFkZXIge1xuICAgIC8qIHBhZGRpbmc6IDEwcHggMjBweDsgKi8gfSB9XG5cbi5wYWdlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogODg7IH1cblxuLnBhZ2UtdG9wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlODtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogc3BsaXQgZnJvbSBwYWdlLXRvcCBpbiBjYXNlIG1haW4gc2VjdGlvbiBzaG91bGQgb25seSBiZSB0aW50ZWQgb24gY2VydGFpbiBwYWdlIHR5cGVzICovXG4ucGFnZS1tYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjU7IH1cblxuLnBhZ2UtbWFpbl9faW5uZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEzMzVweDtcbiAgcGFkZGluZy10b3A6IDVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucGFnZS1tYWluX19pbm5lciB7XG4gICAgICBwYWRkaW5nOiAzcmVtIDE1cHg7IH0gfVxuXG4vKiBQYWdlIHRpdGxlIGFuZCBkZWNvcmF0aW9uICovXG4ucGFnZS10aXRsZS13cmFwcGVyOm5vdCgucHJvZHVjdCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIG1hcmdpbi1ib3R0b206IDQuNHJlbTsgfVxuICAucGFnZS10aXRsZS13cmFwcGVyOm5vdCgucHJvZHVjdCkgLnBhZ2UtdGl0bGUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjhyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wYWdlLXRpdGxlLXdyYXBwZXI6bm90KC5wcm9kdWN0KSAucGFnZS10aXRsZS13cmFwcGVyX19kZWNvcmF0aW9uIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXI6bm90KC5wcm9kdWN0KSAucGFnZS10aXRsZS13cmFwcGVyX19kZWNvcmF0aW9uIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlcjpub3QoLnByb2R1Y3QpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAgIC5wYWdlLXRpdGxlLXdyYXBwZXI6bm90KC5wcm9kdWN0KSAucGFnZS10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40cmVtOyB9IH1cblxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlLXdyYXBwZXJfX2RlY29yYXRpb24sXG4ucGFnZS10aXRsZS13cmFwcGVyLnByb2R1Y3QgLnBhZ2UtdGl0bGUtd3JhcHBlcl9fZGVjb3JhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtdGl0bGUtY2hpbGRyZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5wYWdlLXRpdGxlLWNoaWxkcmVuID4gKiB7XG4gICAgbWFyZ2luOiAwIDJyZW0gMCAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLnBhZ2UtdGl0bGUtY2hpbGRyZW4gPiAqIHtcbiAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07IH0gfVxuXG4vKiBXaGl0ZXNwYWNlIGFkanVzdG1lbnRzIGZvciBwYWdlIHRpdGxlIHdpdGggY2hpbGRyZW4gKi9cbi5wYWdlLXRpdGxlLXdyYXBwZXIgKyAucGFnZS10aXRsZS1jaGlsZHJlbiB7XG4gIG1hcmdpbi1ib3R0b206IDQuNHJlbTtcbiAgbWFyZ2luLXRvcDogLTIuNHJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciArIC5wYWdlLXRpdGxlLWNoaWxkcmVuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY2FydC1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIFVzZWQgZm9yIGRlZmF1bHQgbWVzc2FnZXMvbm90aWNlcyBhbmQgaW5mbyBvbmVzICovXG4vKiBCeSBkZWZhdWx0IHRoZSBob2xpZGF5IG5vdGljZSB1c2VzIGlkZW50aWNhbCBjb2xvdXIgc2NoZW1lIHRvIHN0YW5kYXJkIGluZm8gbm90aWNlICovXG4ubWVzc2FnZXMgLm1lc3NhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5tZXNzYWdlcyAubWVzc2FnZS5lcnJvciA+ICo6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAubWVzc2FnZXMgLm1lc3NhZ2Uuc3VjY2VzcyA+ICo6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAubWVzc2FnZXMgLm1lc3NhZ2Uud2FybmluZyA+ICo6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAubWVzc2FnZXMgLm1lc3NhZ2Uubm90aWNlID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZXNzYWdlcyAubWVzc2FnZS5pbmZvID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIG1hcmdpbjogMDsgfVxuICAubWVzc2FnZXMgLm1lc3NhZ2UgYSB7XG4gICAgdHJhbnNpdGlvbjogMjUwbXMgbGluZWFyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm1lc3NhZ2VzIC5tZXNzYWdlIGE6aG92ZXIsIC5tZXNzYWdlcyAubWVzc2FnZSBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubWVzc2FnZXMgLm1lc3NhZ2U6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4ubWVzc2FnZS5pbmZvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA5LjVweCAxOXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBiYWNrZ3JvdW5kOiAjYjhiNDk2O1xuICBib3JkZXItY29sb3I6ICNiOGI0OTY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVzc2FnZS5pbmZvIGEge1xuICAgIGNvbG9yOiAjM2I0YTRiOyB9XG4gICAgLm1lc3NhZ2UuaW5mbyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2I0YTRiOyB9XG4gICAgLm1lc3NhZ2UuaW5mbyBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzNiNGE0YjsgfVxuICAubWVzc2FnZS5pbmZvID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIG1hcmdpbjogLThweCAwIDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tZXNzYWdlLmVycm9yIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA5LjVweCAxOXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBiYWNrZ3JvdW5kOiAjZmFlNWU1O1xuICBib3JkZXItY29sb3I6ICNlMDJiMjc7XG4gIGNvbG9yOiAjZTAyYjI3O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVzc2FnZS5lcnJvciBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5tZXNzYWdlLmVycm9yIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAubWVzc2FnZS5lcnJvciBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzMzMzsgfVxuICAubWVzc2FnZS5lcnJvciA+ICo6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBjb2xvcjogI2IzMDAwMDtcbiAgICBjb250ZW50OiBcIu6YglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIG1hcmdpbjogLThweCAwIDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTRweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tZXNzYWdlLndhcm5pbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDkuNXB4IDE5cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQ6ICNmZGYwZDU7XG4gIGJvcmRlci1jb2xvcjogI2ZkZjBkNTtcbiAgY29sb3I6ICM2ZjQ0MDA7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tZXNzYWdlLndhcm5pbmcgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubWVzc2FnZS53YXJuaW5nIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAubWVzc2FnZS53YXJuaW5nIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5tZXNzYWdlLndhcm5pbmcgPiAqOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgY29sb3I6ICNjMDc2MDA7XG4gICAgY29udGVudDogXCLumIJcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICBtYXJnaW46IC04cHggMCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDE0cHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubWVzc2FnZS5ub3RpY2Uge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDkuNXB4IDE5cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQ6ICNmZGYwZDU7XG4gIGJvcmRlci1jb2xvcjogI2ZkZjBkNTtcbiAgY29sb3I6ICM2ZjQ0MDA7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tZXNzYWdlLm5vdGljZSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5tZXNzYWdlLm5vdGljZSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLm1lc3NhZ2Uubm90aWNlIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5tZXNzYWdlLm5vdGljZSA+ICo6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBjb2xvcjogI2MwNzYwMDtcbiAgICBjb250ZW50OiBcIu6YglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIG1hcmdpbjogLThweCAwIDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTRweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tZXNzYWdlLnN1Y2Nlc3Mge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDkuNXB4IDE5cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQ6ICNlNWVmZTU7XG4gIGJvcmRlci1jb2xvcjogIzAwNjQwMDtcbiAgY29sb3I6ICMwMDY0MDA7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tZXNzYWdlLnN1Y2Nlc3MgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubWVzc2FnZS5zdWNjZXNzIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAubWVzc2FnZS5zdWNjZXNzIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5tZXNzYWdlLnN1Y2Nlc3MgPiAqOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgY29sb3I6ICMwMDY0MDA7XG4gICAgY29udGVudDogXCLumJBcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICBtYXJnaW46IC04cHggMCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDE0cHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubm90aWNlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA5LjVweCAxOXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBiYWNrZ3JvdW5kOiAjYjhiNDk2O1xuICBib3JkZXItY29sb3I6ICNiOGI0OTY7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5ub3RpY2UgYSB7XG4gICAgY29sb3I6ICMzYjRhNGI7IH1cbiAgICAubm90aWNlIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzYjRhNGI7IH1cbiAgICAubm90aWNlIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjM2I0YTRiOyB9XG5cbi5ub3RpY2UgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5ub3RpY2UgYTpob3ZlciwgLm5vdGljZSBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm5vdGljZSBwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ub3RpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5ub3RpY2UgKyAubm90aWNlIHtcbiAgICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgI2Y5ZjlmNzsgfVxuICAubm90aWNlIC5ub3RpY2VfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMzM1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5ub3RpY2UgLm5vdGljZV9fdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm90aWNlIC5ub3RpY2VfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC44cmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzLjRyZW0pO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsgfVxuICAgIC5ub3RpY2UgLm5vdGljZV9fY2xvc2U6aG92ZXIsIC5ub3RpY2UgLm5vdGljZV9fY2xvc2U6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubm90aWNlIC5ub3RpY2VfX2Nsb3NlIHtcbiAgICAgICAgcGFkZGluZzogMS42NXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICByaWdodDogLTE5cHg7XG4gICAgICAgIHRvcDogLTEwcHg7IH0gfVxuXG4ubm90aWNlLWJsb2NrIHtcbiAgbWF4LXdpZHRoOiAxMzM1cHg7XG4gIG1hcmdpbjogMi42cmVtIGF1dG8gMDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTsgfVxuXG4ubm90aWNlLWJsb2NrIC5ub3RpY2VfX2lubmVyLFxuLm5vdGljZS1ibG9jay0taG9saWRheXMgLm5vdGljZV9faW5uZXIge1xuICBwYWRkaW5nOiAycmVtO1xuICBib3JkZXItY29sb3I6ICNkNGQ2ZDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGQ2ZDA7XG4gIGNvbG9yOiAjM2I0YTRiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubm90aWNlIC5ub3RpY2VfX3RleHQsXG4gIC5ub3RpY2UtYmxvY2sgLm5vdGljZV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMnJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5vdGljZSAubm90aWNlX190ZXh0LFxuICAubm90aWNlLWJsb2NrIC5ub3RpY2VfX3RleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9XG4gIC5ub3RpY2UgLm5vdGljZV9fY2xvc2UsXG4gIC5ub3RpY2UtYmxvY2sgLm5vdGljZV9fY2xvc2Uge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbi5wYW5lbC5oZWFkZXIgLnN3aXRjaGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFuZWwuaGVhZGVyIC5oZWFkZXIubGlua3Mge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5uYXYtc2VjdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5uYXYtdG9nZ2xlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3JkZXI6IDk5O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0LjRyZW07XG4gIGhlaWdodDogNC44cmVtO1xuICBmb250LXNpemU6IDA7XG4gIHotaW5kZXg6IDQ0OyB9XG4gIC5uYXYtdG9nZ2xlOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICM4ZjhmOGY7XG4gICAgY29udGVudDogXCLumIlcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uYXYtdG9nZ2xlOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLm5hdi10b2dnbGUgPiBzcGFuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubmF2aWdhdGlvbiAucGFyZW50IC5sZXZlbC10b3Age1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5wYXJlbnQgLmxldmVsLXRvcDphZnRlciB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29udGVudDogXCLumKJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLm5hdmlnYXRpb24gLnBhcmVudCAubGV2ZWwtdG9wOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogN3B4O1xuICAgICAgICB0b3A6IC04cHg7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5wYXJlbnQgLmxldmVsLXRvcC51aS1zdGF0ZS1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6YoVwiOyB9XG4gIC5uYXYtc2VjdGlvbnMge1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IC04MCU7XG4gICAgbGVmdDogY2FsYygtMSAqICgxMDAlIC0gNTRweCkpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU0cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5uYXYtc2VjdGlvbnMgLnN3aXRjaGVyIHtcbiAgICAgIG1hcmdpbjogYXV0byAwIDAgMDtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAzLjVyZW0gMC44cmVtIDJyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLm5hdi1zZWN0aW9ucyAuc3dpdGNoZXIgLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgIC5uYXYtc2VjdGlvbnMgLnN3aXRjaGVyOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS42cmVtOyB9XG4gICAgLm5hdi1zZWN0aW9ucyAuc3dpdGNoZXItdHJpZ2dlciBzdHJvbmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5uYXYtc2VjdGlvbnMgLnN3aXRjaGVyLXRyaWdnZXIgc3Ryb25nOmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiBcIu6YolwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubmF2LXNlY3Rpb25zIC5zd2l0Y2hlci10cmlnZ2VyIHN0cm9uZzphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgLm5hdi1zZWN0aW9ucyAuc3dpdGNoZXItdHJpZ2dlci5hY3RpdmUgc3Ryb25nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7pihXCI7IH1cbiAgICAubmF2LXNlY3Rpb25zIC5zd2l0Y2hlci1kcm9wZG93biB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm5hdi1zZWN0aW9ucyAuc3dpdGNoZXItZHJvcGRvd25bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLm5hdi1zZWN0aW9ucyAuc3dpdGNoZXItZHJvcGRvd24gLnN3aXRjaGVyLW9wdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAubmF2LXNlY3Rpb25zIC5zd2l0Y2hlci1kcm9wZG93biAuc3dpdGNoZXItb3B0aW9uID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICAgIGNvbG9yOiAjM2I0YTRiOyB9XG4gICAgLm5hdi1zZWN0aW9ucyAubWVudS1tYWluLXVsIC5sZXZlbDAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICNlZmVmZTg7IH1cbiAgICAubmF2LXNlY3Rpb25zIC5oZWFkZXIubGlua3Mge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTsgfVxuICAgICAgLm5hdi1zZWN0aW9ucyAuaGVhZGVyLmxpbmtzIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAubmF2LXNlY3Rpb25zIC5oZWFkZXIubGlua3MgbGkuZ3JlZXQud2VsY29tZSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtIDE5cHg7IH1cbiAgICAgICAgLm5hdi1zZWN0aW9ucyAuaGVhZGVyLmxpbmtzIGxpID4gYSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7IH1cbiAgICAgIC5uYXYtc2VjdGlvbnMgLmhlYWRlci5saW5rcyBhLFxuICAgICAgLm5hdi1zZWN0aW9ucyAuaGVhZGVyLmxpbmtzIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxOXB4OyB9XG4gICAgICAubmF2LXNlY3Rpb25zIC5oZWFkZXIubGlua3MgLmhlYWRlci5saW5rcyB7XG4gICAgICAgIGJvcmRlcjogMDsgfVxuICAubmF2LWJlZm9yZS1vcGVuIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5hdi1iZWZvcmUtb3BlbiAucGFnZS13cmFwcGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5hdi1iZWZvcmUtb3BlbiBib2R5IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubmF2LW9wZW4gLnBhZ2Utd3JhcHBlciB7XG4gICAgbGVmdDogODAlO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDU0cHgpOyB9XG4gIC5uYXYtb3BlbiAubmF2LXNlY3Rpb25zIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OyB9XG4gIC5uYXYtb3BlbiAubmF2LXRvZ2dsZTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm5hdi1zZWN0aW9ucy1pdGVtcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAubmF2LXNlY3Rpb25zLWl0ZW1zOmJlZm9yZSwgLm5hdi1zZWN0aW9ucy1pdGVtczphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLm5hdi1zZWN0aW9ucy1pdGVtczphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubmF2LXNlY3Rpb25zLWl0ZW0tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgYm9yZGVyOiBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDcxcHg7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzMy4zMyU7IH1cbiAgICAubmF2LXNlY3Rpb25zLWl0ZW0tdGl0bGUuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC5uYXYtc2VjdGlvbnMtaXRlbS10aXRsZSAubmF2LXNlY3Rpb25zLWl0ZW0tc3dpdGNoOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubmF2LXNlY3Rpb25zLWl0ZW0tY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIG1hcmdpbi10b3A6IDcxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjMuNzVweCAwOyB9XG4gICAgLm5hdi1zZWN0aW9ucy1pdGVtLWNvbnRlbnQ6YmVmb3JlLCAubmF2LXNlY3Rpb25zLWl0ZW0tY29udGVudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLm5hdi1zZWN0aW9ucy1pdGVtLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubmF2LXNlY3Rpb25zLWl0ZW0tY29udGVudC5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm5hdmlnYXRpb24ge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5uYXZpZ2F0aW9uIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubmF2aWdhdGlvbiBsaSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAubmF2aWdhdGlvbiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogOS41cHggMCA5LjVweCAxNXB4OyB9XG4gICAgLm5hdmlnYXRpb24gYSxcbiAgICAubmF2aWdhdGlvbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm5hdmlnYXRpb24gLmxldmVsMCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCA+IC5sZXZlbC10b3Age1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAuYWN0aXZlIC5hbGwtY2F0ZWdvcnkgLnVpLXN0YXRlLWZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NTAxO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGNvbG9yOiAjMGYwZjBmO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAubmF2aWdhdGlvbiAubGV2ZWwwID4gLmxldmVsMSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAuYWN0aXZlID4gYTpub3QoLnVpLXN0YXRlLWFjdGl2ZSksIC5uYXZpZ2F0aW9uIC5sZXZlbDAuaGFzLWFjdGl2ZSA+IGE6bm90KC51aS1zdGF0ZS1hY3RpdmUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NTAxO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGNvbG9yOiAjMGYwZjBmOyB9XG4gICAgLm5hdmlnYXRpb24gLnN1Ym1lbnUgPiBsaSB7XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAubmF2aWdhdGlvbiAuc3VibWVudTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDsgfVxuICAgICAgLm5hdmlnYXRpb24gLnN1Ym1lbnU6bm90KDpmaXJzdC1jaGlsZCkgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5zdWJtZW51Om5vdCg6Zmlyc3QtY2hpbGQpID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5zdWJtZW51Om5vdCg6Zmlyc3QtY2hpbGQpIHVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgICAubmF2aWdhdGlvbiAuc3VibWVudTpub3QoOmZpcnN0LWNoaWxkKSB1bCA+IGxpIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAubmF2aWdhdGlvbiAuc3VibWVudTpub3QoOmZpcnN0LWNoaWxkKSB1bCA+IGxpIGEge1xuICAgICAgICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5zdWJtZW51Om5vdCg6Zmlyc3QtY2hpbGQpLmV4cGFuZGVkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5zdWJtZW51Om5vdCg6Zmlyc3QtY2hpbGQpIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NTAxO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5zdWJtZW51Om5vdCg6Zmlyc3QtY2hpbGQpIC5sZXZlbDEuYWN0aXZlID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogN3B4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBNYWluIG5hdiAqL1xuICAucGFnZS1oZWFkZXIgKyAubmF2LXNlY3Rpb25zID4gLm5hdmlnYXRpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZWZlZmU4OyB9XG4gIC5uYXZpZ2F0aW9uIHVsLm1lbnUtbWFpbi11bCB7XG4gICAgcGFkZGluZzogMCAycmVtO1xuICAgIG1heC13aWR0aDogMTMzNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5uYXYtc2VjdGlvbnMge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgLm5hdi1zZWN0aW9ucy1pdGVtLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5uYXYtc2VjdGlvbnMtaXRlbS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5uYXYtc2VjdGlvbnMtaXRlbS1jb250ZW50ID4gKiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubmF2LXNlY3Rpb25zLWl0ZW0tY29udGVudCA+IC5uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBSZS11c2UgbW9zdCBvZiB0aGUgTWFnZW50byBVSSBtaXhpbiwgd2l0aCBzb21lIG92ZXJyaWRlcyAqL1xuICAubmF2aWdhdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLm5hdmlnYXRpb246ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5uYXZpZ2F0aW9uIHVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5uYXZpZ2F0aW9uIGxpLmxldmVsMCB7XG4gICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgLm5hdmlnYXRpb24gLmxldmVsMCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCA+IC5sZXZlbC10b3Age1xuICAgICAgICBjb2xvcjogIzBmMGYwZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCA+IC5sZXZlbC10b3A6aG92ZXIsIC5uYXZpZ2F0aW9uIC5sZXZlbDAgPiAubGV2ZWwtdG9wLnVpLXN0YXRlLWZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjZmNmY1O1xuICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLm5hdmlnYXRpb24gLmxldmVsMC5hY3RpdmUgPiAubGV2ZWwtdG9wLCAubmF2aWdhdGlvbiAubGV2ZWwwLmhhcy1hY3RpdmUgPiAubGV2ZWwtdG9wIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NTAxO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAubmF2aWdhdGlvbiAubGV2ZWwwLnBhcmVudDpob3ZlciA+IC5zdWJtZW51IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCAuc3VibWVudSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNC43NXB4IDQuNzVweCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtaW4td2lkdGg6IDIzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbi10b3A6IDExcHg7IH1cbiAgICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCAuc3VibWVudSA+IHVsIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMXB4OyB9XG4gICAgICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCAuc3VibWVudSA+IHVsOmJlZm9yZSwgLm5hdmlnYXRpb24gLmxldmVsMCAuc3VibWVudSA+IHVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCAuc3VibWVudSA+IHVsOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IC0yMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgei1pbmRleDogNDsgfVxuICAgICAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAgLnN1Ym1lbnUgPiB1bDphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkMWQxZDE7XG4gICAgICAgICAgICBjb2xvcjogI2QxZDFkMTtcbiAgICAgICAgICAgIGxlZnQ6IDE5cHg7XG4gICAgICAgICAgICB0b3A6IC0yMnB4O1xuICAgICAgICAgICAgei1pbmRleDogMzsgfVxuICAgICAgICAubmF2aWdhdGlvbiAubGV2ZWwwIC5zdWJtZW51IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAxOXB4OyB9XG4gICAgICAgICAgLm5hdmlnYXRpb24gLmxldmVsMCAuc3VibWVudSBhOmhvdmVyLCAubmF2aWdhdGlvbiAubGV2ZWwwIC5zdWJtZW51IGEudWktc3RhdGUtZm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAgLnN1Ym1lbnUgLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmNTUwMTtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgM3B4OyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAgLnN1Ym1lbnUgLnN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICAubmF2aWdhdGlvbiAubGV2ZWwwIC5zdWJtZW51IC5zdWJtZW51LXJldmVyc2Uge1xuICAgICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICByaWdodDogMTAwJTsgfVxuICAgICAgLm5hdmlnYXRpb24gLmxldmVsMC5tb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAubmF2aWdhdGlvbiAubGV2ZWwwLm1vcmU6YWZ0ZXIge1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7piHXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAubmF2aWdhdGlvbiAubGV2ZWwwLm1vcmU6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAubW9yZTphZnRlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAubW9yZTpob3ZlciA+IC5zdWJtZW51IHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uIC5sZXZlbDAubW9yZSBsaSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm5hdmlnYXRpb24gLm1lbnUtbWFpbi11bCAubGV2ZWwwID4gLmxldmVsLXRvcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMC42NiwgMC42NiwgMSk7XG4gICAgcGFkZGluZzogMS40cmVtIDIuNnJlbTtcbiAgICBjb2xvcjogIzBmMGYwZjtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG4gICAgLm5hdmlnYXRpb24gLm1lbnUtbWFpbi11bCAubGV2ZWwwID4gLmxldmVsLXRvcC5maXJzdCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIuNnJlbTsgfVxuICAucGFuZWwuaGVhZGVyIC5zd2l0Y2hlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLyogZmluZXR1bmluZyB0d2VlbmVyIHNpemVzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5uYXZpZ2F0aW9uIC5tZW51LW1haW4tdWwgLmxldmVsMCA+IC5sZXZlbC10b3Age1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0LjJyZW07IH1cbiAgICAubmF2aWdhdGlvbiAubWVudS1tYWluLXVsIC5sZXZlbDAgPiAubGV2ZWwtdG9wLmZpcnN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtOyB9IH1cblxuLnBhZ2VzID4gLmxhYmVsIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLnBhZ2VzIC5pdGVtcyB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ucGFnZXMgLml0ZW0ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIG1hcmdpbjogMCAwLjZyZW0gMCAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBhZ2VzIC5pdGVtIC5sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfVxuXG4ucGFnZXMgYS5wYWdlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzNiNGE0YjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wYWdlcyBhLnBhZ2U6dmlzaXRlZCB7XG4gICAgY29sb3I6ICMzYjRhNGI7IH1cbiAgLnBhZ2VzIGEucGFnZTpob3ZlciB7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzNiNGE0YjtcbiAgICBjb2xvcjogI2E1NGY2YztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnBhZ2VzIGEucGFnZTphY3RpdmUge1xuICAgIGNvbG9yOiAjZmY1NTAxOyB9XG5cbi5wYWdlcyBzdHJvbmcucGFnZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgY29sb3I6ICMzYjRhNGI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMCA0cHg7IH1cblxuLnBhZ2VzIC5hY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBjb2xvcjogI2VmZWZlODtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnBhZ2VzIC5hY3Rpb246dmlzaXRlZCB7XG4gICAgY29sb3I6ICNlZmVmZTg7IH1cbiAgLnBhZ2VzIC5hY3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgY29sb3I6ICNlZmVmZTg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wYWdlcyAuYWN0aW9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM3ZDdkN2Q7IH1cbiAgLnBhZ2VzIC5hY3Rpb24ubmV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wYWdlcyAuYWN0aW9uLm5leHQ6dmlzaXRlZDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlZmVmZTg7IH1cbiAgICAucGFnZXMgLmFjdGlvbi5uZXh0OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM3ZDdkN2Q7IH1cbiAgICAucGFnZXMgLmFjdGlvbi5uZXh0ID4gc3BhbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAucGFnZXMgLmFjdGlvbi5uZXh0OmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICNlZmVmZTg7XG4gICAgICBjb250ZW50OiBcIu6YiFwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5wYWdlcyAuYWN0aW9uLm5leHQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZWZlZmU4OyB9XG4gICAgLnBhZ2VzIC5hY3Rpb24ubmV4dDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjN2Q3ZDdkOyB9XG4gIC5wYWdlcyAuYWN0aW9uLnByZXZpb3VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnBhZ2VzIC5hY3Rpb24ucHJldmlvdXM6dmlzaXRlZDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlZmVmZTg7IH1cbiAgICAucGFnZXMgLmFjdGlvbi5wcmV2aW91czphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjN2Q3ZDdkOyB9XG4gICAgLnBhZ2VzIC5hY3Rpb24ucHJldmlvdXMgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5wYWdlcyAuYWN0aW9uLnByZXZpb3VzOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICNlZmVmZTg7XG4gICAgICBjb250ZW50OiBcIu6Yl1wiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5wYWdlcyAuYWN0aW9uLnByZXZpb3VzOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2VmZWZlODsgfVxuICAgIC5wYWdlcyAuYWN0aW9uLnByZXZpb3VzOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM3ZDdkN2Q7IH1cblxuLnBhZ2VzIC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMC4xcmVtOyB9XG4gIC5wYWdlcyAuaXRlbSAucGFnZSB7XG4gICAgbWluLXdpZHRoOiAyLjRyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDI1MG1zOyB9XG5cbi5wYWdlcyAucGFnZXMtaXRlbS1wcmV2aW91cyAuYWN0aW9uLFxuLnBhZ2VzIC5wYWdlcy1pdGVtLW5leHQgLmFjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDMuNHJlbTtcbiAgaGVpZ2h0OiAzLjRyZW07IH1cblxuLnBhZ2VzIC5wYWdlcy1pdGVtLW5leHQgLmFjdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5wYWdlcyAuYWN0aW9uIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtczsgfVxuXG4udWktZGlhbG9nLnBvcHVwIC5hY3Rpb24uY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogNDBweDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIHotaW5kZXg6IDEwMDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnVpLWRpYWxvZy5wb3B1cCAuYWN0aW9uLmNsb3NlID4gc3BhbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfVxuICAudWktZGlhbG9nLnBvcHVwIC5hY3Rpb24uY2xvc2U6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjb250ZW50OiBcIu6YllwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC51aS1kaWFsb2cucG9wdXAgLmFjdGlvbi5jbG9zZTpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC51aS1kaWFsb2cucG9wdXAgLmFjdGlvbi5jbG9zZTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAudWktZGlhbG9nLnBvcHVwIC5hY3Rpb24uY2xvc2U6Zm9jdXMsIC51aS1kaWFsb2cucG9wdXAgLmFjdGlvbi5jbG9zZTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC51aS1kaWFsb2cucG9wdXAgLmFjdGlvbi5jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnVpLWRpYWxvZy5wb3B1cCAuYWN0aW9uLmNsb3NlLmRpc2FibGVkLCAudWktZGlhbG9nLnBvcHVwIC5hY3Rpb24uY2xvc2VbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLnVpLWRpYWxvZy5wb3B1cCAuYWN0aW9uLmNsb3NlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4ucG9wdXAtcG9pbnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAtMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xNHB4OyB9XG4gIC5wb3B1cC1wb2ludGVyOmJlZm9yZSwgLnBvcHVwLXBvaW50ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IH1cbiAgLnBvcHVwLXBvaW50ZXI6YmVmb3JlIHtcbiAgICBsZWZ0OiAycHg7XG4gICAgdG9wOiAycHg7XG4gICAgYm9yZGVyOiBzb2xpZCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDk5OyB9XG4gIC5wb3B1cC1wb2ludGVyOmFmdGVyIHtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlcjogc29saWQgN3B4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2FlYWVhZSB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiA5ODsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51aS1kaWFsb2cucG9wdXAge1xuICAgIHdpZHRoOiA0MjBweDsgfSB9XG5cbi5wcmljZS10aWVyX3ByaWNlIC5wcmljZS1leGNsdWRpbmctdGF4LFxuLnByaWNlLXRpZXJfcHJpY2UgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLnByaWNlLWluY2x1ZGluZy10YXgsXG4ucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlLFxuICAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCxcbi53ZWVlW2RhdGEtbGFiZWxdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXg6YmVmb3JlLFxuICAud2VlZVtkYXRhLWxhYmVsXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCkgXCI6IFwiO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlLFxuICAud2VlZVtkYXRhLWxhYmVsXSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG5cbi5wcm9kdWN0LmRhdGEuaXRlbXMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cbiAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlID4gLnN3aXRjaCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0uY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0uY29udGVudDpiZWZvcmUsIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS5jb250ZW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0uY29udGVudDphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS5jb250ZW50LmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDQuNzVweDsgfVxuICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUgPiAuc3dpdGNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QxZDFkMTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIGhlaWdodDogMzhweDtcbiAgICBwYWRkaW5nOiA0Ljc1cHggMTlweCA0Ljc1cHggMTlweDtcbiAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGNvbG9yOiAjN2Q3ZDdkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZSA+IC5zd2l0Y2g6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZSA+IC5zd2l0Y2g6aG92ZXIge1xuICAgICAgY29sb3I6ICM3ZDdkN2Q7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUgPiAuc3dpdGNoOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGU6bm90KC5kaXNhYmxlZCkgPiAuc3dpdGNoOmZvY3VzLFxuICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGU6bm90KC5kaXNhYmxlZCkgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZjOyB9XG4gIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZTpub3QoLmRpc2FibGVkKSA+IC5zd2l0Y2g6YWN0aXZlLFxuICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUuYWN0aXZlID4gLnN3aXRjaCxcbiAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2g6Zm9jdXMsXG4gIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZS5hY3RpdmUgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC43NXB4OyB9XG4gIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIG1hcmdpbjogMCAwIDQuNzVweDtcbiAgICBwYWRkaW5nOiAxOXB4IDE5cHggMTlweCAxOXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb2R1Y3QuZGF0YS5pdGVtcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zOmJlZm9yZSwgLnByb2R1Y3QuZGF0YS5pdGVtczphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtczphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUgPiAuc3dpdGNoIHtcbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMTlweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQ6YmVmb3JlLCAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0uY29udGVudDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDQuNzVweCAwIDA7IH1cbiAgICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZSA+IC5zd2l0Y2gge1xuICAgICAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIHBhZGRpbmc6IDQuNzVweCAxOXB4IDQuNzVweCAxOXB4OyB9XG4gICAgICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZSA+IC5zd2l0Y2g6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICM3ZDdkN2Q7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZSA+IC5zd2l0Y2g6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjN2Q3ZDdkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUgPiAuc3dpdGNoOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGU6bm90KC5kaXNhYmxlZCkgPiAuc3dpdGNoOmZvY3VzLFxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlOm5vdCguZGlzYWJsZWQpID4gLnN3aXRjaDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmY2ZjZmM7IH1cbiAgICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZTpub3QoLmRpc2FibGVkKSA+IC5zd2l0Y2g6YWN0aXZlLFxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2gsXG4gICAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUuYWN0aXZlID4gLnN3aXRjaDpmb2N1cyxcbiAgICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZS5hY3RpdmUgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUuYWN0aXZlID4gLnN3aXRjaCxcbiAgICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZS5hY3RpdmUgPiAuc3dpdGNoOmZvY3VzLFxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2g6aG92ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNS43NXB4OyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBtYXJnaW4tdG9wOiAyOS41cHg7XG4gICAgICBwYWRkaW5nOiAxOXB4IDE5cHggMTlweCAxOXB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wcm9kdWN0LmRhdGEuaXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUgPiAuc3dpdGNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0uY29udGVudCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQ6YmVmb3JlLCAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0uY29udGVudDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgNC43NXB4OyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlID4gLnN3aXRjaCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBwYWRkaW5nOiA0Ljc1cHggMTlweCA0Ljc1cHggMTlweDtcbiAgICAgIGNvbG9yOiAjN2Q3ZDdkO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlID4gLnN3aXRjaDp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICM3ZDdkN2Q7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlID4gLnN3aXRjaDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjN2Q3ZDdkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZSA+IC5zd2l0Y2g6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZTpub3QoLmRpc2FibGVkKSA+IC5zd2l0Y2g6Zm9jdXMsXG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlOm5vdCguZGlzYWJsZWQpID4gLnN3aXRjaDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZjOyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlOm5vdCguZGlzYWJsZWQpID4gLnN3aXRjaDphY3RpdmUsXG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2gsXG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2g6Zm9jdXMsXG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2g6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC43NXB4OyB9XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgICAgbWFyZ2luOiAwIDAgNC43NXB4O1xuICAgICAgcGFkZGluZzogMTlweCAxOXB4IDE5cHggMTlweDsgfVxuICAgIC5wcm9kdWN0LmRhdGEuaXRlbXMgLmRhdGEuaXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi50YWJsZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuXG50YWJsZSA+IGNhcHRpb24ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4udGFibGU6bm90KC5jYXJ0KTpub3QoLnRvdGFscykge1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpID4gdGhlYWQgPiB0ciA+IHRoLFxuICAudGFibGU6bm90KC5jYXJ0KTpub3QoLnRvdGFscykgPiB0aGVhZCA+IHRyID4gdGQsXG4gIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpID4gdGJvZHkgPiB0ciA+IHRkLFxuICAudGFibGU6bm90KC5jYXJ0KTpub3QoLnRvdGFscykgPiB0Zm9vdCA+IHRyID4gdGgsXG4gIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKSA+IHRoZWFkID4gdHIgPiB0aCxcbiAgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpID4gdGhlYWQgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTsgfVxuICAudGFibGU6bm90KC5jYXJ0KTpub3QoLnRvdGFscykgdGZvb3QgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpIHRmb290ID4gdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgIHBhZGRpbmctdG9wOiAxOXB4OyB9XG4gIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKSB0Zm9vdCAubWFyayB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC50YWJsZS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLWNvbXBhcmlzb24pID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikgPiB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLWNvbXBhcmlzb24pID4gdGJvZHkgPiB0ciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jYXJ0KTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSA+IHRib2R5ID4gdHIgdGQsXG4gICAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikgPiB0Ym9keSA+IHRyIHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDQuNzVweCAwOyB9XG4gICAgICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jYXJ0KTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSA+IHRib2R5ID4gdHIgdGQ6YmVmb3JlLFxuICAgICAgICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikgPiB0Ym9keSA+IHRyIHRoOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDkuNXB4O1xuICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOiBcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBjb2xvcjogIzExMTExMTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikgdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE5cHg7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLWNvbXBhcmlzb24pIHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE5cHg7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLWNvbXBhcmlzb24pLmFkZGl0aW9uYWwtYXR0cmlidXRlcyB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNC43NXB4OyB9XG4gICAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLWNvbXBhcmlzb24pIHRmb290IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikgdGZvb3QgdHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtY29tcGFyaXNvbikgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gICAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE5cHg7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSB0Zm9vdCB0aCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAgIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSB0Zm9vdCB0ZCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMzAlOyB9XG4gIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZGF0YS10YWJsZS1kZWZpbml0aW9uLWxpc3QgdGJvZHkgdGgge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5kYXRhLXRhYmxlLWRlZmluaXRpb24tbGlzdCB0Ym9keSB0aCxcbiAgLmRhdGEtdGFibGUtZGVmaW5pdGlvbi1saXN0IHRib2R5IHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi50b29sdGlwLndyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRvb2x0aXAud3JhcHBlciAudG9vbHRpcC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgbWluLXdpZHRoOiAyMTBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAgIC50b29sdGlwLndyYXBwZXIgLnRvb2x0aXAuY29udGVudDphZnRlciwgLnRvb2x0aXAud3JhcHBlciAudG9vbHRpcC5jb250ZW50OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDsgfVxuICAgIC50b29sdGlwLndyYXBwZXIgLnRvb2x0aXAuY29udGVudDphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudG9vbHRpcC53cmFwcGVyIC50b29sdGlwLmNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50b29sdGlwLndyYXBwZXIgLnRvb2x0aXAuY29udGVudDphZnRlciwgLnRvb2x0aXAud3JhcHBlciAudG9vbHRpcC5jb250ZW50OmJlZm9yZSB7XG4gICAgICBib3R0b206IDEwMCU7IH1cbiAgICAudG9vbHRpcC53cmFwcGVyIC50b29sdGlwLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDsgfVxuICAgIC50b29sdGlwLndyYXBwZXIgLnRvb2x0aXAuY29udGVudDpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JiYjtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTZweDsgfVxuICAudG9vbHRpcC53cmFwcGVyIC50b29sdGlwLnRvZ2dsZSB7XG4gICAgY3Vyc29yOiBoZWxwOyB9XG4gIC50b29sdGlwLndyYXBwZXIgLnRvb2x0aXAudG9nZ2xlOmhvdmVyICsgLnRvb2x0aXAuY29udGVudCxcbiAgLnRvb2x0aXAud3JhcHBlciAudG9vbHRpcC50b2dnbGU6Zm9jdXMgKyAudG9vbHRpcC5jb250ZW50LFxuICAudG9vbHRpcC53cmFwcGVyOmhvdmVyIC50b29sdGlwLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC50b29sdGlwLndyYXBwZXIgLnRvb2x0aXAuY29udGVudCBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudG9vbHRpcC53cmFwcGVyIC50b29sdGlwLmNvbnRlbnQgZGQge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLnRvb2x0aXAud3JhcHBlciAudG9vbHRpcC5jb250ZW50IC5zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnRvb2x0aXAud3JhcHBlciAudG9vbHRpcC5jb250ZW50IC5sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogOS41cHg7IH1cbiAgICAudG9vbHRpcC53cmFwcGVyIC50b29sdGlwLmNvbnRlbnQgLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnRvb2x0aXAud3JhcHBlciAudG9vbHRpcC5jb250ZW50IC52YWx1ZXMge1xuICAgIG1hcmdpbjogMDsgfVxuXG4udWktdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk5OTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC50b29sdGlwLndyYXBwZXIgLnRvb2x0aXAuY29udGVudCB7XG4gICAgbWluLXdpZHRoOiAxMHJlbTsgfSB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9yZWd1bGFyL21vbnRzZXJyYXQtNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L3JlZ3VsYXIvbW9udHNlcnJhdC00MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L3JlZ3VsYXIvbW9udHNlcnJhdC00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvcmVndWxhci9tb250c2VycmF0LTQwMGkud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvcmVndWxhci9tb250c2VycmF0LTQwMGkud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L3JlZ3VsYXIvbW9udHNlcnJhdC00MDBpLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21lZGl1bS9tb250c2VycmF0LTUwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9tZWRpdW0vbW9udHNlcnJhdC01MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tb250c2VycmF0L21lZGl1bS9tb250c2VycmF0LTUwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9zZW1pYm9sZC9tb250c2VycmF0LTYwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9zZW1pYm9sZC9tb250c2VycmF0LTYwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvc2VtaWJvbGQvbW9udHNlcnJhdC02MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL21vbnRzZXJyYXQvYm9sZC9tb250c2VycmF0LTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9ib2xkL21vbnRzZXJyYXQtNzAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvbW9udHNlcnJhdC9ib2xkL21vbnRzZXJyYXQtNzAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL3JlZ3VsYXIvT3BlblNhbnMtNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9yZWd1bGFyL09wZW5TYW5zLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL3JlZ3VsYXIvT3BlblNhbnMtNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL3NlbWlib2xkL09wZW5TYW5zLTYwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMvc2VtaWJvbGQvT3BlblNhbnMtNjAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMvc2VtaWJvbGQvT3BlblNhbnMtNjAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL2JvbGQvT3BlblNhbnMtNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy9ib2xkL09wZW5TYW5zLTcwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zL2JvbGQvT3BlblNhbnMtNzAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIC8qIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWJvdHRvbSwgJGgxX19tYXJnaW4tYm90dG9tX19kZXNrdG9wKTsgKi8gfSB9XG5cbi5pdGVtcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYW5uZXIgLmJhbm5lci1pbm5lciB7XG4gICAgcGFkZGluZzogMnJlbSAwIDA7IH1cbiAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuODRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjZyZW07IH1cbiAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIgcCB7XG4gICAgICBtYXJnaW46IDJyZW0gMCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgY29sb3I6ICMzYjRhNGI7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG4gICAgLmJhbm5lciAuYmFubmVyLWlubmVyIGEge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAycmVtIDAgMDtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAxMHJlbSAxLjZyZW0gNy42cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIixcIlRyZWJ1Y2hldCBNU1wiLFwiSGVsdmV0aWNhXCIsc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjlweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvY3RhLWJhY2tncm91bmQtc2hhcGUtLWRhcmtncmVlbi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7IH1cbiAgICAgIC5iYW5uZXIgLmJhbm5lci1pbm5lciBhOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAzcmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9jdGEtYXJyb3ctLXdoaXRlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyLjRyZW0gMS40cmVtOyB9XG4gICAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvY3RhLWJhY2tncm91bmQtc2hhcGUtLXdoaXRlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuICAgICAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9jdGEtYXJyb3ctLWdyZWVuaXNoLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7IH1cbiAgICAgICAgLmJhbm5lciAuYmFubmVyLWlubmVyIGgxIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIgcCB7XG4gICAgICAgICAgbWFyZ2luOiAycmVtIDAgMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIgYSB7XG4gICAgICAgICAgbWFyZ2luOiAycmVtIDAgMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHJlbTsgfVxuICAgICAgICAuYmFubmVyIC5iYW5uZXItaW5uZXIgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNi43cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3LjJyZW07IH1cbiAgICAgICAgLmJhbm5lciAuYmFubmVyLWlubmVyIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS45MnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG4gICAgICAgIC5iYW5uZXIgLmJhbm5lci1pbm5lciBhIHtcbiAgICAgICAgICBtYXJnaW46IDRyZW0gMCAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4zcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07IH0gfVxuXG4uaG9tZXBhZ2UtY29udGVudCB7XG4gIHBhZGRpbmc6IDJyZW0gMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhvbWVwYWdlLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICBwYWRkaW5nOiAzLjZyZW0gMCAzLjhyZW07IH0gfVxuXG4ucHJvZHVjdHMtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgLnByb2R1Y3RzLXRpdGxlIHtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5wcm9kdWN0cy10aXRsZSBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAucHJvZHVjdHMtdGl0bGUgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjlyZW07IH0gfVxuICAucHJvZHVjdHMtdGl0bGUgPiBhIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjg2cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHJvZHVjdHMtdGl0bGUgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgIGhlaWdodDogMS40cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgLjE1cyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2N0YS1hcnJvdy0tZ3JlZW5pc2guc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyLjRyZW0gMS40cmVtOyB9XG4gICAgLnByb2R1Y3RzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAucHJvZHVjdHMtdGl0bGUgPiBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAtLjNyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICAgLnByb2R1Y3RzLXRpdGxlID4gYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuMzc1cmVtOyB9IH1cblxuLnByb2R1Y3QtaXRlbS1pbmZvIC5sYWJlbC1zcG90bGlnaHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkuX2hhcy1tb2RhbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1vZGFscy1vdmVybGF5IHtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4ubW9kYWwtc2xpZGUsXG4ubW9kYWwtcG9wdXAge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgMC4zcywgb3BhY2l0eSAwLjNzIGVhc2U7IH1cbiAgLm1vZGFsLXNsaWRlLl9zaG93LFxuICAubW9kYWwtcG9wdXAuX3Nob3cge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICAgIC5tb2RhbC1zbGlkZS5fc2hvdyAubW9kYWwtaW5uZXItd3JhcCxcbiAgICAubW9kYWwtcG9wdXAuX3Nob3cgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwLFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDEycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4ubW9kYWwtc2xpZGUge1xuICBsZWZ0OiA1cmVtO1xuICB6LWluZGV4OiA5MDA7IH1cbiAgLm1vZGFsLXNsaWRlLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAubW9kYWwtc2xpZGUuX2lubmVyLXNjcm9sbCAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1vZGFsLXNsaWRlLl9pbm5lci1zY3JvbGwgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLXNsaWRlLl9pbm5lci1zY3JvbGwgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5tb2RhbC1zbGlkZS5faW5uZXItc2Nyb2xsIC5tb2RhbC1jb250ZW50IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5tb2RhbC1zbGlkZS5faW5uZXItc2Nyb2xsIC5tb2RhbC1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtY29udGVudCxcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDAgMi42cmVtIDIuNnJlbTsgfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMi4xcmVtOyB9XG5cbi5tb2RhbC1wb3B1cCB7XG4gIHotaW5kZXg6IDkwMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubW9kYWwtcG9wdXAuX3Nob3cgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIG1hcmdpbjogNXJlbSBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsgfVxuICAubW9kYWwtcG9wdXAuX2lubmVyLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuICAgIC5pZTExIC5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsLFxuICAgIC5pZTEwIC5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsLFxuICAgIC5pZTkgLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgIC5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgIG1heC1oZWlnaHQ6IDkwJTsgfVxuICAgICAgLmllMTEgLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwgLm1vZGFsLWlubmVyLXdyYXAsXG4gICAgICAuaWUxMCAubW9kYWwtcG9wdXAuX2lubmVyLXNjcm9sbCAubW9kYWwtaW5uZXItd3JhcCxcbiAgICAgIC5pZTkgLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gICAgLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1jb250ZW50LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH1cbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXItYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUge1xuICAgIGxlZnQ6IDVyZW07XG4gICAgei1pbmRleDogOTAwOyB9XG4gICAgLm1vZGFsLXBvcHVwLm1vZGFsLXNsaWRlLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5tb2RhbC1wb3B1cC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTsgfSB9XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmZvY3VzLCAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6YWN0aXZlLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZTpmb2N1cyxcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6YWN0aXZlLFxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTpmb2N1cyxcbiAgLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6aG92ZXIsXG4gIC5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmhvdmVyLFxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlLmRpc2FibGVkLCAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2VbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZS5kaXNhYmxlZCxcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2VbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UsXG4gIC5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlLmRpc2FibGVkLFxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZVtkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlID4gc3BhbixcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UgPiBzcGFuLFxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSA+IHNwYW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6YmVmb3JlLFxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTpiZWZvcmUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAjOGY4ZjhmO1xuICAgIGNvbnRlbnQ6IFwi7piWXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSxcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlLFxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTphY3RpdmU6YmVmb3JlLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZTphY3RpdmU6YmVmb3JlLFxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZTpob3ZlcjpiZWZvcmUsXG4gIC5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cblxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlIHtcbiAgbWFyZ2luOiAyMy43NXB4OyB9XG5cbi5tb2RhbC1wb3B1cCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzFjMWMxO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcGFkZGluZy1ib3R0b206IDkuNXB4O1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2Uge1xuICAgIHBhZGRpbmc6IDkuNXB4OyB9XG5cbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlIHtcbiAgcGFkZGluZzogMS4xcmVtIDJyZW07IH1cblxuLm1vZGFsLXNsaWRlIC5wYWdlLW1haW4tYWN0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMi4xcmVtIC0gMTQuMjVweCk7XG4gIG1hcmdpbi10b3A6IDIuMXJlbTsgfVxuXG4ubW9kYWxzLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlKCMzMzMsIDU1JSk7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbmJvZHkuX2hhcy1tb2RhbC1jdXN0b20gLm1vZGFsLWN1c3RvbS1vdmVybGF5IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgei1pbmRleDogMTAwMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jdXN0b20tc2xpZGUge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgMC4zcywgb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgbGVmdDogNXJlbTtcbiAgICB6LWluZGV4OiA5MDA7XG4gICAgbGVmdDogMTB2dztcbiAgICByaWdodDogYXV0bztcbiAgICB3aWR0aDogOTB2dzsgfVxuICAgIC5jdXN0b20tc2xpZGUuX3Nob3cge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICAgICAgLmN1c3RvbS1zbGlkZS5fc2hvdyAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gICAgLmN1c3RvbS1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAuY3VzdG9tLXNsaWRlLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5jdXN0b20tc2xpZGUgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmN1c3RvbS1zbGlkZS5fc2hvdyB7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmN1c3RvbS1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgYm9keS5faGFzLW1vZGFsLWN1c3RvbSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICBib2R5Ll9oYXMtbW9kYWwtY3VzdG9tIC5tb2RhbC1jdXN0b20tb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3Nzc4O1xuICAgICAgb3BhY2l0eTogMC43OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXBbY2xhc3NdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG4gIC5tb2RhbC1wb3B1cC5tb2RhbC1zbGlkZS5faW5uZXItc2Nyb2xsLl9zaG93IHtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUuX2lubmVyLXNjcm9sbCAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb2RhbC1wb3B1cC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2MxYzFjMTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5maWVsZHNldCB7XG4gIG1hcmdpbjogMDsgfVxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuZmllbGRzZXQgLmZpZWxkcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmZpZWxkc2V0IC5maWVsZHMgLmZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDkuNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5maWVsZHNldCAuZmllbGRzIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDRweDsgfVxuXG4uY29sdW1uIC5ibG9jay1hZGRieXNrdSAuc2t1IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTU1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29sdW1uIC5ibG9jay1hZGRieXNrdSAuc2t1cyA+IC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDkuNXB4OyB9XG5cbi5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5xdHkgLnF0eSArIC5tYWdlLWVycm9yIHtcbiAgd2lkdGg6IDgwcHg7IH1cblxuLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmJsb2NrLWNvbnRlbnQgLmFjdGlvbnMtdG9vbGJhciB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDAgMCAxOXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5ibG9jay1jb250ZW50IC5hY3Rpb25zLXRvb2xiYXI6YmVmb3JlLCAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5LFxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5ibG9jay1jb250ZW50IC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgYS5hY3Rpb24sXG4gICAgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmJsb2NrLWNvbnRlbnQgLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IGEuYWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgYS5hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5LFxuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYmxvY2stY29udGVudCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5ibG9jay1jb250ZW50IC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5yZXNldCB7XG4gIG1hcmdpbjogOS41cHggMDsgfVxuXG4uY29sdW1uIC5ibG9jay1hZGRieXNrdSAubm90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG5cbi5ibG9jay1jYXJ0LWZhaWxlZCB7XG4gIG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgLmJsb2NrLWNhcnQtZmFpbGVkIC5ibG9jay10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjZyZW07IH1cbiAgICAuYmxvY2stY2FydC1mYWlsZWQgLmJsb2NrLXRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmJsb2NrLWNhcnQtZmFpbGVkIC5hY3Rpb25zIC5hY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuc2t1IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC04NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDkwcHg7IH1cbiAgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZSA+IHNwYW4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmU6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiBcIu6YllwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDFweCAwIDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTpmb2N1cywgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmU6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmUuZGlzYWJsZWQsIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgb3BhY2l0eTogMC41OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi10b3A6IDJweDsgfVxuICAgIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlOmZvY3VzLCAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZS5kaXNhYmxlZCwgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmVbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICNhNTRmNmM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTphY3RpdmUge1xuICAgICAgY29sb3I6ICNmZjU1MDE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTpob3ZlciB7XG4gICAgICBjb2xvcjogI2E1NGY2YzsgfVxuICAgIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlOmhvdmVyLCAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTphY3RpdmUsIC5jb2x1bW4gLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZS5kaXNhYmxlZCwgLmNvbHVtbiAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmVbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAuY29sdW1uIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZSB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ibG9jay1jYXJ0LWZhaWxlZCAuYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYmxvY2stY2FydC1mYWlsZWQgLmFjdGlvbnMucHJpbWFyeSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLnBheW1lbnQtbWV0aG9kLWJyYWludHJlZSAuaG9zdGVkLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMjVweDsgfVxuICAucGF5bWVudC1tZXRob2QtYnJhaW50cmVlIC5ob3N0ZWQtY29udHJvbC5icmFpbnRyZWUtaG9zdGVkLWZpZWxkcy1mb2N1c2VkIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDZiYjQ7IH1cbiAgLnBheW1lbnQtbWV0aG9kLWJyYWludHJlZSAuaG9zdGVkLWNvbnRyb2wuYnJhaW50cmVlLWhvc3RlZC1maWVsZHMtaW52YWxpZDpub3QoLmJyYWludHJlZS1ob3N0ZWQtZmllbGRzLWZvY3VzZWQpIHtcbiAgICBib3JkZXItY29sb3I6ICNlMDJiMjc7IH1cbiAgICAucGF5bWVudC1tZXRob2QtYnJhaW50cmVlIC5ob3N0ZWQtY29udHJvbC5icmFpbnRyZWUtaG9zdGVkLWZpZWxkcy1pbnZhbGlkOm5vdCguYnJhaW50cmVlLWhvc3RlZC1maWVsZHMtZm9jdXNlZCkgfiAuaG9zdGVkLWVycm9yIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnBheW1lbnQtbWV0aG9kLWJyYWludHJlZSAuaG9zdGVkLWNvbnRyb2wuYnJhaW50cmVlLWhvc3RlZC1maWVsZHMtdmFsaWQge1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjQwMDsgfVxuICAucGF5bWVudC1tZXRob2QtYnJhaW50cmVlIC5ob3N0ZWQtY29udHJvbC5ob3N0ZWQtY2lkIHtcbiAgICB3aWR0aDogNXJlbTsgfVxuICAucGF5bWVudC1tZXRob2QtYnJhaW50cmVlIC5ob3N0ZWQtY29udHJvbC5ob3N0ZWQtZGF0ZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHdpZHRoOiA2cmVtOyB9XG4gICAgLnBheW1lbnQtbWV0aG9kLWJyYWludHJlZSAuaG9zdGVkLWNvbnRyb2wuaG9zdGVkLWRhdGU6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH1cbiAgICAgIC5wYXltZW50LW1ldGhvZC1icmFpbnRyZWUgLmhvc3RlZC1jb250cm9sLmhvc3RlZC1kYXRlOmZpcnN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiBpbmhlcml0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICAgICAgdG9wOiA1cHg7IH1cblxuLnBheW1lbnQtbWV0aG9kLWJyYWludHJlZSAuZmllbGQtdG9vbHRpcCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5wYXltZW50LW1ldGhvZC1icmFpbnRyZWUgLmhvc3RlZC1lcnJvciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb2xvcjogI2UwMmIyNztcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLXRvcDogN3B4O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5icmFpbnRyZWUtcGF5cGFsLWxvZ28ge1xuICBtYXJnaW4tdG9wOiA5LjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5icmFpbnRyZWUtcGF5cGFsLWFjY291bnQge1xuICBwYWRkaW5nOiAxNXB4IDAgMTVweCA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnJhaW50cmVlLXBheXBhbC1hY2NvdW50OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vTWFnZW50b19CcmFpbnRyZWUvaW1hZ2VzL3BheXBhbC1zbWFsbC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IFwiXCI7IH1cbiAgLmJyYWludHJlZS1wYXlwYWwtYWNjb3VudDpiZWZvcmUge1xuICAgIGxlZnQ6IDE3cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7IH1cbiAgLmJyYWludHJlZS1wYXlwYWwtYWNjb3VudCAucGF5bWVudC1tZXRob2QtdHlwZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYnJhaW50cmVlLXBheXBhbC1hY2NvdW50IC5wYXltZW50LW1ldGhvZC1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM1NzU3NTc7IH1cblxuLmJyYWludHJlZS1wYXlwYWwtZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uYWN0aW9uLWJyYWludHJlZS1wYXlwYWwtbG9nbyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYWN0aW9uLWJyYWludHJlZS1wYXlwYWwtbG9nbzpmb2N1cywgLmFjdGlvbi1icmFpbnRyZWUtcGF5cGFsLWxvZ286YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuYWN0aW9uLWJyYWludHJlZS1wYXlwYWwtbG9nbzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmFjdGlvbi1icmFpbnRyZWUtcGF5cGFsLWxvZ28uZGlzYWJsZWQsIC5hY3Rpb24tYnJhaW50cmVlLXBheXBhbC1sb2dvW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5hY3Rpb24tYnJhaW50cmVlLXBheXBhbC1sb2dvIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuYWN0aW9uLWJyYWludHJlZS1wYXlwYWwtbG9nbyBpbWcge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTE0cHg7IH1cblxuLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC1jb250ZW50IC5hY3Rpb25zLXRvb2xiYXIuYnJhaW50cmVlLXBheXBhbC1hY3Rpb25zIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY291bnQgLnRhYmxlIC5jb2wucGF5cGFsLWFjY291bnQgaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYWNjb3VudCAudGFibGUgLmNvbC5wYXlwYWwtYWNjb3VudCArIC5hY3Rpb25zIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYXltZW50LW1ldGhvZC1icmFpbnRyZWUgLmN2diAuZmllbGQtdG9vbHRpcCB7XG4gICAgbGVmdDogNnJlbTsgfVxuICAuYnJhaW50cmVlLXBheXBhbC1hY2NvdW50IHtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5hY2NvdW50IC50YWJsZS1jcmVkaXQtY2FyZHMgLmNvbC5hY3Rpb25zIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG4uYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi1ib3R0b206IDM4cHg7IH1cbiAgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAubGVnZW5kLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgbWFyZ2luLXRvcDogMi4zNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS45cmVtOyB9XG4gIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI4LjVweDsgfVxuICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5hY3Rpb24uYmFjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjguNXB4OyB9XG4gIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLnByaWNlLWJveCAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIHBhZGRpbmc6IDkuNXB4IDE5cHg7IH1cbiAgICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSA+IC50aXRsZSA+IHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMi4zNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjlyZW07IH1cbiAgICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAuYnVuZGxlLXN1bW1hcnkge1xuICAgICAgbWFyZ2luLXRvcDogMjguNXB4OyB9XG4gICAgICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAuYnVuZGxlLXN1bW1hcnkuZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAuYnVuZGxlLXN1bW1hcnkgPiAuc3VidGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS40MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLmJ1bmRsZS5pdGVtcyA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG4gICAgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnkgLmJveC10b2NhcnQgLmFjdGlvbnMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cbiAgICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSAucHJvZHVjdC1hZGR0by1saW5rcyA+IC5hY3Rpb24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5uZXN0ZWQgLmZpZWxkLnF0eSB7XG4gICAgbWFyZ2luLXRvcDogMTlweDsgfVxuICAgIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLm5lc3RlZCAuZmllbGQucXR5IC5sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwIDAgNC43NXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgcC5yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNlMDJiMjc7IH1cbiAgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5idW5kbGUtb3B0aW9ucy13cmFwcGVyLFxuICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDU3JTsgfVxuICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJ1bmRsZS1vcHRpb25zLXdyYXBwZXIsXG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1yaWdodCAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5idW5kbGUtb3B0aW9ucy13cmFwcGVyLFxuICAucGFnZS1sYXlvdXQtM2NvbHVtbnMgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYnVuZGxlLW9wdGlvbnMtd3JhcHBlciwgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnRcbiAgLmJ1bmRsZS1vcHRpb25zLWNvbnRhaW5lciAuYmxvY2stYnVuZGxlLXN1bW1hcnksXG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1yaWdodFxuICAuYnVuZGxlLW9wdGlvbnMtY29udGFpbmVyIC5ibG9jay1idW5kbGUtc3VtbWFyeSxcbiAgLnBhZ2UtbGF5b3V0LTNjb2x1bW5zXG4gIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IHtcbiAgICB3aWR0aDogNDglOyB9IH1cblxuLyogUFJPRFVDVFMgR1JJRCAqL1xuLyogKioqKioqKioqKioqKiAqL1xuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgLTEuNnJlbSAtNHJlbTsgfVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IDI1JTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMS42cmVtO1xuICBtYXJnaW4tYm90dG9tOiA3LjhyZW07XG4gIHotaW5kZXg6IDQyO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuMnMgZWFzZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtOmhvdmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjFyZW07IH1cbiAgICAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtOmhvdmVyIC5wcm9kdWN0LWl0ZW1fX2lubmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSg1OSwgNzQsIDc1LCAwLjMpOyB9XG4gICAgICAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtOmhvdmVyIC5wcm9kdWN0LWl0ZW1fX2lubmVyIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1LjdyZW07IH1cbiAgICAgIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW06aG92ZXIgLnByb2R1Y3QtaXRlbV9faW5uZXIgLnByb2R1Y3QtaXRlbS1pbm5lciB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKiBQUk9EVUNUIFRFQVNFUiAqL1xuLyogKioqKioqKioqKioqKiogKi9cbi5wcm9kdWN0LWl0ZW1fX2lubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICAvKiBFcXVhbCBoZWlnaHRzIGNvbHVtbnMsIGJvdHRvbSBhbGlnbmVkIHByaWNlcyAvIGFjdGlvbnMgKi8gfVxuICAucHJvZHVjdC1pdGVtX19pbm5lciAucHJvZHVjdC1pbmZvLWxhYmVscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLnByb2R1Y3QtaXRlbV9faW5uZXIgLnByb2R1Y3QtaW5mby1sYWJlbHMgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW1fX2lubmVyIC5wcm9kdWN0LWluZm8tbGFiZWxzIHNwYW46bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW1fX2lubmVyIC5wcm9kdWN0LWluZm8tbGFiZWxzIHNwYW4ubGFiZWwtYmFjay1pbi1zdG9jayB7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwODAwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW1fX2lubmVyIC5wcm9kdWN0LWluZm8tbGFiZWxzIHNwYW4ubGFiZWwtbmV3IHtcbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjOWVjMWNmO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnByb2R1Y3QtaXRlbV9faW5uZXIgLnByb2R1Y3QtaW5mby1sYWJlbHMgc3Bhbi5sYWJlbC1sb3ctc3RvY2sge1xuICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICM5ZWMxY2Y7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAucHJvZHVjdC1pdGVtX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAucHJvZHVjdC1pdGVtX19pbm5lciAucHJvZHVjdC1pdGVtLWluZm8sXG4gICAgICAucHJvZHVjdC1pdGVtX19pbm5lciAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLnByb2R1Y3QtaXRlbV9faW5uZXIgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcmljZV9jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9IH1cblxuLyogSW1hZ2UgKi9cbi5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJvZHVjdC1pdGVtLXBob3RvIC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lcltzdHlsZV0ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLyogQ29udGVudCAqL1xuLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZy1ib3R0b20gMC4ycyBlYXNlO1xuICBjb2xvcjogIzNiNGE0YjtcbiAgLyogVGl0bGUgKi9cbiAgLyogU3VidGl0bGUgKi9cbiAgLyogQXR0cmlidXRlcyAqL1xuICAvKiBQcmljZSAqL1xuICAvKiBGb3JtLCByZXZlYWwgb24gaG92ZXIgZm9yIG5vbi1tb2JpbGUgcmVzb2x1dGlvbnMgKi8gfVxuICAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBtaW4taGVpZ2h0OiA0LjRyZW07IH0gfVxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLW5hbWUgPiBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLW5hbWUgPiBhOmhvdmVyLCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByb2R1Y3QtaXRlbS1uYW1lID4gYTpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuY3VzdG9tX3N1YnRpdGxlIC52YWx1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuY3VzdG9tX3N1YnRpdGxlIC52YWx1ZSBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmN1c3RvbV9hdHRyaWJ1dGVzIHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNlZmVmZTg7IH1cbiAgICAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmN1c3RvbV9hdHRyaWJ1dGVzIC5jdXN0b21fYXR0cmlidXRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuY3VzdG9tX2F0dHJpYnV0ZXMgLmN1c3RvbV9hdHRyaWJ1dGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5jdXN0b21fYXR0cmlidXRlcyAubGFiZWwge1xuICAgICAgZmxleDogMCAxIDMwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBjb2xvcjogIzlkYTRhMztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5jdXN0b21fYXR0cmlidXRlcyAudmFsdWUge1xuICAgICAgZmxleDogMCAxIDcwJTtcbiAgICAgIGNvbG9yOiAjNmE3NTc2O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcmljZV9jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgI2VmZWZlODsgfVxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJpY2VfY29udGFpbmVyIC5wcmljZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWl0ZW0taW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTsgfVxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLWlubmVyIGZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByb2R1Y3QtaXRlbS1pbm5lciBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICBmbGV4OiAwIDAgMzAlO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByb2R1Y3QtaXRlbS1pbm5lciBidXR0b24sIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLWlubmVyIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWl0ZW0taW5uZXIgLmFjdGlvbiwgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWl0ZW0taW5uZXIgLmFjdGlvbi1naWZ0IHtcbiAgICAgIGZsZXg6IDAgMSA2MCU7XG4gICAgICBwYWRkaW5nLXRvcDogMC44cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4udG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG5cbi50b29sYmFyLWFtb3VudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMCAwOyB9XG4gIC5wcm9kdWN0cy53cmFwcGVyIH4gLnRvb2xiYXIgLnRvb2xiYXItYW1vdW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50b29sYmFyLXByb2R1Y3RzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgcGFkZGluZzogMCA5LjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50b29sYmFyLXByb2R1Y3RzIC5wYWdlcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcm9kdWN0cy53cmFwcGVyIH4gLnRvb2xiYXItcHJvZHVjdHMgLnBhZ2VzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC50b29sYmFyLXByb2R1Y3RzIC5saW1pdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRvb2xiYXItcHJvZHVjdHMgLmxpbWl0ZXIgLmNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zb3J0ZXIge1xuICBwYWRkaW5nOiA0cHggMCAwOyB9XG4gIC5wcm9kdWN0cy53cmFwcGVyIH4gLnRvb2xiYXIgLnNvcnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc29ydGVyLW9wdGlvbnMge1xuICBtYXJnaW46IDAgMCAwIDdweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnNvcnRlci1hY3Rpb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc29ydGVyLWFjdGlvbiA+IHNwYW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLnNvcnRlci1hY3Rpb246YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzhmOGY4ZjtcbiAgICBjb250ZW50OiBcIu6Yk1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNvcnRlci1hY3Rpb246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzMzMzsgfVxuXG4uc29ydGVyIC5zb3J0LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCLumJRcIjsgfVxuXG4ubW9kZXMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5saW1pdGVyLW9wdGlvbnMge1xuICBtYXJnaW46IDAgNXB4IDAgN3B4O1xuICB3aWR0aDogYXV0bzsgfVxuXG4ubGltaXRlci1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnBhZ2UtcHJvZHVjdHMgLnRvb2xiYXIgLmxpbWl0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtcHJvZHVjdHMgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5wcm9kdWN0cy53cmFwcGVyIH4gLnRvb2xiYXIgLnBhZ2VzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2xiYXItYW1vdW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLm1vZGVzLW1vZGUge1xuICAgIGNvbG9yOiAjN2Q3ZDdkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5tb2Rlcy1tb2RlID4gc3BhbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAubW9kZXMtbW9kZTpiZWZvcmUge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICAgIGNvbnRlbnQ6IFwi7piNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1vZGVzLW1vZGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjN2Q3ZDdkOyB9XG4gICAgLm1vZGVzLW1vZGU6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjN2Q3ZDdkO1xuICAgICAgYmFja2dyb3VuZDogI2RlZGVkZTsgfVxuICAgIC5tb2Rlcy1tb2RlOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QxZDFkMTsgfVxuICAgIC5tb2Rlcy1tb2RlLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2E2YTZhNjsgfVxuICAubW9kZS1saXN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLumItcIjsgfVxuICAubGltaXRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAucHJvZHVjdHMud3JhcHBlciB+IC50b29sYmFyIC5saW1pdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmZvdG9yYW1hLXN0cmV0Y2gsIC5mb3RvcmFtYS1mb2N1cy1vdmVybGF5OmFmdGVyLCAuZm90b3JhbWFfX25hdl9fZnJhbWU6Zm9jdXM6YWZ0ZXIsIC5mb3RvcmFtYV9faHRtbCwgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUsIC5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0LCAuZm90b3JhbWFfX3ZpZGVvIGlmcmFtZSB7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mb3RvcmFtYS1ncmFiLWN1cnNvciwgLmZvdG9yYW1hX193cmFwIC5mb3RvcmFtYV9fZ3JhYiB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mb3RvcmFtYS1ncmFiYmluZy1jdXJzb3IsIC5mb3RvcmFtYV9fZ3JhYmJpbmcgKiB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZm90b3JhbWEtZ3B1LCAuZm90b3JhbWFfX2NhcHRpb24sIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9faHRtbCwgLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIC5mb3RvcmFtYV9faW1nLS1mdWxsLCAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19uYXYsIC5mb3RvcmFtYV9fbmF2OmJlZm9yZSwgLmZvdG9yYW1hX19uYXY6YWZ0ZXIsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3NwaW5uZXIsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3N0YWdlLCAuZm90b3JhbWFfX3N0YWdlOmJlZm9yZSwgLmZvdG9yYW1hX19zdGFnZTphZnRlciwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cbi5mb3RvcmFtYS1mb2N1cywgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246Zm9jdXMsIC5mb3RvcmFtYV9fbmF2X19mcmFtZSwgLmZvdG9yYW1hX196b29tLWluOmZvY3VzLFxuLmZvdG9yYW1hX196b29tLW91dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmZvdG9yYW1hLWZvY3VzLW92ZXJsYXk6YWZ0ZXIsIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpmb2N1czphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDZiYjQ7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbi5mb3RvcmFtYS10cmFuc2Zvcm0tZGlzYWJsZWQsIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUtLXZpZGVvIC5mb3RvcmFtYV9faHRtbCwgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS0tdmlkZW8gLmZvdG9yYW1hX19pbWcsIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZSwgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS0tdmlkZW8sIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fc2hhZnQge1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWEtdHJhbnNpdGlvbi1mb3Itc2xpZGUsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX25hdl9fc2hhZnQsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3N0YWdlX19zaGFmdCwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fdGh1bWItYm9yZGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdW5zZXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgd2lkdGg7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLCAwLjI1LCAxKTsgfVxuXG4uZm90b3JhbWEtbm8tc2VsZWN0LCAuZm90b3JhbWFfX2FyciwgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sIC5mb3RvcmFtYV9fbm8tc2VsZWN0LCAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLCAuZm90b3JhbWFfX3dyYXAge1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZm90b3JhbWEtc2VsZWN0LCAuZm90b3JhbWFfX3NlbGVjdCB7XG4gIHVzZXItc2VsZWN0OiB0ZXh0OyB9XG5cbi5mb3RvcmFtYS1lbXB0eS1iZyB7XG4gIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFEL0FDd0FBQUFBQVFBQkFBQUNBRHM9KTsgfVxuXG4uZm90b3JhbWEtYXV0by1tYXJnaW4sIC5mb3RvcmFtYV9fbmF2LCAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdG9yYW1hLWlubGluZS1ibG9jaywgLmZvdG9yYW1hX19jYXB0aW9uX193cmFwLCAuZm90b3JhbWFfX25hdl9fZnJhbWUsIC5mb3RvcmFtYV9fbmF2X19zaGFmdCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6b29tOiAxOyB9XG5cbi5mb3RvcmFtYS1oaWRkZW4sIC5mb3RvcmFtYS0taGlkZGVuLCAuZm90b3JhbWFfX2xvYWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTk5cHg7XG4gIGxlZnQ6IC05OTk5OXB4O1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uZm90b3JhbWEtdmlzaWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiBhdXRvOyB9XG5cbi5mb3RvcmFtYS1uby10YXAsIC5mb3RvcmFtYV9fYXJyLCAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiwgLmZvdG9yYW1hX19uYXYsIC5mb3RvcmFtYV9fbmF2X19mcmFtZSwgLmZvdG9yYW1hX19uYXZfX3NoYWZ0LCAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSwgLmZvdG9yYW1hX19zdGFnZV9fc2hhZnQsIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2Uge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IH1cblxuLnRyYW5zaXRpb25EdXJhdGlvbiB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMzM21zOyB9XG5cbi50cmFuc2l0aW9uRHVyYXRpb25aZXJvIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdW5zZXQ7IH1cblxuLmZvdG9yYW1hLXNwcml0ZSwgLmZvdG9yYW1hX19hcnIgLmZvdG9yYW1hX19hcnJfX2FyciwgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sIC5mb3RvcmFtYV9fdGh1bWItLWljb24sIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2UsIC5mb3RvcmFtYV9fdmlkZW8tcGxheSwgLmZvdG9yYW1hX19mdWxsc2NyZWVuIC5mb3RvcmFtYV9fem9vbS1pbiwgLmZvdG9yYW1hX19mdWxsc2NyZWVuIC5mb3RvcmFtYV9fem9vbS1vdXQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZ2FsbGVyeS5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmZvdG9yYW1hLXByaW50LWJhY2tncm91bmQsIC5mb3RvcmFtYS1zcHJpdGUsIC5mb3RvcmFtYV9fYXJyIC5mb3RvcmFtYV9fYXJyX19hcnIsIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uLCAuZm90b3JhbWFfX3RodW1iLS1pY29uLCAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLCAuZm90b3JhbWFfX3ZpZGVvLXBsYXksIC5mb3RvcmFtYV9fZnVsbHNjcmVlbiAuZm90b3JhbWFfX3pvb20taW4sIC5mb3RvcmFtYV9fZnVsbHNjcmVlbiAuZm90b3JhbWFfX3pvb20tb3V0LCAuZm90b3JhbWFfX3RodW1iLWJvcmRlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmZvdG9yYW1hX19hY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDsgfVxuXG4uZm90b3JhbWFfX3N0YWdlX19mcmFtZS5mb3RvcmFtYV9fYWN0aXZlIHtcbiAgei1pbmRleDogODsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fZmFkZS1yZWFyLmZvdG9yYW1hX19hY3RpdmUge1xuICB6LWluZGV4OiA5OyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tb25seS1hY3RpdmUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmZvdG9yYW1hX19hcnIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogODBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogOTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5mb3RvcmFtYV9fYXJyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLmZvdG9yYW1hX19hcnI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMywgMjEzLCAyMTMsIDAuNSk7IH1cbiAgLmZvdG9yYW1hX19hcnI6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZm90b3JhbWFfX2Fycjpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm90dG9tOiAzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCAjNjhhOGUwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBsZWZ0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogM3B4O1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB6LWluZGV4OiAxMDAwOyB9XG4gIC5mb3RvcmFtYV9fYXJyLS1wcmV2IHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tc2xpZGUuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19hcnItLXByZXY6bm90KDpmb2N1cykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTIwcHgsIDAsIDApOyB9XG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2Fyci0tcHJldiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMjBweCwgMCwgMCk7IH1cbiAgLmZvdG9yYW1hX19hcnItLW5leHQge1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tc2xpZGUuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19hcnItLW5leHQ6bm90KDpmb2N1cykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMjBweCwgMCwgMCk7IH1cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fYXJyLS1uZXh0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTIwcHgsIDAsIDApOyB9XG4gIC5mb3RvcmFtYV9fYXJyLS1kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19hcnIge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fYXJyOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2FyciB7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tY3NzMi5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19hcnIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczIuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fYXJyOmZvY3VzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tY3NzMi5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19hcnIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19hcnI6bm90KDpmb2N1cykge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yOyB9XG4gIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX19hcnItLXNob3duIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX19hcnItLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5mb3RvcmFtYV9fYXJyIC5mb3RvcmFtYV9fYXJyX19hcnIge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgLmllOSAuZm90b3JhbWFfX2FyciAuZm90b3JhbWFfX2Fycl9fYXJyIHtcbiAgICBtYXJnaW46IC00MHB4IDAgMCAtNDBweDsgfVxuXG4uZm90b3JhbWFfX2Fyci0tcHJldiAuZm90b3JhbWFfX2Fycl9fYXJyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTgwcHg7IH1cblxuLmZvdG9yYW1hX19hcnItLW5leHQgLmZvdG9yYW1hX19hcnJfX2FyciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtODBweDsgfVxuXG4uZm90b3JhbWFfX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHotaW5kZXg6IDEyOyB9XG4gIC5mb3RvcmFtYV9fY2FwdGlvbiBhIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogZmFkZSgjMDAwMDAwLCAwLjUpOyB9XG4gICAgLmZvdG9yYW1hX19jYXB0aW9uIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3JkZXItY29sb3I6IGZhZGUoIzAwMDAwMCwgMC41KTsgfVxuICAuZm90b3JhbWFfX3dyYXAtLXJ0bCAuZm90b3JhbWFfX2NhcHRpb24ge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7IH1cbiAgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2NhcHRpb24sXG4gIC5mb3RvcmFtYV9fd3JhcC0tbm8tY2FwdGlvbnMgLmZvdG9yYW1hX19jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcCB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb3RvcmFtYV9fZG90IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMnB4O1xuICBsZWZ0OiA2cHg7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjODU4NTg1O1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS1kb3Q6Zm9jdXMgLmZvdG9yYW1hX19kb3Qge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdDpmb2N1cyAuZm90b3JhbWFfX2RvdDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm90dG9tOiAzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCAjNjhhOGUwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBsZWZ0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogM3B4O1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB6LWluZGV4OiAxMDAwOyB9XG4gIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tdGh1bWI6Zm9jdXMgLmZvdG9yYW1hX19kb3Q6YWZ0ZXIsXG4gIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tZG90OmZvY3VzIC5mb3RvcmFtYV9fZG90OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgLmZvdG9yYW1hX19hY3RpdmUgLmZvdG9yYW1hX19kb3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU1MDE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NTAxOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX2ZhZGUtZnJvbnQsXG4uZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19mYWRlLXJlYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX2ZhZGUtZnJvbnQge1xuICB6LWluZGV4OiA4OyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX2ZhZGUtcmVhciB7XG4gIHotaW5kZXg6IDc7IH1cblxuLmZvdG9yYW1hIHtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50OyB9XG5cbi5mb3RvcmFtYV9fZnVsbHNjcmVlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm90dG9tOiAzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCAjNjhhOGUwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBsZWZ0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogM3B4O1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB6LWluZGV4OiAxMDAwOyB9XG4gIC5mb3RvcmFtYS0tZnVsbHNjcmVlbi1pY29ucyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tY3NzMi5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczIuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uOmZvY3VzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tY3NzMi5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS1zbGlkZS5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpub3QoOmZvY3VzKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4MHB4LCAtODBweCwgMCk7IH1cbiAgLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4MHB4LCAtODBweCwgMCkgIWltcG9ydGFudDsgfVxuICAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246bm90KDpmb2N1cykge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yOyB9XG4gIC5mb3RvcmFtYV9fd3JhcDpub3QoLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzKSAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC5mb3RvcmFtYV9fd3JhcDpub3QoLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzKSAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuZm90b3JhbWFfX3dyYXA6bm90KC5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cykgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEzLCAyMTMsIDIxMywgMC41KTsgfVxuXG4uZ2FsbGVyeS1wbGFjZWhvbGRlciAubG9hZGluZy1tYXNrIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZzogMCAwIDUwJTsgfVxuXG4uZ2FsbGVyeS1wbGFjZWhvbGRlciAubG9hZGVyIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19odG1sIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLS12aWRlbyAuZm90b3JhbWFfX2h0bWwge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mb3RvcmFtYV9faW1nIHtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZm90b3JhbWFfX2xvYWRlZCAuZm90b3JhbWFfX2ltZyxcbiAgLmZvdG9yYW1hX19lcnJvciAuZm90b3JhbWFfX2ltZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm90b3JhbWFfX2ltZy0tZnVsbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLS12aWRlbyAuZm90b3JhbWFfX2ltZyB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuZm90b3JhbWFfX25hdi13cmFwIC5mb3RvcmFtYV92ZXJ0aWNhbF9yYXRpbyAuZm90b3JhbWFfX2ltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmZvdG9yYW1hX19uYXYtd3JhcCAuZm90b3JhbWFfaG9yaXpvbnRhbF9yYXRpbyAuZm90b3JhbWFfX2ltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIC5mb3RvcmFtYV9faW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0OyB9XG4gIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSAuZm90b3JhbWFfX2ltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUgLmZvdG9yYW1hX19pbWcsXG4gIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSAuZm90b3JhbWFfX2ltZy0tZnVsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fbG9hZGVkLS1mdWxsIC5mb3RvcmFtYV9faW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fbG9hZGVkLS1mdWxsIC5mb3RvcmFtYV9faW1nLS1mdWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSAuZm90b3JhbWFfX2ltZy0tZnVsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7IH1cbiAgICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUgLmZvdG9yYW1hX19pbWctLWZ1bGwuZm90b3JhbWFfX2ltZy0tem9vbW1hYmxlIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0LCBib3R0b20sIHJpZ2h0LCB0b3AsIGxlZnQ7IH1cbiAgICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUgLmZvdG9yYW1hX19pbWctLWZ1bGwuZm90b3JhbWFfX2ltZy0tZHJhZ2dhYmxlIHtcbiAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7IH1cbiAgLmZvdG9yYW1hX19wcm9kdWN0LXZpZGVvLS1sb2FkZWQgLmZvdG9yYW1hX19pbWcsXG4gIC5mb3RvcmFtYV9fcHJvZHVjdC12aWRlby0tbG9hZGVkIC5mb3RvcmFtYV9faW1nLS1mdWxsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1hZ25pZmllci10aHVtYi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5tYWduaWZpZXItbGVucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjYmJiO1xuICB6LWluZGV4OiA4MDA7IH1cblxuLm1hZ25pZmllci1sb2FkZXItdGV4dCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLm1hZ25pZmllci1sYXJnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMyJTtcbiAgei1pbmRleDogMTAwOyB9XG5cbi5tYWduaWZpZXItcHJldmlldyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMTVweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1OCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm1hZ25pZmllci1wcmV2aWV3Om5vdCguaGlkZGVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAubWFnbmlmaWVyLXByZXZpZXcgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiBpbmhlcml0OyB9XG5cbi5tYWduaWZ5LWxlbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXI6IHNvbGlkIDFweCAjYmJiO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5tYWduaWZ5LW9wYXF1ZSB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4ubWFnbmlmeS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tYWduaWZ5LWZ1bGxpbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvdG9yYW1hX19mdWxsc2NyZWVuIC5tYWduaWZ5LWZ1bGxpbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mb3RvcmFtYV9fbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmZvdG9yYW1hX19uYXYtLWRvdHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZm90b3JhbWFfX25hdi0tdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZm90b3JhbWFfX25hdjpiZWZvcmUsIC5mb3RvcmFtYV9fbmF2OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgei1pbmRleDogMTA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZvdG9yYW1hX19uYXY6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMTBweDtcbiAgICB0b3A6IC0xMHB4OyB9XG4gIC5mb3RvcmFtYV9fbmF2OmFmdGVyIHtcbiAgICByaWdodDogLTEwcHg7XG4gICAgYm90dG9tOiAtMTBweDsgfVxuICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19uYXY6YmVmb3JlLCAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19uYXY6YWZ0ZXIsXG4gIC5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAuZm90b3JhbWFfX25hdjpiZWZvcmUsXG4gIC5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAuZm90b3JhbWFfX25hdjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm90b3JhbWFfX3dyYXAtLW9ubHktYWN0aXZlIC5mb3RvcmFtYV9fbmF2IHtcbiAgICBtYXgtd2lkdGg6IDk5OTk5cHggIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX25hdi13cmFwLS12ZXJ0aWNhbC5mb3RvcmFtYV9fbmF2LXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5mb3RvcmFtYV9fbmF2X19mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgLmZvdG9yYW1hX19uYXYtLWRvdHMgLmZvdG9yYW1hX19uYXZfX2ZyYW1lIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAuZm90b3JhbWFfX25hdi0tZG90cyAuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvdG9yYW1hX19uYXYtLXRodW1icyAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZvdG9yYW1hX19uYXYtLXRodW1icyAuZm90b3JhbWFfX25hdl9fZnJhbWU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZm90b3JhbWFfX25hdi0tdGh1bWJzIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tZG90IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLmZvdG9yYW1hX19hY3RpdmUgLmZvdG9yYW1hX19uYXZfX2ZyYW1lIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7IH1cbiAgICAuZm90b3JhbWFfX25hdl9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZSAuZm90b3JhbWFfX25hdl9fZnJhbWU6YWZ0ZXIge1xuICAgICAgdG9wOiAtM3B4O1xuICAgICAgbGVmdDogLTNweDtcbiAgICAgIHBhZGRpbmc6IDNweDsgfVxuICAuZm90b3JhbWFfX25hdl9fZnJhbWU6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZm90b3JhbWFfX25hdl9fZnJhbWU6Zm9jdXMgOmFmdGVyIHtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBwYWRkaW5nOiAxcHg7IH1cbiAgLmZvdG9yYW1hX19uYXYtd3JhcC0tdmVydGljYWwgLmZvdG9yYW1hX19uYXZfX3NoYWZ0IC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tdGh1bWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX19uYXZfX3NoYWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZvdG9yYW1hX19uYXYtd3JhcC0tdmVydGljYWwgLmZvdG9yYW1hX19uYXZfX3NoYWZ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4uZm90b3JhbWFfX3dyYXAgLmZvdG9yYW1hX19wb2ludGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5mb3RvcmFtYV9fc2VsZWN0IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX3N0YWdlIC5mb3RvcmFtYV9fc2hhZG93IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm90b3JhbWFfX25hdi5mb3RvcmFtYV9fc2hhZG93cy0tbGVmdDpiZWZvcmUsIC5mb3RvcmFtYV9fbmF2LmZvdG9yYW1hX19zaGFkb3dzLS1yaWdodDphZnRlcixcbi5mb3RvcmFtYV9fc3RhZ2UuZm90b3JhbWFfX3NoYWRvd3MtLWxlZnQ6YmVmb3JlLFxuLmZvdG9yYW1hX19zdGFnZS5mb3RvcmFtYV9fc2hhZG93cy0tcmlnaHQ6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1zaXplOiAxcHggMTAwJSwgNXB4IDEwMCU7IH1cblxuLmZvdG9yYW1hX19uYXYuZm90b3JhbWFfX3NoYWRvd3MtLXRvcDpiZWZvcmUsIC5mb3RvcmFtYV9fbmF2LmZvdG9yYW1hX19zaGFkb3dzLS1ib3R0b206YWZ0ZXIsXG4uZm90b3JhbWFfX3N0YWdlLmZvdG9yYW1hX19zaGFkb3dzLS10b3A6YmVmb3JlLFxuLmZvdG9yYW1hX19zdGFnZS5mb3RvcmFtYV9fc2hhZG93cy0tYm90dG9tOmFmdGVyIHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHgsIDEwMCUgNXB4OyB9XG5cbi5mb3RvcmFtYV9fbmF2LmZvdG9yYW1hX19zaGFkb3dzLS1sZWZ0OmJlZm9yZSxcbi5mb3RvcmFtYV9fc3RhZ2UuZm90b3JhbWFfX3NoYWRvd3MtLWxlZnQ6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCAwIDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjIpIDI1JSwgcmdiYSgwLCAwLCAwLCAwLjMpIDc1JSwgdHJhbnNwYXJlbnQpLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAwIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjQpLCB0cmFuc3BhcmVudCk7IH1cblxuLmZvdG9yYW1hX19uYXYuZm90b3JhbWFfX3NoYWRvd3MtLXJpZ2h0OmFmdGVyLFxuLmZvdG9yYW1hX19zdGFnZS5mb3RvcmFtYV9fc2hhZG93cy0tcmlnaHQ6YWZ0ZXIge1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwLCAxMDAlIDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjIpIDI1JSwgcmdiYSgwLCAwLCAwLCAwLjMpIDc1JSwgdHJhbnNwYXJlbnQpLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjQpLCB0cmFuc3BhcmVudCk7IH1cblxuLmZvdG9yYW1hX19uYXYuZm90b3JhbWFfX3NoYWRvd3MtLXRvcDpiZWZvcmUsXG4uZm90b3JhbWFfX3N0YWdlLmZvdG9yYW1hX19zaGFkb3dzLS10b3A6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDAgMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMikgMjUlLCByZ2JhKDAsIDAsIDAsIDAuMykgNzUlLCB0cmFuc3BhcmVudCksIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDUwJSAwLCByZ2JhKDAsIDAsIDAsIDAuNCksIHRyYW5zcGFyZW50KTsgfVxuXG4uZm90b3JhbWFfX25hdi5mb3RvcmFtYV9fc2hhZG93cy0tYm90dG9tOmFmdGVyLFxuLmZvdG9yYW1hX19zdGFnZS5mb3RvcmFtYV9fc2hhZG93cy0tYm90dG9tOmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCUsIDAgMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMikgMjUlLCByZ2JhKDAsIDAsIDAsIDAuMykgNzUlLCB0cmFuc3BhcmVudCksIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDUwJSAxMDAlLCByZ2JhKDAsIDAsIDAsIDAuNCksIHRyYW5zcGFyZW50KTsgfVxuXG4uZm90b3JhbWFfX3ZpZGVvLWNsb3NlLmZvdG9yYW1hLXNob3ctY29udHJvbCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG5cbi5mb3RvcmFtYV9fc3Bpbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNjRweDtcbiAgd2lkdGg6IDY0cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvYWRlci0xLmdpZlwiKTtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5mb3RvcmFtYV9fc3Bpbm5lci0tc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3Bpbm5lciB7XG4gICAgYW5pbWF0aW9uOiBzcGlubmVyIDI0cyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uZm90b3JhbWFfX3N0YWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUsIC5mb3RvcmFtYV9fc3RhZ2U6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAuZm90b3JhbWFfX3N0YWdlOmJlZm9yZSB7XG4gICAgbGVmdDogLTEwcHg7XG4gICAgdG9wOiAtMTBweDsgfVxuICAuZm90b3JhbWFfX3N0YWdlOmFmdGVyIHtcbiAgICByaWdodDogLTEwcHg7XG4gICAgYm90dG9tOiAtMTBweDsgfVxuICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUsIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlOmFmdGVyLFxuICAuZm90b3JhbWFfX3dyYXAtLW5vLXNoYWRvd3MgLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUsXG4gIC5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAuZm90b3JhbWFfX3N0YWdlOmFmdGVyLFxuICAuZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUsXG4gIC5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX3N0YWdlOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tb25seS1hY3RpdmUgLmZvdG9yYW1hX19zdGFnZSB7XG4gICAgbWF4LXdpZHRoOiA5OTk5OXB4ICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvdG9yYW1hX193cmFwLS1ydGwgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tc2xpZGUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAuZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIGlmcmFtZSB7XG4gICAgbGVmdDogODBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCAqIDIpOyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tb25seS1hY3RpdmUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZm90b3JhbWFfX3N0YWdlX19zaGFmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm90b3JhbWFfX3N0YWdlX19zaGFmdDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0OmZvY3VzOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICBib3R0b206IDNweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICM2OGE4ZTA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cblxuLmZvdG9yYW1hX190aHVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsgfVxuICAuZm90b3JhbWFfX25hdl9fZnJhbWU6Zm9jdXMgLmZvdG9yYW1hX190aHVtYiB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWI6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAxcHggIzY4YThlMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS10aHVtYjpmb2N1cyAuZm90b3JhbWFfX3RodW1iLFxuICAuZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdDpmb2N1cyAuZm90b3JhbWFfX3RodW1iIHtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDsgfVxuICAuZm90b3JhbWFfX25hdl9fZnJhbWU6bnRoLWNoaWxkKDIpOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWI6YWZ0ZXIge1xuICAgIGxlZnQ6IDFweDsgfVxuICAuZm90b3JhbWFfX25hdl9fZnJhbWU6bGFzdC1jaGlsZDpmb2N1cyAuZm90b3JhbWFfX3RodW1iOmFmdGVyIHtcbiAgICByaWdodDogMXB4OyB9XG4gIC5mb3RvcmFtYV9fdGh1bWItLWljb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMC4wMDFweDsgfVxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLWhvcml6b250YWwgLmZvdG9yYW1hX190aHVtYl9fYXJyLS1sZWZ0IC5mb3RvcmFtYV9fdGh1bWItLWljb24sXG4gICAgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX3RodW1iX19hcnItLXJpZ2h0IC5mb3RvcmFtYV9fdGh1bWItLWljb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgICAgIC5pZTkgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX3RodW1iX19hcnItLWxlZnQgLmZvdG9yYW1hX190aHVtYi0taWNvbiwgLmllOVxuICAgICAgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX3RodW1iX19hcnItLXJpZ2h0IC5mb3RvcmFtYV9fdGh1bWItLWljb24ge1xuICAgICAgICBtYXJnaW46IC0xNXB4IDAgMCAtMTVweDsgfVxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tbGVmdCAuZm90b3JhbWFfX3RodW1iLS1pY29uLFxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQgLmZvdG9yYW1hX190aHVtYi0taWNvbiB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tbGVmdCAuZm90b3JhbWFfX3RodW1iLS1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNXB4IC0yNjVweDsgfVxuICAgIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQgLmZvdG9yYW1hX190aHVtYi0taWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjVweCAtMzUwcHg7IH1cblxuLmZvdG9yYW1hX190aHVtYi1ib3JkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmNTUwMTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSwgcmdiYSg2NCwgNjQsIDY0LCAwLjEpKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5OyB9XG4gIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fdGh1bWItYm9yZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3RvcmFtYV9fdGh1bWJfX2FyciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5mb3RvcmFtYV9fdGh1bWJfX2Fycjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5mb3RvcmFtYV9fdGh1bWJfX2FycjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEzLCAyMTMsIDIxMywgMC41KTsgfVxuICAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tbGVmdCxcbiAgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX3RodW1iX19hcnItLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMzBweDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tbGVmdCB7XG4gICAgbGVmdDogMDsgfVxuICAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQge1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tbGVmdCxcbiAgLmZvdG9yYW1hX19uYXYtd3JhcC0tdmVydGljYWwgLmZvdG9yYW1hX190aHVtYl9fYXJyLS1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxMDAwOyB9XG4gIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tbGVmdCB7XG4gICAgdG9wOiAwOyB9XG4gIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWIuZm90b3JhbWFfdmVydGljYWxfcmF0aW86YWZ0ZXIsXG4uZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdDpmb2N1cyAuZm90b3JhbWFfX3RodW1iLmZvdG9yYW1hX3ZlcnRpY2FsX3JhdGlvOmFmdGVyIHtcbiAgbGVmdDogMnB4O1xuICByaWdodDogMnB4OyB9XG5cbi5mb3RvcmFtYV9fbmF2X19mcmFtZTpudGgtY2hpbGQoMik6Zm9jdXMgLmZvdG9yYW1hX190aHVtYi5mb3RvcmFtYV92ZXJ0aWNhbF9yYXRpbzphZnRlciB7XG4gIHRvcDogMXB4OyB9XG5cbi5mb3RvcmFtYV9fbmF2X19mcmFtZTpsYXN0LWNoaWxkOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWIuZm90b3JhbWFfdmVydGljYWxfcmF0aW86YWZ0ZXIge1xuICBib3R0b206IDFweDsgfVxuXG4uZm90b3JhbWFfX3ZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMycHg7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5mb3RvcmFtYV9fdmlkZW8tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4MHB4LCAtODBweCwgMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDsgfVxuICAuZm90b3JhbWFfX2Z1bGxzY3JlZW4gLmZvdG9yYW1hX192aWRlby1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3M6bm90KC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8pIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlIHtcbiAgICB0b3A6IDk3cHg7XG4gICAgcmlnaHQ6IDkzcHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX192aWRlby1jbG9zZTpub3QoOmZvY3VzKSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIGJhY2tncm91bmQtY29sb3I7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlIHtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0yMHB4OyB9IH1cblxuLmZvdG9yYW1hX192aWRlby1wbGF5IHtcbiAgd2lkdGg6IDE2MHB4O1xuICBoZWlnaHQ6IDE2MHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTYwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuZm90b3JhbWFfX3dyYXAtLWNzczIgLmZvdG9yYW1hX192aWRlby1wbGF5LFxuICAuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX192aWRlby1wbGF5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3RvcmFtYV9fbG9hZGVkIC5mb3RvcmFtYV9fdmlkZW8tcGxheSxcbiAgLmZvdG9yYW1hX19lcnJvciAuZm90b3JhbWFfX3ZpZGVvLXBsYXksXG4gIC5mb3RvcmFtYV9fbmF2X19mcmFtZSAuZm90b3JhbWFfX3ZpZGVvLXBsYXkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lIC5mb3RvcmFtYV9fdmlkZW8tcGxheSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI0MHB4OyB9XG4gIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3ZpZGVvLXBsYXk6bm90KDpmb2N1cykge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yOyB9XG5cbi5mb3RvcmFtYV9fd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHotaW5kZXg6IDA7IH1cbiAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fd3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmZvdG9yYW1hX193cmFwLS1wYW4teSB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uZm90b3JhbWFfX3pvb20taW4sXG4uZm90b3JhbWFfX3pvb20tb3V0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwMDsgfVxuICAuZm90b3JhbWFfX3pvb20taW46Zm9jdXMsXG4gIC5mb3RvcmFtYV9fem9vbS1vdXQ6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZm90b3JhbWFfX3pvb20taW46Zm9jdXM6YWZ0ZXIsXG4gICAgLmZvdG9yYW1hX196b29tLW91dDpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm90dG9tOiAzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCAjNjhhOGUwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBsZWZ0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogM3B4O1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB6LWluZGV4OiAxMDAwOyB9XG4gIC5mb3RvcmFtYV9fd3JhcDpub3QoLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzKSAuZm90b3JhbWFfX3pvb20taW4sIC5mb3RvcmFtYV9fd3JhcDpub3QoLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzKVxuICAuZm90b3JhbWFfX3pvb20tb3V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmZvdG9yYW1hX193cmFwOm5vdCguZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MpIC5mb3RvcmFtYV9fem9vbS1pbjpob3ZlciwgLmZvdG9yYW1hX193cmFwOm5vdCguZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MpXG4gICAgLmZvdG9yYW1hX196b29tLW91dDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAuZm90b3JhbWFfX3dyYXA6bm90KC5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cykgLmZvdG9yYW1hX196b29tLWluOmFjdGl2ZSwgLmZvdG9yYW1hX193cmFwOm5vdCguZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MpXG4gICAgLmZvdG9yYW1hX196b29tLW91dDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTMsIDIxMywgMjEzLCAwLjUpOyB9XG4gIC5mb3RvcmFtYV9fZnVsbHNjcmVlbiAuZm90b3JhbWFfX3pvb20taW4sIC5mb3RvcmFtYV9fZnVsbHNjcmVlblxuICAuZm90b3JhbWFfX3pvb20tb3V0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZvdG9yYW1hX19mdWxsc2NyZWVuIC5mb3RvcmFtYV9fem9vbS1pbi0tZGlzYWJsZWQsIC5mb3RvcmFtYV9fZnVsbHNjcmVlblxuICAgIC5mb3RvcmFtYV9fem9vbS1vdXQtLWRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdG9yYW1hX19mdWxsc2NyZWVuIC5mb3RvcmFtYV9fem9vbS1vdXQge1xuICB0b3A6IDgwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHggIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX2Z1bGxzY3JlZW4gLmZvdG9yYW1hX196b29tLWluIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwICFpbXBvcnRhbnQ7XG4gIHRvcDogMDsgfVxuXG4ub2xkLXByaWNlLFxuLm9sZC5wcmljZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG5cbi5wcmljZXMtdGllciAucHJpY2UtY29udGFpbmVyIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXg6YmVmb3JlIHtcbiAgY29udGVudDogXCIoXCIgYXR0cihkYXRhLWxhYmVsKSBcIjogXCI7IH1cblxuLnByaWNlcy10aWVyIC5wcmljZS1jb250YWluZXIgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheDpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgY29udGVudDogJyknOyB9XG5cbi5wcmljZXMtdGllciAucHJpY2UtY29udGFpbmVyIC53ZWVlW2RhdGEtbGFiZWxdIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5wcmljZXMtdGllciAucHJpY2UtY29udGFpbmVyIC53ZWVlW2RhdGEtbGFiZWxdIC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgLnByaWNlcy10aWVyIC5wcmljZS1jb250YWluZXIgLndlZWVbZGF0YS1sYWJlbF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiArXCIgYXR0cihkYXRhLWxhYmVsKSBcIjogXCI7IH1cblxuLmFjdHVhbC1wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNhdGVnb3J5LWltYWdlIC5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY2F0ZWdvcnktaW1hZ2UsXG4uY2F0ZWdvcnktZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG5cbi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLnByb2R1Y3QtaW1hZ2UtcGhvdG8ge1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7IH1cblxuQHN1cHBvcnRzIChvYmplY3QtZml0OiBjb250YWluKSB7XG4gIC5wcm9kdWN0LWltYWdlLXBob3RvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wcm9kdWN0Lm1lZGlhIC5wbGFjZWhvbGRlciAucGhvdG8uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0Lm1lZGlhIC5ub3RpY2Uge1xuICBjb2xvcjogIzdkN2Q3ZDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIG1hcmdpbjogOS41cHggMDsgfVxuXG4ucHJvZHVjdC5tZWRpYSAucHJvZHVjdC50aHVtYnMge1xuICBtYXJnaW46IDE5cHggMCAyOC41cHg7IH1cblxuLnByb2R1Y3QubWVkaWEgLml0ZW1zLnRodW1icyA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5wcm9kdWN0Lm1lZGlhIC5pdGVtcy50aHVtYnMgLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucHJvZHVjdC5pbmZvLmRldGFpbGVkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnByb2R1Y3QuaW5mby5kZXRhaWxlZCAuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5wcm9kdWN0LmluZm8uZGV0YWlsZWQgLmFkZGl0aW9uYWwtYXR0cmlidXRlcyA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgICAucHJvZHVjdC5pbmZvLmRldGFpbGVkIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMgPiB0Ym9keSA+IHRyID4gdGQsXG4gICAgLnByb2R1Y3QuaW5mby5kZXRhaWxlZCAuYWRkaXRpb25hbC1hdHRyaWJ1dGVzID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICAgIHBhZGRpbmc6IDRweCA0Ljc1cHggOS41cHggNC43NXB4OyB9XG4gICAgLnByb2R1Y3QuaW5mby5kZXRhaWxlZCAuYWRkaXRpb25hbC1hdHRyaWJ1dGVzID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgIC5wcm9kdWN0LmluZm8uZGV0YWlsZWQgLmFkZGl0aW9uYWwtYXR0cmlidXRlcyA+IHRib2R5ID4gdHIgPiB0aCxcbiAgICAucHJvZHVjdC5pbmZvLmRldGFpbGVkIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMgPiB0Zm9vdCA+IHRyID4gdGgge1xuICAgICAgcGFkZGluZzogNHB4IDI4LjVweCA5LjVweCAwOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAuc3RvY2suYXZhaWxhYmxlLCAucHJvZHVjdC1pbmZvLW1haW4gLnN0b2NrLnVuYXZhaWxhYmxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tcmlnaHQ6IDE5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIC5zdG9jay5sb3cge1xuICBtYXJnaW4tcmlnaHQ6IDE5cHg7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIC5wcm9kdWN0LmF0dHJpYnV0ZS5za3Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjN2Q3ZDdkOyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC5hdHRyaWJ1dGUuc2t1ID4gLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIC5wcm9kdWN0LmF0dHJpYnV0ZS5za3UgLnR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogNC43NXB4OyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC5hdHRyaWJ1dGUub3ZlcnZpZXcge1xuICBtYXJnaW46IDE5cHggMDsgfVxuXG4ucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QuYWxlcnQge1xuICBtYXJnaW46IDkuNXB4IDA7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIC5wcmljZS1ib3gge1xuICBtYXJnaW4tdG9wOiA5LjVweDsgfVxuXG4ucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IC5yZXZpZXdzLWFjdGlvbnMge1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG4ucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtaXRlbS1sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC1pdGVtLWxhYmVscyBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtaXRlbS1sYWJlbHMgc3Bhbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtaXRlbS1sYWJlbHMgc3Bhbi5sYWJlbC1iYWNrLWluLXN0b2NrIHtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDgwMDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC1pdGVtLWxhYmVscyBzcGFuLmxhYmVsLW5ldyB7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjOWVjMWNmO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtaXRlbS1sYWJlbHMgc3Bhbi5sYWJlbC1sb3ctc3RvY2sge1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmYTUwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAuc3RvY2subG93IHNwYW4ge1xuICBwYWRkaW5nOiAycHg7XG4gIGJhY2tncm91bmQ6ICNmZmE1MDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAuc3RvY2sudW5hdmFpbGFibGUgc3BhbiB7XG4gIGNvbG9yOiByZWQ7IH1cblxuLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZHNldC1wcm9kdWN0LW9wdGlvbnMtaW5uZXIgLmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDQuNzVweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIgLmZpZWxkc2V0LXByb2R1Y3Qtb3B0aW9ucy1pbm5lciBpbnB1dC5kYXRldGltZS1waWNrZXIgfiBzZWxlY3QuZGF0ZXRpbWUtcGlja2VyIHtcbiAgbWFyZ2luLXRvcDogOS41cHg7IH1cblxuLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZHNldC1wcm9kdWN0LW9wdGlvbnMtaW5uZXIucmVxdWlyZWQgLmxlZ2VuZDphZnRlciwgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZHNldC1wcm9kdWN0LW9wdGlvbnMtaW5uZXIuX3JlcXVpcmVkIC5sZWdlbmQ6YWZ0ZXIge1xuICBjb250ZW50OiAnKic7XG4gIGNvbG9yOiAjZTAyYjI3O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luOiAwIDAgMCA0Ljc1cHg7IH1cblxuLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZCAubm90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJvZHVjdC1pbmZvLW1haW4gLnByaWNlLWJveCAud2VlZSArIC5wcmljZS1leGNsdWRpbmctdGF4LFxuLnByb2R1Y3QtaW5mby1tYWluIC5wcmljZS1ib3ggLndlZWUsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94IC53ZWVlICsgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94IC53ZWVlIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0Ljc1cHg7IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LWluZm8tbWFpbiAucHJpY2UtYm94IC53ZWVlICsgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlLFxuICAucHJvZHVjdC1pbmZvLW1haW4gLnByaWNlLWJveCAud2VlZSAucHJpY2UsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3ggLndlZWUgKyAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3ggLndlZWUgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAucHJpY2UtYm94IC5wcmljZS13cmFwcGVyIC5wcmljZSxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3ggLnByaWNlLXdyYXBwZXIgLnByaWNlIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIC5wcmljZS1ib3ggLnByaWNlLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCAucHJpY2Uge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAuc3BlY2lhbC1wcmljZSxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5zcGVjaWFsLXByaWNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogOS41cHggMDsgfVxuICAucHJvZHVjdC1pbmZvLW1haW4gLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lcixcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnNwZWNpYWwtcHJpY2UgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIC5zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbCArIC5wcmljZS13cmFwcGVyLFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwgKyAucHJpY2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAub2xkLXByaWNlIC5wcmljZS1sYWJlbDphZnRlcixcbi5wcm9kdWN0LWluZm8tbWFpbiAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWw6YWZ0ZXIsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAub2xkLXByaWNlIC5wcmljZS1sYWJlbDphZnRlcixcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6ICc6ICc7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0LFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmJveC10b2NhcnQge1xuICBtYXJnaW46IDE5cHggMDsgfVxuICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLmZpZWxkLnF0eSxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmJveC10b2NhcnQgLmZpZWxkLnF0eSB7XG4gICAgcGFkZGluZy1yaWdodDogMTQuMjVweDsgfVxuICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLmlucHV0LXRleHQucXR5LFxuICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYm94LXRvY2FydCAuaW5wdXQtdGV4dC5xdHkge1xuICAgIGhlaWdodDogMzEuMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMzEuMnB4OyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAuYWN0aW9ucyxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmJveC10b2NhcnQgLmFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtYWRkdG8tbGlua3MsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1hZGR0by1saW5rcyB7XG4gIG1hcmdpbjogMTlweCAwOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAuYWN0aW9uLnRvY29tcGFyZSxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5hY3Rpb24udG9jb21wYXJlIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ucHJpY2VzLXRpZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBtYXJnaW46IDkuNXB4IDA7XG4gIHBhZGRpbmc6IDkuNXB4IDE0LjI1cHg7IH1cbiAgLnByaWNlcy10aWVyIC5wcmljZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucHJpY2VzLXRpZXIgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gIC5wcmljZXMtdGllciAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgLnByaWNlcy10aWVyIC53ZWVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAucHJpY2VzLXRpZXIgLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlLFxuICAgIC5wcmljZXMtdGllciAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gICAgLnByaWNlcy10aWVyIC53ZWVlIC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNTUwMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7IH1cbiAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTpob3ZlciwgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZTphY3RpdmUsIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2U6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UuZGlzYWJsZWQsIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2VbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uYmxvY2sucmVsYXRlZCAuYWN0aW9uLnNlbGVjdCB7XG4gIG1hcmdpbjogMCA0Ljc1cHg7IH1cblxuLnNpZGViYXIgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2lkZWJhciAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtLWluZm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIC5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0taW5mbyAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IH1cblxuLnNpZGViYXIgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2lkZWJhciAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICBtYXJnaW46IDAgMCAwIDg1cHg7IH1cblxuLnNpZGViYXIgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDkuNXB4OyB9XG5cbi5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zIC5wcmljZS1ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA3cHggMDsgfVxuXG4uc2lkZWJhciAucHJvZHVjdC1pdGVtcyAudGV4dCB7XG4gIG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbi5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zIC5jb3VudGVyIHtcbiAgY29sb3I6ICM3ZDdkN2Q7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zIC5taW5pbGlzdCAucHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNpZGViYXIgLnByb2R1Y3QtaXRlbXMgLm1pbmlsaXN0IC53ZWVlOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2lkZWJhciAuYWN0aW9uLmRlbGV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc2lkZWJhciAucHJvZHVjdC1pdGVtcy1pbWFnZXMge1xuICBtYXJnaW4tbGVmdDogLTQuNzVweDsgfVxuICAuc2lkZWJhciAucHJvZHVjdC1pdGVtcy1pbWFnZXMgLnByb2R1Y3QtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA0Ljc1cHg7IH1cblxuLnNpZGViYXIgLnByb2R1Y3QtaXRlbXMtbmFtZXMgLnByb2R1Y3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG5cbi5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zLW5hbWVzIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAuY29sdW1uLm1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QubWVkaWEge1xuICAgIG9yZGVyOiAtMTsgfVxuICAuYmxvY2sucmVsYXRlZCAuYWN0aW9uLnNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA0Ljc1cHggMDsgfVxuICAuY29tcGFyZSxcbiAgLnByb2R1Y3QtYWRkdG8tbGlua3MgLmFjdGlvbi50b2NvbXBhcmUsXG4gIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyAuYWN0aW9ucy1zZWNvbmRhcnkgPiAuYWN0aW9uLnRvY29tcGFyZSxcbiAgW2NsYXNzKj0nYmxvY2stY29tcGFyZSddIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQsXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5ib3gtdG9jYXJ0IHtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAuZmllbGQucXR5LFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5ib3gtdG9jYXJ0IC5maWVsZC5xdHkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAuYWN0aW9ucyxcbiAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYm94LXRvY2FydCAuYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcGFkZGluZy10b3A6IDIzLjc1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAtMTNweDsgfVxuICAuc2lkZWJhciAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtLWluZm8gLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgOS41cHggOS41cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zaWRlYmFyIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgY2xlYXI6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAuc2lkZWJhciAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtLWluZm8gLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuICAuc2lkZWJhciAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICAgIG1hcmdpbi1sZWZ0OiA4NXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvZHVjdC1pbmZvLW1haW4ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAucHJvZHVjdC5tZWRpYSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjMuNzVweDsgfVxuICAucGFnZS1sYXlvdXQtMWNvbHVtbiAucHJvZHVjdC1pbmZvLW1haW4ge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QubWVkaWEge1xuICAgIHdpZHRoOiA1NyU7IH1cbiAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLnByb2R1Y3QtaW5mby1tYWluLFxuICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtcmlnaHQgLnByb2R1Y3QtaW5mby1tYWluLFxuICAucGFnZS1sYXlvdXQtM2NvbHVtbnMgLnByb2R1Y3QtaW5mby1tYWluIHtcbiAgICB3aWR0aDogNDglOyB9XG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5wcm9kdWN0Lm1lZGlhLFxuICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtcmlnaHQgLnByb2R1Y3QubWVkaWEsXG4gIC5wYWdlLWxheW91dC0zY29sdW1ucyAucHJvZHVjdC5tZWRpYSB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbmJvZHkuY2F0YWxvZy1wcm9kdWN0LWNvbXBhcmUtaW5kZXggLmFjdGlvbi5wcmludCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cblxuLnRhYmxlLXdyYXBwZXIuY29tcGFyaXNvbiB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLnRhYmxlLWNvbXBhcmlzb24ge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIC50YWJsZS1jb21wYXJpc29uIC5jZWxsLmxhYmVsLFxuICAudGFibGUtY29tcGFyaXNvbiB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDFkMWQxOyB9XG4gIC50YWJsZS1jb21wYXJpc29uIC5jZWxsIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHdpZHRoOiAxNDBweDsgfVxuICAgIC50YWJsZS1jb21wYXJpc29uIC5jZWxsIC5hdHRyaWJ1dGUudmFsdWUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnRhYmxlLWNvbXBhcmlzb24gLmNlbGwucHJvZHVjdC5pbmZvLCAudGFibGUtY29tcGFyaXNvbiAuY2VsbC5wcm9kdWN0LmxhYmVsIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxOyB9XG4gICAgLnRhYmxlLWNvbXBhcmlzb24gLmNlbGwubGFiZWwgLmF0dHJpYnV0ZS5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgLnRhYmxlLWNvbXBhcmlzb24gLmNlbGwuYXR0cmlidXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgICAudGFibGUtY29tcGFyaXNvbiAuY2VsbC5hdHRyaWJ1dGUgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnRhYmxlLWNvbXBhcmlzb24gLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTVweDsgfVxuICAudGFibGUtY29tcGFyaXNvbiAucHJvZHVjdC1pbWFnZS1waG90byB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnRhYmxlLWNvbXBhcmlzb24gLnByb2R1Y3QtaXRlbS1hY3Rpb25zLFxuICAudGFibGUtY29tcGFyaXNvbiAucHJpY2UtYm94LFxuICAudGFibGUtY29tcGFyaXNvbiAucHJvZHVjdC5yYXRpbmcsXG4gIC50YWJsZS1jb21wYXJpc29uIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLnRhYmxlLWNvbXBhcmlzb24gLnByb2R1Y3QtYWRkdG8tbGlua3Mge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAudGFibGUtY29tcGFyaXNvbiAucHJvZHVjdC1hZGR0by1saW5rcyAuYWN0aW9uLnNwbGl0LFxuICAgIC50YWJsZS1jb21wYXJpc29uIC5wcm9kdWN0LWFkZHRvLWxpbmtzIC5hY3Rpb24udG9nZ2xlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBwYWRkaW5nOiA0Ljc1cHggOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgICAudGFibGUtY29tcGFyaXNvbiAucHJvZHVjdC1hZGR0by1saW5rcyAuYWN0aW9uLnRvZ2dsZSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC50YWJsZS1jb21wYXJpc29uIC5jZWxsLnJlbW92ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRhYmxlLWNvbXBhcmlzb24gLnByb2R1Y3QtaXRlbS1hY3Rpb25zID4gLmFjdGlvbnMtcHJpbWFyeSArIC5hY3Rpb25zLXNlY29uZGFyeSB7XG4gICAgbWFyZ2luLXRvcDogOS41cHg7IH1cbiAgLnRhYmxlLWNvbXBhcmlzb24gLmFjdGlvbi50b2NhcnQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmNvbXBhcmlzb24uaGVhZGluZ3Mge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDI7IH1cblxuLmJsb2NrLWNvbXBhcmUgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtLW5hbWUge1xuICBtYXJnaW4tbGVmdDogMjJweDsgfVxuXG4uYmxvY2stY29tcGFyZSAuYWN0aW9uLmRlbGV0ZSB7XG4gIGxlZnQ6IC02cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyB9XG5cbi5ibG9jay1jb21wYXJlIC5hY3Rpb25zLXRvb2xiYXIge1xuICBtYXJnaW46IDE3cHggMCAwOyB9XG5cbi5ibG9jay1jYXRlZ29yeS1ldmVudCB7XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIGNvbG9yOiAjMzMzO1xuICBwYWRkaW5nOiA5LjVweCAwIDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYmxvY2stY2F0ZWdvcnktZXZlbnQuYmxvY2s6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cbiAgLmJsb2NrLWNhdGVnb3J5LWV2ZW50IC5ibG9jay10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgOS41cHg7IH1cbiAgICAuYmxvY2stY2F0ZWdvcnktZXZlbnQgLmJsb2NrLXRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmJsb2NrLWNhdGVnb3J5LWV2ZW50IC50aWNrZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuYmxvY2stY2F0ZWdvcnktZXZlbnQgLnRpY2tlciBsaSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwIDE1cHg7IH1cbiAgICAuYmxvY2stY2F0ZWdvcnktZXZlbnQgLnRpY2tlciAudmFsdWUge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmJsb2NrLWNhdGVnb3J5LWV2ZW50IC50aWNrZXIgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuICAuYmxvY2stY2F0ZWdvcnktZXZlbnQgLmRhdGVzIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5ibG9jay1jYXRlZ29yeS1ldmVudCAuZGF0ZXMgLnN0YXJ0LFxuICAgIC5ibG9jay1jYXRlZ29yeS1ldmVudCAuZGF0ZXMgLmVuZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5ibG9jay1jYXRlZ29yeS1ldmVudCAuZGF0ZXMgLmRhdGUge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICAuYmxvY2stY2F0ZWdvcnktZXZlbnQgLmRhdGVzIC50aW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmJsb2NrLWNhdGVnb3J5LWV2ZW50IC5kYXRlcyAuc3RhcnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMzhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmJsb2NrLWNhdGVnb3J5LWV2ZW50IC5kYXRlcyAuc3RhcnQ6YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYmxvY2stY2F0ZWdvcnktZXZlbnQuYmxvY2s6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjguNXB4O1xuICAgIHBhZGRpbmc6IDkuNXB4IDAgMjguNXB4OyB9XG4gIC5ibG9jay1jYXRlZ29yeS1ldmVudCAuYmxvY2stdGl0bGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5ibG9jay1jYXRlZ29yeS1ldmVudCAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9XG4gIC5ibG9jay1jYXRlZ29yeS1ldmVudCAudGlja2VyIGxpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMCA1MHB4OyB9XG4gIC5ibG9jay1jYXRlZ29yeS1ldmVudCAudGlja2VyIC52YWx1ZSB7XG4gICAgZm9udC1zaXplOiA2cmVtOyB9XG4gIC5ibG9jay1jYXRlZ29yeS1ldmVudCAudGlja2VyIC5sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmJsb2NrLWNhdGVnb3J5LWV2ZW50IC5kYXRlcyAuZGF0ZSB7XG4gICAgZm9udC1zaXplOiA1cmVtOyB9XG4gIC5ibG9jay1jYXRlZ29yeS1ldmVudCAuZGF0ZXMgLnN0YXJ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gICAgLmJsb2NrLWNhdGVnb3J5LWV2ZW50IC5kYXRlcyAuc3RhcnQ6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgcmlnaHQ6IDEwcHg7IH0gfVxuXG4uYmxvY2stc2VhcmNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYmxvY2stc2VhcmNoIC5ibG9jay10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmxvY2stc2VhcmNoIC5ibG9jay1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5ibG9jay1zZWFyY2ggLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuYmxvY2stc2VhcmNoIC5sYWJlbCA+IHNwYW4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLmJsb2NrLXNlYXJjaCAubGFiZWw6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgY29sb3I6ICM4ZjhmOGY7XG4gICAgICBjb250ZW50OiBcIu6YlVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5ibG9jay1zZWFyY2ggLmxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzMzMzsgfVxuICAgIC5ibG9jay1zZWFyY2ggLmxhYmVsOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAuYmxvY2stc2VhcmNoIC5sYWJlbC5hY3RpdmUgKyAuY29udHJvbCBpbnB1dCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIC5ibG9jay1zZWFyY2ggLmFjdGlvbi5zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJsb2NrLXNlYXJjaCAuY29udHJvbCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwIC0xNXB4IC0xcHg7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC5ibG9jay1zZWFyY2ggaW5wdXQge1xuICAgIGxlZnQ6IC0zMDAlO1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuYmxvY2stc2VhcmNoIC5uZXN0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlYXJjaC1hdXRvY29tcGxldGUge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzOyB9XG4gIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnNlYXJjaC1hdXRvY29tcGxldGUgdWwgbGkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA0Ljc1cHggMzhweCA0Ljc1cHggOS41cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgICAgLnNlYXJjaC1hdXRvY29tcGxldGUgdWwgbGk6bm90KDplbXB0eSkge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmVkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgICAuc2VhcmNoLWF1dG9jb21wbGV0ZSB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpOmhvdmVyLCAuc2VhcmNoLWF1dG9jb21wbGV0ZSB1bCBsaS5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7IH1cbiAgICAgIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpIC5hbW91bnQge1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogN3B4O1xuICAgICAgICB0b3A6IDQuNzVweDsgfVxuXG4uZm9ybS5zZWFyY2guYWR2YW5jZWQgLmZpZWxkcy5yYW5nZSAuZmllbGQ6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm0uc2VhcmNoLmFkdmFuY2VkIC5maWVsZHMucmFuZ2UgLmZpZWxkOmZpcnN0LWNoaWxkIC5jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9XG4gICAgLmZvcm0uc2VhcmNoLmFkdmFuY2VkIC5maWVsZHMucmFuZ2UgLmZpZWxkOmZpcnN0LWNoaWxkIC5jb250cm9sOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgXFwyMDEzICc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgd2lkdGg6IDI1cHg7IH1cblxuLmZvcm0uc2VhcmNoLmFkdmFuY2VkIC5maWVsZHMucmFuZ2UgLmZpZWxkOmxhc3QtY2hpbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm0uc2VhcmNoLmFkdmFuY2VkIC5maWVsZHMucmFuZ2UgLmZpZWxkOmxhc3QtY2hpbGQgZGl2Lm1hZ2UtZXJyb3JbZ2VuZXJhdGVkXSB7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMnB4OyB9XG5cbi5mb3JtLnNlYXJjaC5hZHZhbmNlZCAuZmllbGRzLnJhbmdlIC5maWVsZC53aXRoLWFkZG9uIC5jb250cm9sIHtcbiAgcGFkZGluZy1yaWdodDogNDVweDsgfVxuXG4uZm9ybS5zZWFyY2guYWR2YW5jZWQgLmdyb3VwLnByaWNlIC5hZGRvbiAuYWRkYWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc2VhcmNoLnN1bW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiA5LjVweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5ibG9jay1zZWFyY2ggLmJsb2NrLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ibG9jay1zZWFyY2gge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICB6LWluZGV4OiA0OyB9XG4gICAgLmJsb2NrLXNlYXJjaCAuY29udHJvbCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDI1cHg7IH1cbiAgICAuYmxvY2stc2VhcmNoIC5uZXN0ZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLmJsb2NrLXNlYXJjaCBpbnB1dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgICAgLmJsb2NrLXNlYXJjaCBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjYzJjMmMyOyB9XG4gICAgICAuYmxvY2stc2VhcmNoIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI2MyYzJjMjsgfVxuICAgICAgLmJsb2NrLXNlYXJjaCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjYzJjMmMyOyB9XG4gICAgICAuYmxvY2stc2VhcmNoIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjYzJjMmMyOyB9XG4gICAgLmJsb2NrLXNlYXJjaCAuYWN0aW9uLnNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZzogNC43NXB4IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5ibG9jay1zZWFyY2ggLmFjdGlvbi5zZWFyY2ggPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgIC5ibG9jay1zZWFyY2ggLmFjdGlvbi5zZWFyY2g6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGNvbG9yOiAjOGY4ZjhmO1xuICAgICAgICBjb250ZW50OiBcIu6YlVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5ibG9jay1zZWFyY2ggLmFjdGlvbi5zZWFyY2g6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5ibG9jay1zZWFyY2ggLmFjdGlvbi5zZWFyY2g6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAuYmxvY2stc2VhcmNoIC5hY3Rpb24uc2VhcmNoOmZvY3VzLCAuYmxvY2stc2VhcmNoIC5hY3Rpb24uc2VhcmNoOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmJsb2NrLXNlYXJjaCAuYWN0aW9uLnNlYXJjaDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmJsb2NrLXNlYXJjaCAuYWN0aW9uLnNlYXJjaC5kaXNhYmxlZCwgLmJsb2NrLXNlYXJjaCAuYWN0aW9uLnNlYXJjaFtkaXNhYmxlZF0sXG4gICAgICBmaWVsZHNldFtkaXNhYmxlZF0gLmJsb2NrLXNlYXJjaCAuYWN0aW9uLnNlYXJjaCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIC5ibG9jay1zZWFyY2ggLmFjdGlvbi5zZWFyY2g6Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMzMzM7IH1cbiAgLnNlYXJjaC1hdXRvY29tcGxldGUge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY2FydC5pdGVtIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuLmNhcnQuaXRlbSAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gIG1hcmdpbi10b3A6IDlweDsgfVxuICAuY2FydC5pdGVtIC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSxcbiAgLmNhcnQuaXRlbSAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmNhcnQtc3VtbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIG1hcmdpbi1ib3R0b206IDIzLjc1cHg7XG4gIHBhZGRpbmc6IDFweCAxNXB4IDIzLjc1cHg7IH1cbiAgLmNhcnQtc3VtbWFyeSA+IC50aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIG1hcmdpbi10b3A6IDIuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOXJlbTsgfVxuICAuY2FydC1zdW1tYXJ5IC5ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jYXJ0LXN1bW1hcnkgLmJsb2NrIC5pdGVtLW9wdGlvbnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuY2FydC1zdW1tYXJ5IC5ibG9jayAuZmllbGRzZXQge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMjMuNzVweCA0Ljc1cHg7IH1cbiAgICAgIC5jYXJ0LXN1bW1hcnkgLmJsb2NrIC5maWVsZHNldCAuZmllbGQge1xuICAgICAgICBtYXJnaW46IDAgMCA5LjVweDsgfVxuICAgICAgICAuY2FydC1zdW1tYXJ5IC5ibG9jayAuZmllbGRzZXQgLmZpZWxkLm5vdGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgLmNhcnQtc3VtbWFyeSAuYmxvY2sgLmZpZWxkc2V0IC5tZXRob2RzIC5maWVsZCA+IC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuY2FydC1zdW1tYXJ5IC5yZXF1aXJlZCBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcqJzsgfVxuICAuY2FydC1zdW1tYXJ5IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAuY2FydC1zdW1tYXJ5IGNvbW1lbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gIC5jYXJ0LXN1bW1hcnkgc3Ryb25nLnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxLjZyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXJ0LXN1bW1hcnkge1xuICAgICAgd2lkdGg6IDM1JSAhaW1wb3J0YW50OyB9IH1cblxuLmNhcnQtdG90YWxzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG4gIHBhZGRpbmctdG9wOiA5LjVweDsgfVxuICAuY2FydC10b3RhbHMgLnRhYmxlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbXMgdGhlYWQgKyAuaXRlbSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxOyB9XG5cbi5jYXJ0LnRhYmxlLXdyYXBwZXIgLml0ZW1zID4gLml0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNvbCB7XG4gIHBhZGRpbmctdG9wOiAxOXB4OyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNvbC5xdHkgLmlucHV0LXRleHQge1xuICAgIG1hcmdpbi10b3A6IC01cHg7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbS1hY3Rpb25zIHRkIHtcbiAgcGFkZGluZy1ib3R0b206IDkuNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbSAuY29sLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogNzVweDtcbiAgcGFkZGluZzogMjMuNzVweCAwIDAgNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbnMtdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9ucy10b29sYmFyID4gLmFjdGlvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMy41cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbnMtdG9vbGJhciA+IC5hY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb25zLXRvb2xiYXIgPiAuYWN0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbnMtdG9vbGJhciA+IC5hY3Rpb24uYWN0aW9uLWVkaXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb25zLXRvb2xiYXIgPiAuYWN0aW9uLmFjdGlvbi1lZGl0OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgICAgY29udGVudDogXCLupINcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbnMtdG9vbGJhciA+IC5hY3Rpb24uYWN0aW9uLWRlbGV0ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbnMtdG9vbGJhciA+IC5hY3Rpb24uYWN0aW9uLWRlbGV0ZTpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgICAgY29sb3I6ICMzYjRhNGI7XG4gICAgICAgIGNvbnRlbnQ6IFwi7piEXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb25zLXRvb2xiYXIgPiAuYWN0aW9uIHNwYW4ge1xuICAgICAgY29sb3I6ICMzYjRhNGI7IH1cbiAgICAuY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb25zLXRvb2xiYXIgPiAuYWN0aW9uOmhvdmVyIHNwYW4sIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbnMtdG9vbGJhciA+IC5hY3Rpb246Zm9jdXMgc3BhbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY2FydC50YWJsZS13cmFwcGVyIC5hY3Rpb24uaGVscC5tYXAge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5jYXJ0LnRhYmxlLXdyYXBwZXIgLnByb2R1Y3QtaXRlbS1waG90byB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDYwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2FydC50YWJsZS13cmFwcGVyIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAucHJvZHVjdC1pdGVtLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IDEycHg7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAuZ2lmdC1yZWdpc3RyeS1uYW1lLWxhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJzonOyB9XG5cbi5jYXJ0LnRhYmxlLXdyYXBwZXIgLml0ZW0tb3B0aW9ucyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAucHJvZHVjdC1pdGVtLW5hbWUgKyAuaXRlbS1vcHRpb25zIHtcbiAgbWFyZ2luLXRvcDogOS41cHg7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAuYWN0aW9uLmNvbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMTlweDsgfVxuXG4uY2FydC5hY3Rpb25zIC5hY3Rpb24ge1xuICBwYWRkaW5nOiAwLjhyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzZhNzU3NjtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5jYXJ0LmFjdGlvbnMgLmFjdGlvbiBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogMC40cmVtOyB9XG4gIC5jYXJ0LmFjdGlvbnMgLmFjdGlvbi5jb250aW51ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNhcnQuYWN0aW9ucyAuYWN0aW9uLmNvbnRpbnVlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29udGVudDogXCLupIlcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC5hY3Rpb25zIC5hY3Rpb24uY29udGludWU6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC4zcmVtOyB9XG4gIC5jYXJ0LmFjdGlvbnMgLmFjdGlvbi5jbGVhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jYXJ0LmFjdGlvbnMgLmFjdGlvbi5jbGVhcjpiZWZvcmUge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICBjb2xvcjogIzZhNzU3NjtcbiAgICAgIGNvbnRlbnQ6IFwi7piWXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJ0LmFjdGlvbnMgLmFjdGlvbi51cGRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY2FydC5hY3Rpb25zIC5hY3Rpb24udXBkYXRlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgIGNvbG9yOiAjNmE3NTc2O1xuICAgICAgY29udGVudDogXCLumINcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhcnQuYWN0aW9ucyAuYWN0aW9uOmhvdmVyIHNwYW4sIC5jYXJ0LmFjdGlvbnMgLmFjdGlvbjpmb2N1cyBzcGFuIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IHtcbiAgICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7IH0gfVxuXG4uY2FydC1jb250YWluZXIgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMge1xuICBtYXJnaW4tdG9wOiAxOXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhcnQtY29udGFpbmVyIC5jaGVja291dC1tZXRob2RzLWl0ZW1zIC5hY3Rpb24ucHJpbWFyeSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcnQtY29udGFpbmVyIC5jaGVja291dC1tZXRob2RzLWl0ZW1zIC5pdGVtICsgLml0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDE5cHg7IH1cblxuLmNhcnQtcHJvZHVjdHMtdG9vbGJhciAudG9vbGJhci1hbW91bnQge1xuICBtYXJnaW46IDIzLjc1cHggMCAxNXB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNhcnQtcHJvZHVjdHMtdG9vbGJhciAucGFnZXMge1xuICBtYXJnaW46IDAgMCAyMy43NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhcnQtcHJvZHVjdHMtdG9vbGJhciAucGFnZXMgLml0ZW1zID4gLml0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmNhcnQtcHJvZHVjdHMtdG9vbGJhci10b3Age1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTsgfVxuXG4uYmxvY2suY3Jvc3NzZWxsIHtcbiAgbWFyZ2luLXRvcDogNzBweDsgfVxuXG4uY2FydC10YXgtaW5mbyArIC5jYXJ0LXRheC10b3RhbCxcbi5jYXJ0IC5jYXJ0LXRheC1pbmZvICsgLmNhcnQtdGF4LXRvdGFsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcnQudGFibGUtd3JhcHBlciAuY29sLnByaWNlLFxuLmNhcnQudGFibGUtd3JhcHBlciAuY29sLnF0eSxcbi5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNvbC5zdWJ0b3RhbCxcbi5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNvbC5tc3JwLFxuLm9yZGVyLWl0ZW1zLnRhYmxlLXdyYXBwZXIgLmNvbC5wcmljZSxcbi5vcmRlci1pdGVtcy50YWJsZS13cmFwcGVyIC5jb2wucXR5LFxuLm9yZGVyLWl0ZW1zLnRhYmxlLXdyYXBwZXIgLmNvbC5zdWJ0b3RhbCxcbi5vcmRlci1pdGVtcy50YWJsZS13cmFwcGVyIC5jb2wubXNycCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNhcnQudGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7IH1cbiAgICAuY2FydC50YWJsZS13cmFwcGVyIHRoZWFkIC5jb2w6bm90KC5pdGVtKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNhcnQudGFibGUtd3JhcHBlciAuY29sLnF0eSwgLmNhcnQudGFibGUtd3JhcHBlciAuY29sLnByaWNlLCAuY2FydC50YWJsZS13cmFwcGVyIC5jb2wuc3VidG90YWwsIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNvbC5tc3JwIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiAzMyU7IH1cbiAgICAgIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNvbC5xdHk6YmVmb3JlLCAuY2FydC50YWJsZS13cmFwcGVyIC5jb2wucHJpY2U6YmVmb3JlLCAuY2FydC50YWJsZS13cmFwcGVyIC5jb2wuc3VidG90YWw6YmVmb3JlLCAuY2FydC50YWJsZS13cmFwcGVyIC5jb2wubXNycDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDkuNXB4OyB9XG4gICAgLmNhcnQudGFibGUtd3JhcHBlciAuY29sLm1zcnAge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLml0ZW0gLmNvbC5pdGVtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2FydC1jb250YWluZXIgLndpZGdldCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNhcnQtc3VtbWFyeSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjMlOyB9XG4gICAgLmNvbHVtbi5tYWluIC5jYXJ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAuY2FydC1zdW1tYXJ5IC5ibG9jayAuZmllbGRzZXQgLmZpZWxkIHtcbiAgICAgIG1hcmdpbjogMCAwIDE5cHg7XG4gICAgICBtYXJnaW46IDAgMCA5LjVweDsgfVxuICAgICAgLmNhcnQtc3VtbWFyeSAuYmxvY2sgLmZpZWxkc2V0IC5maWVsZDpub3QoLmNob2ljZSkgPiAubGFiZWwge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY2FydC1zdW1tYXJ5IC5ibG9jayAuZmllbGRzZXQgLmZpZWxkOm5vdCguY2hvaWNlKSA+IC5jb250cm9sIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAuY2FydC1zdW1tYXJ5IC5ibG9jayAuZmllbGRzZXQgLmZpZWxkID4gLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNC43NXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5jYXJ0LXN1bW1hcnkgLmJsb2NrIC5maWVsZHNldCAuZmllbGQuY2hvaWNlOmJlZm9yZSwgLmNhcnQtc3VtbWFyeSAuYmxvY2sgLmZpZWxkc2V0IC5maWVsZC5uby1sYWJlbDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLml0ZW1zIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbSAuY29sLml0ZW0ge1xuICAgIHBhZGRpbmc6IDEycHggOHB4IDkuNXB4OyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLml0ZW0tYWN0aW9ucyB0ZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmNhcnQudGFibGUtd3JhcHBlciAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOXB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiA4MHB4OyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB3aWR0aDogOTklOyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLml0ZW0tYWN0aW9ucyB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmNhcnQudGFibGUtd3JhcHBlciAuaXRlbS1hY3Rpb25zIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNhcnQgLmFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cbiAgLmNhcnQtcHJvZHVjdHMtdG9vbGJhciAudG9vbGJhci1hbW91bnQge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAuY2FydC1wcm9kdWN0cy10b29sYmFyIC5wYWdlcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDFweDsgfVxuICAgIC5jYXJ0LXByb2R1Y3RzLXRvb2xiYXIgLnBhZ2VzIC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNhcnQtcHJvZHVjdHMtdG9vbGJhciArIC5jYXJ0IHRoZWFkIHRyIHRoLmNvbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmNhcnQgKyAuY2FydC1wcm9kdWN0cy10b29sYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAyMy43NXB4OyB9IH1cblxuLmJsb2NrLW1pbmljYXJ0IC5pdGVtcy10b3RhbCB7XG4gIG1hcmdpbjogMCA5LjVweDsgfVxuICAuYmxvY2stbWluaWNhcnQgLml0ZW1zLXRvdGFsIC5jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYmxvY2stbWluaWNhcnQgLnN1YnRvdGFsIHtcbiAgbWFyZ2luOiAwIDkuNXB4IDkuNXB4OyB9XG5cbi5ibG9jay1taW5pY2FydCAuYW1vdW50IHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5ibG9jay1taW5pY2FydCAuYW1vdW50IC5wcmljZS13cmFwcGVyOmZpcnN0LWNoaWxkIC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYmxvY2stbWluaWNhcnQgLnN1YnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuYmxvY2stbWluaWNhcnQgLnN1YnRpdGxlLmVtcHR5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMjguNXB4IDAgMTlweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmJsb2NrLW1pbmljYXJ0IC50ZXh0LmVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ibG9jay1taW5pY2FydCAuYmxvY2stY29udGVudCA+IC5hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ibG9jay1taW5pY2FydCAuYmxvY2stY29udGVudCA+IC5hY3Rpb25zID4gLnByaW1hcnkge1xuICAgIG1hcmdpbjogMCA5LjVweCAxNXB4OyB9XG4gICAgLmJsb2NrLW1pbmljYXJ0IC5ibG9jay1jb250ZW50ID4gLmFjdGlvbnMgPiAucHJpbWFyeSAuYWN0aW9uLnByaW1hcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmJsb2NrLW1pbmljYXJ0IC5ibG9jay1jb250ZW50ID4gLmFjdGlvbnMgPiAucHJpbWFyeSAuYWN0aW9uLnByaW1hcnk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ibG9jay1taW5pY2FydCAuYmxvY2stY2F0ZWdvcnktbGluayxcbi5ibG9jay1taW5pY2FydCAuYmxvY2stcHJvZHVjdC1saW5rLFxuLmJsb2NrLW1pbmljYXJ0IC5ibG9jay1jbXMtbGluayxcbi5ibG9jay1taW5pY2FydCAuYmxvY2stYmFubmVycyB7XG4gIG1hcmdpbjogMTVweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubWluaWNhcnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1pbmljYXJ0LXdyYXBwZXI6YmVmb3JlLCAubWluaWNhcnQtd3JhcHBlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm1pbmljYXJ0LXdyYXBwZXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDpiZWZvcmUge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICBjb2xvcjogIzhmOGY4ZjtcbiAgICAgIGNvbnRlbnQ6IFwi7piRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM4ZjhmOGY7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0LmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICBjb2xvcjogIzhmOGY4ZjtcbiAgICAgICAgY29udGVudDogXCLumJFcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0LmFjdGl2ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzMzMzsgfVxuICAgICAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydC5hY3RpdmU6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjOGY4ZjhmOyB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNlZmVmZTg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IC00cHg7XG4gICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0IGxpIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0IGxpOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0OmJlZm9yZSwgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDk5OyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogN3B4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWZlZmU4IHRyYW5zcGFyZW50O1xuICAgICAgei1pbmRleDogOTg7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQ6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAtMTJweDsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgICByaWdodDogOXB4O1xuICAgICAgdG9wOiAtMTRweDsgfVxuICAubWluaWNhcnQtd3JhcHBlci5hY3RpdmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIuYWN0aXZlIC5ibG9jay1taW5pY2FydCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQge1xuICAgIHBhZGRpbmc6IDI1cHggMTlweDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgei1pbmRleDogMTAxOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0IC5ibG9jay10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMjVweDsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydDpiZWZvcmUge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAyNnB4OyB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5wcm9kdWN0IC5hY3Rpb25zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAtMjRweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAucHJvZHVjdCAuYWN0aW9ucyA+IC5wcmltYXJ5LFxuICAgIC5taW5pY2FydC13cmFwcGVyIC5wcm9kdWN0IC5hY3Rpb25zID4gLnNlY29uZGFyeSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5jbG9zZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDBweDsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uY2xvc2UgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uY2xvc2U6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiBcIu6YllwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uY2xvc2U6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5jbG9zZTphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5jbG9zZTpmb2N1cywgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5jbG9zZTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uY2xvc2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uY2xvc2UuZGlzYWJsZWQsIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uY2xvc2VbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLmNsb3NlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IC5jb3VudGVyLnF0eSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjVyZW07XG4gICAgICBtaW4td2lkdGg6IDE4cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEyNDFiOyB9XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IC5jb3VudGVyLnF0eS5lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQgLmNvdW50ZXIucXR5IC5sb2FkZXIgPiBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDI0cHg7IH1cbiAgLm1pbmljYXJ0LXdyYXBwZXIgLm1pbmljYXJ0LXdpZGdldHMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLm1pbmljYXJ0LWl0ZW1zLXdyYXBwZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDAgLTE5cHg7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHBhZGRpbmc6IDE1cHg7IH1cblxuLm1pbmljYXJ0LWl0ZW1zIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtIHtcbiAgICBwYWRkaW5nOiAxOXB4IDA7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsgfVxuICAgIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLXByaWNpbmcgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQuNXJlbTsgfVxuICAubWluaWNhcnQtaXRlbXMgLnByaWNlLW1pbmljYXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0Ljc1cHg7IH1cbiAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0ID4gLnByb2R1Y3QtaXRlbS1waG90byxcbiAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0ID4gLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QgLnRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QgLnRvZ2dsZTphZnRlciB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY29udGVudDogXCLumKJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QgLnRvZ2dsZTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgcmlnaHQ6IDE5cHg7XG4gICAgICB0b3A6IDA7IH1cbiAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LmFjdGl2ZSA+IC50b2dnbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7pihXCI7IH1cbiAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgbWFyZ2luOiAwIDAgOS41cHg7XG4gICAgY29sb3I6ICMzYjRhNGI7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLW5hbWUgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1wcmljaW5nIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICAgIHBhZGRpbmctbGVmdDogODhweDsgfVxuICAgIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByaWNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgICAgbWFyZ2luOiA0Ljc1cHggMCAwO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC53ZWVlW2RhdGEtbGFiZWxdIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuZGV0YWlscy1xdHkge1xuICAgICAgbWFyZ2luLXRvcDogOS41cHg7IH1cbiAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0Lm9wdGlvbnMgLnRvb2x0aXAudG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0Lm9wdGlvbnMgLnRvb2x0aXAudG9nZ2xlID4gc3BhbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3Qub3B0aW9ucyAudG9vbHRpcC50b2dnbGU6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIG1hcmdpbjogLTNweCAwIDAgN3B4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3Qub3B0aW9ucyAudG9vbHRpcC50b2dnbGUgLmRldGFpbHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubWluaWNhcnQtaXRlbXMgLml0ZW0tcXR5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDkuNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNTBweDsgfVxuICAubWluaWNhcnQtaXRlbXMgLnVwZGF0ZS1jYXJ0LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzNiNGE0YjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm1pbmljYXJ0LWl0ZW1zIC51cGRhdGUtY2FydC1pdGVtOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY29udGVudDogXCLumINcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLnVwZGF0ZS1jYXJ0LWl0ZW06aG92ZXIgc3BhbiwgLm1pbmljYXJ0LWl0ZW1zIC51cGRhdGUtY2FydC1pdGVtOmZvY3VzIHNwYW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm1pbmljYXJ0LWl0ZW1zIC5zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWluaWNhcnQtaXRlbXMgLmFjdGlvbi5lZGl0LCAubWluaWNhcnQtaXRlbXMgLmFjdGlvbi5kZWxldGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLmFjdGlvbi5lZGl0ID4gc3BhbiwgLm1pbmljYXJ0LWl0ZW1zIC5hY3Rpb24uZGVsZXRlID4gc3BhbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLmFjdGlvbi5lZGl0OmJlZm9yZSwgLm1pbmljYXJ0LWl0ZW1zIC5hY3Rpb24uZGVsZXRlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIGNvbG9yOiAjMzAzMDMwO1xuICAgICAgY29udGVudDogXCLumIZcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWluaWNhcnQtaXRlbXMgLmFjdGlvbi5lZGl0OmhvdmVyOmJlZm9yZSwgLm1pbmljYXJ0LWl0ZW1zIC5hY3Rpb24uZGVsZXRlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzMwMzAzMDsgfVxuICAgIC5taW5pY2FydC1pdGVtcyAuYWN0aW9uLmVkaXQ6YWN0aXZlOmJlZm9yZSwgLm1pbmljYXJ0LWl0ZW1zIC5hY3Rpb24uZGVsZXRlOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzMDMwMzA7IH1cbiAgLm1pbmljYXJ0LWl0ZW1zIC5hY3Rpb24uZGVsZXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLumIRcIjsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydCB7XG4gICAgd2lkdGg6IDg4dnc7XG4gICAgcmlnaHQ6IC01dnc7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQ6OmJlZm9yZSwgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0OjphZnRlciB7XG4gICAgICByaWdodDogNXJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1pbmljYXJ0LXdyYXBwZXIgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICByaWdodDogLTE1cHg7XG4gICAgd2lkdGg6IDM5MHB4OyB9IH1cblxuLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIC5wYWdlLWxheW91dC1jaGVja291dCAucGFnZS1tYWluX19pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IHNlbGVjdCB7XG4gICAgaGVpZ2h0OiA0M3B4OyB9XG4gIC5wYWdlLWxheW91dC1jaGVja291dCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByb2R1Y3QtaXRlbS1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmNvbHVtbi5tYWluIC5ibG9jay5pdGVtcy1pbi1jYXJ0IC50aXRsZSBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0sXG4gIC5wYWdlLWxheW91dC1jaGVja291dCAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbTpmaXJzdC1jaGlsZCxcbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0ID4gLnByb2R1Y3QtaXRlbS1waG90byxcbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5taW5pY2FydC1pdGVtcyAucHJvZHVjdCA+IC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjc7IH1cbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5vcGMtYmxvY2stc3VtbWFyeSAubWluaWNhcnQtaXRlbXMtd3JhcHBlcsKgIHtcbiAgICBtYXJnaW46IC0xNXB4IC0xNXB4IDAgMDsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uOmhvdmVyLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbjphY3RpdmUsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDsgfSB9XG4gIC5wYWdlLWxheW91dC1jaGVja291dCAuc3RlcC10aXRsZV9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgY29sb3I6ICMzYjRhNGI7IH1cbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5zdGVwLXRpdGxlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgcGFkZGluZy1yaWdodDogNC44cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzNiNGE0YjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNzsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLnN0ZXAtdGl0bGUtZGVjb3JhdGlvbiB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLnN0ZXAtdGl0bGUtZGVjb3JhdGlvbiBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5mb3JtLWxvZ2luIC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSBhLmFjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydCAuY291bnRlci5xdHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMThweCAwOyB9XG4gIC5wYWdlLWxheW91dC1jaGVja291dCAudGFibGUtdG90YWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5wYWdlLWxheW91dC1jaGVja291dCAubm8tcXVvdGVzLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5wYWdlLWxheW91dC1jaGVja291dCAub3BjLWJsb2NrLXNoaXBwaW5nLWluZm9ybWF0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZzogMjJweCAyOC41cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jaGVja291dC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG5cbi5vcGMtd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDE5cHg7IH1cbiAgLm9wYy13cmFwcGVyIC5zdGVwLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAwIDM4cHg7IH1cblxuLmNoZWNrb3V0LWluZGV4LWluZGV4IC5uYXYtc2VjdGlvbnMsXG4uY2hlY2tvdXQtaW5kZXgtaW5kZXggLm5hdi10b2dnbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1pbmRleC1pbmRleCAubG9nbyB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLnByaW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5vcGMtd3JhcHBlciAuc3RlcC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5vcGMtd3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOC41cHg7IH1cbiAgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAucHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDIycHggMCAwOyB9IH1cblxuLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICBwYWRkaW5nOiAxOHB4IDE1cHg7IH1cbiAgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciAuZXN0aW1hdGVkLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIgLmVzdGltYXRlZC1ibG9jayAuZXN0aW1hdGVkLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgNC43NXB4OyB9XG4gIC5vcGMtZXN0aW1hdGVkLXdyYXBwZXIgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDpiZWZvcmUge1xuICAgIGNvbG9yOiAjMzMzOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcGNfX2hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5vcGNfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAub3BjX19oZWFkZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7IH0gfVxuXG4ub3BjX19oZWFkZXJfX2lubmVyIHtcbiAgcGFkZGluZzogMCAxLjVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5vcGNfX2hlYWRlcl9faW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEzMzVweDsgfSB9XG5cbi5vcGMtcHJvZ3Jlc3MtYmFyIHtcbiAgbWFyZ2luOiAwIDAgNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEwcmVtO1xuICBjb3VudGVyLXJlc2V0OiBpO1xuICBmb250LXNpemU6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLm9wYy1wcm9ncmVzcy1iYXItaXRlbSB7XG4gIG1hcmdpbjogMCAwIDkuNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDUwJTsgfVxuICAub3BjLXByb2dyZXNzLWJhci1pdGVtOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2Q0ZDZkMDtcbiAgICB0b3A6IDE5cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm9wYy1wcm9ncmVzcy1iYXItaXRlbTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweCAwIDAgNnB4OyB9XG4gIC5vcGMtcHJvZ3Jlc3MtYmFyLWl0ZW06bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwOyB9XG4gIC5vcGMtcHJvZ3Jlc3MtYmFyLWl0ZW0gPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGNvbG9yOiAjZDRkNmQwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgICAub3BjLXByb2dyZXNzLWJhci1pdGVtID4gc3BhbjpiZWZvcmUsIC5vcGMtcHJvZ3Jlc3MtYmFyLWl0ZW0gPiBzcGFuOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNGQ2ZDA7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTE5cHg7XG4gICAgICB3aWR0aDogMzhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwOyB9XG4gICAgLm9wYy1wcm9ncmVzcy1iYXItaXRlbSA+IHNwYW46YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGhlaWdodDogMjZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTNweDtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBjb250ZW50OiBjb3VudGVyKGkpO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGk7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cbiAgLm9wYy1wcm9ncmVzcy1iYXItaXRlbS5fYWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzNjNjI2ZjsgfVxuICAub3BjLXByb2dyZXNzLWJhci1pdGVtLl9hY3RpdmUgPiBzcGFuIHtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAgIC5vcGMtcHJvZ3Jlc3MtYmFyLWl0ZW0uX2FjdGl2ZSA+IHNwYW46YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzYzYyNmY7IH1cbiAgICAub3BjLXByb2dyZXNzLWJhci1pdGVtLl9hY3RpdmUgPiBzcGFuOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7piQXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAub3BjLXByb2dyZXNzLWJhci1pdGVtLl9jb21wbGV0ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm9wYy1wcm9ncmVzcy1iYXItaXRlbS5fY29tcGxldGUgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgICAub3BjLXByb2dyZXNzLWJhci1pdGVtLl9jb21wbGV0ZSA+IHNwYW46YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6YkFwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAub3BjLXByb2dyZXNzLWJhci1pdGVtIHtcbiAgICB3aWR0aDogMTg1cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5vcGMtcHJvZ3Jlc3MtYmFyIHtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG5cbi5maWVsZC5jaG9pY2UgLmZpZWxkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA5LjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0zcHg7IH1cblxuLmZpZWxkLmNob2ljZSAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICBsaW5lLWhlaWdodDogMjFweDsgfVxuXG4uZmllbGQuX2Vycm9yIC5jb250cm9sIGlucHV0LFxuLmZpZWxkLl9lcnJvciAuY29udHJvbCBzZWxlY3QsXG4uZmllbGQuX2Vycm9yIC5jb250cm9sIHRleHRhcmVhIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWQ4MzgwOyB9XG5cbi5vcGMtd3JhcHBlciAuZmllbGRzZXQgPiAuZmllbGQgPiAubGFiZWwge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5vcGMtd3JhcHBlciAuZmllbGRzZXQgPiAuZmllbGQuc3RyZWV0ID4gLmNvbnRyb2wgbGFiZWwge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5vcGMtd3JhcHBlciAuZmllbGRzZXQgPiAuZmllbGQucmVxdWlyZWQsIC5vcGMtd3JhcHBlciAuZmllbGRzZXQgPiAuZmllbGQuX3JlcXVpcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAub3BjLXdyYXBwZXIgLmZpZWxkc2V0ID4gLmZpZWxkLnJlcXVpcmVkID4gbGFiZWwsIC5vcGMtd3JhcHBlciAuZmllbGRzZXQgPiAuZmllbGQuX3JlcXVpcmVkID4gbGFiZWwge1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDsgfVxuICAgICAgLm9wYy13cmFwcGVyIC5maWVsZHNldCA+IC5maWVsZC5yZXF1aXJlZCA+IGxhYmVsOmFmdGVyLCAub3BjLXdyYXBwZXIgLmZpZWxkc2V0ID4gLmZpZWxkLl9yZXF1aXJlZCA+IGxhYmVsOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDkuNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXBvcHVwIC5mb3JtLXNoaXBwaW5nLWFkZHJlc3Mge1xuICAgIG1heC13aWR0aDogNTAwcHg7IH1cbiAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2F2ZS1hZGRyZXNzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgMCA5LjVweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDAwcHg7XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIGxlZnQ6IDUwJTsgfSB9XG5cbi5maWVsZC10b29sdGlwIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDVweDsgfVxuICAuZmllbGQtdG9vbHRpcCAubGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmZpZWxkLXRvb2x0aXAuX2FjdGl2ZSB7XG4gICAgei1pbmRleDogMTAwOyB9XG4gICAgLmZpZWxkLXRvb2x0aXAuX2FjdGl2ZSAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmZpZWxkLXRvb2x0aXAuX2FjdGl2ZSAuZmllbGQtdG9vbHRpcC1hY3Rpb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWFjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWFjdGlvbiA+IHNwYW4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgY29udGVudDogXCLumKNcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLl9rZXlmb2N1cyAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb246Zm9jdXMge1xuICAgICAgei1pbmRleDogMTAwOyB9XG4gICAgICAuX2tleWZvY3VzIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWFjdGlvbjpmb2N1cyArIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLl9rZXlmb2N1cyAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb246Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMzMzM7IH1cbiAgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICB3aWR0aDogMjcwcHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAzOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0b3A6IC04cHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggMTBweCAwcHggI2RkZDsgfVxuICAgIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICBsZWZ0OiAtMTdweDtcbiAgICAgIHRvcDogMTNweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gICAgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5OTk5OyB9XG4gICAgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgei1pbmRleDogNDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5tb2RhbC1wb3B1cCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAyNTBweDsgfVxuICAgIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3BjLXdyYXBwZXIgLmZvcm0tbG9naW4sXG4ub3BjLXdyYXBwZXIgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cbiAgLm9wYy13cmFwcGVyIC5mb3JtLWxvZ2luIC5maWVsZHNldCAubm90ZSxcbiAgLm9wYy13cmFwcGVyIC5mb3JtLXNoaXBwaW5nLWFkZHJlc3MgLmZpZWxkc2V0IC5ub3RlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogOS41cHg7XG4gICAgb3BhY2l0eTogMC44OyB9XG4gICAgLm9wYy13cmFwcGVyIC5mb3JtLWxvZ2luIC5maWVsZHNldCAubm90ZTo6YmVmb3JlLFxuICAgIC5vcGMtd3JhcHBlciAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIC5maWVsZHNldCAubm90ZTo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5vcGMtd3JhcHBlciAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyB7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4ub3BjLXdyYXBwZXIgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbWFyZ2luOiAwIDAgMTlweDtcbiAgcGFkZGluZzogMTlweCAzMy41cHggMTlweCAxOXB4O1xuICB0cmFuc2l0aW9uOiAwLjNzIGJvcmRlci1jb2xvcjtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIC5vcGMtd3JhcHBlciAuc2hpcHBpbmctYWRkcmVzcy1pdGVtLnNlbGVjdGVkLWl0ZW0ge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNTUwMTsgfVxuICAgIC5vcGMtd3JhcHBlciAuc2hpcHBpbmctYWRkcmVzcy1pdGVtLnNlbGVjdGVkLWl0ZW06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNTUwMTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29udGVudDogXCLumJBcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgd2lkdGg6IDI5cHg7XG4gICAgICBmb250LXNpemU6IDI3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRvcDogMDsgfVxuICAgIC5vcGMtd3JhcHBlciAuc2hpcHBpbmctYWRkcmVzcy1pdGVtLnNlbGVjdGVkLWl0ZW0gLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm9wYy13cmFwcGVyIC5hY3Rpb24tc2hvdy1wb3B1cCB7XG4gIG1hcmdpbjogMCAwIDE5cHg7IH1cbiAgLm9wYy13cmFwcGVyIC5hY3Rpb24tc2hvdy1wb3B1cCA+IHNwYW46YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcGFkZGluZy1yaWdodDogNC43NXB4OyB9XG5cbi5vcGMtd3JhcHBlciAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDE5cHggMCAwOyB9XG5cbi5vcGMtd3JhcHBlciAuZWRpdC1hZGRyZXNzLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjZweCA1cHggMCAwOyB9XG5cbi5jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnN0ZXAtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jaGVja291dC1zaGlwcGluZy1tZXRob2QgLm5vLXF1b3Rlcy1ibG9jayB7XG4gIG1hcmdpbjogMTlweCAwOyB9XG5cbi5jaGVja291dC1zaGlwcGluZy1tZXRob2QgI29uZXBhZ2UtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWFkZGl0aW9uYWwtbG9hZCA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1ldGhvZHMtc2hpcHBpbmcgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLnByaW1hcnkge1xuICBtYXJnaW46IDE5cHggMCAwOyB9XG5cbi50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGhlYWQgdGgge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGJvZHkgdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZy1ib3R0b206IDE5cHg7XG4gIHBhZGRpbmctdG9wOiAxOXB4OyB9XG4gIC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyMHB4OyB9XG5cbi50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGJvZHkgLnJvdy1lcnJvciB0ZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiA5LjVweDtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAub3BjLXdyYXBwZXIgLmZvcm0tbG9naW4ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7IH1cbiAgLm9wYy13cmFwcGVyIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAub3BjLXdyYXBwZXIgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbS5zZWxlY3RlZC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzMuNXB4IDE1cHggMThweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuICAgICAgLm9wYy13cmFwcGVyIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0uc2VsZWN0ZWQtaXRlbSAuZWRpdC1hZGRyZXNzLWxpbmsge1xuICAgICAgICByaWdodDogMzguNXB4OyB9XG4gIC5vcGMtd3JhcHBlciAuZm9ybS1sb2dpbixcbiAgLm9wYy13cmFwcGVyIC5mb3JtLXNoaXBwaW5nLWFkZHJlc3Mge1xuICAgIG1hcmdpbi10b3A6IDI4cHg7IH1cbiAgLm9wYy13cmFwcGVyIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi10b3A6IDkuNXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vcGMtd3JhcHBlciAuYWN0aW9uLXNob3ctcG9wdXAge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vcGMtd3JhcHBlciAuZWRpdC1hZGRyZXNzLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDFweDsgfVxuICAgIC5vcGMtd3JhcHBlciAuZWRpdC1hZGRyZXNzLWxpbmsgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5vcGMtd3JhcHBlciAuZWRpdC1hZGRyZXNzLWxpbms6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgY29sb3I6ICMzMDMwMzA7XG4gICAgICBjb250ZW50OiBcIu6YhlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5vcGMtd3JhcHBlciAuZWRpdC1hZGRyZXNzLWxpbms6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMzAzMDMwOyB9XG4gICAgLm9wYy13cmFwcGVyIC5lZGl0LWFkZHJlc3MtbGluazphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMzAzMDMwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLnByaW1hcnkge1xuICAgIG1hcmdpbjogMDsgfVxuICAub3BjLXdyYXBwZXIgLmZvcm0tbG9naW4sXG4gIC5vcGMtd3JhcHBlciAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIHtcbiAgICBtYXgtd2lkdGg6IDYwcmVtOyB9XG4gIC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2Qge1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm9wYy13cmFwcGVyIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0ge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAub3BjLXdyYXBwZXIgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI2NjYztcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLm9wYy13cmFwcGVyIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW06bnRoLWNoaWxkKDNuICsgMSk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub3BjLXdyYXBwZXIgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbS5zZWxlY3RlZC1pdGVtOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9wYy13cmFwcGVyIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0uc2VsZWN0ZWQtaXRlbSArIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW06YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgbWluLXdpZHRoOiA1MDBweDsgfSB9XG5cbi5jaGVja291dC1zaGlwcGluZy1tZXRob2Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNoaXBwaW5nLXBvbGljeS1ibG9jay5maWVsZC10b29sdGlwIHtcbiAgdG9wOiAxMnB4OyB9XG4gIC5zaGlwcGluZy1wb2xpY3ktYmxvY2suZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zaGlwcGluZy1wb2xpY3ktYmxvY2suZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNoaXBwaW5nLXBvbGljeS1ibG9jay5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgIHdpZHRoOiA0MjBweDtcbiAgICB0b3A6IDI4LjVweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zaGlwcGluZy1wb2xpY3ktYmxvY2suZmllbGQtdG9vbHRpcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdG9wOiBhdXRvOyB9XG4gICAgLnNoaXBwaW5nLXBvbGljeS1ibG9jay5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5zaGlwcGluZy1wb2xpY3ktYmxvY2suZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnNoaXBwaW5nLXBvbGljeS1ibG9jay5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm9wYy1zaWRlYmFyIHtcbiAgICBtYXJnaW46IDAgMCAxOXB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlOyB9IH1cblxuLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiB7XG4gIHBhZGRpbmc6IDAgMjguNXB4OyB9XG4gIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDAgMCAxOXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0IHtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uLXRpdGxlIC5hY3Rpb24tZWRpdCA+IHNwYW4ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDsgfVxuICAgICAgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0OmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBjb2xvcjogIzhmOGY4ZjtcbiAgICAgICAgY29udGVudDogXCLumIZcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUgLmFjdGlvbi1lZGl0OmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgICAub3BjLWJsb2NrLXNoaXBwaW5nLWluZm9ybWF0aW9uIC5zaGlwcGluZy1pbmZvcm1hdGlvbi10aXRsZSAuYWN0aW9uLWVkaXQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjOGY4ZjhmOyB9XG4gIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXBwaW5nLWluZm9ybWF0aW9uLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4OyB9XG4gICAgLm9wYy1ibG9jay1zaGlwcGluZy1pbmZvcm1hdGlvbiAuc2hpcHBpbmctaW5mb3JtYXRpb24tY29udGVudCAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXAtdG8sXG4gIC5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24gLnNoaXAtdmlhIHtcbiAgICBtYXJnaW46IDAgMCAxOXB4OyB9XG5cbi5vcGMtYmxvY2stc3VtbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDIycHggMjguNXB4O1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG4gIC5vcGMtYmxvY2stc3VtbWFyeSA+IC50aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm9wYy1ibG9jay1zdW1tYXJ5IC50YWJsZS10b3RhbHMgdHIuc2hpcHBpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9wYy1ibG9jay1zdW1tYXJ5IC5tYXJrIC52YWx1ZSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm9wYy1ibG9jay1zdW1tYXJ5IC5ncmFuZC5pbmNsICsgLmdyYW5kLmV4Y2wgLm1hcmssXG4gIC5vcGMtYmxvY2stc3VtbWFyeSAuZ3JhbmQuaW5jbCArIC5ncmFuZC5leGNsIC5hbW91bnQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAub3BjLWJsb2NrLXN1bW1hcnkgLmdyYW5kLmluY2wgKyAuZ3JhbmQuZXhjbCAubWFyayBzdHJvbmcsXG4gICAgLm9wYy1ibG9jay1zdW1tYXJ5IC5ncmFuZC5pbmNsICsgLmdyYW5kLmV4Y2wgLmFtb3VudCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAub3BjLWJsb2NrLXN1bW1hcnkgLm5vdC1jYWxjdWxhdGVkIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLm9wYy1ibG9jay1zdW1tYXJ5IC5pdGVtcy1pbi1jYXJ0ID4gLnRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTtcbiAgICBwYWRkaW5nOiA5LjVweCAzOHB4IDkuNXB4IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5vcGMtYmxvY2stc3VtbWFyeSAuaXRlbXMtaW4tY2FydCA+IC50aXRsZSA+IHNwYW4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLm9wYy1ibG9jay1zdW1tYXJ5IC5pdGVtcy1pbi1jYXJ0ID4gLnRpdGxlOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiBcIu6YolwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDNweCAwIDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5vcGMtYmxvY2stc3VtbWFyeSAuaXRlbXMtaW4tY2FydCA+IC50aXRsZTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogOS41cHg7IH1cbiAgICAub3BjLWJsb2NrLXN1bW1hcnkgLml0ZW1zLWluLWNhcnQgPiAudGl0bGUgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAub3BjLWJsb2NrLXN1bW1hcnkgLml0ZW1zLWluLWNhcnQuYWN0aXZlID4gLnRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6YoVwiOyB9XG4gIC5vcGMtYmxvY2stc3VtbWFyeSAuaXRlbXMtaW4tY2FydCAucHJvZHVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5vcGMtYmxvY2stc3VtbWFyeSAubWluaWNhcnQtaXRlbXMtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAtMTVweCAwIDA7XG4gICAgbWF4LWhlaWdodDogMzcwcHg7XG4gICAgcGFkZGluZzogMTVweCAwIDAgMDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmNvbHVtbi5tYWluIC5vcGMtYmxvY2stc3VtbWFyeSAucHJvZHVjdC1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5vcGMtYmxvY2stc3VtbWFyeSAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0taW5uZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMCAwIDkuNXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vcGMtYmxvY2stc3VtbWFyeSAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tbmFtZS1ibG9jayB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0Ljc1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAub3BjLWJsb2NrLXN1bW1hcnkgLnByb2R1Y3QtaXRlbSAuc3VidG90YWwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm9wYy1ibG9jay1zdW1tYXJ5IC5wcm9kdWN0LWl0ZW0gLnByaWNlIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5vcGMtYmxvY2stc3VtbWFyeSAucHJvZHVjdC1pdGVtIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5vcGMtYmxvY2stc3VtbWFyeSAucHJvZHVjdC1pdGVtIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAub3BjLWJsb2NrLXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAub3BjLWJsb2NrLXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogLTFweCAwIDA7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5vcGMtYmxvY2stc3VtbWFyeSAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgLmFjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5vcGMtYmxvY2stc3VtbWFyeSB7XG4gICAgcGFkZGluZy10b3A6IDU1cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5tb2RhbC1oZWFkZXIgLmFjdGlvbi1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5hdXRoZW50aWNhdGlvbi1kcm9wZG93biB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmF1dGhlbnRpY2F0aW9uLWRyb3Bkb3duIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICBwYWRkaW5nOiAyMy43NXB4OyB9XG5cbi5hdXRoZW50aWNhdGlvbi13cmFwcGVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAtNTdweDtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7IH1cbiAgLl9oYXMtYXV0aC1zaG93biAuYXV0aGVudGljYXRpb24td3JhcHBlciB7XG4gICAgei1pbmRleDogOTAwOyB9XG5cbi5ibG9jay1hdXRoZW50aWNhdGlvbiAuYmxvY2stdGl0bGUge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjMuNzVweDsgfVxuICAuYmxvY2stYXV0aGVudGljYXRpb24gLmJsb2NrLXRpdGxlIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4uYmxvY2stYXV0aGVudGljYXRpb24gLmZpZWxkIC5sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIge1xuICBtYXJnaW4tYm90dG9tOiA0Ljc1cHg7IH1cbiAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IHtcbiAgICBwYWRkaW5nLXRvcDogMjMuNzVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5ibG9jay1hdXRoZW50aWNhdGlvbiAuYmxvY2tbY2xhc3NdIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5ibG9jay1hdXRoZW50aWNhdGlvbiAuYmxvY2tbY2xhc3NdIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogOS41cHg7IH1cbiAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5ibG9ja1tjbGFzc10gLmZpZWxkIC5jb250cm9sLFxuICAuYmxvY2stYXV0aGVudGljYXRpb24gLmJsb2NrW2NsYXNzXSAuZmllbGQgLmxhYmVsIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuYmxvY2stYXV0aGVudGljYXRpb24gLmJsb2NrW2NsYXNzXSArIC5ibG9jayB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjMWMxYzE7XG4gICAgbWFyZ2luLXRvcDogMzhweDtcbiAgICBwYWRkaW5nLXRvcDogMzhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYmxvY2stYXV0aGVudGljYXRpb24gLmJsb2NrW2NsYXNzXSArIC5ibG9jazo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgbWFyZ2luOiAtMTlweCAwIC0xOHB4O1xuICAgICAgbWluLXdpZHRoOiAzNnB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMWMxYzE7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29sb3I6ICNjMWMxYzE7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmc6IDAgMC4ycmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRvcDogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hdXRoZW50aWNhdGlvbi1kcm9wZG93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRvcDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gbGluZWFyIDAuMXMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuMXM7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmF1dGhlbnRpY2F0aW9uLWRyb3Bkb3duLl9zaG93IHtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gbGluZWFyIDAuMXMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuYXV0aGVudGljYXRpb24td3JhcHBlciB7XG4gICAgd2lkdGg6IDcwMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5ibG9jay10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMy43NXB4OyB9XG4gIC5ibG9jay1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSAuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYmxvY2stYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAucG9wdXAtYXV0aGVudGljYXRpb24gLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIG1pbi13aWR0aDogNzY4cHg7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAucG9wdXAtYXV0aGVudGljYXRpb24gLmJsb2NrLWF1dGhlbnRpY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjMWMxYzE7IH1cbiAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5ibG9ja1tjbGFzc10sXG4gIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuZm9ybS1sb2dpbixcbiAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5maWVsZHNldCxcbiAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5ibG9jay1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxOyB9XG4gIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYmxvY2tbY2xhc3NdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDkuNXB4IDI4LjVweCAwIDA7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYmxvY2tbY2xhc3NdICsgLmJsb2NrIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2MxYzFjMTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA5LjVweCAwIDAgMzhweDsgfVxuICAgICAgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5ibG9ja1tjbGFzc10gKyAuYmxvY2s6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNTAlOyB9XG4gIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH0gfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnN0ZXAtdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2Q6Zmlyc3QtY2hpbGQgLnBheW1lbnQtbWV0aG9kLXRpdGxlIHtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLl9hY3RpdmUgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kICsgLnBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUge1xuICBwYWRkaW5nOiAxOXB4IDA7XG4gIG1hcmdpbjogMDsgfVxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIC5wYXltZW50LWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDQuNzVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUgLmFjdGlvbi1oZWxwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDQuNzVweDsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwIDAgMTlweCAyMnB4OyB9XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtY29udGVudCAuZmllbGRzZXQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luOiAwIDAgMTlweDsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtZ3JvdXAgKyAucGF5bWVudC1ncm91cCAuc3RlcC10aXRsZSB7XG4gIG1hcmdpbjogMTlweCAwIDA7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5maWVsZC1zZWxlY3QtYmlsbGluZyxcbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAuYmlsbGluZy1hZGRyZXNzLWZvcm0ge1xuICBtYXgtd2lkdGg6IDUwMHB4OyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAuYmlsbGluZy1hZGRyZXNzLXNhbWUtYXMtc2hpcHBpbmctYmxvY2sge1xuICBtYXJnaW46IDAgMCA5LjVweDsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyB7XG4gIG1hcmdpbjogMCAwIDE5cHg7IH1cbiAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jaGVja291dC1iaWxsaW5nLWFkZHJlc3MgLnByaW1hcnkgLmFjdGlvbi11cGRhdGUge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYmlsbGluZy1hZGRyZXNzLWRldGFpbHMge1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDIzcHg7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC1ub3RlICsgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDE5cHg7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC1pZnJhbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5uby1wYXltZW50cy1ibG9jayB7XG4gIG1hcmdpbjogMTlweCAwOyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIC5sYWJlbCxcbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgcGFkZGluZzogMCAwIDAgMjNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtdGl0bGUge1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTlweDsgfVxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyAuYWN0aW9uLWNhbmNlbCB7XG4gICAgbWFyZ2luLXRvcDogOS41cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgYnV0dG9uLmFjdGlvbiwgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSAuYWN0aW9uLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSAuYWN0aW9uLmFjdGlvbi1naWZ0IHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IGJ1dHRvbi5hY3Rpb246bm90KDpsYXN0LWNoaWxkKSwgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb246bm90KDpsYXN0LWNoaWxkKSwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IC5hY3Rpb246bm90KDpsYXN0LWNoaWxkKSwgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgLmFjdGlvbi5hY3Rpb24tZ2lmdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuZmllbGRzZXQgPiAuZmllbGQtc2VsZWN0LWJpbGxpbmcgPiAuY29udHJvbCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC1jb250ZW50IC5maWVsZHNldCA+IC5maWVsZCB7XG4gICAgbWFyZ2luOiAwIDAgMTlweDsgfVxuICAgIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1tZXRob2QtY29udGVudCAuZmllbGRzZXQgPiAuZmllbGQudHlwZSAuY29udHJvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUuOCU7IH1cbiAgICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQgLmZpZWxkc2V0ID4gLmZpZWxkLnR5cGUubm8tZGV0ZWN0aW9uIC5jb250cm9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5jaGVja291dC1iaWxsaW5nLWFkZHJlc3MgLmFjdGlvbi11cGRhdGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1jYW5jZWwge1xuICAgIG1hcmdpbjogNnB4IDE5cHggMCAwOyB9XG4gIC8qIEFkanVzdG1lbnQgZm9yIHNwbGl0IGN1c3RvbSBjaGVja2JveCArIGxhYmVsIGR1cmluZyBiaWxsaW5nID4gYWRkIG5ldyBhZGRyZXNzICovXG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtpZCo9XCJzYXZlLWluLWFkZHJlc3MtYm9va1wiXSArIC5sYWJlbDo6YmVmb3JlLCAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1baWQqPVwic2F2ZS1pbi1hZGRyZXNzLWJvb2tcIl0gKyAubGFiZWw6OmFmdGVyLFxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1baWQqPVwic2F2ZS1pbi1hZGRyZXNzLWJvb2tcIl0gKyBsYWJlbDo6YmVmb3JlLFxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1baWQqPVwic2F2ZS1pbi1hZGRyZXNzLWJvb2tcIl0gKyBsYWJlbDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDI2JTtcbiAgICBsZWZ0OiBjYWxjKDMyJSAtIDIuOHJlbSk7IH0gfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtb3B0aW9uLl9hY3RpdmUgLnBheW1lbnQtb3B0aW9uLXRpdGxlIC5hY3Rpb24tdG9nZ2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLumKFcIjsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtb3B0aW9uLl9jb2xsYXBzaWJsZSAucGF5bWVudC1vcHRpb24tdGl0bGUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbi5fY29sbGFwc2libGUgLnBheW1lbnQtb3B0aW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1vcHRpb24tdGl0bGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMTlweCAwIDAgMDsgfVxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtb3B0aW9uLXRpdGxlIC5hY3Rpb24tdG9nZ2xlIHtcbiAgICBjb2xvcjogIzNiNGE0YjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbi10aXRsZSAuYWN0aW9uLXRvZ2dsZTphZnRlciB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIGNvbG9yOiAjOGY4ZjhmO1xuICAgICAgY29udGVudDogXCLumKJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtb3B0aW9uLXRpdGxlIC5hY3Rpb24tdG9nZ2xlOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbi10aXRsZSAuYWN0aW9uLXRvZ2dsZTphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM4ZjhmOGY7IH1cbiAgICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtb3B0aW9uLXRpdGxlIC5hY3Rpb24tdG9nZ2xlOmhvdmVyIHNwYW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMCAwIDE5cHggMDsgfVxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtb3B0aW9uLWNvbnRlbnQgLm1lc3NhZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1vcHRpb24tY29udGVudCAubWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtb3B0aW9uLWNvbnRlbnQgLmZvcm0tZGlzY291bnQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbi1jb250ZW50IC5hY3Rpb24tY2FuY2VsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNSwgMzksIDMwLCAwLjcpOyB9XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbi1jb250ZW50IC5hY3Rpb24tY2FuY2VsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAzOSwgMzAsIDAuOCk7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbi1pbm5lciB7XG4gIG1hcmdpbjogMCAwIDE5cHg7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jcmVkaXQtY2FyZC10eXBlcyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jcmVkaXQtY2FyZC10eXBlcyAuaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDQuNzVweCAwIDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY3JlZGl0LWNhcmQtdHlwZXMgLml0ZW0uX2FjdGl2ZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNyZWRpdC1jYXJkLXR5cGVzIC5pdGVtLl9hY3RpdmUgaW1nIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpOyB9XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jcmVkaXQtY2FyZC10eXBlcyAuaXRlbS5faW5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jcmVkaXQtY2FyZC10eXBlcyAuaXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY3JlZGl0LWNhcmQtdHlwZXMgaW1nIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlOyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2NhcmQgLmZpZWxkcyA+IC55ZWFyIHtcbiAgcGFkZGluZy1sZWZ0OiA0Ljc1cHg7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jY2FyZCAuZmllbGRzIC5zZWxlY3Qge1xuICBwYWRkaW5nLWxlZnQ6IDQuNzVweDtcbiAgcGFkZGluZy1yaWdodDogNC43NXB4OyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2NhcmQgLm1vbnRoIC5zZWxlY3Qge1xuICB3aWR0aDogMTQwcHg7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jY2FyZCAueWVhciAuc2VsZWN0IHtcbiAgd2lkdGg6IDgwcHg7IH1cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5jY2FyZCAubnVtYmVyIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDIyNXB4OyB9XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCAuY2NhcmQgPiAuZmllbGQuY3Z2ID4gLmNvbnRyb2wge1xuICBwYWRkaW5nLXJpZ2h0OiAxOXB4O1xuICB3aWR0aDogYXV0bzsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNjYXJkIC5jdnYgLmlucHV0LXRleHQge1xuICB3aWR0aDogNTVweDsgfVxuXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmNjYXJkLmZpZWxkc2V0ID4gLmZpZWxkIC5maWVsZHMuZ3JvdXAuZ3JvdXAtMiAuZmllbGQge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbiAucGF5bWVudC1vcHRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW9wdGlvbiAucGF5bWVudC1vcHRpb24tY29udGVudCB7XG4gICAgcGFkZGluZzogMCAxNXB4IDE5cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1vcHRpb24tY29udGVudCAucGF5bWVudC1vcHRpb24taW5uZXIgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIC5jaGVja291dC1hZ3JlZW1lbnQ6OmJlZm9yZSB7XG4gIHdpZHRoOiAxNXB4ICFpbXBvcnRhbnQ7IH1cblxuLmNoZWNrb3V0LWFncmVlbWVudHMtYmxvY2sgLmNoZWNrb3V0LWFncmVlbWVudCBsYWJlbDo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5jaGVja291dC1hZ3JlZW1lbnRzLWJsb2NrIC5jaGVja291dC1hZ3JlZW1lbnRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuXG4uY2hlY2tvdXQtYWdyZWVtZW50cy1ibG9jayAuYWN0aW9uLXNob3cge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLmNoZWNrb3V0LWFncmVlbWVudHMtaXRlbXMge1xuICBwYWRkaW5nLWJvdHRvbTogMjguNXB4OyB9XG4gIC5jaGVja291dC1hZ3JlZW1lbnRzLWl0ZW1zIC5jaGVja291dC1hZ3JlZW1lbnRzLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cbiAgLmNoZWNrb3V0LWFncmVlbWVudHMtaXRlbXMgLmNoZWNrb3V0LWFncmVlbWVudHMtaXRlbS10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uY2hlY2tvdXQtYWdyZWVtZW50LWl0ZW0tY29udGVudCB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5sb2dpbi1jb250YWluZXIgLmJsb2NrLW5ldy1jdXN0b21lciAuYWN0aW9ucy10b29sYmFyIHtcbiAgbWFyZ2luLXRvcDogMjVweDsgfVxuXG4ubG9naW4tY29udGFpbmVyIC5ibG9jayAuYmxvY2stdGl0bGUge1xuICBmb250LXNpemU6IDEuOHJlbTsgfVxuXG4ubG9naW4tY29udGFpbmVyIC5maWVsZHNldDphZnRlciB7XG4gIG1hcmdpbjogOS41cHggMCAwO1xuICBjb250ZW50OiBhdHRyKGRhdGEtaGFzcmVxdWlyZWQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGNvbG9yOiAjZTAyYjI3O1xuICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4ubG9naW4tY29udGFpbmVyIC5maWVsZHNldDphZnRlciB7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cblxuLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXMgPiAuaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cbiAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXMgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLWFkZHJlc3MtZWRpdCAjcmVnaW9uX2lkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybS1lZGl0LWFjY291bnQgLmZpZWxkc2V0LnBhc3N3b3JkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYm94LWJpbGxpbmctYWRkcmVzcyAuYm94LWNvbnRlbnQsXG4uYm94LXNoaXBwaW5nLWFkZHJlc3MgLmJveC1jb250ZW50LFxuLmJveC1pbmZvcm1hdGlvbiAuYm94LWNvbnRlbnQsXG4uYm94LW5ld3NsZXR0ZXIgLmJveC1jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cblxuLmZpZWxkc2V0IC5mdWxsbmFtZS5maWVsZCA+IC5sYWJlbCArIC5jb250cm9sIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY291bnQgLmNvbHVtbi5tYWluIGgyIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uYWNjb3VudCAuY29sdW1uLm1haW4gLnRvb2xiYXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFjY291bnQgLmNvbHVtbi5tYWluIC50b29sYmFyIC5saW1pdGVyLW9wdGlvbnMge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5hY2NvdW50IC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5hY3Rpb24ge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmFjY291bnQtbmF2IC5jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcGFkZGluZzogMTVweCAwOyB9XG5cbi5hY2NvdW50LW5hdiAuaXRlbSB7XG4gIG1hcmdpbjogM3B4IDAgMDsgfVxuICAuYWNjb3VudC1uYXYgLml0ZW06Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmFjY291bnQtbmF2IC5pdGVtIGEsXG4gIC5hY2NvdW50LW5hdiAuaXRlbSA+IHN0cm9uZyB7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA0Ljc1cHggMThweCA0Ljc1cHggMTVweDsgfVxuICAuYWNjb3VudC1uYXYgLml0ZW0gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFjY291bnQtbmF2IC5pdGVtIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U4ZThlODsgfVxuICAuYWNjb3VudC1uYXYgLml0ZW0uY3VycmVudCBhLFxuICAuYWNjb3VudC1uYXYgLml0ZW0uY3VycmVudCBzdHJvbmcge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNTUwMTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5hY2NvdW50LW5hdiAuaXRlbS5jdXJyZW50IGEge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNTUwMTsgfVxuICAuYWNjb3VudC1uYXYgLml0ZW0gLmRlbGltaXRlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA5LjVweCAxLjhyZW07IH1cblxuLmNvbHVtbi5tYWluIC5ibG9jazpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYmxvY2sgLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cbiAgLmJsb2NrIC50aXRsZSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjlyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS45cmVtOyB9XG4gICAgLmNvbHVtbi5tYWluIC5ibG9jayAudGl0bGUgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uYmxvY2sgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ibG9jayAuYm94LWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiA0Ljc1cHg7IH1cblxuLmZpZWxkLnBhc3N3b3JkIC5jb250cm9sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmllbGQucGFzc3dvcmQgLmNvbnRyb2wgLm1hZ2UtZXJyb3Ige1xuICAgIG9yZGVyOiAyOyB9XG4gIC5maWVsZC5wYXNzd29yZCAuY29udHJvbCAuaW5wdXQtdGV4dCB7XG4gICAgb3JkZXI6IDA7XG4gICAgei1pbmRleDogMjsgfVxuXG4ucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBoZWlnaHQ6IDQuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDQuM3JlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5wYXNzd29yZC1zdHJlbmd0aC1tZXRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLnBhc3N3b3JkLW5vbmUgLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFzc3dvcmQtd2VhayAucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZmFlO1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnBhc3N3b3JkLW1lZGl1bSAucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkNmIzO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnBhc3N3b3JkLXN0cm9uZyAucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzVlZWFjO1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnBhc3N3b3JkLXZlcnktc3Ryb25nIC5wYXNzd29yZC1zdHJlbmd0aC1tZXRlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MWI1NjI7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbnRyb2wuY2FwdGNoYS1pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDkuNXB4OyB9XG4gIC5jb250cm9sLmNhcHRjaGEtaW1hZ2UgLmNhcHRjaGEtaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmFjY291bnQgLmNvbHVtbi5tYWluLFxuICAuYWNjb3VudCAuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5sb2dpbi1jb250YWluZXIgLmZpZWxkc2V0OmFmdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFjY291bnQgLnBhZ2UubWVzc2FnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7IH1cbiAgLmNvbnRyb2wuY2FwdGNoYS1pbWFnZSAuY2FwdGNoYS1pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDkuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2subG9naW4gLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMjguNXB4OyB9XG4gIC5sb2dpbi1jb250YWluZXIgLmJsb2NrLmxvZ2luIC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubG9naW4tY29udGFpbmVyIC5maWVsZHNldCA+IC5maWVsZCA+IC5jb250cm9sIHtcbiAgICB3aWR0aDogNTUlOyB9XG4gIC5maWVsZHNldCAuZnVsbG5hbWUgLmZpZWxkIC5sYWJlbCB7XG4gICAgcGFkZGluZzogNnB4IDE1cHggMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAzMiU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuZmllbGRzZXQgLmZ1bGxuYW1lIC5maWVsZCAuY29udHJvbCB7XG4gICAgd2lkdGg6IDY4JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuZm9ybS5wYXNzd29yZC5yZXNldCxcbiAgLmZvcm0uc2VuZC5jb25maXJtYXRpb24sXG4gIC5mb3JtLnBhc3N3b3JkLmZvcmdldCxcbiAgLmZvcm0uY3JlYXRlLmFjY291bnQge1xuICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuYWNjb3VudC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5zaWRlYmFyLW1haW4sXG4gIC5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLnNpZGViYXItYWRkaXRpb25hbCB7XG4gICAgd2lkdGg6IDIyLjMlOyB9XG4gIC5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbi5tYWluIHtcbiAgICB3aWR0aDogNzcuNyU7IH1cbiAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXMge1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzID4gLml0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogNDguOCU7IH1cbiAgICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzID4gLml0ZW06bnRoLWxhc3QtY2hpbGQoMSksIC5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzID4gLml0ZW06bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlcyA+IC5pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjQlOyB9XG4gIC5jb250cm9sLmNhcHRjaGEtaW1hZ2UgLmNhcHRjaGEtaW1nIHtcbiAgICBtYXJnaW46IDAgOS41cHggOS41cHggMDsgfSB9XG5cbi5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLnNpZGViYXItbWFpbiAubmF2IGxpOm50aC1jaGlsZCg0KSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRvd25sb2FkYWJsZS5zYW1wbGVzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuICAuZG93bmxvYWRhYmxlLnNhbXBsZXMgZGQge1xuICAgIG1hcmdpbjogMCAwIDkuNXB4OyB9XG5cbi50YWJsZS1kb3dubG9hZGFibGUtcHJvZHVjdHMgLnByb2R1Y3QtbmFtZSB7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4uZmllbGQuZG93bmxvYWRzIC5wcmljZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmZpZWxkLmRvd25sb2FkcyAucHJpY2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyArICc7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5maWVsZC5kb3dubG9hZHMgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmZpZWxkLmRvd25sb2FkcyAucHJpY2UtZXhjbHVkaW5nLXRheDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGRhdGEtbGFiZWwpIFwiOiBcIjsgfVxuICAuZmllbGQuZG93bmxvYWRzIC5wcmljZS1leGNsdWRpbmctdGF4OmFmdGVyIHtcbiAgICBjb250ZW50OiAnKSc7IH1cblxuLmZpZWxkLmRvd25sb2FkcyAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmZpZWxkLmRvd25sb2FkcyAuc2FtcGxlLmxpbmsge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnBhZ2UtcHJvZHVjdC1kb3dubG9hZGFibGUgLnByb2R1Y3QtYWRkLWZvcm0ge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMjMuNzVweDsgfVxuXG4ucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuZmllbGQucXR5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtcHJvZHVjdC1kb3dubG9hZGFibGUgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTUlOyB9XG4gIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAgIC5wYWdlLXByb2R1Y3QtZG93bmxvYWRhYmxlIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5maWVsZC5xdHkgKyAuYWN0aW9ucyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5jYXJ0LXN1bW1hcnkgLmJsb2NrLmdpZnRjYXJkIC5hY3Rpb24uY2hlY2sge1xuICBsaW5lLWhlaWdodDogMS40O1xuICBwYWRkaW5nOiA0Ljc1cHggOHB4O1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luLXRvcDogMTlweDsgfVxuXG4ucGFnZS1wcm9kdWN0LWdpZnRjYXJkIC5naWZ0Y2FyZC1hbW91bnQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wYWdlLXByb2R1Y3QtZ2lmdGNhcmQgLmdpZnRjYXJkLWFtb3VudCAuZmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE5cHg7IH1cblxuLnBhZ2UtcHJvZHVjdC1naWZ0Y2FyZCAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIgLmZpZWxkOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAxOXB4OyB9XG5cbi5naWZ0Y2FyZC1hY2NvdW50IC5wbGVhc2Utd2FpdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdpZnRjYXJkLWFjY291bnQgLmZvcm0tZ2lmdGNhcmQtcmVkZWVtIC5naWZ0Y2FyZC5pbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMjguNXB4OyB9XG5cbi5vcGMtd3JhcHBlciAuZm9ybS1naWZ0Y2FyZC1hY2NvdW50IHtcbiAgbWF4LXdpZHRoOiA1MDBweDsgfVxuICAub3BjLXdyYXBwZXIgLmZvcm0tZ2lmdGNhcmQtYWNjb3VudCAuZmllbGQge1xuICAgIG1hcmdpbjogMCAwIDE5cHg7IH1cblxuLm9wYy13cmFwcGVyIC5naWZ0Y2FyZC1hY2NvdW50LWluZm8ge1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG4gIC5vcGMtd3JhcHBlciAuZ2lmdGNhcmQtYWNjb3VudC1pbmZvIC5naWZ0Y2FyZC1hY2NvdW50LW51bWJlciB7XG4gICAgbWFyZ2luOiAwIDAgOS41cHg7IH1cblxuLmdpZnQtbWVzc2FnZSAuZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG4gIC5naWZ0LW1lc3NhZ2UgLmZpZWxkIC5sYWJlbCB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1jYW5jZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5naWZ0LW9wdGlvbnMtdGl0bGUge1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG5cbi5naWZ0LW9wdGlvbnMtY29udGVudCAuZmllbGRzZXQge1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG5cbi5naWZ0LXN1bW1hcnkgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkge1xuICBmbG9hdDogbm9uZTsgfVxuICAuZ2lmdC1zdW1tYXJ5IC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24ge1xuICAgIG1hcmdpbjogOS41cHggMTlweCAwIDA7IH1cblxuLmFjdGlvbi1naWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7XG4gIG1hcmdpbi1yaWdodDogOS41cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hY3Rpb24tZ2lmdDpob3ZlciwgLmFjdGlvbi1naWZ0OmFjdGl2ZSwgLmFjdGlvbi1naWZ0OmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmFjdGlvbi1naWZ0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYWN0aW9uLWdpZnQ6YWZ0ZXIge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFjdGlvbi1naWZ0OmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYWN0aW9uLWdpZnQ6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYWN0aW9uLWdpZnQuYWN0aXZlOmFmdGVyLCAuYWN0aW9uLWdpZnQuX2FjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCLumKFcIjsgfVxuXG4uY2FydC50YWJsZS13cmFwcGVyIC5naWZ0LWNvbnRlbnQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogOS41cHggMCAxOXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2FydC50YWJsZS13cmFwcGVyIC5naWZ0LWNvbnRlbnQuX2FjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdpZnQtaXRlbS1ibG9jayB7XG4gIG1hcmdpbjogMDsgfVxuICAuZ2lmdC1pdGVtLWJsb2NrLl9hY3RpdmUgLnRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6YoVwiOyB9XG4gIC5naWZ0LWl0ZW0tYmxvY2sgLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICMzYjRhNGI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBwYWRkaW5nOiA3cHggMTVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmdpZnQtaXRlbS1ibG9jayAudGl0bGU6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmdpZnQtaXRlbS1ibG9jayAudGl0bGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuZ2lmdC1pdGVtLWJsb2NrIC50aXRsZTphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuZ2lmdC1pdGVtLWJsb2NrIC50aXRsZTpmb2N1cywgLmdpZnQtaXRlbS1ibG9jayAudGl0bGU6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAuZ2lmdC1pdGVtLWJsb2NrIC50aXRsZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2I4YjQ5NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmdpZnQtaXRlbS1ibG9jayAudGl0bGUuZGlzYWJsZWQsIC5naWZ0LWl0ZW0tYmxvY2sgLnRpdGxlW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLmdpZnQtaXRlbS1ibG9jayAudGl0bGUge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmdpZnQtaXRlbS1ibG9jayAuY29udGVudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMWMxYzE7XG4gICAgcGFkZGluZzogOS41cHggOS41cHggMTlweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLWdpZnQtbWVzc2FnZSAuaXRlbS1vcHRpb25zIGR0LFxuLm9yZGVyLWRldGFpbHMtaXRlbXMgLmJsb2NrLW9yZGVyLWRldGFpbHMtZ2lmdC1tZXNzYWdlIC5pdGVtLW9wdGlvbnMgZHQge1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDkuNXB4IDA7IH1cblxuLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLWdpZnQtbWVzc2FnZSBkdDphZnRlcixcbi5vcmRlci1kZXRhaWxzLWl0ZW1zIC5ibG9jay1vcmRlci1kZXRhaWxzLWdpZnQtbWVzc2FnZSBkdDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbi5vcmRlci1kZXRhaWxzLWl0ZW1zIC5vcmRlci1naWZ0LW1lc3NhZ2UgLml0ZW0tbWVzc2FnZSxcbi5vcmRlci1kZXRhaWxzLWl0ZW1zIC5ibG9jay1vcmRlci1kZXRhaWxzLWdpZnQtbWVzc2FnZSAuaXRlbS1tZXNzYWdlIHtcbiAgY2xlYXI6IGxlZnQ7IH1cblxuLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLWl0ZW1zIC5hY3Rpb24uc2hvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiAxOXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLWl0ZW1zIC5hY3Rpb24uc2hvdzphZnRlciB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY29udGVudDogXCLumKJcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5vcmRlci1pdGVtcyAuYWN0aW9uLnNob3c6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IC00cHg7IH1cbiAgLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLWl0ZW1zIC5hY3Rpb24uc2hvdy5leHBhbmRlZDphZnRlciB7XG4gICAgY29udGVudDogXCLumKFcIjsgfVxuXG4uYmxvY2stb3JkZXItZGV0YWlscy1naWZ0LW1lc3NhZ2Uge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTtcbiAgcGFkZGluZy10b3A6IDkuNXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmdpZnQtb3B0aW9ucyAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tdXBkYXRlIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogMTVweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2lmdC1pdGVtLWJsb2NrIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2MxYzFjMTtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmdpZnQtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtOS41cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmdpZnQtY29udGVudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdpZnQtbWVzc2FnZSAuZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cbiAgLmdpZnQtb3B0aW9ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgICAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAuZ2lmdC1vcHRpb25zIC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE5cHg7IH1cbiAgICAgICAgLmdpZnQtb3B0aW9ucyAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgLmFjdGlvbi1jYW5jZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAgICAgLmdpZnQtb3B0aW9ucyAuYWN0aW9ucy10b29sYmFyOm50aC1jaGlsZCgzKTpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjMWMxYzE7XG4gICAgICAgIGJvdHRvbTogNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMDsgfVxuICAuZ2lmdC1vcHRpb25zLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLmFjdGlvbi1naWZ0IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAub3JkZXItb3B0aW9ucyAuZ2lmdC13cmFwcGluZyxcbiAgLnRhYmxlLW9yZGVyLXJldmlldyAuZ2lmdC13cmFwcGluZyB7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuXG4uZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmxhc3QtY2hpbGQpLFxuLmZvcm0tZ2lmdHJlZ2lzdHJ5LWVkaXQgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDsgfVxuXG4uZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUgLmZpZWxkc2V0IC5uZXN0ZWQgLmZpZWxkOm5vdCguY2hvaWNlKSAuY29udHJvbCxcbi5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IC5maWVsZHNldCAubmVzdGVkIC5maWVsZDpub3QoLmNob2ljZSkgLmNvbnRyb2wge1xuICB3aWR0aDogMTAwJTsgfVxuXG4udGFibGUtZ2lmdHJlZ2lzdHJ5LWl0ZW1zIC5wcm9kdWN0LWltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogOS41cHg7IH1cblxuLmNhcnQtc3VtbWFyeSAuZm9ybS5naWZ0cmVnaXN0cnkgLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAyNXB4IDAgNC43NXB4OyB9XG4gIC5jYXJ0LXN1bW1hcnkgLmZvcm0uZ2lmdHJlZ2lzdHJ5IC5maWVsZHNldCAuZmllbGQge1xuICAgIG1hcmdpbjogMCAwIDkuNXB4OyB9XG4gICAgLmNhcnQtc3VtbWFyeSAuZm9ybS5naWZ0cmVnaXN0cnkgLmZpZWxkc2V0IC5maWVsZCAuY29udHJvbCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jYXJ0LXN1bW1hcnkgLmZvcm0uZ2lmdHJlZ2lzdHJ5IC5maWVsZHNldCAuYWN0aW9uLnByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDU3cHg7IH1cbiAgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNlYXJjaCAuZmllbGRzLXNwZWNpZmljLW9wdGlvbnMgLmZpZWxkOm50aC1sYXN0LW9mLXR5cGUoMSkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJsb2NrLWdpZnRyZWdpc3RyeS1yZXN1bHRzIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ibG9jay1naWZ0cmVnaXN0cnkgLmFjdGlvbnMtdG9vbGJhciB7XG4gIG1hcmdpbjogMTdweCAwIDA7IH1cblxuLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQgLml0ZW0tb3B0aW9ucyAuaXRlbS12YWx1ZSB7XG4gIG1hcmdpbjogMCAwIDIzLjc1cHg7IH1cblxuLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLml0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTsgfVxuXG4uYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZC1pdGVtcyAuY29sIHtcbiAgcGFkZGluZzogMTlweCA4cHggOS41cHg7IH1cbiAgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLmNvbCAucHJpY2UtYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLmNvbCAucHJpY2Utd3JhcHBlciB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5wcm9kdWN0IC5pdGVtLW9wdGlvbnMge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA2NXB4O1xuICBwYWRkaW5nOiA5LjVweCAwOyB9XG5cbi5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCA0Ljc1cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAudGFibGUtZ2lmdHJlZ2lzdHJ5LWl0ZW1zIC5maWVsZC5jaG9pY2UsXG4gIC50YWJsZS1naWZ0cmVnaXN0cnktaXRlbXMgLmZpZWxkLnF0eSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mb3JtLWdpZnRyZWdpc3RyeS1zZWFyY2ggLmZpZWxkc2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS1naWZ0cmVnaXN0cnktc2VhcmNoIC5maWVsZHNldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjlweDsgfVxuICAgIC5mb3JtLWdpZnRyZWdpc3RyeS1zZWFyY2ggLmZpZWxkc2V0ID4gLmZpZWxkcy1zcGVjaWZpYy1vcHRpb25zID4gLmZpZWxkIHtcbiAgICAgIG1hcmdpbjogMCAwIDE5cHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgICAuZm9ybS1naWZ0cmVnaXN0cnktc2VhcmNoIC5maWVsZHNldCA+IC5maWVsZHMtc3BlY2lmaWMtb3B0aW9ucyA+IC5maWVsZCA+IC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNlYXJjaCAuZmllbGRzZXQgPiAuZmllbGRzLXNwZWNpZmljLW9wdGlvbnMgPiAuZmllbGQ6YmVmb3JlLCAuZm9ybS1naWZ0cmVnaXN0cnktc2VhcmNoIC5maWVsZHNldCA+IC5maWVsZHMtc3BlY2lmaWMtb3B0aW9ucyA+IC5maWVsZDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNlYXJjaCAuZmllbGRzZXQgPiAuZmllbGRzLXNwZWNpZmljLW9wdGlvbnMgPiAuZmllbGQ6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNlYXJjaCAuZmllbGRzZXQgPiAuZmllbGRzLXNwZWNpZmljLW9wdGlvbnMgPiAuZmllbGQuY2hvaWNlOmJlZm9yZSwgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNlYXJjaCAuZmllbGRzZXQgPiAuZmllbGRzLXNwZWNpZmljLW9wdGlvbnMgPiAuZmllbGQubm8tbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHggMCAwO1xuICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDFweDsgfVxuICAgICAgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNlYXJjaCAuZmllbGRzZXQgPiAuZmllbGRzLXNwZWNpZmljLW9wdGlvbnMgPiAuZmllbGQgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHggMCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5mb3JtLWdpZnRyZWdpc3RyeS1zZWFyY2ggLmZpZWxkc2V0ID4gLmZpZWxkcy1zcGVjaWZpYy1vcHRpb25zID4gLmZpZWxkOm5vdCguY2hvaWNlKSA+IC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4IDAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuZm9ybS1naWZ0cmVnaXN0cnktc2VhcmNoIC5maWVsZHNldCA+IC5maWVsZHMtc3BlY2lmaWMtb3B0aW9ucyA+IC5maWVsZDpub3QoLmNob2ljZSkgPiAuY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiA2OCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTlweCAwIDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMSU7IH1cbiAgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDk5JTtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7IH1cbiAgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMgLmNvbC5wcm9kdWN0IHtcbiAgICB3aWR0aDogNDglOyB9XG4gIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5jb2w6bm90KC5wcm9kdWN0KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5jb2wucHJpY2Uge1xuICAgIHBhZGRpbmctdG9wOiAxN3B4OyB9XG4gIC5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIC5pbnB1dC10ZXh0LnF0eSB7XG4gICAgbWFyZ2luLXRvcDogLTRweDsgfSB9XG5cbi5naWZ0LXdyYXBwaW5nIC5sYWJlbCB7XG4gIG1hcmdpbjogMCAwIDQuNzVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5naWZ0LXdyYXBwaW5nIC5maWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG5cbi5naWZ0LXdyYXBwaW5nLWluZm8ge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMTlweCAwOyB9XG5cbi5naWZ0LXdyYXBwaW5nLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDE5cHggMCA5LjVweDtcbiAgcGFkZGluZzogMDsgfVxuICAuZ2lmdC13cmFwcGluZy1saXN0IC5uby1pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmdpZnQtd3JhcHBpbmctbGlzdCAubm8taW1hZ2UgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5naWZ0LXdyYXBwaW5nLWxpc3QgLm5vLWltYWdlOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgICAgY29sb3I6ICM0OTQ5NDk7XG4gICAgICBjb250ZW50OiBcIu6YqlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5naWZ0LXdyYXBwaW5nLWxpc3QgLm5vLWltYWdlOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5naWZ0LXdyYXBwaW5nLXByZXZpZXcsXG4uZ2lmdC13cmFwcGluZy1pdGVtID4gc3BhbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4uZ2lmdC13cmFwcGluZy1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCA5LjVweCA5LjVweCAwOyB9XG4gIC5naWZ0LXdyYXBwaW5nLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5naWZ0LXdyYXBwaW5nLWl0ZW0uX2FjdGl2ZSBzcGFuOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzMzMztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjsgfVxuICAuZ2lmdC13cmFwcGluZy1pdGVtID4gc3BhbiB7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHdpZHRoOiA0cmVtOyB9XG5cbi5naWZ0LXdyYXBwaW5nLXRpdGxlIHtcbiAgbWFyZ2luOiA5LjVweCAwOyB9XG4gIC5naWZ0LXdyYXBwaW5nLXRpdGxlIC5hY3Rpb24tcmVtb3ZlIHtcbiAgICBtYXJnaW4tbGVmdDogNC43NXB4OyB9XG5cbi5naWZ0LW9wdGlvbnMtY29udGVudCAuZmllbGRzZXQgPiAuZmllbGQge1xuICBtYXJnaW46IDAgMCA0Ljc1cHg7IH1cbiAgLmdpZnQtb3B0aW9ucy1jb250ZW50IC5maWVsZHNldCA+IC5maWVsZDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdpZnQtd3JhcHBpbmctc3VtbWFyeSAuZ2lmdC13cmFwcGluZy10aXRsZSB7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5vcGMtd3JhcHBlciAuZGF0YS50YWJsZSAuZ2lmdC13cmFwcGluZyxcbi50YWJsZS1vcmRlci1pdGVtcyAuZ2lmdC13cmFwcGluZyxcbi50YWJsZS1vcmRlci1yZXZpZXcgLmdpZnQtd3JhcHBpbmcge1xuICBtYXJnaW46IDE5cHggMDsgfVxuICAub3BjLXdyYXBwZXIgLmRhdGEudGFibGUgLmdpZnQtd3JhcHBpbmcgLnRpdGxlLFxuICAudGFibGUtb3JkZXItaXRlbXMgLmdpZnQtd3JhcHBpbmcgLnRpdGxlLFxuICAudGFibGUtb3JkZXItcmV2aWV3IC5naWZ0LXdyYXBwaW5nIC50aXRsZSB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLm9wYy13cmFwcGVyIC5kYXRhLnRhYmxlIC5naWZ0LXdyYXBwaW5nIC5jb250ZW50LFxuICAudGFibGUtb3JkZXItaXRlbXMgLmdpZnQtd3JhcHBpbmcgLmNvbnRlbnQsXG4gIC50YWJsZS1vcmRlci1yZXZpZXcgLmdpZnQtd3JhcHBpbmcgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5vcGMtd3JhcHBlciAuZGF0YS50YWJsZSAuZ2lmdC13cmFwcGluZyAuY29udGVudCA+IGltZyxcbiAgICAudGFibGUtb3JkZXItaXRlbXMgLmdpZnQtd3JhcHBpbmcgLmNvbnRlbnQgPiBpbWcsXG4gICAgLnRhYmxlLW9yZGVyLXJldmlldyAuZ2lmdC13cmFwcGluZyAuY29udGVudCA+IGltZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCA5LjVweCAwIDA7XG4gICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgICAgbWF4LXdpZHRoOiA1MHB4OyB9XG5cbi5naWZ0LXN1bW1hcnkgLnByaWNlLWJveCxcbi5naWZ0LW9wdGlvbnMgLnByaWNlLWJveCB7XG4gIG1hcmdpbi1sZWZ0OiAyMnB4OyB9XG5cbi5naWZ0LXN1bW1hcnkgLnJlZ3VsYXItcHJpY2U6YmVmb3JlLFxuLmdpZnQtb3B0aW9ucyAucmVndWxhci1wcmljZTpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpIFwiOiBcIjsgfVxuXG4uZ2lmdC1zdW1tYXJ5IC5yZWd1bGFyLXByaWNlIC5wcmljZSxcbi5naWZ0LW9wdGlvbnMgLnJlZ3VsYXItcHJpY2UgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ub3JkZXItb3B0aW9ucyAuaXRlbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxOXB4OyB9XG5cbi5vcmRlci1vcHRpb25zIC5wcm9kdWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cblxuLm9yZGVyLW9wdGlvbnMgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDkuNXB4OyB9XG5cbi5vcmRlci1vcHRpb25zIC5naWZ0LXdyYXBwaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZ2lmdC13cmFwcGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMWMxYzE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOS41cHg7IH1cbiAgLmdpZnQtd3JhcHBpbmctbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdpZnQtd3JhcHBpbmctcHJldmlldyBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pdGVtLWFjdGlvbnMgLmFjdGlvbnMtdG9vbGJhciAuZ2lmdC1vcHRpb25zIC5naWZ0LXdyYXBwaW5nLFxuICAuaXRlbS1hY3Rpb25zIC5hY3Rpb25zLXRvb2xiYXIgLmdpZnQtb3B0aW9ucyAuZ2lmdC1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdpZnQtb3B0aW9ucy1jYXJ0LWl0ZW0gLmdpZnQtd3JhcHBpbmcsXG4gIC5jYXJ0LWdpZnQtaXRlbSAuZ2lmdC13cmFwcGluZyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOXB4O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuZ2lmdC1vcHRpb25zLWNhcnQtaXRlbSAuZ2lmdC13cmFwcGluZyArIC5naWZ0LW1lc3NhZ2UsXG4gICAgLmNhcnQtZ2lmdC1pdGVtIC5naWZ0LXdyYXBwaW5nICsgLmdpZnQtbWVzc2FnZSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjMWMxYzE7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4udGFibGUuZ3JvdXBlZCA+IHRoZWFkID4gdHIgPiB0aCxcbi50YWJsZS5ncm91cGVkID4gdGhlYWQgPiB0ciA+IHRkLFxuLnRhYmxlLmdyb3VwZWQgPiB0Ym9keSA+IHRyID4gdGgsXG4udGFibGUuZ3JvdXBlZCA+IHRib2R5ID4gdHIgPiB0ZCxcbi50YWJsZS5ncm91cGVkID4gdGZvb3QgPiB0ciA+IHRoLFxuLnRhYmxlLmdyb3VwZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTsgfVxuXG4udGFibGUuZ3JvdXBlZCA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4udGFibGUuZ3JvdXBlZCA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4udGFibGUuZ3JvdXBlZCA+IGNvbGdyb3VwICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuLnRhYmxlLmdyb3VwZWQgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi50YWJsZS5ncm91cGVkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuLnRhYmxlLmdyb3VwZWQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQge1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi50YWJsZS5ncm91cGVkID4gdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxOyB9XG5cbi50YWJsZS5ncm91cGVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4udGFibGUuZ3JvdXBlZCAucHJvZHVjdC1pdGVtLW5hbWUge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50YWJsZS5ncm91cGVkIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi50YWJsZS5ncm91cGVkIC5zdG9jay51bmF2YWlsYWJsZSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnRhYmxlLmdyb3VwZWQgLnJvdy10aWVyLXByaWNlIHRkIHtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4udGFibGUuZ3JvdXBlZCAucm93LXRpZXItcHJpY2UgLnByaWNlcy10aWVyIHtcbiAgbWFyZ2luOiAwIC0xMHB4IDEwcHg7IH1cblxuLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24uYWRkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDJweCAwO1xuICB3aWR0aDogYXV0bzsgfVxuICAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmFjdGlvbi5hZGQgPiBzcGFuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuYWN0aW9uLmFkZDpiZWZvcmUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAzMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGNvbnRlbnQ6IFwi7picXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24uYWRkOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmZvcm0tYWRkLWludml0YXRpb25zIC5hY3Rpb24uYWRkOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvcm0tYWRkLWludml0YXRpb25zIC5hZGRpdGlvbmFsLFxuICAuZm9ybS1hZGQtaW52aXRhdGlvbnMgLmZpZWxkLnRleHQge1xuICAgIG1hcmdpbi10b3A6IDE5cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWFkZC1pbnZpdGF0aW9ucyAuYWRkaXRpb25hbCxcbiAgLmZvcm0tYWRkLWludml0YXRpb25zIC5maWVsZC50ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAyOXB4OyB9XG4gIC50YWJsZS1pbnZpdGF0aW9ucyAuY29sIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuLmJsb2NrLmZpbHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDM4cHg7IH1cbiAgLmJsb2NrLmZpbHRlciAuZmlsdGVyLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG4gICAgLmJsb2NrLmZpbHRlciAuZmlsdGVyLXRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cblxuLmJsb2NrLXN1YnRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA5LjVweDsgfVxuXG4uZmlsdGVyLWN1cnJlbnQgLml0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiA5LjVweDsgfVxuXG4uZmlsdGVyLWN1cnJlbnQgLmZpbHRlci1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5maWx0ZXItY3VycmVudCAuZmlsdGVyLWxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnOic7IH1cblxuLmZpbHRlci1jdXJyZW50ICsgLmZpbHRlci1hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMjguNXB4OyB9XG5cbi5maWx0ZXItb3B0aW9ucyB7XG4gIG1hcmdpbjogMDsgfVxuICAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1vcHRpb25zLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbWFyZ2luLXRvcDogMS45cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOXJlbTtcbiAgICBtYXJnaW46IDAgMCA5LjVweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgMCAyMy43NXB4OyB9XG4gICAgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IC5pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDsgfVxuICAuZmlsdGVyLW9wdGlvbnMgLmNvdW50IHtcbiAgICBjb2xvcjogIzdkN2Q3ZDsgfVxuICAgIC5maWx0ZXItb3B0aW9ucyAuY291bnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgIC5maWx0ZXItb3B0aW9ucyAuY291bnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG5cbi5maWx0ZXJlZCAuaXRlbXMge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uZmlsdGVyZWQgLml0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIHBhZGRpbmctbGVmdDogMjJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5maWx0ZXJlZCAuaXRlbSAubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmZpbHRlcmVkIC5pdGVtIC5hY3Rpb24ucmVtb3ZlIHtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IH1cblxuLmZpbHRlcmVkICsgLmFjdGlvbnMge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5wYWdlLXdpdGgtZmlsdGVyIC5jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAucGFnZS13aXRoLWZpbHRlciAuY29sdW1ucyAuc2lkZWJhci1tYWluIHtcbiAgICAgIG9yZGVyOiAtMTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmU4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9IH1cblxuLm1hcC1wb3B1cC13cmFwcGVyLnBvcHVwIC5hY3Rpb24uY2xvc2Uge1xuICB0b3A6IDkuNXB4OyB9XG5cbi5tYXAtcG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBwYWRkaW5nOiAyMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDkuNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAubWFwLXBvcHVwIC5wb3B1cC1oZWFkZXIge1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjJweDsgfVxuICAgIC5tYXAtcG9wdXAgLnBvcHVwLWhlYWRlciAudGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuNDI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45NXJlbTsgfVxuICAubWFwLXBvcHVwIC5wb3B1cC1jb250ZW50IHtcbiAgICBtYXJnaW46IDkuNXB4IDAgMDsgfVxuICAubWFwLXBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHJpZ2h0OiA5LjVweDtcbiAgICB0b3A6IDkuNXB4OyB9XG4gICAgLm1hcC1wb3B1cCAucG9wdXAtYWN0aW9ucyAuYWN0aW9uLmNsb3NlID4gc3BhbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAubWFwLXBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2U6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiBcIu6YllwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tYXAtcG9wdXAgLnBvcHVwLWFjdGlvbnMgLmFjdGlvbi5jbG9zZTpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubWFwLXBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2U6YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5tYXAtcG9wdXAgLnBvcHVwLWFjdGlvbnMgLmFjdGlvbi5jbG9zZTpmb2N1cywgLm1hcC1wb3B1cCAucG9wdXAtYWN0aW9ucyAuYWN0aW9uLmNsb3NlOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLm1hcC1wb3B1cCAucG9wdXAtYWN0aW9ucyAuYWN0aW9uLmNsb3NlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAubWFwLXBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2UuZGlzYWJsZWQsIC5tYXAtcG9wdXAgLnBvcHVwLWFjdGlvbnMgLmFjdGlvbi5jbG9zZVtkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5tYXAtcG9wdXAgLnBvcHVwLWFjdGlvbnMgLmFjdGlvbi5jbG9zZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLm1hcC1wb3B1cC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1hcC1wb3B1cCAubWFwLWluZm8tcHJpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAubWFwLXBvcHVwIC5tYXAtaW5mby1wcmljZSAucHJpY2UtYm94IHtcbiAgICAgIG1hcmdpbjogMCAwIDE5cHg7IH1cbiAgICAgIC5tYXAtcG9wdXAgLm1hcC1pbmZvLXByaWNlIC5wcmljZS1ib3ggLmxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzogJzsgfVxuICAubWFwLXBvcHVwIC5yZWd1bGFyLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWFwLW9sZC1wcmljZTpub3QoOmxhc3QtY2hpbGQpLFxuLnByb2R1Y3QtaW5mby1wcmljZSAubWFwLXNob3ctaW5mbzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiA5LjVweDsgfVxuXG4ubWFwLW9sZC1wcmljZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubWFwLW9sZC1wcmljZSAucHJpY2Utd3JhcHBlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuLm1hcC1mb3JtLWFkZHRvY2FydCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tYXAtZm9ybS1hZGR0b2NhcnQgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG5idXR0b24ubWFwLXNob3ctaW5mbywgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5tYXAtc2hvdy1pbmZvLmFjdGlvbiwgLm1hcC1zaG93LWluZm8uYWN0aW9uLWdpZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgYnV0dG9uLm1hcC1zaG93LWluZm86Zm9jdXMsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb246Zm9jdXMsIC5tYXAtc2hvdy1pbmZvLmFjdGlvbi1naWZ0OmZvY3VzLCBidXR0b24ubWFwLXNob3ctaW5mbzphY3RpdmUsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb246YWN0aXZlLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdDphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIGJ1dHRvbi5tYXAtc2hvdy1pbmZvOmhvdmVyLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLm1hcC1zaG93LWluZm8uYWN0aW9uOmhvdmVyLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgYnV0dG9uLm1hcC1zaG93LWluZm8uZGlzYWJsZWQsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5kaXNhYmxlZC5hY3Rpb24sIC5tYXAtc2hvdy1pbmZvLmRpc2FibGVkLmFjdGlvbi1naWZ0LCBidXR0b24ubWFwLXNob3ctaW5mb1tkaXNhYmxlZF0sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb25bZGlzYWJsZWRdLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdFtkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBidXR0b24ubWFwLXNob3ctaW5mbyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb24sXG4gIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciBmaWVsZHNldFtkaXNhYmxlZF0gLm1hcC1zaG93LWluZm8uYWN0aW9uLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1hcC1zaG93LWluZm8uYWN0aW9uLWdpZnQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIGJ1dHRvbi5tYXAtc2hvdy1pbmZvOnZpc2l0ZWQsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb246dmlzaXRlZCwgLm1hcC1zaG93LWluZm8uYWN0aW9uLWdpZnQ6dmlzaXRlZCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGJ1dHRvbi5tYXAtc2hvdy1pbmZvOmhvdmVyLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLm1hcC1zaG93LWluZm8uYWN0aW9uOmhvdmVyLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdDpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGJ1dHRvbi5tYXAtc2hvdy1pbmZvOmFjdGl2ZSwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5tYXAtc2hvdy1pbmZvLmFjdGlvbjphY3RpdmUsIC5tYXAtc2hvdy1pbmZvLmFjdGlvbi1naWZ0OmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZjU1MDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGJ1dHRvbi5tYXAtc2hvdy1pbmZvOmhvdmVyLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLm1hcC1zaG93LWluZm8uYWN0aW9uOmhvdmVyLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdDpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7IH1cbiAgYnV0dG9uLm1hcC1zaG93LWluZm86aG92ZXIsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb246aG92ZXIsIC5tYXAtc2hvdy1pbmZvLmFjdGlvbi1naWZ0OmhvdmVyLCBidXR0b24ubWFwLXNob3ctaW5mbzphY3RpdmUsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb246YWN0aXZlLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdDphY3RpdmUsIGJ1dHRvbi5tYXAtc2hvdy1pbmZvOmZvY3VzLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLm1hcC1zaG93LWluZm8uYWN0aW9uOmZvY3VzLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7IH1cbiAgYnV0dG9uLm1hcC1zaG93LWluZm8uZGlzYWJsZWQsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5kaXNhYmxlZC5hY3Rpb24sIC5tYXAtc2hvdy1pbmZvLmRpc2FibGVkLmFjdGlvbi1naWZ0LCBidXR0b24ubWFwLXNob3ctaW5mb1tkaXNhYmxlZF0sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb25bZGlzYWJsZWRdLCAubWFwLXNob3ctaW5mby5hY3Rpb24tZ2lmdFtkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBidXR0b24ubWFwLXNob3ctaW5mbyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAubWFwLXNob3ctaW5mby5hY3Rpb24sXG4gIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciBmaWVsZHNldFtkaXNhYmxlZF0gLm1hcC1zaG93LWluZm8uYWN0aW9uLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1hcC1zaG93LWluZm8uYWN0aW9uLWdpZnQge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubWFwLXBvcHVwIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1hcC1vbGQtcHJpY2UsXG4gIC5tYXAtc2hvdy1pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubWFwLW9sZC1wcmljZTpub3QoOmxhc3QtY2hpbGQpLFxuICAgIC5tYXAtc2hvdy1pbmZvOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH0gfVxuXG4ud2lzaGxpc3Quc3BsaXQuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbjpiZWZvcmUsIC53aXNobGlzdC5zcGxpdC5idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC53aXNobGlzdC5zcGxpdC5idXR0b246YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi5zcGxpdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiBidXR0b24uYWN0aW9uLnNwbGl0LCAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uLnNwbGl0LCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnNwbGl0LCAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24uc3BsaXQuYWN0aW9uLWdpZnQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gIC53aXNobGlzdC5zcGxpdC5idXR0b24gYnV0dG9uICsgLmFjdGlvbi50b2dnbGUsIC53aXNobGlzdC5zcGxpdC5idXR0b24gLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24gKyAuYWN0aW9uLnRvZ2dsZSwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbiArIC5hY3Rpb24udG9nZ2xlLCAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24tZ2lmdCArIC5hY3Rpb24udG9nZ2xlIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cbiAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnRvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGUgPiBzcGFuIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGU6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnRvZ2dsZTpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2E1NGY2YzsgfVxuICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGU6YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnRvZ2dsZS5hY3RpdmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24udG9nZ2xlLmFjdGl2ZSA+IHNwYW4ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDsgfVxuICAgICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIGNvbnRlbnQ6IFwi7pihXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2E1NGY2YzsgfVxuICAgICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuaXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLml0ZW1zIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDIzcHg7IH1cbiAgICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLml0ZW1zIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuaXRlbXM6YmVmb3JlLCAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5pdGVtczphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDsgfVxuICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLml0ZW1zOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDk5OyB9XG4gICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuaXRlbXM6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiA3cHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNiYmIgdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiA5ODsgfVxuICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLml0ZW1zOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgdG9wOiAtMTJweDsgfVxuICAgIC53aXNobGlzdC5zcGxpdC5idXR0b24gLml0ZW1zOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDlweDtcbiAgICAgIHRvcDogLTE0cHg7IH1cbiAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbi5hY3RpdmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbi5hY3RpdmUgLml0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC53aXNobGlzdC5zcGxpdC5idXR0b24gLml0ZW1zIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuaXRlbXMgLml0ZW06bGFzdC1jaGlsZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4OyB9XG4gIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uLnNwbGl0OmJlZm9yZSxcbiAgLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24uc3BsaXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6khFwiOyB9XG4gIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmFjdGl2ZSwgLnRhYmxlLWNvbXBhcmlzb24gLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb246Zm9jdXMsIC50YWJsZS1jb21wYXJpc29uIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmhvdmVyLFxuICAucHJvZHVjdC1pdGVtcyAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbjphY3RpdmUsXG4gIC5wcm9kdWN0LWl0ZW1zIC53aXNobGlzdC5zcGxpdC5idXR0b24gPiAuYWN0aW9uOmZvY3VzLFxuICAucHJvZHVjdC1pdGVtcyAud2lzaGxpc3Quc3BsaXQuYnV0dG9uID4gLmFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7IH1cbiAgLnRhYmxlLWNvbXBhcmlzb24gLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24udG9nZ2xlOmJlZm9yZSxcbiAgLnByb2R1Y3QtaXRlbXMgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24udG9nZ2xlOmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBncmF5O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi5zcGxpdCwgLnByb2R1Y3QtaW5mby1tYWluIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGUsXG4gIC5ibG9jay1idW5kbGUtc3VtbWFyeSAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24uc3BsaXQsXG4gIC5ibG9jay1idW5kbGUtc3VtbWFyeSAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24udG9nZ2xlLFxuICAucHJvZHVjdC1hZGQtZm9ybSAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIC5hY3Rpb24uc3BsaXQsXG4gIC5wcm9kdWN0LWFkZC1mb3JtIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZzogNC43NXB4IDhweDtcbiAgICBmb250LXNpemU6IDEuMXJlbTsgfVxuICAucHJvZHVjdC1pbmZvLW1haW4gLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiAuYWN0aW9uLnRvZ2dsZSxcbiAgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGUsXG4gIC5wcm9kdWN0LWFkZC1mb3JtIC53aXNobGlzdC5zcGxpdC5idXR0b24gLmFjdGlvbi50b2dnbGUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNhcnQudGFibGUtd3JhcHBlciAud2lzaGxpc3Quc3BsaXQuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5LjVweDsgfVxuICAgIC5jYXJ0LnRhYmxlLXdyYXBwZXIgLndpc2hsaXN0LnNwbGl0LmJ1dHRvbiA+IC5hY3Rpb24udG9nZ2xlIHtcbiAgICAgIHBhZGRpbmc6IDRweCA0Ljc1cHg7IH1cblxuLndpc2hsaXN0LndpbmRvdy5wb3B1cCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gIHBhZGRpbmc6IDIycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhcjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAucG9wdXAtaGVhZGVyIHtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIycHg7IH1cbiAgICAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5wb3B1cC1oZWFkZXIgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjQyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTVyZW07IH1cbiAgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAucG9wdXAtYWN0aW9ucyAuYWN0aW9uLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICByaWdodDogOS41cHg7XG4gICAgdG9wOiA5LjVweDsgfVxuICAgIC53aXNobGlzdC53aW5kb3cucG9wdXAgLnBvcHVwLWFjdGlvbnMgLmFjdGlvbi5jbG9zZSA+IHNwYW4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAucG9wdXAtYWN0aW9ucyAuYWN0aW9uLmNsb3NlOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY29udGVudDogXCLumJZcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2U6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAucG9wdXAtYWN0aW9ucyAuYWN0aW9uLmNsb3NlOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2U6Zm9jdXMsIC53aXNobGlzdC53aW5kb3cucG9wdXAgLnBvcHVwLWFjdGlvbnMgLmFjdGlvbi5jbG9zZTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC53aXNobGlzdC53aW5kb3cucG9wdXAgLnBvcHVwLWFjdGlvbnMgLmFjdGlvbi5jbG9zZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAucG9wdXAtYWN0aW9ucyAuYWN0aW9uLmNsb3NlLmRpc2FibGVkLCAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2VbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5wb3B1cC1hY3Rpb25zIC5hY3Rpb24uY2xvc2Uge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC53aXNobGlzdC53aW5kb3cucG9wdXAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC53aXNobGlzdC53aW5kb3cucG9wdXAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud2lzaGxpc3Qub3ZlcmxheSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuICAud2lzaGxpc3Qub3ZlcmxheS5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApOyB9XG4gIC53aXNobGlzdC5vdmVybGF5LmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdCAud2lzaGxpc3QtbmFtZS1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3QtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG4gICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA5LjVweDsgfVxuICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtbm90aWNlIHtcbiAgICBjb2xvcjogIzdkN2Q3ZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOXB4OyB9XG4gIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC10b29sYmFyLXNlbGVjdCwgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXRvb2xiYXItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC10b29sYmFyLXNlbGVjdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOXB4OyB9XG4gIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1kcm9wZG93bi5tb3ZlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE5cHg7IH1cblxuLmJsb2NrLXdpc2hsaXN0LXNlYXJjaC1mb3JtIC5mb3JtLXdpc2hsaXN0LXNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDU3cHg7XG4gIG1heC13aWR0aDogNTAwcHg7IH1cblxuLmJsb2NrLXdpc2hsaXN0LXNlYXJjaC1yZXN1bHRzIC50b29sYmFyLXdpc2hsaXN0LXJlc3VsdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmJsb2NrLXdpc2hsaXN0LWluZm8taXRlbXMgLmJsb2NrLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgZm9udC1zaXplOiAyLjJyZW07IH1cbiAgLmJsb2NrLXdpc2hsaXN0LWluZm8taXRlbXMgLmJsb2NrLXRpdGxlID4gc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5ibG9jay13aXNobGlzdC1pbmZvLWl0ZW1zIC5wcm9kdWN0LWl0ZW0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYmxvY2std2lzaGxpc3QtaW5mby1pdGVtcyAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgbWFyZ2luLWxlZnQ6IDE5cHg7IH1cblxuLmJsb2NrLXdpc2hsaXN0LWluZm8taXRlbXMgLnByb2R1Y3QtaXRlbS1pbmZvIHtcbiAgd2lkdGg6IGF1dG87IH1cbiAgLmJsb2NrLXdpc2hsaXN0LWluZm8taXRlbXMgLnByb2R1Y3QtaXRlbS1pbmZvOmhvdmVyIC5zcGxpdCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uYmxvY2std2lzaGxpc3QtaW5mby1pdGVtcyAucHJpY2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCA5LjVweDsgfVxuXG4uYmxvY2std2lzaGxpc3QtaW5mby1pdGVtcyAuc3BsaXQge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogOS41cHggMDsgfVxuXG4uYmxvY2std2lzaGxpc3QtaW5mby1pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3Qge1xuICBwYWRkaW5nOiA5LjVweCAwOyB9XG5cbi5ibG9jay13aXNobGlzdC1pbmZvLWl0ZW1zIC5pbnB1dC10ZXh0LnF0eSB7XG4gIG1hcmdpbi1yaWdodDogOS41cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogLTIxcHg7IH1cbiAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMCAtMTVweCAyMHB4OyB9XG4gICAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0LWl0ZW1zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgICAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0LWl0ZW1zLmFjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdC1pdGVtcyAuaXRlbSB7XG4gICAgICAgICAgbWFyZ2luOiAzcHggMCAwOyB9XG4gICAgICAgICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdC1pdGVtcyAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdC1pdGVtcyAuaXRlbS5jdXJyZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0LWl0ZW1zIC5pdGVtIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA0Ljc1cHggMThweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAgICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdC1pdGVtcyAuaXRlbSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlODsgfVxuICAgIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC10aXRsZSBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiAyLjZyZW07IH1cbiAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3QtaW5mbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXRvb2xiYXItc2VsZWN0LCAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3QtdG9vbGJhci1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1jaGVja2JveCB7XG4gICAgbGVmdDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4OyB9XG4gIC5wYWdlLW11bHRpcGxlLXdpc2hsaXN0IC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICAgIG1hcmdpbi1sZWZ0OiAyMy43NXB4OyB9XG4gIC5wYWdlLW11bHRpcGxlLXdpc2hsaXN0IC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tbmFtZSwgLnBhZ2UtbXVsdGlwbGUtd2lzaGxpc3QgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1kZXNjcmlwdGlvbiwgLnBhZ2UtbXVsdGlwbGUtd2lzaGxpc3RcbiAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAucHJpY2UtYm94LCAucGFnZS1tdWx0aXBsZS13aXNobGlzdCAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtLXRvb2x0aXAge1xuICAgIG1hcmdpbi1sZWZ0OiAxMTVweDsgfVxuICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAud2lzaGxpc3QtZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC53aXNobGlzdC53aW5kb3cucG9wdXAge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDIwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMTJweDtcbiAgICB3aWR0aDogMzgwcHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgICAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5maWVsZCB7XG4gICAgICBtYXJnaW46IDAgMCAxOXB4OyB9XG4gICAgICAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5maWVsZDpub3QoLmNob2ljZSkgPiAubGFiZWwge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAud2lzaGxpc3Qud2luZG93LnBvcHVwIC5maWVsZDpub3QoLmNob2ljZSkgPiAuY29udHJvbCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAuZmllbGQgPiAubGFiZWwge1xuICAgICAgICBtYXJnaW46IDAgMCA0Ljc1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAuZmllbGQuY2hvaWNlOmJlZm9yZSwgLndpc2hsaXN0LndpbmRvdy5wb3B1cCAuZmllbGQubm8tbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuICAgIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC1zZWxlY3Qge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTg7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdCAud2lzaGxpc3QtbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOS41cHg7XG4gICAgICAgIHBhZGRpbmc6IDQuNzVweCA5LjVweCA5LjVweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd2lkdGg6IDUlOyB9XG4gICAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0LWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTYwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdC1pdGVtcyAuaXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOS41cHg7XG4gICAgICAgICAgcGFkZGluZzogNC43NXB4IDkuNXB4IDkuNXB4OyB9XG4gICAgICAgICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXNlbGVjdC1pdGVtcyAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0LWl0ZW1zIC5jdXJyZW50IHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmNTUwMTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3Qtc2VsZWN0IC53aXNobGlzdC1uYW1lLWN1cnJlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LWFkZC5pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwOyB9XG4gICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQgLndpc2hsaXN0LXRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDRyZW07IH1cbiAgICAuYmxvY2std2lzaGxpc3QtbWFuYWdlbWVudCAud2lzaGxpc3QtaW5mbyB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5ibG9jay13aXNobGlzdC1tYW5hZ2VtZW50IC53aXNobGlzdC10b29sYmFyIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAuYmxvY2std2lzaGxpc3QtaW5mby1pdGVtcyAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtLWNoZWNrYm94IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tY2hlY2tib3ggKyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIzLjc1cHg7IH0gfVxuXG4ubXVsdGljaGVja291dCAudGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyOC41cHg7IH1cbiAgLm11bHRpY2hlY2tvdXQgLnRpdGxlIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ubXVsdGljaGVja291dCAudGFibGUtd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm11bHRpY2hlY2tvdXQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbi5kZWxldGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubXVsdGljaGVja291dCAudGFibGUtd3JhcHBlciAuY29sIC5xdHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubXVsdGljaGVja291dCAudGFibGUtd3JhcHBlciAuY29sLml0ZW0gLmFjdGlvbi5lZGl0IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1sZWZ0OiA5LjVweDsgfVxuXG4ubXVsdGljaGVja291dDpub3QoLmFkZHJlc3MpIC50YWJsZS13cmFwcGVyIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubXVsdGljaGVja291dCA+IC5hY3Rpb25zLXRvb2xiYXIge1xuICBtYXJnaW4tdG9wOiAzOHB4OyB9XG5cbi5tdWx0aWNoZWNrb3V0IC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm11bHRpY2hlY2tvdXQgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkgLmFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjMuNzVweDsgfVxuICAgIC5tdWx0aWNoZWNrb3V0IC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYmFjayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5tdWx0aWNoZWNrb3V0IC5hY3Rpb25zLXRvb2xiYXIgPiAucHJpbWFyeSB7XG4gIG1hcmdpbi1yaWdodDogOS41cHg7IH1cblxuLm11bHRpY2hlY2tvdXQgLml0ZW0tb3B0aW9ucyB7XG4gIG1hcmdpbjogOS41cHggMCAwOyB9XG5cbi5tdWx0aWNoZWNrb3V0IC5ibG9jayAubWV0aG9kcy1zaGlwcGluZyAuaXRlbS1jb250ZW50IC5maWVsZHNldCA+IC5maWVsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tdWx0aWNoZWNrb3V0IC5ibG9jayAubWV0aG9kcy1zaGlwcGluZyAuaXRlbS1jb250ZW50IC5maWVsZHNldCA+IC5maWVsZCAuY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubXVsdGljaGVja291dCAuYmxvY2stdGl0bGUsXG4ubXVsdGljaGVja291dCAuYmxvY2stY29udGVudCAudGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTtcbiAgcGFkZGluZy1ib3R0b206IDkuNXB4OyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5ibG9jay10aXRsZSBzdHJvbmcsXG4gIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1jb250ZW50IC50aXRsZSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAubXVsdGljaGVja291dCAuYmxvY2stdGl0bGUgc3Ryb25nIHNwYW4sXG4gICAgLm11bHRpY2hlY2tvdXQgLmJsb2NrLWNvbnRlbnQgLnRpdGxlIHN0cm9uZyBzcGFuIHtcbiAgICAgIGNvbG9yOiAjYTZhNmE2OyB9XG5cbi5tdWx0aWNoZWNrb3V0IC5ibG9jay1jb250ZW50IC50aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5tdWx0aWNoZWNrb3V0Lm9yZGVyLXJldmlldyAuYmxvY2stdGl0bGUgPiBzdHJvbmcge1xuICBmb250LXNpemU6IDIuNHJlbTsgfVxuXG4ubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmJsb2NrLXNoaXBwaW5nIC5ibG9jay1jb250ZW50Om5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAzOHB4OyB9XG5cbi5tdWx0aWNoZWNrb3V0IC5ib3gtdGl0bGUgc3BhbiB7XG4gIG1hcmdpbi1yaWdodDogOS41cHg7IH1cblxuLm11bHRpY2hlY2tvdXQgLmJveC10aXRsZSA+IC5hY3Rpb24ge1xuICBtYXJnaW46IDA7IH1cblxuLm11bHRpY2hlY2tvdXQgLmJveC1zaGlwcGluZy1tZXRob2QgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubXVsdGljaGVja291dCAuYm94LWJpbGxpbmctbWV0aG9kIC5maWVsZHNldCB7XG4gIG1hcmdpbjogMDsgfVxuICAubXVsdGljaGVja291dCAuYm94LWJpbGxpbmctbWV0aG9kIC5maWVsZHNldCAubGVnZW5kLmJveC10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgNC43NXB4OyB9XG5cbi5tdWx0aWNoZWNrb3V0IC5jaGVja291dC1yZXZpZXcgLmdyYW5kLnRvdGFscyB7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAzOHB4OyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5jaGVja291dC1yZXZpZXcgLmdyYW5kLnRvdGFscyAubWFyayB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5bY2xhc3NePSdtdWx0aXNoaXBwaW5nLSddIC5sb2dvIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm11bHRpc2hpcHBpbmctY2hlY2tvdXQtc3VjY2VzcyAubmF2LXNlY3Rpb25zIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAubXVsdGljaGVja291dCAuZGF0YS50YWJsZSAuYWRkcmVzczpiZWZvcmUge1xuICAgIG1hcmdpbi1ib3R0b206IDQuNzVweDsgfVxuICAubXVsdGljaGVja291dCAucHJvZHVjdC1pdGVtLW5hbWUsXG4gIC5tdWx0aWNoZWNrb3V0IC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAubXVsdGljaGVja291dCAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1jb250ZW50IC5ib3g6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzhweDsgfVxuICAubXVsdGljaGVja291dCAuYmxvY2stY29udGVudCAuYm94Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm11bHRpY2hlY2tvdXQub3JkZXItcmV2aWV3IC5ib3gtaXRlbXMgLmRhdGEudGFibGUgdGhlYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm11bHRpY2hlY2tvdXQub3JkZXItcmV2aWV3IC5ib3gtaXRlbXMgLmRhdGEudGFibGUgdGhlYWQgdHIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmJveC1pdGVtcyAuZGF0YS50YWJsZSB0aGVhZCAuY29sLml0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjMuNzVweDsgfVxuICAubXVsdGljaGVja291dCAuYWN0aW9ucy10b29sYmFyID4gLnByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDIzLjc1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubXVsdGljaGVja291dCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubXVsdGljaGVja291dCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgLmFjdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogOS41cHg7IH1cbiAgICAgIC5tdWx0aWNoZWNrb3V0IC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uLmJhY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm11bHRpY2hlY2tvdXQgLml0ZW0tb3B0aW9ucyB7XG4gICAgbWFyZ2luOiAxOXB4IDAgMDsgfVxuICAubXVsdGljaGVja291dCAuYmxvY2stY29udGVudCAuYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1zaGlwcGluZyAuYm94IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1zaGlwcGluZyAuYm94LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMy43NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIzLjc1cHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1zaGlwcGluZyAuYm94LXNoaXBwaW5nLW1ldGhvZCAuZmllbGRzZXQgLmZpZWxkOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1iaWxsaW5nIC5ib3gtYmlsbGluZy1hZGRyZXNzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5ibG9jay1iaWxsaW5nIC5ib3gtYmlsbGluZy1tZXRob2Qge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMjMuNzVweDtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tdWx0aWNoZWNrb3V0LmZvcm0uYWRkcmVzcyAudGFibGUtd3JhcHBlciAuYXBwbGljYWJsZSB7XG4gICAgbWFyZ2luOiA3cHggMCAwOyB9XG4gIC5tdWx0aWNoZWNrb3V0Lm9yZGVyLXJldmlldyAuYm94LWl0ZW1zIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMzhweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAubXVsdGljaGVja291dC5vcmRlci1yZXZpZXcgLmNvbC5pdGVtIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5tZXRob2RzLXBheW1lbnQgLml0ZW0tY29udGVudCA+IC5maWVsZHNldCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAubXVsdGljaGVja291dCAubWV0aG9kcy1wYXltZW50IC5pdGVtLWNvbnRlbnQgPiAuZmllbGRzZXQgLmZpZWxkLmN2diB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAubXVsdGljaGVja291dCAubWV0aG9kcy1wYXltZW50IC5maWVsZHNldCA+IC5maWVsZDpub3QoLmNob2ljZSkgPiAubGFiZWwge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5tdWx0aWNoZWNrb3V0IC5tZXRob2RzLXBheW1lbnQgLmZpZWxkc2V0ID4gLmZpZWxkOm5vdCguY2hvaWNlKTpub3QoLmN2dikgLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubXVsdGlzaGlwcGluZy1jaGVja291dC1zdWNjZXNzIC5uYXYtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubXVsdGlzaGlwcGluZy1jaGVja291dC1zdWNjZXNzIC5sb2dvIHtcbiAgICBtYXJnaW4tbGVmdDogMzhweDsgfSB9XG5cbi5ibG9jay5uZXdzbGV0dGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDsgfVxuICAuYmxvY2submV3c2xldHRlciAuZm9ybS5zdWJzY3JpYmUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ibG9jay5uZXdzbGV0dGVyIC5maWVsZHNldCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5ibG9jay5uZXdzbGV0dGVyIC5maWVsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmJsb2NrLm5ld3NsZXR0ZXIgLmZpZWxkIC5jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYmxvY2submV3c2xldHRlciAuZmllbGQgLmNvbnRyb2w6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgIGNvbG9yOiAjYzJjMmMyO1xuICAgICAgICBjb250ZW50OiBcIu6kh1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuYmxvY2submV3c2xldHRlciAuZmllbGQgLmNvbnRyb2w6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5ibG9jay5uZXdzbGV0dGVyIGlucHV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cbiAgLmJsb2NrLm5ld3NsZXR0ZXIgLnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibG9jay5uZXdzbGV0dGVyIC5hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDElOyB9XG4gIC5ibG9jay5uZXdzbGV0dGVyIC5hY3Rpb24uc3Vic2NyaWJlIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYmxvY2submV3c2xldHRlciB7XG4gICAgd2lkdGg6IDMyJTsgfVxuICAgIC5ibG9jay5uZXdzbGV0dGVyIC5maWVsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLmJsb2NrLm5ld3NsZXR0ZXIgLmZpZWxkIC5jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYmxvY2submV3c2xldHRlciAuYWN0aW9uLnN1YnNjcmliZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0gfVxuXG4ucGF5cGFsLmFmdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiLSBcIiBhdHRyKGRhdGEtbGFiZWwpIFwiIC1cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNC43NXB4IDQuNzVweCA5LjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGF5cGFsLmJlZm9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIi0gXCIgYXR0cihkYXRhLWxhYmVsKSBcIiAtXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDkuNXB4IDQuNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYXlwYWwuYWNjZXB0YW5jZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG4gIC5wYXlwYWwuYWNjZXB0YW5jZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYm94LXRvY2FydCAucGF5cGFsIGltZyxcbi5ibG9jay1taW5pY2FydCAucGF5cGFsIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ucGF5cGFsLXJldmlldyAucGF5cGEtcmV2aWV3LXRpdGxlID4gc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbi10b3A6IDEuNDI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjk1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBheXBhbC1yZXZpZXcgLml0ZW1zLXF0eSAuaXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnBheXBhbC1yZXZpZXcgLml0ZW1zLXF0eSAudGl0bGU6YWZ0ZXIge1xuICBjb250ZW50OiAnOiAnOyB9XG5cbi5wYXlwYWwtcmV2aWV3IC5wYXlwYWwtcmV2aWV3LXRpdGxlID4gc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbi10b3A6IDEuNDI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjk1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBheXBhbC1yZXZpZXcgLmFjdGlvbnMtdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDkuNXB4OyB9XG5cbi5wYXlwYWwtcmV2aWV3IC5pdGVtLW9wdGlvbnMgZHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBheXBhbC1yZXZpZXcgLml0ZW0tb3B0aW9ucyBkdDphZnRlciB7XG4gICAgY29udGVudDogJzogJzsgfVxuXG4ucGF5cGFsLXJldmlldyAuaXRlbS1vcHRpb25zIGRkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gIG1hcmdpbjogMTlweCAwOyB9XG4gIC5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IC5ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IC5ibG9jayAuZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogOS41cHggMCAxOXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBheXBhbC1yZXZpZXcgLnBheXBhbC1yZXZpZXctdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxOyB9XG4gIC5wYXlwYWwtcmV2aWV3IC5ibG9jay1jb250ZW50IC5ib3gtb3JkZXItc2hpcHBpbmctYWRkcmVzcyxcbiAgLnBheXBhbC1yZXZpZXcgLmJsb2NrLWNvbnRlbnQgLmJveC1vcmRlci1zaGlwcGluZy1tZXRob2QsXG4gIC5wYXlwYWwtcmV2aWV3IC5ibG9jay1jb250ZW50IC5ib3gtb3JkZXItc2hpcHBpbmctbWV0aG9kICsgLmJveC1vcmRlci1iaWxsaW5nLWFkZHJlc3Mge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzJTsgfVxuICAucGF5cGFsLXJldmlldyAuYmxvY2stY29udGVudCAuYm94LW9yZGVyLXNoaXBwaW5nLWFkZHJlc3Mge1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgd2lkdGg6IDM0JTsgfVxuICAucGF5cGFsLXJldmlldyAuY29sLnN1YnRvdGFsLFxuICAucGF5cGFsLXJldmlldyAubWFyayxcbiAgLnBheXBhbC1yZXZpZXcgLmFtb3VudCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uZm90b3JhbWEtdmlkZW8tY29udGFpbmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL01hZ2VudG9fUHJvZHVjdFZpZGVvL2ltZy9nYWxsZXJ5LXNwcml0ZS5wbmcpIGJvdHRvbSByaWdodDtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEycHg7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZm90b3JhbWEtdmlkZW8tY29udGFpbmVyIC5tYWduaWZ5LWxlbnMge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hLXZpZGVvLWNvbnRhaW5lci52aWRlby11bnBsYXllZDpob3ZlciBpbWcge1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLmZvdG9yYW1hLXZpZGVvLWNvbnRhaW5lci52aWRlby11bnBsYXllZDpob3ZlcjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7IH1cblxuLnZpZGVvLXRodW1iLWljb246YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vTWFnZW50b19Qcm9kdWN0VmlkZW8vaW1nL2dhbGxlcnktc3ByaXRlLnBuZykgYm90dG9tIGxlZnQ7XG4gIGJvdHRvbTogMDtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogNDBweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEwcHg7XG4gIHdpZHRoOiA0OXB4OyB9XG5cbi5wcm9kdWN0LXZpZGVvIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDc1JTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0LXZpZGVvIGlmcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG5cbi5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0OmZvY3VzIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLmZvdG9yYW1hX19hY3RpdmU6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTJweDtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5mb3RvcmFtYV9fcHJvZHVjdC12aWRlby0tbG9hZGluZzphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3ODBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5wcm9kdWN0LXZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDgxJTsgfSB9XG5cbi5yYXRpbmctc3VtbWFyeSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnJhdGluZy1zdW1tYXJ5IC5yYXRpbmctcmVzdWx0IHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLnJhdGluZy1zdW1tYXJ5IC5yYXRpbmctcmVzdWx0OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICBjb2xvcjogI2M3YzdjNztcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBjb250ZW50OiBcIu6Yhe6Yhe6Yhe6Yhe6YhVwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgc3BlYWs6IG5vbmU7IH1cbiAgICAucmF0aW5nLXN1bW1hcnkgLnJhdGluZy1yZXN1bHQgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLnJhdGluZy1zdW1tYXJ5IC5yYXRpbmctcmVzdWx0ID4gc3BhbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICBjb2xvcjogI2ZmNTUwMTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBjb250ZW50OiBcIu6Yhe6Yhe6Yhe6Yhe6YhVwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBzcGVhazogbm9uZTsgfVxuICAgICAgLnJhdGluZy1zdW1tYXJ5IC5yYXRpbmctcmVzdWx0ID4gc3BhbiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgLnJhdGluZy1zdW1tYXJ5IC5yYXRpbmctcmVzdWx0IHtcbiAgICBtYXJnaW4tbGVmdDogLTVweDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkgLnJhdGluZy1zdW1tYXJ5IC5sYWJlbCxcbi50YWJsZS1yZXZpZXdzIC5yYXRpbmctc3VtbWFyeSAubGFiZWwge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGU6YmVmb3JlIHtcbiAgICBjb2xvcjogI2M3YzdjNztcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMTBweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBzcGVhazogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGNvbnRlbnQ6IFwi7piF7piF7piF7piF7piFXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6YmVmb3JlLCAucmV2aWV3LWNvbnRyb2wtdm90ZSBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWwgc3BhbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU1MDE7XG4gICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5yZXZpZXctY29udHJvbC12b3RlIGxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWw6aG92ZXIgfiBsYWJlbDpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTUge1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7piF7piF7piF7piF7piFXCI7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy00IHtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy00OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6Yhe6Yhe6Yhe6YhVwiOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMyB7XG4gICAgei1pbmRleDogNDsgfVxuICAgIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLumIXumIXumIVcIjsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTIge1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7piF7piFXCI7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0xIHtcbiAgICB6LWluZGV4OiA2OyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0xOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6YhVwiOyB9XG5cbi5ibG9jay5hZGQucmV2aWV3IHtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDsgfVxuICAuYmxvY2suYWRkLnJldmlldyA+IC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIG1hcmdpbi10b3A6IDIuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOXJlbTsgfVxuICAuYmxvY2suYWRkLnJldmlldyAubGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbWFyZ2luLXRvcDogMS40MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45NXJlbTtcbiAgICBtYXJnaW46IDAgMCAxOXB4OyB9XG4gIC5ibG9jay5hZGQucmV2aWV3IC5maWVsZC5yYXRpbmcge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAgIC5ibG9jay5hZGQucmV2aWV3IC5maWVsZC5yYXRpbmcgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nOiA0Ljc1cHggMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuYmxvY2suYWRkLnJldmlldyAuZmllbGQucmF0aW5nIC5jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5ibG9jay5yZXZpZXdzLmxpc3QgPiAudGl0bGUge1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbWFyZ2luLXRvcDogMi4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuOXJlbTsgfVxuXG4uYmxvY2sucmV2aWV3cy5saXN0IC5yZXZpZXcuaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDM4cHg7IH1cblxuLmJsb2NrLnJldmlld3MubGlzdCAucmV2aWV3LnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbi10b3A6IDEuNDI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjk1cmVtOyB9XG5cbi5kYXRhLnRhYmxlLnJldmlld3MgLnJhdGluZy1zdW1tYXJ5IHtcbiAgbWFyZ2luLXRvcDogLTRweDsgfVxuXG4uY3VzdG9tZXItcmV2aWV3LnZpZXcge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG4gIC5jdXN0b21lci1yZXZpZXcudmlldyAucmV2aWV3LnRpdGxlLFxuICAuY3VzdG9tZXItcmV2aWV3LnZpZXcgLnJhdGluZ3Mtc3VtbWFyeSxcbiAgLmN1c3RvbWVyLXJldmlldy52aWV3IC5wcm9kdWN0LWRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbjogOS41cHggMCAxMnB4OyB9XG4gIC5wcm9kdWN0cy53cmFwcGVyLmxpc3QgLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IHtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkuZW1wdHkge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSAucmF0aW5nLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbGVmdDogLTQuNzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSAucmV2aWV3cy1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkgLnJldmlld3MtYWN0aW9ucyBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNC43NXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb2R1Y3RzLndyYXBwZXIubGlzdCAucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi5jdXN0b21lci1yZXZpZXcgLnByb2R1Y3QtZGV0YWlscyB7XG4gIG1hcmdpbi1ib3R0b206IDM4cHg7IH1cblxuLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1tZWRpYSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDMlO1xuICBtYXgtd2lkdGg6IDI4NXB4O1xuICB3aWR0aDogMzAlOyB9XG5cbi5jdXN0b21lci1yZXZpZXcgLnJldmlldy1kZXRhaWxzIC5jdXN0b21lci1yZXZpZXctcmF0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuICAuY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctZGV0YWlscyAuY3VzdG9tZXItcmV2aWV3LXJhdGluZyAuaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cbiAgICAuY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctZGV0YWlscyAuY3VzdG9tZXItcmV2aWV3LXJhdGluZyAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmN1c3RvbWVyLXJldmlldyAucmV2aWV3LWRldGFpbHMgLnJldmlldy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBtYXJnaW4tdG9wOiAxLjQyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuXG4uY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctZGV0YWlscyAucmV2aWV3LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG5cbi5jdXN0b21lci1yZXZpZXcgLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IC5yYXRpbmctc3VtbWFyeSxcbi5jdXN0b21lci1yZXZpZXcgLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IC5yZXZpZXdzLWFjdGlvbnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmV2aWV3LWZpZWxkLXJhdGluZ3MgLm5lc3RlZCB7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5yZXZpZXctZmllbGQtcmF0aW5ncyAucmV2aWV3LWZpZWxkLXJhdGluZyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAucmV2aWV3LWZpZWxkLXJhdGluZ3MgLnJldmlldy1maWVsZC1yYXRpbmcgLmxhYmVsLFxuICAucmV2aWV3LWZpZWxkLXJhdGluZ3MgLnJldmlldy1maWVsZC1yYXRpbmcgLmNvbnRyb2wge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZy1ib3R0b206IDkuNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnJldmlldy1maWVsZC1yYXRpbmdzIC5yZXZpZXctZmllbGQtcmF0aW5nIC5sYWJlbCB7XG4gICAgcGFkZGluZy1yaWdodDogOS41cHg7XG4gICAgcGFkZGluZy10b3A6IDZweDsgfVxuICAucmV2aWV3LWZpZWxkLXJhdGluZ3MgLnJldmlldy1maWVsZC1yYXRpbmcgLmNvbnRyb2wge1xuICAgIHBhZGRpbmctdG9wOiAycHg7IH1cblxuLnJldmlldy10b29sYmFyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjOWM5Yzk7XG4gIG1hcmdpbjogMCAwIDE5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmV2aWV3LXRvb2xiYXI6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJldmlldy10b29sYmFyIC5wYWdlcyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTlweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmV2aWV3LXRvb2xiYXIgLmxpbWl0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJldmlldy1hZGQgLmJsb2NrLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucmV2aWV3LWZvcm0gLmFjdGlvbi5zdWJtaXQucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMzYjRhNGI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZGNkY2Q7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5yZXZpZXctZm9ybSAuYWN0aW9uLnN1Ym1pdC5wcmltYXJ5OmZvY3VzLCAucmV2aWV3LWZvcm0gLmFjdGlvbi5zdWJtaXQucHJpbWFyeTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAucmV2aWV3LWZvcm0gLmFjdGlvbi5zdWJtaXQucHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzNiNGE0YjtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjYjhiNDk2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5maWVsZHNldCAucmV2aWV3LWxlZ2VuZC5sZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG4gIC5maWVsZHNldCAucmV2aWV3LWxlZ2VuZC5sZWdlbmQgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ucmV2aWV3LWZpZWxkLXJhdGluZyAuY29udHJvbCB7XG4gIG1hcmdpbi1ib3R0b206IDQ1LjZweDtcbiAgbWFyZ2luLXRvcDogOS41cHg7IH1cblxuLnJldmlldy1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjguNXB4OyB9XG4gIC5yZXZpZXctbGlzdCAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgbWFyZ2luLXRvcDogMi4zNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS45cmVtOyB9XG5cbi5yZXZpZXctaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzljOWM5O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE5cHggMDsgfVxuICAucmV2aWV3LWl0ZW06YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5yZXZpZXctaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cblxuLnJldmlldy1yYXRpbmdzIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4O1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnJldmlldy1hdXRob3Ige1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLnJldmlldy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBtYXJnaW4tdG9wOiAxLjQyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45NXJlbTtcbiAgbWFyZ2luOiAwIDAgMTlweDsgfVxuXG4ucmV2aWV3LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnJldmlldy1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gIC5yZXZpZXctcmF0aW5ncyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDI0MnB4OyB9XG4gIC5yZXZpZXctcmF0aW5ncyB+IC5yZXZpZXctY29udGVudCxcbiAgLnJldmlldy1yYXRpbmdzIH4gLnJldmlldy1kZXRhaWxzIHtcbiAgICBtYXJnaW4tbGVmdDogMjgwcHg7IH1cbiAgLnJldmlldy10b29sYmFyIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gICAgLnJldmlldy10b29sYmFyIC5wYWdlcyB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgLmZpZWxkc2V0IC5yZXZpZXctbGVnZW5kLmxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAucmV2aWV3LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDMwcHggMDsgfVxuICAucmV2aWV3LXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4OyB9IH1cblxuLmJsb2NrLXJld2FyZC1pbmZvIC5yZXdhcmQtcmF0ZXM6bm90KDpsYXN0LWNoaWxkKSxcbi5ibG9jay1yZXdhcmQtaW5mbyAucmV3YXJkLWxpbWl0Om5vdCg6bGFzdC1jaGlsZCksXG4uYmxvY2stcmV3YXJkLWluZm8gLnJld2FyZC1leHBpcmluZzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMjMuNzVweDsgfVxuXG4uYmxvY2stcmV3YXJkLWluZm8gLnJld2FyZC1yYXRlcyAudGl0bGUsXG4uYmxvY2stcmV3YXJkLWluZm8gLnJld2FyZC1saW1pdCAudGl0bGUsXG4uYmxvY2stcmV3YXJkLWluZm8gLnJld2FyZC1leHBpcmluZyAudGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnJld2FyZC1zZXR0aW5ncyArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yZXdhcmQtc2V0dGluZ3MgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtMzJweDsgfSB9XG5cbi5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkIC5jb250cm9sID4gc3Bhbixcbi5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkIGFkZHJlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA2cHg7IH1cblxuLmZvcm0tY3JlYXRlLXJldHVybiAuYWRkaXRpb25hbDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmZvcm0tY3JlYXRlLXJldHVybiAuYWRkaXRpb25hbCAuZmllbGQ6bnRoLWxhc3QtY2hpbGQoMikge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLWNyZWF0ZS1yZXR1cm4gLmFkZGl0aW9uYWwgLmZpZWxkOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAxOXB4OyB9XG5cbi5mb3JtLWNyZWF0ZS1yZXR1cm4gLmZpZWxkLmNvbW1lbnQge1xuICBtYXJnaW4tdG9wOiA1NXB4OyB9XG5cbi5ibG9jay1yZXR1cm5zLWNvbW1lbnRzIC5yZXR1cm5zLWNvbW1lbnRzIGR0LFxuLmJsb2NrLXJldHVybnMtY29tbWVudHMgLnJldHVybnMtY29tbWVudHMgZGQge1xuICBtYXJnaW46IDA7IH1cblxuLmJsb2NrLXJldHVybnMtY29tbWVudHMgLnJldHVybnMtY29tbWVudHMgZHQge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5ibG9jay1yZXR1cm5zLWNvbW1lbnRzIC5yZXR1cm5zLWNvbW1lbnRzIGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuYmxvY2stcmV0dXJucy1jb21tZW50cyAucmV0dXJucy1jb21tZW50cyBkZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ibG9jay1yZXR1cm5zLWNvbW1lbnRzIC5maWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLm1hZ2VudG8tcm1hLXJldHVybnMtcmV0dXJucyAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlLFxuLm1hZ2VudG8tcm1hLWd1ZXN0LXJldHVybnMgLnBhZ2UtdGl0bGUtd3JhcHBlciAucGFnZS10aXRsZSxcbi5tYWdlbnRvLXJtYS1yZXR1cm5zLXZpZXcgLnBhZ2UtdGl0bGUtd3JhcHBlciAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1yaWdodDogMjVweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAucmV0dXJucy1kZXRhaWxzLWl0ZW1zIC5ibG9jay1yZXR1cm5zLXRyYWNraW5nIC5ibG9jay10aXRsZSA+IC5hY3Rpb24udHJhY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogOS41cHggMCAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS1jcmVhdGUtcmV0dXJuIC5hZGRpdGlvbmFsIC5maWVsZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAyOXB4OyB9XG4gIC5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIC5jb2x1bW4ubWFpbiAuYmxvY2s6bm90KC53aWRnZXQpIC5ibG9jay1jb250ZW50IC5ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7IH1cbiAgLmJsb2NrLXJldHVybnMtdHJhY2tpbmcgLmJsb2NrLXRpdGxlIC5hY3Rpb24ge1xuICAgIG1hcmdpbjogMCAwIDAgMzBweDsgfVxuICAuYmxvY2stcmV0dXJucy10cmFja2luZyAuYmxvY2stdGl0bGUgLmFjdGlvbnMtdHJhY2sge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cblxuLm9yZGVyLWxpbmtzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQxZDE7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLm9yZGVyLWxpbmtzIC5pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbi5vcmRlci1hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbiB7XG4gIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuXG4ub3JkZXItZGV0YWlscy1pdGVtcyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAub3JkZXItZGV0YWlscy1pdGVtcyAub3JkZXItdGl0bGUgPiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjQyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjk1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAub3JkZXItZGV0YWlscy1pdGVtcyAuaXRlbXMtcXR5IC5pdGVtIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5pdGVtcy1xdHkgLnRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnOiAnOyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC50YWJsZS1vcmRlci1pdGVtcyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLm9yZGVyLWRldGFpbHMtaXRlbXMgLnRhYmxlLW9yZGVyLWl0ZW1zIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxOyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5pdGVtLW9wdGlvbnMgZHQge1xuICAgIG1hcmdpbjogMDsgfVxuICAub3JkZXItZGV0YWlscy1pdGVtcyAuaXRlbS1vcHRpb25zIGRkIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5pdGVtLW9wdGlvbnMubGlua3MgZHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5pdGVtLW9wdGlvbnMubGlua3MgZHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzogJzsgfVxuICAub3JkZXItZGV0YWlscy1pdGVtcyAuaXRlbS1vcHRpb25zLmxpbmtzIGRkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLm9yZGVyLXBhZ2VyLXdyYXBwZXIgLnRvb2xiYXItYW1vdW50IHtcbiAgcGFkZGluZy10b3A6IDNweDsgfVxuXG4ub3JkZXItcGFnZXItd3JhcHBlciAucGFnZXMtaXRlbXMgLml0ZW06Zmlyc3QtY2hpbGQsIC5vcmRlci1wYWdlci13cmFwcGVyIC5wYWdlcy1pdGVtcyAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5vcmRlci1hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAub3JkZXItYWN0aW9ucy10b29sYmFyIC5hY3Rpb24ucHJpbnQge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5vcmRlci1hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5wcmludDo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtOyB9XG5cbi5wYWdlLXRpdGxlLXdyYXBwZXIgLm9yZGVyLWRhdGUge1xuICBtYXJnaW46IDAgMCAxOXB4OyB9XG5cbi5hY2NvdW50IC5wYWdlLXRpdGxlLXdyYXBwZXIgLnBhZ2UtdGl0bGUsXG5bY2xhc3NePSdzYWxlcy1ndWVzdC0nXSAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlLFxuLnNhbGVzLWd1ZXN0LXZpZXcgLnBhZ2UtdGl0bGUtd3JhcHBlciAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1yaWdodDogMjMuNzVweDsgfVxuXG4uZm9ybS1vcmRlcnMtc2VhcmNoIC5maWVsZC5lbWFpbCwgLmZvcm0tb3JkZXJzLXNlYXJjaCAuZmllbGQuemlwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYmxvY2stcmVvcmRlciAucHJvZHVjdC1pdGVtIC5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4uYmxvY2stcmVvcmRlciAucHJvZHVjdC1pdGVtIC5maWVsZC5pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5ibG9jay1yZW9yZGVyIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYmxvY2stcmVvcmRlciAuYWN0aW9ucy10b29sYmFyIHtcbiAgbWFyZ2luOiAxN3B4IDA7XG4gIG1heC13aWR0aDogMTc4cHg7IH1cblxuLmJsb2NrLW9yZGVyLWRldGFpbHMtY29tbWVudHMge1xuICBtYXJnaW46IDAgMCA0MHB4OyB9XG4gIC5ibG9jay1vcmRlci1kZXRhaWxzLWNvbW1lbnRzIC5jb21tZW50LWRhdGUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmJsb2NrLW9yZGVyLWRldGFpbHMtY29tbWVudHMgLmNvbW1lbnQtY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5ibG9jay1vcmRlci1kZXRhaWxzLXZpZXcgLmJveC1jb250ZW50IC5wYXltZW50LW1ldGhvZCAudGl0bGUge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5ibG9jay1vcmRlci1kZXRhaWxzLXZpZXcgLmJveC1jb250ZW50IC5wYXltZW50LW1ldGhvZCAuY29udGVudCB7XG4gIG1hcmdpbjogMDsgfVxuICAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ib3gtY29udGVudCAucGF5bWVudC1tZXRob2QgLmNvbnRlbnQgPiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ib3gtY29udGVudCAucGF5bWVudC1tZXRob2QgLmNvbnRlbnQgPiBzdHJvbmc6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzogJzsgfVxuXG4ub3JkZXItdHJhY2tpbmcge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLm9yZGVyLXRyYWNraW5nIC50cmFja2luZy10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5vcmRlci10cmFja2luZyAudHJhY2tpbmctY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgNXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmFjY291bnQgLm9yZGVyLWRldGFpbHMtaXRlbXMgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcm9kdWN0LWl0ZW0tbmFtZSxcbiAgLmFjY291bnQgLm9yZGVyLWRldGFpbHMtaXRlbXMgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAuYWNjb3VudCAub3JkZXItZGV0YWlscy1pdGVtcyAudGFibGUtb3JkZXItaXRlbXMgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gIC5hY2NvdW50IC5vcmRlci1kZXRhaWxzLWl0ZW1zIC50YWJsZS1vcmRlci1pdGVtcyAuaXRlbXMtcXR5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuYWNjb3VudCAudG9vbGJhciAucGFnZXMge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuYWNjb3VudCAudG9vbGJhciAubGltaXRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm9yZGVyLWRldGFpbHMtaXRlbXMgdGhlYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm9yZGVyLWRldGFpbHMtaXRlbXMgdGhlYWQgdHIsXG4gICAgLm9yZGVyLWRldGFpbHMtaXRlbXMgdGhlYWQgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnRhYmxlLXdyYXBwZXIgLnRhYmxlLnRhYmxlLW9yZGVyLWl0ZW1zIHRmb290IHRkLm9yZGVyLXBhZ2VyLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAub3JkZXItcGFnZXItd3JhcHBlciAudG9vbGJhci1hbW91bnQge1xuICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IGluaGVyaXQ7IH1cbiAgLm9yZGVyLXBhZ2VyLXdyYXBwZXIgLnBhZ2VzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm9yZGVyLXBhZ2VyLXdyYXBwZXIgLmFjdGlvbi5wcmV2aW91cyxcbiAgLm9yZGVyLXBhZ2VyLXdyYXBwZXIgLmFjdGlvbi5uZXh0IHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50YWJsZS1vcmRlci1pdGVtcyAuc3VidG90YWwsXG4gIC50YWJsZS1vcmRlci1pdGVtcyAuYW1vdW50IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAudGFibGUtb3JkZXItaXRlbXMuY3JlZGl0bWVtbyAuY29sLnF0eSwgLnRhYmxlLW9yZGVyLWl0ZW1zLmNyZWRpdG1lbW8gLmNvbC5kaXNjb3VudCwgLnRhYmxlLW9yZGVyLWl0ZW1zLmNyZWRpdG1lbW8gLmNvbC5zdWJ0b3RhbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50YWJsZS1vcmRlci1pdGVtcy5jcmVkaXRtZW1vIC5jb2wudG90YWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5vcmRlci1wYWdlci13cmFwcGVyIC5vcmRlci1wYWdlci13cmFwcGVyLXRvcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm9yZGVyLXBhZ2VyLXdyYXBwZXIgLnBhZ2VzIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm9yZGVyLWFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLnByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnBhZ2UtdGl0bGUtd3JhcHBlciAub3JkZXItZGF0ZSB7XG4gICAgLyogJG9yZGVyLXN0YXR1cy1pbmRlbnQ6IGNlaWwoJGgxX19tYXJnaW4tYm90dG9tX19kZXNrdG9wLzIpOyAqL1xuICAgIC8qICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsIC0kb3JkZXItc3RhdHVzLWluZGVudCk7ICovIH1cbiAgW2NsYXNzXj0nc2FsZXMtZ3Vlc3QtJ10gLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveCxcbiAgLnNhbGVzLWd1ZXN0LXZpZXcgLmNvbHVtbi5tYWluIC5ibG9jazpub3QoLndpZGdldCkgLmJsb2NrLWNvbnRlbnQgLmJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDsgfSB9XG5cbi5vcGMtd3JhcHBlciAuZm9ybS1kaXNjb3VudCB7XG4gIG1heC13aWR0aDogNTAwcHg7IH1cblxuLmFjdGlvbi5tYWlsdG8uZnJpZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hY3Rpb24ubWFpbHRvLmZyaWVuZDpiZWZvcmUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGNvbnRlbnQ6IFwi7qSHXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYWN0aW9uLm1haWx0by5mcmllbmQgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsLnJlcXVpcmVkIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbFtkYXRhLXJlcXVpcmVkPVwiMVwiXTphZnRlciB7XG4gIGNvbnRlbnQ6ICcqJztcbiAgY29sb3I6IHJlZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTExcHg7XG4gIHRvcDogLTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLXNlbGVjdGVkLW9wdGlvbiB7XG4gIGNvbG9yOiAjNjQ2NDY0O1xuICBwYWRkaW5nLWxlZnQ6IDE3cHg7IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLnN3YXRjaC1vcHRpb24ge1xuICBwYWRkaW5nOiAxcHggMnB4O1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIG1heC13aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDEwcHggNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLnRleHQge1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICBjb2xvcjogIzY4Njg2ODtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgbWluLXdpZHRoOiAyMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuXG4uc3dhdGNoLW9wdGlvbi5zZWxlY3RlZCB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjZmY1NTAxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBjb2xvcjogIzMzMzsgfVxuXG4uc3dhdGNoLW9wdGlvbi50ZXh0LnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLnNpemUgLnN3YXRjaC1vcHRpb24sXG4uc3dhdGNoLWF0dHJpYnV0ZS5tYW51ZmFjdHVyZXIgLnN3YXRjaC1vcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICBjb2xvcjogIzk0OTQ5NDsgfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS5zaXplIC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkLFxuLnN3YXRjaC1hdHRyaWJ1dGUubWFudWZhY3R1cmVyIC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkIHtcbiAgY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9XG5cbi5zd2F0Y2gtb3B0aW9uOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICM5OTk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLmltYWdlOm5vdCguZGlzYWJsZWQpOmhvdmVyLFxuLnN3YXRjaC1vcHRpb24uY29sb3I6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICBvdXRsaW5lOiAycHggc29saWQgI2VlMDAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsgfVxuXG4uc3dhdGNoLW9wdGlvbi5kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQgdG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQyJSwgd2hpdGUgNDMlLCB3aGl0ZSA0NiUsICNmZjUyMTYgNDclLCAjZmY1MjE2IDUzJSwgd2hpdGUgNTQlLCB3aGl0ZSA1NyUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNTglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAge1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBtaW4td2lkdGg6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzk0OTQ5NDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FkYWRhZDtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAuY29ybmVyLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC5jb3JuZXIge1xuICBsZWZ0OiA0MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDhweDsgfVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwIC5jb3JuZXI6YWZ0ZXIsXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQgLmNvcm5lcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAtMTVweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA3cHggNy41cHggMCA3LjVweDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDFweDsgfVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwIC5jb3JuZXI6YmVmb3JlLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC5jb3JuZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogOHB4IDguNXB4IDAgOC41cHg7XG4gIGJvcmRlci1jb2xvcjogI2FkYWRhZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxcHg7IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAuaW1hZ2UsXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQgLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTMwcHg7XG4gIHdpZHRoOiAxMzBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAudGl0bGUge1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgY29sb3I6ICMyODI4Mjg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnN3YXRjaC1vcHQge1xuICBtYXJnaW46IDIwcHggMDsgfVxuXG4uc3dhdGNoLW1vcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMnB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLWxpbmstbGF5ZXJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQ6Zm9jdXMgPiBkaXYge1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDFweCAjNjhhOGUwOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gIHdpZHRoOiAxNDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzk0OTQ5NDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FkYWRhZDtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk5O1xuICBsZWZ0OiAtNDdweDsgfVxuXG4uc3dhdGNoLXZpc3VhbC10b29sdGlwLWxheWVyZWQge1xuICBoZWlnaHQ6IDE2MHB4O1xuICB0b3A6IC0xNzBweDsgfVxuXG4uc3dhdGNoLXRleHR1YWwtdG9vbHRpcC1sYXllcmVkIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB0b3A6IC00MHB4OyB9XG5cbi5zd2F0Y2gtb3B0aW9uLWxpbmstbGF5ZXJlZDpob3ZlciA+IC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMgLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC50aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtNXB4O1xuICBsZWZ0OiAwO1xuICBjb2xvcjogIzI4MjgyODtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5zd2F0Y2gtb3B0aW9uLWRpc2FibGVkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0zMGRlZyk7XG4gIHotaW5kZXg6IDk5NTtcbiAgbGVmdDogLTRweDtcbiAgdG9wOiAxMHB4OyB9XG5cbi5zd2F0Y2gtb3B0aW9uLWRpc2FibGVkIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uc3dhdGNoLW9wdC1saXN0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uc3dhdGNoLW9wdGlvbi1sb2FkaW5nIHtcbiAgY29udGVudDogdXJsKC4uL01hZ2VudG9fU3dhdGNoZXMvaW1hZ2VzL2xvYWRlci0yLmdpZik7IH1cblxuLnN3YXRjaC1pbnB1dCB7XG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZXNzYWdlLmdsb2JhbCBwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tZXNzYWdlLmdsb2JhbC5ub3NjcmlwdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOS41cHggMTlweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYmFja2dyb3VuZDogI2I4YjQ5NjtcbiAgYm9yZGVyLWNvbG9yOiAjYjhiNDk2O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgbWFyZ2luOiAwOyB9XG4gIC5tZXNzYWdlLmdsb2JhbC5ub3NjcmlwdCBhIHtcbiAgICBjb2xvcjogIzNiNGE0YjsgfVxuICAgIC5tZXNzYWdlLmdsb2JhbC5ub3NjcmlwdCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2I0YTRiOyB9XG4gICAgLm1lc3NhZ2UuZ2xvYmFsLm5vc2NyaXB0IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjM2I0YTRiOyB9XG5cbi5tZXNzYWdlLmdsb2JhbC5jb29raWUge1xuICBtYXgtd2lkdGg6IDEzMzVweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAzMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5tZXNzYWdlLmdsb2JhbC5jb29raWUgLmNvbnRlbnQge1xuICAgIGZsZXg6IDEgMCAzMnJlbTtcbiAgICBtYXgtd2lkdGg6IDQ0cmVtO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBib3gtc2hhZG93OiAwIC0wLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc3Nzg7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubWVzc2FnZS5nbG9iYWwuY29va2llIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICNiOGI0OTY7IH1cbiAgLm1lc3NhZ2UuZ2xvYmFsLmNvb2tpZSAuYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTlweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVzc2FnZS5nbG9iYWwuY29va2llIC5hY3Rpb25zIGJ1dHRvbiwgLm1lc3NhZ2UuZ2xvYmFsLmNvb2tpZSAuYWN0aW9ucyAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbiwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5tZXNzYWdlLmdsb2JhbC5jb29raWUgLmFjdGlvbnMgLmFjdGlvbiwgLm1lc3NhZ2UuZ2xvYmFsLmNvb2tpZSAuYWN0aW9ucyAuYWN0aW9uLWdpZnQge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAubWVzc2FnZS5nbG9iYWwuY29va2llIC5hY3Rpb25zIGJ1dHRvbjpob3ZlciwgLm1lc3NhZ2UuZ2xvYmFsLmNvb2tpZSAuYWN0aW9ucyAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmFjdGlvbjpob3ZlciwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5tZXNzYWdlLmdsb2JhbC5jb29raWUgLmFjdGlvbnMgLmFjdGlvbjpob3ZlciwgLm1lc3NhZ2UuZ2xvYmFsLmNvb2tpZSAuYWN0aW9ucyAuYWN0aW9uLWdpZnQ6aG92ZXIsIC5tZXNzYWdlLmdsb2JhbC5jb29raWUgLmFjdGlvbnMgYnV0dG9uOmZvY3VzLCAubWVzc2FnZS5nbG9iYWwuY29va2llIC5hY3Rpb25zIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uOmZvY3VzLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLm1lc3NhZ2UuZ2xvYmFsLmNvb2tpZSAuYWN0aW9ucyAuYWN0aW9uOmZvY3VzLCAubWVzc2FnZS5nbG9iYWwuY29va2llIC5hY3Rpb25zIC5hY3Rpb24tZ2lmdDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2I4YjQ5NjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNGE0YjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm1lc3NhZ2UuZ2xvYmFsLmRlbW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDkuNXB4IDE5cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQ6ICNiOGI0OTY7XG4gIGJvcmRlci1jb2xvcjogI2I4YjQ5NjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVzc2FnZS5nbG9iYWwuZGVtbyBhIHtcbiAgICBjb2xvcjogIzNiNGE0YjsgfVxuICAgIC5tZXNzYWdlLmdsb2JhbC5kZW1vIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzYjRhNGI7IH1cbiAgICAubWVzc2FnZS5nbG9iYWwuZGVtbyBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzNiNGE0YjsgfVxuXG4ud2lkZ2V0IHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnBhZ2UtaGVhZGVyIC53aWRnZXQuYmxvY2ssXG4ucGFnZS1mb290ZXIgLndpZGdldC5ibG9jayB7XG4gIG1hcmdpbjogMTlweCAwOyB9XG5cbi51aS1kYXRlcGlja2VyIHRkIHtcbiAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXdyYXBwZXIgPiAuYnJlYWRjcnVtYnMsXG4gIC5wYWdlLXdyYXBwZXIgPiAudG9wLWNvbnRhaW5lcixcbiAgLnBhZ2Utd3JhcHBlciA+IC53aWRnZXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm5hdmlnYXRpb24gdWwge1xuICAgIHBhZGRpbmc6IDAgOHB4OyB9IH1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAucGFnZS1oZWFkZXIgLnBhbmVsLndyYXBwZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4OyB9XG5cbi5oZWFkZXIuY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA5LjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNoZWFkZXIgdG9wXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oZWFkZXJfX3RvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZWZlZmU4OyB9XG5cbi5oZWFkZXJfX3RvcF9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWF4LXdpZHRoOiAxMzM1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIHBhZGRpbmctbGVmdDogMnJlbTsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjY3VzdG9tIGJyYW5kIHRhZ2xpbmVcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJyYW5kLWJ5IHtcbiAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgY29sb3I6ICNlMTI3MWU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgXCJzYW5zLXNlcmlmXCI7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBsaW5lLWhlaWdodDogMy4ycmVtOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNzd2l0Y2hlciAobGFuZ3VhZ2UsIHN0b3JlKVxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFnZS1oZWFkZXIgLmhlYWRlciAuc3dpdGNoZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIC5hY3Rpb24udG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZSBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6OmFmdGVyLCAucGFnZS1oZWFkZXIgLmhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGU6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2hlYWRlciBib3R0b21cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlYWRlcl9fYm90dG9tIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZGVyX19ib3R0b21fX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjbG9nb3NcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxvZ28sXG4ubG9nby0tbW9iaWxlIHtcbiAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1OyB9XG4gIC5sb2dvIGltZyxcbiAgLmxvZ28tLW1vYmlsZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDsgfVxuXG4ubG9nby0tbW9iaWxlIHtcbiAgd2lkdGg6IDI2LjJyZW07XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjhyZW07IH1cblxuLmxvZ28ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNzZWFyY2hcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJsb2NrLXNlYXJjaCB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5ibG9jay1zZWFyY2guaXMtb3BlbiAubWluaXNlYXJjaC1idG4sIC5ibG9jay1zZWFyY2guaXMtYXV0by1vcGVuIC5taW5pc2VhcmNoLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmxvY2stc2VhcmNoLmlzLW9wZW4gLm1pbmlzZWFyY2gsIC5ibG9jay1zZWFyY2guaXMtYXV0by1vcGVuIC5taW5pc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5ibG9jay1zZWFyY2ggLmJsb2NrLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2stc2VhcmNoIC5taW5pc2VhcmNoLWJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDIwOyB9XG4gIC5ibG9jay1zZWFyY2ggLm1pbmlzZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLmJsb2NrLXNlYXJjaCAubWluaXNlYXJjaCAuc2VhcmNoLFxuICAgIC5ibG9jay1zZWFyY2ggLm1pbmlzZWFyY2ggLmFjdGlvbnMge1xuICAgICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmJsb2NrLXNlYXJjaCAuY29udHJvbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmJsb2NrLXNlYXJjaCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgI2VmZWZlODtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5ibG9jay1zZWFyY2ggaW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07IH1cbiAgICAgICAgLmpzLWZvY3VzLXZpc2libGUgLmJsb2NrLXNlYXJjaCBpbnB1dDpmb2N1czpub3QoLmZvY3VzLXZpc2libGUpLCAuYmxvY2stc2VhcmNoIGlucHV0OmZvY3VzIHtcbiAgICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjN2U4ODg5O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNHJlbSBzb2xpZCAjYjhiNDk2OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5ibG9jay1zZWFyY2ggLmFjdGlvbnMgLmFjdGlvbi5zZWFyY2gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDUuNHJlbTtcbiAgICAgIHdpZHRoOiA1LjRyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjFyZW0gc29saWQgI2VmZWZlODtcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgI2VmZWZlODsgfVxuICAgICAgLmJsb2NrLXNlYXJjaCAuYWN0aW9ucyAuYWN0aW9uLnNlYXJjaDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmJsb2NrLXNlYXJjaCAuYWN0aW9ucyAuYWN0aW9uLnNlYXJjaDpob3ZlciwgLmJsb2NrLXNlYXJjaCAuYWN0aW9ucyAuYWN0aW9uLnNlYXJjaDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjc7IH0gfVxuXG4ubWluaXNlYXJjaC1idG4ge1xuICBwYWRkaW5nOiAwLjhyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCAjZWZlZmU4O1xuICBib3JkZXItbGVmdDogMC4xcmVtIHNvbGlkICNlZmVmZTg7IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAubWluaXNlYXJjaC1idG46aG92ZXIsIC5taW5pc2VhcmNoLWJ0bjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY3O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjFyZW0gc29saWQgI2VmZWZlODtcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgI2VmZWZlODsgfSB9XG5cbi8qIEFDQ09VTlQgTElOS1MgKi9cbi8qICoqKioqKioqKioqKiogKi9cbi5oZWFkZXIubGlua3Mge1xuICBtYXJnaW46IDA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5oZWFkZXIubGlua3MgPiBsaSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gICAgLmhlYWRlci5saW5rcyA+IGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLmhlYWRlci5saW5rcyA+IGxpID4gYS5hY2NvdW50X19saW5rOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6Yp1wiO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgY29sb3I6ICMzYjRhNGI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgLmhlYWRlci5saW5rcyA+IGxpID4gYTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICAgICAgICBib3R0b206IC0wLjFyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMC40cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiNDk2OyB9XG4gICAgICAuaGVhZGVyLmxpbmtzID4gbGkgPiBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhlYWRlci5saW5rcyA+IGxpLmF1dGhvcml6YXRpb24tbGluay0tc2lnbm91dCA+IGE6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6kj1wiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH1cblxuLyogQ0FSVCAqL1xuLyogKioqKiAqL1xuLm1pbmljYXJ0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAubWluaWNhcnQtd3JhcHBlciA+IC5hY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciA+IC5hY3Rpb24sIC5taW5pY2FydC13cmFwcGVyID4gLmFjdGlvbi5hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAgICAgLm1pbmljYXJ0LXdyYXBwZXIgPiAuYWN0aW9uOjpiZWZvcmUsIC5taW5pY2FydC13cmFwcGVyID4gLmFjdGlvbi5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciA+IC5hY3Rpb24uYWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubWluaWNhcnQtd3JhcHBlciAuY2FydF9fbGlua19faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5jYXJ0X19saW5rX190ZXh0IHtcbiAgICBtYXJnaW46IDAgMCAwIDAuOHJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5jb3VudGVyLnF0eSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgMC41cmVtO1xuICAgIG1pbi13aWR0aDogMS44cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY29sb3I6ICMzYjRhNGI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNTsgfVxuICAubWluaWNhcnQtd3JhcHBlciAuY291bnRlci1sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfVxuXG4vKiBHRU5FUkFMICovXG4vKiAqKioqKioqKiAqL1xuLnBhZ2UtbWFpbiA+IC5wYWdlLXRpdGxlLXdyYXBwZXIgLnBhZ2UtdGl0bGUgKyAuYWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMjguNXB4OyB9XG5cbi5hY3Rpb24uc2tpcDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIHBhZGRpbmc6IDkuNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTU7IH1cblxuLmFjdGlvbi1za2lwLXdyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wYW5lbC5oZWFkZXJfX3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyX19ib3R0b21fX2lubmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLyogQWNjb3VudCBsaW5rcyAqL1xuICAuaGVhZGVyLmxpbmtzID4gbGkgPiBhIHtcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICB3aWR0aDogNC44cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5oZWFkZXIubGlua3MgPiBsaSA+IGE6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5oZWFkZXIubGlua3MgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLyogTWluaWNhcnQgKi9cbiAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgIGJvcmRlci1yaWdodDogMC4xcmVtIHNvbGlkICNlZmVmZTg7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IHtcbiAgICAgIGhlaWdodDogNC44cmVtO1xuICAgICAgcGFkZGluZzogMCAxLjVyZW07IH1cbiAgLmNhcnRfX2xpbmtfX3RleHQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLyogU2VhcmNoICovXG4gIC5taW5pc2VhcmNoLWJ0biB7XG4gICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgbWluLXdpZHRoOiA0LjhyZW07IH1cbiAgICAubWluaXNlYXJjaC1idG4gc3ZnIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjc3dpdGNoZXItbGFuZ3VhZ2UtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXIucGFuZWwgPiAuaGVhZGVyLmxpbmtzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmhlYWRlci5wYW5lbCA+IC5oZWFkZXIubGlua3MgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLmhlYWRlci5wYW5lbCA+IC5oZWFkZXIubGlua3MgPiBsaSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5oZWFkZXIucGFuZWwgPiAuaGVhZGVyLmxpbmtzID4gbGkud2VsY29tZSxcbiAgICAgIC5oZWFkZXIucGFuZWwgPiAuaGVhZGVyLmxpbmtzID4gbGkgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAgIC5oZWFkZXIucGFuZWwgPiAuaGVhZGVyLmxpbmtzID4gbGkud2VsY29tZSBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0Ljc1cHg7IH1cbiAgLmhlYWRlcl9fYm90dG9tX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzM1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gIC5oZWFkZXIuY29udGVudCB7XG4gICAgcGFkZGluZzogMjguNXB4IDE5cHggMDsgfVxuICAucGFnZS1oZWFkZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBhZ2UtdG9wIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlODsgfVxuICAucGFnZS1tYWluID4gLnBhZ2UtdGl0bGUtd3JhcHBlciAucGFnZS10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wYWdlLW1haW4gPiAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlICsgLmFjdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDE5cHg7IH1cbiAgLmxvZ28tLW1vYmlsZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGZsZXg6IDAgMCAyNi4ycmVtOyB9XG4gIC5taW5pc2VhcmNoLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUuNHJlbTtcbiAgICBoZWlnaHQ6IDUuNHJlbTsgfVxuICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IHtcbiAgICBwYWRkaW5nOiAxcmVtIDAgMXJlbSAycmVtOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgICAgIGJvdHRvbTogLTAuMXJlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiNDk2OyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbi5zaG93Y2FydDpob3Zlcjo6YWZ0ZXIsIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uc2hvd2NhcnQuYWN0aXZlOjphZnRlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJyZW0pOyB9IH1cblxuLnBhZ2UtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMy4ycmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5wYWdlLWZvb3Rlcl9fbWFpbiB7XG4gIHBhZGRpbmc6IDRyZW0gMy4ycmVtO1xuICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgI2I4YjQ5NjsgfVxuXG4ucGFnZS1mb290ZXJfX21haW4tLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxMTVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIgLnBhZ2UtZm9vdGVyX19tYWluX19uYXYge1xuICAgIGZsZXg6IDAgMSA3MC41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sb3I6ICMzYjRhNGI7IH1cbiAgICAucGFnZS1mb290ZXJfX21haW4tLWlubmVyIC5wYWdlLWZvb3Rlcl9fbWFpbl9fbmF2IC5mb290ZXItY29sdW1uIHtcbiAgICAgIGZsZXg6IDAgMSAzMy4zMyU7IH1cbiAgLnBhZ2UtZm9vdGVyX19tYWluLS1pbm5lciAuY29sdW1uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDMuMnJlbSAwIDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLnBhZ2UtZm9vdGVyX19tYWluLS1pbm5lciAuZm9vdGVyLWNvbHVtbiA+IHVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjJyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBcInNhbnMtc2VyaWZcIjtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIgLmZvb3Rlci1jb2x1bW4gPiB1bCA+IGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAgIC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIgLmZvb3Rlci1jb2x1bW4gPiB1bCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5mb290ZXItcGF5bWVudC1pbmZvIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMy4ycmVtOyB9XG5cbi5mb290ZXItcGF5bWVudC1pbmZvX190ZXh0IHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cblxuLmZvb3Rlci1wYXltZW50LWluZm9fX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IC0xcmVtO1xuICBtYXgtd2lkdGg6IDIyLjVyZW07IH1cbiAgLmZvb3Rlci1wYXltZW50LWluZm9fX2xpc3QgLmZvb3Rlci1wYXltZW50LWluZm9fX2xpc3QtaXRlbSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mb290ZXItcGF5bWVudC1pbmZvX19saXN0IC5mb290ZXItcGF5bWVudC1pbmZvX19saXN0LWl0ZW0tLWxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZm9vdGVyLXBheW1lbnQtaW5mb19fbGlzdCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uZm9vdGVyLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMS42cmVtIDMuMnJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiY2I3OWI7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgXCJzYW5zLXNlcmlmXCI7XG4gIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gIC5mb290ZXIuY29udGVudCAubGlua3MgPiBsaSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIC5mb290ZXIuY29udGVudCAuc3dpdGNoZXItc3RvcmUge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cblxuLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlcixcbi5wYWdlLWZvb3RlciAuc3dpdGNoZXIge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyxcbiAgLnBhZ2UtZm9vdGVyIC5zd2l0Y2hlciAub3B0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdlLWhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnM6YmVmb3JlLCAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zOmFmdGVyLFxuICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnM6YmVmb3JlLFxuICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnM6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5wYWdlLWhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnM6YWZ0ZXIsXG4gICAgLnBhZ2UtZm9vdGVyIC5zd2l0Y2hlciAub3B0aW9uczphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wYWdlLWhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGUsXG4gICAgLnBhZ2UtZm9vdGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIC5hY3Rpb24udG9nZ2xlID4gc3BhbixcbiAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGUgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGU6YWZ0ZXIsXG4gICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIC5hY3Rpb24udG9nZ2xlOmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwi7piiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZTpob3ZlcjphZnRlcixcbiAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZTphY3RpdmU6YWZ0ZXIsXG4gICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIC5hY3Rpb24udG9nZ2xlOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIC5hY3Rpb24udG9nZ2xlLmFjdGl2ZSxcbiAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGUuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZS5hY3RpdmUgPiBzcGFuLFxuICAgICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIC5hY3Rpb24udG9nZ2xlLmFjdGl2ZSA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6YWZ0ZXIsXG4gICAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGUuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7pihXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyAuYWN0aW9uLnRvZ2dsZS5hY3RpdmU6aG92ZXI6YWZ0ZXIsXG4gICAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGUuYWN0aXZlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIC5hY3Rpb24udG9nZ2xlLmFjdGl2ZTphY3RpdmU6YWZ0ZXIsXG4gICAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgLmFjdGlvbi50b2dnbGUuYWN0aXZlOmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duLFxuICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2VmZWZlODtcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duIGxpLFxuICAgICAgLnBhZ2UtZm9vdGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93biBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duIGxpOmhvdmVyLFxuICAgICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duIGxpOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93bjpiZWZvcmUsIC5wYWdlLWhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd246YWZ0ZXIsXG4gICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duOmJlZm9yZSxcbiAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd246YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd246YmVmb3JlLFxuICAgICAgLnBhZ2UtZm9vdGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93bjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiA5OTsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93bjphZnRlcixcbiAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd246YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IDdweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWZlZmU4IHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiA5ODsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93bjpiZWZvcmUsXG4gICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duOmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IC0xMnB4OyB9XG4gICAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duOmFmdGVyLFxuICAgICAgLnBhZ2UtZm9vdGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93bjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiA5cHg7XG4gICAgICAgIHRvcDogLTE0cHg7IH1cbiAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zLmFjdGl2ZSxcbiAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zLmFjdGl2ZSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucy5hY3RpdmUgdWwuZHJvcGRvd24sXG4gICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zLmFjdGl2ZSB1bC5kcm9wZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93bixcbiAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93biBsaSxcbiAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd24gbGkge1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAucGFnZS1oZWFkZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duIGEsXG4gICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgICAgIC5wYWdlLWhlYWRlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd24gYTpob3ZlciwgLnBhZ2UtaGVhZGVyIC5zd2l0Y2hlciAub3B0aW9ucyB1bC5kcm9wZG93biBhOmZvY3VzLFxuICAgICAgICAucGFnZS1mb290ZXIgLnN3aXRjaGVyIC5vcHRpb25zIHVsLmRyb3Bkb3duIGE6aG92ZXIsXG4gICAgICAgIC5wYWdlLWZvb3RlciAuc3dpdGNoZXIgLm9wdGlvbnMgdWwuZHJvcGRvd24gYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlODtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZvb3Rlcl9fbGVnYWwtd3JhcHBlciB7XG4gIG1heC13aWR0aDogMTMzNXB4O1xuICBjb2xvcjogIzNiNGE0YjsgfVxuICAuZm9vdGVyX19sZWdhbC13cmFwcGVyIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5mb290ZXJfX2xlZ2FsLXdyYXBwZXIgLmNvcHlyaWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuZm9vdGVyX19sZWdhbC13cmFwcGVyIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZm9vdGVyX19sZWdhbC13cmFwcGVyIGxpOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ3wnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwLjJyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGFnZS1mb290ZXJfX21haW4tLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucGFnZS1mb290ZXJfX21haW4tLWlubmVyIC5wYWdlLWZvb3Rlcl9fbWFpbl9fbmF2IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAucGFnZS1mb290ZXJfX21haW4tLWlubmVyIC5wYWdlLWZvb3Rlcl9fbWFpbl9fbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIgLnBhZ2UtZm9vdGVyX19tYWluX19uYXYgLmZvb3Rlci1jb2x1bW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjZyZW07IH1cbiAgLnBhZ2UtZm9vdGVyX19tYWluLS1pbm5lciAuY29sdW1uLXRpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIgLmZvb3Rlci1jb2x1bW4gPiB1bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZm9vdGVyLXBheW1lbnQtaW5mbyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci5jb250ZW50IC5ibG9jayB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5mb290ZXIuY29udGVudCAubGlua3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuZm9vdGVyLmNvbnRlbnQgLnN3aXRjaGVyLnN0b3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cblxuLm15LWNyZWRpdC1jYXJkcyAuc3RhdHVzIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZTpmb2N1cywgLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGUuZGlzYWJsZWQsIC5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGVbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZTpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGU6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNTUwMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZTpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7IH1cbiAgLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZTpob3ZlciwgLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZTphY3RpdmUsIC5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGUuZGlzYWJsZWQsIC5teS1jcmVkaXQtY2FyZHMgLmFjdGlvbi5kZWxldGVbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm15LWNyZWRpdC1jYXJkcyAuYWN0aW9uLmRlbGV0ZSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ubXktY3JlZGl0LWNhcmRzLXBvcHVwIC5tb2RhbC1mb290ZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ubXktY3JlZGl0LWNhcmRzLXBvcHVwIC5hY3Rpb24uc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6IDE5cHg7IH1cbiAgLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeTpmb2N1cywgLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMtcG9wdXAgLmFjdGlvbi5zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMtcG9wdXAgLmFjdGlvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5teS1jcmVkaXQtY2FyZHMtcG9wdXAgLmFjdGlvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeTpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMtcG9wdXAgLmFjdGlvbi5zZWNvbmRhcnk6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNTUwMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeTpob3ZlciB7XG4gICAgY29sb3I6ICNhNTRmNmM7IH1cbiAgLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeTpob3ZlciwgLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeTphY3RpdmUsIC5teS1jcmVkaXQtY2FyZHMtcG9wdXAgLmFjdGlvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5teS1jcmVkaXQtY2FyZHMtcG9wdXAgLmFjdGlvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5teS1jcmVkaXQtY2FyZHMtcG9wdXAgLmFjdGlvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm15LWNyZWRpdC1jYXJkcy1wb3B1cCAuYWN0aW9uLnNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5teS1jcmVkaXQtY2FyZHMgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLmNhcnQpOm5vdCgudGFibGUtY29tcGFyaXNvbikgLnN0YXR1cyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5teS1jcmVkaXQtY2FyZHMgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLmNhcnQpOm5vdCgudGFibGUtY29tcGFyaXNvbikgLnN0YXR1czpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5teS1jcmVkaXQtY2FyZHMgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLmNhcnQpOm5vdCgudGFibGUtY29tcGFyaXNvbikgLnN0YXR1cy5fZGVmYXVsdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubXktY3JlZGl0LWNhcmRzIC5jYXJkLXR5cGUgaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubXktY3JlZGl0LWNhcmRzIC5jYXJkLXR5cGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5taW5pbGlzdCAud2VlZSB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgLm1pbmlsaXN0IC53ZWVlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJpY2UtY29udGFpbmVyLndlZWU6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1pdGVtcyAuYWN0aW9uLnRvd2lzaGxpc3Q6YmVmb3JlLFxuLnByb2R1Y3RzLmxpc3QuaXRlbXMgLmFjdGlvbi50b3dpc2hsaXN0OmJlZm9yZSxcbi50YWJsZS1jb21wYXJpc29uIC5hY3Rpb24udG93aXNobGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6khFwiOyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0ID4gdGhlYWQgPiB0ciA+IHRoLFxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgPiB0aGVhZCA+IHRyID4gdGQsXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuZGF0YS50YWJsZS53aXNobGlzdCA+IHRib2R5ID4gdHIgPiB0aCxcbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0ID4gdGJvZHkgPiB0ciA+IHRkLFxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgPiB0Zm9vdCA+IHRyID4gdGgsXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuZGF0YS50YWJsZS53aXNobGlzdCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxOyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0ID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0ID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0ID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuZGF0YS50YWJsZS53aXNobGlzdCA+IGNvbGdyb3VwICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuZGF0YS50YWJsZS53aXNobGlzdCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7XG4gIGJvcmRlci10b3A6IDA7IH1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgPiB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDE7IH1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgdGhlYWQgPiB0ciA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuZGF0YS50YWJsZS53aXNobGlzdCB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0ZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxOyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0IC5wcm9kdWN0Lm5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0IC5ib3gtdG9jYXJ0IHtcbiAgbWFyZ2luOiA5LjVweCAwOyB9XG4gIC5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0IC5ib3gtdG9jYXJ0IC5xdHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgLmNvbC5pdGVtIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuZGF0YS50YWJsZS53aXNobGlzdCAuY29sLnBob3RvIHtcbiAgbWF4LXdpZHRoOiAxNTBweDsgfVxuXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuZGF0YS50YWJsZS53aXNobGlzdCAuY29sLnNlbGVjdG9yIHtcbiAgbWF4LXdpZHRoOiAxNXB4OyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0IHRleHRhcmVhIHtcbiAgbWFyZ2luOiA5LjVweCAwOyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0IC5pbnB1dC10ZXh0LnF0eSB7XG4gIG1hcmdpbi1ib3R0b206IDkuNXB4OyB9XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0IC5hY3Rpb24ucHJpbWFyeSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmRhdGEudGFibGUud2lzaGxpc3QgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYmxvY2std2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMy43NXB4OyB9XG5cbi5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOS41cHg7IH1cblxuLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIC5wcmljZS1ib3gge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1jb21tZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNDJweDtcbiAgbWFyZ2luOiA5LjVweCAwOyB9XG5cbi5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyA+ICoge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1hY3Rpb25zID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAuYm94LXRvY2FydCBpbnB1dC5xdHkge1xuICBoZWlnaHQ6IDMycHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlODsgfVxuICAgIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGU4ZTg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOC41cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtOS41cHg7IH1cbiAgICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDE5cHggOS41cHggMTlweCAxOXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTlweDsgfVxuICAgICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyAuYWN0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAgICAgICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtLWFjdGlvbnMgLmFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAgIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyAuYWN0aW9uLmVkaXQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtLWFjdGlvbnMgLmFjdGlvbi5kZWxldGUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1hY3Rpb25zIC5hY3Rpb24uZWRpdCwgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1hY3Rpb25zIC5hY3Rpb24uZGVsZXRlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDsgfVxuICAgICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbS1uYW1lLCAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtLWRlc2NyaXB0aW9uLFxuICAgICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAucHJpY2UtYm94LCAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtLXRvb2x0aXAge1xuICAgICAgICBtYXJnaW4tbGVmdDogOTVweDsgfVxuICAgICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAuYm94LXRvY2FydCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE5cHg7IH1cbiAgICAgICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAuYm94LXRvY2FydCAuc3RvY2sge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDdweDsgfVxuICAgICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAuZ2lmdHJlZ2lzdHktZHJvcGRvd24sXG4gICAgICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIC5maWVsZC5xdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODBweDsgfVxuICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLnByb2R1Y3QtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLnByb2R1Y3QtaXRlbS1pbmZvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tdG9vbHRpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgbWFyZ2luOiA5LjVweCAwIDA7IH1cbiAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3QgLnByb2R1Y3QtaXRlbSAuZmllbGRzZXQgLmZpZWxkLnF0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOS41cHg7XG4gICAgcGFkZGluZy1yaWdodDogOS41cHg7IH1cbiAgICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIC5maWVsZHNldCAuZmllbGQucXR5IC5sYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIC5ib3gtdG9jYXJ0IC5hY3Rpb25zLXByaW1hcnkge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCAucHJvZHVjdC1pdGVtIC5ib3gtdG9jYXJ0IC5zdG9jayB7XG4gICAgbWFyZ2luOiAxOXB4IDAgMDsgfVxuICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLnByb2R1Y3QtaXRlbS1pbmZvIHtcbiAgICB3aWR0aDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMge1xuICAgIG1hcmdpbjogMDsgfVxuICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSA0ICogMjQuNDM5JSkgLyAzKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAyNC40MzklOyB9XG4gICAgLndpc2hsaXN0LWluZGV4LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW06bnRoLWNoaWxkKDRuICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ucXVvdGUtZGV0YWlscyBmb3JtIC5jb250cm9sIC5jb250cm9sLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMS42cmVtOyB9XG5cbi5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuZmllbGRzZXQge1xuICBtYXJnaW46IDA7IH1cbiAgLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5maWVsZHNldCAuZmllbGRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmZpZWxkc2V0IC5maWVsZHMgLmZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDkuNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5maWVsZHNldCAuZmllbGRzIC5maWVsZC5za3Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC04NXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA5MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5maWVsZHNldCAuZmllbGRzIC5maWVsZC5xdHkgLnF0eSArIC5tYWdlLWVycm9yIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7IH1cbiAgICAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmZpZWxkc2V0IC5maWVsZHMgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNnB4OyB9XG5cbi5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuZm9ybS1hZGRieXNrdSAuYWN0aW9ucy10b29sYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuICAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmZvcm0tYWRkYnlza3UgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuZm9ybS1hZGRieXNrdSAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IC5hY3Rpb24ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5mb3JtLWFkZGJ5c2t1IC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5hZGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMnB4IDA7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIC5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLmFkZCA+IHNwYW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24uYWRkOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDMxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY29udGVudDogXCLumJxcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICBtYXJnaW46IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5hZGQ6aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5hZGQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ubGlua3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMTlweCAwIDA7IH1cblxuLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVzZXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA5LjVweCAwOyB9XG5cbi5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlID4gc3BhbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfVxuICAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmU6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjb250ZW50OiBcIu6YllwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmU6Zm9jdXMsIC5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC5zaWRlYmFyIC5ibG9jay1hZGRieXNrdSAuYWN0aW9uLnJlbW92ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlLmRpc2FibGVkLCAuc2lkZWJhciAuYmxvY2stYWRkYnlza3UgLmFjdGlvbi5yZW1vdmVbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLnNpZGViYXIgLmJsb2NrLWFkZGJ5c2t1IC5hY3Rpb24ucmVtb3ZlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4uYmxvY2stYmFubmVycyAuYmFubmVyLWl0ZW0sXG4uYmxvY2stYmFubmVycy1pbmxpbmUgLmJhbm5lci1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmJsb2NrLWJhbm5lcnMgLmJhbm5lci1pdGVtLWNvbnRlbnQsXG4uYmxvY2stYmFubmVycy1pbmxpbmUgLmJhbm5lci1pdGVtLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG4gIC5ibG9jay1iYW5uZXJzIC5iYW5uZXItaXRlbS1jb250ZW50IGltZyxcbiAgLmJsb2NrLWJhbm5lcnMtaW5saW5lIC5iYW5uZXItaXRlbS1jb250ZW50IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmJsb2NrLXByb2R1Y3QtbGluay53aWRnZXQsXG4uYmxvY2stY2F0ZWdvcnktbGluay53aWRnZXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTlweDsgfVxuXG4uYmxvY2stcHJvZHVjdC1saW5rLWlubGluZS53aWRnZXQge1xuICBtYXJnaW46IDA7IH1cblxuLmJsb2NrLndpZGdldCAucHJvZHVjdC1pdGVtLWluZm8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uYmxvY2sud2lkZ2V0IC5wYWdlciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmJsb2NrLndpZGdldCAucGFnZXIgLnRvb2xiYXItYW1vdW50IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAuYmxvY2sud2lkZ2V0IC5wYWdlciAucGFnZXMtaXRlbS1wcmV2aW91cyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5ibG9jay53aWRnZXQgLnBhZ2VyIC5wYWdlcy1pdGVtLW5leHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2sud2lkZ2V0IC5wYWdlciAuaXRlbXMge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0sXG4gIC5wYWdlLWxheW91dC0xY29sdW1uIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSxcbiAgLnBhZ2UtbGF5b3V0LTNjb2x1bW5zIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNpZGViYXIgLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zaWRlYmFyIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSAuYWN0aW9ucy1zZWNvbmRhcnkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5wYWdlLWxheW91dC0xY29sdW1uIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAucGFnZS1sYXlvdXQtM2NvbHVtbnMgLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5wYWdlLWxheW91dC0xY29sdW1uIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSA1ICogKDEwMCUgLyA2KSkgLyA0KTtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtOm50aC1jaGlsZCg0biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAlIC0gNSAqICgxMDAlIC8gNikpIC8gNCk7IH1cbiAgICAucGFnZS1sYXlvdXQtMWNvbHVtbiAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW06bnRoLWNoaWxkKDVuICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnBhZ2UtbGF5b3V0LTNjb2x1bW5zIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDQgKiAyNC40MzklKSAvIDMpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDI0LjQzOSU7IH1cbiAgICAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW06bnRoLWNoaWxkKDRuICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaWRlYmFyIC5ibG9jay53aWRnZXQgLnBhZ2VyIC5wYWdlcy1pdGVtLW5leHQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2lkZWJhciAuYmxvY2sud2lkZ2V0IC5wYWdlciAucGFnZXMtaXRlbS1uZXh0IC5hY3Rpb24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNvbHVtbnMgLmJsb2NrLWV2ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2stZXZlbnQgLmJsb2NrLWNvbnRlbnQgPiAuYWN0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCA+IC5hY3Rpb24uYmFja3dhcmQsIC5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCA+IC5hY3Rpb24uZm9yd2FyZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCA+IC5hY3Rpb24uYmFja3dhcmQgPiBzcGFuLCAuYmxvY2stZXZlbnQgLmJsb2NrLWNvbnRlbnQgPiAuYWN0aW9uLmZvcndhcmQgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgIC5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCA+IC5hY3Rpb24uYmFja3dhcmQ6YmVmb3JlLCAuYmxvY2stZXZlbnQgLmJsb2NrLWNvbnRlbnQgPiAuYWN0aW9uLmZvcndhcmQ6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiBcIu6Yl1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuYmxvY2stZXZlbnQgLmJsb2NrLWNvbnRlbnQgPiAuYWN0aW9uLmJhY2t3YXJkOmJlZm9yZSwgLmJsb2NrLWV2ZW50IC5ibG9jay1jb250ZW50ID4gLmFjdGlvbi5mb3J3YXJkOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICAgIC5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCA+IC5hY3Rpb24uYmFja3dhcmQge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCA+IC5hY3Rpb24uZm9yd2FyZCB7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgLmJsb2NrLWV2ZW50IC5ibG9jay1jb250ZW50ID4gLmFjdGlvbi5mb3J3YXJkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7piIXCI7IH1cbiAgICAgIC5ibG9jay1ldmVudCAuYmxvY2stY29udGVudCA+IC5hY3Rpb24uZm9yd2FyZDpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cbiAgICAuYmxvY2stZXZlbnQgLmJsb2NrLWNvbnRlbnQgPiAuYWN0aW9uLmluYWN0aXZlIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYmxvY2stZXZlbnQgLmJsb2NrLWNvbnRlbnQgPiAuYWN0aW9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0ge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgd2lkdGg6IDE2LjM1JTsgfVxuICAgICAgLnNpZGViYXItbWFpbiAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtLFxuICAgICAgLnNpZGViYXItYWRkaXRpb25hbCAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIC5jYXRlZ29yeS1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgcGFkZGluZzogMTVweCA1cHggMDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG4gICAgICAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIC50aWNrZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAudGlja2VyIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCA1cHg7IH1cbiAgICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAudGlja2VyIC52YWx1ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgICAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIC50aWNrZXIgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuZGF0ZXMge1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmRhdGVzIC5zdGFydCxcbiAgICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuZGF0ZXMgLmVuZCxcbiAgICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuZGF0ZXMgLmRhdGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmRhdGVzIC5zdGFydDphZnRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuZGF0ZXMgLmRhdGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuZGF0ZXMgLnRpbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgICAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIC5ib3gtZXZlbnQgLmJveC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgOS41cHg7IH1cbiAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmJveC1ldmVudCAuYm94LXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbjogOS41cHggMCAwOyB9XG4gICAgICAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIC5hY3Rpb24uc2hvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5zaG93IC5jYXRlZ29yeS5uYW1lIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAxMHB4IDA7IH1cbiAgICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLnNob3cgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzNiNGE0YjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNiNGE0YjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBcInNhbnMtc2VyaWZcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogN3B4IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5ldmVudDpmb2N1cywgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50OmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2YmI0O1xuICAgICAgICAgIGNvbG9yOiAjYjhiNDk2OyB9XG4gICAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5ldmVudDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2YmI0O1xuICAgICAgICAgIGNvbG9yOiAjYjhiNDk2OyB9XG4gICAgICAgIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5ldmVudC5kaXNhYmxlZCwgLmJsb2NrLWV2ZW50IC5zbGlkZXItcGFuZWwgLnNsaWRlciAuaXRlbSAuYWN0aW9uLmV2ZW50W2Rpc2FibGVkXSxcbiAgICAgICAgZmllbGRzZXRbZGlzYWJsZWRdIC5ibG9jay1ldmVudCAuc2xpZGVyLXBhbmVsIC5zbGlkZXIgLml0ZW0gLmFjdGlvbi5ldmVudCB7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgICAuYmxvY2stZXZlbnQgLnNsaWRlci1wYW5lbCAuc2xpZGVyIC5pdGVtIC5hY3Rpb24uZXZlbnQ6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYmxvY2stc3RhdGljLWJsb2NrLndpZGdldCxcbi5ibG9jay1jbXMtbGluay53aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG4gIC5saW5rcyAuYmxvY2stc3RhdGljLWJsb2NrLndpZGdldCwgLmxpbmtzXG4gIC5ibG9jay1jbXMtbGluay53aWRnZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJsb2NrLWNtcy1saW5rLWlubGluZS53aWRnZXQge1xuICBtYXJnaW46IDA7IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI0N1c3RvbSBJQkMgQ01TIGNvbnRlbnQgcGFnZXNcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNtcy1wYWdlLXZpZXcgLnBhZ2UtbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLmNtcy1wYWdlLXZpZXcgLmNvbHVtbi5tYWluIHVsLCAuY21zLXBhZ2UtdmlldyAuY29sdW1uLm1haW4gb2wge1xuICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuXG4uY21zLXBhZ2UtdmlldyAuY29sdW1uLm1haW4gdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtbiAuY29sdW1uLm1haW4ge1xuICBtYXgtd2lkdGg6IDcycmVtOyB9XG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bW4gLmNvbHVtbi5tYWluIC5tZXNzYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5ibG9jay13aXNobGlzdC1zZWFyY2ggLmZvcm0td2lzaGxpc3Qtc2VhcmNoIHtcbiAgbWFyZ2luOiAxOXB4IDAgMDsgfVxuXG4uYmxvY2stY21zLWhpZXJhcmNoeS1saW5rLndpZGdldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxOXB4OyB9XG5cbi5ibG9jay1jbXMtaGllcmFyY2h5LWxpbmstaW5saW5lLndpZGdldCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBNYWdlcGxhemEgQWpheCBMYXllciBtb2R1bGVcbiogICBNb2R1bGUgc3R5bGVzIGNvbnZlcnRlZCBmcm9tIExlc3MuXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5sbl9vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgaGVpZ2h0OiAzMDAlO1xuICBsZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDUwMCU7XG4gIHotaW5kZXg6IDU1NTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubG5fb3ZlcmxheSBpbWcge1xuICBtYXJnaW4tdG9wOiAzMDBweDtcbiAgbGVmdDogNDUlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5sbl9zbGlkZXJfY29udGFpbmVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBtYXJnaW46IDAgMTVweCAwIDVweDsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBNYWdlcGxhemEgTGF5ZXJlZCBOYXZpZ2F0aW9uIG1vZHVsZVxuKiAgIE1vZHVsZSBzdHlsZXMgY29udmVydGVkIGZyb20gTGVzcy5cbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxuX292ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1NTU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxuX292ZXJsYXkgaW1nIHtcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiA0NSU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5sbl9zbGlkZXJfY29udGFpbmVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBtYXJnaW46IDAgMTVweCAwIDVweDsgfVxuXG4ubGF5ZXJlZC1maWx0ZXItYmxvY2stY29udGFpbmVyIC5sbl90b29sdGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIE1hZ2VwbGF6YSBMYXllcmVkIE5hdmlnYXRpb24gUHJvIG1vZHVsZVxuKiAgIE1vZHVsZSBzdHlsZXMgY29udmVydGVkIGZyb20gTGVzcy5cbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYS5jaG9zZW4tc2luZ2xlLmNob3Nlbi1kZWZhdWx0LCAuY2hvc2VuLXNpbmdsZS13aXRoLWRlc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICB0b3A6IDNweDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XG5cbmxpLmFjdGl2ZS1yZXN1bHQuaGlnaGxpZ2h0ZWQge1xuICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJiciB7XG4gIHRvcDogOXB4ICFpbXBvcnRhbnQ7IH1cblxuLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG51bC5jaG9zZW4tcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNnB4OyB9XG5cbnVsLmNob3Nlbi1yZXN1bHRzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxudWwuY2hvc2VuLXJlc3VsdHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ubG5fc2xpZGVyX3JhbmdlIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ubG5fc2xpZGVyX3JhbmdlX2lucHV0IHtcbiAgd2lkdGg6IDYwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDsgfVxuXG4uZmlsdGVyLW9wdGlvbnMtY29udGVudCAucmF0aW5nLXN1bW1hcnkge1xuICBwYWRkaW5nLWJvdHRvbTogM3B4OyB9XG5cbi5maWx0ZXItb3B0aW9ucy1jb250ZW50IC5yYXRpbmctc3VtbWFyeS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAjbG5fc2xpZGVyX3JhbmdlX3ByaWNlIC5sbl9zbGlkZXJfZnJvbSB7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2xuX3NsaWRlcl9yYW5nZV9wcmljZSAubG5fc2xpZGVyX3RvIHtcbiAgICB3aWR0aDogNDUlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxuICAubG5fc2xpZGVyX2NvbnRhaW5lciBsYWJlbCB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5NXB4KSB7XG4gIC5sbl9zbGlkZXJfZnJvbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgLmxuX3NsaWRlcl90byB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgyMHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxuX3NsaWRlcl9yYW5nZV9pbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvOyB9XG4gIC5sbl9zbGlkZXJfcmFuZ2UgLmxuX3NsaWRlcl9yYW5nZV9pbnB1dF90byB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5sbl9zbGlkZXJfcmFuZ2UgLmxuX3NsaWRlcl9yYW5nZV9pbnB1dF90byB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ubG5fc2xpZGVyX2NvbnRhaW5lciBsYWJlbCB7XG4gIG1pbi13aWR0aDogNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLWxhYmVsLWxheWVyZWQge1xuICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7IH1cblxuLnN3YXRjaC1vcHRpb24tbGFiZWwtbGF5ZXJlZCAuc3dhdGNoLW9wdGlvbi50ZXh0IHtcbiAgcGFkZGluZy10b3A6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnN3YXRjaC10ZXh0IC5zd2F0Y2gtb3B0aW9uLmNvbG9yIHtcbiAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5sbl9zbGlkZXJfcmFuZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubG5fc2xpZGVyX3JhbmdlIC5sbl9zbGlkZXJfcmFuZ2VfaW5wdXRfdG8ge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4ubXBsYXllci1zdWJjYXRlZ29yeSB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4ubXBsYXllci1jYXRlZ29yeS1pdGVtIC5tcGxheWVyLWl0ZW0tc2xpZGVyIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICM1NzU3NTc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubXBsYXllci1jYXRlZ29yeS1pdGVtLWxhYmVsIHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH1cblxuLm1wbGF5ZXItY2F0ZWdvcnktaXRlbS1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDdweDsgfVxuXG4ubXBsYXllci1jYXRlZ29yeS1pdGVtLWxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICBtYXJnaW46IDA7IH1cblxuYS5tcGxheWVyLWl0ZW0tc2xpZGVyOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIExvY2FsIHRoZW1lIG92ZXJyaWRlcyAqL1xuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgQnJhbmRlZCB0aGVtaW5nIG9uIHRvcCBvZiBkZWZhdWx0IG1vZHVsZSBzdHlsZXMvbGF5b3V0XG4qXG4qICAgVEFCTEUgT0YgQ09OVEVOVFNcbiogICBjb21tb25cbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2NvbW1vblxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udG9vbGJhci1hbW91bnQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgY29sb3I6ICMzYjRhNGI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udG9vbGJhci1zb3J0ZXIge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRvb2xiYXItc29ydGVyIGxhYmVsIHtcbiAgICBjb2xvcjogIzNiNGE0YjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50b29sYmFyIHNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAxY2g7XG4gIHBhZGRpbmc6IDEuNXJlbSAzLjhyZW0gMS41cmVtIDJyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNGE0YjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2ljb25fX3NlbGVjdC0tZG93bi5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuNXJlbSBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50b29sYmFyIC5hY3Rpb24ge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIC50b29sYmFyIC5hY3Rpb246aG92ZXIsIC50b29sYmFyIC5hY3Rpb246Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAudG9vbGJhciAuYWN0aW9uOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5sb2FkLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgei1pbmRleDogOTk5OTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAubG9hZC5pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbG9hZGVyLTIuZ2lmXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBib3R0b206IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gIC5sb2FkLmluZGljYXRvciA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxvYWRpbmctbWFzayB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5sb2FkaW5nLW1hc2sgLmxvYWRlciA+IGltZyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwOyB9XG4gIC5sb2FkaW5nLW1hc2sgLmxvYWRlciA+IHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keSA+IC5sb2FkaW5nLW1hc2sge1xuICB6LWluZGV4OiA5OTk5OyB9XG5cbi5fYmxvY2stY29udGVudC1sb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIE92ZXJyaWRlIExheWVyZWROYXYgbG9hZGVycyAqL1xuLmxuX292ZXJsYXkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLmxuX292ZXJsYXkgaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4vKiBDdXN0b20gQ1NTIGxvYWRlciBhbmltYXRpb24gKGF0dGVtcHQgYXQgaW50ZWdyYXRpb24gd2l0aG91dCBvdmVyd3JpdGluZyBlYWNoIGFuZCBldmVyeSB0ZW1wbGF0ZSkgKi9cbi5wYWdlLWxheW91dC1jaGVja291dCAubG9hZGVyLFxuLnBhZ2Utd3JhcHBlciAubG9hZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTsgfVxuICAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmxvYWRlciBpbWcsXG4gIC5wYWdlLXdyYXBwZXIgLmxvYWRlciBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5sb2FkZXI6OmJlZm9yZSxcbiAgLnBhZ2Utd3JhcHBlciAubG9hZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICAgIGJvcmRlcjogMC42cmVtIGRvdWJsZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICAgIGFuaW1hdGlvbjogY3NzbG9hZC1zcGluIDY5MG1zIGluZmluaXRlIGxpbmVhcjsgfVxuXG5Aa2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBCcmFuZGVkIHRoZW1pbmcgb24gdG9wIG9mIGRlZmF1bHQgbW9kdWxlIHN0eWxlcy9sYXlvdXRcbipcbiogICBUQUJMRSBPRiBDT05URU5UU1xuKiAgIGNvbW1vblxuKiAgIGNvbG9yIHN3YXRjaGVzXG4qICAgcmFuZ2Ugc2xpZGVyXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNjb21tb25cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJsb2NrLmZpbHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJsb2NrLmZpbHRlciAuZmlsdGVyLXRpdGxlIHtcbiAgICBtYXJnaW46IDEuNHJlbSAwIDFyZW07XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgY29sb3I6ICM5MzliOWM7IH1cbiAgICAuYmxvY2suZmlsdGVyIC5maWx0ZXItdGl0bGUgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG5cbi8qIFR5cGUgb2YgZmlsdGVyLiBHcm91cCBvZiBvcHRpb25zLiAqL1xuLmZpbHRlci1vcHRpb25zLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZWZlZmU4OyB9XG5cbi5maWx0ZXItb3B0aW9ucy1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZSB7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjM2I0YTRiOyB9XG5cbi5maWx0ZXItb3B0aW9ucy1pdGVtW2RhdGEtY29sbGFwc2libGU9XCJ0cnVlXCJdIC5maWx0ZXItb3B0aW9ucy10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDQuNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZmlsdGVyLW9wdGlvbnMtaXRlbVtkYXRhLWNvbGxhcHNpYmxlPVwidHJ1ZVwiXSAuZmlsdGVyLW9wdGlvbnMtdGl0bGUgPiBzcGFuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG4gIC5maWx0ZXItb3B0aW9ucy1pdGVtW2RhdGEtY29sbGFwc2libGU9XCJ0cnVlXCJdIC5maWx0ZXItb3B0aW9ucy10aXRsZTphZnRlciB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzNiNGE0YjtcbiAgICBjb250ZW50OiBcIu6YolwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZpbHRlci1vcHRpb25zLWl0ZW1bZGF0YS1jb2xsYXBzaWJsZT1cInRydWVcIl0gLmZpbHRlci1vcHRpb25zLXRpdGxlOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogIzNiNGE0YjsgfVxuICAuZmlsdGVyLW9wdGlvbnMtaXRlbVtkYXRhLWNvbGxhcHNpYmxlPVwidHJ1ZVwiXSAuZmlsdGVyLW9wdGlvbnMtdGl0bGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNHJlbTtcbiAgICB0b3A6IDAuOXJlbTsgfVxuXG4uZmlsdGVyLW9wdGlvbnMtaXRlbS5hY3RpdmVbZGF0YS1jb2xsYXBzaWJsZT1cInRydWVcIl0gLmZpbHRlci1vcHRpb25zLXRpdGxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7pihXCI7IH1cblxuLyogQWN0dWFsIG9wdGlvbnMgd2l0aGluIGEgdHlwZS9ncm91cCAqL1xuLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjJyZW0gMS41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZhO1xuICBjb2xvcjogIzNiNGE0YjtcbiAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IC5pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07IH1cbiAgICAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQgLml0ZW0gYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQgLml0ZW0gYSxcbiAgICAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQgLml0ZW0gLmNvdW50IHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBJbmRpdmlkdWFsIG9wdGlvbnMgKi9cbi5maWx0ZXItb3B0aW9ucyAubGF5ZXItaW5wdXQtbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDMuMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmlsdGVyLW9wdGlvbnMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIC0+IGNoZWNrYm94IGlzIChhcHBhcmVudGx5KSBub3QgbmVlZGVkIGFuZCBoYXMgbm8gYXNzb2NpYXRlZCBsYWJlbCAqLyB9XG4gIC5maWx0ZXItb3B0aW9ucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyAubGF5ZXItaW5wdXQtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMnJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkY2RhY2I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZmlsdGVyLW9wdGlvbnMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgLmxheWVyLWlucHV0LWxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZTg7IH1cbiAgLmZpbHRlci1vcHRpb25zIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtjaGVja2VkXSArIC5sYXllci1pbnB1dC1sYWJlbDo6YWZ0ZXIsXG4gIC5maWx0ZXItb3B0aW9ucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5sYXllci1pbnB1dC1sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7piQXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5maWx0ZXItb3B0aW9ucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bZGlzYWJsZWRdICsgLmxheWVyLWlucHV0LWxhYmVsIHtcbiAgICBjb2xvcjogIzlkYTRhMzsgfVxuICAgIC5maWx0ZXItb3B0aW9ucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bZGlzYWJsZWRdICsgLmxheWVyLWlucHV0LWxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4vKiBTdWJpdGVtcyAqL1xuLyogLT4gc2hvdyB0aGUgc3ViaXRlbXMgb25seSBpZiB0aGUgcGFyZW50IGl0ZW0gaGFzIGJlZW4gY2hlY2tlZCAqL1xuLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50ID4gLml0ZW1zID4gLml0ZW0gPiBvbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW0gMCAxcmVtIDMuMnJlbTsgfVxuXG4uZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQgPiAuaXRlbXMgPiAuaXRlbSBvbCA+IGEge1xuICBtYXJnaW4tYm90dG9tOiAwLjZyZW07IH1cbiAgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50ID4gLml0ZW1zID4gLml0ZW0gb2wgPiBhOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50ID4gLml0ZW1zID4gLml0ZW0gPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IG9sIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogQWN0aXZlIGZpbHRlcnMgKyByZWxhdGVkIGFjdGlvbnMgKi9cbi5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50ICsgLmZpbHRlci10aXRsZSxcbi5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1hY3Rpb25zICsgLmZpbHRlci10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAxLjZyZW07XG4gIGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCAjZWZlZmU4OyB9XG5cbi5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50ICsgLmZpbHRlci1hY3Rpb25zIHtcbiAgbWFyZ2luOiAxLjJyZW0gMCAxLjZyZW07XG4gIHBhZGRpbmc6IDAgMS41cmVtOyB9XG5cbi5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50IHtcbiAgY29sb3I6ICMzYjRhNGI7XG4gIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gIC5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50IC5pdGVtcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAubGF5ZXJlZC1maWx0ZXItYmxvY2stY29udGFpbmVyIC5maWx0ZXItY3VycmVudCAuaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC8qIGluY3JlYXNlIGhpdCBhcmVhIHNvIGVudGlyZSBsYWJlbCBpcyBjbGlja2FibGUgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGF5ZXJlZC1maWx0ZXItYmxvY2stY29udGFpbmVyIC5maWx0ZXItY3VycmVudCAuaXRlbSAuZmlsdGVyLWxhYmVsIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50IC5pdGVtOmhvdmVyIC5maWx0ZXItdmFsdWUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubGF5ZXJlZC1maWx0ZXItYmxvY2stY29udGFpbmVyIC5maWx0ZXItY3VycmVudCAuaXRlbSAucmVtb3ZlIHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIC8qIEluY3JlYXNlIGhpdCBhcmVhICovIH1cbiAgICAgIC5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50IC5pdGVtIC5yZW1vdmU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7piWXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgLmxheWVyZWQtZmlsdGVyLWJsb2NrLWNvbnRhaW5lciAuZmlsdGVyLWN1cnJlbnQgLml0ZW0gLnJlbW92ZTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmxheWVyZWQtZmlsdGVyLWJsb2NrLWNvbnRhaW5lciAuZmlsdGVyLWN1cnJlbnQgLml0ZW0gLnJlbW92ZTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50IC5pdGVtIC5yZW1vdmUgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgIC5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50IC5pdGVtIC5yZW1vdmU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9XG5cbi5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jdXJyZW50LXN1YnRpdGxlIHtcbiAgbWFyZ2luOiAwLjNyZW0gMS41cmVtIDFyZW07IH1cblxuLmxheWVyZWQtZmlsdGVyLWJsb2NrLWNvbnRhaW5lciAuZmlsdGVyLWNsZWFyIHtcbiAgY29sb3I6ICMzYjRhNGI7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubGF5ZXJlZC1maWx0ZXItYmxvY2stY29udGFpbmVyIC5maWx0ZXItY2xlYXI6aG92ZXIsIC5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmZpbHRlci1jbGVhcjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNjb2xvciBzd2F0Y2hlc1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc3dhdGNoLWxheWVyZWQuY29sb3IgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gIG1hcmdpbjogMDsgfVxuXG4uc3dhdGNoLWxheWVyZWQuY29sb3IgLnN3YXRjaC1vcHRpb24tbGFiZWwtbGF5ZXJlZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNnJlbSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzNiNGE0YjtcbiAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgLnN3YXRjaC1sYXllcmVkLmNvbG9yIC5zd2F0Y2gtb3B0aW9uLWxhYmVsLWxheWVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5zd2F0Y2gtbGF5ZXJlZC5jb2xvciAuc3dhdGNoLW9wdGlvbiB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDAgMXJlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAyLjJyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBtaW4td2lkdGg6IDA7IH1cbiAgLnN3YXRjaC1sYXllcmVkLmNvbG9yIC5zd2F0Y2gtb3B0aW9uLmltYWdlOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAuc3dhdGNoLWxheWVyZWQuY29sb3IgLnN3YXRjaC1vcHRpb24uY29sb3I6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgIG91dGxpbmUtY29sb3I6ICNiOGI0OTY7IH1cbiAgLnN3YXRjaC1sYXllcmVkLmNvbG9yIC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkLCAuc3dhdGNoLWxheWVyZWQuY29sb3IgLnN3YXRjaC1vcHRpb24uc2VsZWN0ZWQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDAwMDA7IH1cblxuLyogTmV2ZXIgc2hvdyB0aGUgaG92ZXIgdG9vbHRpcCBjb2xvciBjbG9zZXVwICovXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwW3N0eWxlXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjcmFuZ2Ugc2xpZGVyXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLW9wdGlvbnMtY29udGVudCAubG5fc2xpZGVyX2NvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEuMnJlbSAwIDAuNXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gIG1hcmdpbjogMCAxLjVyZW0gMCAwLjVyZW07IH1cblxuLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IC51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuOHJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmU4OyB9XG4gIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLW9wdGlvbnMtY29udGVudCAudWktc2xpZGVyLWhvcml6b250YWwgKyBkaXYge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IC51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLW9wdGlvbnMtY29udGVudCAudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDIuNHJlbTtcbiAgd2lkdGg6IDAuOHJlbTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzNiNGE0YjtcbiAgYm9yZGVyLXJhZGl1czogMC4xcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I0YTRiOyB9XG5cbi5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLW9wdGlvbnMtY29udGVudCAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUge1xuICB0b3A6IC0wLjhyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC40cmVtOyB9XG5cbi5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLW9wdGlvbnMtY29udGVudCAubG5fc2xpZGVyX3JhbmdlIHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG4uZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItd2lkdGg6IDAuMXJlbTsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjc21hbGwgc2NyZWVucywgbm8gc3BhY2UgZm9yIHNpZGViYXIgZmlsdGVyc1xuKiAgIEZpbHRlcnMgdG9nZ2xlLCBvdmVybGF5IGV0Yy5cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnBhZ2UtcHJvZHVjdHMgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5wYWdlLXByb2R1Y3RzIC5zb3J0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAucGFnZS1wcm9kdWN0cyAuc29ydGVyIGxhYmVsIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAuZmlsdGVyLWFjdGl2ZSAucGFnZS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAuZmlsdGVyLWFjdGl2ZSAubmF2LXNlY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWx0ZXItb3B0aW9ucyxcbiAgLmZpbHRlci1zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmxvY2suZmlsdGVyIC5maWx0ZXItdGl0bGUgc3Ryb25nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMS40cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMzYjRhNGI7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuYmxvY2suZmlsdGVyIC5maWx0ZXItdGl0bGUgc3Ryb25nOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLupJBcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5ibG9jay5maWx0ZXIuYWN0aXZlIHtcbiAgICAvKiBkZXNrdG9wIHRpdGxlIHR1cm5zIGludG8gY2xvc2UgYnV0dG9uLCBcInRoZSBNYWdlbnRvIHdheVwiICovIH1cbiAgICAuYmxvY2suZmlsdGVyLmFjdGl2ZSAuZmlsdGVyLW9wdGlvbnMge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIHotaW5kZXg6IDg4OyB9XG4gICAgLmJsb2NrLmZpbHRlci5hY3RpdmUgLmZpbHRlci1zdWJ0aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZTg7IH1cbiAgICAuYmxvY2suZmlsdGVyLmFjdGl2ZSAuZmlsdGVyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDkwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmJsb2NrLmZpbHRlci5hY3RpdmUgLmZpbHRlci10aXRsZSBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgICAgICAuYmxvY2suZmlsdGVyLmFjdGl2ZSAuZmlsdGVyLXRpdGxlIHN0cm9uZzo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAgIC5ibG9jay5maWx0ZXIuYWN0aXZlIC5maWx0ZXItdGl0bGUgc3Ryb25nOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLumJZcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICMzYjRhNGI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjZGVza3RvcFxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZmlsdGVyLXN1YnRpdGxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9IH1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wYWdlLW1haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdF9fbWFpbi13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMnJlbTsgfVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1tYWluLS1pbm5lciB7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNTtcbiAgY29sb3I6ICMzYjRhNGI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLW1haW4tLWlubmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07IH0gfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1tYWluLS1pbm5lciAucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgZm9udC1zaXplOiAzLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIgLmRlc2NyaXB0aW9uX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLW1haW4tLWlubmVyIC5wcm9kdWN0LmF0dHJpYnV0ZS5vdmVydmlldyB1bCxcbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIgLnByb2R1Y3QuYXR0cmlidXRlLm92ZXJ2aWV3IG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1tYWluLS1pbm5lciAucHJvZHVjdC5hdHRyaWJ1dGUub3ZlcnZpZXcgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1sYWJlbHMge1xuICBtYXJnaW4tdG9wOiA0LjRyZW07XG4gIGNvbG9yOiAjNGY1ZDVlO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tbGFiZWxzIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfSB9XG5cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLWN1c3RvbV9fYXZhaWxhYmlsaXR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLWN1c3RvbV9fYXZhaWxhYmlsaXR5IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1jdXN0b21fX2F2YWlsYWJpbGl0eSAucHJvZHVjdC1pbmZvLXByaWNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNHJlbTsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1jdXN0b21fX2F2YWlsYWJpbGl0eSAuc3RvY2sge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLWN1c3RvbV9fYXZhaWxhYmlsaXR5IC5zdG9jay5hdmFpbGFibGUgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tY3VzdG9tX19hdmFpbGFiaWxpdHkgLnN0b2NrLmF2YWlsYWJsZSA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiBcIu6YkFwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICAgICAgbWFyZ2luOiAwIDAuOHJlbSAwIDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1tYWluLS1pbm5lciAuY3VzdG9tX2F0dHJpYnV0ZXMge1xuICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIgLmN1c3RvbV9hdHRyaWJ1dGUge1xuICBwYWRkaW5nOiAwLjhyZW07XG4gIG1hcmdpbjogMC44cmVtIDEuNnJlbSAwLjhyZW0gMDtcbiAgbWluLXdpZHRoOiAxM3JlbTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZhO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIgLmN1c3RvbV9hdHRyaWJ1dGUge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIgLmN1c3RvbV9hdHRyaWJ1dGUge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtaW5mby1tYWluLS1pbm5lciAuY3VzdG9tX2F0dHJpYnV0ZSAubGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLW1haW4tLWlubmVyIC5jdXN0b21fYXR0cmlidXRlIC52YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICM2Yzc3Nzg7IH1cblxuQHN1cHBvcnRzIChncmlkLWFyZWE6IGF1dG8pIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLW1haW4tLWlubmVyIC5kZXNjcmlwdGlvbl9jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLW1haW4tLWlubmVyIC5jdXN0b21fYXR0cmlidXRlcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgcm93LWdhcDogMS42cmVtO1xuICAgICAgY29sdW1uLWdhcDogMS42cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxM3JlbSwgbWF4LWNvbnRlbnQpKTsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIgLmN1c3RvbV9hdHRyaWJ1dGVzIC5jdXN0b21fYXR0cmlidXRlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1pbmZvLW1haW4tLWlubmVyIC5jdXN0b21fYXR0cmlidXRlcyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9IH1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0X19hZGRpdGlvbmFsLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY1OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMzNHB4KSB7XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0X19hZGRpdGlvbmFsLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3RfX2FkZGl0aW9uYWwtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdF9fYWRkaXRpb25hbC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtOyB9IH1cblxuLyogcXVhbnRpdHkgKyBhZGQgdG8gY2FydCBmb3JtICovXG4ucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtYWRkLWZvcm0gZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIC5wcm9kdWN0LWFkZC1mb3JtIGZvcm0gPiBidXR0b24sIC5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC1hZGQtZm9ybSAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgZm9ybSA+IC5hY3Rpb24sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtYWRkLWZvcm0gZm9ybSA+IC5hY3Rpb24sIC5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC1hZGQtZm9ybSBmb3JtID4gLmFjdGlvbi1naWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgYnV0dG9uLCAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb24sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLmFjdGlvbiwgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5hY3Rpb24tZ2lmdCB7XG4gICAgcGFkZGluZzogMC4ycmVtO1xuICAgIG1pbi13aWR0aDogNS42cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDUuNnJlbTtcbiAgICB0cmFuc2l0aW9uOiAyNTBtcyBsaW5lYXI7XG4gICAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzNiNGE0YjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNGE0YjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgYnV0dG9uOmhvdmVyLCAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5hY3Rpb246aG92ZXIsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLmFjdGlvbjpob3ZlciwgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5hY3Rpb24tZ2lmdDpob3ZlciwgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IGJ1dHRvbjpmb2N1cywgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYWN0aW9uOmZvY3VzLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5hY3Rpb246Zm9jdXMsIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAuYWN0aW9uLWdpZnQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjhiNDk2OyB9XG4gICAgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IGJ1dHRvbi5wcmltYXJ5LCAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5wcmltYXJ5LmFjdGlvbiwgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAucHJpbWFyeS5hY3Rpb24sIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAucHJpbWFyeS5hY3Rpb24tZ2lmdCB7XG4gICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLnByaW1hcnkuYWN0aW9uOmhvdmVyLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5wcmltYXJ5LmFjdGlvbjpob3ZlciwgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5wcmltYXJ5LmFjdGlvbi1naWZ0OmhvdmVyLCAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLnByaW1hcnkuYWN0aW9uOmZvY3VzLCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5wcmltYXJ5LmFjdGlvbjpmb2N1cywgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5wcmltYXJ5LmFjdGlvbi1naWZ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjhiNDk2O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I0YTRiO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCBidXR0b24udG9jYXJ0ID4gc3BhbiwgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAudG9jYXJ0LmFjdGlvbiA+IHNwYW4sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnRvY2FydC5hY3Rpb24gPiBzcGFuLCAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnRvY2FydC5hY3Rpb24tZ2lmdCA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgYnV0dG9uLnRvY2FydCA+IHNwYW46YmVmb3JlLCAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIC50b2NhcnQuYWN0aW9uID4gc3BhbjpiZWZvcmUsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnRvY2FydC5hY3Rpb24gPiBzcGFuOmJlZm9yZSwgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC50b2NhcnQuYWN0aW9uLWdpZnQgPiBzcGFuOmJlZm9yZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29udGVudDogXCLupIpcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZHVvLWljb25zXCI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IGJ1dHRvbi50b2NhcnQgPiBzcGFuOjpiZWZvcmUsIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLnRvY2FydC5hY3Rpb24gPiBzcGFuOjpiZWZvcmUsIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnRvY2FydC5hY3Rpb24gPiBzcGFuOjpiZWZvcmUsIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAudG9jYXJ0LmFjdGlvbi1naWZ0ID4gc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjJyZW07XG4gICAgICAgIGNvbG9yOiAjN2U4ODg5O1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5maWVsZHNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMCAtMS4ycmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAucHJvZHVjdC1vcHRpb25zLXF1YW50aXR5IHtcbiAgICBmbGV4OiAxIDEgMzUlO1xuICAgIG1pbi13aWR0aDogMTYuOHJlbTtcbiAgICBtYXJnaW46IDAgMS4ycmVtIDA7IH1cbiAgICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLnByb2R1Y3Qtb3B0aW9ucy1xdWFudGl0eSAubnVtYmVyLXNwaW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAucHJvZHVjdC1vcHRpb25zLXF1YW50aXR5IHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAuY29udHJvbC5xdHkgbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5hY3Rpb25zIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luOiAwIDEuMnJlbSAyLjRyZW07XG4gICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7IH1cbiAgICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLmFjdGlvbnMgLnByaW1hcnkge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4vKiBTVEFSVCA6OiBjdXN0b20gT3JkZXJpbmcgYmxvY2sgKi9cbi5wZC1zZWdtZW50cy1ibG9ja19fdGl0bGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIGNvbG9yOiAjNWI4YTk3OyB9XG5cbi5wZC1zZWdtZW50cy1ibG9ja19fdGl0bGUtY29udGFpbmVyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIHBhZGRpbmctcmlnaHQ6IDQuOHJlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTc7IH1cblxuLnBkLXNlZ21lbnRzLWJsb2NrX190aXRsZS1jb250YWluZXItZGVjb3JhdGlvbiB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5wZC1zZWdtZW50cy1ibG9ja19fdGl0bGUtY29udGFpbmVyLWRlY29yYXRpb24gc3ZnIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucGQtb3JkZXItYmxvY2tfX3BhY2thZ2VzLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMi4ycmVtO1xuICBjb2xvcjogIzI4MTcxZDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5wZC1wYWNrYWdlcy1ibG9jayAuaXRlbS1saXN0IHtcbiAgbWFyZ2luOiAwIC0xLjZyZW0gMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucGQtcGFja2FnZXMtYmxvY2sgLml0ZW0tbGlzdCA+IGxpIHtcbiAgICBmbGV4OiAwIDEgMzMuMzMzMyU7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4ycmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLnBkLXBhY2thZ2VzLWJsb2NrIC5pdGVtLWxpc3QgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlOyB9IH1cblxuLnByb2R1Y3QtcGFja2FnZS1pdGVtIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgbWFyZ2luOiAwIDEuNnJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5wcm9kdWN0LXBhY2thZ2UtaXRlbV9fc2t1IHtcbiAgbWFyZ2luOiAwIDAgMC42ZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnByb2R1Y3QtcGFja2FnZS1pdGVtX19saW5lOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwLjJyZW07IH1cblxuLyogRU5EIDo6IGN1c3RvbSBPcmRlcmluZyBibG9jayAqL1xuLyogU1RBUlQgOjogcmVsYXRlZCBwcm9kdWN0cyAqL1xuLnByb2R1Y3RzLXJlbGF0ZWQgLmFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucHJvZHVjdHMtcmVsYXRlZCAucHJvZHVjdC1pdGVtLWxpbmstLW1vcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZmxleDogMSAxIGF1dG87IH1cbiAgLnByb2R1Y3RzLXJlbGF0ZWQgLnByb2R1Y3QtaXRlbS1saW5rLS1tb3JlOmZvY3VzLCAucHJvZHVjdHMtcmVsYXRlZCAucHJvZHVjdC1pdGVtLWxpbmstLW1vcmU6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTJlMmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZGNkY2Q7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLnByb2R1Y3RzLXJlbGF0ZWQgLnByb2R1Y3QtaXRlbS1saW5rLS1tb3JlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNiOGI0OTY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnByb2R1Y3RzLXJlbGF0ZWQgLnByb2R1Y3QtaXRlbS1saW5rLS1tb3JlLmRpc2FibGVkLCAucHJvZHVjdHMtcmVsYXRlZCAucHJvZHVjdC1pdGVtLWxpbmstLW1vcmVbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLnByb2R1Y3RzLXJlbGF0ZWQgLnByb2R1Y3QtaXRlbS1saW5rLS1tb3JlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIEVORCA6OiByZWxhdGVkIHByb2R1Y3RzICovXG4vKiBTVEFSVCA6OiB1bmRvIGRlZmF1bHQgbGF5b3V0cyAqL1xuLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QtaW5mby1tYWluLFxuLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QubWVkaWEsXG4ucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAucHJvZHVjdC1pbmZvLW1haW4sXG4ucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAucHJvZHVjdC5tZWRpYSxcbi5wYWdlLWxheW91dC0yY29sdW1ucy1yaWdodCAucHJvZHVjdC1pbmZvLW1haW4sXG4ucGFnZS1sYXlvdXQtMmNvbHVtbnMtcmlnaHQgLnByb2R1Y3QubWVkaWEsXG4ucGFnZS1sYXlvdXQtM2NvbHVtbnMgLnByb2R1Y3QtaW5mby1tYWluLFxuLnBhZ2UtbGF5b3V0LTNjb2x1bW5zIC5wcm9kdWN0Lm1lZGlhIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qIEVORCA6OiB1bmRvIGRlZmF1bHQgbGF5b3V0cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3RfX21haW4td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0X19tYWluLXdyYXBwZXIgLnByb2R1Y3QtaW5mby1tYWluIHtcbiAgICAgIGZsZXg6IDAgMSA0MCU7IH1cbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdF9fbWFpbi13cmFwcGVyIC5wcm9kdWN0LWluZm8tbWFpbiAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0X19tYWluLXdyYXBwZXIgLnByb2R1Y3QtaW5mby1tYWluIC5wcm9kdWN0LWFkZC1mb3JtIGZvcm0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0X19tYWluLXdyYXBwZXIgLnByb2R1Y3QtaW5mby1tYWluIC5wcm9kdWN0LWFkZC1mb3JtIGZvcm0gPiBidXR0b24sIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdF9fbWFpbi13cmFwcGVyIC5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC1hZGQtZm9ybSAucGFnZS1sYXlvdXQtY2hlY2tvdXQgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgZm9ybSA+IC5hY3Rpb24sIC5wYWdlLWxheW91dC1jaGVja291dCAuYXV0aGVudGljYXRpb24td3JhcHBlciAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3RfX21haW4td3JhcHBlciAucHJvZHVjdC1pbmZvLW1haW4gLnByb2R1Y3QtYWRkLWZvcm0gZm9ybSA+IC5hY3Rpb24sIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdF9fbWFpbi13cmFwcGVyIC5wcm9kdWN0LWluZm8tbWFpbiAucHJvZHVjdC1hZGQtZm9ybSBmb3JtID4gLmFjdGlvbi1naWZ0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNC44cmVtOyB9XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0X19tYWluLXdyYXBwZXIgLnByb2R1Y3QubWVkaWEge1xuICAgICAgZmxleDogMCAxIDU3JTsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdF9fbWFpbi13cmFwcGVyIC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIge1xuICAgICAgcGFkZGluZzogMy4ycmVtIDQuNHJlbSA0cmVtIDUuMnJlbTsgfVxuICAucHJvZHVjdF9fYWRkaXRpb25hbC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICBwYWRkaW5nOiA0cmVtIDAgNi41cmVtOyB9XG4gICAgLnByb2R1Y3RfX2FkZGl0aW9uYWwtd3JhcHBlciA+ICoge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEzMzVweDsgfSB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIENBVEFMT0cgU0VBUkNIXG4qICAgTW9zdGx5IHJlc3BvbnNpdmUgZmluZXR1bmluZyBvZiBzZWFyY2ggYmxvY2sgd2hpY2ggaXNcbiogICBvdGhlcndpc2UgbW9zdGx5IHRoZW1lZCBpbnNpZGUgX2hlYWRlci5zY3NzIHBhcnRpYWwuXG4qXG4qICAgVEFCTEUgT0YgQ09OVEVOVFNcbiogICBtb2JpbGUgbGF5b3V0XG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNtb2JpbGUgbGF5b3V0XG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1pbmlzZWFyY2gtYnRuOmhvdmVyLCAubWluaXNlYXJjaC1idG46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjc7IH1cbiAgLmJsb2NrLXNlYXJjaC5pcy1vcGVuIHtcbiAgICAvKiBkbyBub3Qgc2hvdyBhdXRjb21wbGV0ZSBkcm9wZG93biBvdXRzaWRlIG9mIG1vYmlsZSBzZWFyY2ggZHJvcGRvd24gKi8gfVxuICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiAubWluaXNlYXJjaC1idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmNzsgfVxuICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiBsYWJlbCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW46IC0xcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxcHg7IH1cbiAgICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiAuc2VhcmNoLWF1dG9jb21wbGV0ZSwgLmJsb2NrLXNlYXJjaC5pcy1vcGVuIC5zZWFyY2gtYXV0b2NvbXBsZXRlW3N0eWxlXSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuYmxvY2stc2VhcmNoLmlzLW9wZW4gLm1pbmlzZWFyY2gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogODY7XG4gICAgICBtaW4td2lkdGg6IDI0cmVtO1xuICAgICAgbWF4LXdpZHRoOiA0NHJlbTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMC40cmVtKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNlZmVmZTg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuYmxvY2stc2VhcmNoLmlzLW9wZW4gLm1pbmlzZWFyY2g6OmJlZm9yZSwgLmJsb2NrLXNlYXJjaC5pcy1vcGVuIC5taW5pc2VhcmNoOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBib3JkZXI6IDAuNnJlbSBzb2xpZDsgfVxuICAgICAgLmJsb2NrLXNlYXJjaC5pcy1vcGVuIC5taW5pc2VhcmNoOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0xLjJyZW07XG4gICAgICAgIHJpZ2h0OiAxLjZyZW07XG4gICAgICAgIHotaW5kZXg6IDQyO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiAubWluaXNlYXJjaDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0xLjRyZW07XG4gICAgICAgIHJpZ2h0OiAxLjZyZW07XG4gICAgICAgIHotaW5kZXg6IDQwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuN3JlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWZlZmU4IHRyYW5zcGFyZW50OyB9XG4gICAgLmJsb2NrLXNlYXJjaC5pcy1vcGVuIC5jb250cm9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiAuY29udHJvbCBpbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLmJsb2NrLXNlYXJjaC5pcy1vcGVuIC5hY3Rpb24uc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiAuYWN0aW9uLnNlYXJjaCA+IHNwYW4ge1xuICAgICAgICBjbGlwOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5ibG9jay1zZWFyY2guaXMtb3BlbiAuYWN0aW9uLnNlYXJjaCBzdmcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAuYmxvY2stc2VhcmNoLmlzLW9wZW4gLm1pbmlzZWFyY2gge1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgwLjRyZW0pOyB9XG4gICAgLmJsb2NrLXNlYXJjaC5pcy1vcGVuIC5taW5pc2VhcmNoOjpiZWZvcmUge1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAwLjZyZW0pO1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAuYmxvY2stc2VhcmNoLmlzLW9wZW4gLm1pbmlzZWFyY2g6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMC43cmVtKTtcbiAgICAgIHJpZ2h0OiBhdXRvOyB9IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgQnJhbmRpbmcgb3ZlcnJpZGVzIGZvciBNYWdlbnRvIEN1c3RvbWVyIG1vZHVsZSBhbmQgd2lkZ2V0c1xuKlxuKiAgIFRBQkxFIE9GIENPTlRFTlRTXG4qICAgLSBQYWdlIG92ZXJyaWRlc1xuKiAgIC0gRm9ybSBzcGFjaW5nXG4qICAgLSBQYXNzd29yZCB3aWRnZXRcbiogICAtIExvZ2luXG4qICAgLSBBY2NvdW50IHBhZ2VzXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNQYWdlIG92ZXJyaWRlc1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY3VzdG9tZXItYWNjb3VudC1sb2dpbiAucGFnZS1tYWluLFxuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLnBhZ2UtbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI0Zvcm0gc3BhY2luZ1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZm9ybS5wYXNzd29yZC5yZXNldCxcbi5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuLmZvcm0ucGFzc3dvcmQuZm9yZ2V0LFxuLmZvcm0uY3JlYXRlLmFjY291bnQge1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuICAuZm9ybS5wYXNzd29yZC5yZXNldCAuYWN0aW9ucy10b29sYmFyLFxuICAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuYWN0aW9ucy10b29sYmFyLFxuICAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmFjdGlvbnMtdG9vbGJhcixcbiAgLmZvcm0uY3JlYXRlLmFjY291bnQgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5hY3Rpb25zLXRvb2xiYXI6OmJlZm9yZSwgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmFjdGlvbnMtdG9vbGJhcjo6YWZ0ZXIsXG4gICAgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmFjdGlvbnMtdG9vbGJhcjo6YmVmb3JlLFxuICAgIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5hY3Rpb25zLXRvb2xiYXI6OmFmdGVyLFxuICAgIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuYWN0aW9ucy10b29sYmFyOjpiZWZvcmUsXG4gICAgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5hY3Rpb25zLXRvb2xiYXI6OmFmdGVyLFxuICAgIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5hY3Rpb25zLXRvb2xiYXI6OmJlZm9yZSxcbiAgICAuZm9ybS5jcmVhdGUuYWNjb3VudCAuYWN0aW9ucy10b29sYmFyOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb24sXG4gICAgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb24sXG4gICAgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uLFxuICAgIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uIHtcbiAgICAgIGNvbG9yOiAjM2I0YTRiO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uOmhvdmVyLCAuZm9ybS5wYXNzd29yZC5yZXNldCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgLmFjdGlvbjpmb2N1cyxcbiAgICAgIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uOmhvdmVyLFxuICAgICAgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb246Zm9jdXMsXG4gICAgICAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb246aG92ZXIsXG4gICAgICAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb246Zm9jdXMsXG4gICAgICAuZm9ybS5jcmVhdGUuYWNjb3VudCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgLmFjdGlvbjpob3ZlcixcbiAgICAgIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmFjdGlvbnMtdG9vbGJhcixcbiAgICAgIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5hY3Rpb25zLXRvb2xiYXIsXG4gICAgICAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmFjdGlvbnMtdG9vbGJhcixcbiAgICAgIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmFjdGlvbnMtdG9vbGJhciA+ICosXG4gICAgICAgIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5hY3Rpb25zLXRvb2xiYXIgPiAqLFxuICAgICAgICAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmFjdGlvbnMtdG9vbGJhciA+ICosXG4gICAgICAgIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5hY3Rpb25zLXRvb2xiYXIgPiAqIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmVtYWlsIGxhYmVsIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZW1haWwgLmNvbnRyb2wge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDRyZW07IH1cbiAgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogNDRyZW07IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjUGFzc3dvcmQgd2lkZ2V0XG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYXNzd29yZC1zdHJlbmd0aC1tZXRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5wYXNzd29yZC1zdHJlbmd0aC1tZXRlcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNMb2dpblxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubG9naW4tY29udGFpbmVyIC5ibG9jay1uZXctY3VzdG9tZXIgYS5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZDogIzNiNGE0YjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBcInNhbnMtc2VyaWZcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2stbmV3LWN1c3RvbWVyIGEucHJpbWFyeTpmb2N1cywgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2stbmV3LWN1c3RvbWVyIGEucHJpbWFyeTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAubG9naW4tY29udGFpbmVyIC5ibG9jay1uZXctY3VzdG9tZXIgYS5wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNiOGI0OTY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2stbmV3LWN1c3RvbWVyIGEucHJpbWFyeS5kaXNhYmxlZCwgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2stbmV3LWN1c3RvbWVyIGEucHJpbWFyeVtkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubG9naW4tY29udGFpbmVyIC5ibG9jay1uZXctY3VzdG9tZXIgYS5wcmltYXJ5IHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxvZ2luLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAubG9naW4tY29udGFpbmVyOjpiZWZvcmUsIC5sb2dpbi1jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAubG9naW4tY29udGFpbmVyIC5maWVsZHNldCA+IC5maWVsZDpub3QoLmNob2ljZSkgPiAubGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5sb2dpbi1jb250YWluZXIgLmJsb2NrIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAubG9naW4tY29udGFpbmVyIC5ibG9jay1jdXN0b21lci1sb2dpbiB7XG4gICAgICBmbGV4OiAwIDEgNDglO1xuICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgLyogcmVxdWlyZWQgbWVzc2FnZSAqLyB9XG4gICAgICAubG9naW4tY29udGFpbmVyIC5ibG9jay1jdXN0b21lci1sb2dpbiAuZmllbGRzZXQgPiAuZmllbGQgPiAuY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiA3NC4yJTsgfVxuICAgICAgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2stY3VzdG9tZXItbG9naW4gZm9ybSAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAubG9naW4tY29udGFpbmVyIC5ibG9jay1jdXN0b21lci1sb2dpbiBmb3JtIC5hY3Rpb25zLXRvb2xiYXI6OmJlZm9yZSwgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2stY3VzdG9tZXItbG9naW4gZm9ybSAuYWN0aW9ucy10b29sYmFyOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAubG9naW4tY29udGFpbmVyIC5ibG9jay1jdXN0b21lci1sb2dpbiBmb3JtIC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSAuYWN0aW9uIHtcbiAgICAgICAgICBjb2xvcjogIzNiNGE0YjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIC5sb2dpbi1jb250YWluZXIgLmJsb2NrLWN1c3RvbWVyLWxvZ2luIGZvcm0gLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb246aG92ZXIsIC5sb2dpbi1jb250YWluZXIgLmJsb2NrLWN1c3RvbWVyLWxvZ2luIGZvcm0gLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb246Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmxvZ2luLWNvbnRhaW5lciAuYmxvY2stbmV3LWN1c3RvbWVyIHtcbiAgICAgIGZsZXg6IDAgMSA0OCU7XG4gICAgICBtYXgtd2lkdGg6IDYwcmVtO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjc7IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjQWNjb3VudCBwYWdlc1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBBQ0NPVU5UIFBBR0VTXG4qICAgTGF5b3V0IGNoYW5nZXNcbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI1doaXRlc3BhY2UgJiB0eXBvZ3JhcGh5XG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuYWNjb3VudCAucGFnZS1tYWluX19pbm5lciB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgYm9keS5hY2NvdW50IC5wYWdlLW1haW5fX2lubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2LjRyZW07IH0gfVxuXG5ib2R5LmFjY291bnQgLnByaWNlLWluY2x1ZGluZy10YXgsXG5ib2R5LmFjY291bnQgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG5ib2R5LmFjY291bnQgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gIG1hcmdpbi10b3A6IDAuNHJlbTsgfVxuICBib2R5LmFjY291bnQgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI3RhYmxlcyBpbiBvdmVydmlld3NcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5ib2R5LmFjY291bnQgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQge1xuICBwYWRkaW5nLXRvcDogMS4ycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNBY2NvdW50IG92ZXJ2aWV3IGNvbHVtbiBzdHJ1Y3R1cmVcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogcHJldmVudCB1bm5lY2Vzc2FyeSB3aGl0ZXNwYWNlIHNpbmNlIG1lc3NhZ2VzIHBsYWNlaG9sZGVyIGNvbnRhaW5lciBpcyBhbHdheXMgcHJpbnRlZCAqL1xuICAuYWNjb3VudCAucGFnZS5tZXNzYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5hY2NvdW50IC5wYWdlLm1lc3NhZ2VzIC5tZXNzYWdlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAuYWNjb3VudC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5jb2x1bW5zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyAuc2lkZWJhci1tYWluIHtcbiAgICAgIG9yZGVyOiA5OTsgfVxuICAgICAgLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyAuc2lkZWJhci1tYWluIC5ibG9jayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMuOHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmFjY291bnQgLm9yZGVyLWRldGFpbHMtaXRlbXMgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYWNjb3VudCAub3JkZXItZGV0YWlscy1pdGVtcyAudGFibGUtb3JkZXItaXRlbXMgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsOyB9XG4gIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLWNvbXBhcmlzb24pID4gdGJvZHkgPiB0ciB0ZDo6YmVmb3JlLFxuICAudGFibGUtd3JhcHBlciAudGFibGU6bm90KC5jYXJ0KTpub3QoLnRvdGFscyk6bm90KC50YWJsZS1jb21wYXJpc29uKSA+IHRib2R5ID4gdHIgdGg6OmJlZm9yZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbnMgLnNpZGViYXItbWFpbiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyAuc2lkZWJhci1tYWluIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYWNjb3VudC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5jb2x1bW5zIC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXg6IDAgMSAyNSU7IH1cbiAgICAuYWNjb3VudC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5jb2x1bW5zIC5zaWRlYmFyLWFkZGl0aW9uYWwgPiAuYmxvY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMnJlbTsgfSB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIEFDQ09VTlQgU0VDVElPTlxuKiAgIHNpZGViYXIgbmF2aWdhdGlvblxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjc2lkZWJhciBuYXZpZ2F0aW9uXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hY2NvdW50LW5hdiAuY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODE3MWQ7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5hY2NvdW50LW5hdiAuY29udGVudCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5hY2NvdW50LW5hdiAuY29udGVudCBhOmhvdmVyLCAuYWNjb3VudC1uYXYgLmNvbnRlbnQgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5hY2NvdW50LW5hdiAuY29udGVudCAuaXRlbS5jdXJyZW50IGEsXG4gIC5hY2NvdW50LW5hdiAuY29udGVudCAuaXRlbS5jdXJyZW50IHN0cm9uZyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIEFDQ09VTlQgRk9STVNcbiogICBPdmVycmlkZXMgZm9yIGRlZmF1bHQgZm9ybSBsYWJlbHMsIGlucHV0cyBpbiBhY2NvdW50IHNlY3Rpb25cbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2xhYmVsLCBpbnB1dCBsYXlvdXRcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFjY291bnQgLmNvbHVtbiAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5ICsgLnNlY29uZGFyeSB7XG4gIG1hcmdpbi1sZWZ0OiA0cmVtOyB9XG5cbi5hY2NvdW50IC5hY3Rpb25zLXRvb2xiYXIgYS5hY3Rpb24ge1xuICBjb2xvcjogIzNiNGE0YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmFjY291bnQgLmFjdGlvbnMtdG9vbGJhciBhLmFjdGlvbjpob3ZlciwgLmFjY291bnQgLmFjdGlvbnMtdG9vbGJhciBhLmFjdGlvbjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hY2NvdW50IC5tZXNzYWdlLmVtcHR5IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hY2NvdW50IC5maWVsZHNldCA+IC5maWVsZDpub3QoLmNob2ljZSkgPiAubGFiZWwge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYWNjb3VudCAuZmllbGRzZXQgPiAuZmllbGQ6bm90KC5jaG9pY2UpID4gLmNvbnRyb2wge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDRyZW07IH1cbiAgLmFjY291bnQgLmZpZWxkc2V0ID4gLmZpZWxkLmNob2ljZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5hY2NvdW50IC5jb2x1bW46bm90KC5zaWRlYmFyLWFkZGl0aW9uYWwpIGZvcm0gLmFjdGlvbnMtdG9vbGJhcixcbiAgLmFjY291bnQgLmNvbHVtbjpub3QoLnNpZGViYXItbWFpbikgZm9ybSAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuYWNjb3VudCAuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSBmb3JtIC5hY3Rpb25zLXRvb2xiYXI6OmJlZm9yZSwgLmFjY291bnQgLmNvbHVtbjpub3QoLnNpZGViYXItYWRkaXRpb25hbCkgZm9ybSAuYWN0aW9ucy10b29sYmFyOjphZnRlcixcbiAgICAuYWNjb3VudCAuY29sdW1uOm5vdCguc2lkZWJhci1tYWluKSBmb3JtIC5hY3Rpb25zLXRvb2xiYXI6OmJlZm9yZSxcbiAgICAuYWNjb3VudCAuY29sdW1uOm5vdCguc2lkZWJhci1tYWluKSBmb3JtIC5hY3Rpb25zLXRvb2xiYXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjQWN0aW9ucyAvIGJveCBhY3Rpb25zXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hY2NvdW50IGEuYWN0aW9uIHtcbiAgdHJhbnNpdGlvbjogMjUwbXMgbGluZWFyO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmFjY291bnQgYS5hY3Rpb246aG92ZXIsIC5hY2NvdW50IGEuYWN0aW9uOmZvY3VzIHtcbiAgICBjb2xvcjogI2E1NGY2YztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmFjY291bnQgYS5hY3Rpb24uYmFjayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFjY291bnQgYS5hY3Rpb24uYmFjazo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7piXXCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAuYWNjb3VudCBhLmFjdGlvbi5iYWNrIHNwYW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5hY2NvdW50IGEuYWN0aW9uLmJhY2sgc3Bhbjpob3ZlciwgLmFjY291bnQgYS5hY3Rpb24uYmFjayBzcGFuOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hY2NvdW50IC5ib3gtYWN0aW9ucyAuYWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI3Rvb2xiYXJzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hY2NvdW50IC5jb2x1bW4ubWFpbiAudG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFjY291bnQgLmNvbHVtbi5tYWluIC50b29sYmFyOjpiZWZvcmUsIC5hY2NvdW50IC5jb2x1bW4ubWFpbiAudG9vbGJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLmFjY291bnQgLmNvbHVtbi5tYWluIC50b29sYmFyIC5wYWdlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleDogMCAxIDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYWNjb3VudCAuY29sdW1uLm1haW4gLnRvb2xiYXIgLnBhZ2VyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmFjY291bnQgLmNvbHVtbi5tYWluIC50b29sYmFyIC50b29sYmFyLWFtb3VudCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgUFJJQ0UgQk9YXG4qICAgYXR0ZW1wdHMgdG8gZ3JvdXAgYWxsIHN0eWxlcyByZWxhdGluZyB0byBhbGwgcHJpY2UgdmFyaWF0aW9uc1xuKlxuKiAgIFRBQkxFIE9GIENPTlRFTlRTXG4qICAgLSBwcm9kdWN0IGRldGFpbFxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjcHJvZHVjdCBkZXRhaWxcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnByb2R1Y3QtaW5mby1tYWluIC5wcmljZS1ib3ggLnByaWNlLXdyYXBwZXIgLnByaWNlLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCAucHJpY2Utd3JhcHBlciAucHJpY2Uge1xuICBmb250LXNpemU6IDMuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLmlucHV0LXRleHQucXR5LFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmJveC10b2NhcnQgLmlucHV0LXRleHQucXR5IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDYuNnJlbTtcbiAgZmxleDogMSAwIGF1dG87XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMyODE3MWQ7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wcm9kdWN0LWluZm8tbWFpbiAuYm94LXRvY2FydCAubnVtYmVyLXNwaW5uZXIgLm51bWJlci1zcGlubmVyX19idXR0b24sXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYm94LXRvY2FydCAubnVtYmVyLXNwaW5uZXIgLm51bWJlci1zcGlubmVyX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIC5ib3gtdG9jYXJ0IC5udW1iZXItc3Bpbm5lciAuaW5wdXQtdGV4dC5xdHksXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAuYm94LXRvY2FydCAubnVtYmVyLXNwaW5uZXIgLmlucHV0LXRleHQucXR5IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfVxuICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQgLm51bWJlci1zcGlubmVyIC5pbnB1dC10ZXh0LnF0eTpmb2N1cyxcbiAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLmJveC10b2NhcnQgLm51bWJlci1zcGlubmVyIC5pbnB1dC10ZXh0LnF0eTpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2I4YjQ5NjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIENIRUNLT1VUIE1PRFVMRSBMQVlPVVQgTU9EU1xuKlxuKiAgIFRBQkxFIE9GIENPTlRFTlRTXG4qICAgd2hpdGVzcGFjZVxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjd2hpdGVzcGFjZVxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LmNoZWNrb3V0LWNhcnQtaW5kZXggLnBhZ2UtbWFpbl9faW5uZXIsXG5ib2R5LmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAucGFnZS1tYWluX19pbm5lciB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgYm9keS5jaGVja291dC1jYXJ0LWluZGV4IC5wYWdlLW1haW5fX2lubmVyLFxuICAgIGJvZHkuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5wYWdlLW1haW5fX2lubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2LjRyZW07IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjYWJvcnQgY2hlY2tvdXQgaGVhZGVyXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jdXN0b20tY2hlY2tvdXQtYWN0aW9ucyB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY3VzdG9tLWNoZWNrb3V0LWFjdGlvbnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmN1c3RvbS1jaGVja291dC1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDUwdncpOyB9IH1cblxuLmN1c3RvbS1jaGVja291dC1hY3Rpb25zX19pbm5lciB7XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jdXN0b20tY2hlY2tvdXQtYWN0aW9uc19faW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEzMzVweDsgfSB9XG5cbi5hYm9ydC1jaGVja291dF9fbG9nbyB7XG4gIHdpZHRoOiAyNi4ycmVtO1xuICBoZWlnaHQ6IDMuOHJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9oZWFkZXItbG9nby0tYmMuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI2MnB4IDM4cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5hYm9ydC1jaGVja291dF9fbG9nbyB7XG4gICAgICB3aWR0aDogMTdyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9oZWFkZXItbG9nby0tYmMuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNzBweCAyNXB4OyB9IH1cblxuLmFib3J0LWNoZWNrb3V0X190ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmFib3J0LWNoZWNrb3V0X190ZXh0OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY29udGVudDogXCLumJdcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5hYm9ydC1jaGVja291dF9fdGV4dDo6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICAoT25lIFBhZ2UpIENoZWNrb3V0IHN1Y2Nlc3MgcGFnZVxuKlxuKiAgIFRBQkxFIE9GIENPTlRFTlRTXG4qICAgbGF5b3V0XG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNsYXlvdXRcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmFjdGlvbnMtdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cblxuLnBhZ2UtdGl0bGUtY2hpbGRyZW4gLnByaW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnBhZ2UtdGl0bGUtY2hpbGRyZW4gLnByaW50OmJlZm9yZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY29udGVudDogXCLumKRcIjtcbiAgICBmb250LWZhbWlseTogXCJkdW8taWNvbnNcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIE1BR0VOVE8gQ0hFQ0tPVVQgPiBBVVRIRU5USUNBVElPTlxuKiAgIFNpZ24gaW4gbW9kYWwgLyB3cmFwcGVyIC8gZHJvcGRvd25cbipcbiogICBUQUJMRSBPRiBDT05URU5UU1xuKiAgIG92ZXJsYXlcbiogICBkcm9wZG93blxuKiAgIG1vZGFsIHBvcHVwXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNvdmVybGF5XG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIgLmRyb3Bkb3duLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsgfSB9XG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNkcm9wZG93blxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hdXRoZW50aWNhdGlvbi1kcm9wZG93biB7XG4gICAgd2lkdGg6IDQycmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuY29sdW1uIC5jaGVja291dC1jb250YWluZXIgLmF1dGhlbnRpY2F0aW9uLWRyb3Bkb3duIGZvcm0gLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5hdXRoZW50aWNhdGlvbi1kcm9wZG93bjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFyZW07XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMXJlbSAxcmVtIDFyZW07XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXI6OmJlZm9yZSwgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAuYmxvY2stYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSAuYWN0aW9uLWxvZ2luIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtOyB9XG4gICAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuYmxvY2stYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuc2Vjb25kYXJ5IC5hY3Rpb24tcmVtaW5kIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBNYWdlbnRvIFNhbGVzIC8gb3JkZXJzIG92ZXJ2aWV3IGNvbXBvbmVudHNcbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI29yZGVyIGxpbmtzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5vcmRlci1saW5rcyB7XG4gIHBhZGRpbmctbGVmdDogMC40cmVtOyB9XG4gIC5vcmRlci1saW5rcyAubmF2Lml0ZW0ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbSAwLjVyZW0gMCAwO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkMWQxZDE7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY3OyB9XG4gICAgLm9yZGVyLWxpbmtzIC5uYXYuaXRlbS5jdXJyZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI29yZGVyIGRldGFpbCBhY3Rpb25zXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5vcmRlci1kZXRhaWxzLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW46IDJyZW0gMCAzLjRyZW07IH1cblxuLm9yZGVyLWRldGFpbHMtaXRlbXMgLmFjdGlvbnMtdG9vbGJhciA+IGEucHJpbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIFwic2Fucy1zZXJpZlwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtOyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgPiBhLnByaW50OmhvdmVyLCAub3JkZXItZGV0YWlscy1pdGVtcyAuYWN0aW9ucy10b29sYmFyID4gYS5wcmludDphY3RpdmUsIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgPiBhLnByaW50OmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm9yZGVyLWRldGFpbHMtaXRlbXMgLmFjdGlvbnMtdG9vbGJhciA+IGEucHJpbnQ6Zm9jdXMsIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgPiBhLnByaW50OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2UyZTJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgPiBhLnByaW50OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2I0YTRiO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNiOGI0OTY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm9yZGVyLWRldGFpbHMtaXRlbXMgLmFjdGlvbnMtdG9vbGJhciA+IGEucHJpbnQuZGlzYWJsZWQsIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgPiBhLnByaW50W2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgPiBhLnByaW50IHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5vcmRlci1kZXRhaWxzLWl0ZW1zIC5vcmRlci10aXRsZSB7XG4gIG1hcmdpbjogMS42cmVtIDA7IH1cbiAgLm9yZGVyLWRldGFpbHMtaXRlbXMgLm9yZGVyLXRpdGxlID4gc3Ryb25nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAub3JkZXItZGV0YWlscy1pdGVtcyAub3JkZXItdGl0bGUgYS5hY3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG4gIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5vcmRlci10aXRsZSBhLnByaW50IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAub3JkZXItZGV0YWlscy1pdGVtcyAub3JkZXItdGl0bGUgYS5wcmludDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7pikXCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImR1by1pY29uc1wiO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAub3JkZXItZGV0YWlscy1pdGVtcyAub3JkZXItdGl0bGUgYS5wcmludCA+IHNwYW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAub3JkZXItZGV0YWlscy1pdGVtcyAub3JkZXItdGl0bGUgYS5wcmludDpob3ZlciA+IHNwYW4sIC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5vcmRlci10aXRsZSBhLnByaW50OmZvY3VzID4gc3BhbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiIsIi8vXG4vLyAgVGhlbWUgY29sb3JzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjb2xvci13aGl0ZTogI2ZmZmZmZjtcbiRjb2xvci1ibGFjazogIzAwMDAwMDtcbiRjb2xvci1jb2QtZ3JheTogIzBmMGYwZjtcbiRjb2xvci1nb25kb2xhOiAjMjgxNzFkO1xuJGNvbG9yLWJsdWUtYmxhY2s6ICMzYjRhNGI7XG4kY29sb3Itc2lyb2NjbzogIzZjNzc3ODtcbiRjb2xvci1hYmJleTogIzRmNWQ1ZTtcbiRjb2xvci1nb2xkLWJyb3duOiAjYjhiNDk2O1xuJGNvbG9yLW1pc3QtZ3JleTogI2JiYmJiMjtcbiRjb2xvci1saWdodC1ncmV5OiAjZWZlZmU4O1xuJGNvbG9yLXNvZnQtZ3JleTogI2Y5ZjlmNztcbiRjb2xvci1kZXNlcnQtc3Rvcm06ICNmNmY2ZjU7XG4kY29sb3ItYmxhY2stc3F1ZWV6ZTogI2ZiZmJmYTtcbiRjb2xvci1ncmV5OiAjOWRhNGEzO1xuJGNvbG9yLWRhcmstZ3JleTogIzZhNzU3NjtcbiRjb2xvci1ndW5zbW9rZTogIzdlODg4OTtcbiRjb2xvci1oZWF0aGVyZWQtZ3JleTogI2JjYjc5YjtcbiRjb2xvci1yZWQ6ICNlMTI3MWU7XG4kY29sb3ItbWluZzogIzNjNjI2ZjtcbiRjb2xvci1jZWxlc3RlOiAjZDRkNmQwO1xuJGNvbG9yLW9zbG8tZ3JleTogIzkzOWI5YztcbiRjb2xvci1tb29uLW1pc3Q6ICNkY2RhY2I7XG4kY29sb3ItbGl2aWQtYnJvd246ICM1MjJmM2I7XG4kY29sb3ItY2FkaWxsYWM6ICNhNTRmNmM7XG4kY29sb3ItaG9yaXpvbjogIzViOGE5NztcblxuJHRleHRfX2NvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblxuXG4vL1xuLy8gIExheW91dCBncmlkXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICBIZWFkZXJcbiRoZWFkZXItaWNvbnMtY29sb3I6ICRjb2xvci1ncmF5NTY7XG4kaGVhZGVyLWljb25zLWNvbG9yLWhvdmVyOiAkY29sb3ItZ3JheTIwO1xuJGhlYWRlci1uYXYtaWNvbl9fY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuJGhlYWRlci1kaXZpZGVyczogJGNvbG9yLWxpZ2h0LWdyZXk7XG5cblxuXG5cbi8vXG4vLyAgTmF2aWdhdGlvbiB2YXJpYWJsZSBvdmVycmlkZXNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG5hdmlnYXRpb25fX2JhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcblxuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX3BhZGRpbmc6IDEuNnJlbTtcbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19ib3JkZXI6ICcnO1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2NvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19mb250LXNpemU6IDE0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2ZvbnQtd2VpZ2h0OiA0MDA7XG4kbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fbGluZS1oZWlnaHQ6IDEuMjtcbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX190ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19hY3RpdmVfX2JhY2tncm91bmQ6ICRjb2xvci1kZXNlcnQtc3Rvcm07XG4kbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGg6IDA7XG5cbiRuYXZpZ2F0aW9uLWRlc2t0b3BfX2JhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiRuYXZpZ2F0aW9uLWRlc2t0b3BfX2ZvbnQtd2VpZ2h0OiA1MDA7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19tYXJnaW46IDA7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19wYWRkaW5nOiAwIDNyZW07XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19jb2xvcjogJGNvbG9yLWNvZC1ncmF5O1xuJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9faG92ZXJfX2JhY2tncm91bmQ6ICRjb2xvci1kZXNlcnQtc3Rvcm07XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19hY3RpdmVfX3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cblxuXG4vL1xuLy8gIEJyZWFkY3J1bWIgb3ZlcnJpZGVzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1ic19fY29udGFpbmVyLW1hcmdpbjogMDtcbiRicmVhZGNydW1icy1pY29uX19mb250LXNpemU6IDEycHg7XG4kYnJlYWRjcnVtYnMtaWNvbl9fZm9udC1saW5lLWhlaWdodDogMS40O1xuJGJyZWFkY3J1bWJzX19iYWNrZ3JvdW5kOiAkY29sb3ItZGVzZXJ0LXN0b3JtO1xuXG5cblxuXG4vL1xuLy8gIFN3aXRjaGVyIChzdG9yZS9sYW5ndWFnZSlcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLWxpc3RfX3Bvc2l0aW9uLXJpZ2h0OiAtNHB4O1xuJGRyb3Bkb3duLWxpc3RfX3NoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsMCwwLDAuMTUpO1xuJGRyb3Bkb3duLWxpc3QtcG9pbnRlcl9fcG9zaXRpb246IHJpZ2h0O1xuJGRyb3Bkb3duLWxpc3RfX2JvcmRlcjogMC4xcmVtIHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xuJGRyb3Bkb3duLWxpc3QtcG9pbnRlcl9fYm9yZGVyOiAkY29sb3ItbGlnaHQtZ3JleTtcblxuXG5cblxuLy9cbi8vICBQb3B1cHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gIENoZWNrb3V0IHRvb2x0aXBcbiRjaGVja291dC10b29sdGlwLWljb24tYXJyb3dfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiA4cHg7XG4kY2hlY2tvdXQtdG9vbHRpcC1pY29uX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMjFweDtcblxuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1tb2JpbGVfX3JpZ2h0ICAgICAgICAgICAgICAgICAgICAgICA6IC0oJGluZGVudF9fcyk7XG4kY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LW1vYmlsZV9fdG9wICAgICAgICAgICAgICAgICAgICAgICAgIDogMzBweCArICRjaGVja291dC10b29sdGlwLWljb24tYXJyb3dfX2ZvbnQtc2l6ZTtcbiRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JhY2tncm91bmQtY29sb3IgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheS1saWdodDAxO1xuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEycHg7XG4kY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50X19ib3JkZXItd2lkdGggICAgICAgICAgICAgICAgICAgICAgIDogMXB4O1xuXG4kY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50X19ib3JkZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgIDogI2NjYztcbiRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplX19iYXNlO1xuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fd2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDI3MHB4O1xuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fYWN0aXZlX19ib3JkZXItY29sb3IgICAgICAgICAgICAgICA6IGRhcmtlbigkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50X19ib3JkZXItY29sb3IsIDIwJSk7XG4kY2hlY2tvdXQtdG9vbHRpcC1pY29uLWFycm93X19sZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogLSggJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fcGFkZGluZyArICRjaGVja291dC10b29sdGlwLWljb24tYXJyb3dfX2ZvbnQtc2l6ZSAtICRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JvcmRlci13aWR0aCk7XG5cbiRjaGVja291dC1iaWxsaW5nLWFkZHJlc3MtZGV0YWlsc19fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAyN3B4O1xuXG4vLyBDaGVja291dFxuJGNoZWNrb3V0LXN0ZXAtdGl0bGVfX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3M7XG4kY2hlY2tvdXQtc3RlcC10aXRsZV9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkY29sb3ItZ3JheTgwO1xuJGNoZWNrb3V0LXN0ZXAtdGl0bGVfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDI2cHg7XG4kY2hlY2tvdXQtc3RlcC10aXRsZV9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtd2VpZ2h0X19saWdodDtcbiRjaGVja291dC1zaWRlYmFyX19jb2x1bW5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA0O1xuJGNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3NfX21heC13aWR0aCAgICAgICAgICAgICAgICAgICAgICAgICA6IDUwMHB4O1xuXG4vL1xuLy8gIFNpZGViYXJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXNlZCBpbiBjYXJ0IHNpZGViYXIsIENoZWNrb3V0IHNpZGViYXIsIFRpZXIgUHJpY2VzLCBNeSBhY2NvdW50IG5hdmlnYXRpb24sIFJhdGluZyBibG9jayBiYWNrZ3JvdW5kXG4kc2lkZWJhcl9fYmFja2dyb3VuZC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGNvbG9yLXdoaXRlO1xuXG4vL1xuLy8gIFZhcmlhYmxlcyBtaXNzaW5nIGluIGV4dGVuZC5zY3NzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhZGR0by1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3I7XG4kYWRkdG8taG92ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGxpbmtfX2hvdmVyX19jb2xvcjtcblxuLy9cbi8vICBQcm9kdWN0XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9kdWN0LW5hbWUtbGlua19fY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGV4dF9fY29sb3I7XG4kcHJvZHVjdC1uYW1lLWxpbmtfX2NvbG9yX19hY3RpdmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRleHRfX2NvbG9yO1xuJHByb2R1Y3QtbmFtZS1saW5rX19jb2xvcl9faG92ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0ZXh0X19jb2xvcjtcbiRwcm9kdWN0LW5hbWUtbGlua19fY29sb3JfX3Zpc2l0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGV4dF9fY29sb3I7XG5cbiRwcm9kdWN0LW5hbWUtbGlua19fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBub25lO1xuJHByb2R1Y3QtbmFtZS1saW5rX190ZXh0LWRlY29yYXRpb25fX2FjdGl2ZSAgICAgICAgICAgICAgICAgICA6ICRsaW5rX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uO1xuJHByb2R1Y3QtbmFtZS1saW5rX190ZXh0LWRlY29yYXRpb25fX2hvdmVyICAgICAgICAgICAgICAgICAgICA6ICRsaW5rX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uO1xuJHByb2R1Y3QtbmFtZS1saW5rX190ZXh0LWRlY29yYXRpb25fX3Zpc2l0ZWQgICAgICAgICAgICAgICAgICA6ICRsaW5rX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uO1xuXG4vL1xuLy8gIE1pbmljYXJ0XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtaW5pY2FydC1pY29ucy1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkaGVhZGVyLWljb25zLWNvbG9yO1xuJG1pbmljYXJ0LWljb25zLWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRoZWFkZXItaWNvbnMtY29sb3ItaG92ZXI7XG5cbiRtaW5pY2FydC1jb2xvci1zZWFyY2gtYnV0dG9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3Itc29mdC1ncmV5O1xuJG1pbmljYXJ0LWNvbG9yLXNlYXJjaC1pbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1zb2Z0LWdyZXk7XG5cbi8vXG4vLyAgVG9wIGxpbmtzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiR0b3BsaW5rX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItYmxhY2s7XG4kdG9wbGlua19fYWN0aXZlX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWdvbGQtYnJvd247XG5cbiRub3RpY2UtZGl2aWRlcl9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3Itc29mdC1ncmV5O1xuXG4vL1xuLy8gIEZvb3RlclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZm9vdGVyX19ib3JkZXI6ICRjb2xvci1oZWF0aGVyZWQtZ3JleTtcblxuXG4vL1xuLy8gIEJ1dHRvbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbl9fcGFkZGluZzogMS41cmVtIDJyZW07XG4kYnV0dG9uX19iYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1ibGFjaztcbiRidXR0b25fX2NvbG9yOiAkY29sb3Itd2hpdGU7XG4kYnV0dG9uX19mb250LXNpemU6IDEuNHJlbTtcbiRidXR0b25fX2ZvbnQtd2VpZ2h0OiA2MDA7XG4kYnV0dG9uX19saW5lLWhlaWdodDogMS4yO1xuJGJ1dHRvbl9faG92ZXJfX2NvbG9yOiAkY29sb3Itd2hpdGU7XG4kYnV0dG9uX19ob3Zlcl9fYm9yZGVyOiAwLjFyZW0gc29saWQgJGNvbG9yLWdvbGQtYnJvd247XG4kYnV0dG9uX19ob3Zlcl9fYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtYmxhY2s7XG4vKiBsYXJnZSBidXR0b24gKi9cbiRidXR0b25fX2ZvbnQtc2l6ZV9fbDogMS44cmVtO1xuJGJ1dHRvbl9fbGluZS1oZWlnaHRfX2w6IDEuMjtcbiRidXR0b25fX3BhZGRpbmdfX2w6IDEuNXJlbSAycmVtO1xuLyogcHJpbWFyeSBidXR0b24gc3R5bGUgKHVzZWQgaW4gbWFpbHMpICovXG4kYnV0dG9uLXByaW1hcnlfX2JhY2tncm91bmQ6ICRjb2xvci1ibHVlLWJsYWNrO1xuJGJ1dHRvbi1wcmltYXJ5X19ib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmx1ZS1ibGFjaztcbiRidXR0b24tcHJpbWFyeV9faG92ZXJfX2JhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiRidXR0b24tcHJpbWFyeV9fYWN0aXZlX19iYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4kYnV0dG9uLXByaW1hcnlfX2hvdmVyX19jb2xvcjogJGNvbG9yLWdvbGQtYnJvd247XG4kYnV0dG9uLXByaW1hcnlfX2FjdGl2ZV9fY29sb3I6ICRidXR0b24tcHJpbWFyeV9faG92ZXJfX2NvbG9yO1xuIiwiLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgYmFzZVxuKiAgIEJBU0UgU1RZTEVTXG4qXG4qICAgVEFCTEUgT0YgQ09OVEVOVFNcbiogICBib3gtc2l6aW5nXG4qICAgcmVzZXRzXG4qICAgZGVmYXVsdHNcbiogICBmb2N1cyBzdHlsZXNcbiogICByZWR1Y2VkIG1vdGlvblxuKiAgIGllMTBcbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjYm94LXNpemluZ1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiosXG4qOjphZnRlcixcbio6OmJlZm9yZSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNyZXNldHNcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5ib2R5LFxuZGl2LCBzZWN0aW9uLCBhcnRpY2xlLFxuZGwsIGR0LCBkZCxcbnVsLCBvbCwgbGksXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxucHJlLCBmb3JtLCBmaWVsZHNldCwgbGVnZW5kLFxuZmlndXJlLCBmaWdjYXB0aW9uLFxucCwgYmxvY2txdW90ZSxcbnRoLCB0ZCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2RlZmF1bHRzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cblxuLyogaW1hZ2VzICovXG5cbmltZyB7IFxuXHR3aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogbGlua3MgKi9cblxuYSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiByZW1vdmUgdGhlIGdyZXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUxMCAqL1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuLyogaGVhZGluZ3MgKi9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG5oMSB7IGZvbnQtc2l6ZTogNHJlbTsgfVxuaDIgeyBmb250LXNpemU6IDIuOHJlbTsgfVxuaDMgeyBmb250LXNpemU6IDJyZW07IH1cbmg0IHsgZm9udC1zaXplOiAxLjhyZW07IH1cbmg1IHsgZm9udC1zaXplOiAxLjRyZW07IH1cbmg2IHsgZm9udC1zaXplOiAxLjJyZW07IH1cblxuLyogbGlzdHMgKi9cblxudWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBpZnJhbWVzICovXG5cbmlmcmFtZSB7IFxuXHRib3JkZXI6IG5vbmU7XG59XG5cbi8qIHRhYmxlcyAqL1xuXG50YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIG1haW4gKi9cblxubWFpbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogaHIgKi9cblxuaHIge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMC4xcmVtO1xuXHRib3JkZXI6IDA7XG5cdGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCAjY2NjO1xuXHRtYXJnaW46IDFlbSAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKlxuKiByZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGF1ZGlvLCBjYW52YXMsIGlmcmFtZXMsXG4qIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnNcbiovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBhYmJyICovXG5cbmFiYnJbdGl0bGVdIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi8qIHN2ZyAqL1xuXG5zdmcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4vKiBoaWRkZW4gKi9cblxuW2hpZGRlbl0ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udmlzdWFsbHktaGlkZGVuIHsgXG5cdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0aGVpZ2h0OiAxcHg7IFxuXHRcdHdpZHRoOiAxcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IC8qIElFNiwgSUU3ICovXG5cdFx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIGFkZGVkIGxpbmUgKi9cbn1cblxuLyogdGVtcGxhdGUgKi9cblxudGVtcGxhdGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBwcmUgKi9cblxucHJlIHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiBjb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgKi9cblx0Zm9udC1zaXplOiAxZW07XG59XG5cbi8qIHRleHQgbGV2ZWwgc2VtYW50aWNzICovXG5cbmIsXG5zdHJvbmcge1xuXHRmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogY29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplICovXG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG5cdGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuXHRmb250LXNpemU6IDc1JTtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuXHRib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG5cdHRvcDogLTAuNWVtO1xufVxuXG4vKiBmb3JtcyAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaW5lLWhlaWdodDogMS4xNTtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcbn1cblxuLyogZmllbGRzZXQgKyBsZWdlbmQgKi9cblxuZmllbGRzZXQge1xuXHRib3JkZXI6IDA7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxubGVnZW5kIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8qIHRleHRhcmVhICovXG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qIHByb2dyZXNzICovXG5cbnByb2dyZXNzIHtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBkZXRhaWxzIC0gc3VtbWFyeSAqL1xuXG5kZXRhaWxzIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuXHRkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIGlucHV0IHR5cGVzICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0cGFkZGluZzogMDtcbn1cblxuLyoqXG4qIGNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIGNocm9tZVxuKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4qIGNvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIGNocm9tZSBhbmQgc2FmYXJpXG4qIGNvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gc2FmYXJpXG4qL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLyoqXG4qIHJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBjaHJvbWUgYW5kIHNhZmFyaSBvbiBtYWNPUy5cbiovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiogY29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIHNhZmFyaVxuKiBjaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmlcbiovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcblx0Zm9udDogaW5oZXJpdDtcbn1cblxuLyogYWRkcmVzcyAqL1xuXG5hZGRyZXNzIHtcblx0Zm9udC1zdHlsZTogaW5oZXJpdDtcbn1cblxuLyogbWVkaWEgKi9cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcblx0ZGlzcGxheTogbm9uZTtcblx0aGVpZ2h0OiAwO1xufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNyZWR1Y2VkIG1vdGlvblxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMDFzICFpbXBvcnRhbnQ7XG5cdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDAxcyAhaW1wb3J0YW50O1xuXHRcdHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNpZTEwXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLypcbiogSUUxMCBpZ25vcmVzIHRoZSBtZXRhIHZpZXdwb3J0IHRhZyBmb3IgYW55IHZpZXdwb3J0IHNtYWxsZXIgdGhhbiA0MDAgcGl4ZWxzIGluIHdpZHRoO1xuKiBzb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduXG4qL1xuXG5ALW1zLXZpZXdwb3J0IHtcblx0d2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIGJhc2VcbiogICBHTE9CQUxcbipcbiogICBUQUJMRSBPRiBDT05URU5UU1xuKiAgIGh0bWwgJiBib2R5XG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2h0bWwgJiBib2R5XG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaHRtbCB7IFxuXHQvKiBwcmV2ZW50IHRoZSBzY3JvbGxiYXIgZnJvbSBvdmVybGFwcGluZyB0aGUgY29udGVudCBvbiBJRTogKi9cblx0LW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cbmJvZHkge1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZV9fYmFja2dyb3VuZC1jb2xvcjtcbn1cbiIsIi8vXG4vLyAgQ29sb3IgdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRjb2xvci13aGl0ZSAgICAgICAgICAgICA6ICNmZmYgIWRlZmF1bHQ7XG4kY29sb3ItYmxhY2sgICAgICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xuXG4kY29sb3ItZ3JheTE5ICAgICAgICAgICAgOiAjMzAzMDMwICFkZWZhdWx0O1xuJGNvbG9yLWdyYXkyMCAgICAgICAgICAgIDogIzMzMyAhZGVmYXVsdDtcbiRjb2xvci1ncmF5MzQgICAgICAgICAgICA6ICM1NzU3NTcgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTM3ICAgICAgICAgICAgOiAjNWU1ZTVlICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk0MCAgICAgICAgICAgIDogIzY2NiAhZGVmYXVsdDtcbiRjb2xvci1ncmF5NDMgICAgICAgICAgICA6ICM2ZDZkNmQgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTQ2ICAgICAgICAgICAgOiAjNzU3NTc1ICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk1MiAgICAgICAgICAgIDogIzg1ODU4NSAhZGVmYXVsdDtcbiRjb2xvci1ncmF5NTUgICAgICAgICAgICA6ICM4YzhjOGMgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTU2ICAgICAgICAgICAgOiAjOGY4ZjhmICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk2MCAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRjb2xvci1ncmF5NjIgICAgICAgICAgICA6ICM5ZTllOWUgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTY0ICAgICAgICAgICAgOiAjYTNhM2EzICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk2OCAgICAgICAgICAgIDogI2FkYWRhZCAhZGVmYXVsdDtcbiRjb2xvci1ncmF5NzYgICAgICAgICAgICA6ICNjMmMyYzIgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTc4ICAgICAgICAgICAgOiAjYzdjN2M3ICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk3OSAgICAgICAgICAgIDogI2M5YzljOSAhZGVmYXVsdDtcbiRjb2xvci1ncmF5ODAgICAgICAgICAgICA6ICNjY2MgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTgyICAgICAgICAgICAgOiAjZDFkMWQxICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk4OSAgICAgICAgICAgIDogI2UzZTNlMyAhZGVmYXVsdDtcbiRjb2xvci1ncmF5OTAgICAgICAgICAgICA6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTkxICAgICAgICAgICAgOiAjZThlOGU4ICFkZWZhdWx0O1xuJGNvbG9yLWdyYXk5MiAgICAgICAgICAgIDogI2ViZWJlYiAhZGVmYXVsdDtcbiRjb2xvci1ncmF5OTQgICAgICAgICAgICA6ICNmMGYwZjAgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTk1ICAgICAgICAgICAgOiAjZjJmMmYyICFkZWZhdWx0O1xuJGNvbG9yLXdoaXRlLXNtb2tlICAgICAgIDogI2Y1ZjVmNSAhZGVmYXVsdDtcbiRjb2xvci13aGl0ZS1kYXJrLXNtb2tlICA6ICNlZmVmZWYgIWRlZmF1bHQ7XG4kY29sb3Itd2hpdGUtZm9nICAgICAgICAgOiAjZjhmOGY4ICFkZWZhdWx0O1xuXG4kY29sb3ItZ3JheS1saWdodDAgICAgICAgOiAjZjZmNmY2ICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktbGlnaHQwMSAgICAgIDogI2Y0ZjRmNCAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LWxpZ2h0MSAgICAgICA6ICNlNWVmZTUgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS1saWdodDIgICAgICAgOiAjYmJiICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktbGlnaHQzICAgICAgIDogI2FlYWVhZSAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LWxpZ2h0NCAgICAgICA6ICNjZWNlY2UgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS1saWdodDUgICAgICAgOiAjYzFjMWMxICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktbGlnaHQ2ICAgICAgIDogI2M1YzVjNSAhZGVmYXVsdDtcblxuJGNvbG9yLWdyYXktbWlkZGxlMSAgICAgIDogI2U0ZTRlNCAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LW1pZGRsZTIgICAgICA6ICNjNmM2YzYgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS1taWRkbGUzICAgICAgOiAjN2U4MDdlICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktbWlkZGxlNCAgICAgIDogIzZlNzE2ZSAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LW1pZGRsZTUgICAgICA6ICM3MDcwNzAgIWRlZmF1bHQ7XG5cbiRjb2xvci1ncmF5LWRhcmtlbjAgICAgICA6ICNlZWUgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS1kYXJrZW4xICAgICAgOiAjZTJlMmUyICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktZGFya2VuMiAgICAgIDogI2NkY2RjZCAhZGVmYXVsdDtcbiRjb2xvci1ncmF5LWRhcmtlbjMgICAgICA6ICM1NTUgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS1kYXJrZW40ICAgICAgOiAjNDk0OTQ5ICFkZWZhdWx0O1xuXG4kY29sb3ItcmVkOSAgICAgICAgICAgICAgOiAjZmYwMTAxICFkZWZhdWx0O1xuJGNvbG9yLXJlZDEwICAgICAgICAgICAgIDogI2UwMmIyNyAhZGVmYXVsdDtcbiRjb2xvci1yZWQxMSAgICAgICAgICAgICA6ICNiMzAwMDAgIWRlZmF1bHQ7XG4kY29sb3ItcmVkMTIgICAgICAgICAgICAgOiAjZDEwMDI5ICFkZWZhdWx0O1xuXG4kY29sb3Itb3JhbmdlLXJlZDEgICAgICAgOiAjZmY1NTAxICFkZWZhdWx0O1xuJGNvbG9yLW9yYW5nZS1yZWQyICAgICAgIDogI2ZmNTYwMSAhZGVmYXVsdDsgLy8gTGVnYWN5IG9yYW5nZVxuJGNvbG9yLW9yYW5nZS1yZWQzICAgICAgIDogI2ZmNTcwMCAhZGVmYXVsdDsgLy8gTGVnYWN5IG9yYW5nZVxuJGNvbG9yLW9yYW5nZS1yZWQ0ICAgICAgIDogI2ZjNWUxMCAhZGVmYXVsdDsgLy8gTGVnYWN5IG9yYW5nZVxuXG4kY29sb3ItZGFyay1ncmVlbjEgICAgICAgOiAjMDA2NDAwICFkZWZhdWx0O1xuXG4kY29sb3ItYmx1ZTEgICAgICAgICAgICAgOiAjMTk3OWMzICFkZWZhdWx0O1xuJGNvbG9yLWJsdWUyICAgICAgICAgICAgIDogIzAwNmJiNCAhZGVmYXVsdDtcbiRjb2xvci1ibHVlMyAgICAgICAgICAgICA6ICMwMDY5OUQgIWRlZmF1bHQ7XG4kY29sb3Itc2t5LWJsdWUxICAgICAgICAgOiAjNjhhOGUwICFkZWZhdWx0O1xuXG4kY29sb3ItcGluazEgICAgICAgICAgICAgOiAjZmFlNWU1ICFkZWZhdWx0O1xuJGNvbG9yLWRhcmstcGluazEgICAgICAgIDogIzgwMDA4MCAhZGVmYXVsdDtcblxuJGNvbG9yLWJyb3duaWUxICAgICAgICAgIDogIzZmNDQwMCAhZGVmYXVsdDtcbiRjb2xvci1icm93bmllLWxpZ2h0MSAgICA6ICNjMDc2MDAgIWRlZmF1bHQ7XG5cbiRjb2xvci15ZWxsb3ctbGlnaHQxICAgICA6ICNmZGYwZDUgIWRlZmF1bHQ7XG4kY29sb3IteWVsbG93LWxpZ2h0MiAgICAgOiAjZmZlZTljICFkZWZhdWx0O1xuJGNvbG9yLXllbGxvdy1saWdodDMgICAgIDogI2Q2Y2E4ZSAhZGVmYXVsdDtcbiRjb2xvci15ZWxsb3cxICAgICAgICAgICA6ICNmZjAgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgQ29sb3IgbmVzdGluZ1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJpbWFyeV9fY29sb3IgICAgICAgICAgOiAkY29sb3ItZ3JheTIwICFkZWZhdWx0O1xuJHByaW1hcnlfX2NvbG9yX19kYXJrICAgIDogZGFya2VuKCRwcmltYXJ5X19jb2xvciwgMzUlKSAhZGVmYXVsdDsgLy8gIzAwMFxuJHByaW1hcnlfX2NvbG9yX19kYXJrZXIgIDogZGFya2VuKCRwcmltYXJ5X19jb2xvciwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMTExXG4kcHJpbWFyeV9fY29sb3JfX2xpZ2h0ZXIgOiBsaWdodGVuKCRwcmltYXJ5X19jb2xvciwgMjklKSAhZGVmYXVsdDsgLy8gIzdkN2Q3ZFxuJHByaW1hcnlfX2NvbG9yX19saWdodCAgIDogbGlnaHRlbigkcHJpbWFyeV9fY29sb3IsIDQ1JSkgIWRlZmF1bHQ7IC8vICNhNmE2YTZcblxuJHNlY29uZGFyeV9fY29sb3IgICAgICAgIDogJGNvbG9yLWdyYXk5MSAhZGVmYXVsdDtcbiRzZWNvbmRhcnlfX2NvbG9yX19saWdodCA6IGxpZ2h0ZW4oJHNlY29uZGFyeV9fY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJHBhZ2VfX2JhY2tncm91bmQtY29sb3IgIDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJHBhbmVsX19iYWNrZ3JvdW5kLWNvbG9yIDogZGFya2VuKCRwYWdlX19iYWNrZ3JvdW5kLWNvbG9yLCA2JSkgIWRlZmF1bHQ7XG5cbiRhY3RpdmVfX2NvbG9yICAgICAgICAgICA6ICRjb2xvci1vcmFuZ2UtcmVkMSAhZGVmYXVsdDtcbiRlcnJvcl9fY29sb3IgICAgICAgICAgICA6ICRjb2xvci1yZWQxMCAhZGVmYXVsdDtcbiIsIi8vXG4vLyAgVXRpbGl0aWVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG51bWJlcjtcbn1cblxuLy9cbi8vICBDb252ZXJ0IHZhbHVlcyB0byB1bml0IHNwZWNpZmllZCBpbiB0eXBvZ3JhcGh5IHZhcmlhYmxlc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gbGliLWZvbnQtc2l6ZS12YWx1ZSgkX3ZhbHVlKSB7XG4gICAgQGlmICRmb250LXNpemUtdW5pdC1jb252ZXJ0IHtcbiAgICAgICAgQGlmICRfdmFsdWUgIT0gZmFsc2UgYW5kICRfdmFsdWUgIT0gJycge1xuICAgICAgICAgICAgJF92YWx1ZTogc3RyaXAtdW5pdCgkX3ZhbHVlKSAvICRmb250LXNpemUtdW5pdC1yYXRpbztcbiAgICAgICAgICAgIEBpZiAkX3ZhbHVlID4gMCB7XG4gICAgICAgICAgICAgICAgJF92YWx1ZTogJF92YWx1ZSAqIDEjeyRmb250LXNpemUtdW5pdH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAcmV0dXJuICRfdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICRfdmFsdWU7XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLXZpc2liaWxpdHktaGlkZGVuKCkge1xuICAgIGhlaWdodDogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtaXhpbiBsaWItdmlzdWFsbHktaGlkZGVuKCkge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG59XG5cbkBtaXhpbiBsaWItdmlzdWFsbHktaGlkZGVuLXJlc2V0KCkge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vL1xuLy8gIENsZWFyZml4XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItY2xlYXJmaXgoKSB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWNsZWFyZXIoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxufVxuXG4vL1xuLy8gIEdyYWRpZW50XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItZ3JhZGllbnRfX2hvcml6b250YWwoXG4gICAgJF9zdGFydC1jb2xvcixcbiAgICAkX2VuZC1jb2xvcixcbiAgICAkX3N0YXJ0LXBlcmNlbnQgICAgICAgICAgICAgOiAwJSxcbiAgICAkX2VuZC1wZXJjZW50ICAgICAgICAgICAgICAgOiAxMDAlLFxuICAgICRfYmFja2dyb3VuZC1jb2xvci1wb3NpdGlvbiA6IHRydWVcbikge1xuICAgIEBpZiAkX2JhY2tncm91bmQtY29sb3ItcG9zaXRpb24gPT0gdHJ1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRfZW5kLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJF9zdGFydC1jb2xvciAkX3N0YXJ0LXBlcmNlbnQsICRfZW5kLWNvbG9yICRfZW5kLXBlcmNlbnQpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkX2JhY2tncm91bmQtY29sb3ItcG9zaXRpb24gPT0gZmFsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkX3N0YXJ0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRfc3RhcnQtY29sb3IgJF9zdGFydC1wZXJjZW50LCAkX2VuZC1jb2xvciAkX2VuZC1wZXJjZW50KTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIH1cbn1cbkBtaXhpbiBsaWItZ3JhZGllbnRfX3ZlcnRpY2FsKFxuICAgICRfc3RhcnQtY29sb3IsXG4gICAgJF9lbmQtY29sb3IsXG4gICAgJF9zdGFydC1wZXJjZW50ICAgICAgICAgICAgIDogMCUsXG4gICAgJF9lbmQtcGVyY2VudCAgICAgICAgICAgICAgIDogMTAwJSxcbiAgICAkX2JhY2tncm91bmQtY29sb3ItcG9zaXRpb24gOiB0cnVlXG4pIHtcbiAgICBAaWYgJF9iYWNrZ3JvdW5kLWNvbG9yLXBvc2l0aW9uID09IHRydWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkX2VuZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJF9zdGFydC1jb2xvciAkX3N0YXJ0LXBlcmNlbnQsICRfZW5kLWNvbG9yICRfZW5kLXBlcmNlbnQpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgfVxuICAgIEBlbHNlIGlmICRfYmFja2dyb3VuZC1jb2xvci1wb3NpdGlvbiA9PSBmYWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRfc3RhcnQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRfc3RhcnQtY29sb3IgJF9zdGFydC1wZXJjZW50LCAkX2VuZC1jb2xvciAkX2VuZC1wZXJjZW50KTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIH1cbn1cblxuXG5cbi8vXG4vLyAgUm90YXRlXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItcm90YXRlKCRfcm90YXRpb24pIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkX3JvdGF0aW9uKTtcbn1cblxuXG4vL1xuLy8gIFJlbW92ZSBzcGFjZXMgYmV0d2VlbiBlbGVtZW50cyB3aXRoIGRpc3BsYXk6IGlubGluZS1ibG9ja1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWlubGluZS1ibG9jay1zcGFjZS1jb250YWluZXIoKSB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gbGliLWlubGluZS1ibG9jay1zcGFjZS1pdGVtKFxuICAgICRfZm9udC1zaXplICAgOiAkZm9udC1zaXplX19iYXNlLFxuICAgICRfbGluZS1oZWlnaHQgOiBub3JtYWxcbikge1xuICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoJF9mb250LXNpemUpO1xuICAgIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJF9saW5lLWhlaWdodDtcbn1cblxuLy9cbi8vICBBZGQgYW55IGNzcyBwcm9wZXJ0eVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWNzcyhcbiAgICAkX3Byb3BlcnR5LFxuICAgICRfdmFsdWUsXG4gICAgJF9wcmVmaXg6IDBcbikge1xuICAgIEBpZiAkX3ZhbHVlID09IDAge1xuICAgICAgICAkX3ZhbHVlOiBzdHJpcC11bml0KCRfdmFsdWUpO1xuICAgIH1cblxuICAgIEBpZiAkX3ZhbHVlICE9ICcnIGFuZCAkX3ZhbHVlICE9IGZhbHNlIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJF92YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAgICAgICAkX2lzRmFsc2U6IGZhbHNlO1xuICAgICAgICAgICAgQGVhY2ggJF9pdGVtIGluICRfdmFsdWUge1xuICAgICAgICAgICAgICAgIEBpZiAkX2l0ZW0gPT0gZmFsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkX2lzRmFsc2U6IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRfaXNGYWxzZSA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgICAgI3skX3Byb3BlcnR5fTogJF92YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAjeyRfcHJvcGVydHl9OiAkX3ZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIEFkZCB1cmwgdG8gcHJvcGVydHlcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gdXNhZ2U6XG4vLyAuY29sdW1uLmxlZnQge1xuLy8gICAgIC5saWItdXJsKCdpbWFnZXMvZmFsbGJhY2sucG5nJyk7XG4vLyAgICAgYmFja2dyb3VuZDp1cmwoXCIjeyR1cmx9XCIpIHJlcGVhdC15O1xuLy8gfVxuLy8gLmNvbHVtbnMge1xuLy8gICAgIC5saWItdXJsKCdpbWFnZXMvZmFsbGJhY2sucG5nJywgJ01hZ2VudG9fQ2F0YWxvZycpO1xuLy8gICAgIGJhY2tncm91bmQ6dXJsKFwiI3skdXJsfVwiKSByZXBlYXQ7XG4vLyB9XG5cbiR1cmxzLXJlc29sdmVkOiBmYWxzZTtcblxuQG1peGluIGxpYi11cmwoJF9wYXRoKSB7XG4gICAgJHVybDogXCIuLi8jeyRfcGF0aH1cIjtcbn1cblxuQG1peGluIGxpYi11cmwoJF9wYXRoLCAkX21vZHVsZSkge1xuICAgIEBpZiAkX21vZHVsZSAhPSBmYWxzZSBhbmQgJF9tb2R1bGUgIT0gJycge1xuICAgICAgICBAaWYgJHVybHMtcmVzb2x2ZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAkdXJsOiBcIi4uLyN7JF9tb2R1bGV9LyN7JF9wYXRofVwiO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICR1cmxzLXJlc29sdmVkID09IGZhbHNlIHtcbiAgICAgICAgICAgICR1cmw6IFwiI3skX21vZHVsZX06OiN7JF9wYXRofVwiO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIEFycm93XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItYXJyb3coJF9wb3NpdGlvbiwgJF9zaXplLCAkX2NvbG9yKSB7XG4gICAgYm9yZGVyOiAkX3NpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIEBpbmNsdWRlIF9saWItYWJib3JfZWwoJF9wb3NpdGlvbiwgJF9jb2xvcik7XG59XG5cbkBtaXhpbiBfbGliLWFiYm9yX2VsKCRfcG9zaXRpb24sICRfY29sb3IpIHtcbiAgICBAaWYgJF9wb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItcmlnaHQtY29sb3IsICRfY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJF9wb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWxlZnQtY29sb3IsICRfY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJF9wb3NpdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWJvdHRvbS1jb2xvciwgJF9jb2xvcik7XG4gICAgfVxuICAgIEBpZiAkX3Bvc2l0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AtY29sb3IsICRfY29sb3IpO1xuICAgIH1cbn1cblxuLy9cbi8vICBJbnB1dCBwbGFjZWhvbGRlclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWlucHV0LXBsYWNlaG9sZGVyKFxuICAgICRfaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRmb3JtLWVsZW1lbnQtaW5wdXQtcGxhY2Vob2xkZXJfX2NvbG9yLFxuICAgICRfaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtd2VpZ2h0XG4pIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQpO1xuICAgIH1cblxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfaW5wdXQtcGxhY2Vob2xkZXItY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtd2VpZ2h0LCAkX2lucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0KTtcbiAgICB9XG5cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQpO1xuICAgIH1cblxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQpO1xuICAgIH1cbn1cblxuLy9cbi8vICBGbGV4IGxheW91dFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLXZlbmRvci1wcmVmaXgtZGlzcGxheShcbiAgICAkX3ZhbHVlOiBmbGV4XG4pIHtcbiAgICBkaXNwbGF5OiAkX3ZhbHVlO1xufVxuXG5AbWl4aW4gbGliLXZlbmRvci1wcmVmaXgtZmxleC1ncm93KFxuICAgICRfdmFsdWU6IDBcbikge1xuICAgIGZsZXgtZ3JvdzogJF92YWx1ZTtcbn1cblxuQG1peGluIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtc2hyaW5rKFxuICAgICRfdmFsdWU6IDFcbikge1xuICAgIGZsZXgtc2hyaW5rOiAkX3ZhbHVlO1xufVxuXG5AbWl4aW4gbGliLXZlbmRvci1wcmVmaXgtZmxleC1iYXNpcyhcbiAgICAkX3ZhbHVlOiBhdXRvXG4pIHtcbiAgICBmbGV4LWJhc2lzOiAkX3ZhbHVlO1xufVxuXG5AbWl4aW4gbGliLXZlbmRvci1wcmVmaXgtZmxleC13cmFwKFxuICAgICRfdmFsdWU6IHdyYXBcbikge1xuICAgIGZsZXgtd3JhcDogJF92YWx1ZTtcbn1cblxuQG1peGluIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZGlyZWN0aW9uKFxuICAgICRfdmFsdWU6IGNvbHVtblxuKSB7XG4gICAgZmxleC1kaXJlY3Rpb246ICRfdmFsdWU7XG59XG5cbkBtaXhpbiBsaWItdmVuZG9yLXByZWZpeC1vcmRlcihcbiAgICAkX3ZhbHVlOiAwXG4pIHtcbiAgICBvcmRlcjogJF92YWx1ZTtcbn1cblxuQG1peGluIGxpYi12ZW5kb3ItYm94LWFsaWduKFxuICAgICRfdmFsdWU6IHN0cmV0Y2hcbikge1xuICAgIGFsaWduLWl0ZW1zOiAkX3ZhbHVlO1xufVxuXG5AbWl4aW4gbGliLXZlbmRvci1wcmVmaXgtYXBwZWFyYW5jZShcbiAgICAkdmFsdWU6IG5vbmVcbikge1xuICAgIGFwcGVhcmFuY2U6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxpYi12ZW5kb3ItcHJlZml4LWNvbHVtbi1jb3VudChcbiAgICAkX3ZhbHVlXG4pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRfdmFsdWU7XG59XG5cbi8vXG4vLyAgUG9pbnRlciBmb3IgcG9wdXBzIG9yIGRyb3Bkb3duc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLXBvaW50ZXIoXG4gICAgJF9zaXplICAgICAgICAgICAgICAgICAgICAgICAgOiA2cHgsXG4gICAgJF9iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgICAgOiAkY29sb3Itd2hpdGUsXG4gICAgJF9ib3JkZXItY29sb3IgICAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheS1saWdodDMsXG4gICAgJF9wb3NpdGlvbl9fdmVydGljYWwgICAgICAgICAgOiB0b3AsXG4gICAgJF9wb3NpdGlvbl9faG9yaXpvbnRhbCAgICAgICAgOiBsZWZ0LFxuICAgICRfcG9zaXRpb25fX3ZlcnRpY2FsX192YWx1ZSAgIDogLTEycHgsXG4gICAgJF9wb3NpdGlvbl9faG9yaXpvbnRhbF9fdmFsdWUgOiAkaW5kZW50X19zLFxuICAgICRfei1pbmRleCAgICAgICAgICAgICAgICAgICAgIDogOTlcbikge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKCRfcG9zaXRpb25fX2hvcml6b250YWwsICRfcG9zaXRpb25fX2hvcml6b250YWxfX3ZhbHVlKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcygkX3Bvc2l0aW9uX192ZXJ0aWNhbCwgJF9wb3NpdGlvbl9fdmVydGljYWxfX3ZhbHVlKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsIHNvbGlkICRfc2l6ZSAtIDEpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1jb2xvciwgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJF9iYWNrZ3JvdW5kLWNvbG9yIHRyYW5zcGFyZW50KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh6LWluZGV4LCAkX3otaW5kZXgpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKCRfcG9zaXRpb25fX2hvcml6b250YWwsICRfcG9zaXRpb25fX2hvcml6b250YWxfX3ZhbHVlIC0gMSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoJF9wb3NpdGlvbl9fdmVydGljYWwsICRfcG9zaXRpb25fX3ZlcnRpY2FsX192YWx1ZSAtIDIpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgc29saWQgJF9zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRfYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh6LWluZGV4LCAkX3otaW5kZXggLSAxKTtcbiAgICB9XG59XG4iLCIvL1xuLy8gIFR5cG9ncmFwaHkgdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgRm9udHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gIFBhdGhcbiRpY29uc19fZm9udC1wYXRoICAgICAgICAgICAgICAgOiBcIi4uL2ZvbnRzL2R1by1tYWdlbnRvLWljb25zL0R1by1NYWdlbnRvLUljb25zXCIgIWRlZmF1bHQ7XG4kaWNvbnNfX2ZvbnQtbmFtZSAgICAgICAgICAgICAgIDogJ2R1by1pY29ucycgIWRlZmF1bHQ7XG5cbi8vICBGb250IGZhbWlsaWVzXG4kZm9udC1mYW1pbHktbmFtZV9fYmFzZSAgICAgICAgIDogJ01vbnRzZXJyYXQnICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5X19zYW5zLXNlcmlmICAgICAgICA6ICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCAnc2Fucy1zZXJpZicgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHlfX3NlcmlmICAgICAgICAgICAgIDogJ0dlb3JnaWEnLCAnVGltZXMgTmV3IFJvbWFuJywgJ1RpbWVzJywgJ3NlcmlmJyAhZGVmYXVsdDtcbiRmb250LWZhbWlseV9fbW9ub3NwYWNlICAgICAgICAgOiAnTWVubG8nLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgJ21vbm9zcGFjZScgIWRlZmF1bHQ7XG5cbiRmb250LWZhbWlseV9fYmFzZSAgICAgICAgICAgICAgOiAkZm9udC1mYW1pbHktbmFtZV9fYmFzZSwgJGZvbnQtZmFtaWx5X19zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gQWRkaXRpb25hbCBzdHlsZVxuJGZvbnQtZmFtaWx5X19leHRyYSAgICAgICAgICAgICA6ICdPcGVuIFNhbnMnLCAkZm9udC1mYW1pbHlfX3NhbnMtc2VyaWY7XG5cbi8vICBTaXplc1xuJHJvb3RfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICA6IDYyLjUlICFkZWZhdWx0OyAvLyBEZWZpbmVzIHJhdGlvIGJldHdlZW4gcm9vdCBmb250IHNpemUgYW5kIGJhc2UgZm9udCBzaXplLCAxcmVtID0gMTBweFxuJGZvbnQtc2l6ZS1yYXRpb19fYmFzZSAgICAgICAgICA6IDEuNCAhZGVmYXVsdDsgLy8gRGVmaW5lcyByYXRpbyBvZiB0aGUgcm9vdCBmb250LXNpemUgdG8gdGhlIGJhc2UgZm9udC1zaXplXG5cbiRmb250LXNpemUtdW5pdCAgICAgICAgICAgICAgICAgOiByZW0gIWRlZmF1bHQ7IC8vIFRoZSB1bml0IHRvIHdoaWNoIG1vc3QgdHlwb2dyYXBoeSB2YWx1ZXMgd2lsbCBiZSBjb252ZXJ0ZWQgYnkgZGVmYXVsdFxuJGZvbnQtc2l6ZS11bml0LXJhdGlvICAgICAgICAgICA6ICRyb290X19mb250LXNpemUgKiAxNiAvIDEwMCAvIDElICFkZWZhdWx0OyAvLyBSYXRpbyBvZiB0aGUgcm9vdCBmb250LXNpemUgdG8gdGhlIGZvbnQtc2l6ZSB1bml0XG4kZm9udC1zaXplLXVuaXQtY29udmVydCAgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDsgLy8gQ29udHJvbHMgd2hldGhlciBmb250LXNpemUgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gdGhlIHNwZWNpZmllZCBmb250LXNpemUgdW5pdFxuXG4kZm9udC1zaXplX19iYXNlICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZS11bml0LXJhdGlvICogJGZvbnQtc2l6ZS1yYXRpb19fYmFzZSAqIDFweCAhZGVmYXVsdDsgLy8gQmFzZSBmb250IHNpemUgdmFsdWUgaW4gcHhcbiRmb250LXNpemVfX3hsICAgICAgICAgICAgICAgICAgOiBjZWlsKDEuNSAqICRmb250LXNpemVfX2Jhc2UpICFkZWZhdWx0OyAvLyAyMXB4XG4kZm9udC1zaXplX19sICAgICAgICAgICAgICAgICAgIDogY2VpbCgxLjI1ICogJGZvbnQtc2l6ZV9fYmFzZSkgIWRlZmF1bHQ7IC8vIDE4cHhcbiRmb250LXNpemVfX3MgICAgICAgICAgICAgICAgICAgOiBjZWlsKDAuODUgKiAkZm9udC1zaXplX19iYXNlKSAhZGVmYXVsdDsgLy8gMTJweFxuJGZvbnQtc2l6ZV9feHMgICAgICAgICAgICAgICAgICA6IGZsb29yKDAuNzUgKiAkZm9udC1zaXplX19iYXNlKSAhZGVmYXVsdDsgLy8gMTFweFxuXG4vLyAgV2VpZ2h0c1xuJGZvbnQtd2VpZ2h0X19saWdodCAgICAgICAgICAgICA6IDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodF9fcmVndWxhciAgICAgICAgICAgOiA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHRfX2hlYXZpZXIgICAgICAgICAgIDogNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0X19zZW1pYm9sZCAgICAgICAgICA6IDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodF9fYm9sZCAgICAgICAgICAgICAgOiA3MDAgIWRlZmF1bHQ7XG5cbi8vICBTdHlsZXNcbiRmb250LXN0eWxlX19iYXNlICAgICAgICAgICAgICAgOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC1zdHlsZV9fZW1waGFzaXMgICAgICAgICAgIDogaXRhbGljICFkZWZhdWx0O1xuXG4vLyAgTGluZSBoZWlnaHRzXG4kbGluZS1oZWlnaHRfX2Jhc2UgICAgICAgICAgICAgIDogMS40Mjg1NzEgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHRfX2NvbXB1dGVkICAgICAgICAgIDogZmxvb3IoJGZvbnQtc2l6ZV9fYmFzZSAqICRsaW5lLWhlaWdodF9fYmFzZSkgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHRfX3hsICAgICAgICAgICAgICAgIDogMS43ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0X19sICAgICAgICAgICAgICAgICA6IDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodF9fcyAgICAgICAgICAgICAgICAgOiAxLjMzICFkZWZhdWx0O1xuXG4vLyAgQ29sb3JzXG4kdGV4dF9fY29sb3IgICAgICAgICAgICAgICAgICAgIDogJHByaW1hcnlfX2NvbG9yICFkZWZhdWx0O1xuJHRleHRfX2NvbG9yX19pbnRlbnNlICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvcl9fZGFya2VyICFkZWZhdWx0O1xuJHRleHRfX2NvbG9yX19tdXRlZCAgICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvcl9fbGlnaHRlciAhZGVmYXVsdDtcblxuLy9cbi8vICBJbmRlbnRzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRpbmRlbnRfX2Jhc2UgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHRfX2NvbXB1dGVkICFkZWZhdWx0OyAvLyAyMHB4XG4kaW5kZW50X194bCAgICAgICAgICAgICAgICAgICAgIDogJGluZGVudF9fYmFzZSAqIDIgIWRlZmF1bHQ7IC8vIDQwcHhcbiRpbmRlbnRfX2wgICAgICAgICAgICAgICAgICAgICAgOiAkaW5kZW50X19iYXNlICogMS41ICFkZWZhdWx0OyAvLyAzMHB4XG4kaW5kZW50X19tICAgICAgICAgICAgICAgICAgICAgIDogJGluZGVudF9fYmFzZSAqIDEuMjUgIWRlZmF1bHQ7IC8vIDI1cHhcbiRpbmRlbnRfX3MgICAgICAgICAgICAgICAgICAgICAgOiAkaW5kZW50X19iYXNlIC8gMiAhZGVmYXVsdDsgLy8gMTBweFxuJGluZGVudF9feHMgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgLyA0ICFkZWZhdWx0OyAvLyA1cHhcblxuLy9cbi8vICBCb3JkZXJzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRib3JkZXItY29sb3JfX2Jhc2UgICAgICAgICAgICAgOiBkYXJrZW4oJHBhZ2VfX2JhY2tncm91bmQtY29sb3IsIDE4JSkgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoX19iYXNlICAgICAgICAgICAgIDogMXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gIExpbmtzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsaW5rX19jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkdGV4dF9fY29sb3IgIWRlZmF1bHQ7XG4kbGlua19fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgIDogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kbGlua19fdmlzaXRlZF9fY29sb3IgICAgICAgICAgIDogJHRleHRfX2NvbG9yICFkZWZhdWx0O1xuJGxpbmtfX3Zpc2l0ZWRfX3RleHQtZGVjb3JhdGlvbiA6IG5vbmUgIWRlZmF1bHQ7XG5cbiRsaW5rX19ob3Zlcl9fY29sb3IgICAgICAgICAgICAgOiAjYTU0ZjZjICFkZWZhdWx0O1xuJGxpbmtfX2hvdmVyX190ZXh0LWRlY29yYXRpb24gICA6IG5vbmUgIWRlZmF1bHQ7XG5cbiRsaW5rX19hY3RpdmVfX2NvbG9yICAgICAgICAgICAgOiAkYWN0aXZlX19jb2xvciAhZGVmYXVsdDtcbiRsaW5rX19hY3RpdmVfX3RleHQtZGVjb3JhdGlvbiAgOiBub25lICFkZWZhdWx0O1xuXG4vL1xuLy8gIEZvY3VzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb2N1c19fY29sb3IgICAgICAgICAgICAgICAgICAgOiAkY29sb3Itc2t5LWJsdWUxICFkZWZhdWx0O1xuJGZvY3VzX19ib3gtc2hhZG93ICAgICAgICAgICAgICA6IDAgMCAzcHggMXB4ICRmb2N1c19fY29sb3IgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgTGlzdHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxpc3RfX2NvbG9yX19iYXNlICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGxpc3RfX2ZvbnQtc2l6ZV9fYmFzZSAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGxpc3RfX21hcmdpbi10b3AgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kbGlzdF9fbWFyZ2luLWJvdHRvbSAgICAgICAgICAgIDogJGluZGVudF9fbSAhZGVmYXVsdDtcblxuJGxpc3QtaXRlbV9fbWFyZ2luLXRvcCAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kbGlzdC1pdGVtX19tYXJnaW4tYm90dG9tICAgICAgIDogJGluZGVudF9fcyAhZGVmYXVsdDtcblxuJGRsX19tYXJnaW4tdG9wICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kZGxfX21hcmdpbi1ib3R0b20gICAgICAgICAgICAgIDogJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcblxuJGR0X19tYXJnaW4tdG9wICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kZHRfX21hcmdpbi1ib3R0b20gICAgICAgICAgICAgIDogJGluZGVudF9feHMgIWRlZmF1bHQ7XG4kZHRfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgIDogJGZvbnQtd2VpZ2h0X19ib2xkICFkZWZhdWx0O1xuXG4kZGRfX21hcmdpbi10b3AgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRkZF9fbWFyZ2luLWJvdHRvbSAgICAgICAgICAgICAgOiAkaW5kZW50X19zICFkZWZhdWx0O1xuXG4vL1xuLy8gIFBhcmFncmFwaHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHBfX21hcmdpbi10b3AgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kcF9fbWFyZ2luLWJvdHRvbSAgICAgICAgICAgICAgIDogJGluZGVudF9fcyAhZGVmYXVsdDtcblxuLy9cbi8vICBIZWFkaW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGluZ19fZm9udC1mYW1pbHlfX2Jhc2UgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGluZ19fZm9udC13ZWlnaHRfX2Jhc2UgICAgIDogJGZvbnQtd2VpZ2h0X19saWdodCAhZGVmYXVsdDtcbiRoZWFkaW5nX19saW5lLWhlaWdodF9fYmFzZSAgICAgOiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ19fY29sb3JfX2Jhc2UgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGluZ19fZm9udC1zdHlsZV9fYmFzZSAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGluZ19fbWFyZ2luLXRvcF9fYmFzZSAgICAgIDogJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcbiRoZWFkaW5nX19tYXJnaW4tYm90dG9tX19iYXNlICAgOiAkaW5kZW50X19iYXNlICFkZWZhdWx0O1xuXG4kaDFfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogY2VpbCgoJGZvbnQtc2l6ZV9fYmFzZSAqIDEuODUpKSAhZGVmYXVsdDsgLy8gMjZweFxuJGgxX19mb250LWNvbG9yICAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19jb2xvcl9fYmFzZSAhZGVmYXVsdDtcbiRoMV9fZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fZm9udC1mYW1pbHlfX2Jhc2UgIWRlZmF1bHQ7XG4kaDFfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2ZvbnQtd2VpZ2h0X19iYXNlICFkZWZhdWx0O1xuJGgxX19mb250LXN0eWxlICAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19mb250LXN0eWxlX19iYXNlICFkZWZhdWx0O1xuJGgxX19saW5lLWhlaWdodCAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19saW5lLWhlaWdodF9fYmFzZSAhZGVmYXVsdDtcbiRoMV9fbWFyZ2luLXRvcCAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGgxX19tYXJnaW4tYm90dG9tICAgICAgICAgICAgICA6ICRoZWFkaW5nX19tYXJnaW4tYm90dG9tX19iYXNlICFkZWZhdWx0O1xuJGgxX19mb250LXNpemUtZGVza3RvcCAgICAgICAgICA6IGNlaWwoKCRmb250LXNpemVfX2Jhc2UgKiAyLjg1KSkgIWRlZmF1bHQ7IC8vIDQwcHhcblxuJGgyX19mb250LXNpemUgICAgICAgICAgICAgICAgICA6IGNlaWwoKCRmb250LXNpemVfX2Jhc2UgKiAxLjg1KSkgIWRlZmF1bHQ7IC8vIDI2cHhcbiRoMl9fZm9udC1jb2xvciAgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fY29sb3JfX2Jhc2UgIWRlZmF1bHQ7XG4kaDJfX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2ZvbnQtZmFtaWx5X19iYXNlICFkZWZhdWx0O1xuJGgyX19mb250LXdlaWdodCAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19mb250LXdlaWdodF9fYmFzZSAhZGVmYXVsdDtcbiRoMl9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fZm9udC1zdHlsZV9fYmFzZSAhZGVmYXVsdDtcbiRoMl9fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fbGluZS1oZWlnaHRfX2Jhc2UgIWRlZmF1bHQ7XG4kaDJfX21hcmdpbi10b3AgICAgICAgICAgICAgICAgIDogJGluZGVudF9fbSAhZGVmYXVsdDtcbiRoMl9fbWFyZ2luLWJvdHRvbSAgICAgICAgICAgICAgOiAkaGVhZGluZ19fbWFyZ2luLWJvdHRvbV9fYmFzZSAhZGVmYXVsdDtcblxuJGgzX19mb250LXNpemUgICAgICAgICAgICAgICAgICA6IGNlaWwoKCRmb250LXNpemVfX2Jhc2UgKiAxLjI4KSkgIWRlZmF1bHQ7IC8vIDE4cHhcbiRoM19fZm9udC1jb2xvciAgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fY29sb3JfX2Jhc2UgIWRlZmF1bHQ7XG4kaDNfX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2ZvbnQtZmFtaWx5X19iYXNlICFkZWZhdWx0O1xuJGgzX19mb250LXdlaWdodCAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19mb250LXdlaWdodF9fYmFzZSAhZGVmYXVsdDtcbiRoM19fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fZm9udC1zdHlsZV9fYmFzZSAhZGVmYXVsdDtcbiRoM19fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fbGluZS1oZWlnaHRfX2Jhc2UgIWRlZmF1bHQ7XG4kaDNfX21hcmdpbi10b3AgICAgICAgICAgICAgICAgIDogJGluZGVudF9fYmFzZSAqIDAuNzUgIWRlZmF1bHQ7XG4kaDNfX21hcmdpbi1ib3R0b20gICAgICAgICAgICAgIDogJGluZGVudF9fcyAhZGVmYXVsdDtcblxuJGg0X19mb250LXNpemUgICAgICAgICAgICAgICAgICA6ICRmb250LXNpemVfX2Jhc2UgIWRlZmF1bHQ7IC8vIDE0cHhcbiRoNF9fZm9udC1jb2xvciAgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fY29sb3JfX2Jhc2UgIWRlZmF1bHQ7XG4kaDRfX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2ZvbnQtZmFtaWx5X19iYXNlICFkZWZhdWx0O1xuJGg0X19mb250LXdlaWdodCAgICAgICAgICAgICAgICA6ICRmb250LXdlaWdodF9fYm9sZCAhZGVmYXVsdDtcbiRoNF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fZm9udC1zdHlsZV9fYmFzZSAhZGVmYXVsdDtcbiRoNF9fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAkaGVhZGluZ19fbGluZS1oZWlnaHRfX2Jhc2UgIWRlZmF1bHQ7XG4kaDRfX21hcmdpbi10b3AgICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX21hcmdpbi10b3BfX2Jhc2UgIWRlZmF1bHQ7XG4kaDRfX21hcmdpbi1ib3R0b20gICAgICAgICAgICAgIDogJGhlYWRpbmdfX21hcmdpbi1ib3R0b21fX2Jhc2UgIWRlZmF1bHQ7XG5cbiRoNV9fZm9udC1zaXplICAgICAgICAgICAgICAgICAgOiBjZWlsKCgkZm9udC1zaXplX19iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyAxMnB4XG4kaDVfX2ZvbnQtY29sb3IgICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2NvbG9yX19iYXNlICFkZWZhdWx0O1xuJGg1X19mb250LWZhbWlseSAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19mb250LWZhbWlseV9fYmFzZSAhZGVmYXVsdDtcbiRoNV9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgOiAkZm9udC13ZWlnaHRfX2JvbGQgIWRlZmF1bHQ7XG4kaDVfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2ZvbnQtc3R5bGVfX2Jhc2UgIWRlZmF1bHQ7XG4kaDVfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2xpbmUtaGVpZ2h0X19iYXNlICFkZWZhdWx0O1xuJGg1X19tYXJnaW4tdG9wICAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19tYXJnaW4tdG9wX19iYXNlICFkZWZhdWx0O1xuJGg1X19tYXJnaW4tYm90dG9tICAgICAgICAgICAgICA6ICRoZWFkaW5nX19tYXJnaW4tYm90dG9tX19iYXNlICFkZWZhdWx0O1xuXG4kaDZfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogY2VpbCgoJGZvbnQtc2l6ZV9fYmFzZSAqIDAuNykpICFkZWZhdWx0OyAvLyAxMHB4XG4kaDZfX2ZvbnQtY29sb3IgICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2NvbG9yX19iYXNlICFkZWZhdWx0O1xuJGg2X19mb250LWZhbWlseSAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19mb250LWZhbWlseV9fYmFzZSAhZGVmYXVsdDtcbiRoNl9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgOiAkZm9udC13ZWlnaHRfX2JvbGQgIWRlZmF1bHQ7XG4kaDZfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2ZvbnQtc3R5bGVfX2Jhc2UgIWRlZmF1bHQ7XG4kaDZfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgIDogJGhlYWRpbmdfX2xpbmUtaGVpZ2h0X19iYXNlICFkZWZhdWx0O1xuJGg2X19tYXJnaW4tdG9wICAgICAgICAgICAgICAgICA6ICRoZWFkaW5nX19tYXJnaW4tdG9wX19iYXNlICFkZWZhdWx0O1xuJGg2X19tYXJnaW4tYm90dG9tICAgICAgICAgICAgICA6ICRoZWFkaW5nX19tYXJnaW4tYm90dG9tX19iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ19fc21hbGwtY29sb3IgICAgICAgICAgIDogJHByaW1hcnlfX2NvbG9yICFkZWZhdWx0O1xuJGhlYWRpbmdfX3NtYWxsLWxpbmUtaGVpZ2h0ICAgICA6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZ19fc21hbGwtc2l6ZSAgICAgICAgICAgIDogKCRmb250LXNpemVfX3hzIC8gJGZvbnQtc2l6ZV9fYmFzZSkgKiAxMDAlICFkZWZhdWx0O1xuXG4vLyAgQ29kZSBibG9ja3NcbiRjb2RlX19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgOiAkcGFuZWxfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kY29kZV9fY29sb3IgICAgICAgICAgICAgICAgICAgIDogJHByaW1hcnlfX2NvbG9yX19kYXJrZXIgIWRlZmF1bHQ7XG4kY29kZV9fZm9udC1zaXplICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fcyAhZGVmYXVsdDtcbiRjb2RlX19wYWRkaW5nICAgICAgICAgICAgICAgICAgOiAycHggNHB4ICFkZWZhdWx0O1xuXG4kcHJlX19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgIDogJHBhbmVsX19iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJHByZV9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3JfX2Jhc2UgIWRlZmF1bHQ7XG4kcHJlX19ib3JkZXItd2lkdGggICAgICAgICAgICAgIDogJGJvcmRlci13aWR0aF9fYmFzZSAhZGVmYXVsdDtcbiRwcmVfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3JfX2RhcmtlciAhZGVmYXVsdDtcblxuJGtiZF9fYmFja2dyb3VuZC1jb2xvciAgICAgICAgICA6ICRwYW5lbF9fYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiRrYmRfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3JfX2RhcmtlciAhZGVmYXVsdDtcblxuLy8gIEJsb2NrcXVvdGVcbiRibG9ja3F1b3RlX19ib3JkZXItY29sb3IgICAgICAgOiAkYm9yZGVyLWNvbG9yX19iYXNlICFkZWZhdWx0O1xuJGJsb2NrcXVvdGVfX2JvcmRlci13aWR0aCAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZV9fY29udGVudC1iZWZvcmUgICAgIDogJ1xcMjAxNCBcXDAwQTAnICFkZWZhdWx0O1xuJGJsb2NrcXVvdGVfX2ZvbnQtc2l6ZSAgICAgICAgICA6ICRmb250LXNpemVfX2Jhc2UgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZV9fZm9udC1zdHlsZSAgICAgICAgIDogJGZvbnQtc3R5bGVfX2VtcGhhc2lzICFkZWZhdWx0O1xuJGJsb2NrcXVvdGVfX21hcmdpbiAgICAgICAgICAgICA6IDAgMCAkaW5kZW50X19iYXNlICRpbmRlbnRfX3hsICFkZWZhdWx0O1xuJGJsb2NrcXVvdGVfX3BhZGRpbmcgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsX19jb2xvciAgICAgICAgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbF9fZm9udC1zaXplICAgIDogJGZvbnQtc2l6ZV9feHMgIWRlZmF1bHQ7XG5cbiRjaXRlX19mb250LXN0eWxlICAgICAgICAgICAgICAgOiAkZm9udC1zdHlsZV9fYmFzZSAhZGVmYXVsdDtcblxuLy8gIE1pc2NcbiRocl9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yX19iYXNlICFkZWZhdWx0O1xuJGhyX19ib3JkZXItc3R5bGUgICAgICAgICAgICAgICA6IHNvbGlkICFkZWZhdWx0O1xuJGhyX19ib3JkZXItd2lkdGggICAgICAgICAgICAgICA6ICRib3JkZXItd2lkdGhfX2Jhc2UgIWRlZmF1bHQ7XG5cbiRtYXJrX19jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3JfX2RhcmsgIWRlZmF1bHQ7XG4kbWFya19fYmFja2dyb3VuZC1jb2xvciAgICAgICAgIDogJHBhbmVsX19iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuXG4kYWJicl9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvcl9fYmFzZSAhZGVmYXVsdDtcblxuLy8gIERpc2FibGUgZmlsdGVycyBvdXRwdXQgaW4gY3NzXG4kZGlzYWJsZS1maWx0ZXJzICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gIFR5cG9ncmFwaHlcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQG1peGluIGxpYi1mb250LWZhY2UoXG5cdFx0JGZhbWlseS1uYW1lLFxuXHRcdCRmb250LXBhdGgsXG5cdFx0JGZvbnQtd2VpZ2h0OiBub3JtYWwsXG5cdFx0JGZvbnQtc3R5bGU6IG5vcm1hbFxuKSB7XG5cdFx0QGZvbnQtZmFjZSB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZmFtaWx5LW5hbWU7XG5cdFx0XHRcdHNyYzogdXJsKCcjeyRmb250LXBhdGh9LmVvdCcpO1xuXHRcdFx0XHRzcmM6IHVybCgnI3skZm9udC1wYXRofS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdFx0XHR1cmwoJyN7JGZvbnQtcGF0aH0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG5cdFx0XHRcdHVybCgnI3skZm9udC1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0XHRcdHVybCgnI3skZm9udC1wYXRofS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0XHRcdHVybCgnI3skZm9udC1wYXRofS5zdmcjI3skZmFtaWx5LW5hbWV9JykgZm9ybWF0KCdzdmcnKTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcblx0XHRcdFx0Zm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XG5cdFx0fVxufVxuXG5AbWl4aW4gbGliLWZvbnQtZmFjZS1tb2Rlcm4oXG5cdFx0JGZhbWlseS1uYW1lLFxuXHRcdCRmb250LXBhdGgsXG5cdFx0JGZvbnQtd2VpZ2h0OiBub3JtYWwsXG5cdFx0JGZvbnQtc3R5bGU6IG5vcm1hbCxcblx0XHQkZm9udC1kaXNwbGF5OiBzd2FwXG4pIHtcblx0XHRAZm9udC1mYWNlIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmYW1pbHktbmFtZTtcblx0XHRcdFx0c3JjOiB1cmwoJyN7JGZvbnQtcGF0aH0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG5cdFx0XHRcdHVybCgnI3skZm9udC1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0XHRcdHVybCgnI3skZm9udC1wYXRofS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG5cdFx0XHRcdGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xuXHRcdFx0XHRmb250LWRpc3BsYXk6ICRmb250LWRpc3BsYXk7XG5cdFx0fVxufVxuXG4vLyAgUmVtIGZvbnQgc2l6ZVxuQG1peGluIGxpYi1mb250LXNpemUoJHNpemVWYWx1ZSkge1xuXHRcdEBpZiB0eXBlLW9mKCRzaXplVmFsdWUpID09IG51bWJlciBhbmQgdW5pdCgkc2l6ZVZhbHVlKSAhPSAnJScgYW5kICRzaXplVmFsdWUgIT0gZmFsc2Uge1xuXHRcdFx0XHRAaWYgdW5pdCgkc2l6ZVZhbHVlKSA9PSAkZm9udC1zaXplLXVuaXQgb3IgdW5pdCgkc2l6ZVZhbHVlKSA9PSAnZW0nIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MoZm9udC1zaXplLCAkc2l6ZVZhbHVlKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAZWxzZSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKGZvbnQtc2l6ZSwgbGliLWZvbnQtc2l6ZS12YWx1ZSgkc2l6ZVZhbHVlKSk7XG5cdFx0XHRcdH1cblx0XHR9XG59XG5cbkBtaXhpbiBsaWItdHlwb2dyYXBoeShcblx0XHQkX2ZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9fYmFzZSxcblx0XHQkX2NvbG9yOiAkdGV4dF9fY29sb3IsXG5cdFx0JF9mb250LWZhbWlseTogJGZvbnQtZmFtaWx5X19iYXNlLFxuXHRcdCRfZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcixcblx0XHQkX2xpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHRfX2Jhc2UsXG5cdFx0JF9mb250LXN0eWxlOiAkZm9udC1zdHlsZV9fYmFzZVxuKSB7XG5cdFx0QGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9jb2xvcik7XG5cdFx0QGluY2x1ZGUgbGliLWNzcyhmb250LWZhbWlseSwgJF9mb250LWZhbWlseSk7XG5cdFx0QGluY2x1ZGUgbGliLWNzcyhmb250LXN0eWxlLCAkX2ZvbnQtc3R5bGUpO1xuXHRcdEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfZm9udC13ZWlnaHQpO1xuXHRcdEBpbmNsdWRlIGxpYi1jc3MobGluZS1oZWlnaHQsICRfbGluZS1oZWlnaHQpO1xuXHRcdEBpbmNsdWRlIGxpYi1mb250LXNpemUoJF9mb250LXNpemUpO1xufVxuXG5AbWl4aW4gbGliLWxpc3QtaW5saW5lKCkge1xuXHRcdCYgPiBsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHR9XG59XG5cbkBtaXhpbiBsaWItbGluayhcblx0XHQkX2xpbmstY29sb3IgICAgICAgICAgICAgICAgICAgOiAkbGlua19fY29sb3IsXG5cdFx0JF9saW5rLXRleHQtZGVjb3JhdGlvbiAgICAgICAgIDogJGxpbmtfX3RleHQtZGVjb3JhdGlvbixcblx0XHQkX2xpbmstY29sb3ItdmlzaXRlZCAgICAgICAgICAgOiAkbGlua19fdmlzaXRlZF9fY29sb3IsXG5cdFx0JF9saW5rLXRleHQtZGVjb3JhdGlvbi12aXNpdGVkIDogJGxpbmtfX3Zpc2l0ZWRfX3RleHQtZGVjb3JhdGlvbixcblx0XHQkX2xpbmstY29sb3ItaG92ZXIgICAgICAgICAgICAgOiAkbGlua19faG92ZXJfX2NvbG9yLFxuXHRcdCRfbGluay10ZXh0LWRlY29yYXRpb24taG92ZXIgICA6ICRsaW5rX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uLFxuXHRcdCRfbGluay1jb2xvci1hY3RpdmUgICAgICAgICAgICA6ICRsaW5rX19hY3RpdmVfX2NvbG9yLFxuXHRcdCRfbGluay10ZXh0LWRlY29yYXRpb24tYWN0aXZlOiAkbGlua19fYWN0aXZlX190ZXh0LWRlY29yYXRpb25cbikge1xuXHRcdEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfbGluay1jb2xvcik7XG5cdFx0QGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfbGluay10ZXh0LWRlY29yYXRpb24pO1xuXG5cdFx0Jjp2aXNpdGVkIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9saW5rLWNvbG9yLXZpc2l0ZWQpO1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKHRleHQtZGVjb3JhdGlvbiwgJF9saW5rLXRleHQtZGVjb3JhdGlvbi12aXNpdGVkKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9saW5rLWNvbG9yLWhvdmVyKTtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfbGluay10ZXh0LWRlY29yYXRpb24taG92ZXIpO1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9saW5rLWNvbG9yLWFjdGl2ZSk7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3ModGV4dC1kZWNvcmF0aW9uLCAkX2xpbmstdGV4dC1kZWNvcmF0aW9uLWFjdGl2ZSk7XG5cdFx0fVxufVxuXG5AbWl4aW4gbGliLWhlYWRpbmcoJF9oZWFkaW5nX2xldmVsOiBoMSkge1xuXHRcdCRoMTogKFxuXHRcdFx0XHRjb2xvciAgICAgICAgIDogJGgxX19mb250LWNvbG9yLFxuXHRcdFx0XHRmb250LXNpemUgICAgIDogJGgxX19mb250LXNpemUsXG5cdFx0XHRcdGZvbnQtZmFtaWx5ICAgOiAkaDFfX2ZvbnQtZmFtaWx5LFxuXHRcdFx0XHRmb250LXdlaWdodCAgIDogJGgxX19mb250LXdlaWdodCxcblx0XHRcdFx0bGluZS1oZWlnaHQgICA6ICRoMV9fbGluZS1oZWlnaHQsXG5cdFx0XHRcdGZvbnQtc3R5bGUgICAgOiAkaDFfX2ZvbnQtc3R5bGUsXG5cdFx0XHRcdG1hcmdpbi10b3AgICAgOiAkaDFfX21hcmdpbi10b3AsXG5cdFx0XHRcdG1hcmdpbi1ib3R0b20gOiAkaDFfX21hcmdpbi1ib3R0b21cblx0XHQpO1xuXG5cdFx0JGgyOiAoXG5cdFx0XHRcdGNvbG9yICAgICAgICAgOiAkaDJfX2ZvbnQtY29sb3IsXG5cdFx0XHRcdGZvbnQtc2l6ZSAgICAgOiAkaDJfX2ZvbnQtc2l6ZSxcblx0XHRcdFx0Zm9udC1mYW1pbHkgICA6ICRoMl9fZm9udC1mYW1pbHksXG5cdFx0XHRcdGZvbnQtd2VpZ2h0ICAgOiAkaDJfX2ZvbnQtd2VpZ2h0LFxuXHRcdFx0XHRsaW5lLWhlaWdodCAgIDogJGgyX19saW5lLWhlaWdodCxcblx0XHRcdFx0Zm9udC1zdHlsZSAgICA6ICRoMl9fZm9udC1zdHlsZSxcblx0XHRcdFx0bWFyZ2luLXRvcCAgICA6ICRoMl9fbWFyZ2luLXRvcCxcblx0XHRcdFx0bWFyZ2luLWJvdHRvbSA6ICRoMl9fbWFyZ2luLWJvdHRvbVxuXHRcdCk7XG5cblx0XHQkaDM6IChcblx0XHRcdFx0Y29sb3IgICAgICAgICA6ICRoM19fZm9udC1jb2xvcixcblx0XHRcdFx0Zm9udC1zaXplICAgICA6ICRoM19fZm9udC1zaXplLFxuXHRcdFx0XHRmb250LWZhbWlseSAgIDogJGgzX19mb250LWZhbWlseSxcblx0XHRcdFx0Zm9udC13ZWlnaHQgICA6ICRoM19fZm9udC13ZWlnaHQsXG5cdFx0XHRcdGxpbmUtaGVpZ2h0ICAgOiAkaDNfX2xpbmUtaGVpZ2h0LFxuXHRcdFx0XHRmb250LXN0eWxlICAgIDogJGgzX19mb250LXN0eWxlLFxuXHRcdFx0XHRtYXJnaW4tdG9wICAgIDogJGgzX19tYXJnaW4tdG9wLFxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIDogJGgzX19tYXJnaW4tYm90dG9tXG5cdFx0KTtcblxuXHRcdCRoNDogKFxuXHRcdFx0XHRjb2xvciAgICAgICAgIDogJGg0X19mb250LWNvbG9yLFxuXHRcdFx0XHRmb250LXNpemUgICAgIDogJGg0X19mb250LXNpemUsXG5cdFx0XHRcdGZvbnQtZmFtaWx5ICAgOiAkaDRfX2ZvbnQtZmFtaWx5LFxuXHRcdFx0XHRmb250LXdlaWdodCAgIDogJGg0X19mb250LXdlaWdodCxcblx0XHRcdFx0bGluZS1oZWlnaHQgICA6ICRoNF9fbGluZS1oZWlnaHQsXG5cdFx0XHRcdGZvbnQtc3R5bGUgICAgOiAkaDRfX2ZvbnQtc3R5bGUsXG5cdFx0XHRcdG1hcmdpbi10b3AgICAgOiAkaDRfX21hcmdpbi10b3AsXG5cdFx0XHRcdG1hcmdpbi1ib3R0b20gOiAkaDRfX21hcmdpbi1ib3R0b21cblx0XHQpO1xuXG5cdFx0JGg1OiAoXG5cdFx0XHRcdGNvbG9yICAgICAgICAgOiAkaDVfX2ZvbnQtY29sb3IsXG5cdFx0XHRcdGZvbnQtc2l6ZSAgICAgOiAkaDVfX2ZvbnQtc2l6ZSxcblx0XHRcdFx0Zm9udC1mYW1pbHkgICA6ICRoNV9fZm9udC1mYW1pbHksXG5cdFx0XHRcdGZvbnQtd2VpZ2h0ICAgOiAkaDVfX2ZvbnQtd2VpZ2h0LFxuXHRcdFx0XHRsaW5lLWhlaWdodCAgIDogJGg1X19saW5lLWhlaWdodCxcblx0XHRcdFx0Zm9udC1zdHlsZSAgICA6ICRoNV9fZm9udC1zdHlsZSxcblx0XHRcdFx0bWFyZ2luLXRvcCAgICA6ICRoNV9fbWFyZ2luLXRvcCxcblx0XHRcdFx0bWFyZ2luLWJvdHRvbSA6ICRoNV9fbWFyZ2luLWJvdHRvbVxuXHRcdCk7XG5cblx0XHQkaDY6IChcblx0XHRcdFx0Y29sb3IgICAgICAgICA6ICRoNl9fZm9udC1jb2xvcixcblx0XHRcdFx0Zm9udC1zaXplICAgICA6ICRoNl9fZm9udC1zaXplLFxuXHRcdFx0XHRmb250LWZhbWlseSAgIDogJGg2X19mb250LWZhbWlseSxcblx0XHRcdFx0Zm9udC13ZWlnaHQgICA6ICRoNl9fZm9udC13ZWlnaHQsXG5cdFx0XHRcdGxpbmUtaGVpZ2h0ICAgOiAkaDZfX2xpbmUtaGVpZ2h0LFxuXHRcdFx0XHRmb250LXN0eWxlICAgIDogJGg2X19mb250LXN0eWxlLFxuXHRcdFx0XHRtYXJnaW4tdG9wICAgIDogJGg2X19tYXJnaW4tdG9wLFxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIDogJGg2X19tYXJnaW4tYm90dG9tXG5cdFx0KTtcblxuXHRcdCRtYXA6ICRoMTtcblx0XHRAaWYgJF9oZWFkaW5nX2xldmVsID09IGgyIHtcblx0XHRcdFx0JG1hcDogJGgyO1xuXHRcdH1cblx0XHRAZWxzZSBpZiAkX2hlYWRpbmdfbGV2ZWwgPT0gaDMge1xuXHRcdFx0XHQkbWFwOiAkaDM7XG5cdFx0fVxuXHRcdEBlbHNlIGlmICRfaGVhZGluZ19sZXZlbCA9PSBoNCB7XG5cdFx0XHRcdCRtYXA6ICRoNDtcblx0XHR9XG5cdFx0QGVsc2UgaWYgJF9oZWFkaW5nX2xldmVsID09IGg1IHtcblx0XHRcdFx0JG1hcDogJGg1O1xuXHRcdH1cblx0XHRAZWxzZSBpZiAkX2hlYWRpbmdfbGV2ZWwgPT0gaDYge1xuXHRcdFx0XHQkbWFwOiAkaDY7XG5cdFx0fVxuXG5cdFx0JF9mb250LWNvbG9yICAgIDogbWFwLWdldCgkbWFwLCBjb2xvcik7XG5cdFx0JF9mb250LXNpemUgICAgIDogbWFwLWdldCgkbWFwLCBmb250LXNpemUpO1xuXHRcdCRfZm9udC1mYW1pbHkgICA6IG1hcC1nZXQoJG1hcCwgZm9udC1mYW1pbHkpO1xuXHRcdCRfZm9udC13ZWlnaHQgICA6IG1hcC1nZXQoJG1hcCwgZm9udC13ZWlnaHQpO1xuXHRcdCRfbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJG1hcCwgbGluZS1oZWlnaHQpO1xuXHRcdCRfZm9udC1zdHlsZSAgICA6IG1hcC1nZXQoJG1hcCwgZm9udC1zdHlsZSk7XG5cdFx0JF9tYXJnaW4tdG9wICAgIDogbWFwLWdldCgkbWFwLCBtYXJnaW4tdG9wKTtcblx0XHQkX21hcmdpbi1ib3R0b20gOiBtYXAtZ2V0KCRtYXAsIG1hcmdpbi1ib3R0b20pO1xuXG5cdFx0QGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG5cdFx0XHRcdCRfZm9udC1zaXplLFxuXHRcdFx0XHQkX2ZvbnQtY29sb3IsXG5cdFx0XHRcdCRfZm9udC1mYW1pbHksXG5cdFx0XHRcdCRfZm9udC13ZWlnaHQsXG5cdFx0XHRcdCRfbGluZS1oZWlnaHQsXG5cdFx0XHRcdCRfZm9udC1zdHlsZVxuXHRcdCk7XG5cblx0XHRAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsIGxpYi1mb250LXNpemUtdmFsdWUoJF9tYXJnaW4tdG9wKSk7XG5cdFx0QGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCBsaWItZm9udC1zaXplLXZhbHVlKCRfbWFyZ2luLWJvdHRvbSkpO1xufVxuXG4vL1xuLy8gIEJhc2UgdHlwb2dyYXBoeVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLXR5cG9ncmFwaHlfX2Jhc2UoXG5cdFx0JF9hYmJyLWJvcmRlci1jb2xvciAgICAgOiAkYWJicl9fYm9yZGVyLWNvbG9yLFxuXHRcdCRfZGZuLWZvbnQtc3R5bGUgICAgICAgIDogJGZvbnQtc3R5bGVfX2VtcGhhc2lzLFxuXHRcdCRfZW1waGFzaXMtZm9udC1zdHlsZSAgIDogJGZvbnQtc3R5bGVfX2VtcGhhc2lzLFxuXHRcdCRfaHItYm9yZGVyLWNvbG9yICAgICAgIDogJGhyX19ib3JkZXItY29sb3IsXG5cdFx0JF9oci1ib3JkZXItc3R5bGUgICAgICAgOiAkaHJfX2JvcmRlci1zdHlsZSxcblx0XHQkX2hyLWJvcmRlci13aWR0aCAgICAgICA6ICRocl9fYm9yZGVyLXdpZHRoLFxuXHRcdCRfaHItbWFyZ2luLWJvdHRvbSAgICAgIDogJGxpbmUtaGVpZ2h0X19jb21wdXRlZCxcblx0XHQkX2hyLW1hcmdpbi10b3AgICAgICAgICA6ICRsaW5lLWhlaWdodF9fY29tcHV0ZWQsXG5cdFx0JF9tYXJrLWJhY2tncm91bmQtY29sb3IgOiAkbWFya19fYmFja2dyb3VuZC1jb2xvcixcblx0XHQkX21hcmstY29sb3IgICAgICAgICAgICA6ICRtYXJrX19jb2xvcixcblx0XHQkX3AtbWFyZ2luLWJvdHRvbSAgICAgICA6ICRwX19tYXJnaW4tYm90dG9tLFxuXHRcdCRfcC1tYXJnaW4tdG9wICAgICAgICAgIDogJHBfX21hcmdpbi10b3AsXG5cdFx0JF9yb290LWZvbnQtc2l6ZSAgICAgICAgOiAkcm9vdF9fZm9udC1zaXplLFxuXHRcdCRfc21hbGwtZm9udC1zaXplICAgICAgIDogJGZvbnQtc2l6ZV9fcyxcblx0XHQkX3N0cm9uZy1mb250LXdlaWdodCAgICA6ICRmb250LXdlaWdodF9fYm9sZCxcblx0XHQkX3N1Yi1zdXAtZm9udC1zaXplICAgICA6ICgkZm9udC1zaXplX194cyAvICRmb250LXNpemVfX2Jhc2UpICogMTAwJVxuKSB7XG5cdFx0aHRtbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MoZm9udC1zaXplLCAkX3Jvb3QtZm9udC1zaXplKTtcblx0XHRcdFx0Zm9udC1zaXplLWFkanVzdDogMTAwJTtcblx0XHR9XG5cblx0XHRib2R5IHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoKTtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdFx0JiB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsIGxpYi1mb250LXNpemUtdmFsdWUoJF9wLW1hcmdpbi10b3ApKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCBsaWItZm9udC1zaXplLXZhbHVlKCRfcC1tYXJnaW4tYm90dG9tKSk7XG5cdFx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyAgQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcblx0XHRhYmJyW3RpdGxlXSB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWJvdHRvbSwgMXB4IGRvdHRlZCAkX2FiYnItYm9yZGVyLWNvbG9yKTtcblx0XHRcdFx0Y3Vyc29yOiBoZWxwO1xuXHRcdH1cblxuXHRcdGIsXG5cdFx0c3Ryb25nIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJF9zdHJvbmctZm9udC13ZWlnaHQpO1xuXHRcdH1cblxuXHRcdGVtLFxuXHRcdGkge1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKGZvbnQtc3R5bGUsICRfZW1waGFzaXMtZm9udC1zdHlsZSk7XG5cdFx0fVxuXG5cdFx0bWFyayB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9tYXJrLWJhY2tncm91bmQtY29sb3IpO1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX21hcmstY29sb3IpO1xuXHRcdH1cblxuXHRcdHNtYWxsLFxuXHRcdC5zbWFsbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MoZm9udC1zaXplLCAkX3NtYWxsLWZvbnQtc2l6ZSk7XG5cdFx0fVxuXG5cdFx0aHIge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXRvcCwgJF9oci1ib3JkZXItd2lkdGggJF9oci1ib3JkZXItc3R5bGUgJF9oci1ib3JkZXItY29sb3IpO1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1ib3R0b20sICRfaHItbWFyZ2luLWJvdHRvbSk7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJF9oci1tYXJnaW4tdG9wKTtcblx0XHR9XG5cblx0XHRzdWIsXG5cdFx0c3VwIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhmb250LXNpemUsICRfc3ViLXN1cC1mb250LXNpemUpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdFx0fVxuXG5cdFx0c3VwIHtcblx0XHRcdFx0dG9wOiAtMC41ZW07XG5cdFx0fVxuXG5cdFx0c3ViIHtcblx0XHRcdFx0Ym90dG9tOiAtMC4yNWVtO1xuXHRcdH1cblxuXHRcdGRmbiB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MoZm9udC1zdHlsZSwgJF9kZm4tZm9udC1zdHlsZSk7XG5cdFx0fVxufVxuXG4vL1xuLy8gIEhlYWRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItdHlwb2dyYXBoeS1oZWFkaW5ncyhcblx0XHQkX2hlYWRpbmctc21hbGwtY29sb3IgICAgICAgOiAkaGVhZGluZ19fc21hbGwtY29sb3IsXG5cdFx0JF9oZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0IDogJGhlYWRpbmdfX3NtYWxsLWxpbmUtaGVpZ2h0LFxuXHRcdCRfaGVhZGluZy1zbWFsbC1zaXplICAgICAgICA6ICRoZWFkaW5nX19zbWFsbC1zaXplXG4pIHtcblx0XHRoMSB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1oZWFkaW5nKGgxKTtcblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1oZWFkaW5nKGgyKTtcblx0XHR9XG5cblx0XHRoMyB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1oZWFkaW5nKGgzKTtcblx0XHR9XG5cblx0XHRoNCB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1oZWFkaW5nKGg0KTtcblx0XHR9XG5cblx0XHRoNSB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1oZWFkaW5nKGg1KTtcblx0XHR9XG5cblx0XHRoNiB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1oZWFkaW5nKGg2KTtcblx0XHR9XG5cblx0XHRoMSxcblx0XHRoMixcblx0XHRoMyxcblx0XHRoNCxcblx0XHRoNSxcblx0XHRoNiB7XG5cdFx0XHRcdHNtYWxsLFxuXHRcdFx0XHQuc21hbGwge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG5cdFx0XHRcdFx0XHRcdFx0JF9oZWFkaW5nLXNtYWxsLXNpemUsXG5cdFx0XHRcdFx0XHRcdFx0JF9oZWFkaW5nLXNtYWxsLWNvbG9yLFxuXHRcdFx0XHRcdFx0XHRcdCRfbGluZS1oZWlnaHQ6ICRfaGVhZGluZy1zbWFsbC1saW5lLWhlaWdodFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdH1cbn1cblxuXG4vL1xuLy8gIExpbmtzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItdHlwb2dyYXBoeS1saW5rcygpIHtcblx0XHRhLFxuXHRcdC5hbGluayB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1saW5rKCk7XG5cdFx0fVxufVxuXG4vL1xuLy8gIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLXR5cG9ncmFwaHktbGlzdHMoXG5cdFx0JF9saXN0LW1hcmdpbi1ib3R0b20gICAgICA6ICRsaXN0X19tYXJnaW4tYm90dG9tLFxuXHRcdCRfbGlzdC1tYXJnaW4tdG9wICAgICAgICAgOiAkbGlzdF9fbWFyZ2luLXRvcCxcblx0XHQkX2xpc3QtaXRlbS1tYXJnaW4tYm90dG9tIDogJGxpc3QtaXRlbV9fbWFyZ2luLWJvdHRvbSxcblx0XHQkX2xpc3QtaXRlbS1tYXJnaW4tdG9wICAgIDogJGxpc3QtaXRlbV9fbWFyZ2luLXRvcCxcblx0XHQkX2RsLW1hcmdpbi1ib3R0b20gICAgICAgIDogJGRsX19tYXJnaW4tYm90dG9tLFxuXHRcdCRfZGwtbWFyZ2luLXRvcCAgICAgICAgICAgOiAkZGxfX21hcmdpbi10b3AsXG5cdFx0JF9kZC1tYXJnaW4tYm90dG9tICAgICAgICA6ICRkZF9fbWFyZ2luLWJvdHRvbSxcblx0XHQkX2RkLW1hcmdpbi10b3AgICAgICAgICAgIDogJGRkX19tYXJnaW4tdG9wLFxuXHRcdCRfZHQtZm9udC13ZWlnaHQgICAgICAgICAgOiAkZHRfX2ZvbnQtd2VpZ2h0LFxuXHRcdCRfZHQtbWFyZ2luLWJvdHRvbSAgICAgICAgOiAkZHRfX21hcmdpbi1ib3R0b20sXG5cdFx0JF9kdC1tYXJnaW4tdG9wICAgICAgICAgICA6ICRkdF9fbWFyZ2luLXRvcFxuKSB7XG5cdFx0dWwsXG5cdFx0b2wge1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsIGxpYi1mb250LXNpemUtdmFsdWUoJF9saXN0LW1hcmdpbi10b3ApKTtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCBsaWItZm9udC1zaXplLXZhbHVlKCRfbGlzdC1tYXJnaW4tYm90dG9tKSk7XG5cblx0XHRcdFx0JiA+IGxpIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgbGliLWZvbnQtc2l6ZS12YWx1ZSgkX2xpc3QtaXRlbS1tYXJnaW4tdG9wKSk7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1ib3R0b20sIGxpYi1mb250LXNpemUtdmFsdWUoJF9saXN0LWl0ZW0tbWFyZ2luLWJvdHRvbSkpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwsXG5cdFx0XHRcdG9sIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHR9XG5cblx0XHRkbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWJvdHRvbSwgJF9kbC1tYXJnaW4tYm90dG9tKTtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkX2RsLW1hcmdpbi10b3ApO1xuXHRcdH1cblxuXHRcdGR0IHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJF9kdC1mb250LXdlaWdodCk7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWJvdHRvbSwgJF9kdC1tYXJnaW4tYm90dG9tKTtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkX2R0LW1hcmdpbi10b3ApO1xuXHRcdH1cblxuXHRcdGRkIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkX2RkLW1hcmdpbi1ib3R0b20pO1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfZGQtbWFyZ2luLXRvcCk7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cbn1cblxuLy9cbi8vICBBbGwgdHlwb2dyYXBoeVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLXR5cG9ncmFwaHktYWxsKCkge1xuXHRcdEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5X19iYXNlKCk7XG5cdFx0QGluY2x1ZGUgbGliLXR5cG9ncmFwaHktaGVhZGluZ3MoKTtcblx0XHRAaW5jbHVkZSBsaWItdHlwb2dyYXBoeS1saW5rcygpO1xuXHRcdEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5LWxpc3RzKCk7XG59XG4iLCIvL1xuLy8gIFRhYmxlIHZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kdGFibGVfX3dpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEwMCUgIWRlZmF1bHQ7XG4kdGFibGVfX21hcmdpbi1ib3R0b20gICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmxlX19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZV9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvcl9fYmFzZSAhZGVmYXVsdDtcbiR0YWJsZV9fYm9yZGVyLXdpZHRoICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci13aWR0aF9fYmFzZSAhZGVmYXVsdDtcbiR0YWJsZV9fYm9yZGVyLXN0eWxlICAgICAgICAgICAgICAgICAgIDogc29saWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkX19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgIDogJHRhYmxlX19iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3RfX2JhY2tncm91bmQtY29sb3IgICAgICAgICAgOiAkdGFibGVfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYm9keS10aF9fYmFja2dyb3VuZC1jb2xvciAgICAgICA6ICR0YWJsZV9fYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb25fX2hpZGUgICAgICAgICAgICAgICAgICAgOiB0cnVlICFkZWZhdWx0OyAvLyBbdHJ1ZXxmYWxzZV1cbiR0YWJsZS1jYXB0aW9uX19mb250LXNpemUgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbl9fY29sb3IgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb25fX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uX19mb250LXdlaWdodCAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbl9fZm9udC1zdHlsZSAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb25fX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uX19hbGlnbm1lbnQgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbl9fbWFyZ2luLXRvcCAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb25fX21hcmdpbi1ib3R0b20gICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuJHRhYmxlLXRkX19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgICAgOiAkdGFibGVfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtdGRfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmxlLXRkX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZS10ZF9fZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFibGUtdGRfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmxlLXRkX19saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZS10ZF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aF9fZm9udC1zaXplICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFibGUtdGhfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICA6ICR0ZXh0X19jb2xvcl9faW50ZW5zZSAhZGVmYXVsdDtcbiR0YWJsZS10aF9fZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFibGUtdGhfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICA6ICRmb250LXdlaWdodF9fYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS10aF9fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFibGUtdGhfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbF9fcGFkZGluZy1ob3Jpem9udGFsICAgICAgICA6ICRpbmRlbnRfX3MgIWRlZmF1bHQ7XG4kdGFibGUtY2VsbF9fcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgICA6IDhweCAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsX19ob3Zlcl9fYmFja2dyb3VuZC1jb2xvciAgIDogJHBhbmVsX19iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtc3RyaXBwZWRfX2JhY2tncm91bmQtY29sb3IgOiBsaWdodGVuKCR0YWJsZS1jZWxsX19ob3Zlcl9fYmFja2dyb3VuZC1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXN0cmlwcGVkX19jb2xvciAgICAgICAgICAgIDogJHRhYmxlLXRkX19jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLXJlc3BvbnNpdmVfX2JhY2tncm91bmQtY29sb3IgICAgOiAkdGFibGVfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtcmVzcG9uc2l2ZS10aF9fYmFja2dyb3VuZC1jb2xvciA6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmxlLXJlc3BvbnNpdmUtY2VsbF9fcGFkZGluZyAgICAgICAgOiAkaW5kZW50X194cyAwICFkZWZhdWx0O1xuIiwiLy9cbi8vICBUYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQG1peGluIGxpYi10YWJsZShcbiAgICAkX3RhYmxlLXdpZHRoICAgICAgICAgICAgIDogJHRhYmxlX193aWR0aCxcbiAgICAkX2NlbGwtcGFkZGluZy12ZXJ0aWNhbCAgIDogJHRhYmxlLWNlbGxfX3BhZGRpbmctdmVydGljYWwsXG4gICAgJF9jZWxsLXBhZGRpbmctaG9yaXpvbnRhbCA6ICR0YWJsZS1jZWxsX19wYWRkaW5nLWhvcml6b250YWwsXG4gICAgJF90YWJsZS1tYXJnaW4tYm90dG9tICAgICA6ICR0YWJsZV9fbWFyZ2luLWJvdHRvbVxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkX3RhYmxlLW1hcmdpbi1ib3R0b20pO1xuICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRfdGFibGUtd2lkdGgpO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgICAgPiB0aCxcbiAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IHRoZWFkID4gdHIge1xuICAgICAgICA+IHRoLFxuICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IHRoZWFkLFxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgICAgPiB0aCxcbiAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9jZWxsLXBhZGRpbmctdmVydGljYWwgJF9jZWxsLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaWItdGFibGUtdHlwb2dyYXBoeShcbiAgICAkX3RhYmxlLXRkLWZvbnQtc2l6ZSAgIDogJHRhYmxlLXRkX19mb250LXNpemUsXG4gICAgJF90YWJsZS10ZC1jb2xvciAgICAgICA6ICR0YWJsZS10ZF9fY29sb3IsXG4gICAgJF90YWJsZS10ZC1mb250LWZhbWlseSA6ICR0YWJsZS10ZF9fZm9udC1mYW1pbHksXG4gICAgJF90YWJsZS10ZC1mb250LXdlaWdodCA6ICR0YWJsZS10ZF9fZm9udC13ZWlnaHQsXG4gICAgJF90YWJsZS10ZC1saW5lLWhlaWdodCA6ICR0YWJsZS10ZF9fbGluZS1oZWlnaHQsXG4gICAgJF90YWJsZS10ZC1mb250LXN0eWxlICA6ICR0YWJsZS10ZF9fZm9udC1zdHlsZSxcbiAgICAkX3RhYmxlLXRoLWZvbnQtc2l6ZSAgIDogJHRhYmxlLXRoX19mb250LXNpemUsXG4gICAgJF90YWJsZS10aC1jb2xvciAgICAgICA6ICR0YWJsZS10aF9fY29sb3IsXG4gICAgJF90YWJsZS10aC1mb250LWZhbWlseSA6ICR0YWJsZS10aF9fZm9udC1mYW1pbHksXG4gICAgJF90YWJsZS10aC1mb250LXdlaWdodCA6ICR0YWJsZS10aF9fZm9udC13ZWlnaHQsXG4gICAgJF90YWJsZS10aC1saW5lLWhlaWdodCA6ICR0YWJsZS10aF9fbGluZS1oZWlnaHQsXG4gICAgJF90YWJsZS10aC1mb250LXN0eWxlICA6ICR0YWJsZS10aF9fZm9udC1zdHlsZVxuKSB7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgICAgICAkX2ZvbnQtc2l6ZTogJF90YWJsZS10ZC1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgICAgICRfY29sb3I6ICRfdGFibGUtdGQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRfZm9udC1mYW1pbHk6ICRfdGFibGUtdGQtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAgICAgICAgICRfZm9udC13ZWlnaHQ6ICRfdGFibGUtdGQtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRfbGluZS1oZWlnaHQ6ICRfdGFibGUtdGQtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRfZm9udC1zdHlsZTogJF90YWJsZS10ZC1mb250LXN0eWxlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG4gICAgICAgICAgICAgICAgICAgICRfZm9udC1zaXplOiAkX3RhYmxlLXRoLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgJF9jb2xvcjogJF90YWJsZS10aC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgJF9mb250LWZhbWlseTogJF90YWJsZS10aC1mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAgICAgJF9mb250LXdlaWdodDogJF90YWJsZS10aC1mb250LXdlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJF9saW5lLWhlaWdodDogJF90YWJsZS10aC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJF9mb250LXN0eWxlOiAkX3RhYmxlLXRoLWZvbnQtc3R5bGVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLXRhYmxlLWJhY2tncm91bmQtY29sb3IoXG4gICAgJF90YWJsZS1iYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGVfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF90YWJsZS1oZWFkLWJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkX19iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRfdGFibGUtZm9vdC1iYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdF9fYmFja2dyb3VuZC1jb2xvcixcbiAgICAkX3RhYmxlLXRkLWJhY2tncm91bmQtY29sb3I6ICR0YWJsZS10ZF9fYmFja2dyb3VuZC1jb2xvcixcbiAgICAkX3RhYmxlLWJvZHktdGgtYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJvZHktdGhfX2JhY2tncm91bmQtY29sb3Jcbikge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF90YWJsZS1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgID4gdGhlYWQge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfdGFibGUtaGVhZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG5cbiAgICA+IHRmb290IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3RhYmxlLWZvb3QtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgPiB0Ym9keSA+IHRyID4gdGQge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfdGFibGUtdGQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgPiB0Ym9keSA+IHRyID50aCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF90YWJsZS1ib2R5LXRoLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi10YWJsZS1yZXNpemUoXG4gICAgJF90ZC1wYWRkaW5nLXRvcCAgICA6ICR0YWJsZS1jZWxsX19wYWRkaW5nLXZlcnRpY2FsIC8gMixcbiAgICAkX3RkLXBhZGRpbmctcmlnaHQgIDogJHRhYmxlLWNlbGxfX3BhZGRpbmctaG9yaXpvbnRhbCAvIDIsXG4gICAgJF90ZC1wYWRkaW5nLWJvdHRvbSA6ICRfdGQtcGFkZGluZy10b3AsXG4gICAgJF90ZC1wYWRkaW5nLWxlZnQgICA6ICRfdGQtcGFkZGluZy1yaWdodCxcbiAgICAkX3RoLXBhZGRpbmctdG9wICAgIDogJF90ZC1wYWRkaW5nLXRvcCxcbiAgICAkX3RoLXBhZGRpbmctcmlnaHQgIDogJF90ZC1wYWRkaW5nLXJpZ2h0LFxuICAgICRfdGgtcGFkZGluZy1ib3R0b20gOiAkX3RkLXBhZGRpbmctdG9wLFxuICAgICRfdGgtcGFkZGluZy1sZWZ0ICAgOiAkX3RkLXBhZGRpbmctcmlnaHRcbikge1xuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfdGQtcGFkZGluZy10b3AgJF90ZC1wYWRkaW5nLXJpZ2h0ICRfdGQtcGFkZGluZy1ib3R0b20gJF90ZC1wYWRkaW5nLWxlZnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3RoLXBhZGRpbmctdG9wICRfdGgtcGFkZGluZy1yaWdodCAkX3RoLXBhZGRpbmctYm90dG9tICRfdGgtcGFkZGluZy1sZWZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpYi10YWJsZS1ib3JkZXJlZChcbiAgICAkX3RhYmxlX3R5cGUgICAgICAgICA6IG5vcm1hbCxcbiAgICAkX3RhYmxlX2JvcmRlci13aWR0aCA6ICR0YWJsZV9fYm9yZGVyLXdpZHRoLFxuICAgICRfdGFibGVfYm9yZGVyLXN0eWxlIDogJHRhYmxlX19ib3JkZXItc3R5bGUsXG4gICAgJF90YWJsZV9ib3JkZXItY29sb3IgOiAkdGFibGVfX2JvcmRlci1jb2xvclxuKSB7XG4gICAgQGlmICRfdGFibGVfdHlwZSA9PSBub3JtYWwge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF90YWJsZV9ib3JkZXItd2lkdGggJF90YWJsZV9ib3JkZXItc3R5bGUgJF90YWJsZV9ib3JkZXItY29sb3IpO1xuICAgICAgICA+IHRoZWFkLFxuICAgICAgICA+IHRib2R5LFxuICAgICAgICA+IHRmb290IHtcbiAgICAgICAgICAgID4gdHIge1xuICAgICAgICAgICAgICAgID4gdGgsXG4gICAgICAgICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3RhYmxlX2JvcmRlci13aWR0aCAkX3RhYmxlX2JvcmRlci1zdHlsZSAkX3RhYmxlX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkX3RhYmxlX3R5cGUgPT0gaG9yaXpvbnRhbCB7XG4gICAgICAgID4gdGhlYWQsXG4gICAgICAgID4gdGJvZHksXG4gICAgICAgID4gdGZvb3Qge1xuICAgICAgICAgICAgPiB0ciB7XG4gICAgICAgICAgICAgICAgPiB0aCxcbiAgICAgICAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLCAkX3RhYmxlX2JvcmRlci13aWR0aCAkX3RhYmxlX2JvcmRlci1zdHlsZSAkX3RhYmxlX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBjYXB0aW9uICsgdGhlYWQsXG4gICAgICAgID4gY29sZ3JvdXAgKyB0aGVhZCxcbiAgICAgICAgPiB0aGVhZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICA+IHRoLFxuICAgICAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AsICRfdGFibGVfYm9yZGVyLXdpZHRoICRfdGFibGVfYm9yZGVyLXN0eWxlICRfdGFibGVfYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkX3RhYmxlX3R5cGUgPT0gaG9yaXpvbnRhbF9ib2R5IHtcbiAgICAgICAgPiB0Ym9keSB7XG4gICAgICAgICAgICA+IHRyIHtcbiAgICAgICAgICAgICAgICA+IHRoLFxuICAgICAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AsICRfdGFibGVfYm9yZGVyLXdpZHRoICRfdGFibGVfYm9yZGVyLXN0eWxlICRfdGFibGVfYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHRib2R5ICsgdGJvZHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLCAkX3RhYmxlX2JvcmRlci13aWR0aCAkX3RhYmxlX2JvcmRlci1zdHlsZSAkX3RhYmxlX2JvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJF90YWJsZV90eXBlID09IHZlcnRpY2FsIHtcbiAgICAgICAgPiB0aGVhZCxcbiAgICAgICAgPiB0Ym9keSxcbiAgICAgICAgPiB0Zm9vdCB7XG4gICAgICAgICAgICA+IHRyIHtcbiAgICAgICAgICAgICAgICA+IHRoLFxuICAgICAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1sZWZ0LCAkX3RhYmxlX2JvcmRlci13aWR0aCAkX3RhYmxlX2JvcmRlci1zdHlsZSAkX3RhYmxlX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJF90YWJsZV90eXBlID09IGxpZ2h0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgID4gdGhlYWQsXG4gICAgICAgID4gdGJvZHksXG4gICAgICAgID4gdGZvb3Qge1xuICAgICAgICAgICAgPiB0ciB7XG4gICAgICAgICAgICAgICAgPiB0aCxcbiAgICAgICAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gdGhlYWQge1xuICAgICAgICAgICAgPiB0ciB7XG4gICAgICAgICAgICAgICAgPiB0aCxcbiAgICAgICAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLCAkX3RhYmxlX2JvcmRlci13aWR0aCAkX3RhYmxlX2JvcmRlci1zdHlsZSAkX3RhYmxlX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRfdGFibGVfdHlwZSA9PSBjbGVhciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICA+IHRoZWFkLFxuICAgICAgICA+IHRib2R5LFxuICAgICAgICA+IHRmb290IHtcbiAgICAgICAgICAgID4gdHIge1xuICAgICAgICAgICAgICAgID4gdGgsXG4gICAgICAgICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaWItdGFibGUtc3RyaXBlZChcbiAgICAkX3N0cmlwcGVkLWJhY2tncm91bmQtY29sb3IgOiAkdGFibGUtY2VsbC1zdHJpcHBlZF9fYmFja2dyb3VuZC1jb2xvcixcbiAgICAkX3N0cmlwcGVkLWNvbG9yICAgICAgICAgICAgOiAkdGFibGUtY2VsbC1zdHJpcHBlZF9fY29sb3IsXG4gICAgJF9zdHJpcHBlZC1kaXJlY3Rpb24gICAgICAgIDogaG9yaXpvbnRhbCxcbiAgICAkX3N0cmlwcGVkLWhpZ2hsaWdodCAgICAgICAgOiBvZGRcbikge1xuICAgIEBpZiAkX3N0cmlwcGVkLWhpZ2hsaWdodCA9PSBvZGQgYW5kICRfc3RyaXBwZWQtZGlyZWN0aW9uID09IGhvcml6b250YWwge1xuICAgICAgICA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgPiB0ZCxcbiAgICAgICAgICAgID4gdGgge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3N0cmlwcGVkLWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkX3N0cmlwcGVkLWhpZ2hsaWdodCA9PSBldmVuIGFuZCAkX3N0cmlwcGVkLWRpcmVjdGlvbiA9PSBob3Jpem9udGFsIHtcbiAgICAgICAgPiB0Ym9keSA+IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICA+IHRkLFxuICAgICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3N0cmlwcGVkLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfc3RyaXBwZWQtY29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRfc3RyaXBwZWQtaGlnaGxpZ2h0ID09IG9kZCBhbmQgJF9zdHJpcHBlZC1kaXJlY3Rpb24gPT0gdmVydGljYWwge1xuICAgICAgICA+IHRoZWFkLFxuICAgICAgICA+IHRib2R5LFxuICAgICAgICA+IHRmb290IHtcbiAgICAgICAgICAgID4gdHIge1xuICAgICAgICAgICAgICAgID4gdGg6bnRoLWNoaWxkKG9kZCksXG4gICAgICAgICAgICAgICAgPiB0ZDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9zdHJpcHBlZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRfc3RyaXBwZWQtaGlnaGxpZ2h0ID09IGV2ZW4gYW5kICRfc3RyaXBwZWQtZGlyZWN0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgPiB0aGVhZCxcbiAgICAgICAgPiB0Ym9keSxcbiAgICAgICAgPiB0Zm9vdCB7XG4gICAgICAgICAgICA+IHRyIHtcbiAgICAgICAgICAgICAgICA+IHRoOm50aC1jaGlsZChldmVuKSxcbiAgICAgICAgICAgICAgICA+IHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9zdHJpcHBlZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtaXhpbiBsaWItdGFibGUtaG92ZXIoXG4gICAgJF90YWJsZV9jZWxsLWJhY2tncm91bmQtY29sb3ItaG92ZXI6ICR0YWJsZS1jZWxsX19ob3Zlcl9fYmFja2dyb3VuZC1jb2xvcixcbiAgICAkX3RhYmxlX2NlbGwtb2RkLWJhY2tncm91bmQtY29sb3ItaG92ZXI6ICRfdGFibGVfY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyXG4pIHtcbiAgICA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfdGFibGVfY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKTpob3ZlciB7XG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3RhYmxlX2NlbGwtb2RkLWJhY2tncm91bmQtY29sb3ItaG92ZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLXRhYmxlLW92ZXJmbG93KCkge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWJvdHRvbSwgJHRhYmxlX19tYXJnaW4tYm90dG9tKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbkBtaXhpbiBsaWItdGFibGUtcmVzcG9uc2l2ZShcbiAgICAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZSAgICA6ICR0YWJsZS1yZXNwb25zaXZlX19iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRfdGFibGUtdGgtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlIDogJHRhYmxlLXJlc3BvbnNpdmUtdGhfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF9yZXNldC10YWJsZS1zdHJpcGVkICAgICAgICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAkX3Jlc2V0LXRhYmxlLWhvdmVyICAgICAgICAgICAgICAgICAgICA6IGZhbHNlLFxuICAgICRfdGFibGUtcmVzcG9uc2l2ZS1jZWxsLXBhZGRpbmcgICAgICAgIDogJHRhYmxlLXJlc3BvbnNpdmUtY2VsbF9fcGFkZGluZ1xuKSB7XG4gICAgQGlmICRfcmVzZXQtdGFibGUtc3RyaXBlZCA9PSBmYWxzZSBhbmQgJF9yZXNldC10YWJsZS1ob3ZlciA9PSBmYWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIF9saWItcmVzcG9uc2l2ZS10YWJsZShcbiAgICAgICAgICAgICRfdGFibGUtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlIDogJF90YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLXJlc3BvbnNpdmUsXG4gICAgICAgICAgICAkX3RhYmxlLXJlc3BvbnNpdmUtY2VsbC1wYWRkaW5nICAgICA6ICRfdGFibGUtcmVzcG9uc2l2ZS1jZWxsLXBhZGRpbmdcbiAgICAgICAgKTtcblxuICAgICAgICA+IHRib2R5ID4gdHIgPiB0aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQtY29sb3IsICRfdGFibGUtdGgtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkX3Jlc2V0LXRhYmxlLXN0cmlwZWQgPT0gdHJ1ZSBhbmQgJF9yZXNldC10YWJsZS1ob3ZlciA9PSB0cnVlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLXRhYmxlLXN0cmlwZWQoXG4gICAgICAgICAgICAkX3N0cmlwcGVkLWJhY2tncm91bmQtY29sb3IgOiAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZVxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBsaWItdGFibGUtaG92ZXIoXG4gICAgICAgICAgICAkX3RhYmxlX2NlbGwtYmFja2dyb3VuZC1jb2xvci1ob3ZlciAgICAgOiAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZSxcbiAgICAgICAgICAgICRfdGFibGVfY2VsbC1vZGQtYmFja2dyb3VuZC1jb2xvci1ob3ZlciA6ICRfdGFibGUtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlXG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgX2xpYi1yZXNwb25zaXZlLXRhYmxlKFxuICAgICAgICAgICAgJF90YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLXJlc3BvbnNpdmUgOiAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZSxcbiAgICAgICAgICAgICRfdGFibGUtcmVzcG9uc2l2ZS1jZWxsLXBhZGRpbmcgICAgIDogJF90YWJsZS1yZXNwb25zaXZlLWNlbGwtcGFkZGluZ1xuICAgICAgICApO1xuXG4gICAgICAgID4gdGJvZHkgPiB0ciA+IHRoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZC1jb2xvciwgJF90YWJsZS10aC1iYWNrZ3JvdW5kLWNvbG9yLXJlc3BvbnNpdmUgJyFpbXBvcnRhbnQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkX3Jlc2V0LXRhYmxlLXN0cmlwZWQgPT0gdHJ1ZSBhbmQgJF9yZXNldC10YWJsZS1ob3ZlciA9PSBmYWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi10YWJsZS1zdHJpcGVkKFxuICAgICAgICAgICAgJF9zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yIDogJF90YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLXJlc3BvbnNpdmVcbiAgICAgICAgKTtcblxuICAgICAgICBAaW5jbHVkZSBfbGliLXJlc3BvbnNpdmUtdGFibGUoXG4gICAgICAgICAgICAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZSA6ICRfdGFibGUtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlLFxuICAgICAgICAgICAgJF90YWJsZS1yZXNwb25zaXZlLWNlbGwtcGFkZGluZyAgICAgOiAkX3RhYmxlLXJlc3BvbnNpdmUtY2VsbC1wYWRkaW5nXG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLWNvbG9yLCAkX3RhYmxlLXRoLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZSk7XG4gICAgfVxuXG4gICAgQGlmICRfcmVzZXQtdGFibGUtc3RyaXBlZCA9PSBmYWxzZSBhbmQgJF9yZXNldC10YWJsZS1ob3ZlciA9PSB0cnVlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLXRhYmxlLWhvdmVyKFxuICAgICAgICAgICAgJF90YWJsZV9jZWxsLWJhY2tncm91bmQtY29sb3ItaG92ZXIgICAgIDogJF90YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLXJlc3BvbnNpdmUsXG4gICAgICAgICAgICAkX3RhYmxlX2NlbGwtb2RkLWJhY2tncm91bmQtY29sb3ItaG92ZXIgOiAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZVxuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIF9saWItcmVzcG9uc2l2ZS10YWJsZShcbiAgICAgICAgICAgICRfdGFibGUtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlIDogJF90YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLXJlc3BvbnNpdmUsXG4gICAgICAgICAgICAkX3RhYmxlLXJlc3BvbnNpdmUtY2VsbC1wYWRkaW5nICAgICA6ICRfdGFibGUtcmVzcG9uc2l2ZS1jZWxsLXBhZGRpbmdcbiAgICAgICAgKTtcblxuICAgICAgICA+IHRib2R5ID4gdHIgPiB0aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQtY29sb3IsICRfdGFibGUtdGgtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlICchaW1wb3J0YW50Jyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluIGxpYi10YWJsZS1jYXB0aW9uKFxuICAgICRfdGFibGUtY2FwdGlvbi1oaWRlICAgICAgICAgIDogJHRhYmxlLWNhcHRpb25fX2hpZGUsXG4gICAgJF90YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZSAgICAgOiAkdGFibGUtY2FwdGlvbl9fZm9udC1zaXplLFxuICAgICRfdGFibGUtY2FwdGlvbi1jb2xvciAgICAgICAgIDogJHRhYmxlLWNhcHRpb25fX2NvbG9yLFxuICAgICRfdGFibGUtY2FwdGlvbi1mb250LWZhbWlseSAgIDogJHRhYmxlLWNhcHRpb25fX2ZvbnQtZmFtaWx5LFxuICAgICRfdGFibGUtY2FwdGlvbi1mb250LXdlaWdodCAgIDogJHRhYmxlLWNhcHRpb25fX2ZvbnQtd2VpZ2h0LFxuICAgICRfdGFibGUtY2FwdGlvbi1mb250LXN0eWxlICAgIDogJHRhYmxlLWNhcHRpb25fX2ZvbnQtc3R5bGUsXG4gICAgJF90YWJsZS1jYXB0aW9uLWxpbmUtaGVpZ2h0ICAgOiAkdGFibGUtY2FwdGlvbl9fbGluZS1oZWlnaHQsXG4gICAgJF90YWJsZS1jYXB0aW9uLWFsaWdubWVudCAgICAgOiAkdGFibGUtY2FwdGlvbl9fYWxpZ25tZW50LFxuICAgICRfdGFibGUtY2FwdGlvbi1tYXJnaW4tdG9wICAgIDogJHRhYmxlLWNhcHRpb25fX21hcmdpbi10b3AsXG4gICAgJF90YWJsZS1jYXB0aW9uLW1hcmdpbi1ib3R0b20gOiAkdGFibGUtY2FwdGlvbl9fbWFyZ2luLWJvdHRvbVxuKSB7XG4gICAgQGlmICRfdGFibGUtY2FwdGlvbi1oaWRlID09IGZhbHNlIHtcbiAgICAgICAgPiBjYXB0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgICRfdGFibGUtY2FwdGlvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF90YWJsZS1jYXB0aW9uLWNvbG9yLFxuICAgICAgICAgICAgICAgICRfdGFibGUtY2FwdGlvbi1mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAkX3RhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAgICAgJF90YWJsZS1jYXB0aW9uLWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICRfdGFibGUtY2FwdGlvbi1mb250LXN0eWxlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkX3RhYmxlLWNhcHRpb24tbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfdGFibGUtY2FwdGlvbi1tYXJnaW4tdG9wKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModGV4dC1hbGlnbiwgJF90YWJsZS1jYXB0aW9uLWFsaWdubWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJF90YWJsZS1jYXB0aW9uLWhpZGUgPT0gdHJ1ZSB7XG4gICAgICAgID4gY2FwdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluIF9saWItcmVzcG9uc2l2ZS10YWJsZShcbiAgICAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZSA6ICRfdGFibGUtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlLFxuICAgICRfdGFibGUtcmVzcG9uc2l2ZS1jZWxsLXBhZGRpbmcgICAgIDogJF90YWJsZS1yZXNwb25zaXZlLWNlbGwtcGFkZGluZ1xuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3RhYmxlLWJhY2tncm91bmQtY29sb3ItcmVzcG9uc2l2ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICA+IHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB0ZCxcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF90YWJsZS1yZXNwb25zaXZlLWNlbGwtcGFkZGluZyk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1yaWdodCwgJHRhYmxlLWNlbGxfX3BhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aCknOiAnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2ZvbnQtc2l6ZSAgIDogJHRhYmxlLXRoX19mb250LXNpemUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2NvbG9yICAgICAgIDogJHRhYmxlLXRoX19jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICRfZm9udC1mYW1pbHkgOiAkdGFibGUtdGhfX2ZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9mb250LXdlaWdodCA6ICR0YWJsZS10aF9fZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2xpbmUtaGVpZ2h0IDogJHRhYmxlLXRoX19saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICRfZm9udC1zdHlsZSAgOiAkdGFibGUtdGhfX2ZvbnQtc3R5bGVcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfdGFibGUtYmFja2dyb3VuZC1jb2xvci1yZXNwb25zaXZlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgQnV0dG9uc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4vL1xuLy8gIEJ1dHRvbiB3aXRoIHNvbGlkIG9yIHBpY3RpcmUgYmFja2dyb3VuZFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWJ1dHRvbihcbiAgICAkX2J1dHRvbi1mb250LWZhbWlseSAgICAgICAgICAgICAgICAgOiAkYnV0dG9uX19mb250LWZhbWlseSxcbiAgICAkX2J1dHRvbi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uX19mb250LXNpemUsXG4gICAgJF9idXR0b24tZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fZm9udC13ZWlnaHQsXG4gICAgJF9idXR0b24tY3Vyc29yICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fY3Vyc29yLFxuICAgICRfYnV0dG9uLWRpc3BsYXkgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b25fX2Rpc3BsYXksXG4gICAgJF9idXR0b24tZGlzYWJsZWQtb3BhY2l0eSAgICAgICAgICAgIDogJGJ1dHRvbl9fZGlzYWJsZWRfX29wYWNpdHksXG4gICAgJF9idXR0b24tbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fbGluZS1oZWlnaHQsXG4gICAgJF9idXR0b24td2lkdGggICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fd2lkdGgsXG4gICAgJF9idXR0b24tbWFyZ2luICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fbWFyZ2luLFxuICAgICRfYnV0dG9uLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b25fX3BhZGRpbmcsXG4gICAgJF9idXR0b24tY29sb3IgICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fY29sb3IsXG4gICAgJF9idXR0b24tYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fYmFja2dyb3VuZCxcbiAgICAkX2J1dHRvbi1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uX19ib3JkZXIsXG5cbiAgICAkX2J1dHRvbi1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgOiAkYnV0dG9uX19ob3Zlcl9fY29sb3IsXG4gICAgJF9idXR0b24tYmFja2dyb3VuZC1ob3ZlciAgICAgICAgICAgIDogJGJ1dHRvbl9faG92ZXJfX2JhY2tncm91bmQsXG4gICAgJF9idXR0b24tYm9yZGVyLWhvdmVyICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9faG92ZXJfX2JvcmRlcixcbiAgICAkX2J1dHRvbi1jb2xvci1hY3RpdmUgICAgICAgICAgICAgICAgOiAkYnV0dG9uX19hY3RpdmVfX2NvbG9yLFxuICAgICRfYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlICAgICAgICAgICA6ICRidXR0b25fX2FjdGl2ZV9fYmFja2dyb3VuZCxcbiAgICAkX2J1dHRvbi1ib3JkZXItYWN0aXZlICAgICAgICAgICAgICAgOiAkYnV0dG9uX19hY3RpdmVfX2JvcmRlcixcblxuICAgICRfYnV0dG9uLWdyYWRpZW50ICAgICAgICAgICAgICAgICAgICA6ICRidXR0b25fX2dyYWRpZW50LFxuICAgICRfYnV0dG9uLWdyYWRpZW50LWRpcmVjdGlvbiAgICAgICAgICA6ICRidXR0b25fX2dyYWRpZW50LWRpcmVjdGlvbixcbiAgICAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1zdGFydCAgICAgICAgOiAkYnV0dG9uX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1lbmQgICAgICAgICAgOiAkYnV0dG9uX19ncmFkaWVudC1jb2xvci1lbmQsXG4gICAgJF9idXR0b24tZ3JhZGllbnQtY29sb3Itc3RhcnQtaG92ZXIgIDogJGJ1dHRvbl9faG92ZXJfX2dyYWRpZW50LWNvbG9yLXN0YXJ0LFxuICAgICRfYnV0dG9uLWdyYWRpZW50LWNvbG9yLWVuZC1ob3ZlciAgICA6ICRidXR0b25fX2hvdmVyX19ncmFkaWVudC1jb2xvci1lbmQsXG4gICAgJF9idXR0b24tZ3JhZGllbnQtY29sb3Itc3RhcnQtYWN0aXZlIDogJGJ1dHRvbl9fYWN0aXZlX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1lbmQtYWN0aXZlICAgOiAkYnV0dG9uX19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLWVuZCxcblxuICAgICRfYnV0dG9uLWljb24tdXNlICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fdXNlLFxuICAgICRfYnV0dG9uLWZvbnQtY29udGVudCAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fY29udGVudCxcbiAgICAkX2J1dHRvbi1pY29uLWZvbnQgICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2ZvbnQsXG4gICAgJF9idXR0b24taWNvbi1mb250LXNpemUgICAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19mb250LXNpemUsXG4gICAgJF9idXR0b24taWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgICAgIDogJGJ1dHRvbi1pY29uX19saW5lLWhlaWdodCxcbiAgICAkX2J1dHRvbi1pY29uLWZvbnQtY29sb3IgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2NvbG9yLFxuICAgICRfYnV0dG9uLWljb24tZm9udC1jb2xvci1ob3ZlciAgICAgICA6ICRidXR0b24taWNvbl9faG92ZXJfX2ZvbnQtY29sb3IsXG4gICAgJF9idXR0b24taWNvbi1mb250LWNvbG9yLWFjdGl2ZSAgICAgIDogJGJ1dHRvbi1pY29uX19hY3RpdmVfX2ZvbnQtY29sb3IsXG4gICAgJF9idXR0b24taWNvbi1mb250LW1hcmdpbiAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19tYXJnaW4sXG4gICAgJF9idXR0b24taWNvbi1mb250LXZlcnRpY2FsLWFsaWduICAgIDogJGJ1dHRvbi1pY29uX192ZXJ0aWNhbC1hbGlnbixcbiAgICAkX2J1dHRvbi1pY29uLWZvbnQtcG9zaXRpb24gICAgICAgICAgOiAkYnV0dG9uLWljb25fX3Bvc2l0aW9uLFxuICAgICRfYnV0dG9uLWljb24tZm9udC10ZXh0LWhpZGUgICAgICAgICA6ICRidXR0b24taWNvbl9fdGV4dC1oaWRlXG4pIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlXG4gICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2J1dHRvbi1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9idXR0b24tYm9yZGVyKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2J1dHRvbi1jb2xvcik7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhjdXJzb3IsICRfYnV0dG9uLWN1cnNvcik7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhkaXNwbGF5LCAkX2J1dHRvbi1kaXNwbGF5KTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtZmFtaWx5LCAkX2J1dHRvbi1mb250LWZhbWlseSk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJF9idXR0b24tZm9udC13ZWlnaHQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAkX2J1dHRvbi1tYXJnaW4pO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9idXR0b24tcGFkZGluZyk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJF9idXR0b24td2lkdGgpO1xuICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoJF9idXR0b24tZm9udC1zaXplKTtcbiAgICAvL0BpbmNsdWRlIGxpYi1saW5lLWhlaWdodCgkX2J1dHRvbi1saW5lLWhlaWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBAaW5jbHVkZSBfbGliLWJ1dHRvbi1pY29uIChcbiAgICAgICAgJF9idXR0b24taWNvbi11c2UgICAgICAgICAgOiAkX2J1dHRvbi1pY29uLXVzZSxcbiAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgICAgICAgOiAkX2J1dHRvbi1mb250LWNvbnRlbnQsXG4gICAgICAgICRfaWNvbi1mb250ICAgICAgICAgICAgICAgIDogJF9idXR0b24taWNvbi1mb250LFxuICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6ICRfYnV0dG9uLWljb24tZm9udC1zaXplLFxuICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCAgICA6ICRfYnV0dG9uLWljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgICAgOiAkX2J1dHRvbi1pY29uLWZvbnQtY29sb3IsXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyICAgIDogJF9idXR0b24taWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgICA6ICRfYnV0dG9uLWljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgICAgICRfaWNvbi1mb250LW1hcmdpbiAgICAgICAgIDogJF9idXR0b24taWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gOiAkX2J1dHRvbi1pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICAgICAgIDogJF9idXR0b24taWNvbi1mb250LXBvc2l0aW9uLFxuICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgICA6ICRfYnV0dG9uLWljb24tZm9udC10ZXh0LWhpZGVcbiAgICApO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9idXR0b24tYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9idXR0b24tYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfYnV0dG9uLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9idXR0b24tYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX2J1dHRvbi1ib3JkZXItaG92ZXIpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2J1dHRvbi1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mob3BhY2l0eSwgJF9idXR0b24tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIERpc2FibGluZyBvZiBjbGlja3NcbiAgICB9XG59XG5cbi8vXG4vLyAgQnV0dG9uIHNpemVcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpYi1idXR0b24tc2l6ZShcbiAgICAkX2J1dHRvbi1saW5lLWhlaWdodCA6ICRidXR0b25fX2xpbmUtaGVpZ2h0LFxuICAgICRfYnV0dG9uLXBhZGRpbmcgICAgIDogJGJ1dHRvbl9fcGFkZGluZ1xuKSB7XG4gICAgLy9AaW5jbHVkZSBsaWItbGluZS1oZWlnaHQoJF9idXR0b24tbGluZS1oZWlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX2J1dHRvbi1wYWRkaW5nKTtcbn1cblxuLy9cbi8vICBMYXJnZSBidXR0b25zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItYnV0dG9uLWwoXG4gICAgJF9idXR0b24tbC1mb250LXNpemUgOiAkYnV0dG9uX19mb250LXNpemVfX2wsXG4gICAgJF9idXR0b24tbC1oZWlnaHQgICAgOiAkYnV0dG9uX19saW5lLWhlaWdodF9fbCxcbiAgICAkX2J1dHRvbi1sLXBhZGRpbmcgICA6ICRidXR0b25fX3BhZGRpbmdfX2xcbikge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24tc2l6ZShcbiAgICAgICAgJF9idXR0b24tbGluZS1oZWlnaHQgOiAkX2J1dHRvbi1sLWhlaWdodCxcbiAgICAgICAgJF9idXR0b24tcGFkZGluZyAgICAgOiAkX2J1dHRvbi1sLXBhZGRpbmdcbiAgICApO1xuICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoJF9idXR0b24tbC1mb250LXNpemUpO1xufVxuXG4vL1xuLy8gIFNtYWxsIGJ1dHRvbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpYi1idXR0b24tcyhcbiAgICAkX2J1dHRvbi1zLWZvbnQtc2l6ZSA6ICRidXR0b25fX2ZvbnQtc2l6ZV9fcyxcbiAgICAkX2J1dHRvbi1zLWhlaWdodCAgICA6ICRidXR0b25fX2xpbmUtaGVpZ2h0X19zLFxuICAgICRfYnV0dG9uLXMtcGFkZGluZyAgIDogJGJ1dHRvbl9fcGFkZGluZ19fc1xuKSB7XG4gICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1zaXplKFxuICAgICAgICAkX2J1dHRvbi1saW5lLWhlaWdodCA6ICRfYnV0dG9uLXMtaGVpZ2h0LFxuICAgICAgICAkX2J1dHRvbi1wYWRkaW5nICAgICA6ICRfYnV0dG9uLXMtcGFkZGluZ1xuICAgICk7XG4gICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgkX2J1dHRvbi1zLWZvbnQtc2l6ZSk7XG59XG5cbi8vXG4vLyAgTGluayBhcyBidXR0b25cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpYi1saW5rLWFzLWJ1dHRvbigpIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGRpc3BsYXksICRidXR0b25fX2Rpc3BsYXkpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vL1xuLy8gIEJ1dHRvbiBhcyBsaW5rXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItYnV0dG9uLWFzLWxpbmsoXG4gICAgJF9saW5rLWNvbG9yICAgICAgIDogJGxpbmtfX2NvbG9yLFxuICAgICRfbGluay1jb2xvci1ob3ZlciA6ICRsaW5rX19ob3Zlcl9fY29sb3IsXG4gICAgJF9saW5lLWhlaWdodCAgICAgIDogJGxpbmUtaGVpZ2h0X19iYXNlLFxuICAgICRfZGlzYWJsZWRfb3BhY2l0eSA6ICRidXR0b25fX2Rpc2FibGVkX19vcGFjaXR5LFxuICAgICRfbWFyZ2luICAgICAgICAgICA6IDAsXG4gICAgJF9wYWRkaW5nICAgICAgICAgIDogMFxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhsaW5lLWhlaWdodCwgJF9saW5lLWhlaWdodCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfbWFyZ2luKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfcGFkZGluZyk7XG4gICAgQGluY2x1ZGUgbGliLWxpbmsoKTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9saW5rLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfbGluay1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mob3BhY2l0eSwgJF9kaXNhYmxlZF9vcGFjaXR5KTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRGlzYWJsaW5nIG9mIGNsaWNrc1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8vXG4vLyAgUmVzcG9uc2l2ZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWJ1dHRvbi1yZXNwb25zaXZlKCkge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vL1xuLy8gIEJ1dHRvbiByZXNldFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWJ1dHRvbi1yZXNldCgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlXG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyBIYWNrOiBmaXggRmlyZWZveCBidXR0b24gbGluZS1oZWlnaHQgcHJvYmxlbVxuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtd2VpZ2h0LCAkZm9udC13ZWlnaHRfX3JlZ3VsYXIpO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRGlzYWJsaW5nIG9mIGNsaWNrc1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG9wYWNpdHksICRidXR0b25fX2Rpc2FibGVkX19vcGFjaXR5KTtcbiAgICB9XG59XG5cbi8vXG4vLyAgQnV0dG9uIHByaW1hcnlcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpYi1idXR0b24tcHJpbWFyeShcbiAgICAkX2J1dHRvbi1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLXByaW1hcnlfX2xpbmUtaGVpZ2h0LFxuICAgICRfYnV0dG9uLXdpZHRoICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24tcHJpbWFyeV9fd2lkdGgsXG4gICAgJF9idXR0b24tbWFyZ2luICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19tYXJnaW4sXG4gICAgJF9idXR0b24tcGFkZGluZyAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19wYWRkaW5nLFxuICAgICRfYnV0dG9uLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24tcHJpbWFyeV9fY29sb3IsXG4gICAgJF9idXR0b24tYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19iYWNrZ3JvdW5kLFxuICAgICRfYnV0dG9uLWJvcmRlciAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24tcHJpbWFyeV9fYm9yZGVyLFxuICAgICRfYnV0dG9uLWdyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICA6ICRidXR0b24tcHJpbWFyeV9fZ3JhZGllbnQtY29sb3Itc3RhcnQsXG4gICAgJF9idXR0b24tZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19ncmFkaWVudC1jb2xvci1lbmQsXG4gICAgJF9idXR0b24tY29sb3ItaG92ZXIgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19ob3Zlcl9fY29sb3IsXG4gICAgJF9idXR0b24tYmFja2dyb3VuZC1ob3ZlciAgICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19ob3Zlcl9fYmFja2dyb3VuZCxcbiAgICAkX2J1dHRvbi1ib3JkZXItaG92ZXIgICAgICAgICAgICAgICAgOiAkYnV0dG9uLXByaW1hcnlfX2hvdmVyX19ib3JkZXIsXG4gICAgJF9idXR0b24tZ3JhZGllbnQtY29sb3Itc3RhcnQtaG92ZXIgIDogJGJ1dHRvbi1wcmltYXJ5X19ob3Zlcl9fZ3JhZGllbnQtY29sb3Itc3RhcnQsXG4gICAgJF9idXR0b24tZ3JhZGllbnQtY29sb3ItZW5kLWhvdmVyICAgIDogJGJ1dHRvbi1wcmltYXJ5X19ob3Zlcl9fZ3JhZGllbnQtY29sb3ItZW5kLFxuICAgICRfYnV0dG9uLWNvbG9yLWFjdGl2ZSAgICAgICAgICAgICAgICA6ICRidXR0b24tcHJpbWFyeV9fYWN0aXZlX19jb2xvcixcbiAgICAkX2J1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSAgICAgICAgICAgOiAkYnV0dG9uLXByaW1hcnlfX2FjdGl2ZV9fYmFja2dyb3VuZCxcbiAgICAkX2J1dHRvbi1ib3JkZXItYWN0aXZlICAgICAgICAgICAgICAgOiAkYnV0dG9uLXByaW1hcnlfX2FjdGl2ZV9fYm9yZGVyLFxuICAgICRfYnV0dG9uLWdyYWRpZW50LWNvbG9yLXN0YXJ0LWFjdGl2ZSA6ICRidXR0b24tcHJpbWFyeV9fYWN0aXZlX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1lbmQtYWN0aXZlICAgOiAkYnV0dG9uLXByaW1hcnlfX2FjdGl2ZV9fZ3JhZGllbnQtY29sb3ItZW5kLFxuICAgICRfYnV0dG9uLWdyYWRpZW50ICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24tcHJpbWFyeV9fZ3JhZGllbnQsXG4gICAgJF9idXR0b24tZ3JhZGllbnQtZGlyZWN0aW9uICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19ncmFkaWVudC1kaXJlY3Rpb25cbikge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24oXG4gICAgICAgICRfYnV0dG9uLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICA6ICRfYnV0dG9uLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkX2J1dHRvbi13aWR0aCAgICAgICAgICAgICAgICAgICAgICAgOiAkX2J1dHRvbi13aWR0aCxcbiAgICAgICAgJF9idXR0b24tbWFyZ2luICAgICAgICAgICAgICAgICAgICAgIDogJF9idXR0b24tbWFyZ2luLFxuICAgICAgICAkX2J1dHRvbi1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgOiAkX2J1dHRvbi1wYWRkaW5nLFxuICAgICAgICAkX2J1dHRvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgOiAkX2J1dHRvbi1jb2xvcixcbiAgICAgICAgJF9idXR0b24tYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgIDogJF9idXR0b24tYmFja2dyb3VuZCxcbiAgICAgICAgJF9idXR0b24tYm9yZGVyICAgICAgICAgICAgICAgICAgICAgIDogJF9idXR0b24tYm9yZGVyLFxuICAgICAgICAkX2J1dHRvbi1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgOiAkX2J1dHRvbi1jb2xvci1ob3ZlcixcbiAgICAgICAgJF9idXR0b24tYmFja2dyb3VuZC1ob3ZlciAgICAgICAgICAgIDogJF9idXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgICAgICAgJF9idXR0b24tYm9yZGVyLWhvdmVyICAgICAgICAgICAgICAgIDogJF9idXR0b24tYm9yZGVyLWhvdmVyLFxuICAgICAgICAkX2J1dHRvbi1jb2xvci1hY3RpdmUgICAgICAgICAgICAgICAgOiAkX2J1dHRvbi1jb2xvci1hY3RpdmUsXG4gICAgICAgICRfYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlICAgICAgICAgICA6ICRfYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLFxuICAgICAgICAkX2J1dHRvbi1ib3JkZXItYWN0aXZlICAgICAgICAgICAgICAgOiAkX2J1dHRvbi1ib3JkZXItYWN0aXZlLFxuICAgICAgICAkX2J1dHRvbi1ncmFkaWVudCAgICAgICAgICAgICAgICAgICAgOiAkX2J1dHRvbi1ncmFkaWVudCxcbiAgICAgICAgJF9idXR0b24tZ3JhZGllbnQtZGlyZWN0aW9uICAgICAgICAgIDogJF9idXR0b24tZ3JhZGllbnQtZGlyZWN0aW9uLFxuICAgICAgICAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1zdGFydCAgICAgICAgOiAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAgICAgJF9idXR0b24tZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgIDogJF9idXR0b24tZ3JhZGllbnQtY29sb3ItZW5kLFxuICAgICAgICAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1zdGFydC1ob3ZlciAgOiAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1zdGFydC1ob3ZlcixcbiAgICAgICAgJF9idXR0b24tZ3JhZGllbnQtY29sb3ItZW5kLWhvdmVyICAgIDogJF9idXR0b24tZ3JhZGllbnQtY29sb3ItZW5kLWhvdmVyLFxuICAgICAgICAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1zdGFydC1hY3RpdmUgOiAkX2J1dHRvbi1ncmFkaWVudC1jb2xvci1zdGFydC1hY3RpdmUsXG4gICAgICAgICRfYnV0dG9uLWdyYWRpZW50LWNvbG9yLWVuZC1hY3RpdmUgICA6ICRfYnV0dG9uLWdyYWRpZW50LWNvbG9yLWVuZC1hY3RpdmVcbiAgICAgKTtcbn1cblxuLy9cbi8vICBCdXR0b24gcmV2ZXJ0IHNlY29uZGFyeSBjb2xvclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWJ1dHRvbi1yZXZlcnQtc2Vjb25kYXJ5LWNvbG9yKFxuICAgICRfYnV0dG9uLWNvbG9yICAgICAgICAgICAgIDogJGJ1dHRvbl9fY29sb3IsXG4gICAgJF9idXR0b24tYmFja2dyb3VuZCAgICAgICAgOiAkYnV0dG9uX19iYWNrZ3JvdW5kLFxuICAgICRfYnV0dG9uLWJvcmRlciAgICAgICAgICAgIDogJGJ1dHRvbl9fYm9yZGVyLFxuXG4gICAgJF9idXR0b24tY29sb3ItaG92ZXIgICAgICAgOiAkYnV0dG9uX19ob3Zlcl9fY29sb3IsXG4gICAgJF9idXR0b24tYmFja2dyb3VuZC1ob3ZlciAgOiAkYnV0dG9uX19ob3Zlcl9fYmFja2dyb3VuZCxcbiAgICAkX2J1dHRvbi1ib3JkZXItaG92ZXIgICAgICA6ICRidXR0b25fX2hvdmVyX19ib3JkZXIsXG5cbiAgICAkX2J1dHRvbi1jb2xvci1hY3RpdmUgICAgICA6ICRidXR0b25fX2FjdGl2ZV9fY29sb3IsXG4gICAgJF9idXR0b24tYmFja2dyb3VuZC1hY3RpdmUgOiAkYnV0dG9uX19hY3RpdmVfX2JhY2tncm91bmQsXG4gICAgJF9idXR0b24tYm9yZGVyLWFjdGl2ZSAgICAgOiAkYnV0dG9uX19hY3RpdmVfX2JvcmRlclxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2J1dHRvbi1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9idXR0b24tYm9yZGVyKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2J1dHRvbi1jb2xvcik7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2J1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX2J1dHRvbi1ib3JkZXItYWN0aXZlKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9idXR0b24tY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2J1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYnV0dG9uLWJvcmRlci1ob3Zlcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfYnV0dG9uLWNvbG9yLWhvdmVyKTtcbiAgICB9XG59XG5cbi8vXG4vLyAgQnV0dG9uIHJldmVydCBzZWNvbmRhcnkgc2l6ZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWJ1dHRvbi1yZXZlcnQtc2Vjb25kYXJ5LXNpemUoXG4gICAgJF9idXR0b24tZm9udC1zaXplICAgOiAkYnV0dG9uX19mb250LXNpemUsXG4gICAgJF9idXR0b24tbGluZS1oZWlnaHQgOiAkYnV0dG9uX19saW5lLWhlaWdodCxcbiAgICAkX2J1dHRvbi1wYWRkaW5nICAgICA6ICRidXR0b25fX3BhZGRpbmdcbikge1xuICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoJF9idXR0b24tZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXNpemUoXG4gICAgICAgICRfYnV0dG9uLWxpbmUtaGVpZ2h0IDogJF9idXR0b24tbGluZS1oZWlnaHQsXG4gICAgICAgICRfYnV0dG9uLXBhZGRpbmcgICAgIDogJF9idXR0b24tcGFkZGluZ1xuICAgIClcbn1cblxuLy9cbi8vICBJbm5lciBidXR0b25zIG1peGluc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX2xpYi1idXR0b24taWNvbiAoXG4gICAgJF9idXR0b24taWNvbi11c2UgICAgICAgICAgOiAkYnV0dG9uLWljb25fX3VzZSxcbiAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgICA6ICRidXR0b24taWNvbl9fY29udGVudCxcbiAgICAkX2ljb24tZm9udCAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fZm9udCxcbiAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6ICRidXR0b24taWNvbl9fZm9udC1zaXplLFxuICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgIDogJGJ1dHRvbi1pY29uX19saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgICA6ICRidXR0b24taWNvbl9fY29sb3IsXG4gICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgICAgOiAkYnV0dG9uLWljb25fX2hvdmVyX19mb250LWNvbG9yLFxuICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSAgIDogJGJ1dHRvbi1pY29uX19hY3RpdmVfX2ZvbnQtY29sb3IsXG4gICAgJF9pY29uLWZvbnQtbWFyZ2luICAgICAgICAgOiAkYnV0dG9uLWljb25fX21hcmdpbixcbiAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiA6ICRidXR0b24taWNvbl9fdmVydGljYWwtYWxpZ24sXG4gICAgJF9pY29uLWZvbnQtcG9zaXRpb24gICAgICAgOiAkYnV0dG9uLWljb25fX3Bvc2l0aW9uLFxuICAgICRfaWNvbi1mb250LXRleHQtaGlkZSAgICAgIDogJGJ1dHRvbi1pY29uX190ZXh0LWhpZGVcbikge1xuICAgIEBpZiAkX2J1dHRvbi1pY29uLXVzZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24taWNvbiAoXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgIDogJF9pY29uLWZvbnQtY29udGVudCxcbiAgICAgICAgICAgICRfaWNvbi1mb250ICAgICAgICAgICAgICAgOiAkX2ljb24tZm9udCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgICAgOiAkX2ljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICA6ICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgICA6ICRfaWNvbi1mb250LWNvbG9yLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgICA6ICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlICA6ICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LW1hcmdpbiAgICAgICAgOiAkX2ljb24tZm9udC1tYXJnaW4sXG4gICAgICAgICAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbjogJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICAgIDogJF9pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgIDogJF9pY29uLWZvbnQtdGV4dC1oaWRlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWJ1dHRvbi1pY29uKFxuICAgICRfaWNvbi1mb250LWNvbnRlbnQsXG4gICAgJF9pY29uLWZvbnQ6ICRidXR0b24taWNvbl9fZm9udCxcbiAgICAkX2ljb24tZm9udC1zaXplOiAkYnV0dG9uLWljb25fX2ZvbnQtc2l6ZSxcbiAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodDogJGJ1dHRvbi1pY29uX19saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1jb2xvcjogJGJ1dHRvbi1pY29uX19jb2xvcixcbiAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlcjogJGJ1dHRvbi1pY29uX19ob3Zlcl9fZm9udC1jb2xvcixcbiAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmU6ICRidXR0b24taWNvbl9fYWN0aXZlX19mb250LWNvbG9yLFxuICAgICRfaWNvbi1mb250LW1hcmdpbjogJGJ1dHRvbi1pY29uX19tYXJnaW4sXG4gICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ246ICRidXR0b24taWNvbl9fdmVydGljYWwtYWxpZ24sXG4gICAgJF9pY29uLWZvbnQtcG9zaXRpb246ICRidXR0b24taWNvbl9fcG9zaXRpb24sXG4gICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlOiAkYnV0dG9uLWljb25fX3RleHQtaGlkZVxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgJF9pY29uLWZvbnQtY29udGVudDogJF9pY29uLWZvbnQtY29udGVudCxcbiAgICAgICAgJF9pY29uLWZvbnQ6ICRfaWNvbi1mb250LFxuICAgICAgICAkX2ljb24tZm9udC1zaXplOiAkX2ljb24tZm9udC1zaXplLFxuICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodDogJF9pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yOiAkX2ljb24tZm9udC1jb2xvcixcbiAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXI6ICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmU6ICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luOiAkX2ljb24tZm9udC1tYXJnaW4sXG4gICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduOiAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb246ICRfaWNvbi1mb250LXBvc2l0aW9uLFxuICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGU6ICRfaWNvbi1mb250LXRleHQtaGlkZVxuICAgICk7XG59XG4iLCIvL1xuLy8gIEJ1dHRvbnMgdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgQnV0dG9uc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAgRm9udCBzdHlsZVxuJGJ1dHRvbl9fZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtZmFtaWx5X19iYXNlICFkZWZhdWx0O1xuJGJ1dHRvbl9fZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fYmFzZSAhZGVmYXVsdDtcbiRidXR0b25fX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LXdlaWdodF9fYm9sZCAhZGVmYXVsdDtcbiRidXR0b25fX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LXNpemVfX2Jhc2UgKyAyICFkZWZhdWx0O1xuJGJ1dHRvbl9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRidXR0b25fX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDdweCAxNXB4ICFkZWZhdWx0OyAvLyBpcyBzZXQgdXAgdG8gZmFsc2Ugd2hlbiBidXR0b25zIGRvbid0IGRlcGVuZCBvbiBzaWRlIHBhZGRpbmdzIG9yIGhhdmUgZml4ZWQgd2lkdGhcbiRidXR0b25fX3dpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0OyAvLyBpcyBzZXQgdXAgdG8gZmFsc2Ugd2hlbiBidXR0b25zIGRlcGVuZCBvbiBzaWRlIHBhZGRpbmdzIG9yIHRvIGZpeGVkIHZhbHVlIHdoZW4gbmVlZGVkXG5cbi8vICBEaXNwbGF5IHNldHRpbmdzXG4kYnV0dG9uX19kaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2sgIWRlZmF1bHQ7XG4kYnV0dG9uX19jdXJzb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBwb2ludGVyICFkZWZhdWx0O1xuJGJ1dHRvbl9fYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuXG4kYnV0dG9uX19kaXNhYmxlZF9fb3BhY2l0eSAgICAgICAgICAgICAgICAgICAgOiAwLjUgIWRlZmF1bHQ7XG5cbi8vICBEZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHNlY29uZGFyeSBidXR0b25cbiRidXR0b25fX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvciAhZGVmYXVsdDtcbiRidXR0b25fX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1ncmF5OTUgIWRlZmF1bHQ7XG4kYnV0dG9uX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxcHggc29saWQgJGNvbG9yLWdyYXktZGFya2VuMiAhZGVmYXVsdDtcbiRidXR0b25fX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJ1dHRvbl9fZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRidXR0b25fX2hvdmVyX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1ncmF5LWRhcmtlbjMgIWRlZmF1bHQ7XG4kYnV0dG9uX19ob3Zlcl9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheS1kYXJrZW4xICFkZWZhdWx0O1xuJGJ1dHRvbl9faG92ZXJfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbl9faG92ZXJfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kYnV0dG9uX19ob3Zlcl9fZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuJGJ1dHRvbl9fYWN0aXZlX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uX19hY3RpdmVfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uX19ob3Zlcl9fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b25fX2FjdGl2ZV9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b25fX2JvcmRlciAhZGVmYXVsdDtcbiRidXR0b25fX2FjdGl2ZV9fZ3JhZGllbnQtY29sb3Itc3RhcnQgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJ1dHRvbl9fYWN0aXZlX19ncmFkaWVudC1jb2xvci1lbmQgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vICBQcmltYXJ5IGJ1dHRvblxuJGJ1dHRvbi1wcmltYXJ5X19saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnlfX3dpZHRoICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeV9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5X19wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fcGFkZGluZyAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeV9fZ3JhZGllbnQgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5X19ncmFkaWVudC1kaXJlY3Rpb24gICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRidXR0b24tcHJpbWFyeV9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1ibHVlMSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeV9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICA6IDFweCBzb2xpZCAkY29sb3ItYmx1ZTEgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnlfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnlfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeV9fZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4kYnV0dG9uLXByaW1hcnlfX2hvdmVyX19iYWNrZ3JvdW5kICAgICAgICAgICAgOiAkY29sb3ItYmx1ZTIgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnlfX2hvdmVyX19ib3JkZXIgICAgICAgICAgICAgICAgOiAxcHggc29saWQgJGNvbG9yLWJsdWUyICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5X19ob3Zlcl9fY29sb3IgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1wcmltYXJ5X19jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeV9faG92ZXJfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICA6IGZhbHNlICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5X19ob3Zlcl9fZ3JhZGllbnQtY29sb3ItZW5kICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRidXR0b24tcHJpbWFyeV9fYWN0aXZlX19iYWNrZ3JvdW5kICAgICAgICAgICA6ICRidXR0b24tcHJpbWFyeV9faG92ZXJfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnlfX2FjdGl2ZV9fYm9yZGVyICAgICAgICAgICAgICAgOiAkYnV0dG9uLXByaW1hcnlfX2hvdmVyX19ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnlfX2FjdGl2ZV9fY29sb3IgICAgICAgICAgICAgICAgOiAkYnV0dG9uLXByaW1hcnlfX2NvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5X19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLXN0YXJ0IDogZmFsc2UgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnlfX2FjdGl2ZV9fZ3JhZGllbnQtY29sb3ItZW5kICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gIEdyYWRpZW50IGJ1dHRvblxuJGJ1dHRvbl9fZ3JhZGllbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7IC8vIFt0cnVlfGZhbHNlXSAtIGJ1dHRvbiBoYXMgYSBncmFkaWVudCBiYWNrZ3JvdW5kXG4kYnV0dG9uX19ncmFkaWVudC1kaXJlY3Rpb24gICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDsgLy8gYnV0dG9uIGdyYWRpZW50IGRpcmVjdGlvbiBpZiBidXR0b24gaGFzIGEgZ3JhZGllbnQgYmFja2dyb3VuZFxuXG4vLyAgQnV0dG9uIHdpdGggaWNvblxuJGJ1dHRvbi1pY29uX191c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kYnV0dG9uLWljb25fX2NvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgOiAkaWNvbi1zZXR0aW5ncyAhZGVmYXVsdDtcbiRidXR0b24taWNvbl9fZm9udCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpY29uLWZvbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWljb25fX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAyMnB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1pY29uX19saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWljb25fX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpbmhlcml0ICFkZWZhdWx0O1xuJGJ1dHRvbi1pY29uX19tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRidXR0b24taWNvbl9fdmVydGljYWwtYWxpZ24gICAgICAgICAgICAgICAgICA6IHRvcCAhZGVmYXVsdDtcbiRidXR0b24taWNvbl9fcG9zaXRpb24gICAgICAgICAgICAgICAgICAgICAgICA6ICRpY29uX19wb3NpdGlvbiAhZGVmYXVsdDtcbiRidXR0b24taWNvbl9fdGV4dC1oaWRlICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4kYnV0dG9uLWljb25fX2hvdmVyX19mb250LWNvbG9yICAgICAgICAgICAgICAgOiBpbmhlcml0ICFkZWZhdWx0O1xuJGJ1dHRvbi1pY29uX19hY3RpdmVfX2ZvbnQtY29sb3IgICAgICAgICAgICAgIDogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gIExhcmdlIGJ1dHRvblxuJGJ1dHRvbl9fZm9udC1zaXplX19sICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fbCAhZGVmYXVsdDtcbiRidXR0b25fX2xpbmUtaGVpZ2h0X19sICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LXNpemVfX2wgKyA0ICFkZWZhdWx0O1xuJGJ1dHRvbl9fcGFkZGluZ19fbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTRweCAxN3B4ICFkZWZhdWx0O1xuXG4vLyAgU21hbGwgYnV0dG9uXG4kYnV0dG9uX19mb250LXNpemVfX3MgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMXB4ICFkZWZhdWx0O1xuJGJ1dHRvbl9fbGluZS1oZWlnaHRfX3MgICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbl9fZm9udC1zaXplX19zICsgMSAhZGVmYXVsdDtcbiRidXR0b25fX3BhZGRpbmdfX3MgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3hzIDhweCAhZGVmYXVsdDtcbiIsIi8vXG4vLyAgRm9ybXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQG1peGluIGxpYi1mb3JtLWVsZW1lbnQtaW5wdXQoXG4gICAgJF90eXBlICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dC10eXBlLFxuICAgICRfYmFja2dyb3VuZCAgICAgICAgICAgICA6IG51bGwsXG4gICAgJF9ib3JkZXIgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAkX2JvcmRlci1yYWRpdXMgICAgICAgICAgOiBudWxsLFxuICAgICRfaGVpZ2h0ICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgJF93aWR0aCAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAkX3BhZGRpbmcgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICRfbWFyZ2luICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgJF92ZXJ0aWNhbC1hbGlnbiAgICAgICAgIDogbnVsbCxcbiAgICAkX2JhY2tncm91bmQtY2xpcCAgICAgICAgOiBudWxsLFxuICAgICRfZm9udC1zaXplICAgICAgICAgICAgICA6IG51bGwsXG4gICAgJF9jb2xvciAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAkX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgOiBudWxsLFxuICAgICRfZm9udC13ZWlnaHQgICAgICAgICAgICA6IG51bGwsXG4gICAgJF9saW5lLWhlaWdodCAgICAgICAgICAgIDogbnVsbCxcbiAgICAkX2ZvbnQtc3R5bGUgICAgICAgICAgICAgOiBudWxsLFxuICAgICRfcGxhY2Vob2xkZXItY29sb3IgICAgICA6IG51bGwsXG4gICAgJF9wbGFjZWhvbGRlci1mb250LXN0eWxlIDogbnVsbCxcbiAgICAkX2Rpc2FibGVkLWJhY2tncm91bmQgICAgOiBudWxsLFxuICAgICRfZGlzYWJsZWQtYm9yZGVyICAgICAgICA6IG51bGwsXG4gICAgJF9kaXNhYmxlZC1vcGFjaXR5ICAgICAgIDogbnVsbCxcbiAgICAkX2Rpc2FibGVkLWNvbG9yICAgICAgICAgOiBudWxsLFxuICAgICRfZGlzYWJsZWQtZm9udC1zdHlsZSAgICA6IG51bGwsXG4gICAgJF9mb2N1cy1iYWNrZ3JvdW5kICAgICAgIDogbnVsbCxcbiAgICAkX2ZvY3VzLWJvcmRlciAgICAgICAgICAgOiBudWxsLFxuICAgICRfZm9jdXMtY29sb3IgICAgICAgICAgICA6IG51bGwsXG4gICAgJF9mb2N1cy1mb250LXN0eWxlICAgICAgIDogbnVsbFxuKSB7XG4gICAgQGlmICRfdHlwZSA9PSBcImlucHV0LXRleHRcIiB7XG4gICAgICAgICRfYmFja2dyb3VuZCAgICAgICAgICAgICA6ICRpbnB1dC10ZXh0X19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuICAgICAgICAkX2JhY2tncm91bmQtY2xpcCAgICAgICAgOiAkaW5wdXQtdGV4dF9fYmFja2dyb3VuZC1jbGlwICFkZWZhdWx0O1xuICAgICAgICAkX2JvcmRlciAgICAgICAgICAgICAgICAgOiAkaW5wdXQtdGV4dF9fYm9yZGVyICFkZWZhdWx0O1xuICAgICAgICAkX2JvcmRlci1yYWRpdXMgICAgICAgICAgOiAkaW5wdXQtdGV4dF9fYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiAgICAgICAgJF9jb2xvciAgICAgICAgICAgICAgICAgIDogJGlucHV0LXRleHRfX2NvbG9yICFkZWZhdWx0O1xuICAgICAgICAkX2Rpc2FibGVkLWJhY2tncm91bmQgICAgOiAkaW5wdXQtdGV4dF9fZGlzYWJsZWRfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtYm9yZGVyICAgICAgICA6ICRpbnB1dC10ZXh0X19kaXNhYmxlZF9fYm9yZGVyICFkZWZhdWx0O1xuICAgICAgICAkX2Rpc2FibGVkLWNvbG9yICAgICAgICAgOiAkaW5wdXQtdGV4dF9fZGlzYWJsZWRfX2NvbG9yICFkZWZhdWx0O1xuICAgICAgICAkX2Rpc2FibGVkLWZvbnQtc3R5bGUgICAgOiAkaW5wdXQtdGV4dF9fZGlzYWJsZWRfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtb3BhY2l0eSAgICAgICA6ICRpbnB1dC10ZXh0X19kaXNhYmxlZF9fb3BhY2l0eSAhZGVmYXVsdDtcbiAgICAgICAgJF9mb2N1cy1iYWNrZ3JvdW5kICAgICAgIDogJGlucHV0LXRleHRfX2ZvY3VzX19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuICAgICAgICAkX2ZvY3VzLWJvcmRlciAgICAgICAgICAgOiAkaW5wdXQtdGV4dF9fZm9jdXNfX2JvcmRlciAhZGVmYXVsdDtcbiAgICAgICAgJF9mb2N1cy1jb2xvciAgICAgICAgICAgIDogJGlucHV0LXRleHRfX2ZvY3VzX19jb2xvciAhZGVmYXVsdDtcbiAgICAgICAgJF9mb2N1cy1mb250LXN0eWxlICAgICAgIDogJGlucHV0LXRleHRfX2ZvY3VzX19mb250LXN0eWxlICFkZWZhdWx0O1xuICAgICAgICAkX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgOiAkaW5wdXQtdGV4dF9fZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9udC1zaXplICAgICAgICAgICAgICA6ICRpbnB1dC10ZXh0X19mb250LXNpemUgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9udC1zdHlsZSAgICAgICAgICAgICA6ICRpbnB1dC10ZXh0X19mb250LXN0eWxlICFkZWZhdWx0O1xuICAgICAgICAkX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgOiAkaW5wdXQtdGV4dF9fZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4gICAgICAgICRfaGVpZ2h0ICAgICAgICAgICAgICAgICA6ICRpbnB1dC10ZXh0X19oZWlnaHQgIWRlZmF1bHQ7XG4gICAgICAgICRfbGluZS1oZWlnaHQgICAgICAgICAgICA6ICRpbnB1dC10ZXh0X19saW5lLWhlaWdodCAhZGVmYXVsdDtcbiAgICAgICAgJF9tYXJnaW4gICAgICAgICAgICAgICAgIDogJGlucHV0LXRleHRfX21hcmdpbiAhZGVmYXVsdDtcbiAgICAgICAgJF9wYWRkaW5nICAgICAgICAgICAgICAgIDogJGlucHV0LXRleHRfX3BhZGRpbmcgIWRlZmF1bHQ7XG4gICAgICAgICRfcGxhY2Vob2xkZXItY29sb3IgICAgICA6ICRpbnB1dC10ZXh0LXBsYWNlaG9sZGVyX19jb2xvciAhZGVmYXVsdDtcbiAgICAgICAgJF9wbGFjZWhvbGRlci1mb250LXN0eWxlIDogJGlucHV0LXRleHQtcGxhY2Vob2xkZXJfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfdmVydGljYWwtYWxpZ24gICAgICAgICA6ICRpbnB1dC10ZXh0X192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiAgICAgICAgJF93aWR0aCAgICAgICAgICAgICAgICAgIDogJGlucHV0LXRleHRfX3dpZHRoICFkZWZhdWx0O1xuICAgIH1cblxuICAgIEBpZiAkX3R5cGUgPT0gXCJzZWxlY3RcIiB7XG4gICAgICAgICRfYmFja2dyb3VuZCAgICAgICAgICAgICA6ICRzZWxlY3RfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4gICAgICAgICRfYmFja2dyb3VuZC1jbGlwICAgICAgICA6ICRzZWxlY3RfX2JhY2tncm91bmQtY2xpcCAhZGVmYXVsdDtcbiAgICAgICAgJF9ib3JkZXIgICAgICAgICAgICAgICAgIDogJHNlbGVjdF9fYm9yZGVyICFkZWZhdWx0O1xuICAgICAgICAkX2JvcmRlci1yYWRpdXMgICAgICAgICAgOiAkc2VsZWN0X19ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuICAgICAgICAkX2NvbG9yICAgICAgICAgICAgICAgICAgOiAkc2VsZWN0X19jb2xvciAhZGVmYXVsdDtcbiAgICAgICAgJF9kaXNhYmxlZC1iYWNrZ3JvdW5kICAgIDogJHNlbGVjdF9fZGlzYWJsZWRfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtYm9yZGVyICAgICAgICA6ICRzZWxlY3RfX2Rpc2FibGVkX19ib3JkZXIgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtY29sb3IgICAgICAgICA6ICRzZWxlY3RfX2Rpc2FibGVkX19jb2xvciAhZGVmYXVsdDtcbiAgICAgICAgJF9kaXNhYmxlZC1mb250LXN0eWxlICAgIDogJHNlbGVjdF9fZGlzYWJsZWRfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtb3BhY2l0eSAgICAgICA6ICRzZWxlY3RfX2Rpc2FibGVkX19vcGFjaXR5ICFkZWZhdWx0O1xuICAgICAgICAkX2ZvY3VzLWJhY2tncm91bmQgICAgICAgOiAkc2VsZWN0X19mb2N1c19fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiAgICAgICAgJF9mb2N1cy1ib3JkZXIgICAgICAgICAgIDogJHNlbGVjdF9fZm9jdXNfX2JvcmRlciAhZGVmYXVsdDtcbiAgICAgICAgJF9mb2N1cy1jb2xvciAgICAgICAgICAgIDogJHNlbGVjdF9fZm9jdXNfX2NvbG9yICFkZWZhdWx0O1xuICAgICAgICAkX2ZvY3VzLWZvbnQtc3R5bGUgICAgICAgOiAkc2VsZWN0X19mb2N1c19fZm9udC1zdHlsZSAhZGVmYXVsdDtcbiAgICAgICAgJF9mb250LWZhbWlseSAgICAgICAgICAgIDogJHNlbGVjdF9fZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9udC1zaXplICAgICAgICAgICAgICA6ICRzZWxlY3RfX2ZvbnQtc2l6ZSAhZGVmYXVsdDtcbiAgICAgICAgJF9mb250LXN0eWxlICAgICAgICAgICAgIDogJHNlbGVjdF9fZm9udC1zdHlsZSAhZGVmYXVsdDtcbiAgICAgICAgJF9mb250LXdlaWdodCAgICAgICAgICAgIDogJHNlbGVjdF9fZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4gICAgICAgICRfaGVpZ2h0ICAgICAgICAgICAgICAgICA6ICRzZWxlY3RfX2hlaWdodCAhZGVmYXVsdDtcbiAgICAgICAgJF9saW5lLWhlaWdodCAgICAgICAgICAgIDogJHNlbGVjdF9fbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4gICAgICAgICRfbWFyZ2luICAgICAgICAgICAgICAgICA6ICRzZWxlY3RfX21hcmdpbiAhZGVmYXVsdDtcbiAgICAgICAgJF9wYWRkaW5nICAgICAgICAgICAgICAgIDogJHNlbGVjdF9fcGFkZGluZyAhZGVmYXVsdDtcbiAgICAgICAgJF9wbGFjZWhvbGRlci1jb2xvciAgICAgIDogJHNlbGVjdC1wbGFjZWhvbGRlcl9fY29sb3IgIWRlZmF1bHQ7XG4gICAgICAgICRfcGxhY2Vob2xkZXItZm9udC1zdHlsZSA6ICRzZWxlY3QtcGxhY2Vob2xkZXJfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfdmVydGljYWwtYWxpZ24gICAgICAgICA6ICRzZWxlY3RfX3ZlcnRpY2FsLWFsaWduICFkZWZhdWx0O1xuICAgICAgICAkX3dpZHRoICAgICAgICAgICAgICAgICAgOiAkc2VsZWN0X193aWR0aCAhZGVmYXVsdDtcbiAgICB9XG5cbiAgICBAaWYgJF90eXBlID09IFwidGV4dGFyZWFcIiB7XG4gICAgICAgICRfYmFja2dyb3VuZCAgICAgICAgICAgICA6ICR0ZXh0YXJlYV9fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiAgICAgICAgJF9iYWNrZ3JvdW5kLWNsaXAgICAgICAgIDogJHRleHRhcmVhX19iYWNrZ3JvdW5kLWNsaXAgIWRlZmF1bHQ7XG4gICAgICAgICRfYm9yZGVyICAgICAgICAgICAgICAgICA6ICR0ZXh0YXJlYV9fYm9yZGVyICFkZWZhdWx0O1xuICAgICAgICAkX2JvcmRlci1yYWRpdXMgICAgICAgICAgOiAkdGV4dGFyZWFfX2JvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4gICAgICAgICRfY29sb3IgICAgICAgICAgICAgICAgICA6ICR0ZXh0YXJlYV9fY29sb3IgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtYmFja2dyb3VuZCAgICA6ICR0ZXh0YXJlYV9fZGlzYWJsZWRfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtYm9yZGVyICAgICAgICA6ICR0ZXh0YXJlYV9fZGlzYWJsZWRfX2JvcmRlciAhZGVmYXVsdDtcbiAgICAgICAgJF9kaXNhYmxlZC1jb2xvciAgICAgICAgIDogJHRleHRhcmVhX19kaXNhYmxlZF9fY29sb3IgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtZm9udC1zdHlsZSAgICA6ICR0ZXh0YXJlYV9fZGlzYWJsZWRfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtb3BhY2l0eSAgICAgICA6ICR0ZXh0YXJlYV9fZGlzYWJsZWRfX29wYWNpdHkgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9jdXMtYmFja2dyb3VuZCAgICAgICA6ICR0ZXh0YXJlYV9fZm9jdXNfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9jdXMtYm9yZGVyICAgICAgICAgICA6ICR0ZXh0YXJlYV9fZm9jdXNfX2JvcmRlciAhZGVmYXVsdDtcbiAgICAgICAgJF9mb2N1cy1jb2xvciAgICAgICAgICAgIDogJHRleHRhcmVhX19mb2N1c19fY29sb3IgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9jdXMtZm9udC1zdHlsZSAgICAgICA6ICR0ZXh0YXJlYV9fZm9jdXNfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9udC1mYW1pbHkgICAgICAgICAgICA6ICR0ZXh0YXJlYV9fZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9udC1zaXplICAgICAgICAgICAgICA6ICR0ZXh0YXJlYV9fZm9udC1zaXplICFkZWZhdWx0O1xuICAgICAgICAkX2ZvbnQtc3R5bGUgICAgICAgICAgICAgOiAkdGV4dGFyZWFfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfZm9udC13ZWlnaHQgICAgICAgICAgICA6ICR0ZXh0YXJlYV9fZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4gICAgICAgICRfaGVpZ2h0ICAgICAgICAgICAgICAgICA6ICR0ZXh0YXJlYV9faGVpZ2h0ICFkZWZhdWx0O1xuICAgICAgICAkX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgOiAkdGV4dGFyZWFfX2xpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuICAgICAgICAkX21hcmdpbiAgICAgICAgICAgICAgICAgOiAkdGV4dGFyZWFfX21hcmdpbiAhZGVmYXVsdDtcbiAgICAgICAgJF9wYWRkaW5nICAgICAgICAgICAgICAgIDogJHRleHRhcmVhX19wYWRkaW5nICFkZWZhdWx0O1xuICAgICAgICAkX3BsYWNlaG9sZGVyLWNvbG9yICAgICAgOiAkdGV4dGFyZWEtcGxhY2Vob2xkZXJfX2NvbG9yICFkZWZhdWx0O1xuICAgICAgICAkX3BsYWNlaG9sZGVyLWZvbnQtc3R5bGUgOiAkdGV4dGFyZWEtcGxhY2Vob2xkZXJfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4gICAgICAgICRfdmVydGljYWwtYWxpZ24gICAgICAgICA6ICR0ZXh0YXJlYV9fdmVydGljYWwtYWxpZ24gIWRlZmF1bHQ7XG4gICAgICAgICRfd2lkdGggICAgICAgICAgICAgICAgICA6ICR0ZXh0YXJlYV9fd2lkdGggIWRlZmF1bHQ7XG4gICAgfVxuXG4gICAgQGlmICRfdHlwZSA9PSBcImlucHV0LXJhZGlvXCIge1xuICAgICAgICAkX2Rpc2FibGVkLW9wYWNpdHkgOiAkaW5wdXQtcmFkaW9fX2Rpc2FibGVkX19vcGFjaXR5ICFkZWZhdWx0O1xuICAgICAgICAkX21hcmdpbiAgICAgICAgICAgOiAkaW5wdXQtcmFkaW9fX21hcmdpbiAhZGVmYXVsdDtcbiAgICAgICAgJF92ZXJ0aWNhbC1hbGlnbiAgIDogJGlucHV0LXJhZGlvX192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiAgICB9XG5cbiAgICBAaWYgJF90eXBlID09IFwiaW5wdXQtY2hlY2tib3hcIiB7XG4gICAgICAgICRfZGlzYWJsZWQtb3BhY2l0eSA6ICRpbnB1dC1jaGVja2JveF9fZGlzYWJsZWRfX29wYWNpdHkgIWRlZmF1bHQ7XG4gICAgICAgICRfbWFyZ2luICAgICAgICAgICA6ICRpbnB1dC1jaGVja2JveF9fbWFyZ2luICFkZWZhdWx0O1xuICAgICAgICAkX3ZlcnRpY2FsLWFsaWduICAgOiAkaW5wdXQtY2hlY2tib3hfX3ZlcnRpY2FsLWFsaWduICFkZWZhdWx0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQtY2xpcCwgJF9iYWNrZ3JvdW5kLWNsaXApO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX2JvcmRlcik7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItcmFkaXVzLCAkX2JvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfY29sb3IpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC1mYW1pbHksICRfZm9udC1mYW1pbHkpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC1zaXplLCAkX2ZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXN0eWxlLCAkX2ZvbnQtc3R5bGUpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfZm9udC13ZWlnaHQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoaGVpZ2h0LCAkX2hlaWdodCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhsaW5lLWhlaWdodCwgJF9saW5lLWhlaWdodCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfbWFyZ2luKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfcGFkZGluZyk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyh2ZXJ0aWNhbC1hbGlnbiwgJF92ZXJ0aWNhbC1hbGlnbik7XG4gICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJF93aWR0aCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LWZvY3VzKFxuICAgICAgICAkX2JhY2tncm91bmQsXG4gICAgICAgICRfZm9jdXMtYmFja2dyb3VuZCxcbiAgICAgICAgJF9ib3JkZXIsXG4gICAgICAgICRfZm9jdXMtYm9yZGVyLFxuICAgICAgICAkX2NvbG9yLFxuICAgICAgICAkX2ZvY3VzLWNvbG9yLFxuICAgICAgICAkX2ZvbnQtc3R5bGUsXG4gICAgICAgICRfZm9jdXMtZm9udC1zdHlsZVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1kaXNhYmxlZChcbiAgICAgICAgJF9iYWNrZ3JvdW5kLFxuICAgICAgICAkX2Rpc2FibGVkLWJhY2tncm91bmQsXG4gICAgICAgICRfYm9yZGVyLFxuICAgICAgICAkX2Rpc2FibGVkLWJvcmRlcixcbiAgICAgICAgJF9jb2xvcixcbiAgICAgICAgJF9kaXNhYmxlZC1jb2xvcixcbiAgICAgICAgJF9mb250LXN0eWxlLFxuICAgICAgICAkX2Rpc2FibGVkLWZvbnQtc3R5bGUsXG4gICAgICAgICRfZGlzYWJsZWQtb3BhY2l0eVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlcihcbiAgICAgICAgJF90eXBlLFxuICAgICAgICAkX3BsYWNlaG9sZGVyLWNvbG9yLFxuICAgICAgICAkX2ZvbnQtc3R5bGUsXG4gICAgICAgICRfcGxhY2Vob2xkZXItZm9udC1zdHlsZVxuICAgICk7XG5cbiAgICBAaWYgJF90eXBlID09IFwic2VsZWN0XCIge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiAkX2JhY2tncm91bmQgdXJsKCcuLi9pbWFnZXMvaWNvbnMvaWNvbl9fc2VsZWN0LS1kb3duLS1kYXJrLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHggNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhyZW0gY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjZyZW07XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWZvcm0tZWxlbWVudC1jaG9pY2UoXG4gICAgJF90eXBlICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1jaG9pY2VfX3R5cGUsXG4gICAgJF92ZXJ0aWNhbC1hbGlnbiAgIDogbnVsbCxcbiAgICAkX21hcmdpbiAgICAgICAgICAgOiBudWxsLFxuICAgICRfZGlzYWJsZWQtb3BhY2l0eSA6IG51bGxcbikge1xuICAgIEBpZiAkX3R5cGUgPT0gXCJyYWRpb1wiIHtcbiAgICAgICAgJF92ZXJ0aWNhbC1hbGlnbiAgIDogJHJhZGlvX192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiAgICAgICAgJF9tYXJnaW4gICAgICAgICAgIDogJHJhZGlvX19tYXJnaW4gIWRlZmF1bHQ7XG4gICAgICAgICRfZGlzYWJsZWQtb3BhY2l0eSA6ICRyYWRpb19fZGlzYWJsZWRfX29wYWNpdHkgIWRlZmF1bHQ7XG4gICAgfVxuXG4gICAgQGlmICRfdHlwZSA9PSBcImNoZWNrYm94XCIge1xuICAgICAgICAkX3ZlcnRpY2FsLWFsaWduICAgOiAkY2hlY2tib3hfX3ZlcnRpY2FsLWFsaWduICFkZWZhdWx0O1xuICAgICAgICAkX21hcmdpbiAgICAgICAgICAgOiAkY2hlY2tib3hfX21hcmdpbiAhZGVmYXVsdDtcbiAgICAgICAgJF9kaXNhYmxlZC1vcGFjaXR5IDogJGNoZWNrYm94X19kaXNhYmxlZF9fb3BhY2l0eSAhZGVmYXVsdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9tYXJnaW4pO1xuICAgIEBpbmNsdWRlIGxpYi1jc3ModmVydGljYWwtYWxpZ24sICRfdmVydGljYWwtYWxpZ24pO1xuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LWFkZC1vcGFjaXR5KCRfZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWZvcm0tZWxlbWVudC1udW1iZXItcmVzZXQoKSB7XG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbkBtaXhpbiBsaWItZm9ybS1lbGVtZW50LXNlYXJjaC1yZXNldCgpIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItZm9ybS1lbGVtZW50LXRleHRhcmVhLXJlc2l6ZSgkX3RleHRhcmVhLXJlc2l6ZTogJHRleHRhcmVhX19yZXNpemUpIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHJlc2l6ZSwgJF90ZXh0YXJlYS1yZXNpemUpO1xufVxuXG5AbWl4aW4gbGliLWZvcm0tZWxlbWVudC1jb2xvcihcbiAgICAkX2JvcmRlci1jb2xvciAgICAgICAgICA6IG51bGwsXG4gICAgJF9iYWNrZ3JvdW5kICAgICAgICAgICAgOiBudWxsLFxuICAgICRfY29sb3IgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAkX2ZvY3VzLWJvcmRlci1jb2xvciAgICA6IG51bGwsXG4gICAgJF9mb2N1cy1iYWNrZ3JvdW5kICAgICAgOiBudWxsLFxuICAgICRfZm9jdXMtY29sb3IgICAgICAgICAgIDogbnVsbCxcbiAgICAkX2Rpc2FibGVkLWJvcmRlci1jb2xvciA6IG51bGwsXG4gICAgJF9kaXNhYmxlZC1iYWNrZ3JvdW5kICAgOiBudWxsLFxuICAgICRfZGlzYWJsZWQtY29sb3IgICAgICAgIDogbnVsbCxcbiAgICAkX3BsYWNlaG9sZGVyLWNvbG9yICAgICA6IG51bGxcbikge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1jb2xvciwgJF9ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfY29sb3IpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1ib3JkZXItY29sb3IoJF9mb2N1cy1ib3JkZXItY29sb3IsICRfYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1mb3JtLWVsZW1lbnQtc3RhdGUtYWRkLWJhY2tncm91bmQoJF9mb2N1cy1iYWNrZ3JvdW5kLCAkX2JhY2tncm91bmQpO1xuICAgICAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtZm9udC1jb2xvcigkX2ZvY3VzLWNvbG9yLCAkX2NvbG9yKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1mb3JtLWVsZW1lbnQtc3RhdGUtYWRkLWJvcmRlci1jb2xvcigkX2Rpc2FibGVkLWJvcmRlci1jb2xvciwgJF9ib3JkZXItY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtYmFja2dyb3VuZCgkX2Rpc2FibGVkLWJhY2tncm91bmQsICRfYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1mb250LWNvbG9yKCRfZGlzYWJsZWQtY29sb3IsICRfY29sb3IpO1xuICAgIH1cblxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItZm9ybS12YWxpZGF0aW9uKFxuICAgICRfZWxlbWVudC1jb2xvci1lcnJvciAgICAgICAgOiAkZm9ybS1lbGVtZW50LXZhbGlkYXRpb25fX2NvbG9yLWVycm9yLFxuICAgICRfZWxlbWVudC1jb2xvci12YWxpZCAgICAgICAgOiAkZm9ybS1lbGVtZW50LXZhbGlkYXRpb25fX2NvbG9yLXZhbGlkLFxuICAgICRfZWxlbWVudC1ib3JkZXItY29sb3ItZXJyb3IgOiAkZm9ybS1lbGVtZW50LXZhbGlkYXRpb25fX2JvcmRlci1lcnJvcixcbiAgICAkX2VsZW1lbnQtYm9yZGVyLWNvbG9yLXZhbGlkIDogJGZvcm0tZWxlbWVudC12YWxpZGF0aW9uX19ib3JkZXItdmFsaWQsXG4gICAgJF9lbGVtZW50LWJhY2tncm91bmQtZXJyb3IgICA6ICRmb3JtLWVsZW1lbnQtdmFsaWRhdGlvbl9fYmFja2dyb3VuZC1lcnJvcixcbiAgICAkX2VsZW1lbnQtYmFja2dyb3VuZC12YWxpZCAgIDogJGZvcm0tZWxlbWVudC12YWxpZGF0aW9uX19iYWNrZ3JvdW5kLXZhbGlkXG4pIHtcbiAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS1lbGVtZW50LWNvbG9yKFxuICAgICAgICAgICAgJF9ib3JkZXItY29sb3IgOiAkX2VsZW1lbnQtYm9yZGVyLWNvbG9yLWVycm9yLFxuICAgICAgICAgICAgJF9iYWNrZ3JvdW5kICAgOiAkX2VsZW1lbnQtYmFja2dyb3VuZC1lcnJvcixcbiAgICAgICAgICAgICRfY29sb3IgICAgICAgIDogJF9lbGVtZW50LWNvbG9yLWVycm9yXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJi52YWxpZCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWVsZW1lbnQtY29sb3IoXG4gICAgICAgICAgICAkX2JvcmRlci1jb2xvciA6ICRfZWxlbWVudC1ib3JkZXItY29sb3ItdmFsaWQsXG4gICAgICAgICAgICAkX2JhY2tncm91bmQgICA6ICRfZWxlbWVudC1iYWNrZ3JvdW5kLXZhbGlkLFxuICAgICAgICAgICAgJF9jb2xvciAgICAgICAgOiAkX2VsZW1lbnQtY29sb3ItdmFsaWRcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItZm9ybS12YWxpZGF0aW9uLW5vdGUoXG4gICAgJF9ub3RlLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZV9fY29sb3ItZXJyb3IsXG4gICAgJF9ub3RlLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZV9fZm9udC1zaXplLFxuICAgICRfbm90ZS1mb250LWZhbWlseSAgICAgICAgICAgICAgOiAkZm9ybS12YWxpZGF0aW9uLW5vdGVfX2ZvbnQtZmFtaWx5LFxuICAgICRfbm90ZS1mb250LXN0eWxlICAgICAgICAgICAgICAgOiAkZm9ybS12YWxpZGF0aW9uLW5vdGVfX2ZvbnQtc3R5bGUsXG4gICAgJF9ub3RlLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZV9fZm9udC13ZWlnaHQsXG4gICAgJF9ub3RlLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZV9fbGluZS1oZWlnaHQsXG4gICAgJF9ub3RlLW1hcmdpbiAgICAgICAgICAgICAgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZV9fbWFyZ2luLFxuICAgICRfbm90ZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgOiAkZm9ybS12YWxpZGF0aW9uLW5vdGVfX3BhZGRpbmcsXG4gICAgJF9ub3RlLWljb24tdXNlICAgICAgICAgICAgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZS1pY29uX191c2UsXG5cbiAgICAkX25vdGUtaWNvbi1mb250LWNvbnRlbnQgICAgICAgIDogJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtY29udGVudCxcbiAgICAkX25vdGUtaWNvbi1mb250ICAgICAgICAgICAgICAgIDogJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQsXG4gICAgJF9ub3RlLWljb24tZm9udC1zaXplICAgICAgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZS1pY29uX19mb250LXNpemUsXG4gICAgJF9ub3RlLWljb24tZm9udC1saW5lLWhlaWdodCAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZS1pY29uX19mb250LWxpbmUtaGVpZ2h0LFxuICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3IgICAgICAgICAgOiAkZm9ybS12YWxpZGF0aW9uLW5vdGUtaWNvbl9fZm9udC1jb2xvcixcbiAgICAkX25vdGUtaWNvbi1mb250LWNvbG9yLWhvdmVyICAgIDogJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtY29sb3ItaG92ZXIsXG4gICAgJF9ub3RlLWljb24tZm9udC1jb2xvci1hY3RpdmUgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZS1pY29uX19mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAkX25vdGUtaWNvbi1mb250LW1hcmdpbiAgICAgICAgIDogJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtbWFyZ2luLFxuICAgICRfbm90ZS1pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gOiAkZm9ybS12YWxpZGF0aW9uLW5vdGUtaWNvbl9fZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAkX25vdGUtaWNvbi1mb250LXBvc2l0aW9uICAgICAgIDogJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtcG9zaXRpb24sXG4gICAgJF9ub3RlLWljb24tZm9udC10ZXh0LWhpZGUgICAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZS1pY29uX19mb250LXRleHQtaGlkZVxuKSB7XG4gICAgQGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG4gICAgICAgICRfZm9udC1zaXplICAgOiAkX25vdGUtZm9udC1zaXplLFxuICAgICAgICAkX2NvbG9yICAgICAgIDogJF9ub3RlLWNvbG9yLFxuICAgICAgICAkX2ZvbnQtZmFtaWx5IDogJF9ub3RlLWZvbnQtZmFtaWx5LFxuICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJF9ub3RlLWZvbnQtd2VpZ2h0LFxuICAgICAgICAkX2xpbmUtaGVpZ2h0IDogJF9ub3RlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkX2ZvbnQtc3R5bGUgIDogJF9ub3RlLWZvbnQtc3R5bGVcbiAgICApO1xuICAgIEBpbmNsdWRlIF9saWItZm9ybS12YWxpZGF0aW9uLWljb24oXG4gICAgICAgICRfbm90ZS1pY29uLXVzZSxcbiAgICAgICAgJF9ub3RlLWljb24tZm9udC1jb250ZW50LFxuICAgICAgICAkX25vdGUtaWNvbi1mb250LFxuICAgICAgICAkX25vdGUtaWNvbi1mb250LXNpemUsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3IsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3ItaG92ZXIsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3ItYWN0aXZlLFxuICAgICAgICAkX25vdGUtaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgJF9ub3RlLWljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgJF9ub3RlLWljb24tZm9udC1wb3NpdGlvbixcbiAgICAgICAgJF9ub3RlLWljb24tZm9udC10ZXh0LWhpZGVcbiAgICApO1xufVxuXG5AbWl4aW4gbGliLWZvcm0tdmFsaWRhdGlvbi1jb2xvcihcbiAgICAkX2VsZW1lbnQtYm9yZGVyLWNvbG9yLWVycm9yIDogbnVsbCxcbiAgICAkX2VsZW1lbnQtYmFja2dyb3VuZC1lcnJvciAgIDogbnVsbCxcbiAgICAkX2VsZW1lbnQtY29sb3ItZXJyb3IgICAgICAgIDogbnVsbCxcbiAgICAkX2VsZW1lbnQtYm9yZGVyLWNvbG9yLXZhbGlkIDogbnVsbCxcbiAgICAkX2VsZW1lbnQtYmFja2dyb3VuZC12YWxpZCAgIDogbnVsbCxcbiAgICAkX2VsZW1lbnQtY29sb3ItdmFsaWQgICAgICAgIDogbnVsbFxuKSB7XG4gICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvcm0tZWxlbWVudC1jb2xvcihcbiAgICAgICAgICAgICRfYm9yZGVyLWNvbG9yIDogJF9lbGVtZW50LWJvcmRlci1jb2xvci1lcnJvcixcbiAgICAgICAgICAgICRfYmFja2dyb3VuZCAgIDogJF9lbGVtZW50LWJhY2tncm91bmQtZXJyb3IsXG4gICAgICAgICAgICAkX2NvbG9yICAgICAgICA6ICRfZWxlbWVudC1jb2xvci1lcnJvclxuICAgICAgICApO1xuICAgIH1cblxuICAgICYudmFsaWQge1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS1lbGVtZW50LWNvbG9yKFxuICAgICAgICAgICAgJF9ib3JkZXItY29sb3IgOiAkX2VsZW1lbnQtYm9yZGVyLWNvbG9yLXZhbGlkLFxuICAgICAgICAgICAgJF9iYWNrZ3JvdW5kICAgOiAkX2VsZW1lbnQtYmFja2dyb3VuZC12YWxpZCxcbiAgICAgICAgICAgICRfY29sb3IgICAgICAgIDogJF9lbGVtZW50LWNvbG9yLXZhbGlkXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWZvcm0tZWxlbWVudC1hbGwoKSB7XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWVsZW1lbnQtaW5wdXQoJF90eXBlOiBpbnB1dC10ZXh0KTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvcm0tZWxlbWVudC1udW1iZXItcmVzZXQoKTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvcm0tZWxlbWVudC1zZWFyY2gtcmVzZXQoKTtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS1lbGVtZW50LWlucHV0KCRfdHlwZTogc2VsZWN0KTtcbiAgICB9XG5cbiAgICBzZWxlY3RbbXVsdGlwbGU9XCJtdWx0aXBsZVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoaGVpZ2h0LCBhdXRvKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWVsZW1lbnQtaW5wdXQoJF90eXBlOiB0ZXh0YXJlYSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWVsZW1lbnQtdGV4dGFyZWEtcmVzaXplKCk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvcm0tZWxlbWVudC1jaG9pY2UoJF90eXBlOiBpbnB1dC1jaGVja2JveCk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvcm0tZWxlbWVudC1jaG9pY2UoJF90eXBlOiBpbnB1dC1yYWRpbyk7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvcm0tdmFsaWRhdGlvbigpO1xuICAgIH1cblxuICAgIGRpdi5tYWdlLWVycm9yW2dlbmVyYXRlZF0ge1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS12YWxpZGF0aW9uLW5vdGUoKTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICB9XG5cbiAgICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8vXG4vLyAgSW50ZXJuYWwgdXNlIG1peGluc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX2xpYi1mb3JtLXZhbGlkYXRpb24taWNvbihcbiAgICAkX25vdGUtaWNvbi11c2UsXG4gICAgJF9ub3RlLWljb24tZm9udC1jb250ZW50LFxuICAgICRfbm90ZS1pY29uLWZvbnQsXG4gICAgJF9ub3RlLWljb24tZm9udC1zaXplLFxuICAgICRfbm90ZS1pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgJF9ub3RlLWljb24tZm9udC1jb2xvcixcbiAgICAkX25vdGUtaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3ItYWN0aXZlLFxuICAgICRfbm90ZS1pY29uLWZvbnQtbWFyZ2luLFxuICAgICRfbm90ZS1pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgJF9ub3RlLWljb24tZm9udC1wb3NpdGlvbixcbiAgICAkX25vdGUtaWNvbi1mb250LXRleHQtaGlkZVxuKSB7XG4gICAgQGlmICRfbm90ZS1pY29uLXVzZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgICA6ICRfbm90ZS1pY29uLWZvbnQtY29udGVudCxcbiAgICAgICAgICAgICRfaWNvbi1mb250ICAgICAgICAgICAgICAgIDogJF9ub3RlLWljb24tZm9udCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgICAgIDogJF9ub3RlLWljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgOiAkX25vdGUtaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgICAgOiAkX25vdGUtaWNvbi1mb250LWNvbG9yLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgICAgOiAkX25vdGUtaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlICAgOiAkX25vdGUtaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LW1hcmdpbiAgICAgICAgIDogJF9ub3RlLWljb24tZm9udC1tYXJnaW4sXG4gICAgICAgICAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiA6ICRfbm90ZS1pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICAgICA6ICRfbm90ZS1pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgICA6ICRfbm90ZS1pY29uLWZvbnQtdGV4dC1oaWRlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4gX2xpYi1mb3JtLWVsZW1lbnQtYWRkLW9wYWNpdHkoJF9vcGFjaXR5KSB7XG4gICAgQGlmICRfb3BhY2l0eSAhPSAxIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhvcGFjaXR5LCAkX29wYWNpdHkpO1xuICAgIH1cbn1cblxuLy8gIE9ubHkgZm9yIHN0YXRlcyA6ZGlzYWJsZWQsIDpmb2N1cywgcGxhY2Vob2xkZXJcbkBtaXhpbiBfbGliLWZvcm0tZWxlbWVudC1mb2N1cyhcbiAgICAkX2JhY2tncm91bmQtZGVmYXVsdCxcbiAgICAkX2JhY2tncm91bmQtc3RhdGUsXG4gICAgJF9ib3JkZXItZGVmYXVsdCxcbiAgICAkX2JvcmRlci1zdGF0ZSxcbiAgICAkX2NvbG9yLWRlZmF1bHQsXG4gICAgJF9jb2xvci1zdGF0ZSxcbiAgICAkX2ZvbnQtc3R5bGUtZGVmYXVsdCxcbiAgICAkX2ZvbnQtc3R5bGUtc3RhdGVcbikge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtYmFja2dyb3VuZCgkX2JhY2tncm91bmQtc3RhdGUsICRfYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1mb3JtLWVsZW1lbnQtc3RhdGUtYWRkLWJvcmRlcigkX2JvcmRlci1zdGF0ZSwgJF9ib3JkZXItZGVmYXVsdCk7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1mb250LWNvbG9yKCRfY29sb3Itc3RhdGUsICRfY29sb3ItZGVmYXVsdCk7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1mb250LXN0eWxlKCRfZm9udC1zdHlsZS1zdGF0ZSwgJF9mb250LXN0eWxlLWRlZmF1bHQpO1xuICAgIH1cbn1cblxuQG1peGluIF9saWItZm9ybS1lbGVtZW50LWRpc2FibGVkKFxuICAgICRfYmFja2dyb3VuZC1kZWZhdWx0LFxuICAgICRfYmFja2dyb3VuZC1zdGF0ZSxcbiAgICAkX2JvcmRlci1kZWZhdWx0LFxuICAgICRfYm9yZGVyLXN0YXRlLFxuICAgICRfY29sb3ItZGVmYXVsdCxcbiAgICAkX2NvbG9yLXN0YXRlLFxuICAgICRfZm9udC1zdHlsZS1kZWZhdWx0LFxuICAgICRfZm9udC1zdHlsZS1zdGF0ZSxcbiAgICAkX29wYWNpdHlcbikge1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1hZGQtb3BhY2l0eSgkX29wYWNpdHkpO1xuICAgICAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtYmFja2dyb3VuZCgkX2JhY2tncm91bmQtc3RhdGUsICRfYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1mb3JtLWVsZW1lbnQtc3RhdGUtYWRkLWJvcmRlcigkX2JvcmRlci1zdGF0ZSwgJF9ib3JkZXItZGVmYXVsdCk7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1mb250LWNvbG9yKCRfY29sb3Itc3RhdGUsICRfY29sb3ItZGVmYXVsdCk7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1mb250LXN0eWxlKCRfZm9udC1zdHlsZS1zdGF0ZSwgJF9mb250LXN0eWxlLWRlZmF1bHQpO1xuICAgIH1cbn1cblxuQG1peGluIF9saWItZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyKFxuICAgICRfdHlwZSxcbiAgICAkX2NvbG9yLFxuICAgICRfZm9udC1zdHlsZS1kZWZhdWx0LFxuICAgICRfZm9udC1zdHlsZS1zdGF0ZVxuKSB7XG4gICAgQGlmICRfdHlwZSAhPSBcInNlbGVjdFwiIHtcbiAgICAgICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2NvbG9yKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1mb250LXN0eWxlKFxuICAgICAgICAgICAgICAgICRfZm9udC1zdHlsZS1zdGF0ZSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGUtZGVmYXVsdFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9jb2xvcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtZm9udC1zdHlsZShcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGUtc3RhdGUsXG4gICAgICAgICAgICAgICAgJF9mb250LXN0eWxlLWRlZmF1bHRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2NvbG9yKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1mb250LXN0eWxlKFxuICAgICAgICAgICAgICAgICRfZm9udC1zdHlsZS1zdGF0ZSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGUtZGVmYXVsdFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIF9saWItZm9ybS1lbGVtZW50LXN0YXRlLWFkZC1iYWNrZ3JvdW5kKFxuICAgICRfYmFja2dyb3VuZC1zdGF0ZSxcbiAgICAkX2JhY2tncm91bmQtZGVmYXVsdFxuKSB7XG4gICAgQGlmICRfYmFja2dyb3VuZC1zdGF0ZSAhPSAkX2JhY2tncm91bmQtZGVmYXVsdCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9iYWNrZ3JvdW5kLXN0YXRlKTtcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtYm9yZGVyKFxuICAgICRfYm9yZGVyLXN0YXRlLFxuICAgICRfYm9yZGVyLWRlZmF1bHRcbikge1xuICAgIEBpZiAkX2JvcmRlci1zdGF0ZSAhPSAkX2JvcmRlci1kZWZhdWx0IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYm9yZGVyLXN0YXRlKTtcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtYm9yZGVyLWNvbG9yKFxuICAgICRfYm9yZGVyLXN0YXRlLFxuICAgICRfYm9yZGVyLWRlZmF1bHRcbikge1xuICAgIEBpZiAkX2JvcmRlci1zdGF0ZSAhPSAkX2JvcmRlci1kZWZhdWx0IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsICRfYm9yZGVyLXN0YXRlKTtcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWZvcm0tZWxlbWVudC1zdGF0ZS1hZGQtZm9udC1zdHlsZShcbiAgICAkX2ZvbnQtc3R5bGUtc3RhdGUsXG4gICAgJF9mb250LXN0eWxlLWRlZmF1bHRcbikge1xuICAgIEBpZiAkX2ZvbnQtc3R5bGUtc3RhdGUgIT0gJF9mb250LXN0eWxlLWRlZmF1bHQge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtc3R5bGUsICRfZm9udC1zdHlsZS1zdGF0ZSk7XG4gICAgfVxufVxuXG5AbWl4aW4gX2xpYi1mb3JtLWVsZW1lbnQtc3RhdGUtYWRkLWZvbnQtY29sb3IoXG4gICAgJF9jb2xvci1zdGF0ZSxcbiAgICAkX2NvbG9yLWRlZmF1bHRcbikge1xuICAgIEBpZiAkX2NvbG9yLXN0YXRlICE9ICRfY29sb3ItZGVmYXVsdCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfY29sb3Itc3RhdGUpO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi1mb3JtLWZpZWxkc2V0KFxuICAgICRfYm9yZGVyICAgICAgICAgICAgIDogJGZvcm0tZmllbGRzZXRfX2JvcmRlcixcbiAgICAkX21hcmdpbiAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkc2V0X19tYXJnaW4sXG4gICAgJF9wYWRkaW5nICAgICAgICAgICAgOiAkZm9ybS1maWVsZHNldF9fcGFkZGluZyxcbiAgICAkX2xlZ2VuZC1jb2xvciAgICAgICA6ICRmb3JtLWZpZWxkc2V0LWxlZ2VuZF9fY29sb3IsXG4gICAgJF9sZWdlbmQtZm9udC1zaXplICAgOiAkZm9ybS1maWVsZHNldC1sZWdlbmRfX2ZvbnQtc2l6ZSxcbiAgICAkX2xlZ2VuZC1mb250LWZhbWlseSA6ICRmb3JtLWZpZWxkc2V0LWxlZ2VuZF9fZm9udC1mYW1pbHksXG4gICAgJF9sZWdlbmQtZm9udC13ZWlnaHQgOiAkZm9ybS1maWVsZHNldC1sZWdlbmRfX2ZvbnQtd2VpZ2h0LFxuICAgICRfbGVnZW5kLWZvbnQtc3R5bGUgIDogJGZvcm0tZmllbGRzZXQtbGVnZW5kX19mb250LXN0eWxlLFxuICAgICRfbGVnZW5kLWxpbmUtaGVpZ2h0IDogJGZvcm0tZmllbGRzZXQtbGVnZW5kX19saW5lLWhlaWdodCxcbiAgICAkX2xlZ2VuZC1tYXJnaW4gICAgICA6ICRmb3JtLWZpZWxkc2V0LWxlZ2VuZF9fbWFyZ2luLFxuICAgICRfbGVnZW5kLXBhZGRpbmcgICAgIDogJGZvcm0tZmllbGRzZXQtbGVnZW5kX19wYWRkaW5nLFxuICAgICRfbGVnZW5kLXdpZHRoICAgICAgIDogJGZvcm0tZmllbGRzZXQtbGVnZW5kX193aWR0aFxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYm9yZGVyKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9tYXJnaW4pO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9wYWRkaW5nKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMzFlbTtcblxuICAgID4gKiB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgfVxuXG4gICAgPiAubGVnZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfbGVnZW5kLW1hcmdpbik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9sZWdlbmQtcGFkZGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRfbGVnZW5kLXdpZHRoKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG4gICAgICAgICAgICAkX2ZvbnQtc2l6ZSAgIDogJF9sZWdlbmQtZm9udC1zaXplLFxuICAgICAgICAgICAgJF9jb2xvciAgICAgICA6ICRfbGVnZW5kLWNvbG9yLFxuICAgICAgICAgICAgJF9mb250LWZhbWlseSA6ICRfbGVnZW5kLWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgJF9mb250LXdlaWdodCA6ICRfbGVnZW5kLWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJF9saW5lLWhlaWdodCA6ICRfbGVnZW5kLWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9mb250LXN0eWxlICA6ICRfbGVnZW5kLWZvbnQtc3R5bGVcbiAgICAgICAgKTtcblxuICAgICAgICAmICsgYnIge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaWItZm9ybS1maWVsZChcbiAgICAkX3R5cGUgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtdHlwZSxcbiAgICAkX3R5cGUtaW5saW5lLW1hcmdpbiAgICAgICAgICAgIDogJGZvcm0tZmllbGQtdHlwZS1pbmxpbmVfX21hcmdpbixcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLW1hcmdpbiAgICAgIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX21hcmdpbixcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcgICAgIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX3BhZGRpbmcsXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC1hbGlnbiAgICAgICA6ICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtaW5saW5lX19hbGlnbixcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLXdpZHRoICAgICAgIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX3dpZHRoLFxuICAgICRfdHlwZS1pbmxpbmUtY29udHJvbC13aWR0aCAgICAgOiAkZm9ybS1maWVsZC10eXBlLWNvbnRyb2wtaW5saW5lX193aWR0aCxcbiAgICAkX3ZlcnRpY2FsLWluZGVudCAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGRfX3ZlcnRpY2FsLWluZGVudCxcbiAgICAkX2FkZGl0aW9uYWwtdmVydGljYWwtaW5kZW50ICAgIDogJGZvcm0tZmllbGRfX2FkZGl0aW9uYWwtdmVydGljYWwtaW5kZW50LFxuICAgICRfdHlwZS1ibG9jay1tYXJnaW4gICAgICAgICAgICAgOiAkZm9ybS1maWVsZC10eXBlLWJsb2NrX19tYXJnaW4sXG4gICAgJF90eXBlLWJsb2NrLWxhYmVsLW1hcmdpbiAgICAgICA6ICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtYmxvY2tfX21hcmdpbixcbiAgICAkX3R5cGUtYmxvY2stbGFiZWwtcGFkZGluZyAgICAgIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1ibG9ja19fcGFkZGluZyxcbiAgICAkX3R5cGUtYmxvY2stbGFiZWwtYWxpZ24gICAgICAgIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1ibG9ja19fYWxpZ24sXG5cbiAgICAkX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGRfX2JvcmRlcixcbiAgICAkX2NvbHVtbiAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtY29sdW1uLFxuICAgICRfY29sdW1uLXBhZGRpbmcgICAgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1jb2x1bW5fX3BhZGRpbmcsXG4gICAgJF9jb2x1bW4tbnVtYmVyICAgICAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkLWNvbHVtbl9fbnVtYmVyLFxuXG4gICAgJF9sYWJlbC1jb2xvciAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkLWxhYmVsX19jb2xvcixcbiAgICAkX2xhYmVsLWZvbnQtc2l6ZSAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtbGFiZWxfX2ZvbnQtc2l6ZSxcbiAgICAkX2xhYmVsLWZvbnQtZmFtaWx5ICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtbGFiZWxfX2ZvbnQtZmFtaWx5LFxuICAgICRfbGFiZWwtZm9udC13ZWlnaHQgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1sYWJlbF9fZm9udC13ZWlnaHQsXG4gICAgJF9sYWJlbC1mb250LXN0eWxlICAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkLWxhYmVsX19mb250LXN0eWxlLFxuICAgICRfbGFiZWwtbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1sYWJlbF9fbGluZS1oZWlnaHQsXG5cbiAgICAkX2xhYmVsLWFzdGVyaXNrLWNvbG9yICAgICAgICAgIDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2NvbG9yLFxuICAgICRfbGFiZWwtYXN0ZXJpc2stZm9udC1zaXplICAgICAgOiAkZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fZm9udC1zaXplLFxuICAgICRfbGFiZWwtYXN0ZXJpc2stZm9udC1mYW1pbHkgICAgOiAkZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fZm9udC1mYW1pbHksXG4gICAgJF9sYWJlbC1hc3Rlcmlzay1mb250LXdlaWdodCAgICA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19mb250LXdlaWdodCxcbiAgICAkX2xhYmVsLWFzdGVyaXNrLWZvbnQtc3R5bGUgICAgIDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2ZvbnQtc3R5bGUsXG4gICAgJF9sYWJlbC1hc3Rlcmlzay1saW5lLWhlaWdodCAgICA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19saW5lLWhlaWdodCxcbiAgICAkX2xhYmVsLWFzdGVyaXNrLW1hcmdpbiAgICAgICAgIDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX21hcmdpbixcblxuICAgICRfbm90ZS1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1ub3RlX19jb2xvcixcbiAgICAkX25vdGUtZm9udC1zaXplICAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtbm90ZV9fZm9udC1zaXplLFxuICAgICRfbm90ZS1mb250LWZhbWlseSAgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1ub3RlX19mb250LWZhbWlseSxcbiAgICAkX25vdGUtZm9udC13ZWlnaHQgICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtbm90ZV9fZm9udC13ZWlnaHQsXG4gICAgJF9ub3RlLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkLW5vdGVfX2xpbmUtaGVpZ2h0LFxuICAgICRfbm90ZS1mb250LXN0eWxlICAgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1ub3RlX19mb250LXN0eWxlLFxuICAgICRfbm90ZS1tYXJnaW4gICAgICAgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1ub3RlX19tYXJnaW4sXG4gICAgJF9ub3RlLXBhZGRpbmcgICAgICAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkLW5vdGVfX3BhZGRpbmcsXG4gICAgJF9ub3RlLWljb24tZm9udC1jb250ZW50ICAgICAgICA6ICRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X19jb250ZW50LFxuICAgICRfbm90ZS1pY29uLWZvbnQgICAgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1ub3RlLWljb24tZm9udCxcbiAgICAkX25vdGUtaWNvbi1mb250LXNpemUgICAgICAgICAgIDogJGZvcm0tZmllbGQtbm90ZS1pY29uLWZvbnRfX3NpemUsXG4gICAgJF9ub3RlLWljb24tZm9udC1saW5lLWhlaWdodCAgICA6ICRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X19saW5lLWhlaWdodCxcbiAgICAkX25vdGUtaWNvbi1mb250LWNvbG9yICAgICAgICAgIDogJGZvcm0tZmllbGQtbm90ZS1pY29uLWZvbnRfX2NvbG9yLFxuICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3ItaG92ZXIgICAgOiAkZm9ybS1maWVsZC1ub3RlLWljb24tZm9udF9fY29sb3ItaG92ZXIsXG4gICAgJF9ub3RlLWljb24tZm9udC1jb2xvci1hY3RpdmUgICA6ICRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X19jb2xvci1hY3RpdmUsXG4gICAgJF9ub3RlLWljb24tZm9udC1tYXJnaW4gICAgICAgICA6ICRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X19tYXJnaW4sXG4gICAgJF9ub3RlLWljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiA6ICRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X192ZXJ0aWNhbC1hbGlnbixcbiAgICAkX25vdGUtaWNvbi1mb250LXBvc2l0aW9uICAgICAgIDogJGZvcm0tZmllbGQtbm90ZS1pY29uLWZvbnRfX3Bvc2l0aW9uLFxuICAgICRfbm90ZS1pY29uLWZvbnQtdGV4dC1oaWRlICAgICAgOiAkZm9ybS1maWVsZC1ub3RlLWljb24tZm9udF9fdGV4dC1oaWRlXG4pIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9ib3JkZXIpO1xuXG4gICAgQGluY2x1ZGUgbGliLWZvcm0tZmllbGQtdHlwZShcbiAgICAgICAgJF90eXBlLFxuICAgICAgICAkX3R5cGUtaW5saW5lLW1hcmdpbixcbiAgICAgICAgJF90eXBlLWlubGluZS1sYWJlbC1tYXJnaW4sXG4gICAgICAgICRfdHlwZS1pbmxpbmUtbGFiZWwtcGFkZGluZyxcbiAgICAgICAgJF90eXBlLWlubGluZS1sYWJlbC1hbGlnbixcbiAgICAgICAgJF90eXBlLWlubGluZS1sYWJlbC13aWR0aCxcbiAgICAgICAgJF90eXBlLWlubGluZS1jb250cm9sLXdpZHRoLFxuICAgICAgICAkX3ZlcnRpY2FsLWluZGVudCxcbiAgICAgICAgJF90eXBlLWJsb2NrLW1hcmdpbixcbiAgICAgICAgJF90eXBlLWJsb2NrLWxhYmVsLW1hcmdpbixcbiAgICAgICAgJF90eXBlLWJsb2NrLWxhYmVsLXBhZGRpbmcsXG4gICAgICAgICRfdHlwZS1ibG9jay1sYWJlbC1hbGlnblxuICAgICk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpYi1mb3JtLWZpZWxkLWNvbHVtbihcbiAgICAgICAgJF9jb2x1bW4sXG4gICAgICAgICRfY29sdW1uLXBhZGRpbmcsXG4gICAgICAgICRfY29sdW1uLW51bWJlclxuICAgICk7XG5cbiAgICA+IC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJF9mb250LXNpemUgICA6ICRfbGFiZWwtZm9udC1zaXplLFxuICAgICAgICAgICAgJF9jb2xvciAgICAgICA6ICRfbGFiZWwtY29sb3IsXG4gICAgICAgICAgICAkX2ZvbnQtZmFtaWx5IDogJF9sYWJlbC1mb250LWZhbWlseSxcbiAgICAgICAgICAgICRfZm9udC13ZWlnaHQgOiAkX2xhYmVsLWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJF9saW5lLWhlaWdodCA6ICRfbGFiZWwtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAkX2ZvbnQtc3R5bGUgIDogJF9sYWJlbC1mb250LXN0eWxlXG4gICAgICAgICk7XG4gICAgICAgICYgKyBiciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNob2ljZSB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGRzLmdyb3VwIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNsZWFyZml4KCk7XG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyb3VwLTIgLmZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JvdXAtMyAuZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyb3VwLTQgLmZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JvdXAtNSAuZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZGlzcGxheShpbmxpbmUtZmxleCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtd3JhcChub3dyYXApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgc2VsZWN0LFxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItdmVuZG9yLXByZWZpeC1vcmRlcigyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtYmFzaXMoMTAwJSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRiZWZvcmUsXG4gICAgICAgIC5hZGRhZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS1lbGVtZW50LWlucHV0KCRfdHlwZTogaW5wdXQtdGV4dCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItdmVuZG9yLXByZWZpeC1vcmRlcigzKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkYmVmb3JlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtb3JkZXIoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkaXRpb25hbCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJF9hZGRpdGlvbmFsLXZlcnRpY2FsLWluZGVudCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX2xpYi1mb3JtLWZpZWxkLXJlcXVpcmVkKFxuICAgICAgICAkX2xhYmVsLWFzdGVyaXNrLWNvbG9yLFxuICAgICAgICAkX2xhYmVsLWFzdGVyaXNrLWZvbnQtc2l6ZSxcbiAgICAgICAgJF9sYWJlbC1hc3Rlcmlzay1mb250LWZhbWlseSxcbiAgICAgICAgJF9sYWJlbC1hc3Rlcmlzay1mb250LXdlaWdodCxcbiAgICAgICAgJF9sYWJlbC1hc3Rlcmlzay1mb250LXN0eWxlLFxuICAgICAgICAkX2xhYmVsLWFzdGVyaXNrLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkX2xhYmVsLWFzdGVyaXNrLW1hcmdpblxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBfbGliLWZvcm0tZmllbGQtbm90ZShcbiAgICAgICAgJF9ub3RlLWZvbnQtc2l6ZSxcbiAgICAgICAgJF9ub3RlLWNvbG9yLFxuICAgICAgICAkX25vdGUtZm9udC1mYW1pbHksXG4gICAgICAgICRfbm90ZS1mb250LXdlaWdodCxcbiAgICAgICAgJF9ub3RlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkX25vdGUtZm9udC1zdHlsZSxcbiAgICAgICAgJF9ub3RlLW1hcmdpbixcbiAgICAgICAgJF9ub3RlLXBhZGRpbmcsXG5cbiAgICAgICAgJF9ub3RlLWljb24tZm9udC1jb250ZW50LFxuICAgICAgICAkX25vdGUtaWNvbi1mb250LFxuICAgICAgICAkX25vdGUtaWNvbi1mb250LXNpemUsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3IsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3ItaG92ZXIsXG4gICAgICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3ItYWN0aXZlLFxuICAgICAgICAkX25vdGUtaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgJF9ub3RlLWljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgJF9ub3RlLWljb24tZm9udC1wb3NpdGlvbixcbiAgICAgICAgJF9ub3RlLWljb24tZm9udC10ZXh0LWhpZGVcbiAgICApO1xufVxuXG5AbWl4aW4gbGliLWZvcm0tZmllbGQtdHlwZShcbiAgICAkX3R5cGUgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1maWVsZC10eXBlLFxuICAgICRfdHlwZS1pbmxpbmUtbWFyZ2luICAgICAgICA6ICRmb3JtLWZpZWxkLXR5cGUtaW5saW5lX19tYXJnaW4sXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC1tYXJnaW4gIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX21hcmdpbixcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcgOiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fcGFkZGluZyxcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLWFsaWduICAgOiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fYWxpZ24sXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC13aWR0aCAgIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX3dpZHRoLFxuICAgICRfdHlwZS1pbmxpbmUtY29udHJvbC13aWR0aCA6ICRmb3JtLWZpZWxkLXR5cGUtY29udHJvbC1pbmxpbmVfX3dpZHRoLFxuICAgICRfdmVydGljYWwtaW5kZW50ICAgICAgICAgICA6ICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnQsXG4gICAgJF90eXBlLWJsb2NrLW1hcmdpbiAgICAgICAgIDogJGZvcm0tZmllbGQtdHlwZS1ibG9ja19fbWFyZ2luLFxuICAgICRfdHlwZS1ibG9jay1sYWJlbC1tYXJnaW4gICA6ICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtYmxvY2tfX21hcmdpbixcbiAgICAkX3R5cGUtYmxvY2stbGFiZWwtcGFkZGluZyAgOiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWJsb2NrX19wYWRkaW5nLFxuICAgICRfdHlwZS1ibG9jay1sYWJlbC1hbGlnbiAgICA6ICAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWJsb2NrX19hbGlnblxuKSB7XG4gICAgQGlmICRfdHlwZSA9PSBcImlubGluZVwiIHtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1mb3JtLWZpZWxkLXR5cGUtaW5saW5lKFxuICAgICAgICAgICAgJF90eXBlLWlubGluZS1tYXJnaW4sXG4gICAgICAgICAgICAkX3R5cGUtaW5saW5lLWxhYmVsLW1hcmdpbixcbiAgICAgICAgICAgICRfdHlwZS1pbmxpbmUtbGFiZWwtcGFkZGluZyxcbiAgICAgICAgICAgICRfdHlwZS1pbmxpbmUtbGFiZWwtd2lkdGgsXG4gICAgICAgICAgICAkX3R5cGUtaW5saW5lLWNvbnRyb2wtd2lkdGgsXG4gICAgICAgICAgICAkX3R5cGUtaW5saW5lLWxhYmVsLWFsaWduLFxuICAgICAgICAgICAgJF92ZXJ0aWNhbC1pbmRlbnRcbiAgICAgICAgKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJF90eXBlID09IFwiYmxvY2tcIiB7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1maWVsZC10eXBlLWJsb2NrKFxuICAgICAgICAgICAgJF90eXBlLWJsb2NrLW1hcmdpbixcbiAgICAgICAgICAgICRfdHlwZS1ibG9jay1sYWJlbC1tYXJnaW4sXG4gICAgICAgICAgICAkX3R5cGUtYmxvY2stbGFiZWwtcGFkZGluZyxcbiAgICAgICAgICAgICRfdHlwZS1ibG9jay1sYWJlbC1hbGlnblxuICAgICAgICApO1xuICAgIH1cbn1cblxuQG1peGluIF9saWItZm9ybS1maWVsZC10eXBlLWlubGluZShcbiAgICAkX3R5cGUtaW5saW5lLW1hcmdpbixcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLW1hcmdpbixcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcsXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC13aWR0aCxcbiAgICAkX3R5cGUtaW5saW5lLWNvbnRyb2wtd2lkdGgsXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC1hbGlnbixcbiAgICAkX3ZlcnRpY2FsLWluZGVudFxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNsZWFyZml4KCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfdHlwZS1pbmxpbmUtbWFyZ2luKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJi5jaG9pY2U6YmVmb3JlLFxuICAgICYubm8tbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkX3R5cGUtaW5saW5lLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtYWxpZ24sICRfdHlwZS1pbmxpbmUtbGFiZWwtYWxpZ24pO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkX3R5cGUtaW5saW5lLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgJjpub3QoLmNob2ljZSkge1xuICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF90eXBlLWlubGluZS1sYWJlbC1tYXJnaW4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWFsaWduLCAkX3R5cGUtaW5saW5lLWxhYmVsLWFsaWduKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRfdHlwZS1pbmxpbmUtbGFiZWwtd2lkdGgpO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udHJvbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkX3R5cGUtaW5saW5lLWNvbnRyb2wtd2lkdGgpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWZvcm0tZmllbGQtdHlwZS1ibG9jayhcbiAgICAkX3R5cGUtYmxvY2stbWFyZ2luLFxuICAgICRfdHlwZS1ibG9jay1sYWJlbC1tYXJnaW4sXG4gICAgJF90eXBlLWJsb2NrLWxhYmVsLXBhZGRpbmcsXG4gICAgJF90eXBlLWJsb2NrLWxhYmVsLWFsaWduXG4pIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF90eXBlLWJsb2NrLW1hcmdpbik7XG4gICAgPiAubGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF90eXBlLWJsb2NrLWxhYmVsLW1hcmdpbik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF90eXBlLWJsb2NrLWxhYmVsLXBhZGRpbmcpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtYWxpZ24sICRfdHlwZS1ibG9jay1sYWJlbC1hbGlnbik7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWZvcm0tZmllbGQtcmVxdWlyZWQoXG4gICAgJF9jb2xvciAgICAgICA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19jb2xvcixcbiAgICAkX2ZvbnQtc2l6ZSAgIDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2ZvbnQtc2l6ZSxcbiAgICAkX2ZvbnQtZmFtaWx5IDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2ZvbnQtZmFtaWx5LFxuICAgICRfZm9udC13ZWlnaHQgOiAkZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fZm9udC13ZWlnaHQsXG4gICAgJF9mb250LXN0eWxlICA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19mb250LXN0eWxlLFxuICAgICRfbGluZS1oZWlnaHQgOiAkZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fbGluZS1oZWlnaHQsXG4gICAgJF9tYXJnaW4gICAgICA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19tYXJnaW5cbikge1xuICAgICYucmVxdWlyZWQgPiAubGFiZWwsXG4gICAgJi5fcmVxdWlyZWQgPiAubGFiZWwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgICRfZm9udC1zaXplICAgOiAkX2ZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2NvbG9yICAgICAgIDogJF9jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ZvbnQtZmFtaWx5IDogJF9mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJF9mb250LXdlaWdodCxcbiAgICAgICAgICAgICAgICAkX2xpbmUtaGVpZ2h0IDogJF9saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGUgIDogJF9mb250LXN0eWxlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfbWFyZ2luKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIF9saWItZm9ybS1maWVsZC1ub3RlKFxuICAgICRfbm90ZS1mb250LXNpemUsXG4gICAgJF9ub3RlLWNvbG9yLFxuICAgICRfbm90ZS1mb250LWZhbWlseSxcbiAgICAkX25vdGUtZm9udC13ZWlnaHQsXG4gICAgJF9ub3RlLWxpbmUtaGVpZ2h0LFxuICAgICRfbm90ZS1mb250LXN0eWxlLFxuICAgICRfbm90ZS1tYXJnaW4sXG4gICAgJF9ub3RlLXBhZGRpbmcsXG5cbiAgICAkX25vdGUtaWNvbi1mb250LWNvbnRlbnQsXG4gICAgJF9ub3RlLWljb24tZm9udCxcbiAgICAkX25vdGUtaWNvbi1mb250LXNpemUsXG4gICAgJF9ub3RlLWljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAkX25vdGUtaWNvbi1mb250LWNvbG9yLFxuICAgICRfbm90ZS1pY29uLWZvbnQtY29sb3ItaG92ZXIsXG4gICAgJF9ub3RlLWljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgJF9ub3RlLWljb24tZm9udC1tYXJnaW4sXG4gICAgJF9ub3RlLWljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAkX25vdGUtaWNvbi1mb250LXBvc2l0aW9uLFxuICAgICRfbm90ZS1pY29uLWZvbnQtdGV4dC1oaWRlXG4pIHtcbiAgICAubm90ZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJF9mb250LXNpemUgICA6ICRfbm90ZS1mb250LXNpemUsXG4gICAgICAgICAgICAkX2NvbG9yICAgICAgIDogJF9ub3RlLWNvbG9yLFxuICAgICAgICAgICAgJF9mb250LWZhbWlseSA6ICRfbm90ZS1mb250LWZhbWlseSxcbiAgICAgICAgICAgICRfZm9udC13ZWlnaHQgOiAkX25vdGUtZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAkX2xpbmUtaGVpZ2h0IDogJF9ub3RlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9mb250LXN0eWxlICA6ICRfbm90ZS1mb250LXN0eWxlXG4gICAgICAgICk7XG5cbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfbm90ZS1tYXJnaW4pO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfbm90ZS1wYWRkaW5nKTtcblxuICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgICAgICAgOiAkX25vdGUtaWNvbi1mb250LWNvbnRlbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udCAgICAgICAgICAgICAgICA6ICRfbm90ZS1pY29uLWZvbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6ICRfbm90ZS1pY29uLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgIDogJF9ub3RlLWljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICAgIDogJF9ub3RlLWljb24tZm9udC1jb2xvcixcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyICAgIDogJF9ub3RlLWljb24tZm9udC1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSAgIDogJF9ub3RlLWljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW4gICAgICAgICA6ICRfbm90ZS1pY29uLWZvbnQtbWFyZ2luLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gOiAkX25vdGUtaWNvbi1mb250LXZlcnRpY2FsLWFsaWduLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gICAgICAgOiAkX25vdGUtaWNvbi1mb250LXBvc2l0aW9uLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlICAgICAgOiAkX25vdGUtaWNvbi1mb250LXRleHQtaGlkZVxuICAgICAgICApO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi1mb3JtLWZpZWxkLXR5cGUtcmV2ZXJ0KFxuICAgICRfdHlwZSAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkLXR5cGUtcmV2ZXJ0LFxuICAgICRfdHlwZS1pbmxpbmUtbWFyZ2luICAgICAgICA6ICRmb3JtLWZpZWxkLXR5cGUtaW5saW5lX19tYXJnaW4sXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC1tYXJnaW4gIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX21hcmdpbixcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcgOiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fcGFkZGluZyxcbiAgICAkX3R5cGUtaW5saW5lLWxhYmVsLWFsaWduICAgOiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fYWxpZ24sXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC13aWR0aCAgIDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX3dpZHRoLFxuICAgICRfdHlwZS1pbmxpbmUtY29udHJvbC13aWR0aCA6ICRmb3JtLWZpZWxkLXR5cGUtY29udHJvbC1pbmxpbmVfX3dpZHRoLFxuICAgICRfdmVydGljYWwtaW5kZW50ICAgICAgICAgICA6ICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnQsXG4gICAgJF90eXBlLWJsb2NrLW1hcmdpbiAgICAgICAgIDogJGZvcm0tZmllbGQtdHlwZS1ibG9ja19fbWFyZ2luLFxuICAgICRfdHlwZS1ibG9jay1sYWJlbC1tYXJnaW4gICA6ICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtYmxvY2tfX21hcmdpbixcbiAgICAkX3R5cGUtYmxvY2stbGFiZWwtcGFkZGluZyAgOiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWJsb2NrX19wYWRkaW5nLFxuICAgICRfdHlwZS1ibG9jay1sYWJlbC1hbGlnbiAgICA6ICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtYmxvY2tfX2FsaWduXG4pIHtcbiAgICBAaWYgJF90eXBlID09IGJsb2NrIHtcbiAgICAgICAgJjpub3QoLmNob2ljZSkge1xuICAgICAgICAgICAgPiAubGFiZWwge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1yZXZlcnQtdHlwZS1ibG9jay1sYWJlbC1hbGlnbihcbiAgICAgICAgICAgICAgICAgICAgJF90eXBlLWJsb2NrLWxhYmVsLWFsaWduXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIF9saWItcmV2ZXJ0LXR5cGUtYmxvY2stbGFiZWwtcGFkZGluZyhcbiAgICAgICAgICAgICAgICAgICAgJF90eXBlLWJsb2NrLWxhYmVsLXBhZGRpbmdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1maWVsZC10eXBlLWJsb2NrKFxuICAgICAgICAgICAgJF90eXBlLWJsb2NrLW1hcmdpbixcbiAgICAgICAgICAgICRfdHlwZS1ibG9jay1sYWJlbC1tYXJnaW4sXG4gICAgICAgICAgICAkX3R5cGUtYmxvY2stbGFiZWwtcGFkZGluZyxcbiAgICAgICAgICAgICRfdHlwZS1ibG9jay1sYWJlbC1hbGlnblxuICAgICAgICApO1xuXG4gICAgICAgICYuY2hvaWNlLFxuICAgICAgICAmLm5vLWxhYmVsIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkX3R5cGUgPT0gaW5saW5lIHtcbiAgICAgICAgPiAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1yZXZlcnQtdHlwZS1pbmxpbmUtbGFiZWwtbWFyZ2luKFxuICAgICAgICAgICAgICAgICRfdHlwZS1pbmxpbmUtbGFiZWwtbWFyZ2luXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1maWVsZC10eXBlLWlubGluZShcbiAgICAgICAgICAgICRfdHlwZS1pbmxpbmUtbWFyZ2luLFxuICAgICAgICAgICAgJF90eXBlLWlubGluZS1sYWJlbC1tYXJnaW4sXG4gICAgICAgICAgICAkX3R5cGUtaW5saW5lLWxhYmVsLXBhZGRpbmcsXG4gICAgICAgICAgICAkX3R5cGUtaW5saW5lLWxhYmVsLXdpZHRoLFxuICAgICAgICAgICAgJF90eXBlLWlubGluZS1jb250cm9sLXdpZHRoLFxuICAgICAgICAgICAgJF90eXBlLWlubGluZS1sYWJlbC1hbGlnbixcbiAgICAgICAgICAgICRfdmVydGljYWwtaW5kZW50XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWZvcm0tZmllbGQtY29sdW1uKFxuICAgICRfY29sdW1uICAgICAgICAgOiAkZm9ybS1maWVsZC1jb2x1bW4sXG4gICAgJF9jb2x1bW4tcGFkZGluZyA6ICRmb3JtLWZpZWxkLWNvbHVtbl9fcGFkZGluZyxcbiAgICAkX2NvbHVtbi1udW1iZXIgIDogJGZvcm0tZmllbGQtY29sdW1uX19udW1iZXJcbikge1xuICAgIEBpZiAkX2NvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9jb2x1bW4tcGFkZGluZyk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS1maWVsZC1jb2x1bW4tbnVtYmVyKCRfY29sdW1uLW51bWJlcik7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgJiArIC5maWVsZHNldCB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpYi1mb3JtLWZpZWxkLWNvbHVtbi1udW1iZXIoJF9jb2x1bW4tbnVtYmVyOiAkZm9ybS1maWVsZC1jb2x1bW5fX251bWJlcikge1xuICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsIDEwMCUgLyAkX2NvbHVtbi1udW1iZXIpO1xufVxuXG5AbWl4aW4gX2xpYi1yZXZlcnQtdHlwZS1ibG9jay1sYWJlbC1wYWRkaW5nKFxuICAgICRfdHlwZS1ibG9jay1sYWJlbC1wYWRkaW5nXG4pIHtcbiAgICBAaWYgJF90eXBlLWJsb2NrLWxhYmVsLXBhZGRpbmcgPT0gZmFsc2Uge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuQG1peGluIF9saWItcmV2ZXJ0LXR5cGUtYmxvY2stbGFiZWwtYWxpZ24oXG4gICAgJF90eXBlLWJsb2NrLWxhYmVsLWFsaWduXG4pIHtcbiAgICBAaWYgJF90eXBlLWJsb2NrLWxhYmVsLWFsaWduID09IGZhbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLXJldmVydC10eXBlLWlubGluZS1sYWJlbC1tYXJnaW4oXG4gICAgJF90eXBlLWlubGluZS1sYWJlbC1tYXJnaW5cbikge1xuICAgIEBpZiAkX3R5cGUtaW5saW5lLWxhYmVsLW1hcmdpbiA9PSBmYWxzZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItZm9ybS1oYXNyZXF1aXJlZChcbiAgICAkX3Bvc2l0aW9uICAgIDogJGZvcm0taGFzcmVxdWlyZWRfX3Bvc2l0aW9uLFxuICAgICRfY29sb3IgICAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fY29sb3IsXG4gICAgJF9mb250LXNpemUgICA6ICRmb3JtLWhhc3JlcXVpcmVkX19mb250LXNpemUsXG4gICAgJF9mb250LWZhbWlseSA6ICRmb3JtLWhhc3JlcXVpcmVkX19mb250LWZhbWlseSxcbiAgICAkX2ZvbnQtd2VpZ2h0IDogJGZvcm0taGFzcmVxdWlyZWRfX2ZvbnQtd2VpZ2h0LFxuICAgICRfZm9udC1zdHlsZSAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fZm9udC1zdHlsZSxcbiAgICAkX2xpbmUtaGVpZ2h0IDogJGZvcm0taGFzcmVxdWlyZWRfX2xpbmUtaGVpZ2h0LFxuICAgICRfYm9yZGVyICAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fYm9yZGVyLFxuICAgICRfbWFyZ2luICAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fbWFyZ2luLFxuICAgICRfcGFkZGluZyAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fcGFkZGluZ1xuKSB7XG4gICAgQGluY2x1ZGUgX2xpYi1mb3JtLWhhc3JlcXVpcmVkLXBvc2l0aW9uKFxuICAgICAgICAkX3Bvc2l0aW9uLFxuICAgICAgICAkX2JvcmRlcixcbiAgICAgICAgJF9tYXJnaW4sXG4gICAgICAgICRfcGFkZGluZyxcbiAgICAgICAgJF9mb250LXNpemUsXG4gICAgICAgICRfY29sb3IsXG4gICAgICAgICRfZm9udC1mYW1pbHksXG4gICAgICAgICRfZm9udC13ZWlnaHQsXG4gICAgICAgICRfbGluZS1oZWlnaHQsXG4gICAgICAgICRfZm9udC1zdHlsZVxuICAgICk7XG59XG5cbkBtaXhpbiBsaWItZm9ybS1oYXNyZXF1aXJlZChcbiAgICAkX3Bvc2l0aW9uICAgIDogJGZvcm0taGFzcmVxdWlyZWRfX3Bvc2l0aW9uLFxuICAgICRfY29sb3IgICAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fY29sb3IsXG4gICAgJF9mb250LXNpemUgICA6ICRmb3JtLWhhc3JlcXVpcmVkX19mb250LXNpemUsXG4gICAgJF9mb250LWZhbWlseSA6ICRmb3JtLWhhc3JlcXVpcmVkX19mb250LWZhbWlseSxcbiAgICAkX2ZvbnQtd2VpZ2h0IDogJGZvcm0taGFzcmVxdWlyZWRfX2ZvbnQtd2VpZ2h0LFxuICAgICRfZm9udC1zdHlsZSAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fZm9udC1zdHlsZSxcbiAgICAkX2xpbmUtaGVpZ2h0IDogJGZvcm0taGFzcmVxdWlyZWRfX2xpbmUtaGVpZ2h0LFxuICAgICRfYm9yZGVyICAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fYm9yZGVyLFxuICAgICRfbWFyZ2luICAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fbWFyZ2luLFxuICAgICRfcGFkZGluZyAgICAgOiAkZm9ybS1oYXNyZXF1aXJlZF9fcGFkZGluZ1xuKSB7XG4gICAgQGlmICRfcG9zaXRpb24gPT0gXCJ0b3BcIiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItZm9ybS1oYXNyZXF1aXJlZC1wb3NpdGlvbi1hbnkoXG4gICAgICAgICAgICAgICAgJF9ib3JkZXIsXG4gICAgICAgICAgICAgICAgJF9tYXJnaW4sXG4gICAgICAgICAgICAgICAgJF9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICRfZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRfY29sb3IsXG4gICAgICAgICAgICAgICAgJF9mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgICAgICRfbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAgICAgJF9mb250LXN0eWxlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRfcG9zaXRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1mb3JtLWhhc3JlcXVpcmVkLXBvc2l0aW9uLWFueShcbiAgICAgICAgICAgICAgICAkX2JvcmRlcixcbiAgICAgICAgICAgICAgICAkX21hcmdpbixcbiAgICAgICAgICAgICAgICAkX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJF9mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgICAgICRfZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAgICAgJF9saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWZvcm0taGFzcmVxdWlyZWQtcG9zaXRpb24tYW55KFxuICAgICRfYm9yZGVyLFxuICAgICRfbWFyZ2luLFxuICAgICRfcGFkZGluZyxcbiAgICAkX2ZvbnQtc2l6ZSxcbiAgICAkX2NvbG9yLFxuICAgICRfZm9udC1mYW1pbHksXG4gICAgJF9mb250LXdlaWdodCxcbiAgICAkX2xpbmUtaGVpZ2h0LFxuICAgICRfZm9udC1zdHlsZVxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYm9yZGVyKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9tYXJnaW4pO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9wYWRkaW5nKTtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtaGFzcmVxdWlyZWQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgQGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG4gICAgICAgICRfZm9udC1zaXplICAgOiAkX2ZvbnQtc2l6ZSxcbiAgICAgICAgJF9jb2xvciAgICAgICA6ICRfY29sb3IsXG4gICAgICAgICRfZm9udC1mYW1pbHkgOiAkX2ZvbnQtZmFtaWx5LFxuICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJF9mb250LXdlaWdodCxcbiAgICAgICAgJF9saW5lLWhlaWdodCA6ICRfbGluZS1oZWlnaHQsXG4gICAgICAgICRfZm9udC1zdHlsZSAgOiAkX2ZvbnQtc3R5bGVcbiAgICApO1xufVxuIiwiLy9cbi8vICBGb3JtIHZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4vL1xuLy8gIEZvcm0gZWxlbWVudHMgaW5wdXRzIGRlZmF1bHQgdmFyaWFibGVzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb3JtLWVsZW1lbnQtaW5wdXQtdHlwZSAgICAgICAgICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7IC8vIFtpbnB1dC10ZXh0fHNlbGVjdHx0ZXh0YXJlYXxpbnB1dC1yYWRpb3xpbnB1dC1jaGVja2JveF1cbiRmb3JtLWVsZW1lbnQtaW5wdXRfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgIDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgOiAjZjJmMmVkICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAwLjJyZW0gc29saWQgJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgOiAwLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X19oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6IDQuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtaW5wdXRfX3dpZHRoICAgICAgICAgICAgICAgICAgICAgIDogMTAwJSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtaW5wdXRfX21hcmdpbiAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X19wYWRkaW5nICAgICAgICAgICAgICAgICAgICA6IDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X192ZXJ0aWNhbC1hbGlnbiAgICAgICAgICAgICA6IGJhc2VsaW5lICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fYmFja2dyb3VuZC1jbGlwICAgICAgICAgICAgOiBwYWRkaW5nLWJveCAhZGVmYXVsdDsgLy8gW2JvcmRlci1ib3h8Y29udGVudC1ib3h8cGFkZGluZy1ib3hdXG4kZm9ybS1lbGVtZW50LWlucHV0X19mb250LXNpemUgICAgICAgICAgICAgICAgICA6ICRmb250LXNpemVfX2Jhc2UgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X19jb2xvciAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgOiAkZm9udC1mYW1pbHlfX2Jhc2UgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X19mb250LXdlaWdodCAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtaW5wdXRfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgIDogMSAhZGVmYXVsdDtcblxuLy8gIFBsYWNlaG9sZGVyXG4kZm9ybS1lbGVtZW50LWlucHV0LXBsYWNlaG9sZGVyX19jb2xvciAgICAgICAgICA6ICRjb2xvci1ncmF5NzYgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0LXBsYWNlaG9sZGVyX19mb250LXN0eWxlICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG5cbi8vICBEaXNhYmxlZCBzdGF0ZVxuJGZvcm0tZWxlbWVudC1pbnB1dF9fZGlzYWJsZWRfX2JhY2tncm91bmQgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fZGlzYWJsZWRfX2JvcmRlciAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X19kaXNhYmxlZF9fb3BhY2l0eSAgICAgICAgICA6IDAuNSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19jb2xvciAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X19kaXNhYmxlZF9fZm9udC1zdHlsZSAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG5cbi8vICBGb2N1cyBzdGF0ZVxuJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9jdXNfX2JhY2tncm91bmQgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9jdXNfX2JvcmRlciAgICAgICAgICAgICAgOiAwLjJyZW0gc29saWQgIzdlODg4OSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvY3VzX19jb2xvciAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LWlucHV0X19mb2N1c19fZm9udC1zdHlsZSAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG5cbi8vICBGb3JtIGVsZW1lbnRzIGNob2ljZSBkZWZhdWx0IHZhcmlhYmxlc1xuJGZvcm0tZWxlbWVudC1jaG9pY2VfX3R5cGUgICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDsgLy8gW3JhZGlvfGNoZWNrYm94XVxuJGZvcm0tZWxlbWVudC1jaG9pY2VfX3ZlcnRpY2FsLWFsaWduICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtY2hvaWNlX19tYXJnaW4gICAgICAgICAgICAgICAgICAgIDogMnB4ICRpbmRlbnRfX3hzIDAgMCAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtY2hvaWNlX19kaXNhYmxlZF9fb3BhY2l0eSAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZGlzYWJsZWRfX29wYWNpdHkgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgSW5wdXQtdGV4dFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaW5wdXQtdGV4dF9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dF9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2JvcmRlciAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0X19ib3JkZXItcmFkaXVzICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0X19oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9faGVpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LXRleHRfX3dpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X193aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0X19tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fbWFyZ2luICFkZWZhdWx0O1xuJGlucHV0LXRleHRfX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19wYWRkaW5nICFkZWZhdWx0O1xuJGlucHV0LXRleHRfX3ZlcnRpY2FsLWFsaWduICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0X19iYWNrZ3JvdW5kLWNsaXAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fYmFja2dyb3VuZC1jbGlwICFkZWZhdWx0OyAvLyBbYm9yZGVyLWJveHxjb250ZW50LWJveHxwYWRkaW5nLWJveF1cbiRpbnB1dC10ZXh0X19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LXRleHRfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0X19mb250LWZhbWlseSAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dF9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LXRleHRfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19mb250LXN0eWxlICFkZWZhdWx0O1xuJGlucHV0LXRleHRfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gIFBsYWNlaG9sZGVyXG4kaW5wdXQtdGV4dC1wbGFjZWhvbGRlcl9fY29sb3IgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXQtcGxhY2Vob2xkZXJfX2NvbG9yICFkZWZhdWx0O1xuJGlucHV0LXRleHQtcGxhY2Vob2xkZXJfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0LXBsYWNlaG9sZGVyX19mb250LXN0eWxlICFkZWZhdWx0O1xuXG4vLyAgRGlzYWJsZWQgc3RhdGVcbiRpbnB1dC10ZXh0X19kaXNhYmxlZF9fYmFja2dyb3VuZCAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZGlzYWJsZWRfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dF9fZGlzYWJsZWRfX2JvcmRlciAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19ib3JkZXIgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dF9fZGlzYWJsZWRfX29wYWNpdHkgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19vcGFjaXR5ICFkZWZhdWx0O1xuJGlucHV0LXRleHRfX2Rpc2FibGVkX19jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19kaXNhYmxlZF9fY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dF9fZGlzYWJsZWRfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19mb250LXN0eWxlICFkZWZhdWx0O1xuXG4vLyAgRm9jdXMgc3RhdGVcbiRpbnB1dC10ZXh0X19mb2N1c19fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9jdXNfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dF9fZm9jdXNfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvY3VzX19ib3JkZXIgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dF9fZm9jdXNfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvY3VzX19jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0X19mb2N1c19fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9jdXNfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgU2VsZWN0XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRzZWxlY3RfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWxlY3RfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyICFkZWZhdWx0O1xuJHNlbGVjdF9fYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHNlbGVjdF9faGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19oZWlnaHQgIWRlZmF1bHQ7XG4kc2VsZWN0X193aWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX3dpZHRoICFkZWZhdWx0O1xuJHNlbGVjdF9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19tYXJnaW4gIWRlZmF1bHQ7XG4kc2VsZWN0X19wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3hzICRpbmRlbnRfX3MgNHB4ICFkZWZhdWx0O1xuJHNlbGVjdF9fdmVydGljYWwtYWxpZ24gICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiRzZWxlY3RfX2JhY2tncm91bmQtY2xpcCAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fYmFja2dyb3VuZC1jbGlwICFkZWZhdWx0OyAvLyBbYm9yZGVyLWJveHxjb250ZW50LWJveHxwYWRkaW5nLWJveF1cbiRzZWxlY3RfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9udC1zaXplICFkZWZhdWx0O1xuJHNlbGVjdF9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3RfX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kc2VsZWN0X19mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHNlbGVjdF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19mb250LXN0eWxlICFkZWZhdWx0O1xuJHNlbGVjdF9fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gIFBsYWNlaG9sZGVyXG4kc2VsZWN0LXBsYWNlaG9sZGVyX19jb2xvciAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHNlbGVjdC1wbGFjZWhvbGRlcl9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gIERpc2FibGVkIHN0YXRlXG4kc2VsZWN0X19kaXNhYmxlZF9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlbGVjdF9fZGlzYWJsZWRfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19kaXNhYmxlZF9fYm9yZGVyICFkZWZhdWx0O1xuJHNlbGVjdF9fZGlzYWJsZWRfX29wYWNpdHkgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19kaXNhYmxlZF9fb3BhY2l0eSAhZGVmYXVsdDtcbiRzZWxlY3RfX2Rpc2FibGVkX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZGlzYWJsZWRfX2NvbG9yICFkZWZhdWx0O1xuJHNlbGVjdF9fZGlzYWJsZWRfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19kaXNhYmxlZF9fZm9udC1zdHlsZSAhZGVmYXVsdDtcblxuLy8gIEZvY3VzIHN0YXRlXG4kc2VsZWN0X19mb2N1c19fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvY3VzX19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlbGVjdF9fZm9jdXNfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19mb2N1c19fYm9yZGVyICFkZWZhdWx0O1xuJHNlbGVjdF9fZm9jdXNfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19mb2N1c19fY29sb3IgIWRlZmF1bHQ7XG4kc2VsZWN0X19mb2N1c19fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvY3VzX19mb250LXN0eWxlICFkZWZhdWx0O1xuXG4vL1xuLy8gIFRleHRhcmVhXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiR0ZXh0YXJlYV9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyICFkZWZhdWx0O1xuJHRleHRhcmVhX19ib3JkZXItcmFkaXVzICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRleHRhcmVhX19oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhdXRvICFkZWZhdWx0O1xuJHRleHRhcmVhX193aWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X193aWR0aCAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGluZGVudF9fcyAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fdmVydGljYWwtYWxpZ24gICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fdmVydGljYWwtYWxpZ24gIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX2JhY2tncm91bmQtY2xpcCAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2JhY2tncm91bmQtY2xpcCAhZGVmYXVsdDsgLy8gW2JvcmRlci1ib3h8Y29udGVudC1ib3h8cGFkZGluZy1ib3hdXG4kdGV4dGFyZWFfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fY29sb3IgIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHRleHRhcmVhX19mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19mb250LXdlaWdodCAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9udC1zdHlsZSAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX3Jlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHZlcnRpY2FsICFkZWZhdWx0OyAvLyBbbm9uZXxib3RofGhvcml6b250YWx8dmVydGljYWx8aW5oZXJpdF1cblxuLy8gIFBsYWNlaG9sZGVyXG4kdGV4dGFyZWEtcGxhY2Vob2xkZXJfX2NvbG9yICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXQtcGxhY2Vob2xkZXJfX2NvbG9yICFkZWZhdWx0O1xuJHRleHRhcmVhLXBsYWNlaG9sZGVyX19mb250LXN0eWxlICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0LXBsYWNlaG9sZGVyX19mb250LXN0eWxlICFkZWZhdWx0O1xuXG4vLyAgRGlzYWJsZWQgc3RhdGVcbiR0ZXh0YXJlYV9fZGlzYWJsZWRfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZGlzYWJsZWRfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX2Rpc2FibGVkX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19ib3JkZXIgIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX2Rpc2FibGVkX19vcGFjaXR5ICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19vcGFjaXR5ICFkZWZhdWx0O1xuJHRleHRhcmVhX19kaXNhYmxlZF9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWlucHV0X19kaXNhYmxlZF9fY29sb3IgIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX2Rpc2FibGVkX19mb250LXN0eWxlICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2Rpc2FibGVkX19mb250LXN0eWxlICFkZWZhdWx0O1xuXG4vLyAgRm9jdXMgc3RhdGVcbiR0ZXh0YXJlYV9fZm9jdXNfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9jdXNfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX2ZvY3VzX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvY3VzX19ib3JkZXIgIWRlZmF1bHQ7XG4kdGV4dGFyZWFfX2ZvY3VzX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2ZvY3VzX19jb2xvciAhZGVmYXVsdDtcbiR0ZXh0YXJlYV9fZm9jdXNfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dF9fZm9jdXNfX2ZvbnQtc3R5bGUgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgUmFkaW9cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGlucHV0LXJhZGlvX192ZXJ0aWNhbC1hbGlnbiAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWNob2ljZV9fdmVydGljYWwtYWxpZ24gIWRlZmF1bHQ7XG4kaW5wdXQtcmFkaW9fX21hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtY2hvaWNlX19tYXJnaW4gIWRlZmF1bHQ7XG5cbiRpbnB1dC1yYWRpb19fZGlzYWJsZWRfX29wYWNpdHkgICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1jaG9pY2VfX2Rpc2FibGVkX19vcGFjaXR5ICFkZWZhdWx0O1xuXG4vL1xuLy8gIENoZWNrYm94XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRpbnB1dC1jaGVja2JveF9fdmVydGljYWwtYWxpZ24gICAgICAgICAgICAgICAgIDogJGZvcm0tZWxlbWVudC1jaG9pY2VfX3ZlcnRpY2FsLWFsaWduICFkZWZhdWx0O1xuJGlucHV0LWNoZWNrYm94X19tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9ybS1lbGVtZW50LWNob2ljZV9fbWFyZ2luICFkZWZhdWx0O1xuXG4kaW5wdXQtY2hlY2tib3hfX2Rpc2FibGVkX19vcGFjaXR5ICAgICAgICAgICAgICA6ICRmb3JtLWVsZW1lbnQtY2hvaWNlX19kaXNhYmxlZF9fb3BhY2l0eSAhZGVmYXVsdDtcblxuLy9cbi8vICBWYWxpZGF0aW9uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb3JtLXZhbGlkYXRpb24tbm90ZV9fY29sb3ItZXJyb3IgICAgICAgICAgICAgIDogJGVycm9yX19jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tbm90ZV9fZm9udC1zaXplICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fcyAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tbm90ZV9fZm9udC1mYW1pbHkgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLW5vdGVfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1ub3RlX19mb250LXdlaWdodCAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tbm90ZV9fbGluZS1oZWlnaHQgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLW5vdGVfX21hcmdpbiAgICAgICAgICAgICAgICAgICA6IDNweCAwIDAgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLW5vdGVfX3BhZGRpbmcgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLW5vdGUtaWNvbl9fdXNlICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtY29udGVudCAgICAgICAgOiAkaWNvbi1wb2ludGVyLXVwICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQgICAgICAgICAgICAgICAgOiAkaWNvbi1mb250ICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtc2l6ZSAgICAgICAgICAgOiAkZm9ybS12YWxpZGF0aW9uLW5vdGVfX2ZvbnQtc2l6ZSAqIDIgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLW5vdGUtaWNvbl9fZm9udC1saW5lLWhlaWdodCAgICA6ICRmb3JtLXZhbGlkYXRpb24tbm90ZV9fZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtY29sb3IgICAgICAgICAgOiAkZm9ybS12YWxpZGF0aW9uLW5vdGVfX2NvbG9yLWVycm9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtY29sb3ItaG92ZXIgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tbm90ZS1pY29uX19mb250LWNvbG9yLWFjdGl2ZSAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLW5vdGUtaWNvbl9fZm9udC1tYXJnaW4gICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1ub3RlLWljb25fX2ZvbnQtdmVydGljYWwtYWxpZ24gOiAkaWNvbi1mb250X192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tbm90ZS1pY29uX19mb250LXBvc2l0aW9uICAgICAgIDogJGljb24tZm9udF9fcG9zaXRpb24gIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLW5vdGUtaWNvbl9fZm9udC10ZXh0LWhpZGUgICAgICA6ICRpY29uLWZvbnRfX3RleHQtaGlkZSAhZGVmYXVsdDtcblxuJGZvcm0tZWxlbWVudC12YWxpZGF0aW9uX19jb2xvci1lcnJvciAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtdmFsaWRhdGlvbl9fY29sb3ItdmFsaWQgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LXZhbGlkYXRpb25fX2JvcmRlci1lcnJvciAgICAgICAgICA6IGxpZ2h0ZW4oJGZvcm0tdmFsaWRhdGlvbi1ub3RlX19jb2xvci1lcnJvciwgMjAlKSAhZGVmYXVsdDtcbiRmb3JtLWVsZW1lbnQtdmFsaWRhdGlvbl9fYm9yZGVyLXZhbGlkICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50LXZhbGlkYXRpb25fX2JhY2tncm91bmQtZXJyb3IgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudC12YWxpZGF0aW9uX19iYWNrZ3JvdW5kLXZhbGlkICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy9cbi8vICBGaWVsZHNldFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZm9ybS1maWVsZHNldF9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZHNldF9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAkaW5kZW50X194bCAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkc2V0X19wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkc2V0LWxlZ2VuZF9fY29sb3IgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZHNldC1sZWdlbmRfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1maWVsZHNldC1sZWdlbmRfX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGRzZXQtbGVnZW5kX19mb250LXdlaWdodCAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkc2V0LWxlZ2VuZF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZHNldC1sZWdlbmRfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICA6IDEuMiAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkc2V0LWxlZ2VuZF9fbWFyZ2luICAgICAgICAgICAgICAgICAgIDogMCAwICRpbmRlbnRfX20gIWRlZmF1bHQ7XG4kZm9ybS1maWVsZHNldC1sZWdlbmRfX3BhZGRpbmcgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZHNldC1sZWdlbmRfX3dpZHRoICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vL1xuLy8gIEZpZWxkXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb3JtLWZpZWxkLXR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYmxvY2sgIWRlZmF1bHQ7IC8vIFtpbmxpbmV8YmxvY2tdXG4kZm9ybS1maWVsZC10eXBlLXJldmVydCAgICAgICAgICAgICAgICAgICAgICAgICA6IGlubGluZSAhZGVmYXVsdDsgLy8gW2lubGluZXxibG9ja3xmYWxzZV1cbiRmb3JtLWZpZWxkX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZF9fdmVydGljYWwtaW5kZW50ICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZF9fYWRkaXRpb25hbC12ZXJ0aWNhbC1pbmRlbnQgICAgICAgICA6ICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnQgLyAyICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtdHlwZS1ibG9ja19fbWFyZ2luICAgICAgICAgICAgICAgICAgOiAwIDAgJGZvcm0tZmllbGRfX3ZlcnRpY2FsLWluZGVudCAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLXR5cGUtaW5saW5lX19tYXJnaW4gICAgICAgICAgICAgICAgIDogMCAwICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnQgIWRlZmF1bHQ7XG5cbiRmb3JtLWZpZWxkLWNvbHVtbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1jb2x1bW5fX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICA6IDAgMTJweCAwIDAgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1jb2x1bW5fX251bWJlciAgICAgICAgICAgICAgICAgICAgICA6IDIgIWRlZmF1bHQ7XG5cbi8vICBGb3JtIGZpZWxkIGxhYmVsXG4kZm9ybS1maWVsZC1sYWJlbF9fYWxpZ24gICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbGFiZWxfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLWxhYmVsX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1sYWJlbF9fZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbGFiZWxfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICAgOiAkZm9udC13ZWlnaHRfX2JvbGQgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1sYWJlbF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbGFiZWxfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX21hcmdpbiAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtaW5saW5lX19wYWRkaW5nLXRvcCAgICAgIDogNnB4ICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX3BhZGRpbmcgICAgICAgICAgOiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fcGFkZGluZy10b3AgMTVweCAwIDAgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fd2lkdGggICAgICAgICAgICA6IDI1LjglICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX2FsaWduICAgICAgICAgICAgOiByaWdodCAhZGVmYXVsdDtcblxuJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1ibG9ja19fbWFyZ2luICAgICAgICAgICAgOiAwIDAgJGluZGVudF9feHMgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC10eXBlLWxhYmVsLWJsb2NrX19wYWRkaW5nICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1ibG9ja19fYWxpZ24gICAgICAgICAgICAgOiAkZm9ybS1maWVsZC1sYWJlbF9fYWxpZ24gIWRlZmF1bHQ7XG5cbi8vICBGb3JtIGZpZWxkIGNvbnRyb2xcbiRmb3JtLWZpZWxkLXR5cGUtY29udHJvbC1pbmxpbmVfX3dpZHRoICAgICAgICAgIDogNzQuMiUgIWRlZmF1bHQ7XG5cbi8vICBGb3JtIGZpZWxkIGxhYmVsIGFzdGVyaXNrXG4kZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fY29sb3IgICAgICAgICAgICAgICA6ICRjb2xvci1yZWQxMCAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19mb250LXNpemUgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fcyAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19mb250LWZhbWlseSAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fZm9udC13ZWlnaHQgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2ZvbnQtc3R5bGUgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19saW5lLWhlaWdodCAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fbWFyZ2luICAgICAgICAgICAgICA6IDAgMCAwICRpbmRlbnRfX3hzICFkZWZhdWx0O1xuXG4vLyAgRm9ybSBmaWVsZCBub3RlXG4kZm9ybS1maWVsZC1ub3RlX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbm90ZV9fZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplX19zICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbm90ZV9fZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLW5vdGVfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1ub3RlX19mb250LXN0eWxlICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbm90ZV9fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLW5vdGVfX21hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgIDogM3B4IDAgMCAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLW5vdGVfX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuLy8gIEZvcm0gZmllbGQgbm90ZSBpY29uXG4kZm9ybS1maWVsZC1ub3RlLWljb24tZm9udCAgICAgICAgICAgICAgICAgICAgICA6ICRpY29uLWZvbnQgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1ub3RlLWljb24tZm9udF9fY29udGVudCAgICAgICAgICAgICA6ICRpY29uLXBvaW50ZXItdXAgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1ub3RlLWljb24tZm9udF9fc2l6ZSAgICAgICAgICAgICAgICA6ICRmb3JtLWZpZWxkLW5vdGVfX2ZvbnQtc2l6ZSAqIDIgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1ub3RlLWljb24tZm9udF9fbGluZS1oZWlnaHQgICAgICAgICA6ICRmb3JtLWZpZWxkLW5vdGVfX2ZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X19jb2xvciAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtbm90ZV9fY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1ub3RlLWljb24tZm9udF9fY29sb3ItaG92ZXIgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbm90ZS1pY29uLWZvbnRfX2NvbG9yLWFjdGl2ZSAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X19tYXJnaW4gICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC1ub3RlLWljb24tZm9udF9fdmVydGljYWwtYWxpZ24gICAgICA6ICRpY29uLWZvbnRfX3ZlcnRpY2FsLWFsaWduICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbm90ZS1pY29uLWZvbnRfX3Bvc2l0aW9uICAgICAgICAgICAgOiAkaWNvbi1mb250X19wb3NpdGlvbiAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLW5vdGUtaWNvbi1mb250X190ZXh0LWhpZGUgICAgICAgICAgIDogJGljb24tZm9udF9fdGV4dC1oaWRlICFkZWZhdWx0O1xuXG4vLyAgSGFzcmVxdWlyZWRcbiRmb3JtLWhhc3JlcXVpcmVkX19wb3NpdGlvbiAgICAgICAgICAgICAgICAgICAgIDogdG9wICFkZWZhdWx0OyAvLyBbdG9wfGJvdHRvbV1cbiRmb3JtLWhhc3JlcXVpcmVkX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2NvbG9yICFkZWZhdWx0O1xuJGZvcm0taGFzcmVxdWlyZWRfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplX19zICFkZWZhdWx0O1xuJGZvcm0taGFzcmVxdWlyZWRfX2ZvbnQtZmFtaWx5ICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWhhc3JlcXVpcmVkX19mb250LXdlaWdodCAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1oYXNyZXF1aXJlZF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGZvcm0taGFzcmVxdWlyZWRfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRmb3JtLWhhc3JlcXVpcmVkX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kZm9ybS1oYXNyZXF1aXJlZF9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3MgMCAwICFkZWZhdWx0O1xuJGZvcm0taGFzcmVxdWlyZWRfX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi5hY3Rpb25zLXRvb2xiYXIge1xuXHQ+IC5wcmltYXJ5LFxuXHQ+IC5zZWNvbmRhcnkge1xuXHRcdG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0LmFjdGlvbiB7XG5cdFx0XHRAZXh0ZW5kIC5hYnMtYnV0dG9uLXJlc3BvbnNpdmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG5cdC5hY3Rpb25zLXRvb2xiYXIge1xuXHRcdEBpbmNsdWRlIGxpYi1hY3Rpb25zLXRvb2xiYXIoKTtcblx0XHQ+IC5zZWNvbmRhcnksXG5cdFx0PiAucHJpbWFyeSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHQuYWN0aW9uIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Zm9ybSB7XG5cdFx0LmFjdGlvbnMtdG9vbGJhciB7XG5cdFx0XHQuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSAmLFxuXHRcdFx0LmNvbHVtbjpub3QoLnNpZGViYXItbWFpbikgJiB7XG5cdFx0XHRcdEBleHRlbmQgLmFicy1tYXJnaW4tZm9yLWZvcm1zLWRlc2t0b3A7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyAgQXV0aG9yOiBSYWZhbCBCcm9taXJza2lcbi8vICB3d3c6IGh0dHA6Ly9yYWZhbGJyb21pcnNraS5jb20vXG4vLyAgZ2l0aHViOiBodHRwOi8vZ2l0aHViLmNvbS9wYXJhbm9pZGEvc2Fzcy1tZWRpYXF1ZXJpZXNcbi8vXG4vLyAgTGljZW5zZWQgdW5kZXIgYSBNSVQgTGljZW5zZVxuLy9cbi8vICBWZXJzaW9uOlxuLy8gIDEuNi4xXG4vLyAtLS0gZ2VuZXJhdG9yIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG1xKCRhcmdzLi4uKSB7XG4gICAgJG1lZGlhLXR5cGU6ICdvbmx5IHNjcmVlbic7XG4gICAgJG1lZGlhLXR5cGUta2V5OiAnbWVkaWEtdHlwZSc7XG4gICAgJGFyZ3M6IGtleXdvcmRzKCRhcmdzKTtcbiAgICAkZXhwcjogJyc7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRhcmdzLCAkbWVkaWEtdHlwZS1rZXkpIHtcbiAgICAgICAgJG1lZGlhLXR5cGU6IG1hcC1nZXQoJGFyZ3MsICRtZWRpYS10eXBlLWtleSk7XG4gICAgICAgICRhcmdzOiBtYXAtcmVtb3ZlKCRhcmdzLCAkbWVkaWEtdHlwZS1rZXkpO1xuICAgIH1cbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGFyZ3Mge1xuICAgICAgICBAaWYgJHZhbHVlIHtcbiAgICAgICAgICAgICRleHByOiBcIiN7JGV4cHJ9IGFuZCAoI3ska2V5fTogI3skdmFsdWV9KVwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlfSAjeyRleHByfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbi8vIC0tLSBzY3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc2NyZWVuKCRtaW4sICRtYXgsICRvcmllbnRhdGlvbjogZmFsc2UpIHtcbiAgICBAaW5jbHVkZSBtcSgkbWluLXdpZHRoOiAkbWluLCAkbWF4LXdpZHRoOiAkbWF4LCAkb3JpZW50YXRpb246ICRvcmllbnRhdGlvbikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gbWF4LXNjcmVlbigkbWF4KSB7XG4gICAgQGluY2x1ZGUgbXEoJG1heC13aWR0aDogJG1heCAtIDEpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuQG1peGluIG1pbi1zY3JlZW4oJG1pbikge1xuICAgIEBpbmNsdWRlIG1xKCRtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuQG1peGluIHNjcmVlbi1oZWlnaHQoJG1pbiwgJG1heCwgJG9yaWVudGF0aW9uOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIG1xKCRtaW4taGVpZ2h0OiAkbWluLCAkbWF4LWhlaWdodDogJG1heCwgJG9yaWVudGF0aW9uOiAkb3JpZW50YXRpb24pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuQG1peGluIG1heC1zY3JlZW4taGVpZ2h0KCRtYXgpIHtcbiAgICBAaW5jbHVkZSBtcSgkbWF4LWhlaWdodDogJG1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gbWluLXNjcmVlbi1oZWlnaHQoJG1pbikge1xuICAgIEBpbmNsdWRlIG1xKCRtaW4taGVpZ2h0OiAkbWluKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gLS0tIG9yaWVudGF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBsYW5kc2NhcGUoKSB7XG4gICAgQGluY2x1ZGUgbXEoJG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuQG1peGluIHBvcnRyYWl0KCkge1xuICAgIEBpbmNsdWRlIG1xKCRvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy9cbi8vICBBY3Rpb25zLXRvb2xiYXJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQG1peGluIGxpYi1hY3Rpb25zLXRvb2xiYXIoXG4gICAgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wb3NpdGlvbiAgICAgICAgICAgICAgICAgICA6IGp1c3RpZnksXG4gICAgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1yZXZlcnNlICAgICAgICAgICAgICAgICAgICA6IGZhbHNlLFxuICAgICRfYWN0aW9ucy10b29sYmFyLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAkX2FjdGlvbnMtdG9vbGJhci1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UsXG4gICAgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1tYXJnaW4gICAgICAgICAgICAgICAgICAgICA6IGZhbHNlLFxuICAgICRfYWN0aW9ucy10b29sYmFyLXByaW1hcnktYWN0aW9ucy1tYXJnaW4gICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAkX2FjdGlvbnMtdG9vbGJhci1zZWNvbmRhcnktYWN0aW9ucy1tYXJnaW4gICAgICAgICAgIDogZmFsc2UsXG4gICAgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wICAgICAgICAgICA6IGZhbHNlLFxuICAgICRfYWN0aW9ucy10b29sYmFyLXByaW1hcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wICAgOiBmYWxzZSxcbiAgICAkX2FjdGlvbnMtdG9vbGJhci1zZWNvbmRhcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wIDogNnB4XG4pIHtcbiAgICBAaW5jbHVkZSBsaWItY2xlYXJmaXgoKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9hY3Rpb25zLXRvb2xiYXItbWFyZ2luKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfYWN0aW9ucy10b29sYmFyLXBhZGRpbmcpO1xuICAgIEBpbmNsdWRlIF9saWItYWN0aW9ucy10b29sYmFyLWFsaWduKCRfYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcG9zaXRpb24pO1xuICAgIEBpbmNsdWRlIF9saWItYWN0aW9ucy10b29sYmFyLWZsb2F0cygkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXBvc2l0aW9uLCAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXJldmVyc2UpO1xuICAgIC5wcmltYXJ5LFxuICAgIC5zZWNvbmRhcnkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1tYXJnaW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgYS5hY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaW1hcnkge1xuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAkX2FjdGlvbnMtdG9vbGJhci1wcmltYXJ5LWFjdGlvbnMtbWFyZ2luKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEuYWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJF9hY3Rpb25zLXRvb2xiYXItcHJpbWFyeS1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeSB7XG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfYWN0aW9ucy10b29sYmFyLXNlY29uZGFyeS1hY3Rpb25zLW1hcmdpbik7XG4gICAgICAgIH1cblxuICAgICAgICBhLmFjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfYWN0aW9ucy10b29sYmFyLXNlY29uZGFyeS1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIEFjdGlvbnMtdG9vbGJhci1jbGVhci1mbG9hdHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpYi1hY3Rpb25zLXRvb2xiYXItY2xlYXItZmxvYXRzKCkge1xuICAgIC5wcmltYXJ5LFxuICAgIC5zZWNvbmRhcnkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vL1xuLy8gIEludGVybmFsIHVzZSBtaXhpbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIF9saWItYWN0aW9ucy10b29sYmFyLWFsaWduKCRfYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcG9zaXRpb24pIHtcbiAgICBAaWYgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wb3NpdGlvbiAhPSBqdXN0aWZ5IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWFsaWduLCAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXBvc2l0aW9uKTtcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWFjdGlvbnMtdG9vbGJhci1mbG9hdHMoXG4gICAgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wb3NpdGlvbixcbiAgICAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXJldmVyc2Vcbikge1xuICAgIEBpZiAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXBvc2l0aW9uID09IGp1c3RpZnkge1xuICAgICAgICBAaWYgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1yZXZlcnNlIHtcbiAgICAgICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAucHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGlmICRfYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcmV2ZXJzZSB7XG4gICAgICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAucHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpZiAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXJldmVyc2Uge1xuICAgICAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICAgICAucHJpbWFyeSxcbiAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBsaWItYnJlYWRjcnVtYnMoKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1ic19fYmFja2dyb3VuZDtcblxuICAgIC5pdGVtcyB7XG4gICAgICBtYXgtd2lkdGg6ICRsYXlvdXRfX21heC13aWR0aDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMC44cmVtIDJyZW07XG5cbiAgICAgICYgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIEJyZWFkY3J1bWJzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBtaXhpbiBsaWItYnJlYWRjcnVtYnMoXG4gICAgJF9icmVhZGNydW1icy1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnNfX2ZvbnQtc2l6ZSxcbiAgICAkX2JyZWFkY3J1bWJzLWRpc3BsYXkgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRicmVhZGNydW1ic19fZGlzcGxheSxcbiAgICAkX2JyZWFkY3J1bWJzLWNvbnRhaW5lci1tYXJnaW4gICAgICAgICAgICAgICAgICA6ICRicmVhZGNydW1ic19fY29udGFpbmVyLW1hcmdpbixcbiAgICAkX2JyZWFkY3J1bWJzLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRicmVhZGNydW1ic19fcGFkZGluZyxcblxuICAgIC8vICBCcmVhZGNydW1icyBzZXBhcmF0aW5nIHN5bWJvbFxuICAgICRfYnJlYWRjcnVtYnMtc2VwYXJhdG9yLXN5bWJvbCAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLXNlcGFyYXRvcl9fc3ltYm9sLFxuICAgICRfYnJlYWRjcnVtYnMtc2VwYXJhdG9yLWNvbG9yICAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLXNlcGFyYXRvcl9fY29sb3IsXG5cbiAgICAvLyAgVXNlIGljb24gYXMgYSBzZXBhcmF0aW5nIHN5bWJvbFxuICAgICRfYnJlYWRjcnVtYnMtaWNvbi11c2UgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWljb25fX3VzZSxcbiAgICAkX2JyZWFkY3J1bWJzLWljb24tZm9udC1jb250ZW50ICAgICAgICAgICAgICAgICA6ICRicmVhZGNydW1icy1pY29uX19mb250LWNvbnRlbnQsXG4gICAgJF9pY29uLWZvbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtaWNvbl9fZm9udCxcbiAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRicmVhZGNydW1icy1pY29uX19mb250LXNpemUsXG4gICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtaWNvbl9fZm9udC1saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRicmVhZGNydW1icy1pY29uX19mb250LWNvbG9yLFxuICAgICRfaWNvbi1mb250LW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWljb25fX2ZvbnQtbWFyZ2luLFxuICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduICAgICAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWljb25fX2ZvbnQtdmVydGljYWwtYWxpZ24sXG5cbiAgICAvLyAgQnJlYWRjcnVtYnMgY3VycmVudFxuICAgICRfYnJlYWRjcnVtYnMtY3VycmVudC1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2NvbG9yLFxuICAgICRfYnJlYWRjcnVtYnMtY3VycmVudC1mb250LXdlaWdodCAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2ZvbnQtd2VpZ2h0LFxuICAgICRfYnJlYWRjcnVtYnMtY3VycmVudC1iYWNrZ3JvdW5kICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2JhY2tncm91bmQsXG4gICAgJF9icmVhZGNydW1icy1jdXJyZW50LWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtY3VycmVudF9fYm9yZGVyLFxuICAgICRfYnJlYWRjcnVtYnMtY3VycmVudC1ncmFkaWVudCAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2dyYWRpZW50LFxuICAgICRfYnJlYWRjcnVtYnMtY3VycmVudC1ncmFkaWVudC1kaXJlY3Rpb24gICAgICAgIDogJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2dyYWRpZW50LWRpcmVjdGlvbixcbiAgICAkX2JyZWFkY3J1bWJzLWN1cnJlbnQtZ3JhZGllbnQtY29sb3Itc3RhcnQgICAgICA6ICRicmVhZGNydW1icy1jdXJyZW50X19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX2JyZWFkY3J1bWJzLWN1cnJlbnQtZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICA6ICRicmVhZGNydW1icy1jdXJyZW50X19ncmFkaWVudC1jb2xvci1lbmQsXG5cbiAgICAvLyAgQnJlYWRjcnVtYnMgbGluayAtIGdyYWRpZW50XG4gICAgJF9icmVhZGNydW1icy1saW5rLWdyYWRpZW50ICAgICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fZ3JhZGllbnQsXG4gICAgJF9icmVhZGNydW1icy1saW5rLWdyYWRpZW50LWRpcmVjdGlvbiAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fZ3JhZGllbnQtZGlyZWN0aW9uLFxuXG4gICAgLy8gIEJyZWFkY3J1bWJzIGxpbmsgY29sb3IgLSBkZWZhdWx0XG4gICAgJF9icmVhZGNydW1icy1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fY29sb3IsXG4gICAgJF9icmVhZGNydW1icy1saW5rLWJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fYmFja2dyb3VuZCxcbiAgICAkX2JyZWFkY3J1bWJzLWxpbmstYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICA6ICRicmVhZGNydW1icy1saW5rX19ib3JkZXIsXG4gICAgJF9icmVhZGNydW1icy1saW5rLXRleHQtZGVjb3JhdGlvbiAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fdGV4dC1kZWNvcmF0aW9uLFxuICAgICRfYnJlYWRjcnVtYnMtbGluay1ncmFkaWVudC1jb2xvci1zdGFydCAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX2dyYWRpZW50LWNvbG9yLXN0YXJ0LFxuICAgICRfYnJlYWRjcnVtYnMtbGluay1ncmFkaWVudC1jb2xvci1lbmQgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX2dyYWRpZW50LWNvbG9yLWVuZCxcblxuICAgIC8vICBCcmVhZGNydW1icyBsaW5rIC0gdmlzaXRlZFxuICAgICRfYnJlYWRjcnVtYnMtbGluay1jb2xvci12aXNpdGVkICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX3Zpc2l0ZWRfX2NvbG9yLFxuICAgICRfYnJlYWRjcnVtYnMtbGluay1iYWNrZ3JvdW5kLXZpc2l0ZWQgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX3Zpc2l0ZWRfX2JhY2tncm91bmQsXG4gICAgJF9icmVhZGNydW1icy1saW5rLWJvcmRlci12aXNpdGVkICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fdmlzaXRlZF9fYm9yZGVyLFxuICAgICRfYnJlYWRjcnVtYnMtbGluay10ZXh0LWRlY29yYXRpb24tdmlzaXRlZCAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX3Zpc2l0ZWRfX3RleHQtZGVjb3JhdGlvbixcbiAgICAkX2JyZWFkY3J1bWJzLWxpbmstZ3JhZGllbnQtY29sb3Itc3RhcnQtdmlzaXRlZCA6ICRicmVhZGNydW1icy1saW5rX192aXNpdGVkX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX2JyZWFkY3J1bWJzLWxpbmstZ3JhZGllbnQtY29sb3ItZW5kLXZpc2l0ZWQgICA6ICRicmVhZGNydW1icy1saW5rX192aXNpdGVkX19ncmFkaWVudC1jb2xvci1lbmQsXG5cbiAgICAvLyAgQnJlYWRjcnVtYnMgbGluayAtIGhvdmVyXG4gICAgJF9icmVhZGNydW1icy1saW5rLWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19faG92ZXJfX2NvbG9yLFxuICAgICRfYnJlYWRjcnVtYnMtbGluay1iYWNrZ3JvdW5kLWhvdmVyICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX2hvdmVyX19iYWNrZ3JvdW5kLFxuICAgICRfYnJlYWRjcnVtYnMtbGluay1ib3JkZXItaG92ZXIgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX2hvdmVyX19ib3JkZXIsXG4gICAgJF9icmVhZGNydW1icy1saW5rLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19faG92ZXJfX3RleHQtZGVjb3JhdGlvbixcbiAgICAkX2JyZWFkY3J1bWJzLWxpbmstZ3JhZGllbnQtY29sb3Itc3RhcnQtaG92ZXIgICA6ICRicmVhZGNydW1icy1saW5rX19ob3Zlcl9fZ3JhZGllbnQtY29sb3Itc3RhcnQsXG4gICAgJF9icmVhZGNydW1icy1saW5rLWdyYWRpZW50LWNvbG9yLWVuZC1ob3ZlciAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19faG92ZXJfX2dyYWRpZW50LWNvbG9yLWVuZCxcblxuICAgIC8vICBCcmVhZGNydW1icyBsaW5rIC0gYWN0aXZlXG4gICAgJF9icmVhZGNydW1icy1saW5rLWNvbG9yLWFjdGl2ZSAgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fYWN0aXZlX19jb2xvcixcbiAgICAkX2JyZWFkY3J1bWJzLWxpbmstYmFja2dyb3VuZC1hY3RpdmUgICAgICAgICAgICA6ICRicmVhZGNydW1icy1saW5rX19hY3RpdmVfX2JhY2tncm91bmQsXG4gICAgJF9icmVhZGNydW1icy1saW5rLWJvcmRlci1hY3RpdmUgICAgICAgICAgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fYWN0aXZlX19ib3JkZXIsXG4gICAgJF9icmVhZGNydW1icy1saW5rLXRleHQtZGVjb3JhdGlvbi1hY3RpdmUgICAgICAgOiAkYnJlYWRjcnVtYnMtbGlua19fYWN0aXZlX190ZXh0LWRlY29yYXRpb24sXG4gICAgJF9icmVhZGNydW1icy1saW5rLWdyYWRpZW50LWNvbG9yLXN0YXJ0LWFjdGl2ZSAgOiAkYnJlYWRjcnVtYnMtbGlua19fYWN0aXZlX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX2JyZWFkY3J1bWJzLWxpbmstZ3JhZGllbnQtY29sb3ItZW5kLWFjdGl2ZSAgICA6ICRicmVhZGNydW1icy1saW5rX19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLWVuZFxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfYnJlYWRjcnVtYnMtY29udGFpbmVyLW1hcmdpbik7XG4gICAgLml0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgkX2JyZWFkY3J1bWJzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfYnJlYWRjcnVtYnMtY3VycmVudC1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1saXN0LWlubGluZSgpO1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfYnJlYWRjcnVtYnMtbGluay1iYWNrZ3JvdW5kKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYnJlYWRjcnVtYnMtbGluay1ib3JkZXIpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2JyZWFkY3J1bWJzLWxpbmstY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGRpc3BsYXksICRfYnJlYWRjcnVtYnMtZGlzcGxheSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9icmVhZGNydW1icy1wYWRkaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfYnJlYWRjcnVtYnMtbGluay10ZXh0LWRlY29yYXRpb24pO1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfYnJlYWRjcnVtYnMtbGluay1iYWNrZ3JvdW5kLXZpc2l0ZWQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYnJlYWRjcnVtYnMtbGluay1ib3JkZXItdmlzaXRlZCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2JyZWFkY3J1bWJzLWxpbmstY29sb3ItdmlzaXRlZCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtZGVjb3JhdGlvbiwgJF9icmVhZGNydW1icy1saW5rLXRleHQtZGVjb3JhdGlvbi12aXNpdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2JyZWFkY3J1bWJzLWxpbmstYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9icmVhZGNydW1icy1saW5rLWJvcmRlci1ob3Zlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2JyZWFkY3J1bWJzLWxpbmstY29sb3ItaG92ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfYnJlYWRjcnVtYnMtbGluay10ZXh0LWRlY29yYXRpb24taG92ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2JyZWFkY3J1bWJzLWxpbmstYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYnJlYWRjcnVtYnMtbGluay1ib3JkZXItYWN0aXZlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfYnJlYWRjcnVtYnMtbGluay1jb2xvci1hY3RpdmUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfYnJlYWRjcnVtYnMtbGluay10ZXh0LWRlY29yYXRpb24tYWN0aXZlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9icmVhZGNydW1icy1jdXJyZW50LWJhY2tncm91bmQpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9icmVhZGNydW1icy1jdXJyZW50LWJvcmRlcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZGlzcGxheSwgJF9icmVhZGNydW1icy1kaXNwbGF5KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJF9icmVhZGNydW1icy1jdXJyZW50LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX2JyZWFkY3J1bWJzLXBhZGRpbmcpO1xuICAgIH1cblxuICAgIC8vIEluc2VydCBzZXBhcmF0aW5nIHN5bWJvbCB0byBcImNvbnRlbnRcIlxuICAgIEBpZiAkX2JyZWFkY3J1bWJzLXNlcGFyYXRvci1zeW1ib2wgIT0gJycgYW5kICRfYnJlYWRjcnVtYnMtc2VwYXJhdG9yLXN5bWJvbCAhPSBmYWxzZSB7XG4gICAgICAgIC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9icmVhZGNydW1icy1zZXBhcmF0b3ItY29sb3IpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29udGVudCwgJF9icmVhZGNydW1icy1zZXBhcmF0b3Itc3ltYm9sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBmb250IGljb24gYXMgYSBzZXBhcmF0aW5nIHN5bWJvbFxuICAgIEBpZiAkX2JyZWFkY3J1bWJzLWljb24tdXNlIHtcbiAgICAgICAgLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQ6ICRfYnJlYWRjcnVtYnMtaWNvbi1mb250LWNvbnRlbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQ6ICRfaWNvbi1mb250LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemU6ICRfaWNvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQ6ICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yOiAkX2ljb24tZm9udC1jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW46ICRfaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbjogJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb246IGFmdGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBCcmVhZGNydW1icyB2YXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGJyZWFkY3J1bWJzX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fcyAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19fZGlzcGxheSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX19jb250YWluZXItbWFyZ2luICAgICAgICAgICAgICAgICAgIDogMCAwICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWJzLWljb25fX3VzZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1pY29uX19mb250LWNvbnRlbnQgICAgICAgICAgICAgICAgICA6ICRpY29uLW5leHQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaWNvbl9fZm9udCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkaWNvbi1mb250ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWljb25fX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgIDogMjRweCAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1pY29uX19mb250LWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaWNvbl9fZm9udC1jb2xvciAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1pY29uX19mb250LW1hcmdpbiAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaWNvbl9fZm9udC12ZXJ0aWNhbC1hbGlnbiAgICAgICAgICAgOiB0b3AgIWRlZmF1bHQ7XG5cbi8vICBDdXJyZW50IHBhZ2VcbiRicmVhZGNydW1icy1jdXJyZW50X19jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1ncmF5NjQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtY3VycmVudF9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgOiAkZm9udC13ZWlnaHRfX3JlZ3VsYXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtY3VycmVudF9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1jdXJyZW50X19ib3JkZXIgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAgQ3VycmVudCBwYWdlIC0gZ3JhZGllbnQgYmFja2dyb3VuZFxuJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2dyYWRpZW50ICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtY3VycmVudF9fZ3JhZGllbnQtZGlyZWN0aW9uICAgICAgICAgOiB2ZXJ0aWNhbCAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1jdXJyZW50X19ncmFkaWVudC1jb2xvci1zdGFydCAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2dyYWRpZW50LWNvbG9yLWVuZCAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1icy1zZXBhcmF0b3JfX3N5bWJvbCAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLXNlcGFyYXRvcl9fY29sb3IgICAgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWN1cnJlbnRfX2NvbG9yICFkZWZhdWx0O1xuXG4vL1xuLy8gIExpbmtcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gIEdyYWRpZW50XG4kYnJlYWRjcnVtYnMtbGlua19fZ3JhZGllbnQgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDsgLy8gW3RydWV8ZmFsc2VdXG4kYnJlYWRjcnVtYnMtbGlua19fZ3JhZGllbnQtZGlyZWN0aW9uICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDsgLy8gW3RydWV8ZmFsc2VdXG5cbiRicmVhZGNydW1icy1saW5rX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWxpbmtfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtbGlua19fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWxpbmtfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtbGlua19fZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gIFZpc2l0ZWRcbiRicmVhZGNydW1icy1saW5rX192aXNpdGVkX19jb2xvciAgICAgICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX192aXNpdGVkX19iYWNrZ3JvdW5kICAgICAgICAgICA6ICRicmVhZGNydW1icy1saW5rX19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWxpbmtfX3Zpc2l0ZWRfX2JvcmRlciAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX2JvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX192aXNpdGVkX190ZXh0LWRlY29yYXRpb24gICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtbGlua19fdmlzaXRlZF9fZ3JhZGllbnQtY29sb3Itc3RhcnQgOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX192aXNpdGVkX19ncmFkaWVudC1jb2xvci1lbmQgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAgSG92ZXJcbiRicmVhZGNydW1icy1saW5rX19ob3Zlcl9fY29sb3IgICAgICAgICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX19ob3Zlcl9fYmFja2dyb3VuZCAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWxpbmtfX2hvdmVyX19ib3JkZXIgICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX2JvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uICAgICAgICA6IHVuZGVybGluZSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX19ob3Zlcl9fZ3JhZGllbnQtY29sb3Itc3RhcnQgICA6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWxpbmtfX2hvdmVyX19ncmFkaWVudC1jb2xvci1lbmQgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vICBBY3RpdmVcbiRicmVhZGNydW1icy1saW5rX19hY3RpdmVfX2NvbG9yICAgICAgICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX19hY3RpdmVfX2JhY2tncm91bmQgICAgICAgICAgICA6ICRicmVhZGNydW1icy1saW5rX19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWxpbmtfX2FjdGl2ZV9fYm9yZGVyICAgICAgICAgICAgICAgIDogJGJyZWFkY3J1bWJzLWxpbmtfX2JvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX19hY3RpdmVfX3RleHQtZGVjb3JhdGlvbiAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtbGlua19fYWN0aXZlX19ncmFkaWVudC1jb2xvci1zdGFydCAgOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1saW5rX19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLWVuZCAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vICBJY29ucyB2YXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGljb25fX3Bvc2l0aW9uICAgICAgICAgICAgOiBiZWZvcmUgIWRlZmF1bHQ7XG4kaWNvbl9fdGV4dC1oaWRlICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGljb25fX2hlaWdodCAgICAgICAgICAgICAgOiAyNnB4ICFkZWZhdWx0O1xuJGljb25fX3dpZHRoICAgICAgICAgICAgICAgOiAyNnB4ICFkZWZhdWx0O1xuJGljb25fX21hcmdpbiAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRpY29uX192ZXJ0aWNhbC1hbGlnbiAgICAgIDogbWlkZGxlICFkZWZhdWx0O1xuXG4kaWNvbi1pbWFnZV9fcG9zaXRpb24teCAgICA6IDAgIWRlZmF1bHQ7XG4kaWNvbi1pbWFnZV9fcG9zaXRpb24teSAgICA6IDAgIWRlZmF1bHQ7XG5cbiRpY29uLXNwcml0ZV9fcG9zaXRpb24teCAgIDogMCAhZGVmYXVsdDtcbiRpY29uLXNwcml0ZV9fcG9zaXRpb24teSAgIDogMCAhZGVmYXVsdDtcbiRpY29uLXNwcml0ZV9fZ3JpZCAgICAgICAgIDogMjZweCAhZGVmYXVsdDtcblxuJGljb24tZm9udCAgICAgICAgICAgICAgICAgOiAkaWNvbnNfX2ZvbnQtbmFtZSAhZGVmYXVsdDtcbiRpY29uLWZvbnRfX3Bvc2l0aW9uICAgICAgIDogJGljb25fX3Bvc2l0aW9uICFkZWZhdWx0O1xuJGljb24tZm9udF9fdGV4dC1oaWRlICAgICAgOiAkaWNvbl9fdGV4dC1oaWRlICFkZWZhdWx0O1xuJGljb24tZm9udF9fbWFyZ2luICAgICAgICAgOiAkaWNvbl9fbWFyZ2luICFkZWZhdWx0O1xuJGljb24tZm9udF9fc2l6ZSAgICAgICAgICAgOiBpbmhlcml0ICFkZWZhdWx0O1xuJGljb24tZm9udF9fbGluZS1oZWlnaHQgICAgOiAkaWNvbi1mb250X19zaXplICFkZWZhdWx0O1xuJGljb24tZm9udF9fY29sb3IgICAgICAgICAgOiBpbmhlcml0ICFkZWZhdWx0O1xuJGljb24tZm9udF9fY29sb3ItaG92ZXIgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRpY29uLWZvbnRfX2NvbG9yLWFjdGl2ZSAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaWNvbi1mb250X192ZXJ0aWNhbC1hbGlnbiA6ICRpY29uX192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiRpY29uLWZvbnRfX2Rpc3BsYXkgICAgICAgIDogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuXG4kaWNvbi1jYWxlbmRhcl9fZm9udC1zaXplICA6IDQwcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyAgVmFyaWFibGVzIGZvciBpY29uIGZvbnRcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGljb24td2lzaGxpc3QtZnVsbCAgICAgICAgOiAnXFxlNjAwJyAhZGVmYXVsdDtcbiRpY29uLXdpc2hsaXN0LWVtcHR5ICAgICAgIDogJ1xcZTkwNCcgIWRlZmF1bHQ7XG4kaWNvbi13YXJuaW5nICAgICAgICAgICAgICA6ICdcXGU2MDInICFkZWZhdWx0O1xuJGljb24tdXBkYXRlICAgICAgICAgICAgICAgOiAnXFxlNjAzJyAhZGVmYXVsdDtcbiRpY29uLXRyYXNoICAgICAgICAgICAgICAgIDogJ1xcZTYwNCcgIWRlZmF1bHQ7XG4kaWNvbi1zdGFyICAgICAgICAgICAgICAgICA6ICdcXGU2MDUnICFkZWZhdWx0O1xuJGljb24tc3Rhci1lbXB0eSAgICAgICAgICAgOiAnXFxlNjI1JyAhZGVmYXVsdDtcbiRpY29uLXNldHRpbmdzICAgICAgICAgICAgIDogJ1xcZTYwNicgIWRlZmF1bHQ7XG4kaWNvbi1wb2ludGVyLWRvd24gICAgICAgICA6ICdcXGU2MDcnICFkZWZhdWx0O1xuJGljb24tbmV4dCAgICAgICAgICAgICAgICAgOiAnXFxlNjA4JyAhZGVmYXVsdDtcbiRpY29uLW1lbnUgICAgICAgICAgICAgICAgIDogJ1xcZTYwOScgIWRlZmF1bHQ7XG4kaWNvbi1sb2NhdGlvbiAgICAgICAgICAgICA6ICdcXGU2MGEnICFkZWZhdWx0O1xuJGljb24tbGlzdCAgICAgICAgICAgICAgICAgOiAnXFxlNjBiJyAhZGVmYXVsdDtcbiRpY29uLWluZm8gICAgICAgICAgICAgICAgIDogJ1xcZTYwYycgIWRlZmF1bHQ7XG4kaWNvbi1ncmlkICAgICAgICAgICAgICAgICA6ICdcXGU2MGQnICFkZWZhdWx0O1xuJGljb24tY29tbWVudC1yZWZsZWN0ZWQgICAgOiAnXFxlOTA2JyAhZGVmYXVsdDtcbiRpY29uLWNvbGxhcHNlICAgICAgICAgICAgIDogJ1xcZTYwZicgIWRlZmF1bHQ7XG4kaWNvbi1jaGVja21hcmsgICAgICAgICAgICA6ICdcXGU2MTAnICFkZWZhdWx0O1xuJGljb24tY2FydCAgICAgICAgICAgICAgICAgOiAnXFxlNjExJyAhZGVmYXVsdDtcbiRpY29uLWNhbGVuZGFyICAgICAgICAgICAgIDogJ1xcZTYxMicgIWRlZmF1bHQ7XG4kaWNvbi1hcnJvdy11cCAgICAgICAgICAgICA6ICdcXGU2MTMnICFkZWZhdWx0O1xuJGljb24tYXJyb3ctZG93biAgICAgICAgICAgOiAnXFxlNjE0JyAhZGVmYXVsdDtcbiRpY29uLXNlYXJjaCAgICAgICAgICAgICAgIDogJ1xcZTYxNScgIWRlZmF1bHQ7XG4kaWNvbi1yZW1vdmUgICAgICAgICAgICAgICA6ICdcXGU2MTYnICFkZWZhdWx0O1xuJGljb24tcHJldiAgICAgICAgICAgICAgICAgOiAnXFxlNjE3JyAhZGVmYXVsdDtcbiRpY29uLXBvaW50ZXItdXAgICAgICAgICAgIDogJ1xcZTYxOCcgIWRlZmF1bHQ7XG4kaWNvbi1wb2ludGVyLXJpZ2h0ICAgICAgICA6ICdcXGU2MTknICFkZWZhdWx0O1xuJGljb24tcG9pbnRlci1sZWZ0ICAgICAgICAgOiAnXFxlNjFhJyAhZGVmYXVsdDtcbiRpY29uLWZsYWcgICAgICAgICAgICAgICAgIDogJ1xcZTYxYicgIWRlZmF1bHQ7XG4kaWNvbi1leHBhbmQgICAgICAgICAgICAgICA6ICdcXGU2MWMnICFkZWZhdWx0O1xuJGljb24tZW52ZWxvcGUgICAgICAgICAgICAgOiAnXFxlOTA3JyAhZGVmYXVsdDtcbiRpY29uLWNvbXBhcmUtZnVsbCAgICAgICAgIDogJ1xcZTYxZScgIWRlZmF1bHQ7XG4kaWNvbi1jb21wYXJlLWVtcHR5ICAgICAgICA6ICdcXGU5MDUnICFkZWZhdWx0O1xuJGljb24tY29tbWVudCAgICAgICAgICAgICAgOiAnXFxlNjIwJyAhZGVmYXVsdDtcbiRpY29uLXVwICAgICAgICAgICAgICAgICAgIDogJ1xcZTYyMScgIWRlZmF1bHQ7XG4kaWNvbi1kb3duICAgICAgICAgICAgICAgICA6ICdcXGU2MjInICFkZWZhdWx0O1xuJGljb24taGVscCAgICAgICAgICAgICAgICAgOiAnXFxlNjIzJyAhZGVmYXVsdDtcbiRpY29uLWFjY291bnQgICAgICAgICAgICAgIDogJ1xcZTYyNycgIWRlZmF1bHQ7XG4kaWNvbi1naWZ0LXJlZ2lzdHJ5ICAgICAgICA6ICdcXGU2MmInICFkZWZhdWx0O1xuJGljb24tcHJlc2VudCAgICAgICAgICAgICAgOiAnXFxlNjJhJyAhZGVmYXVsdDtcblxuLy8gQmVsb3cgQmxhbmsgZGVmYXVsdHMgYXJlIGN1cnJlbnRseSBtaXNzaW5nIGZyb20gb3VyIGN1c3RvbSBpY29uIGZvbnRcbiRpY29uLWFycm93LXJpZ2h0LXRoaW4gICAgIDogJ1xcZTkwZCcgIWRlZmF1bHQ7XG4kaWNvbi1hcnJvdy1sZWZ0LXRoaW4gICAgICA6ICdcXGU5MDknICFkZWZhdWx0O1xuJGljb24tYXJyb3ctZG93bi10aGluICAgICAgOiAnXFxlOTA4JyAhZGVmYXVsdDtcbiRpY29uLWFycm93LXVwLXRoaW4gICAgICAgIDogJ1xcZTkwZScgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbSBpY29ucywgc29tZSBuZXcsIHNvbWUgdmFyaWFudHMgb24gZXhpc3Rpbmcgb25lc1xuJGljb24tbWFpbCAgICAgICAgICAgICAgICAgOiAnXFxlOTBjJztcbiRpY29uLWVudmVsb3BlLWx1bWEgICAgICAgIDogJ1xcZTYxZCc7XG4kaWNvbi1waG9uZSAgICAgICAgICAgICAgICA6ICdcXGU5MGInO1xuJGljb24tY2hlY2tlZCAgICAgICAgICAgICAgOiAnXFxlOTAxJztcbiRpY29uLWRlbGV0ZSAgICAgICAgICAgICAgIDogJ1xcZTkwMic7XG4kaWNvbi1lZGl0LWx1bWEgICAgICAgICAgICA6ICdcXGU2MDEnO1xuJGljb24tZWRpdCAgICAgICAgICAgICAgICAgOiAnXFxlOTAzJztcbiRpY29uLXNob3BwaW5nLWNhcnQgICAgICAgIDogJ1xcZTkwYSc7XG4kaWNvbi10b29sdGlwICAgICAgICAgICAgICA6ICdcXGU5MDAnO1xuJGljb24tcHJpdmF0ZSAgICAgICAgICAgICAgOiAnXFxlNjI5JztcbiRpY29uLWRvd25sb2FkICAgICAgICAgICAgIDogJ1xcZTYyNic7XG4kaWNvbi11bmRvICAgICAgICAgICAgICAgICA6ICdcXGU2MjgnO1xuJGljb24tcHJpbnQgICAgICAgICAgICAgICAgOiAnXFxlNjI0JztcbiRpY29uLXN1Y2Nlc3MgICAgICAgICAgICAgIDogJ1xcZTYwZSc7XG4kaWNvbi1lcnJvciAgICAgICAgICAgICAgICA6ICdcXGU2MWYnO1xuJGljb24tbG9nb3V0ICAgICAgICAgICAgICAgOiAnXFxlOTBmJztcbiRpY29uLWZpbHRlciAgICAgICAgICAgICAgIDogJ1xcZTkxMCc7XG4iLCIvL1xuLy8gIEljb25zXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgSWNvbnMgdXNpbmcgZm9udFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWljb24tZm9udChcbiAgICAkX2ljb24tZm9udC1jb250ZW50LFxuICAgICRfaWNvbi1mb250ICAgICAgICAgICAgICAgIDogJGljb24tZm9udCxcbiAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6ICRpY29uLWZvbnRfX3NpemUsXG4gICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgOiAkaWNvbi1mb250X19saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgICA6ICRpY29uLWZvbnRfX2NvbG9yLFxuICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyICAgIDogJGljb24tZm9udF9fY29sb3ItaG92ZXIsXG4gICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlICAgOiAkaWNvbi1mb250X19jb2xvci1hY3RpdmUsXG4gICAgJF9pY29uLWZvbnQtbWFyZ2luICAgICAgICAgOiAkaWNvbi1mb250X19tYXJnaW4sXG4gICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gOiAkaWNvbi1mb250X192ZXJ0aWNhbC1hbGlnbixcbiAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICAgICA6ICRpY29uLWZvbnRfX3Bvc2l0aW9uLFxuICAgICRfaWNvbi1mb250LXRleHQtaGlkZSAgICAgIDogJGljb24tZm9udF9fdGV4dC1oaWRlLFxuICAgICRfaWNvbi1mb250LWRpc3BsYXkgICAgICAgIDogJGljb24tZm9udF9fZGlzcGxheVxuKSB7XG4gICAgQGluY2x1ZGUgX2xpYi1pY29uLXRleHQtaGlkZSgkX2ljb24tZm9udC10ZXh0LWhpZGUpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoZGlzcGxheSwgJF9pY29uLWZvbnQtZGlzcGxheSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQGlmICRfaWNvbi1mb250LXBvc2l0aW9uID09IGJlZm9yZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItaWNvbi1mb250KFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW4sXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ25cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRfaWNvbi1mb250LXBvc2l0aW9uID09IGFmdGVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBfbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpYi1pY29uLWZvbnQtc2l6ZShcbiAgICAkX2ljb24tZm9udC1zaXplICAgICAgICA6ICRpY29uLWZvbnRfX3NpemUsXG4gICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAkaWNvbi1mb250X19saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICA6ICRpY29uLWZvbnRfX3Bvc2l0aW9uXG4pIHtcbiAgICBAaWYgJF9pY29uLWZvbnQtcG9zaXRpb24gPT0gYmVmb3JlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1pY29uLWZvbnQtc2l6ZSgkX2ljb24tZm9udC1zaXplLCAkX2ljb24tZm9udC1saW5lLWhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJF9pY29uLWZvbnQtcG9zaXRpb24gPT0gYWZ0ZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItaWNvbi1mb250LXNpemUoJF9pY29uLWZvbnQtc2l6ZSwgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWljb24tZm9udC1zeW1ib2woXG4gICAgJF9pY29uLWZvbnQtY29udGVudCxcbiAgICAkX2ljb24tZm9udC1wb3NpdGlvbjogJGljb24tZm9udF9fcG9zaXRpb25cbikge1xuICAgIEBpZiAkX2ljb24tZm9udC1wb3NpdGlvbiA9PSBiZWZvcmUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbnRlbnQsICRfaWNvbi1mb250LWNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRfaWNvbi1mb250LXBvc2l0aW9uID09IGFmdGVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbnRlbnQsICRfaWNvbi1mb250LWNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIEljb25zIHVzaW5nIGltYWdlIG9yIHNwcml0ZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLWljb24taW1hZ2UoXG4gICAgJF9pY29uLWltYWdlLFxuICAgICRfaWNvbi1pbWFnZS13aWR0aCAgICAgICAgICA6ICRpY29uX193aWR0aCxcbiAgICAkX2ljb24taW1hZ2UtaGVpZ2h0ICAgICAgICAgOiAkaWNvbl9faGVpZ2h0LFxuICAgICRfaWNvbi1pbWFnZS1tYXJnaW4gICAgICAgICA6ICRpY29uX19tYXJnaW4sXG4gICAgJF9pY29uLWltYWdlLXZlcnRpY2FsLWFsaWduIDogJGljb25fX3ZlcnRpY2FsLWFsaWduLFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi14ICAgICA6ICRpY29uLWltYWdlX19wb3NpdGlvbi14LFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi15ICAgICA6ICRpY29uLWltYWdlX19wb3NpdGlvbi15LFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbiAgICAgICA6ICRpY29uX19wb3NpdGlvbixcbiAgICAkX2ljb24taW1hZ2UtdGV4dC1oaWRlICAgICAgOiAkaWNvbl9fdGV4dC1oaWRlXG4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgX2xpYi1pY29uLXRleHQtaGlkZSgkX2ljb24taW1hZ2UtdGV4dC1oaWRlKTtcblxuICAgIEBpZiAkX2ljb24taW1hZ2UtcG9zaXRpb24gPT0gYmVmb3JlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1pY29uLWltYWdlKFxuICAgICAgICAgICAgICAgICRfaWNvbi1pbWFnZSxcbiAgICAgICAgICAgICAgICAkX2ljb24taW1hZ2Utd2lkdGgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWltYWdlLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ljb24taW1hZ2UtbWFyZ2luLFxuICAgICAgICAgICAgICAgICRfaWNvbi1pbWFnZS12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgICAgICAgICAkX2ljb24taW1hZ2UtcG9zaXRpb24teCxcbiAgICAgICAgICAgICAgICAkX2ljb24taW1hZ2UtcG9zaXRpb24teVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1hcmdpbjogJF9pY29uLWltYWdlLW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkX2ljb24taW1hZ2UtcG9zaXRpb24gPT0gYWZ0ZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItaWNvbi1pbWFnZShcbiAgICAgICAgICAgICAgICAkX2ljb24taW1hZ2UsXG4gICAgICAgICAgICAgICAgJF9pY29uLWltYWdlLXdpZHRoLFxuICAgICAgICAgICAgICAgICRfaWNvbi1pbWFnZS1oZWlnaHQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWltYWdlLW1hcmdpbixcbiAgICAgICAgICAgICAgICAkX2ljb24taW1hZ2UtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAgICAgJF9pY29uLWltYWdlLXBvc2l0aW9uLXgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWltYWdlLXBvc2l0aW9uLXlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtYXJnaW46ICRfaWNvbi1pbWFnZS1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaWItaWNvbi1pbWFnZS1wb3NpdGlvbihcbiAgICAkX2ljb24taW1hZ2UtcG9zaXRpb24teCA6ICRpY29uLWltYWdlX19wb3NpdGlvbi14LFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi15IDogJGljb24taW1hZ2VfX3Bvc2l0aW9uLXksXG4gICAgJF9pY29uLWltYWdlLXBvc2l0aW9uICAgOiAkaWNvbl9fcG9zaXRpb25cbikge1xuICAgIEBpZiAkX2ljb24taW1hZ2UtcG9zaXRpb24gPT0gYmVmb3JlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1pY29uLWltYWdlLXBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi14LFxuICAgICAgICAgICAgICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi15XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRfaWNvbi1pbWFnZS1wb3NpdGlvbiA9PSBhZnRlciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1pY29uLWltYWdlLXBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi14LFxuICAgICAgICAgICAgICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi15XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWljb24tc3ByaXRlLXBvc2l0aW9uKFxuICAgICRfaWNvbi1zcHJpdGUtcG9zaXRpb24teCA6ICRpY29uLXNwcml0ZV9fcG9zaXRpb24teCxcbiAgICAkX2ljb24tc3ByaXRlLXBvc2l0aW9uLXkgOiAkaWNvbi1zcHJpdGVfX3Bvc2l0aW9uLXksXG4gICAgJF9pY29uLXNwcml0ZS1ncmlkICAgICAgIDogJGljb24tc3ByaXRlX19ncmlkLFxuICAgICRfaWNvbi1zcHJpdGUtcG9zaXRpb24gICA6ICRpY29uX19wb3NpdGlvblxuKSB7XG4gICAgQGlmICRfaWNvbi1zcHJpdGUtcG9zaXRpb24gPT0gYmVmb3JlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1pY29uLXNwcml0ZS1wb3NpdGlvbihcbiAgICAgICAgICAgICAgICAkX2ljb24tc3ByaXRlLXBvc2l0aW9uLXgsXG4gICAgICAgICAgICAgICAgJF9pY29uLXNwcml0ZS1wb3NpdGlvbi15LFxuICAgICAgICAgICAgICAgICRfaWNvbi1zcHJpdGUtZ3JpZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkX2ljb24tc3ByaXRlLXBvc2l0aW9uID09IGFmdGVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBfbGliLWljb24tc3ByaXRlLXBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICRfaWNvbi1zcHJpdGUtcG9zaXRpb24teCxcbiAgICAgICAgICAgICAgICAkX2ljb24tc3ByaXRlLXBvc2l0aW9uLXksXG4gICAgICAgICAgICAgICAgJF9pY29uLXNwcml0ZS1ncmlkXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWljb24taW1hZ2Utc2l6ZShcbiAgICAkX2ljb24taW1hZ2Utd2lkdGggICAgOiAkaWNvbl9fd2lkdGgsXG4gICAgJF9pY29uLWltYWdlLWhlaWdodCAgIDogJGljb25fX2hlaWdodCxcbiAgICAkX2ljb24taW1hZ2UtcG9zaXRpb24gOiAkaWNvbl9fcG9zaXRpb25cbikge1xuICAgIEBpZiAkX2ljb24taW1hZ2UtcG9zaXRpb24gPT0gYmVmb3JlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1pY29uLWltYWdlLXNpemUoJF9pY29uLWltYWdlLXdpZHRoLCAkX2ljb24taW1hZ2UtaGVpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkX2ljb24taW1hZ2UtcG9zaXRpb24gPT0gYWZ0ZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItaWNvbi1pbWFnZS1zaXplKCRfaWNvbi1pbWFnZS13aWR0aCwgJF9pY29uLWltYWdlLWhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaWItaWNvbi10ZXh0LWhpZGUoKSB7XG4gICAgJiA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBsaWItdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxufVxuXG4vL1xuLy8gIEludGVybmFsIHVzZSBtaXhpbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIF9saWItaWNvbi10ZXh0LWhpZGUoJF9pY29uLXRleHQtaGlkZSkge1xuICAgIEBpZiAkX2ljb24tdGV4dC1oaWRlID09IHRydWUge1xuICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi10ZXh0LWhpZGUoKTtcbiAgICB9XG59XG5cbi8vXG4vLyAgVXJsIGV4aXN0aW5nIGNoZWNrXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfbGliLWljb24taW1hZ2UtdXJsKCRfcGF0aCkge1xuICAgIEBpZiAkX3BhdGggIT0gZmFsc2Uge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQtaW1hZ2UsIHVybCgkX3BhdGgpKTtcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWljb24taW1hZ2UoXG4gICAgJF9pY29uLWltYWdlLFxuICAgICRfaWNvbi1pbWFnZS13aWR0aCxcbiAgICAkX2ljb24taW1hZ2UtaGVpZ2h0LFxuICAgICRfaWNvbi1pbWFnZS1tYXJnaW4sXG4gICAgJF9pY29uLWltYWdlLXZlcnRpY2FsLWFsaWduLFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi14LFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi15XG4pIHtcbiAgICBAaW5jbHVkZSBfbGliLWljb24taW1hZ2UtdXJsKCRfaWNvbi1pbWFnZSk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLXBvc2l0aW9uLXgsICRfaWNvbi1pbWFnZS1wb3NpdGlvbi14KTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQtcG9zaXRpb24teSwgJF9pY29uLWltYWdlLXBvc2l0aW9uLXkpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobGluZS1oZWlnaHQsICRfaWNvbi1pbWFnZS1oZWlnaHQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAkX2ljb24taW1hZ2UtbWFyZ2luKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHZlcnRpY2FsLWFsaWduLCAkX2ljb24taW1hZ2UtdmVydGljYWwtYWxpZ24pO1xuICAgIEBpbmNsdWRlIF9saWItaWNvbi1pbWFnZS1zaXplKFxuICAgICAgICAkX2ljb24taW1hZ2Utd2lkdGgsXG4gICAgICAgICRfaWNvbi1pbWFnZS1oZWlnaHRcbiAgICApO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWl4aW4gX2xpYi1pY29uLWltYWdlLXBvc2l0aW9uKFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi14LFxuICAgICRfaWNvbi1pbWFnZS1wb3NpdGlvbi15XG4pIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQtcG9zaXRpb24sICRfaWNvbi1pbWFnZS1wb3NpdGlvbi14ICRfaWNvbi1pbWFnZS1wb3NpdGlvbi15KTtcbn1cblxuQG1peGluIF9saWItaWNvbi1pbWFnZS1zaXplKFxuICAgICRpY29uX193aWR0aCxcbiAgICAkaWNvbl9faGVpZ2h0XG4pIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGhlaWdodCwgJGljb25fX2hlaWdodCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJGljb25fX3dpZHRoKTtcbn1cblxuQG1peGluIF9saWItaWNvbi1zcHJpdGUtcG9zaXRpb24oXG4gICAgJF9pY29uLXNwcml0ZS1wb3NpdGlvbi14LFxuICAgICRfaWNvbi1zcHJpdGUtcG9zaXRpb24teSxcbiAgICAkX2ljb24tc3ByaXRlLWdyaWRcbikge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZC1wb3NpdGlvbiwgLSgkX2ljb24tc3ByaXRlLXBvc2l0aW9uLXggKiAkX2ljb24tc3ByaXRlLWdyaWQpIC0oJF9pY29uLXNwcml0ZS1wb3NpdGlvbi15ICogJF9pY29uLXNwcml0ZS1ncmlkKSk7XG59XG5cbkBtaXhpbiBfbGliLWljb24tZm9udChcbiAgICAkX2ljb24tZm9udC1jb250ZW50LFxuICAgICRfaWNvbi1mb250LFxuICAgICRfaWNvbi1mb250LXNpemUsXG4gICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgJF9pY29uLWZvbnQtY29sb3IsXG4gICAgJF9pY29uLWZvbnQtbWFyZ2luLFxuICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduXG4pIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIEBpbmNsdWRlIF9saWItaWNvbi1mb250LXNpemUoJF9pY29uLWZvbnQtc2l6ZSwgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfaWNvbi1mb250LWNvbG9yKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGNvbnRlbnQsICRfaWNvbi1mb250LWNvbnRlbnQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC1mYW1pbHksICRfaWNvbi1mb250KTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9pY29uLWZvbnQtbWFyZ2luKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHZlcnRpY2FsLWFsaWduLCAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBfbGliLWljb24tZm9udC1zaXplKCRfaWNvbi1mb250LXNpemUsICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0KSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXNpemUsICRfaWNvbi1mb250LXNpemUpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobGluZS1oZWlnaHQsICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0KTtcbn1cbiIsIi8vXG4vLyAgTGF5b3V0IHZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4vLyAgV2lkdGhzXG4kbGF5b3V0X193aWR0aCAgICAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0OyAvLyBmb3IgdGhlIGZpeGVkIHdpZHRoIGxheW91dFxuJGxheW91dF9fbWF4LXdpZHRoICAgICAgICAgICAgICAgICAgOiAxMzM1cHggIWRlZmF1bHQ7XG4kbGF5b3V0LWluZGVudF9fd2lkdGggICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kbGF5b3V0X193aWR0aC14cy1pbmRlbnQgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG5cbi8vICBDbGFzc25hbWVzIGRlZmluaW5nIGRpZmZlcmVudCBsYXlvdXRzXG4kbGF5b3V0LWNsYXNzLTFjb2x1bW4gICAgICAgICAgICAgICA6IHBhZ2UtbGF5b3V0LTFjb2x1bW4gIWRlZmF1bHQ7XG4kbGF5b3V0LWNsYXNzLTJjb2x1bW5zX19sZWZ0ICAgICAgICA6IHBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgIWRlZmF1bHQ7XG4kbGF5b3V0LWNsYXNzLTJjb2x1bW5zX19yaWdodCAgICAgICA6IHBhZ2UtbGF5b3V0LTJjb2x1bW5zLXJpZ2h0ICFkZWZhdWx0O1xuJGxheW91dC1jbGFzcy0zY29sdW1ucyAgICAgICAgICAgICAgOiBwYWdlLWxheW91dC0zY29sdW1ucyAhZGVmYXVsdDtcblxuLy8gIFZhcmlhYmxlcyB1c2VkIGZvciBsYXlvdXQgZ3JpZFxuJHRvdGFsLWNvbHVtbnMgICAgICAgICAgICAgICAgICAgICAgOiAxMiAhZGVmYXVsdDtcbiRndXR0ZXItd2lkdGggICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuLy8gIFZhcmlhYmxlcyBmb3IgbGF5b3V0IGNvbHVtbnNcbiRsYXlvdXQtY29sdW1uX193aWR0aCAgICAgICAgICAgICAgIDogJHRvdGFsLWNvbHVtbnMgIWRlZmF1bHQ7XG4kbGF5b3V0LWNvbHVtbl9fc2lkZWJhci13aWR0aCAgICAgICA6IDIgIWRlZmF1bHQ7XG4kbGF5b3V0LWNvbHVtbl9fbGVmdC13aWR0aCAgICAgICAgICA6ICRsYXlvdXQtY29sdW1uX19zaWRlYmFyLXdpZHRoICFkZWZhdWx0O1xuJGxheW91dC1jb2x1bW5fX3JpZ2h0LXdpZHRoICAgICAgICAgOiAkbGF5b3V0LWNvbHVtbl9fc2lkZWJhci13aWR0aCAhZGVmYXVsdDtcblxuLy8gIFZhcmlhYmxlcyBmb3IgbGF5b3V0IGNvbHVtbnMgZGVwZW5kaW5nIG9uIGxheW91dCB1c2VkXG4kbGF5b3V0LWNvbHVtbi1tYWluX193aWR0aC0xICAgICAgICA6IDEwMCUgIWRlZmF1bHQ7XG4kbGF5b3V0LWNvbHVtbi1tYWluX193aWR0aC0yLWxlZnQgICA6ICRsYXlvdXQtY29sdW1uX193aWR0aCAtICRsYXlvdXQtY29sdW1uX19sZWZ0LXdpZHRoICFkZWZhdWx0O1xuJGxheW91dC1jb2x1bW4tbWFpbl9fd2lkdGgtMi1yaWdodCAgOiAkbGF5b3V0LWNvbHVtbl9fd2lkdGggLSAkbGF5b3V0LWNvbHVtbl9fcmlnaHQtd2lkdGggIWRlZmF1bHQ7XG4kbGF5b3V0LWNvbHVtbi1tYWluX193aWR0aC0zICAgICAgICA6ICRsYXlvdXQtY29sdW1uX193aWR0aCAtICRsYXlvdXQtY29sdW1uX19sZWZ0LXdpZHRoIC0gJGxheW91dC1jb2x1bW5fX3JpZ2h0LXdpZHRoICFkZWZhdWx0O1xuXG4vLyAgQ2hlY2tvdXQgY29sdW1ucyB3aWR0aFxuJGxheW91dC1jb2x1bW4tY2hlY2tvdXRfX3dpZHRoLWxlZnQgOiAzICFkZWZhdWx0O1xuJGxheW91dC1jb2x1bW4tY2hlY2tvdXRfX3dpZHRoLW1haW4gOiAkbGF5b3V0LWNvbHVtbl9fd2lkdGggLSAkbGF5b3V0LWNvbHVtbi1jaGVja291dF9fd2lkdGgtbGVmdCAhZGVmYXVsdDtcbiIsImEuYWN0aW9uLnByaW1hcnksXG5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAyNTBtcyBsaW5lYXI7XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG59XG5cbmEuYWN0aW9uLnByaW1hcnkge1xuICBAaW5jbHVkZSBsaWItbGluay1hcy1idXR0b24oKTtcbn1cbi5hY3Rpb24ucHJpbWFyeSB7XG4gICAgLy9AaW5jbHVkZSBsaWItYnV0dG9uLXByaW1hcnkoKTtcbn1cbiIsIi8vXG4vLyAgU3R5bGVzIEV4dGVuZHNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLy9cbi8vICBMaXN0IGRlZmF1bHQgc3R5bGVzIHJlc2V0XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtcmVzZXQtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAmID4gbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4vL1xuLy8gIExpbmsgYXMgYSBidXR0b25cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1hY3Rpb24tbGluay1idXR0b24ge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBsaWItbGluay1hcy1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1yYWRpdXMsICRidXR0b25fX2JvcmRlci1yYWRpdXMpO1xufVxuXG4vL1xuLy8gIFByb2R1Y3Qgb3B0aW9ucyBsaXN0XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBhYnMtcHJvZHVjdC1vcHRpb25zLWxpc3QoKSB7XG4gICAgZHQge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAkaW5kZW50X19zICRpbmRlbnRfX3hzIDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X194cztcbiAgICB9XG59XG5cblxuLmFicy1wcm9kdWN0LW9wdGlvbnMtbGlzdCB7XG4gICAgQGluY2x1ZGUgYWJzLXByb2R1Y3Qtb3B0aW9ucy1saXN0KCk7XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtcHJvZHVjdC1vcHRpb25zLWxpc3QtZGVza3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1wcm9kdWN0LW9wdGlvbnMtbGlzdCgpO1xuICAgIH1cbn1cblxuLy9cbi8vICBCdXR0b24gcmVzZXQgd2lkdGgsIGZsb2F0cywgbWFyZ2luc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gYWJzLWJ1dHRvbi1yZXNwb25zaXZlKCkge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24tcmVzcG9uc2l2ZSgpO1xufTtcblxuLmFicy1idXR0b24tcmVzcG9uc2l2ZSB7XG4gICAgQGluY2x1ZGUgYWJzLWJ1dHRvbi1yZXNwb25zaXZlKCk7XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtYnV0dG9uLWRlc2t0b3Age1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtYnV0dG9uLXJlc3BvbnNpdmUtc21hbGxlciB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1idXR0b24tcmVzcG9uc2l2ZSgpO1xuICAgIH1cbn1cblxuLy9cbi8vICBCbG9ja3MgaW4gMiBjb2x1bW5zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBhYnMtYmxvY2tzLTJjb2x1bW5zKCkge1xuICAgIHdpZHRoOiA0OC44JTtcblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLWJsb2Nrcy0yY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1ibG9ja3MtMmNvbHVtbnMoKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hYnMtYmxvY2tzLTJjb2x1bW5zLXMge1xuICAgICAgICBAaW5jbHVkZSBhYnMtYmxvY2tzLTJjb2x1bW5zKCk7XG4gICAgfVxufVxuXG4vL1xuLy8gIFJlc2V0IGltYWdlIGFsaWdubWVudCBpbiBjb250YWluZXJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1yZXNldC1pbWFnZS13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgLnByb2R1Y3QtaW1hZ2UtcGhvdG8ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbn1cblxuLy9cbi8vICBBZGFwdGl2ZSBpbWFnZXNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1hZGFwdGl2ZS1pbWFnZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5hYnMtYWRhcHRpdmUtaW1hZ2VzLWNlbnRlcmVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vL1xuLy8gIFRpdGxlIGZvciBsb2dpbiBibG9ja3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1sb2dpbi1ibG9jay10aXRsZSB7XG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE4KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlY29uZGFyeV9fY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbn1cblxuLy9cbi8vICBBYnN0cmFjdCBibG9jayB0aXRsZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWJsb2NrLXRpdGxlIHtcbiAgICA+IHN0cm9uZyB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1oZWFkaW5nKGgzKTtcbiAgICB9XG5cbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4vL1xuLy8gIEFjY291bnQgYmxvY2tzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtYWNjb3VudC1ibG9ja3Mge1xuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1ibG9jay10aXRsZTtcbiAgICAgICAgPiAuYWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9feHM7XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1oZWFkaW5nKGg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmFjdGlvbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbmRlbnRfX3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIFNpbXBsZSBEcm9wZG93blxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWRyb3Bkb3duLXNpbXBsZSB7XG4gICAgQGluY2x1ZGUgbGliLWRyb3Bkb3duKFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1wYWRkaW5nIDogNXB4IDVweCA1cHggMjNweCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LW1pbi13aWR0aCAgICA6IDIwMHB4LFxuICAgICAgICAkX2ljb24tZm9udC1tYXJnaW4gICAgICAgICAgIDogMCAwIDAgNXB4LFxuICAgICAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiAgIDogbWlkZGxlXG4gICAgKTtcbn1cblxuLy9cbi8vICBJbnB1dCBxdWFudGl0eVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWlucHV0LXF0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA0N3B4O1xufVxuXG4vL1xuLy8gIE1hcmdpbmcgZm9yIGJsb2NrcyAmIHdpZGdldHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1tYXJnaW4tZm9yLWJsb2Nrcy1hbmQtd2lkZ2V0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9feGw7XG59XG5cbi8vXG4vLyAgUmVtb3ZlIGJ1dHRvbiBmb3IgYmxvY2tzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtcmVtb3ZlLWJ1dHRvbi1mb3ItYmxvY2tzIHtcbiAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAkaWNvbi1yZW1vdmUsXG4gICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgICA6IDI2cHgsXG4gICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICA6IDE1cHgsXG4gICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSAgICA6IHRydWUsXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICA6ICRjb2xvci1ncmF5MTksXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyICA6ICRjb2xvci1ncmF5MTksXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSA6ICRjb2xvci1ncmF5MTlcbiAgICApO1xufVxuXG4vL1xuLy8gIFByb2R1Y3QgbGlua1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLXByb2R1Y3QtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcblxuICAgID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1saW5rKFxuICAgICAgICAgICAgJF9saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgIDogJHByb2R1Y3QtbmFtZS1saW5rX19jb2xvcixcbiAgICAgICAgICAgICRfbGluay10ZXh0LWRlY29yYXRpb24gICAgICAgICA6ICRwcm9kdWN0LW5hbWUtbGlua19fdGV4dC1kZWNvcmF0aW9uLFxuICAgICAgICAgICAgJF9saW5rLWNvbG9yLXZpc2l0ZWQgICAgICAgICAgIDogJHByb2R1Y3QtbmFtZS1saW5rX19jb2xvcl9fdmlzaXRlZCxcbiAgICAgICAgICAgICRfbGluay10ZXh0LWRlY29yYXRpb24tdmlzaXRlZCA6ICRwcm9kdWN0LW5hbWUtbGlua19fdGV4dC1kZWNvcmF0aW9uX192aXNpdGVkLFxuICAgICAgICAgICAgJF9saW5rLWNvbG9yLWhvdmVyICAgICAgICAgICAgIDogJHByb2R1Y3QtbmFtZS1saW5rX19jb2xvcl9faG92ZXIsXG4gICAgICAgICAgICAkX2xpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyICAgOiAkcHJvZHVjdC1uYW1lLWxpbmtfX3RleHQtZGVjb3JhdGlvbl9faG92ZXIsXG4gICAgICAgICAgICAkX2xpbmstY29sb3ItYWN0aXZlICAgICAgICAgICAgOiAkcHJvZHVjdC1uYW1lLWxpbmtfX2NvbG9yX19hY3RpdmUsXG4gICAgICAgICAgICAkX2xpbmstdGV4dC1kZWNvcmF0aW9uLWFjdGl2ZSAgOiAkcHJvZHVjdC1uYW1lLWxpbmtfX3RleHQtZGVjb3JhdGlvbl9fYWN0aXZlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vL1xuLy8gIFJlc2V0IGxlZnQgbWFyZ2luXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBhYnMtcmVzZXQtbGVmdC1tYXJnaW4oKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5hYnMtcmVzZXQtbGVmdC1tYXJnaW4ge1xuICAgIEBpbmNsdWRlIGFicy1yZXNldC1sZWZ0LW1hcmdpbigpO1xufVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLXJlc2V0LWxlZnQtbWFyZ2luLWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBhYnMtcmVzZXQtbGVmdC1tYXJnaW4oKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hYnMtcmVzZXQtbGVmdC1tYXJnaW4tZGVza3RvcC1zIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzLXJlc2V0LWxlZnQtbWFyZ2luKCk7XG4gICAgfVxufVxuXG4vL1xuLy8gIEFjdGlvbiB3aXRoIGljb24gcmVtb3ZlIHdpdGggdGV4dFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWFjdGlvbi1yZW1vdmUge1xuICAgIEBleHRlbmQgLmFicy1hY3Rpb24tYnV0dG9uLWFzLWxpbms7XG4gICAgbGVmdDogJGluZGVudF9fcztcbiAgICBtYXJnaW4tbGVmdDogNzAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMxcHg7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8vXG4vLyAgQWN0aW9uIHdpdGggaWNvbiByZW1vdmUgd2l0aCB0ZXh0IGZvciBkZXNrdG9wXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIEBpZiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fd2lkdGggIT0gZmFsc2UgYW5kICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtaW5saW5lX193aWR0aCAhPSAnJyB7XG4gICAgICAgIC5hYnMtYWN0aW9uLXJlbW92ZS1kZXNrdG9wIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fd2lkdGggKyA1MCU7XG4gICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBBZGQgUmVjaXBpZW50XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtYWRkLWZpZWxkcyB7XG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgJjpub3QoLmNob2ljZSkge1xuICAgICAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG5cbiAgICAgICAgICAgICAgICA+IC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaW5kZW50X19sO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkcyB7XG4gICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZSB7XG4gICAgICAgICYubm90aWNlIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fbCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkaXRpb25hbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDU1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgJi5yZW1vdmUge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFjdGlvbi1yZW1vdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgQWRkIFJlY2lwaWVudCBmb3IgZGVza3RvcFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLWFkZC1maWVsZHMtZGVza3RvcCB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgICAgICY6bm90KC5jaG9pY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZGl0aW9uYWwge1xuICAgICAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAmLnJlbW92ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWN0aW9uLXJlbW92ZS1kZXNrdG9wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIE1hcmdpbiBmb3IgZm9ybXNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGFicy1tYXJnaW4tZm9yLWZvcm1zLWRlc2t0b3Age1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWxlZnQsICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtaW5saW5lX193aWR0aCk7XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtbWFyZ2luLWZvci1mb3Jtcy1kZXNrdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzLW1hcmdpbi1mb3ItZm9ybXMtZGVza3RvcCgpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLmFicy1tYXJnaW4tZm9yLWZvcm1zLWRlc2t0b3AtcyB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1tYXJnaW4tZm9yLWZvcm1zLWRlc2t0b3AoKTtcbiAgICB9XG59XG5cbi8vXG4vLyAgVmlzaWJpbGl0eSBoaWRkZW4gLyBzaG93IHZpc2liaWxpdHkgaGlkZGVuXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtaGlkZGVuIHtcbiAgICBAaW5jbHVkZSBsaWItdmlzaWJpbGl0eS1oaWRkZW4oKTtcbn1cblxuLy9cbi8vICBWaXN1YWxseSBoaWRkZW4gLyBzaG93IHZpc3VhbGx5IGhpZGRlblxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gYWJzLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xufVxuXG4uYWJzLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgYWJzLXZpc3VhbGx5LWhpZGRlbigpO1xufVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAuYWJzLXZpc3VhbGx5LWhpZGRlbi1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBhYnMtdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLXZpc3VhbGx5LWhpZGRlbi1tb2JpbGUtbSB7XG4gICAgICAgIEBpbmNsdWRlIGFicy12aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hYnMtdmlzdWFsbHktaGlkZGVuLWRlc2t0b3AtcyB7XG4gICAgICAgIEBpbmNsdWRlIGFicy12aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtdmlzdWFsbHktaGlkZGVuLWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBhYnMtdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxufVxuXG4vL1xuLy8gIFZpc3VhbGx5IGhpZGRlbiByZXNldFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLXZpc3VhbGx5LWhpZGRlbi1yZXNldCB7XG4gICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbi1yZXNldCgpO1xufVxuXG4vL1xuLy8gIENsZWFyZml4XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBhYnMtYWRkLWNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBsaWItY2xlYXJmaXgoKTtcbn1cblxuLmFicy1hZGQtY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGFicy1hZGQtY2xlYXJmaXgoKTtcbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmFicy1hZGQtY2xlYXJmaXgtZGVza3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1hZGQtY2xlYXJmaXgoKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3AtcyB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1hZGQtY2xlYXJmaXgoKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hYnMtYWRkLWNsZWFyZml4LW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1hZGQtY2xlYXJmaXgoKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtYWRkLWNsZWFyZml4LW1vYmlsZS1tIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzLWFkZC1jbGVhcmZpeCgpO1xuICAgIH1cbn1cblxuLy9cbi8vICBCb3gtc2l6aW5nXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBhYnMtYWRkLWJveC1zaXppbmcge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5hYnMtYWRkLWJveC1zaXppbmcge1xuICAgIEBpbmNsdWRlIGFicy1hZGQtYm94LXNpemluZygpO1xufVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLWFkZC1ib3gtc2l6aW5nLWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBhYnMtYWRkLWJveC1zaXppbmcoKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hYnMtYWRkLWJveC1zaXppbmctZGVza3RvcC1zIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzLWFkZC1ib3gtc2l6aW5nKCk7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLWFkZC1ib3gtc2l6aW5nLWRlc2t0b3AtbSB7XG4gICAgICAgIEBpbmNsdWRlIGFicy1hZGQtYm94LXNpemluZygpO1xuICAgIH1cbn1cblxuLy9cbi8vICBSZXZlcnQgZmllbGQgdHlwZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLXJldmVydC1maWVsZC10eXBlLWRlc2t0b3Age1xuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgPiAuZmllbGQsXG4gICAgICAgICAgICAuZmllbGRzID4gLmZpZWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS1maWVsZC10eXBlLXJldmVydCgkX3R5cGU6IGJsb2NrKTtcblxuICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgU2V0dGluZ3MgaWNvbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1uYXZpZ2F0aW9uLWljb24ge1xuICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgICAgIDogJGljb24tZG93bixcbiAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgOiAzNHB4LFxuICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCA6IDEuMixcbiAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gICAgOiBhZnRlcixcbiAgICAgICAgJF9pY29uLWZvbnQtZGlzcGxheSAgICAgOiBibG9ja1xuICAgICk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogJGluZGVudF9feHM7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi8vXG4vLyAgU3BsaXQgYnV0dG9uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtc3BsaXQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBsaWItZHJvcGRvd24tc3BsaXQoXG4gICAgICAgICRfb3B0aW9ucy1zZWxlY3RvciAgICAgICAgICAgICAgICAgICAgICAgIDogJy5pdGVtcycsXG4gICAgICAgICRfZHJvcGRvd24tc3BsaXQtYnV0dG9uLWJvcmRlci1yYWRpdXMtZml4IDogdHJ1ZVxuICAgICk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy9cbi8vICBBY3Rpb24gYWRkdG9cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1hY3Rpb24tYWRkdG8tcHJvZHVjdCB7XG4gICAgQGV4dGVuZCAuYWJzLWFjdGlvbi1saW5rLWJ1dHRvbjtcbiAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXMoKTtcbn1cblxuLmFicy1hY3Rpb25zLWFkZHRvLWdyaWRsaXN0IHtcbiAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgICA6ICcnLFxuICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6IDI5cHgsXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICAgIDogJGFkZHRvLWNvbG9yLFxuICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgICA6ICRhZGR0by1ob3Zlci1jb2xvcixcbiAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlICAgICAgOiB0cnVlLFxuICAgICAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZSxcbiAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgOiAgMjRweFxuICAgICk7XG59XG5cbi8vXG4vLyAgTGFyZ2UgYnV0dG9uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtYnV0dG9uLWwge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24tbCgpO1xufVxuXG4vL1xuLy8gIEJ1dHRvbiBhcyBhIGxpbmtcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1hY3Rpb24tYnV0dG9uLWFzLWxpbmsge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24tYXMtbGluaygkX21hcmdpbjogZmFsc2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX3JlZ3VsYXI7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbi8vXG4vLyAgQnV0dG9uIHJldmVydCBzZWNvbmRhcnkgY29sb3Jcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1yZXZlcnQtc2Vjb25kYXJ5LWNvbG9yIHtcbiAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXJldmVydC1zZWNvbmRhcnktY29sb3IoKTtcbn1cblxuLy9cbi8vICBCdXR0b24gcmV2ZXJ0IHNlY29uZGFyeSBzaXplXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtcmV2ZXJ0LXNlY29uZGFyeS1zaXplIHtcbiAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXJldmVydC1zZWNvbmRhcnktc2l6ZSgpO1xufVxuXG4vL1xuLy8gIEJveC10b2NhcnQgYmxvY2tcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1ib3gtdG9jYXJ0IHtcbiAgICBtYXJnaW46ICRpbmRlbnRfX3MgMDtcbn1cblxuLy9cbi8vICBFeGNsL0luY2wgdGF4XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtYWRqdXN0bWVudC1pbmNsLWV4Y2wtdGF4IHtcbiAgICAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgICAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgICAud2VlZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnByaWNlLWluY2x1ZGluZy10YXggKyAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxMSk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJygnYXR0cihkYXRhLWxhYmVsKSc6ICc7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBDYXJ0IHRheCB0b3RhbFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLXRheC10b3RhbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICRpY29uLWRvd24sXG4gICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgIDogMjZweCxcbiAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxMHB4LFxuICAgICAgICAkX2ljb24tZm9udC1tYXJnaW4gICAgICA6IDNweCAwIDAgMCxcbiAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gICAgOiBhZnRlclxuICAgICk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLSRpbmRlbnRfX3M7XG4gICAgICAgIHRvcDogM3B4O1xuICAgIH1cblxuICAgICYtZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250LXN5bWJvbChcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgIDogJGljb24tdXAsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uYWJzLXRheC10b3RhbC1leHBhbmRlZCB7XG4gICAgQGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG4gICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgIDogJGljb24tdXAsXG4gICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uIDogYWZ0ZXJcbiAgICApO1xufVxuXG4vL1xuLy8gIENoZWNrb3V0IHNoaXBwaW5nIG1ldGhvZHMgdGl0bGVcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1tZXRob2RzLXNoaXBwaW5nLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE0KTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG59XG5cbi8vXG4vLyAgQ2hlY2tvdXQgb3JkZXIgcmV2aWV3XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hYnMtY2hlY2tvdXQtb3JkZXItcmV2aWV3IHtcbiAgICAgICAgdGJvZHkgdHIge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXgtbW9iaWxlO1xuXG4gICAgICAgICAgICAuY29sIHtcbiAgICAgICAgICAgICAgICAmLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5xdHksXG4gICAgICAgICAgICAgICAgJi5wcmljZSxcbiAgICAgICAgICAgICAgICAmLnN1YnRvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpICc6JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkaW5kZW50X19zO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBBZGQgY29sb25cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1jb2xvbiB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgfVxufVxuXG4vL1xuLy8gIEljb24gLSBjcmVhdGUgYWRkXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtaWNvbi1hZGQge1xuICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgICAgICAgIDogJGljb24tZXhwYW5kLFxuICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6IDEwcHgsXG4gICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgIDogMTBweCxcbiAgICAgICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gOiBtaWRkbGVcbiAgICApO1xufVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLWljb24tYWRkLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgICA6ICRpY29uLWV4cGFuZCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgICAgIDogMTBweCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgIDogMTBweCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduIDogbWlkZGxlLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luICAgICAgICAgOiAwIDVweCAwIDAsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1kaXNwbGF5ICAgICAgICA6IGJsb2NrXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vL1xuLy8gIERyb3Bkb3duIGl0ZW1zIC0gY3JlYXRlIG5ld1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWRyb3Bkb3duLWl0ZW1zLW5ldyB7XG4gICAgLml0ZW1zIC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJGRyb3Bkb3duLWxpc3QtaXRlbV9faG92ZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi5uZXcge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtaWNvbi1hZGQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTdweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9feHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgQWJzdHJhY3QgdG9nZ2xlIHRpdGxlIGJsb2NrXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtdG9nZ2xpbmctdGl0bGUtbW9iaWxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkYm9yZGVyLWNvbG9yX19iYXNlO1xuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogJGluZGVudF9fcyAkaW5kZW50X194bCAkaW5kZW50X19zICRsYXlvdXRfX3dpZHRoLXhzLWluZGVudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgOiAkaWNvbi1kb3duLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgIDogMjhweCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSA6IGZhbHNlLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gIDogYWZ0ZXIsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1kaXNwbGF5ICAgOiBibG9ja1xuICAgICAgICApO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250LXN5bWJvbChcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICA6ICRpY29uLXVwLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uIDogYWZ0ZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgQWJzdHJhY3Qgbm8gZGlzcGxheVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gYWJzLW5vLWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hYnMtbm8tZGlzcGxheSB7XG4gICAgQGluY2x1ZGUgYWJzLW5vLWRpc3BsYXkoKTtcbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLmFicy1uby1kaXNwbGF5LXMge1xuICAgICAgICBAaW5jbHVkZSBhYnMtbm8tZGlzcGxheSgpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmFicy1uby1kaXNwbGF5LWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBhYnMtbm8tZGlzcGxheSgpO1xuICAgIH1cbn1cblxuLy9cbi8vICBTdGF0dXNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1zdGF0dXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xufVxuXG4vL1xuLy8gIFBhZ2VyIHRvb2xiYXIgZm9yIG5vbi1jYXRhbG9nIHBhZ2VzIG1vYmlsZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLXBhZ2VyLXRvb2xiYXItbW9iaWxlIHtcbiAgICAgICAgLnRvb2xiYXItYW1vdW50LFxuICAgICAgICAubGltaXRlcixcbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBQYWdlciB0b29sYmFyIGZvciBub24tY2F0YWxvZyBwYWdlcyBtb2JpbGVcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLmFicy1wYWdlci10b29sYmFyLW1vYmlsZS1zIHtcbiAgICAgICAgLnRvb2xiYXItYW1vdW50LFxuICAgICAgICAubGltaXRlcixcbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX207XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgUGFnZXIgdG9vbGJhciBmb3Igbm9uLWNhdGFsb2cgcGFnZXMgZGVza3RvcFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYWJzLXBhZ2VyLXRvb2xiYXIge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubGltaXRlciB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvb2xiYXItYW1vdW50IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgSXRlbXMgY291bnRlciBpbiBibG9ja3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1ibG9jay1pdGVtcy1jb3VudGVyIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkcHJpbWFyeV9fY29sb3JfX2xpZ2h0ZXIpO1xuICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTJweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy9cbi8vICBTaG9wcGluZyBjYXJ0IGl0ZW1zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtc2hvcHBpbmctY2FydC1pdGVtcyB7XG4gICAgLmFjdGlvbiB7XG4gICAgICAgICYuY29udGludWUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fYm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1saW5rLWFzLWJ1dHRvbigpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbihcbiAgICAgICAgICAgICAgICAkX2J1dHRvbi1wYWRkaW5nICAgICAgICAgICAgICAgOiA3cHggMTVweCA3cHggMCxcbiAgICAgICAgICAgICAgICAkX2J1dHRvbi1pY29uLXVzZSAgICAgICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICRfYnV0dG9uLWZvbnQtY29udGVudCAgICAgICAgICA6ICRpY29uLXByZXYsXG4gICAgICAgICAgICAgICAgJF9idXR0b24taWNvbi1mb250LXNpemUgICAgICAgIDogMzJweCxcbiAgICAgICAgICAgICAgICAkX2J1dHRvbi1pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxNnB4LFxuICAgICAgICAgICAgICAgICRfYnV0dG9uLWljb24tZm9udC1wb3NpdGlvbiAgICA6IGJlZm9yZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi51cGRhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1pY29uKFxuICAgICAgICAgICAgICAgICRpY29uLXVwZGF0ZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICA6IDMycHgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxNnB4XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50X194cztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLW1vYmlsZSB7XG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgJi51cGRhdGUsXG4gICAgICAgICAgICAmLmNvbnRpbnVlLFxuICAgICAgICAgICAgJi5jbGVhciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi51cGRhdGUsXG4gICAgICAgICAgICAmLmNsZWFyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLWRlc2t0b3Age1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNzMlO1xuXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAmLmNsZWFyLFxuICAgICAgICAgICAgJi51cGRhdGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaW5kZW50X19zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbnRpbnVlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBGb3JtIEZpZWxkIERhdGVcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1maWVsZC1kYXRlIHtcbiAgICAuY29udHJvbCB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtYm94LXNpemluZztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWZpZWxkLWRhdGUtaW5wdXQ7XG4gICAgfVxufVxuXG4vL1xuLy8gIEZvcm0gRmllbGQgRGF0ZSBJbnB1dFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWZpZWxkLWRhdGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXJpZ2h0LCAkaW5kZW50X19zKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skaWNvbi1jYWxlbmRhcl9fZm9udC1zaXplICsgJGluZGVudF9fc30pO1xufVxuXG4vL1xuLy8gIEZvcm0gRmllbGQgVG9vbHRpcFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWZpZWxkLXRvb2x0aXAge1xuICAgIEBleHRlbmQgLmFicy1hZGQtYm94LXNpemluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXJpZ2h0LCAkaW5kZW50X19zKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGNoZWNrb3V0LXRvb2x0aXAtaWNvbl9fZm9udC1zaXplICsgJGluZGVudF9fcyArICRpbmRlbnRfX3hzfSk7XG4gICAgfVxufVxuXG4vL1xuLy8gIENoZWNrb3V0IFRvb2x0aXAgQ29udGVudCAocG9zaXRpb246IHRvcClcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGFicy1jaGVja291dC10b29sdGlwLWNvbnRlbnQtcG9zaXRpb24tdG9wIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHJpZ2h0LCAkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LW1vYmlsZV9fcmlnaHQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LW1vYmlsZV9fdG9wKTtcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1hcnJvdyhcbiAgICAgICAgICAgICRfcG9zaXRpb24gOiB0b3AsXG4gICAgICAgICAgICAkX3NpemUgICAgIDogJGNoZWNrb3V0LXRvb2x0aXAtaWNvbi1hcnJvd19fZm9udC1zaXplLFxuICAgICAgICAgICAgJF9jb2xvciAgICA6ICRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JhY2tncm91bmQtY29sb3JcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkY2hlY2tvdXQtdG9vbHRpcC1pY29uLWFycm93X19sZWZ0KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhyaWdodCwgJGluZGVudF9fcyk7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLWNvbG9yLCAkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50X19iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgfVxufVxuXG4uYWJzLWNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1wb3NpdGlvbi10b3Age1xuICAgIEBpbmNsdWRlIGFicy1jaGVja291dC10b29sdGlwLWNvbnRlbnQtcG9zaXRpb24tdG9wKCk7XG59XG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5hYnMtY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uLXRvcC1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBhYnMtY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uLXRvcCgpO1xuICAgIH1cbn1cblxuLy9cbi8vICBDaGVja291dCB0aXRsZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWJzLWNoZWNrb3V0LXRpdGxlIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1ib3R0b20sICRjaGVja291dC1zdGVwLXRpdGxlX19ib3JkZXIpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1ib3R0b20sICRjaGVja291dC1zdGVwLXRpdGxlX19wYWRkaW5nKTtcbiAgICBAaW5jbHVkZSBsaWItdHlwb2dyYXBoeShcbiAgICAgICAgJF9mb250LXNpemUgICA6ICRjaGVja291dC1zdGVwLXRpdGxlX19mb250LXNpemUsXG4gICAgICAgICRfZm9udC13ZWlnaHQgOiAkY2hlY2tvdXQtc3RlcC10aXRsZV9fZm9udC13ZWlnaHQsXG4gICAgICAgICRfZm9udC1mYW1pbHkgOiBmYWxzZSxcbiAgICAgICAgJF9mb250LXN0eWxlICA6IGZhbHNlLFxuICAgICAgICAkX2xpbmUtaGVpZ2h0IDogZmFsc2VcbiAgICApO1xufVxuXG4vL1xuLy8gIFNob3BwaW5nIGNhcnQgc2lkZWJhciBhbmQgY2hlY2tvdXQgc2lkZWJhciB0b3RhbHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFicy1zaWRlYmFyLXRvdGFscyB7XG4gICAgLm1hcmsge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19yZWd1bGFyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19yZWd1bGFyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyYW5kIHtcbiAgICAgICAgLm1hcmssXG4gICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2JvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXNycCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLnRvdGFscy10YXgge1xuICAgICAgICAmLXN1bW1hcnkge1xuICAgICAgICAgICAgLm1hcmssXG4gICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AsICRib3JkZXItd2lkdGhfX2Jhc2Ugc29saWQgJGJvcmRlci1jb2xvcl9fYmFzZSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLCAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2UpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFtb3VudCAucHJpY2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAgICAgICAgICRpY29uLWRvd24sXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICA6IDMwcHgsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICA6IGFmdGVyLFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1kaXNwbGF5ICAgOiBibG9ja1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudF9fbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgIC5tYXJrLFxuICAgICAgICAgICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5hbW91bnQgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICA6ICRpY29uLXVwLFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gOiBhZnRlclxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtZGV0YWlscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLCAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2UpO1xuXG4gICAgICAgICAgICAmLnNob3duIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtY2FwdGlvbiB7XG4gICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuICAgIH1cbn1cblxuLy9cbi8vICBTaG9wcGluZyBjYXJ0IGFuZCBwYXltZW50IGRpc2NvdW50IGNvZGVzIGJsb2NrXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hYnMtZGlzY291bnQtYmxvY2sge1xuICAgID4gLnRpdGxlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkYm9yZGVyLWNvbG9yX19iYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX3NlbWlib2xkO1xuICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgOiAkaWNvbi1kb3duLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgOiAxNnB4LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gOiBhZnRlcixcbiAgICAgICAgICAgICRfaWNvbi1mb250LWRpc3BsYXkgIDogYmxvY2tcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLy9wYWRkaW5nOiA3cHggJGluZGVudF9fbCA3cHggJGluZGVudF9feHM7XG4gICAgICAgIHBhZGRpbmc6IDdweCAkaW5kZW50X19sIDdweCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTExLjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAuY29sdW1uLm1haW4gJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxOCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgPiAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgOiAkaWNvbi11cCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgRHJvcGRvd25zXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgU2ltcGxlIGRyb3Bkb3duXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsaWItZHJvcGRvd24oXG4gICAgJF90b2dnbGUtc2VsZWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiLmFjdGlvbi50b2dnbGVcIixcbiAgICAkX29wdGlvbnMtc2VsZWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJ1bC5kcm9wZG93blwiLFxuXG4gICAgJF9kcm9wZG93bi1hY3Rpb25zLXBhZGRpbmcgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1hY3Rpb25zX19wYWRkaW5nLFxuICAgICRfZHJvcGRvd24tbGlzdC1taW4td2lkdGggICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fbWluLXdpZHRoLFxuICAgICRfZHJvcGRvd24tbGlzdC13aWR0aCAgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fd2lkdGgsXG4gICAgJF9kcm9wZG93bi1saXN0LWhlaWdodCAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0X19oZWlnaHQsXG4gICAgJF9kcm9wZG93bi1saXN0LW1hcmdpbi10b3AgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0X19tYXJnaW4tdG9wLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi10b3AgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fcG9zaXRpb24tdG9wLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1ib3R0b20gICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fcG9zaXRpb24tYm90dG9tLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1sZWZ0ICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fcG9zaXRpb24tbGVmdCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tcmlnaHQgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3RfX3Bvc2l0aW9uLXJpZ2h0LFxuICAgICRfZHJvcGRvd24tbGlzdC1iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fYmFja2dyb3VuZCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3RfX2JvcmRlcixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlciAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3RfX3BvaW50ZXIsXG4gICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItYm9yZGVyICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0LXBvaW50ZXJfX2JvcmRlcixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbiAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3QtcG9pbnRlcl9fcG9zaXRpb24sXG4gICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tdG9wICAgICAgICA6ICRkcm9wZG93bi1saXN0LXBvaW50ZXJfX3Bvc2l0aW9uLXRvcCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi1sZWZ0LXJpZ2h0IDogJGRyb3Bkb3duLWxpc3QtcG9pbnRlcl9fcG9zaXRpb24tbGVmdC1yaWdodCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ib3JkZXIgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3QtaXRlbV9fYm9yZGVyLFxuICAgICRfZHJvcGRvd24tbGlzdC1pdGVtLXBhZGRpbmcgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdC1pdGVtX19wYWRkaW5nLFxuICAgICRfZHJvcGRvd24tbGlzdC1pdGVtLW1hcmdpbiAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdC1pdGVtX19tYXJnaW4sXG4gICAgJF9kcm9wZG93bi1saXN0LWl0ZW0taG92ZXIgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0LWl0ZW1fX2hvdmVyLFxuICAgICRfZHJvcGRvd24tbGlzdC1zaGFkb3cgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fc2hhZG93LFxuICAgICRfZHJvcGRvd24tbGlzdC16LWluZGV4ICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fei1pbmRleCxcblxuICAgICRfZHJvcGRvd24tdG9nZ2xlLWljb24tY29udGVudCAgICAgICAgICAgICAgOiAkZHJvcGRvd24tdG9nZ2xlLWljb25fX2NvbnRlbnQsXG4gICAgJF9kcm9wZG93bi10b2dnbGUtYWN0aXZlLWljb24tY29udGVudCAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fYWN0aXZlX19jb250ZW50LFxuXG4gICAgJF9pY29uLWZvbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fZm9udCxcbiAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXRvZ2dsZS1pY29uX19mb250LXNpemUsXG4gICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fZm9udC1saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXRvZ2dsZS1pY29uX19mb250LWNvbG9yLFxuICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tdG9nZ2xlLWljb25fX2ZvbnQtY29sb3ItaG92ZXIsXG4gICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fZm9udC1jb2xvci1hY3RpdmUsXG4gICAgJF9pY29uLWZvbnQtbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fZm9udC1tYXJnaW4sXG4gICAgJF9pY29uLWZvbnQtcG9zaXRpb24gICAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fcG9zaXRpb24sXG4gICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXRvZ2dsZS1pY29uX190ZXh0LWhpZGVcbikge1xuICAgIEBpbmNsdWRlIGxpYi1jbGVhcmZpeCgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAjeyRfdG9nZ2xlLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9kcm9wZG93bi1hY3Rpb25zLXBhZGRpbmcpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgX2xpYi1kcm9wZG93bi1pY29uKFxuICAgICAgICAgICAgJF9kcm9wZG93bi10b2dnbGUtaWNvbi1jb250ZW50LFxuICAgICAgICAgICAgJF9kcm9wZG93bi10b2dnbGUtYWN0aXZlLWljb24tY29udGVudCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGVcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfbGliLWRyb3Bkb3duLXN0eWxlcyhcbiAgICAgICAgJF9vcHRpb25zLXNlbGVjdG9yLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtbWluLXdpZHRoLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3Qtd2lkdGgsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1oZWlnaHQsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1tYXJnaW4tdG9wLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtYmFja2dyb3VuZCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LWJvcmRlcixcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXotaW5kZXgsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1zaGFkb3csXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1pdGVtLXBhZGRpbmcsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1pdGVtLW1hcmdpbixcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LWl0ZW0tYm9yZGVyLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ob3ZlcixcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLXRvcCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWJvdHRvbSxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWxlZnQsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1yaWdodCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXIsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLWJvcmRlcixcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24sXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLXBvc2l0aW9uLXRvcCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tbGVmdC1yaWdodFxuICAgICk7XG59XG5cbi8vXG4vLyAgU3BsaXQgZHJvcGRvd25cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpYi1kcm9wZG93bi1zcGxpdChcbiAgICAkX3RvZ2dsZS1zZWxlY3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCIuYWN0aW9uLnRvZ2dsZVwiLFxuICAgICRfb3B0aW9ucy1zZWxlY3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcInVsLmRyb3Bkb3duXCIsXG4gICAgJF9idXR0b24tc2VsZWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiLmFjdGlvbi5zcGxpdFwiLFxuXG4gICAgJF9kcm9wZG93bi1zcGxpdC1hY3Rpb25zLXBhZGRpbmcgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1hY3Rpb25zX19wYWRkaW5nLFxuICAgICRfZHJvcGRvd24tc3BsaXQtYnV0dG9uLWFjdGlvbnMtcGFkZGluZyAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtYnV0dG9uX19hY3Rpb25zX19wYWRkaW5nLFxuICAgICRfZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWFjdGlvbnMtcGFkZGluZyAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtdG9nZ2xlX19hY3Rpb25zX19wYWRkaW5nLFxuICAgICRfZHJvcGRvd24tc3BsaXQtdG9nZ2xlLXBvc2l0aW9uICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtdG9nZ2xlX19wb3NpdGlvbixcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtbWluLXdpZHRoICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX21pbi13aWR0aCxcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3Qtd2lkdGggICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX3dpZHRoLFxuICAgICRfZHJvcGRvd24tc3BsaXQtbGlzdC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtbGlzdF9faGVpZ2h0LFxuICAgICRfZHJvcGRvd24tc3BsaXQtbGlzdC1tYXJnaW4tdG9wICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtbGlzdF9fbWFyZ2luLXRvcCxcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtcG9zaXRpb24tdG9wICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX3Bvc2l0aW9uLXRvcCxcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtcG9zaXRpb24tYm90dG9tICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX3Bvc2l0aW9uLWJvdHRvbSxcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtcG9zaXRpb24tbGVmdCAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX3Bvc2l0aW9uLWxlZnQsXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LXBvc2l0aW9uLXJpZ2h0ICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1saXN0X19wb3NpdGlvbi1yaWdodCxcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX2JhY2tncm91bmQsXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LWJvcmRlciAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1saXN0X19ib3JkZXIsXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LXBvaW50ZXIgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1saXN0X19wb2ludGVyLFxuICAgICRfZHJvcGRvd24tc3BsaXQtbGlzdC1wb2ludGVyLWJvcmRlciAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtbGlzdF9fcG9pbnRlci1ib3JkZXIsXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LXBvaW50ZXItcG9zaXRpb24gICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1saXN0X19wb2ludGVyLXBvc2l0aW9uLFxuICAgICRfZHJvcGRvd24tc3BsaXQtbGlzdC1wb2ludGVyLXBvc2l0aW9uLXRvcCAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtbGlzdF9fcG9pbnRlci1wb3NpdGlvbi10b3AsXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LXBvaW50ZXItcG9zaXRpb24tbGVmdC1yaWdodCA6ICRkcm9wZG93bi1zcGxpdC1saXN0X19wb2ludGVyLXBvc2l0aW9uLWxlZnQtcmlnaHQsXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LWl0ZW0tYm9yZGVyICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1saXN0X19pdGVtLWJvcmRlcixcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtaXRlbS1wYWRkaW5nICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX2l0ZW0tcGFkZGluZyxcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtaXRlbS1tYXJnaW4gICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWxpc3RfX2l0ZW0tbWFyZ2luLFxuICAgICRfZHJvcGRvd24tc3BsaXQtbGlzdC1pdGVtLWhvdmVyICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtbGlzdF9faXRlbS1ob3ZlcixcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LWJ1dHRvbi1ib3JkZXItcmFkaXVzLWZpeCAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LWJ1dHRvbl9fYm9yZGVyLXJhZGl1cy1maXgsXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LXNoYWRvdyAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1saXN0X19zaGFkb3csXG4gICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LXotaW5kZXggICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC1saXN0X196LWluZGV4LFxuXG4gICAgJF9kcm9wZG93bi1zcGxpdC10b2dnbGUtaWNvbi1jb250ZW50ICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC10b2dnbGUtaWNvbl9fY29udGVudCxcbiAgICAkX2Ryb3Bkb3duLXNwbGl0LXRvZ2dsZS1hY3RpdmUtaWNvbi1jb250ZW50ICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19hY3RpdmVfX2NvbnRlbnQsXG5cbiAgICAkX2ljb24tZm9udCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19mb250LFxuICAgICRfaWNvbi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2ZvbnQtc2l6ZSxcbiAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19mb250LWxpbmUtaGVpZ2h0LFxuICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2ZvbnQtY29sb3IsXG4gICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1zcGxpdC10b2dnbGUtaWNvbl9fZm9udC1jb2xvci1ob3ZlcixcbiAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAkX2ljb24tZm9udC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19mb250LW1hcmdpbixcbiAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiAgICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19mb250LXZlcnRpY2FsLWFsaWduLFxuICAgICRfaWNvbi1mb250LXBvc2l0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX3Bvc2l0aW9uLFxuICAgICRfaWNvbi1mb250LXRleHQtaGlkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX3RleHQtaGlkZVxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNsZWFyZml4KCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIF9saWItZHJvcGRvd24tc3BsaXQtdG9nZ2xlLXBvc2l0aW9uKFxuICAgICAgICAkX2J1dHRvbi1zZWxlY3RvcixcbiAgICAgICAgJF90b2dnbGUtc2VsZWN0b3IsXG4gICAgICAgICRfZHJvcGRvd24tc3BsaXQtdG9nZ2xlLXBvc2l0aW9uLFxuICAgICAgICAkX2Ryb3Bkb3duLXNwbGl0LWJ1dHRvbi1ib3JkZXItcmFkaXVzLWZpeFxuICAgICk7XG5cbiAgICAjeyRfYnV0dG9uLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9kcm9wZG93bi1zcGxpdC1idXR0b24tYWN0aW9ucy1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAjeyRfdG9nZ2xlLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9kcm9wZG93bi1zcGxpdC10b2dnbGUtYWN0aW9ucy1wYWRkaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1kcm9wZG93bi1zcGxpdC1pY29uKFxuICAgICAgICAgICAgJF9kcm9wZG93bi1zcGxpdC10b2dnbGUtaWNvbi1jb250ZW50LFxuICAgICAgICAgICAgJF9kcm9wZG93bi1zcGxpdC10b2dnbGUtYWN0aXZlLWljb24tY29udGVudCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGVcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfbGliLWRyb3Bkb3duLXN0eWxlcyhcbiAgICAgICAgJF9vcHRpb25zLXNlbGVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRfb3B0aW9ucy1zZWxlY3RvcixcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LW1pbi13aWR0aCAgICAgICAgICAgICAgICAgICA6ICRfZHJvcGRvd24tc3BsaXQtbGlzdC1taW4td2lkdGgsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC13aWR0aCAgICAgICAgICAgICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3Qtd2lkdGgsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtaGVpZ2h0LFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtbWFyZ2luLXRvcCAgICAgICAgICAgICAgICAgIDogJF9kcm9wZG93bi1zcGxpdC1saXN0LW1hcmdpbi10b3AsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtYmFja2dyb3VuZCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LWJvcmRlciAgICAgICAgICAgICAgICAgICAgICA6ICRfZHJvcGRvd24tc3BsaXQtbGlzdC1ib3JkZXIsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC16LWluZGV4ICAgICAgICAgICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3Qtei1pbmRleCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXNoYWRvdyAgICAgICAgICAgICAgICAgICAgICA6ICRfZHJvcGRvd24tc3BsaXQtbGlzdC1zaGFkb3csXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1pdGVtLXBhZGRpbmcgICAgICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtaXRlbS1wYWRkaW5nLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1tYXJnaW4gICAgICAgICAgICAgICAgIDogJF9kcm9wZG93bi1zcGxpdC1saXN0LWl0ZW0tbWFyZ2luLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ib3JkZXIgICAgICAgICAgICAgICAgIDogJF9kcm9wZG93bi1zcGxpdC1saXN0LWl0ZW0tYm9yZGVyLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ob3ZlciAgICAgICAgICAgICAgICAgIDogJF9kcm9wZG93bi1zcGxpdC1saXN0LWl0ZW0taG92ZXIsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi10b3AgICAgICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtcG9zaXRpb24tdG9wLFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tYm90dG9tICAgICAgICAgICAgIDogJF9kcm9wZG93bi1zcGxpdC1saXN0LXBvc2l0aW9uLWJvdHRvbSxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWxlZnQgICAgICAgICAgICAgICA6ICRfZHJvcGRvd24tc3BsaXQtbGlzdC1wb3NpdGlvbi1sZWZ0LFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tcmlnaHQgICAgICAgICAgICAgIDogJF9kcm9wZG93bi1zcGxpdC1saXN0LXBvc2l0aW9uLXJpZ2h0LFxuICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlciAgICAgICAgICAgICAgICAgICAgIDogJF9kcm9wZG93bi1zcGxpdC1saXN0LXBvaW50ZXIsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLWJvcmRlciAgICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtcG9pbnRlci1ib3JkZXIsXG4gICAgICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLXBvc2l0aW9uICAgICAgICAgICAgOiAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtcG9pbnRlci1wb3NpdGlvbixcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tdG9wICAgICAgICA6ICRfZHJvcGRvd24tc3BsaXQtbGlzdC1wb2ludGVyLXBvc2l0aW9uLXRvcCxcbiAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tbGVmdC1yaWdodCA6ICRfZHJvcGRvd24tc3BsaXQtbGlzdC1wb2ludGVyLXBvc2l0aW9uLWxlZnQtcmlnaHRcbiAgICApO1xufVxuXG4vL1xuLy8gIEludGVybmFsIHVzZSBtaXhpbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIF9saWItZHJvcGRvd24tc3R5bGVzKFxuICAgICRfb3B0aW9ucy1zZWxlY3RvcixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtbWluLXdpZHRoLFxuICAgICRfZHJvcGRvd24tbGlzdC13aWR0aCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtaGVpZ2h0LFxuICAgICRfZHJvcGRvd24tbGlzdC1tYXJnaW4tdG9wLFxuICAgICRfZHJvcGRvd24tbGlzdC1iYWNrZ3JvdW5kLFxuICAgICRfZHJvcGRvd24tbGlzdC1ib3JkZXIsXG4gICAgJF9kcm9wZG93bi1saXN0LXotaW5kZXgsXG4gICAgJF9kcm9wZG93bi1saXN0LXNoYWRvdyxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1wYWRkaW5nLFxuICAgICRfZHJvcGRvd24tbGlzdC1pdGVtLW1hcmdpbixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ib3JkZXIsXG4gICAgJF9kcm9wZG93bi1saXN0LWl0ZW0taG92ZXIsXG4gICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLXRvcCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tYm90dG9tLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1sZWZ0LFxuICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1yaWdodCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlcixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1ib3JkZXIsXG4gICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24sXG4gICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tdG9wLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLXBvc2l0aW9uLWxlZnQtcmlnaHRcbikge1xuICAgICN7JF9vcHRpb25zLXNlbGVjdG9yfSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2Ryb3Bkb3duLWxpc3QtYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX2Ryb3Bkb3duLWxpc3QtYm9yZGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRfZHJvcGRvd24tbGlzdC1oZWlnaHQpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfZHJvcGRvd24tbGlzdC1tYXJnaW4tdG9wKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtaW4td2lkdGgsICRfZHJvcGRvd24tbGlzdC1taW4td2lkdGgpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkX2Ryb3Bkb3duLWxpc3Qtd2lkdGgpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHotaW5kZXgsICRfZHJvcGRvd24tbGlzdC16LWluZGV4KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIF9saWItZHJvcGRvd24tbGlzdC1wb3NpdGlvbihcbiAgICAgICAgICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi10b3AsXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tYm90dG9tLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWxlZnQsXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tcmlnaHRcbiAgICAgICAgKTtcblxuICAgICAgICBAaW5jbHVkZSBfbGliLWRyb3Bkb3duLWxpc3Qtc2hhZG93KCRfZHJvcGRvd24tbGlzdC1zaGFkb3cpO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1tYXJnaW4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1wYWRkaW5nKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1kcm9wZG93bi1saXN0LWl0ZW0tYm9yZGVyKFxuICAgICAgICAgICAgICAgICRfZHJvcGRvd24tbGlzdC1pdGVtLWJvcmRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ob3Zlcik7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgX2xpYi1kcm9wZG93bi1saXN0LXBvaW50ZXIoXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtYmFja2dyb3VuZCxcbiAgICAgICAgICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItYm9yZGVyLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24sXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi10b3AsXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi1sZWZ0LXJpZ2h0XG4gICAgICAgICk7XG5cblxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgI3skX29wdGlvbnMtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERyb3Bkb3duIGxpc3QgcG9zaXRpb25cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIF9saWItZHJvcGRvd24tbGlzdC1wb3NpdGlvbihcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tdG9wLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1ib3R0b20sXG4gICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWxlZnQsXG4gICAgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLXJpZ2h0XG4pIHtcbiAgICBAaWYgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLXRvcCAhPSBmYWxzZSBhbmQgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLXRvcCAhPSBhdXRvIHtcbiAgICAgICAgdG9wOiAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tdG9wO1xuICAgIH1cbiAgICBAaWYgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWJvdHRvbSAhPSBmYWxzZSBhbmQgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWJvdHRvbSAhPSBhdXRvIHtcbiAgICAgICAgYm90dG9tOiAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tYm90dG9tO1xuICAgIH1cbiAgICBAaWYgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLWxlZnQgIT0gZmFsc2UgYW5kICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1sZWZ0ICE9IGF1dG8ge1xuICAgICAgICBsZWZ0OiAkX2Ryb3Bkb3duLWxpc3QtcG9zaXRpb24tbGVmdDtcbiAgICB9XG4gICAgQGlmICRfZHJvcGRvd24tbGlzdC1wb3NpdGlvbi1yaWdodCAhPSBmYWxzZSBhbmQgJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLXJpZ2h0ICE9IGF1dG8ge1xuICAgICAgICByaWdodDogJF9kcm9wZG93bi1saXN0LXBvc2l0aW9uLXJpZ2h0O1xuICAgIH1cbn1cblxuXG4vL1xuLy8gIFNpbXBsZSBkcm9wZG93biBpY29uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfbGliLWRyb3Bkb3duLWljb24oXG4gICAgJF9kcm9wZG93bi10b2dnbGUtaWNvbi1jb250ZW50LFxuICAgICRfZHJvcGRvd24tdG9nZ2xlLWFjdGl2ZS1pY29uLWNvbnRlbnQsXG4gICAgJF9pY29uLWZvbnQsXG4gICAgJF9pY29uLWZvbnQtc2l6ZSxcbiAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1jb2xvcixcbiAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlcixcbiAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgJF9pY29uLWZvbnQtbWFyZ2luLFxuICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduLFxuICAgICRfaWNvbi1mb250LXBvc2l0aW9uLFxuICAgICRfaWNvbi1mb250LXRleHQtaGlkZVxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgJF9pY29uLWZvbnQtY29udGVudDogJF9kcm9wZG93bi10b2dnbGUtaWNvbi1jb250ZW50LFxuICAgICAgICAkX2ljb24tZm9udDogJF9pY29uLWZvbnQsXG4gICAgICAgICRfaWNvbi1mb250LXNpemU6ICRfaWNvbi1mb250LXNpemUsXG4gICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0OiAkX2ljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgJF9pY29uLWZvbnQtY29sb3I6ICRfaWNvbi1mb250LWNvbG9yLFxuICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlcjogJF9pY29uLWZvbnQtY29sb3ItaG92ZXIsXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZTogJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlLFxuICAgICAgICAkX2ljb24tZm9udC1tYXJnaW46ICRfaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ246ICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduLFxuICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbjogJF9pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZTogJF9pY29uLWZvbnQtdGV4dC1oaWRlXG4gICAgKTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQ6ICRfZHJvcGRvd24tdG9nZ2xlLWFjdGl2ZS1pY29uLWNvbnRlbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udDogJF9pY29uLWZvbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1zaXplOiAkX2ljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQ6ICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3I6ICRfaWNvbi1mb250LWNvbG9yLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXI6ICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlOiAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW46ICRfaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduOiAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uOiAkX2ljb24tZm9udC1wb3NpdGlvbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZTogJF9pY29uLWZvbnQtdGV4dC1oaWRlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vL1xuLy8gIFNwbGl0IGRyb3Bkb3duc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAgU3BsaXQgZHJvcGRvd24gaWNvblxuQG1peGluIF9saWItZHJvcGRvd24tc3BsaXQtaWNvbihcbiAgICAkX2Ryb3Bkb3duLXRvZ2dsZS1pY29uLWNvbnRlbnQsXG4gICAgJF9kcm9wZG93bi10b2dnbGUtYWN0aXZlLWljb24tY29udGVudCxcbiAgICAkX2ljb24tZm9udCxcbiAgICAkX2ljb24tZm9udC1zaXplLFxuICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICRfaWNvbi1mb250LWNvbG9yLFxuICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAkX2ljb24tZm9udC1tYXJnaW4sXG4gICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgJF9pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlXG4pIHtcbiAgICBAaW5jbHVkZSBsaWItYnV0dG9uLWljb24oXG4gICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQ6ICRfZHJvcGRvd24tdG9nZ2xlLWljb24tY29udGVudCxcbiAgICAgICAgJF9pY29uLWZvbnQ6ICRfaWNvbi1mb250LFxuICAgICAgICAkX2ljb24tZm9udC1zaXplOiAkX2ljb24tZm9udC1zaXplLFxuICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodDogJF9pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgICAgICRfaWNvbi1mb250LWNvbG9yOiAkX2ljb24tZm9udC1jb2xvcixcbiAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXI6ICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmU6ICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luOiAkX2ljb24tZm9udC1tYXJnaW4sXG4gICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduOiAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb246ICRfaWNvbi1mb250LXBvc2l0aW9uLFxuICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGU6ICRfaWNvbi1mb250LXRleHQtaGlkZVxuICAgICk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24taWNvbihcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQ6ICRfZHJvcGRvd24tdG9nZ2xlLWFjdGl2ZS1pY29uLWNvbnRlbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udDogJF9pY29uLWZvbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1zaXplOiAkX2ljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQ6ICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3I6ICRfaWNvbi1mb250LWNvbG9yLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXI6ICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlOiAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW46ICRfaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduOiAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uOiAkX2ljb24tZm9udC1wb3NpdGlvbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZTogJF9pY29uLWZvbnQtdGV4dC1oaWRlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4gX2xpYi1kcm9wZG93bi1zcGxpdC10b2dnbGUtcG9zaXRpb24oXG4gICAgJF9idXR0b24tc2VsZWN0b3IsXG4gICAgJF90b2dnbGUtc2VsZWN0b3IsXG4gICAgJF9kcm9wZG93bi1zcGxpdC10b2dnbGUtcG9zaXRpb24sXG4gICAgJF9kcm9wZG93bi1zcGxpdC1idXR0b24tYm9yZGVyLXJhZGl1cy1maXhcbikge1xuICAgIEBpZiAkX2Ryb3Bkb3duLXNwbGl0LXRvZ2dsZS1wb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgI3skX2J1dHRvbi1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICN7JF90b2dnbGUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkX2Ryb3Bkb3duLXNwbGl0LWJ1dHRvbi1ib3JkZXItcmFkaXVzLWZpeCB7XG4gICAgICAgICAgICBidXR0b24jeyRfYnV0dG9uLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24gKyAjeyRfdG9nZ2xlLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRfZHJvcGRvd24tc3BsaXQtdG9nZ2xlLXBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgI3skX2J1dHRvbi1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgI3skX3RvZ2dsZS1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkX2Ryb3Bkb3duLXNwbGl0LWJ1dHRvbi1ib3JkZXItcmFkaXVzLWZpeCB7XG4gICAgICAgICAgICBidXR0b24jeyRfYnV0dG9uLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbiArICN7JF90b2dnbGUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRHJvcGRvd24gc2hvdyBwb2ludGVyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfbGliLWRyb3Bkb3duLWxpc3QtcG9pbnRlcihcbiAgICAkX2Ryb3Bkb3duLWxpc3QtYmFja2dyb3VuZCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlcixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1ib3JkZXIsXG4gICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24sXG4gICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tdG9wLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLXBvc2l0aW9uLWxlZnQtcmlnaHRcbikge1xuICAgIEBpZiAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlciB7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZHJvcGRvd24tcG9pbnRlcihcbiAgICAgICAgICAgICRfZHJvcGRvd24tbGlzdC1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItYm9yZGVyLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24sXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi10b3AsXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi1sZWZ0LXJpZ2h0XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4gX2xpYi1kcm9wZG93bi1wb2ludGVyKFxuICAgICRfZHJvcGRvd24tbGlzdC1iYWNrZ3JvdW5kLFxuICAgICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLWJvcmRlcixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbixcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi10b3AsXG4gICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tbGVmdC1yaWdodFxuKSB7XG4gICAgQGlmICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLXBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBfbGliLWRyb3Bkb3duLXBvaW50ZXItZGVmYXVsdChcbiAgICAgICAgICAgICRfZHJvcGRvd24tbGlzdC1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItYm9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsZWZ0LCAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi1sZWZ0LXJpZ2h0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxlZnQsICRfZHJvcGRvd24tbGlzdC1wb2ludGVyLXBvc2l0aW9uLWxlZnQtcmlnaHQgLSAxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi10b3AgLSAyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIF9saWItZHJvcGRvd24tcG9pbnRlci1kZWZhdWx0KFxuICAgICAgICAgICAgJF9kcm9wZG93bi1saXN0LWJhY2tncm91bmQsXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1ib3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHJpZ2h0LCAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi1sZWZ0LXJpZ2h0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHJpZ2h0LCAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1wb3NpdGlvbi1sZWZ0LXJpZ2h0IC0gMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRvcCwgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItcG9zaXRpb24tdG9wIC0gMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLWRyb3Bkb3duLXBvaW50ZXItZGVmYXVsdChcbiAgICAkX2Ryb3Bkb3duLWxpc3QtYmFja2dyb3VuZCxcbiAgICAkX2Ryb3Bkb3duLWxpc3QtcG9pbnRlci1ib3JkZXJcbikge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRfZHJvcGRvd24tbGlzdC1iYWNrZ3JvdW5kIHRyYW5zcGFyZW50KTtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlcjogN3B4IHNvbGlkO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1jb2xvciwgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJF9kcm9wZG93bi1saXN0LXBvaW50ZXItYm9yZGVyIHRyYW5zcGFyZW50KTtcbiAgICAgICAgei1pbmRleDogOTg7XG4gICAgfVxufVxuXG4vLyAgRHJvcGRvd24gbGlzdCBpdGVtIGJvcmRlciAhPSAwXG5AbWl4aW4gX2xpYi1kcm9wZG93bi1saXN0LWl0ZW0tYm9yZGVyKCRfZHJvcGRvd24tbGlzdC1pdGVtLWJvcmRlcikge1xuICAgIEBpZiAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ib3JkZXIgIT0gZmFsc2UgYW5kICRfZHJvcGRvd24tbGlzdC1pdGVtLWJvcmRlciAhPSAwIGFuZCAkX2Ryb3Bkb3duLWxpc3QtaXRlbS1ib3JkZXIgIT0gJycge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AsICRfZHJvcGRvd24tbGlzdC1pdGVtLWJvcmRlcik7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAgRHJvcGRvd24gbGlzdCBzaGFkb3dcbkBtaXhpbiBfbGliLWRyb3Bkb3duLWxpc3Qtc2hhZG93KCRfZHJvcGRvd24tbGlzdC1zaGFkb3cpIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJveC1zaGFkb3csICRfZHJvcGRvd24tbGlzdC1zaGFkb3cpO1xufVxuIiwiLy9cbi8vICBEcm9wZG93bnMgdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgVmFyaWFibGVzIHNpbXBsZSBkcm9wZG93blxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tYWN0aW9uc19fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saXN0X19taW4td2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgOiAxMDAlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX3dpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX2hlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX21hcmdpbi10b3AgICAgICAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saXN0X19wb3NpdGlvbi10b3AgICAgICAgICAgICAgICAgICAgICAgOiAxMDAlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX3Bvc2l0aW9uLXJpZ2h0ICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX3Bvc2l0aW9uLWJvdHRvbSAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX3Bvc2l0aW9uLWxlZnQgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX3BvaW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRydWUgIWRlZmF1bHQ7IC8vIFt0cnVlfGZhbHNlXVxuJGRyb3Bkb3duLWxpc3RfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saXN0X19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQyICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3RfX3NoYWRvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0OyAvLyBbJyd8bm9uZXx2YWx1ZV1cbiRkcm9wZG93bi1saXN0X196LWluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saXN0LXBvaW50ZXJfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheS1saWdodDIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGlzdC1wb2ludGVyX19wb3NpdGlvbiAgICAgICAgICAgICAgICAgIDogbGVmdCAhZGVmYXVsdDsgLy8gW2xlZnR8cmlnaHRdXG4kZHJvcGRvd24tbGlzdC1wb2ludGVyX19wb3NpdGlvbi10b3AgICAgICAgICAgICAgIDogLTEycHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGlzdC1wb2ludGVyX19wb3NpdGlvbi1sZWZ0LXJpZ2h0ICAgICAgIDogMTBweCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpc3QtaXRlbV9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGlzdC1pdGVtX19wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgIDogM3B4ICRpbmRlbnRfX3hzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpc3QtaXRlbV9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGlzdC1pdGVtX19ob3ZlciAgICAgICAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWdyYXk5MSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXRvZ2dsZS1pY29uX19jb250ZW50ICAgICAgICAgICAgICAgICAgICA6ICRpY29uLXBvaW50ZXItZG93biAhZGVmYXVsdDtcbiRkcm9wZG93bi10b2dnbGUtaWNvbl9fZm9udCAgICAgICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2ZvbnQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tdG9nZ2xlLWljb25fX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19mb250LXNpemUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tdG9nZ2xlLWljb25fX2ZvbnQtbGluZS1oZWlnaHQgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRkcm9wZG93bi10b2dnbGUtaWNvbl9fZm9udC1jb2xvciAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2NvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXRvZ2dsZS1pY29uX19mb250LWNvbG9yLWhvdmVyICAgICAgICAgICA6ICRidXR0b24taWNvbl9faG92ZXJfX2ZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tdG9nZ2xlLWljb25fX2ZvbnQtY29sb3ItYWN0aXZlICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19hY3RpdmVfX2ZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tdG9nZ2xlLWljb25fX2ZvbnQtbWFyZ2luICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tdG9nZ2xlLWljb25fX3Bvc2l0aW9uICAgICAgICAgICAgICAgICAgIDogYWZ0ZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tdG9nZ2xlLWljb25fX2ZvbnQtdmVydGljYWwtYWxpZ24gICAgICAgIDogJGJ1dHRvbi1pY29uX192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiRkcm9wZG93bi10b2dnbGUtaWNvbl9fdGV4dC1oaWRlICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX3RleHQtaGlkZSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXRvZ2dsZS1pY29uX19hY3RpdmVfX2NvbnRlbnQgICAgICAgICAgICA6ICRpY29uLXBvaW50ZXItdXAgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgVmFyaWFibGVzIHNwbGl0IGRyb3Bkb3duXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1zcGxpdC1hY3Rpb25zX19wYWRkaW5nICAgICAgICAgICAgICAgICAgOiAwICRpbmRlbnRfX3hzICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZV9fYWN0aW9uc19fcGFkZGluZyAgICAgICAgICA6IDRweCAkaW5kZW50X194cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1idXR0b25fX2FjdGlvbnNfX3BhZGRpbmcgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC10b2dnbGVfX3Bvc2l0aW9uICAgICAgICAgICAgICAgICAgOiByaWdodCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXNwbGl0LWxpc3RfX21pbi13aWR0aCAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0X19taW4td2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtbGlzdF9fd2lkdGggICAgICAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3RfX3dpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwbGl0LWxpc3RfX2hlaWdodCAgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0X19oZWlnaHQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtbGlzdF9fbWFyZ2luLXRvcCAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3RfX21hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtbGlzdF9fcG9zaXRpb24tdG9wICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3RfX3Bvc2l0aW9uLXRvcCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19wb3NpdGlvbi1yaWdodCAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fcG9zaXRpb24tcmlnaHQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtbGlzdF9fcG9zaXRpb24tYm90dG9tICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3RfX3Bvc2l0aW9uLWJvdHRvbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19wb3NpdGlvbi1sZWZ0ICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fcG9zaXRpb24tbGVmdCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwbGl0LWxpc3RfX3BvaW50ZXIgICAgICAgICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0X19wb2ludGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwbGl0LWxpc3RfX3BvaW50ZXItYm9yZGVyICAgICAgICAgICAgICA6ICRkcm9wZG93bi1saXN0LXBvaW50ZXJfX2JvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19wb2ludGVyLXBvc2l0aW9uICAgICAgICAgICAgOiAkZHJvcGRvd24tc3BsaXQtdG9nZ2xlX19wb3NpdGlvbiAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19wb2ludGVyLXBvc2l0aW9uLXRvcCAgICAgICAgOiAkZHJvcGRvd24tbGlzdC1wb2ludGVyX19wb3NpdGlvbi10b3AgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtbGlzdF9fcG9pbnRlci1wb3NpdGlvbi1sZWZ0LXJpZ2h0IDogJGRyb3Bkb3duLWxpc3QtcG9pbnRlcl9fcG9zaXRpb24tbGVmdC1yaWdodCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19pdGVtLWJvcmRlciAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdC1pdGVtX19ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtbGlzdF9faXRlbS1wYWRkaW5nICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3QtaXRlbV9fcGFkZGluZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19pdGVtLW1hcmdpbiAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdC1pdGVtX19tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtbGlzdF9faXRlbS1ob3ZlciAgICAgICAgICAgICAgICAgIDogJGRyb3Bkb3duLWxpc3QtaXRlbV9faG92ZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zcGxpdC1idXR0b25fX2JvcmRlci1yYWRpdXMtZml4ICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC1saXN0X19zaGFkb3cgICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fc2hhZG93ICFkZWZhdWx0OyAvLyBbJyd8bm9uZXx2YWx1ZV1cbiRkcm9wZG93bi1zcGxpdC1saXN0X196LWluZGV4ICAgICAgICAgICAgICAgICAgICAgOiAkZHJvcGRvd24tbGlzdF9fei1pbmRleCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19jb250ZW50ICAgICAgICAgICAgICA6ICRkcm9wZG93bi10b2dnbGUtaWNvbl9fY29udGVudCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC10b2dnbGUtaWNvbl9fZm9udCAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2ZvbnQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2ZvbnQtc2l6ZSAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19mb250LXNpemUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2ZvbnQtbGluZS1oZWlnaHQgICAgIDogJGJ1dHRvbi1pY29uX19saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC10b2dnbGUtaWNvbl9fZm9udC1jb2xvciAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2NvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX19mb250LWNvbG9yLWhvdmVyICAgICA6ICRidXR0b24taWNvbl9faG92ZXJfX2ZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2ZvbnQtY29sb3ItYWN0aXZlICAgIDogJGJ1dHRvbi1pY29uX19hY3RpdmVfX2ZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2ZvbnQtbWFyZ2luICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2ZvbnQtdmVydGljYWwtYWxpZ24gIDogJGJ1dHRvbi1pY29uX192ZXJ0aWNhbC1hbGlnbiAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGxpdC10b2dnbGUtaWNvbl9fcG9zaXRpb24gICAgICAgICAgICAgOiAkZHJvcGRvd24tdG9nZ2xlLWljb25fX3Bvc2l0aW9uICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwbGl0LXRvZ2dsZS1pY29uX190ZXh0LWhpZGUgICAgICAgICAgICA6IHRydWUgIWRlZmF1bHQ7IC8vIFt0cnVlfGZhbHNlXVxuXG4kZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb25fX2FjdGl2ZV9fY29udGVudCAgICAgIDogJGRyb3Bkb3duLXRvZ2dsZS1pY29uX19hY3RpdmVfX2NvbnRlbnQgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gIENvbW1vblxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY29udGFjdC1ibG9jayB7XG5cdG1hcmdpbi10b3A6IDEuNnJlbTtcblx0cGFkZGluZzogMCAxLjZyZW07XG59XG5cbi5jb250YWN0LWJsb2NrX19pbm5lciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kZXNlcnQtc3Rvcm07XG59XG5cbi5jb250YWN0LWJsb2NrX190aXRsZS1jb250YWluZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb250YWN0LWJsb2NrX190aXRsZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC0xcHg7XG5cdHBhZGRpbmc6IDAgMTUlIDQuNXJlbSAxNSU7XG5cdG1hcmdpbjogMCAyJTtcblxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iYWNrZ3JvdW5kcy9jaGFwdGVyLWJhY2tncm91bmQtLWJvdHRvbWhhbGYtLXdoaXRlLnN2ZycpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblxuXHRjb2xvcjogJGNvbG9yLWJsYWNrO1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5X19iYXNlO1xuXHRmb250LXNpemU6IDMuMXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuMTg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jb250YWN0LWJsb2NrX19jb250ZW50LWNvbnRhaW5lciB7XG5cdG1heC13aWR0aDogMTIwLjRyZW07XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiA1cmVtIDMuMnJlbSA5cmVtIDMuMnJlbTtcbn1cblxuLmNvbnRhY3QtYmxvY2tfX2NvbnRlbnQtY29udGFpbmVyLWlubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0bWFyZ2luOiAwIC0xLjZyZW07XG59XG5cbi5jb250YWN0LWJsb2NrX19jb250YWN0LXBlcnNvbnMge1xuXHRmbGV4OiAxIDAgYXV0bztcblx0d2lkdGg6IDY2LjY2NjYlO1xuXHRwYWRkaW5nOiAwIDEuNnJlbTtcbn1cblxuLmNvbnRhY3QtYmxvY2tfX2NvbnRhY3QtcGVyc29uLWl0ZW1zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0bWFyZ2luOiAwIC0xLjNyZW0gLTIuNnJlbSAtMS4zcmVtO1xufVxuXG4uY29udGFjdC1ibG9ja19fY29udGFjdC1wZXJzb24taXRlbSB7XG5cdGZsZXg6IDAgMSBhdXRvO1xuXHR3aWR0aDogNTAlO1xuXHRtaW4td2lkdGg6IDA7XG5cdG1hcmdpbi1ib3R0b206IDIuNnJlbTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuXG4uY29udGFjdC1wZXJzb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsZXg6IDEgMCBhdXRvO1xuXHRwYWRkaW5nOiAwIDEuM3JlbTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXHRcblx0LmNwLWJsb2NrLXRlYXNlcl9fY29udGFpbmVyIHtcblx0XHRmbGV4OiAxIDAgYXV0bztcblxuXHRcdC8qIEJlbG93IHJ1bGVzIGFwcGx5IHRvIG9yaWdpbmFsIERydXBhbCBsYXlvdXQgd2l0aCBjb250YWN0IGltYWdlICovXG5cdFx0Ly8gcGFkZGluZzogMS42cmVtO1xuXHRcdC8vIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcblx0XHQvLyBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2stc3F1ZWV6ZTtcblx0fVxuXG5cdC5jcC1ibG9jay10ZWFzZXJfX2NvbnRhaW5lci1pbm5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtYXJnaW46IDAgLTAuOHJlbTtcblx0fVxuXG5cdC8qIEN1cnJlbnRseSBub3QgaW4gdXNlLCBtaW1pY3MgRHJ1cGFsIGxheW91dCAqL1xuXHQuY3AtYmxvY2stdGVhc2VyX19pbWFnZS1ibG9jayB7XG5cdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0d2lkdGg6IDkuOHJlbTtcblx0XHRtaW4td2lkdGg6IDA7XG5cblx0XHRpbWcgeyAgXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdC8vIFZpc3VhbGx5IGhpZGUgYWx0IHRleHQgd2hlbiBpbWFnZSBpcyBicm9rZW5cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlc2VydC1zdG9ybTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY3AtYmxvY2stdGVhc2VyX190ZXh0LWJsb2NrIHtcblx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRtaW4td2lkdGg6IDA7XG5cblx0XHQvKiBNYWdlbnRvIGNvbnRhY3QgYmxvY2sgKi9cblx0XHRjb2xvcjogJGNvbG9yLWJsdWUtYmxhY2s7XG5cdFx0Zm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblx0fVxuXG5cdC5jcC1ibG9jay10ZWFzZXJfX3RleHQtYmxvY2staW5uZXIge1xuXHRcdHBhZGRpbmc6IDAgMC44cmVtO1xuXHR9XG5cblx0LyogRHJ1cGFsIGNvbnRhY3QgZW50cmllcyAqL1xuXHQuY3AtYmxvY2stdGVhc2VyX19uYW1lIHtcblx0XHRjb2xvcjogJGNvbG9yLW1pbmc7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseV9fYmFzZTtcblx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdH1cblxuXHQuY3AtYmxvY2stdGVhc2VyX19mdW5jdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRjb2xvcjogJGNvbG9yLW1pbmc7XG5cdH1cblxuXHQuY3AtYmxvY2stdGVhc2VyX19jb250YWN0LWRldGFpbHMge1xuXHRcdG1hcmdpbi10b3A6IDAuNHJlbTtcblx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHRsaW5lLWhlaWdodDogMjtcblx0XHRjb2xvcjogJGNvbG9yLWJsYWNrO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0fVxuXHQvKiBFbmQgRHJ1cGFsIHN0eWxlIGVudHJpZXMgKi9cbn1cblxuLmNvbnRhY3QtYmxvY2tfX2xvY2F0aW9ucyB7XG5cdGZsZXg6IDEgMCBhdXRvO1xuXHR3aWR0aDogMzMuMzMzMyU7XG5cdHBhZGRpbmc6IDAgMS42cmVtO1xuXG5cdC5jbC1ibG9jay10ZWFzZXJfX2FkZHJlc3Mge1xuXHRcdGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdC8qIERydXBhbCBzdHlsZSAqL1xuXHRcdC8vIGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdC8vIGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cdFx0LyogRW5kIERydXBhbCBzdHlsZSAqL1xuXG5cdFx0LmFkZHJlc3NfX2xpbmUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0Lm9yZ2FuaXphdGlvbiB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cdH1cbn1cblxuLmNvbnRhY3QtYmxvY2tfX3N1YnRpdGxlIHtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblxuXHRjb2xvcjogJGNvbG9yLWdvbGQtYnJvd247XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHlfX2Jhc2U7XG5cdGZvbnQtc2l6ZTogMi4ycmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuXG5cblxuLy9cbi8vICBQaG9uZXNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX194cykge1xuXG5cdC5jb250YWN0LXBlcnNvbiB7XG5cdFx0LmNwLWJsb2NrLXRlYXNlcl9faW1hZ2UtYmxvY2sge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0fVxuXG5cdFx0LmNwLWJsb2NrLXRlYXNlcl9fdGV4dC1ibG9jayB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblx0fVxuXG59XG5cblxuXG5cbi8vXG4vLyAgVGFibGV0IGFuZCB1bmRlclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcblxuXHQuY29udGFjdC1ibG9ja19fY29udGFjdC1wZXJzb25zIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5jb250YWN0LWJsb2NrX19sb2NhdGlvbnMge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi10b3A6IDNyZW07XG5cdH1cblxuXHQuY29udGFjdC1ibG9ja19fdGl0bGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMi4xcmVtO1xuXHRcdHBhZGRpbmc6IDAgMTAlIDJyZW0gMTAlO1xuXHR9XG5cblx0LmNvbnRhY3QtYmxvY2tfX3N1YnRpdGxlIHtcblx0XHRmb250LXNpemU6IDJyZW07XG5cdH1cblxufVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX2wpIHtcblxuXHQuY29udGFjdC1ibG9ja19fdGl0bGUge1xuXHRcdHBhZGRpbmc6IDAgMTAlIDQuNXJlbSAxMCU7XG5cdH1cblxuXHQuY29udGFjdC1ibG9ja19fY29udGVudC1jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDNyZW0gMi41cmVtIDZyZW0gMi41cmVtO1xuXHR9XG5cblx0LmNvbnRhY3QtYmxvY2tfX2NvbnRhY3QtcGVyc29uLWl0ZW1zIHtcblx0XHRtYXJnaW4tYm90dG9tOiAtMXJlbTtcblx0fVxuXG5cdC5jb250YWN0LWJsb2NrX19jb250YWN0LXBlcnNvbi1pdGVtIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR9XG5cblx0LmNvbnRhY3QtcGVyc29uIHtcblx0XHQuY3AtYmxvY2stdGVhc2VyX19pbWFnZS1ibG9jayB7XG5cdFx0XHRmbGV4LWJhc2lzOiA3cmVtO1xuXHRcdH1cblxuXHRcdC5jcC1ibG9jay10ZWFzZXJfX25hbWUge1xuXHRcdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0fVxuXHR9XG5cbn1cblxuXG5cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbCkge1xuXG5cdC5jb250YWN0LWJsb2NrIHtcblx0XHRtYXJnaW4tdG9wOiAzLjJyZW07XG5cdFx0cGFkZGluZzogMCAzLjJyZW07XG5cdH1cblxufVxuIiwiLy9cbi8vICBWYXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGZvcm0tZmllbGRfX3ZlcnRpY2FsLWluZGVudF9fZGVza3RvcDogMjlweCAhZGVmYXVsdDtcbiRmb3JtLWNhbGVuZGFyLWljb25fX2NvbG9yOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWVsZC10eXBlLWxhYmVsLWlubGluZV9fd2lkdGg6IDMyJTtcbiRmb3JtLWZpZWxkLXR5cGUtY29udHJvbC1pbmxpbmVfX3dpZHRoOiA2OCU7XG5cbi5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgbGliLWZvcm0tZmllbGRzZXQoKTtcbiAgICAvLyAmOmxhc3QtY2hpbGQge1xuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC8vIH1cblxuICAgID4gLmZpZWxkLFxuICAgID4gLmZpZWxkcyA+IC5maWVsZCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWZpZWxkKCk7XG5cbiAgICAgICAgJi5uby1sYWJlbCB7XG4gICAgICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2hvaWNlIHtcbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgLmNvbHVtbjpub3QoLm1haW4pICYge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQuY2hvaWNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG5cbiAgICAgICAgICAgIC8vICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9ZmlsZV0ge1xuICAgICAgICAgICAgbWFyZ2luOiAkaW5kZW50X194cyAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGVnZW5kICsgLmZpZWxkc2V0LFxuLmxlZ2VuZCArIGRpdiB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi5sZWdlbmQge1xuICAgIHN0cm9uZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkaW5kZW50X194cztcbiAgICB9XG59XG5cbmZpZWxkc2V0LmZpZWxkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmZpZWxkIHtcbiAgICAmLmRhdGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtZmllbGQtZGF0ZTtcblxuICAgICAgICAudGltZS1waWNrZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZSB7XG4gICAgICAgICYud2FybmluZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkaW5kZW50X19zO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmllbGQtZXJyb3IsXG5kaXYubWFnZS1lcnJvcltnZW5lcmF0ZWRdIHtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG59XG5cbi5maWVsZC1lcnJvciB7XG4gICAgQGluY2x1ZGUgbGliLWZvcm0tdmFsaWRhdGlvbi1ub3RlKCk7XG59XG5cbi5maWVsZCAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgbGliLXRvb2x0aXAocmlnaHQpO1xuICAgIC50b29sdGlwLWNvbnRlbnQge1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbn1cblxuaW5wdXQsXG5zZWxlY3Qge1xuICAgICY6Zm9jdXMgfiAudG9vbHRpcCAudG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uX2hhcy1kYXRlcGlja2VyIHtcbiAgICB+IC51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXJlc2V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICA6ICRpY29uLWNhbGVuZGFyLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgOiAkcHJpbWFyeV9fY29sb3JfX2xpZ2h0ZXIsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICA6ICRpY29uLWNhbGVuZGFyX19mb250LXNpemUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCA6ICRpY29uLWNhbGVuZGFyX19mb250LXNpemUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1kaXNwbGF5ICAgICA6IGJsb2NrLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlICAgOiB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vXG4vLyAgQ3VzdG9tIGNoZWNrYm94XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpZWxkLmNob2ljZSB7XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xuICAgIFxuICAgICYgKyAubGFiZWwsXG4gICAgJiArIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjJyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEuNXJlbTtcblx0XHRcdFx0aGVpZ2h0OiAxLjVyZW07XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dG9wOiAwLjJyZW07XG5cdFx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyNTBtcztcblxuXHRcdFx0XHRib3JkZXI6IDAuMXJlbSBzb2xpZCAkY29sb3ItbW9vbi1taXN0O1xuXHRcdFx0XHRcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHRcdFx0fVxuICAgIH1cbiAgICBcbiAgICAmOmNoZWNrZWQgKyAubGFiZWwsXG4gICAgJjpjaGVja2VkICsgbGFiZWwge1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAkaWNvbi1jaGVja21hcms7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0fVxuXHRcdH1cblxuICAgICY6ZGlzYWJsZWQgKyAubGFiZWwsXG4gICAgJjpkaXNhYmxlZCArIGxhYmVsIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleTtcblxuXHRcdFx0Jjpob3Zlcjo6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cbiAgfVxufVxuXG5cbi8vXG4vLyAgU2lkZWJhciBmb3Jtc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaWRlYmFyIHtcbiAgICAuZmllbGRzZXQge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgJiA+IC5maWVsZDpub3QoLmNob2ljZSksXG4gICAgICAgIC5maWVsZHMgPiAuZmllbGQge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkZm9ybS1maWVsZF9fdmVydGljYWwtaW5kZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgJGluZGVudF9feHM7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIFNob3BwaW5nIGNhcnQgLSBkaXNjb3VudFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4uY29sdW1uLm1haW4gLmNhcnQtZGlzY291bnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDczJTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgLmJsb2NrIHtcblxuICAgICAgICAvLyBUaXRsZVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICA6ICRpY29uLXVwLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgIDogMTZweCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWRpc3BsYXkgIDogYmxvY2tcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEhvdmVyXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWN0aXZlXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgOiAkaWNvbi1kb3duLFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICA6IDE2cHgsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uIDogYWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWRpc3BsYXkgIDogYmxvY2tcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9ybVxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH0gXG5cbiAgICAgICAgLmFjdGlvbi5jYW5jZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcmVkLCAwLjcpOyBcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcmVkLCAwLjgpO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5maWVsZHNldCB7XG4gICAgICAgIC5sZWdlbmQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLW1hcmdpbi1mb3ItZm9ybXMtZGVza3RvcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmZpZWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWZpZWxkLXR5cGUtcmV2ZXJ0KCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZm9ybS1maWVsZF9fdmVydGljYWwtaW5kZW50X19kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAuY29sdW1uLm1haW4gLmNhcnQtZGlzY291bnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59ICBcbiIsIi8vXG4vLyAgVG9vbHRpcHNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQG1peGluIGxpYi10b29sdGlwKFxuICAgICRfdG9vbHRpcC1wb3NpdGlvbiAgICAgICAgIDogdG9wLFxuICAgICRfdG9vbHRpcC1zZWxlY3Rvci10b2dnbGUgIDogXCIudG9vbHRpcC10b2dnbGVcIixcbiAgICAkX3Rvb2x0aXAtc2VsZWN0b3ItY29udGVudCA6IFwiLnRvb2x0aXAtY29udGVudFwiLFxuICAgICRfdG9vbHRpcC1iYWNrZ3JvdW5kICAgICAgIDogJHRvb2x0aXBfX2JhY2tncm91bmQsXG4gICAgJF90b29sdGlwLWJvcmRlci1jb2xvciAgICAgOiAkdG9vbHRpcF9fYm9yZGVyLWNvbG9yLFxuICAgICRfdG9vbHRpcC1ib3JkZXItd2lkdGggICAgIDogJHRvb2x0aXBfX2JvcmRlci13aWR0aCxcbiAgICAkX3Rvb2x0aXAtYm9yZGVyLXJhZGl1cyAgICA6ICR0b29sdGlwX19ib3JkZXItcmFkaXVzLFxuICAgICRfdG9vbHRpcC1jb2xvciAgICAgICAgICAgIDogJHRvb2x0aXBfX2NvbG9yLFxuICAgICRfdG9vbHRpcC1jdXJzb3IgICAgICAgICAgIDogJHRvb2x0aXBfX2N1cnNvcixcbiAgICAkX3Rvb2x0aXAtZm9udC1zaXplICAgICAgICA6ICR0b29sdGlwX19mb250LXNpemUsXG4gICAgJF90b29sdGlwLWZvbnQtZmFtaWx5ICAgICAgOiAkdG9vbHRpcF9fZm9udC1mYW1pbHksXG4gICAgJF90b29sdGlwLWZvbnQtd2VpZ2h0ICAgICAgOiAkdG9vbHRpcF9fZm9udC13ZWlnaHQsXG4gICAgJF90b29sdGlwLWxpbmUtaGVpZ2h0ICAgICAgOiAkdG9vbHRpcF9fbGluZS1oZWlnaHQsXG4gICAgJF90b29sdGlwLWZvbnQtc3R5bGUgICAgICAgOiAkdG9vbHRpcF9fZm9udC1zdHlsZSxcbiAgICAkX3Rvb2x0aXAtbWFyZ2luICAgICAgICAgICA6ICR0b29sdGlwX19tYXJnaW4sXG4gICAgJF90b29sdGlwLXBhZGRpbmcgICAgICAgICAgOiAkdG9vbHRpcF9fcGFkZGluZyxcbiAgICAkX3Rvb2x0aXAtbWluLXdpZHRoICAgICAgICA6ICR0b29sdGlwX19taW4td2lkdGgsXG4gICAgJF90b29sdGlwLW1heC13aWR0aCAgICAgICAgOiAkdG9vbHRpcF9fbWF4LXdpZHRoLFxuICAgICRfdG9vbHRpcC1hcnJvdy1zaXplICAgICAgIDogJHRvb2x0aXAtYXJyb3dfX3NpemUsXG4gICAgJF90b29sdGlwLWFycm93LW9mZnNldCAgICAgOiAkdG9vbHRpcC1hcnJvd19fb2Zmc2V0LFxuICAgICRfdG9vbHRpcC16LWluZGV4ICAgICAgICAgIDogJHRvb2x0aXBfX3otaW5kZXhcbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICN7JF90b29sdGlwLXNlbGVjdG9yLWNvbnRlbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3Rvb2x0aXAtYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXJhZGl1cywgJF90b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF90b29sdGlwLW1hcmdpbik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWF4LXdpZHRoLCAkX3Rvb2x0aXAtbWF4LXdpZHRoKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtaW4td2lkdGgsICRfdG9vbHRpcC1taW4td2lkdGgpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfdG9vbHRpcC1wYWRkaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh6LWluZGV4LCAkX3Rvb2x0aXAtei1pbmRleCk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBsaWItdHlwb2dyYXBoeShcbiAgICAgICAgICAgICRfY29sb3IgICAgICAgOiAkX3Rvb2x0aXAtY29sb3IsXG4gICAgICAgICAgICAkX2ZvbnQtc2l6ZSAgIDogJF90b29sdGlwLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfZm9udC1mYW1pbHkgOiAkX3Rvb2x0aXAtZm9udC1mYW1pbHksXG4gICAgICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJF90b29sdGlwLWZvbnQtd2VpZ2h0LFxuICAgICAgICAgICAgJF9saW5lLWhlaWdodCA6ICRfdG9vbHRpcC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRfZm9udC1zdHlsZSAgOiAkX3Rvb2x0aXAtZm9udC1zdHlsZVxuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIF9saWItdG9vbHRpcC1ib3JkZXIoJF90b29sdGlwLWJvcmRlci13aWR0aCwgJF90b29sdGlwLWJvcmRlci1jb2xvcik7XG5cbiAgICAgICAgJF90b29sdGlwLWFycm93LWFmdGVyLW1hcmdpbjogJF90b29sdGlwLWFycm93LXNpemUgKiAtMTtcbiAgICAgICAgJF90b29sdGlwLWFycm93LWJlZm9yZS1tYXJnaW46ICgkX3Rvb2x0aXAtYXJyb3ctc2l6ZSArIHJvdW5kKCRfdG9vbHRpcC1ib3JkZXItd2lkdGggKiAxLjQxNDIxMzU2KSkgKiAtMTtcblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItd2lkdGgsICRfdG9vbHRpcC1hcnJvdy1zaXplKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci13aWR0aCwgJF90b29sdGlwLWFycm93LWJlZm9yZS1tYXJnaW4gKiAtMSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgX2xpYi10b29sdGlwLWFycm93LXBvc2l0aW9uKFxuICAgICAgICAgICAgJF90b29sdGlwLXBvc2l0aW9uLFxuICAgICAgICAgICAgJF90b29sdGlwLWFycm93LXNpemUsXG4gICAgICAgICAgICAkX3Rvb2x0aXAtYmFja2dyb3VuZCxcbiAgICAgICAgICAgICRfdG9vbHRpcC1hcnJvdy1hZnRlci1tYXJnaW4sXG4gICAgICAgICAgICAkX3Rvb2x0aXAtYXJyb3ctYmVmb3JlLW1hcmdpbixcbiAgICAgICAgICAgICRfdG9vbHRpcC1hcnJvdy1vZmZzZXQsXG4gICAgICAgICAgICAkX3Rvb2x0aXAtYm9yZGVyLWNvbG9yXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJiAjeyRfdG9vbHRpcC1zZWxlY3Rvci10b2dnbGV9IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjdXJzb3IsICRfdG9vbHRpcC1jdXJzb3IpO1xuICAgIH1cblxuICAgICYgI3skX3Rvb2x0aXAtc2VsZWN0b3ItdG9nZ2xlfTpob3ZlciArICN7JF90b29sdGlwLXNlbGVjdG9yLWNvbnRlbnR9LFxuICAgICYgI3skX3Rvb2x0aXAtc2VsZWN0b3ItdG9nZ2xlfTpmb2N1cyArICN7JF90b29sdGlwLXNlbGVjdG9yLWNvbnRlbnR9LFxuICAgICY6aG92ZXIgI3skX3Rvb2x0aXAtc2VsZWN0b3ItY29udGVudH0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLXRvb2x0aXAtYm9yZGVyKFxuICAgICRfdG9vbHRpcC1ib3JkZXItd2lkdGgsXG4gICAgJF90b29sdGlwLWJvcmRlci1jb2xvclxuKSB7XG4gICAgQGlmICRfdG9vbHRpcC1ib3JkZXItd2lkdGggIT0gMCBhbmQgJF90b29sdGlwLWJvcmRlci13aWR0aCAhPSBmYWxzZSBhbmQgJF90b29sdGlwLWJvcmRlci1jb2xvciAhPSBmYWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3Rvb2x0aXAtYm9yZGVyLXdpZHRoIHNvbGlkICRfdG9vbHRpcC1ib3JkZXItY29sb3IpO1xuICAgIH1cbn1cblxuQG1peGluIF9saWItdG9vbHRpcC1hcnJvdy1wb3NpdGlvbihcbiAgICAkX3Rvb2x0aXAtcG9zaXRpb24sXG4gICAgJF90b29sdGlwLWFycm93LXNpemUsXG4gICAgJF90b29sdGlwLWJhY2tncm91bmQsXG4gICAgJF90b29sdGlwLWFycm93LWFmdGVyLW1hcmdpbixcbiAgICAkX3Rvb2x0aXAtYXJyb3ctYmVmb3JlLW1hcmdpbixcbiAgICAkX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LFxuICAgICRfdG9vbHRpcC1ib3JkZXItY29sb3Jcbikge1xuICAgIEBpZiAkX3Rvb2x0aXAtcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkX3Rvb2x0aXAtYXJyb3ctc2l6ZSk7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AtY29sb3IsICRfdG9vbHRpcC1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGVmdCwgJF90b29sdGlwLWFycm93LW9mZnNldCArICRfdG9vbHRpcC1hcnJvdy1zaXplKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWxlZnQsICRfdG9vbHRpcC1hcnJvdy1hZnRlci1tYXJnaW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLWNvbG9yLCAkX3Rvb2x0aXAtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGVmdCwgJF90b29sdGlwLWFycm93LW9mZnNldCArICRfdG9vbHRpcC1hcnJvdy1zaXplKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWxlZnQsICRfdG9vbHRpcC1hcnJvdy1iZWZvcmUtbWFyZ2luKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkX3Rvb2x0aXAtcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXJpZ2h0LCAkX3Rvb2x0aXAtYXJyb3ctc2l6ZSk7XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItbGVmdC1jb2xvciwgJF90b29sdGlwLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkX3Rvb2x0aXAtYXJyb3ctYWZ0ZXItbWFyZ2luKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0ICsgJF90b29sdGlwLWFycm93LXNpemUpXG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1sZWZ0LWNvbG9yLCAkX3Rvb2x0aXAtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJF90b29sdGlwLWFycm93LWJlZm9yZS1tYXJnaW4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0b3AsICRfdG9vbHRpcC1hcnJvdy1vZmZzZXQgKyAkX3Rvb2x0aXAtYXJyb3ctc2l6ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJF90b29sdGlwLXBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tbGVmdCwgJF90b29sdGlwLWFycm93LXNpemUpO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXJpZ2h0LWNvbG9yLCAkX3Rvb2x0aXAtYmFja2dyb3VuZCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfdG9vbHRpcC1hcnJvdy1hZnRlci1tYXJnaW4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0b3AsICRfdG9vbHRpcC1hcnJvdy1vZmZzZXQgKyAkX3Rvb2x0aXAtYXJyb3ctc2l6ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1yaWdodC1jb2xvciwgJF90b29sdGlwLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfdG9vbHRpcC1hcnJvdy1iZWZvcmUtbWFyZ2luKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0ICsgJF90b29sdGlwLWFycm93LXNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRfdG9vbHRpcC1wb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfdG9vbHRpcC1hcnJvdy1zaXplKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuXG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLWNvbG9yLCAkX3Rvb2x0aXAtYmFja2dyb3VuZCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxlZnQsICRfdG9vbHRpcC1hcnJvdy1vZmZzZXQgKyAkX3Rvb2x0aXAtYXJyb3ctc2l6ZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1sZWZ0LCAkX3Rvb2x0aXAtYXJyb3ctYWZ0ZXItbWFyZ2luKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWJvdHRvbS1jb2xvciwgJF90b29sdGlwLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxlZnQsICRfdG9vbHRpcC1hcnJvdy1vZmZzZXQgKyAkX3Rvb2x0aXAtYXJyb3ctc2l6ZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1sZWZ0LCAkX3Rvb2x0aXAtYXJyb3ctYmVmb3JlLW1hcmdpbik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIFRvb2x0aXBzIHZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kdG9vbHRpcF9fYmFja2dyb3VuZCAgICA6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwX19ib3JkZXItY29sb3IgIDogJGNvbG9yLWdyYXktbGlnaHQyICFkZWZhdWx0O1xuJHRvb2x0aXBfX2JvcmRlci13aWR0aCAgOiAxcHggIWRlZmF1bHQ7XG4kdG9vbHRpcF9fYm9yZGVyLXJhZGl1cyA6IGZhbHNlICFkZWZhdWx0O1xuJHRvb2x0aXBfX2NvbG9yICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcF9fY3Vyc29yICAgICAgICA6IGhlbHAgIWRlZmF1bHQ7XG4kdG9vbHRpcF9fZm9udC1zaXplICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRvb2x0aXBfX2ZvbnQtZmFtaWx5ICAgOiBmYWxzZSAhZGVmYXVsdDtcbiR0b29sdGlwX19mb250LXdlaWdodCAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdG9vbHRpcF9fbGluZS1oZWlnaHQgICA6IDEuNCAhZGVmYXVsdDtcbiR0b29sdGlwX19mb250LXN0eWxlICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdG9vbHRpcF9fbWFyZ2luICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHRvb2x0aXBfX3BhZGRpbmcgICAgICAgOiAxMnB4IDE2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcF9fbWluLXdpZHRoICAgICA6IDIxMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXBfX21heC13aWR0aCAgICAgOiAzNjBweCAhZGVmYXVsdDtcbiR0b29sdGlwX196LWluZGV4ICAgICAgIDogMTAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvd19fc2l6ZSAgICA6IDVweCAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93X19vZmZzZXQgIDogMTBweCAhZGVmYXVsdDtcbiIsIkBpbmNsdWRlIGxpYi1mb250LWZhY2UtbW9kZXJuKFxuXHQkZmFtaWx5LW5hbWU6ICRpY29uc19fZm9udC1uYW1lLFxuXHQkZm9udC1wYXRoOiAkaWNvbnNfX2ZvbnQtcGF0aCxcblx0JGZvbnQtd2VpZ2h0OiBub3JtYWwsXG5cdCRmb250LXN0eWxlOiBub3JtYWxcbik7XG4iLCIvL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbi8qICAgICAubmF2aWdhdGlvbixcbiAgICAuYnJlYWRjcnVtYnMsXG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIucGFuZWwsXG4gICAgLmhlYWRlci5jb250ZW50LFxuICAgIC5mb290ZXIuY29udGVudCxcbiAgICAucGFnZS1tYWluLFxuICAgIC5wYWdlLXdyYXBwZXIgPiAud2lkZ2V0LFxuICAgIC5wYWdlLXdyYXBwZXIgPiAucGFnZS1ib3R0b20sXG4gICAgLmJsb2NrLmNhdGVnb3J5LmV2ZW50LFxuICAgIC50b3AtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGF5b3V0X193aWR0aC14cy1pbmRlbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsYXlvdXRfX3dpZHRoLXhzLWluZGVudDtcbiAgICB9XG5cbiAgICAucGFnZS1tYWluIHtcbiAgICAgICAgLmFjY291bnQgJixcbiAgICAgICAgLmNtcy1wcml2YWN5LXBvbGljeSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfSAqL1xufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19sKSB7XG5cbiAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQge1xuICAgIC5jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgIGZsZXg6IDAgMSA3NSU7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLW1haW4ge1xuICAgICAgICBmbGV4OiAwIDEgMjUlO1xuICAgICAgICBvcmRlcjogLTE7XG5cbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgIC5wYWdlLW1haW4ge1xuICAgICAgICAvKiB3aWR0aDogMTAwJTsgKi9cblxuICAgICAgICAvLyBUaGVzZSBmbGV4IHByb3BlcnRpZXMgc2hvdWxkIGJlIGNvbWJpbmVkIHRvIGBmbGV4OiAxIDAgYXV0b2BcbiAgICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY3NzLWNvbW1lbnRzXG4vKiAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZ3JvdygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZmxleC1zaHJpbmsoMCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtYmFzaXMoYXV0byk7ICovXG4gICAgICAgIC8vIHNhc3MtbGludDplbmFibGXCoCBuby1jc3MtY29tbWVudHNcblxuICAgICAgIC8qICAuaWU5ICYge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH0gKi9cbiAgICB9XG5cbiAgICAucGFuZWwuaGVhZGVyIHtcbiAgICAgICAgLyogcGFkZGluZzogMTBweCAyMHB4OyAqL1xuICAgIH1cbn1cblxuXG4vL1xuLy8gIENvbW1vblxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4ucGFnZS1oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDg4O1xufVxuXG4ucGFnZS10b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodC1ncmV5O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBzcGxpdCBmcm9tIHBhZ2UtdG9wIGluIGNhc2UgbWFpbiBzZWN0aW9uIHNob3VsZCBvbmx5IGJlIHRpbnRlZCBvbiBjZXJ0YWluIHBhZ2UgdHlwZXMgKi9cbi5wYWdlLW1haW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlc2VydC1zdG9ybTtcbn1cblxuLnBhZ2UtbWFpbl9faW5uZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogJGxheW91dF9fbWF4LXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogJGxheW91dC1pbmRlbnRfX3dpZHRoO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRsYXlvdXQtaW5kZW50X193aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgICAgcGFkZGluZzogM3JlbSAkbGF5b3V0X193aWR0aC14cy1pbmRlbnQ7XG4gICAgfVxufVxuXG4vKiBQYWdlIHRpdGxlIGFuZCBkZWNvcmF0aW9uICovXG4ucGFnZS10aXRsZS13cmFwcGVyOm5vdCgucHJvZHVjdCkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdG1hcmdpbi1ib3R0b206IDQuNHJlbTtcblxuICAucGFnZS10aXRsZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQuOHJlbTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAucGFnZS10aXRsZS13cmFwcGVyX19kZWNvcmF0aW9uIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICYgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucGFnZS10aXRsZS13cmFwcGVyLFxuLnBhZ2UtdGl0bGUtd3JhcHBlci5wcm9kdWN0IHtcbiAgLnBhZ2UtdGl0bGUtd3JhcHBlcl9fZGVjb3JhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucGFnZS10aXRsZS1jaGlsZHJlbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgJiA+ICoge1xuICAgIG1hcmdpbjogMCAycmVtIDAgMDtcblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIH1cbiAgfVxufVxuXG4vKiBXaGl0ZXNwYWNlIGFkanVzdG1lbnRzIGZvciBwYWdlIHRpdGxlIHdpdGggY2hpbGRyZW4gKi9cbi5wYWdlLXRpdGxlLXdyYXBwZXIgKyAucGFnZS10aXRsZS1jaGlsZHJlbiB7XG4gIG1hcmdpbi1ib3R0b206IDQuNHJlbTtcbiAgbWFyZ2luLXRvcDogLTIuNHJlbTtcblxuICBAaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uY2FydC1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4iLCIvL1xuLy8gIFZhcmlhYmxlIG92ZXJyaWRlc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVzc2FnZV9fbWFyZ2luOiAwO1xuJG1lc3NhZ2VfX2ZvbnQtc2l6ZTogMS41cmVtO1xuJG1lc3NhZ2VfX2ZvbnQtd2VpZ2h0OiA1MDA7XG4kbWVzc2FnZV9fbGluZS1oZWlnaHQ6IDIuNXJlbTtcblxuLyogVXNlZCBmb3IgZGVmYXVsdCBtZXNzYWdlcy9ub3RpY2VzIGFuZCBpbmZvIG9uZXMgKi9cbiRtZXNzYWdlLWluZm8tbWFwOiAoXG5cdGNvbG9yOiAkY29sb3Itd2hpdGUsXG5cdGJhY2tncm91bmQ6ICRjb2xvci1nb2xkLWJyb3duLFxuXHRsaW5rX19jb2xvcjogJGNvbG9yLWJsdWUtYmxhY2ssXG5cdGxpbmtfX2NvbG9yLWhvdmVyOiAkY29sb3ItYmx1ZS1ibGFjayxcblx0bGlua19fY29sb3ItYWN0aXZlOiAkY29sb3ItYmx1ZS1ibGFjayxcblx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItZ29sZC1icm93blxuKTtcblxuLyogQnkgZGVmYXVsdCB0aGUgaG9saWRheSBub3RpY2UgdXNlcyBpZGVudGljYWwgY29sb3VyIHNjaGVtZSB0byBzdGFuZGFyZCBpbmZvIG5vdGljZSAqL1xuJG1lc3NhZ2UtaG9saWRheS1tYXA6IChcblx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrLFxuXHRiYWNrZ3JvdW5kOiAkY29sb3ItY2VsZXN0ZSxcblx0bGlua19fY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrLFxuXHRsaW5rX19jb2xvci1ob3ZlcjogJGNvbG9yLWJsdWUtYmxhY2ssXG5cdGxpbmtfX2NvbG9yLWFjdGl2ZTogJGNvbG9yLWJsdWUtYmxhY2ssXG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLWNlbGVzdGVcbik7XG5cblxuXG5cbi8vXG4vLyAgTWVzc2FnZXNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAubWVzc2FnZXMge1xuICAubWVzc2FnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBcbiAgICAmLmVycm9yLFxuICAgICYuc3VjY2VzcyxcbiAgICAmLndhcm5pbmcsXG4gICAgJi5ub3RpY2UsXG4gICAgJi5pbmZvIHtcbiAgICAgICYgPiAqOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRyYW5zaXRpb246IDI1MG1zIGxpbmVhcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy9cbi8vICBNZXNzYWdlIHR5cGUgaWNvbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1lc3NhZ2UuaW5mbyB7XG5cdEBpbmNsdWRlIGxpYi1tZXNzYWdlLWljb24taW5uZXIoaW5mbyk7XG59XG5cbi5tZXNzYWdlLmVycm9yIHtcblx0QGluY2x1ZGUgbGliLW1lc3NhZ2UtaWNvbi1pbm5lcihlcnJvcik7XG59XG5cbi5tZXNzYWdlLndhcm5pbmcge1xuXHRAaW5jbHVkZSBsaWItbWVzc2FnZS1pY29uLWlubmVyKHdhcm5pbmcpO1xufVxuXG4ubWVzc2FnZS5ub3RpY2Uge1xuXHRAaW5jbHVkZSBsaWItbWVzc2FnZS1pY29uLWlubmVyKG5vdGljZSk7XG59XG5cbi5tZXNzYWdlLnN1Y2Nlc3Mge1xuXHRAaW5jbHVkZSBsaWItbWVzc2FnZS1pY29uLWlubmVyKHN1Y2Nlc3MpO1xufVxuXG5cblxuXG4vL1xuLy8gIEN1c3RvbSBkaXNtaXNzYWJsZSBub3RpY2UgYmxvY2tzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ub3RpY2Uge1xuXHRAaW5jbHVkZSBsaWItbWVzc2FnZSgpO1xufVxuXG4ubm90aWNlIHtcblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cbiAgfVxuICBcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5ub3RpY2Uge1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdCYgKyAubm90aWNlIHtcblx0XHRib3JkZXItdG9wOiAwLjFyZW0gc29saWQgJG5vdGljZS1kaXZpZGVyX19ib3JkZXI7XG5cdH1cblxuXHQubm90aWNlX19pbm5lciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1heC13aWR0aDogJGxheW91dF9fbWF4LXdpZHRoO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0fVxuXG5cdC5ub3RpY2VfX3RleHQge1xuXHRcdHBhZGRpbmctbGVmdDogMS41cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQubm90aWNlX19jbG9zZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTAuOHJlbTtcblx0XHRyaWdodDogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMy40cmVtKTtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgICAgcGFkZGluZzogMS42NXJlbTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHJpZ2h0OiAtMTlweDtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgfVxuXHR9XG59XG5cblxuXG5cbi8vXG4vLyAgQ3VzdG9tIHRlbXBvcmFyeSBub3RpY2UgYmxvY2tcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5vdGljZS1ibG9jayB7XG5cdG1heC13aWR0aDogJGxheW91dF9fbWF4LXdpZHRoO1xuXHRtYXJnaW46IDIuNnJlbSBhdXRvIDA7XG5cdHBhZGRpbmctbGVmdDogMnJlbTtcblx0cGFkZGluZy1yaWdodDogMnJlbTtcblx0XG5cdGZvbnQtc2l6ZTogJG1lc3NhZ2VfX2ZvbnQtc2l6ZTtcblx0Zm9udC13ZWlnaHQ6ICRtZXNzYWdlX19mb250LXdlaWdodDtcblx0bGluZS1oZWlnaHQ6ICRtZXNzYWdlX19saW5lLWhlaWdodDtcbn1cblxuLm5vdGljZS1ibG9jayxcbi5ub3RpY2UtYmxvY2stLWhvbGlkYXlzIHtcblx0Lm5vdGljZV9faW5uZXIge1xuXHRcdHBhZGRpbmc6IDJyZW07XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtZXNzYWdlLWhvbGlkYXktbWFwLCAnYm9yZGVyLWNvbG9yJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVzc2FnZS1ob2xpZGF5LW1hcCwgJ2JhY2tncm91bmQnKTtcblxuXHRcdGNvbG9yOiBtYXAtZ2V0KCRtZXNzYWdlLWhvbGlkYXktbWFwLCAnY29sb3InKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuXG5cblxuLy9cbi8vICBUYWJsZXQgYW5kIHVwXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuXG5cdC5ub3RpY2UsXG5cdC5ub3RpY2UtYmxvY2sge1xuXHRcdC5ub3RpY2VfX3RleHQge1xuXHRcdFx0Zm9udC1zaXplOiAxLjNyZW07XG5cdFx0XHRsaW5lLWhlaWdodDogMi4ycmVtO1xuXHRcdH1cblx0fVxuXG59XG5cblxuXG5cbi8vXG4vLyAgVGFibGV0IGFuZCB1cFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcblxuXHQubm90aWNlLFxuXHQubm90aWNlLWJsb2NrIHtcblx0XHQubm90aWNlX190ZXh0IHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDRyZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDRyZW07XG5cdFx0fVxuXG5cdFx0Lm5vdGljZV9fY2xvc2Uge1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cdH1cblxufVxuIiwiLy9cbi8vICBNZXNzYWdlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZWFzaWVyIGdldCB2YWx1ZXMgcmVsYXRlZCB0byBzcGVjaWZpYyB0eXBlXG5AZnVuY3Rpb24gbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgJF9rZXkpIHtcbiAgICAkX21hcDogJG1lc3NhZ2UtaW5mby1tYXA7XG5cbiAgICAvLyBmaW5kIG1hcHMgYWRlcXVhdGUgdG8gbWVzc2FnZSB0eXBlXG4gICAgQGlmICRfbWVzc2FnZS10eXBlID09IGVycm9yIHtcbiAgICAgICAgJF9tYXA6ICRtZXNzYWdlLWVycm9yLW1hcDtcbiAgICB9XG5cbiAgICBAaWYgJF9tZXNzYWdlLXR5cGUgPT0gc3VjY2VzcyB7XG4gICAgICAgICRfbWFwOiAkbWVzc2FnZS1zdWNjZXNzLW1hcDtcbiAgICB9XG5cbiAgICBAaWYgJF9tZXNzYWdlLXR5cGUgPT0gd2FybmluZyB7XG4gICAgICAgICRfbWFwOiAkbWVzc2FnZS13YXJuaW5nLW1hcDtcbiAgICB9XG5cbiAgICBAaWYgJF9tZXNzYWdlLXR5cGUgPT0gbm90aWNlIHtcbiAgICAgICAgJF9tYXA6ICRtZXNzYWdlLW5vdGljZS1tYXA7XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRfbWFwLCAkX2tleSk7XG59XG5cbkBtaXhpbiBsaWItbWVzc2FnZShcbiAgICAkX21lc3NhZ2UtdHlwZTogaW5mb1xuKSB7XG4gICAgQGluY2x1ZGUgX2xpYi1tZXNzYWdlKCk7XG4gICAgQGluY2x1ZGUgX2xpYi1tZXNzYWdlLXN0eWxlKFxuICAgICAgICAkX21lc3NhZ2UtY29sb3IgICAgICAgICAgICA6IG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGNvbG9yKSxcbiAgICAgICAgJF9tZXNzYWdlLWJhY2tncm91bmQgICAgICAgOiBtZXNzYWdlKCRfbWVzc2FnZS10eXBlLCBiYWNrZ3JvdW5kKSxcbiAgICAgICAgJF9tZXNzYWdlLWxpbmstY29sb3IgICAgICAgOiBtZXNzYWdlKCRfbWVzc2FnZS10eXBlLCBsaW5rX19jb2xvciksXG4gICAgICAgICRfbWVzc2FnZS1saW5rLWNvbG9yLWhvdmVyIDogbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgbGlua19fY29sb3ItaG92ZXIpLFxuICAgICAgICAkX21lc3NhZ2UtbGluay1jb2xvci1hY3RpdmU6IG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGxpbmtfX2NvbG9yLWFjdGl2ZSksXG4gICAgICAgICRfbWVzc2FnZS1ib3JkZXItY29sb3IgICAgIDogbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgYm9yZGVyLWNvbG9yKVxuICAgICk7XG59XG5cbkBtaXhpbiBfbGliLW1lc3NhZ2UoXG4gICAgJF9tZXNzYWdlLXBhZGRpbmc6ICRtZXNzYWdlX19wYWRkaW5nLFxuICAgICRfbWVzc2FnZS1tYXJnaW46ICRtZXNzYWdlX19tYXJnaW4sXG4gICAgJF9tZXNzYWdlLWJvcmRlci1yYWRpdXM6ICRtZXNzYWdlX19ib3JkZXItcmFkaXVzXG4pIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1yYWRpdXMsICRfbWVzc2FnZS1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9tZXNzYWdlLW1hcmdpbik7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX21lc3NhZ2UtcGFkZGluZyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG4gICAgICAgICRfY29sb3IgICAgICAgOiAkbWVzc2FnZV9fY29sb3IsXG4gICAgICAgICRfZm9udC1zaXplICAgOiAkbWVzc2FnZV9fZm9udC1zaXplLFxuICAgICAgICAkX2ZvbnQtZmFtaWx5IDogJG1lc3NhZ2VfX2ZvbnQtZmFtaWx5LFxuICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJG1lc3NhZ2VfX2ZvbnQtd2VpZ2h0LFxuICAgICAgICAkX2ZvbnQtc3R5bGUgIDogJG1lc3NhZ2VfX2ZvbnQtc3R5bGUsXG4gICAgICAgICRfbGluZS1oZWlnaHQgOiAkbWVzc2FnZV9fbGluZS1oZWlnaHRcbiAgICApO1xuICAgIEBpbmNsdWRlIF9saWItbWVzc2FnZS1ib3JkZXIoJG1lc3NhZ2VfX2JvcmRlci13aWR0aCwgJG1lc3NhZ2VfX2JvcmRlci1zdHlsZSk7XG59XG5cbkBtaXhpbiBfbGliLW1lc3NhZ2Utc3R5bGUoXG4gICAgJF9tZXNzYWdlLWJhY2tncm91bmQ6ICRtZXNzYWdlLWluZm9fX2JhY2tncm91bmQsXG4gICAgJF9tZXNzYWdlLWNvbG9yOiAkbWVzc2FnZS1pbmZvX19jb2xvcixcbiAgICAkX21lc3NhZ2UtbGluay1jb2xvcjogJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvcixcbiAgICAkX21lc3NhZ2UtbGluay1jb2xvci1ob3ZlcjogJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvci1ob3ZlcixcbiAgICAkX21lc3NhZ2UtbGluay1jb2xvci1hY3RpdmU6ICRtZXNzYWdlLWluZm8tbGlua19fY29sb3ItYWN0aXZlLFxuICAgICRfbWVzc2FnZS1ib3JkZXItY29sb3I6ICRtZXNzYWdlLWluZm9fX2JvcmRlci1jb2xvclxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX21lc3NhZ2UtYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsICRfbWVzc2FnZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfbWVzc2FnZS1jb2xvcik7XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9tZXNzYWdlLWxpbmstY29sb3IpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9tZXNzYWdlLWxpbmstY29sb3ItaG92ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9tZXNzYWdlLWxpbmstY29sb3ItYWN0aXZlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIF9saWItbWVzc2FnZS1ib3JkZXIoXG4gICAgJF9tZXNzYWdlLWJvcmRlci13aWR0aDogJG1lc3NhZ2VfX2JvcmRlci13aWR0aCxcbiAgICAkX21lc3NhZ2UtYm9yZGVyLXN0eWxlOiAkbWVzc2FnZV9fYm9yZGVyLXN0eWxlXG4pIHtcbiAgICBAaWYgJF9tZXNzYWdlLWJvcmRlci13aWR0aCAhPSAwIGFuZCAkX21lc3NhZ2UtYm9yZGVyLXdpZHRoICE9IGluaGVyaXQgYW5kICRfbWVzc2FnZS1ib3JkZXItc3R5bGUgIT0gaW5oZXJpdCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX21lc3NhZ2UtYm9yZGVyLXdpZHRoICRfbWVzc2FnZS1ib3JkZXItc3R5bGUpO1xuICAgIH1cbn1cblxuLy8gIE1lc3NhZ2VzIHdpdGggbGF0ZXJhbCBpY29uXG5AbWl4aW4gbGliLW1lc3NhZ2UtaWNvbi1sYXRlcmFsKFxuICAgICRfbWVzc2FnZS10eXBlOiBpbmZvLFxuICAgICRfbWVzc2FnZS1wb3NpdGlvbjogcmlnaHRcbikge1xuICAgIEBpbmNsdWRlIGxpYi1tZXNzYWdlKCRfbWVzc2FnZS10eXBlKTtcbiAgICBAaW5jbHVkZSBfbGliLW1lc3NhZ2UtaWNvbi1sYXRlcmFsKFxuICAgICAgICAkX21lc3NhZ2UtcG9zaXRpb24sXG4gICAgICAgIG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGljb24pLFxuICAgICAgICBtZXNzYWdlKCRfbWVzc2FnZS10eXBlLCBpY29uX19jb2xvci1sYXRlcmFsKSxcbiAgICAgICAgbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgaWNvbl9fYmFja2dyb3VuZCksXG4gICAgICAgIG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGljb25fX3RvcCksXG4gICAgICAgIG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGljb25fX3JpZ2h0KSxcbiAgICAgICAgbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgaWNvbl9fYm90dG9tKSxcbiAgICAgICAgbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgaWNvbl9fbGVmdClcbiAgICApO1xufVxuXG4vLyAgTWVzc2FnZXMgd2l0aCBpbm5lciBpY29uXG5AbWl4aW4gbGliLW1lc3NhZ2UtaWNvbi1pbm5lcigkX21lc3NhZ2UtdHlwZTogaW5mbykge1xuICAgIEBpbmNsdWRlIGxpYi1tZXNzYWdlKCRfbWVzc2FnZS10eXBlKTtcbiAgICBAaW5jbHVkZSBfbGliLW1lc3NhZ2UtaWNvbi1pbm5lcihcbiAgICAgICAgbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgaWNvbiksXG4gICAgICAgIG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGljb25fX2NvbG9yLWlubmVyKSxcbiAgICAgICAgbWVzc2FnZSgkX21lc3NhZ2UtdHlwZSwgaWNvbl9fYmFja2dyb3VuZCksXG4gICAgICAgIG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGljb25fX3RvcCksXG4gICAgICAgIG1lc3NhZ2UoJF9tZXNzYWdlLXR5cGUsIGljb25fX2xlZnQpLFxuICAgICAgICBtZXNzYWdlKCRfbWVzc2FnZS10eXBlLCBpY29uX19ib3R0b20pLFxuICAgICAgICBtZXNzYWdlKCRfbWVzc2FnZS10eXBlLCBpY29uX19yaWdodClcbiAgICApO1xufVxuXG4vLyAgUHJpdmF0ZSBtaXhpbnNcbkBtaXhpbiBfbGliLW1lc3NhZ2UtaWNvbi1sYXRlcmFsKFxuICAgICRfbWVzc2FnZS1pY29uLXBvc2l0aW9uLFxuICAgICRfbWVzc2FnZS1pY29uLFxuICAgICRfbWVzc2FnZS1pY29uLWNvbG9yLFxuICAgICRfbWVzc2FnZS1pY29uLWJhY2tncm91bmQsXG4gICAgJF9tZXNzYWdlLWljb24tdG9wLFxuICAgICRfbWVzc2FnZS1pY29uLWxlZnQsXG4gICAgJF9tZXNzYWdlLWljb24tYm90dG9tLFxuICAgICRfbWVzc2FnZS1pY29uLXJpZ2h0XG4pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9tZXNzYWdlLWljb24tYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRtZXNzYWdlLWljb25fX2xhdGVyYWwtd2lkdGgpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgLSRtZXNzYWdlLWljb25fX2xhdGVyYWwtYXJyb3ctc2l6ZSk7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgICAgICAgOiAkX21lc3NhZ2UtaWNvbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udCAgICAgICAgICAgICAgICA6ICRpY29uLWZvbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgOiAkbWVzc2FnZS1pY29uX19mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgOiAkbWVzc2FnZS1pY29uX19mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICAgIDogJF9tZXNzYWdlLWljb24tY29sb3IsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luICAgICAgICAgOiAtJG1lc3NhZ2UtaWNvbl9fZm9udC1zaXplIC8gMiAwIDAsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gOiAkaWNvbi1mb250X192ZXJ0aWNhbC1hbGlnblxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm90dG9tLCAkX21lc3NhZ2UtaWNvbi1ib3R0b20pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsZWZ0LCAkX21lc3NhZ2UtaWNvbi1sZWZ0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocmlnaHQsICRfbWVzc2FnZS1pY29uLXJpZ2h0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkX21lc3NhZ2UtaWNvbi10b3ApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJG1lc3NhZ2UtaWNvbl9fbGF0ZXJhbC13aWR0aCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfbGliLW1lc3NhZ2UtaWNvbi1sYXRlcmFsLXBvc2l0aW9uKFxuICAgICAgICAkX21lc3NhZ2UtaWNvbi1wb3NpdGlvbixcbiAgICAgICAgJF9tZXNzYWdlLWljb24tYmFja2dyb3VuZFxuICAgICk7XG59XG5cbkBtaXhpbiBfbGliLW1lc3NhZ2UtaWNvbi1sYXRlcmFsLXBvc2l0aW9uKFxuICAgICRfbWVzc2FnZS1pY29uLXBvc2l0aW9uLFxuICAgICRfbWVzc2FnZS1pY29uLWJhY2tncm91bmRcbikge1xuICAgIEBpZiAkX21lc3NhZ2UtaWNvbi1wb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1yaWdodCwgJG1lc3NhZ2UtaWNvbl9fbGF0ZXJhbC13aWR0aCArICRpbmRlbnRfX3MpO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItbWVzc2FnZS1pY29uLWxhdGVyYWwtYm9yZGVyLXJhZGl1cygkX21lc3NhZ2UtaWNvbi1wb3NpdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1hcnJvdyhsZWZ0LCAkbWVzc2FnZS1pY29uX19sYXRlcmFsLWFycm93LXNpemUsICRfbWVzc2FnZS1pY29uLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocmlnaHQsICRtZXNzYWdlLWljb25fX2xhdGVyYWwtd2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkX21lc3NhZ2UtaWNvbi1wb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLWxlZnQsICRtZXNzYWdlLWljb25fX2xhdGVyYWwtd2lkdGggKyAkaW5kZW50X19zKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1tZXNzYWdlLWljb24tbGF0ZXJhbC1ib3JkZXItcmFkaXVzKCRfbWVzc2FnZS1pY29uLXBvc2l0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYXJyb3cocmlnaHQsICRtZXNzYWdlLWljb25fX2xhdGVyYWwtYXJyb3ctc2l6ZSwgJF9tZXNzYWdlLWljb24tYmFja2dyb3VuZCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsZWZ0LCAkbWVzc2FnZS1pY29uX19sYXRlcmFsLXdpZHRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBfbGliLW1lc3NhZ2UtaWNvbi1sYXRlcmFsLWJvcmRlci1yYWRpdXMoJF9tZXNzYWdlLWljb24tcG9zaXRpb24pIHtcbiAgICBAaWYgJG1lc3NhZ2VfX2JvcmRlci1yYWRpdXMgIT0gZmFsc2UgYW5kICRtZXNzYWdlX19ib3JkZXItd2lkdGggIT0gZmFsc2Uge1xuICAgICAgICBAaWYgJF9tZXNzYWdlLWljb24tcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1yYWRpdXMsICgkbWVzc2FnZV9fYm9yZGVyLXJhZGl1cyAtICRtZXNzYWdlX19ib3JkZXItd2lkdGgpIDAgMCAoJG1lc3NhZ2VfX2JvcmRlci1yYWRpdXMgLSAkbWVzc2FnZV9fYm9yZGVyLXdpZHRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRfbWVzc2FnZS1pY29uLXBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXJhZGl1cywgMCAoJG1lc3NhZ2VfX2JvcmRlci1yYWRpdXMgLSAkbWVzc2FnZV9fYm9yZGVyLXdpZHRoKSAoJG1lc3NhZ2VfX2JvcmRlci1yYWRpdXMgLSAkbWVzc2FnZV9fYm9yZGVyLXdpZHRoKSAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIF9saWItbWVzc2FnZS1pY29uLWlubmVyKFxuICAgICRfbWVzc2FnZS1pY29uLFxuICAgICRfbWVzc2FnZS1pY29uLWNvbG9yLFxuICAgICRfbWVzc2FnZS1pY29uLWJhY2tncm91bmQsXG4gICAgJF9tZXNzYWdlLWljb24tdG9wLFxuICAgICRfbWVzc2FnZS1pY29uLWxlZnQsXG4gICAgJF9tZXNzYWdlLWljb24tYm90dG9tLFxuICAgICRfbWVzc2FnZS1pY29uLXJpZ2h0XG4pIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctbGVmdCwgJG1lc3NhZ2UtaWNvbl9faW5uZXItcGFkZGluZy1sZWZ0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBfbGliLWljb24tZm9udChcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgICAgICAgIDogJF9tZXNzYWdlLWljb24sXG4gICAgICAgICAgICAkX2ljb24tZm9udCAgICAgICAgICAgICAgICA6ICRpY29uLWZvbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6ICRtZXNzYWdlLWljb25fX2ZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgIDogJG1lc3NhZ2UtaWNvbl9fZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICAgIDogJF9tZXNzYWdlLWljb24tY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW4gICAgICAgICA6IC0kbWVzc2FnZS1pY29uX19mb250LXNpemUgLyAyIDAgMCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduIDogJGljb24tZm9udF9fdmVydGljYWwtYWxpZ25cbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3R0b20sICRfbWVzc2FnZS1pY29uLWJvdHRvbSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGVmdCwgJF9tZXNzYWdlLWljb24tbGVmdCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocmlnaHQsICRfbWVzc2FnZS1pY29uLXJpZ2h0KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0b3AsICRfbWVzc2FnZS1pY29uLXRvcCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRtZXNzYWdlLWljb25fX2lubmVyLXBhZGRpbmctbGVmdCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIi8vXG4vLyAgTWVzc2FnZXMgdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRtZXNzYWdlX19wYWRkaW5nICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3MgJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcbiRtZXNzYWdlX19tYXJnaW4gICAgICAgICAgICAgICAgICAgICA6IDAgMCAkaW5kZW50X19zICFkZWZhdWx0O1xuXG4kbWVzc2FnZV9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDsgLy8gRWFjaCBtZXNzYWdlIHR5cGUgaGFzIGl0cyBvd24gbWVzc2FnZSBjb2xvclxuJG1lc3NhZ2VfX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgIDogMTNweCAhZGVmYXVsdDtcbiRtZXNzYWdlX19mb250LWZhbWlseSAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJG1lc3NhZ2VfX2ZvbnQtc3R5bGUgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kbWVzc2FnZV9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRtZXNzYWdlX19saW5lLWhlaWdodCAgICAgICAgICAgICAgICA6IDEuMmVtICFkZWZhdWx0O1xuXG4vLyRtZXNzYWdlLWljb25fX2ZvbnQtc2l6ZSAgICAgICAgICAgICA6IGNlaWwoJG1lc3NhZ2VfX2ZvbnQtc2l6ZSAqIDIgKyAyKSAhZGVmYXVsdDtcbiRtZXNzYWdlLWljb25fX2ZvbnQtc2l6ZSAgICAgICAgICAgICA6IDE2cHggIWRlZmF1bHQ7XG4kbWVzc2FnZS1pY29uX19mb250LWxpbmUtaGVpZ2h0ICAgICAgOiAkbWVzc2FnZS1pY29uX19mb250LXNpemUgIWRlZmF1bHQ7XG4kbWVzc2FnZS1pY29uX19pbm5lci1wYWRkaW5nLWxlZnQgICAgOiA0MHB4ICFkZWZhdWx0O1xuJG1lc3NhZ2UtaWNvbl9fbGF0ZXJhbC13aWR0aCAgICAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRtZXNzYWdlLWljb25fX2xhdGVyYWwtYXJyb3ctc2l6ZSAgICA6IDVweCAhZGVmYXVsdDtcbiRtZXNzYWdlLWljb25fX3RvcCAgICAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kbWVzc2FnZS1pY29uX19yaWdodCAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRtZXNzYWdlLWljb25fX2JvdHRvbSAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJG1lc3NhZ2UtaWNvbl9fbGVmdCAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuJG1lc3NhZ2VfX2JvcmRlci13aWR0aCAgICAgICAgICAgICAgIDogMXB4ICFkZWZhdWx0O1xuJG1lc3NhZ2VfX2JvcmRlci1jb2xvciAgICAgICAgICAgICAgIDogJGNvbG9yLXllbGxvdy1saWdodDEgIWRlZmF1bHQ7XG4kbWVzc2FnZV9fYm9yZGVyLXN0eWxlICAgICAgICAgICAgICAgOiBzb2xpZCAhZGVmYXVsdDtcbiRtZXNzYWdlX19ib3JkZXItcmFkaXVzICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAgSW5mb3JtYXRpb24gbWVzc2FnZVxuJG1lc3NhZ2UtaW5mb19fY29sb3IgICAgICAgICAgICAgICAgIDogJGNvbG9yLWJyb3duaWUxICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mb19fYmFja2dyb3VuZCAgICAgICAgICAgIDogJGNvbG9yLXllbGxvdy1saWdodDEgIWRlZmF1bHQ7XG4kbWVzc2FnZS1pbmZvX19ib3JkZXItY29sb3IgICAgICAgICAgOiAkbWVzc2FnZV9fYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbWVzc2FnZS1pbmZvLWxpbmtfX2NvbG9yICAgICAgICAgICAgOiBpbmhlcml0ICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvci1ob3ZlciAgICAgIDogJHRleHRfX2NvbG9yICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvci1hY3RpdmUgICAgIDogJHRleHRfX2NvbG9yICFkZWZhdWx0O1xuXG4kbWVzc2FnZS1pbmZvLWljb24gICAgICAgICAgICAgICAgICAgOiAkaWNvbi13YXJuaW5nICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mby1pY29uX19jb2xvci1pbm5lciAgICAgIDogJGNvbG9yLWJyb3duaWUtbGlnaHQxICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mby1pY29uX19jb2xvci1sYXRlcmFsICAgIDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mby1pY29uX19iYWNrZ3JvdW5kICAgICAgIDogJGNvbG9yLWJyb3duaWUxICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mby1pY29uX190b3AgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fdG9wICFkZWZhdWx0O1xuJG1lc3NhZ2UtaW5mby1pY29uX19yaWdodCAgICAgICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fcmlnaHQgIWRlZmF1bHQ7XG4kbWVzc2FnZS1pbmZvLWljb25fX2JvdHRvbSAgICAgICAgICAgOiAkbWVzc2FnZS1pY29uX19ib3R0b20gIWRlZmF1bHQ7XG4kbWVzc2FnZS1pbmZvLWljb25fX2xlZnQgICAgICAgICAgICAgOiAkbWVzc2FnZS1pY29uX19sZWZ0ICFkZWZhdWx0O1xuXG4kbWVzc2FnZS1pbmZvLW1hcCAgICAgICAgICAgICAgICAgICA6IChcbiAgICBjb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLWluZm9fX2NvbG9yLFxuICAgIGJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mb19fYmFja2dyb3VuZCxcbiAgICBib3JkZXItY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLWluZm9fX2JvcmRlci1jb2xvcixcbiAgICBsaW5rX19jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLWluZm8tbGlua19fY29sb3IsXG4gICAgbGlua19fY29sb3ItaG92ZXIgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1pbmZvLWxpbmtfX2NvbG9yLWhvdmVyLFxuICAgIGxpbmtfX2NvbG9yLWFjdGl2ZSAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvci1hY3RpdmUsXG4gICAgaWNvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1pbmZvLWljb24sXG4gICAgaWNvbl9fY29sb3ItaW5uZXIgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1pbmZvLWljb25fX2NvbG9yLWlubmVyLFxuICAgIGljb25fX2NvbG9yLWxhdGVyYWwgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1pY29uX19jb2xvci1sYXRlcmFsLFxuICAgIGljb25fX2JhY2tncm91bmQgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1pY29uX19iYWNrZ3JvdW5kLFxuICAgIGljb25fX3RvcCAgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1pY29uX190b3AsXG4gICAgaWNvbl9fcmlnaHQgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1pbmZvLWljb25fX3JpZ2h0LFxuICAgIGljb25fX2JvdHRvbSAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1pY29uX19ib3R0b20sXG4gICAgaWNvbl9fbGVmdCAgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1pbmZvLWljb25fX2xlZnRcbikgIWRlZmF1bHQ7XG5cbi8vICBXYXJuaW5nIG1lc3NhZ2VcbiRtZXNzYWdlLXdhcm5pbmdfX2NvbG9yICAgICAgICAgICAgICA6ICRtZXNzYWdlLWluZm9fX2NvbG9yICFkZWZhdWx0O1xuJG1lc3NhZ2Utd2FybmluZ19fYmFja2dyb3VuZCAgICAgICAgIDogJG1lc3NhZ2UtaW5mb19fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtZXNzYWdlLXdhcm5pbmdfX2JvcmRlci1jb2xvciAgICAgICA6ICRtZXNzYWdlLWluZm9fX2JvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1lc3NhZ2Utd2FybmluZy1saW5rX19jb2xvciAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvciAhZGVmYXVsdDtcbiRtZXNzYWdlLXdhcm5pbmctbGlua19fY29sb3ItaG92ZXIgICA6ICRtZXNzYWdlLWluZm8tbGlua19fY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG4kbWVzc2FnZS13YXJuaW5nLWxpbmtfX2NvbG9yLWFjdGl2ZSAgOiAkbWVzc2FnZS1pbmZvLWxpbmtfX2NvbG9yLWFjdGl2ZSAhZGVmYXVsdDtcblxuJG1lc3NhZ2Utd2FybmluZy1pY29uICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1pY29uICFkZWZhdWx0O1xuJG1lc3NhZ2Utd2FybmluZy1pY29uX19jb2xvci1pbm5lciAgIDogJG1lc3NhZ2UtaW5mby1pY29uX19jb2xvci1pbm5lciAhZGVmYXVsdDtcbiRtZXNzYWdlLXdhcm5pbmctaWNvbl9fY29sb3ItbGF0ZXJhbCA6ICRtZXNzYWdlLWluZm8taWNvbl9fY29sb3ItbGF0ZXJhbCAhZGVmYXVsdDtcbiRtZXNzYWdlLXdhcm5pbmctaWNvbl9fYmFja2dyb3VuZCAgICA6ICRtZXNzYWdlLWluZm8taWNvbl9fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtZXNzYWdlLXdhcm5pbmctaWNvbl9fdG9wICAgICAgICAgICA6ICRtZXNzYWdlLWljb25fX3RvcCAhZGVmYXVsdDtcbiRtZXNzYWdlLXdhcm5pbmctaWNvbl9fcmlnaHQgICAgICAgICA6ICRtZXNzYWdlLWljb25fX3JpZ2h0ICFkZWZhdWx0O1xuJG1lc3NhZ2Utd2FybmluZy1pY29uX19ib3R0b20gICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fYm90dG9tICFkZWZhdWx0O1xuJG1lc3NhZ2Utd2FybmluZy1pY29uX19sZWZ0ICAgICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fbGVmdCAhZGVmYXVsdDtcblxuJG1lc3NhZ2Utd2FybmluZy1tYXAgICAgICAgICAgICAgICAgOiAoXG4gICAgY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS13YXJuaW5nX19jb2xvcixcbiAgICBiYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXdhcm5pbmdfX2JhY2tncm91bmQsXG4gICAgYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS13YXJuaW5nX19ib3JkZXItY29sb3IsXG4gICAgbGlua19fY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS13YXJuaW5nLWxpbmtfX2NvbG9yLFxuICAgIGxpbmtfX2NvbG9yLWhvdmVyICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utd2FybmluZy1saW5rX19jb2xvci1ob3ZlcixcbiAgICBsaW5rX19jb2xvci1hY3RpdmUgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXdhcm5pbmctbGlua19fY29sb3ItYWN0aXZlLFxuICAgIGljb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utd2FybmluZy1pY29uLFxuICAgIGljb25fX2NvbG9yLWlubmVyICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utd2FybmluZy1pY29uX19jb2xvci1pbm5lcixcbiAgICBpY29uX19jb2xvci1sYXRlcmFsICAgICAgICAgICAgICA6ICRtZXNzYWdlLXdhcm5pbmctaWNvbl9fY29sb3ItbGF0ZXJhbCxcbiAgICBpY29uX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXdhcm5pbmctaWNvbl9fYmFja2dyb3VuZCxcbiAgICBpY29uX190b3AgICAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXdhcm5pbmctaWNvbl9fdG9wLFxuICAgIGljb25fX3JpZ2h0ICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utd2FybmluZy1pY29uX19yaWdodCxcbiAgICBpY29uX19ib3R0b20gICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXdhcm5pbmctaWNvbl9fYm90dG9tLFxuICAgIGljb25fX2xlZnQgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utd2FybmluZy1pY29uX19sZWZ0XG4pICFkZWZhdWx0O1xuXG4vLyAgRXJyb3IgbWVzc2FnZVxuJG1lc3NhZ2UtZXJyb3JfX2NvbG9yICAgICAgICAgICAgICAgIDogJGVycm9yX19jb2xvciAhZGVmYXVsdDtcbiRtZXNzYWdlLWVycm9yX19iYWNrZ3JvdW5kICAgICAgICAgICA6ICRjb2xvci1waW5rMSAhZGVmYXVsdDtcbiRtZXNzYWdlLWVycm9yX19ib3JkZXItY29sb3IgICAgICAgICA6ICRlcnJvcl9fY29sb3IgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlLWVycm9yLWxpbmtfX2NvbG9yICAgICAgICAgICA6IGluaGVyaXQgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lcnJvci1saW5rX19jb2xvci1ob3ZlciAgICAgOiAkdGV4dF9fY29sb3IgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lcnJvci1saW5rX19jb2xvci1hY3RpdmUgICAgOiAkdGV4dF9fY29sb3IgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlLWVycm9yLWljb24gICAgICAgICAgICAgICAgICA6ICRpY29uLXdhcm5pbmcgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lcnJvci1pY29uX19jb2xvci1pbm5lciAgICAgOiAkY29sb3ItcmVkMTEgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lcnJvci1pY29uX19jb2xvci1sYXRlcmFsICAgOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lcnJvci1pY29uX19iYWNrZ3JvdW5kICAgICAgOiAkY29sb3ItcmVkMTEgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lcnJvci1pY29uX190b3AgICAgICAgICAgICAgOiAkbWVzc2FnZS1pY29uX190b3AgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lcnJvci1pY29uX19yaWdodCAgICAgICAgICAgOiAkbWVzc2FnZS1pY29uX19yaWdodCAhZGVmYXVsdDtcbiRtZXNzYWdlLWVycm9yLWljb25fX2JvdHRvbSAgICAgICAgICA6ICRtZXNzYWdlLWljb25fX2JvdHRvbSAhZGVmYXVsdDtcbiRtZXNzYWdlLWVycm9yLWljb25fX2xlZnQgICAgICAgICAgICA6ICRtZXNzYWdlLWljb25fX2xlZnQgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlLWVycm9yLW1hcCAgICAgICAgICAgICAgICAgIDogKFxuICAgIGNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtZXJyb3JfX2NvbG9yLFxuICAgIGJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtZXJyb3JfX2JhY2tncm91bmQsXG4gICAgYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1lcnJvcl9fYm9yZGVyLWNvbG9yLFxuICAgIGxpbmtfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtZXJyb3ItbGlua19fY29sb3IsXG4gICAgbGlua19fY29sb3ItaG92ZXIgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1lcnJvci1saW5rX19jb2xvci1ob3ZlcixcbiAgICBsaW5rX19jb2xvci1hY3RpdmUgICAgICAgICAgICAgICA6ICRtZXNzYWdlLWVycm9yLWxpbmtfX2NvbG9yLWFjdGl2ZSxcbiAgICBpY29uICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLWVycm9yLWljb24sXG4gICAgaWNvbl9fY29sb3ItaW5uZXIgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1lcnJvci1pY29uX19jb2xvci1pbm5lcixcbiAgICBpY29uX19jb2xvci1sYXRlcmFsICAgICAgICAgICAgICA6ICRtZXNzYWdlLWVycm9yLWljb25fX2NvbG9yLWxhdGVyYWwsXG4gICAgaWNvbl9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1lcnJvci1pY29uX19iYWNrZ3JvdW5kLFxuICAgIGljb25fX3RvcCAgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtZXJyb3ItaWNvbl9fdG9wLFxuICAgIGljb25fX3JpZ2h0ICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtZXJyb3ItaWNvbl9fcmlnaHQsXG4gICAgaWNvbl9fYm90dG9tICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1lcnJvci1pY29uX19ib3R0b20sXG4gICAgaWNvbl9fbGVmdCAgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1lcnJvci1pY29uX19sZWZ0XG4pICFkZWZhdWx0O1xuXG4vLyAgU3VjY2VzcyBtZXNzYWdlXG4kbWVzc2FnZS1zdWNjZXNzX19jb2xvciAgICAgICAgICAgICAgOiAkY29sb3ItZGFyay1ncmVlbjEgIWRlZmF1bHQ7XG4kbWVzc2FnZS1zdWNjZXNzX19iYWNrZ3JvdW5kICAgICAgICAgOiAkY29sb3ItZ3JheS1saWdodDEgIWRlZmF1bHQ7XG4kbWVzc2FnZS1zdWNjZXNzX19ib3JkZXItY29sb3IgICAgICAgOiAkY29sb3ItZGFyay1ncmVlbjEgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlLXN1Y2Nlc3MtbGlua19fY29sb3IgICAgICAgICA6IGluaGVyaXQgIWRlZmF1bHQ7XG4kbWVzc2FnZS1zdWNjZXNzLWxpbmtfX2NvbG9yLWhvdmVyICAgOiAkdGV4dF9fY29sb3IgIWRlZmF1bHQ7XG4kbWVzc2FnZS1zdWNjZXNzLWxpbmtfX2NvbG9yLWFjdGl2ZSAgOiAkdGV4dF9fY29sb3IgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlLXN1Y2Nlc3MtaWNvbiAgICAgICAgICAgICAgICA6ICRpY29uLWNoZWNrbWFyayAhZGVmYXVsdDtcbiRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fY29sb3ItaW5uZXIgICA6ICRjb2xvci1kYXJrLWdyZWVuMSAhZGVmYXVsdDtcbiRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fY29sb3ItbGF0ZXJhbCA6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fYmFja2dyb3VuZCAgICA6ICRjb2xvci1kYXJrLWdyZWVuMSAhZGVmYXVsdDtcbiRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fdG9wICAgICAgICAgICA6ICRtZXNzYWdlLWljb25fX3RvcCAhZGVmYXVsdDtcbiRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fcmlnaHQgICAgICAgICA6ICRtZXNzYWdlLWljb25fX3JpZ2h0ICFkZWZhdWx0O1xuJG1lc3NhZ2Utc3VjY2Vzcy1pY29uX19ib3R0b20gICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fYm90dG9tICFkZWZhdWx0O1xuJG1lc3NhZ2Utc3VjY2Vzcy1pY29uX19sZWZ0ICAgICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fbGVmdCAhZGVmYXVsdDtcblxuJG1lc3NhZ2Utc3VjY2Vzcy1tYXAgICAgICAgICAgICAgICAgOiAoXG4gICAgY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1zdWNjZXNzX19jb2xvcixcbiAgICBiYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXN1Y2Nlc3NfX2JhY2tncm91bmQsXG4gICAgYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1zdWNjZXNzX19ib3JkZXItY29sb3IsXG4gICAgbGlua19fY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1zdWNjZXNzLWxpbmtfX2NvbG9yLFxuICAgIGxpbmtfX2NvbG9yLWhvdmVyICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utc3VjY2Vzcy1saW5rX19jb2xvci1ob3ZlcixcbiAgICBsaW5rX19jb2xvci1hY3RpdmUgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXN1Y2Nlc3MtbGlua19fY29sb3ItYWN0aXZlLFxuICAgIGljb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utc3VjY2Vzcy1pY29uLFxuICAgIGljb25fX2NvbG9yLWlubmVyICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utc3VjY2Vzcy1pY29uX19jb2xvci1pbm5lcixcbiAgICBpY29uX19jb2xvci1sYXRlcmFsICAgICAgICAgICAgICA6ICRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fY29sb3ItbGF0ZXJhbCxcbiAgICBpY29uX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fYmFja2dyb3VuZCxcbiAgICBpY29uX190b3AgICAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fdG9wLFxuICAgIGljb25fX3JpZ2h0ICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utc3VjY2Vzcy1pY29uX19yaWdodCxcbiAgICBpY29uX19ib3R0b20gICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLXN1Y2Nlc3MtaWNvbl9fYm90dG9tLFxuICAgIGljb25fX2xlZnQgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utc3VjY2Vzcy1pY29uX19sZWZ0XG4pICFkZWZhdWx0O1xuXG4vLyAgTm90aWNlIG1lc3NhZ2VcbiRtZXNzYWdlLW5vdGljZV9fY29sb3IgICAgICAgICAgICAgICA6ICRtZXNzYWdlLWluZm9fX2NvbG9yICFkZWZhdWx0O1xuJG1lc3NhZ2Utbm90aWNlX19iYWNrZ3JvdW5kICAgICAgICAgIDogJG1lc3NhZ2UtaW5mb19fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtZXNzYWdlLW5vdGljZV9fYm9yZGVyLWNvbG9yICAgICAgICA6ICRtZXNzYWdlLWluZm9fX2JvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1lc3NhZ2Utbm90aWNlLWxpbmtfX2NvbG9yICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvciAhZGVmYXVsdDtcbiRtZXNzYWdlLW5vdGljZS1saW5rX19jb2xvci1ob3ZlciAgICA6ICRtZXNzYWdlLWluZm8tbGlua19fY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG4kbWVzc2FnZS1ub3RpY2UtbGlua19fY29sb3ItYWN0aXZlICAgOiAkbWVzc2FnZS1pbmZvLWxpbmtfX2NvbG9yLWFjdGl2ZSAhZGVmYXVsdDtcblxuJG1lc3NhZ2Utbm90aWNlLWljb24gICAgICAgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1pY29uICFkZWZhdWx0O1xuJG1lc3NhZ2Utbm90aWNlLWljb25fX2NvbG9yLWlubmVyICAgIDogJG1lc3NhZ2UtaW5mby1pY29uX19jb2xvci1pbm5lciAhZGVmYXVsdDtcbiRtZXNzYWdlLW5vdGljZS1pY29uX19jb2xvci1sYXRlcmFsICA6ICRtZXNzYWdlLWluZm8taWNvbl9fY29sb3ItbGF0ZXJhbCAhZGVmYXVsdDtcbiRtZXNzYWdlLW5vdGljZS1pY29uX19iYWNrZ3JvdW5kICAgICA6ICRtZXNzYWdlLWluZm8taWNvbl9fYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtZXNzYWdlLW5vdGljZS1pY29uX190b3AgICAgICAgICAgICA6ICRtZXNzYWdlLWljb25fX3RvcCAhZGVmYXVsdDtcbiRtZXNzYWdlLW5vdGljZS1pY29uX19yaWdodCAgICAgICAgICA6ICRtZXNzYWdlLWljb25fX3JpZ2h0ICFkZWZhdWx0O1xuJG1lc3NhZ2Utbm90aWNlLWljb25fX2JvdHRvbSAgICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fYm90dG9tICFkZWZhdWx0O1xuJG1lc3NhZ2Utbm90aWNlLWljb25fX2xlZnQgICAgICAgICAgIDogJG1lc3NhZ2UtaWNvbl9fbGVmdCAhZGVmYXVsdDtcblxuJG1lc3NhZ2Utbm90aWNlLW1hcCAgICAgICAgICAgICAgICAgOiAoXG4gICAgY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1ub3RpY2VfX2NvbG9yLFxuICAgIGJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utbm90aWNlX19iYWNrZ3JvdW5kLFxuICAgIGJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utbm90aWNlX19ib3JkZXItY29sb3IsXG4gICAgbGlua19fY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1ub3RpY2UtbGlua19fY29sb3IsXG4gICAgbGlua19fY29sb3ItaG92ZXIgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1ub3RpY2UtbGlua19fY29sb3ItaG92ZXIsXG4gICAgbGlua19fY29sb3ItYWN0aXZlICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1ub3RpY2UtbGlua19fY29sb3ItYWN0aXZlLFxuICAgIGljb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utbm90aWNlLWljb24sXG4gICAgaWNvbl9fY29sb3ItaW5uZXIgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1ub3RpY2UtaWNvbl9fY29sb3ItaW5uZXIsXG4gICAgaWNvbl9fY29sb3ItbGF0ZXJhbCAgICAgICAgICAgICAgOiAkbWVzc2FnZS1ub3RpY2UtaWNvbl9fY29sb3ItbGF0ZXJhbCxcbiAgICBpY29uX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLW5vdGljZS1pY29uX19iYWNrZ3JvdW5kLFxuICAgIGljb25fX3RvcCAgICAgICAgICAgICAgICAgICAgICAgIDogJG1lc3NhZ2Utbm90aWNlLWljb25fX3RvcCxcbiAgICBpY29uX19yaWdodCAgICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLW5vdGljZS1pY29uX19yaWdodCxcbiAgICBpY29uX19ib3R0b20gICAgICAgICAgICAgICAgICAgICA6ICRtZXNzYWdlLW5vdGljZS1pY29uX19ib3R0b20sXG4gICAgaWNvbl9fbGVmdCAgICAgICAgICAgICAgICAgICAgICAgOiAkbWVzc2FnZS1ub3RpY2UtaWNvbl9fbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8gIEVtYWlsIG1lc3NhZ2VzXG4kbWVzc2FnZS1lbWFpbF9fY29sb3IgICAgICAgICAgICAgICAgOiAkdGV4dF9fY29sb3IgIWRlZmF1bHQ7XG4kbWVzc2FnZS1lbWFpbF9fYmFja2dyb3VuZCAgICAgICAgICAgOiAkbWVzc2FnZS1pbmZvX19iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1lc3NhZ2UtZW1haWxfX2JvcmRlci1jb2xvciAgICAgICAgIDogJG1lc3NhZ2UtaW5mb19fYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1lc3NhZ2UtZW1haWwtbGlua19fY29sb3IgICAgICAgICAgIDogJG1lc3NhZ2UtaW5mby1saW5rX19jb2xvciAhZGVmYXVsdDtcbiIsIi8vXG4vLyAgVmFyaWFibGVzIFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kYWN0aXZlLW5hdi1pbmRlbnQ6IDU0cHggIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19jb2xvcjogJGNvbG9yLWNvZC1ncmF5O1xuJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGg6IDA7XG5cblxuXG5cbi8vXG4vLyAgQ29tbW9uIFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4ucGFuZWwuaGVhZGVyIC5zd2l0Y2hlciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYW5lbC5oZWFkZXIgLmhlYWRlci5saW5rcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5uYXYtc2VjdGlvbnMge1xuXHRAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRuYXZpZ2F0aW9uX19iYWNrZ3JvdW5kKTtcbn1cblxuLm5hdi10b2dnbGUge1xuXHRAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuXHRcdCRpY29uLW1lbnUsXG5cdFx0JF9pY29uLWZvbnQtc2l6ZSAgICAgICAgOiAyOHB4LFxuXHRcdCRfaWNvbi1mb250LWNvbG9yICAgICAgIDogJGhlYWRlci1pY29ucy1jb2xvcixcblx0XHQkX2ljb24tZm9udC1jb2xvci1ob3ZlciA6ICRoZWFkZXItaWNvbnMtY29sb3ItaG92ZXJcblx0KTtcblx0QGluY2x1ZGUgbGliLWljb24tdGV4dC1oaWRlKCk7XG5cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvcmRlcjogOTk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDQuNHJlbTtcblx0aGVpZ2h0OiA0LjhyZW07XG5cdGZvbnQtc2l6ZTogMDtcblx0ei1pbmRleDogNDQ7XG59XG5cblxuXG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuXG5cdC5uYXZpZ2F0aW9uIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdFxuXHRcdC5wYXJlbnQge1xuXHRcdFx0LmxldmVsLXRvcCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWljb24tZm9udChcblx0XHRcdFx0XHQkX2ljb24tZm9udC1jb250ZW50ICA6ICRpY29uLWRvd24sXG5cdFx0XHRcdFx0JF9pY29uLWZvbnQtc2l6ZSAgICAgOiA0MnB4LFxuXHRcdFx0XHRcdCRfaWNvbi1mb250LXBvc2l0aW9uIDogYWZ0ZXIsXG5cdFx0XHRcdFx0JF9pY29uLWZvbnQtZGlzcGxheSAgOiBibG9ja1xuXHRcdFx0XHQpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHJpZ2h0OiA3cHg7XG5cdFx0XHRcdFx0dG9wOiAtOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmLnVpLXN0YXRlLWFjdGl2ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG5cdFx0XHRcdFx0XHQkX2ljb24tZm9udC1jb250ZW50ICA6ICRpY29uLXVwLFxuXHRcdFx0XHRcdFx0JF9pY29uLWZvbnQtcG9zaXRpb24gOiBhZnRlclxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5uYXYtc2VjdGlvbnMge1xuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHRAaW5jbHVkZSBsaWItY3NzKHRyYW5zaXRpb24sIGxlZnQgMC4zcywgMSk7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IC04MCU7XG5cdFx0bGVmdDogY2FsYygtMSAqICgxMDAlIC0gI3skYWN0aXZlLW5hdi1pbmRlbnR9KSk7XG5cdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDgwJTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3skYWN0aXZlLW5hdi1pbmRlbnR9KTtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcblx0XHQuc3dpdGNoZXIge1xuXHRcdFx0bWFyZ2luOiBhdXRvIDAgMCAwO1xuXHRcdFx0cGFkZGluZzogMC44cmVtIDMuNXJlbSAwLjhyZW0gMnJlbTtcblxuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmF5ODI7XG5cdFx0XHRcblx0XHRcdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFxuXHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMS42cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuc3dpdGNoZXItdHJpZ2dlciB7XG5cdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG5cdFx0XHRcdFx0JF9pY29uLWZvbnQtY29udGVudCAgOiAkaWNvbi1kb3duLFxuXHRcdFx0XHRcdCRfaWNvbi1mb250LXNpemUgICAgIDogMnJlbSxcblx0XHRcdFx0XHQkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyLFxuXHRcdFx0XHRcdCRfaWNvbi1mb250LWRpc3BsYXkgIDogYmxvY2tcblx0XHRcdFx0KTtcblx0XHRcdFx0XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRyaWdodDogLTJyZW07XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCYuYWN0aXZlIHN0cm9uZyB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1pY29uLWZvbnQtc3ltYm9sKFxuXHRcdFx0XHRcdCRfaWNvbi1mb250LWNvbnRlbnQgIDogJGljb24tdXAsXG5cdFx0XHRcdFx0JF9pY29uLWZvbnQtcG9zaXRpb24gOiBhZnRlclxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuc3dpdGNoZXItZHJvcGRvd24ge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdCZbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0LnN3aXRjaGVyLW9wdGlvbiB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0XHQmID4gYSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cGFkZGluZzogMXJlbSAwO1xuXHRcdFx0XHRcdGNvbG9yOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Lm1lbnUtbWFpbi11bCB7XG5cdFx0XHQubGV2ZWwwIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuaGVhZGVyLmxpbmtzIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5ODI7XG5cdFx0XHRcblx0XHRcdGxpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XG5cdFx0XHRcdCYuZ3JlZXQud2VsY29tZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmF5ODI7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0cGFkZGluZzogMC44cmVtICRpbmRlbnRfX2Jhc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmF5ODI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0YSxcblx0XHRcdGE6aG92ZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fY29sb3IpO1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKHRleHQtZGVjb3JhdGlvbiwgJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX3RleHQtZGVjb3JhdGlvbik7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0cGFkZGluZzogMC44cmVtICRpbmRlbnRfX2Jhc2U7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5oZWFkZXIubGlua3Mge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQubmF2LWJlZm9yZS1vcGVuIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdFxuXHRcdC5wYWdlLXdyYXBwZXIge1xuXHRcdFx0QGluY2x1ZGUgbGliLWNzcyh0cmFuc2l0aW9uLCBsZWZ0IDAuM3MsIDEpO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHRcdFxuXHRcdGJvZHkge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXHRcblx0Lm5hdi1vcGVuIHtcblx0XHQucGFnZS13cmFwcGVyIHtcblx0XHRcdGxlZnQ6IDgwJTtcblx0XHRcdGxlZnQ6IGNhbGMoMTAwJSAtICN7JGFjdGl2ZS1uYXYtaW5kZW50fSk7XG5cdFx0fVxuXHRcdFxuXHRcdC5uYXYtc2VjdGlvbnMge1xuXHRcdFx0JF9zaGFkb3c6IDAgMCA1cHggMCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO1xuXHRcdFx0XG5cdFx0XHRAaW5jbHVkZSBsaWItY3NzKGJveC1zaGFkb3csICRfc2hhZG93LCAxKTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR6LWluZGV4OiA5OTtcblx0XHR9XG5cdFx0XG5cdFx0Lm5hdi10b2dnbGUge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgJG92ZXJsYXlfX29wYWNpdHkpO1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5uYXYtc2VjdGlvbnMtaXRlbXMge1xuXHRcdEBpbmNsdWRlIGxpYi1jbGVhcmZpeCgpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdFxuXHQubmF2LXNlY3Rpb25zLWl0ZW0tdGl0bGUge1xuXHRcdGJhY2tncm91bmQ6IGRhcmtlbigkbmF2aWdhdGlvbl9fYmFja2dyb3VuZCwgNSUpO1xuXHRcdGJvcmRlcjogc29saWQgZGFya2VuKCRuYXZpZ2F0aW9uX19iYWNrZ3JvdW5kLCAxMCUpO1xuXHRcdGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRoZWlnaHQ6IDcxcHg7XG5cdFx0cGFkZGluZy10b3A6IDI0cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiAzMy4zMyU7XG5cdFx0XG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdH1cblx0XHRcblx0XHQubmF2LXNlY3Rpb25zLWl0ZW0tc3dpdGNoIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQubmF2LXNlY3Rpb25zLWl0ZW0tY29udGVudCB7XG5cdFx0QGluY2x1ZGUgbGliLWNsZWFyZml4KCk7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xMDAlO1xuXHRcdG1hcmdpbi10b3A6IDcxcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0XG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHRcdFxuXHRcdHBhZGRpbmc6ICRpbmRlbnRfX20gMDtcblx0fVxuXHRcblx0QGluY2x1ZGUgbGliLW1haW4tbmF2aWdhdGlvbigpO1xufVxuXG5cblxuXG4vL1xuLy8gIFRhYmxldCBhbmQgdXBcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG5cdFxuXHQubmF2LXRvZ2dsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0LyogTWFpbiBuYXYgKi9cblx0LnBhZ2UtaGVhZGVyICsgLm5hdi1zZWN0aW9ucyA+IC5uYXZpZ2F0aW9uIHtcblx0XHRib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG5cdH1cblxuXHQubmF2aWdhdGlvbiB1bC5tZW51LW1haW4tdWwge1xuXHRcdHBhZGRpbmc6IDAgMnJlbTtcblx0XHRtYXgtd2lkdGg6ICRsYXlvdXRfX21heC13aWR0aDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxuXHRcblx0Lm5hdi1zZWN0aW9ucyB7XG5cdFx0QGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZmxleC1zaHJpbmsoMCk7XG5cdFx0QGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZmxleC1iYXNpcyhhdXRvKTtcblx0fVxuXHRcblx0Lm5hdi1zZWN0aW9ucy1pdGVtLXRpdGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHQubmF2LXNlY3Rpb25zLWl0ZW0tY29udGVudCB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0fVxuXHRcblx0Lm5hdi1zZWN0aW9ucy1pdGVtLWNvbnRlbnQgPiAqIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHQubmF2LXNlY3Rpb25zLWl0ZW0tY29udGVudCB7XG5cdFx0PiAubmF2aWdhdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblx0XG5cdC8qIFJlLXVzZSBtb3N0IG9mIHRoZSBNYWdlbnRvIFVJIG1peGluLCB3aXRoIHNvbWUgb3ZlcnJpZGVzICovXG5cdEBpbmNsdWRlIGxpYi1tYWluLW5hdmlnYXRpb24tZGVza3RvcCgpO1xuXHQubmF2aWdhdGlvbiAubWVudS1tYWluLXVsIC5sZXZlbDAgPiAubGV2ZWwtdG9wIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGN1YmljLWJlemllcigwLjMzLDAuNjYsMC42NiwxKTtcbiAgICBwYWRkaW5nOiAxLjRyZW0gMi42cmVtO1xuXG4gICAgY29sb3I6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2NvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG5cdFx0XG5cdFx0Ji5maXJzdCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTIuNnJlbTtcblx0XHR9XG5cdH1cblx0XG5cdC5wYW5lbC5oZWFkZXIgLnN3aXRjaGVyIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxufVxuXG5cbi8qIGZpbmV0dW5pbmcgdHdlZW5lciBzaXplcyAqL1xuQGluY2x1ZGUgc2NyZWVuKCRzY3JlZW5fX20sICRzY3JlZW5fX2wpIHtcbiAgLm5hdmlnYXRpb24gLm1lbnUtbWFpbi11bCAubGV2ZWwwID4gLmxldmVsLXRvcCB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDQuMnJlbTtcblxuICAgICYuZmlyc3Qge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjVyZW07XG5cdFx0fVxuICB9XG59XG4iLCIvL1xuLy8gIE5hdmlnYXRpb24gdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRuYXZpZ2F0aW9uX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHNlY29uZGFyeV9fY29sb3JfX2xpZ2h0ICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcblxuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2ZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxNiAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtd2VpZ2h0X19ib2xkICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogOHB4ICRpbmRlbnRfX3hsIDhweCAxNXB4ICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX3RleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICA6IDFweCBzb2xpZCAkY29sb3ItZ3JheTgyICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheTM0ICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX3RleHQtZGVjb3JhdGlvbiAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuXG4kbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19iYWNrZ3JvdW5kICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgOiAkY29sb3Itb3JhbmdlLXJlZDEgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItc3R5bGUgICAgICAgICAgICA6IHNvbGlkICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoICAgICAgICAgICAgOiAwIDAgMCA4cHggIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19jb2xvciAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgOiAnJyAhZGVmYXVsdDtcblxuJHN1Ym1lbnVfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRzdWJtZW51X19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG4kc3VibWVudV9fcGFkZGluZy10b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3MgIWRlZmF1bHQ7XG4kc3VibWVudV9fcGFkZGluZy1yaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kc3VibWVudV9fcGFkZGluZy1ib3R0b20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3MgIWRlZmF1bHQ7XG4kc3VibWVudV9fcGFkZGluZy1sZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kc3VibWVudV9fZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJHN1Ym1lbnVfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC13ZWlnaHRfX3JlZ3VsYXIgIWRlZmF1bHQ7XG4kc3VibWVudS1pdGVtX19saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEuMyAhZGVmYXVsdDtcblxuJHN1Ym1lbnUtaXRlbV9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRzdWJtZW51LWl0ZW1fX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG4kc3VibWVudS1pdGVtX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1ncmF5MzQgIWRlZmF1bHQ7XG4kc3VibWVudS1pdGVtX190ZXh0LWRlY29yYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuXG4kc3VibWVudS1pdGVtX19hY3RpdmVfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJHN1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA4cHggIWRlZmF1bHQ7XG4kc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1vcmFuZ2UtcmVkMSAhZGVmYXVsdDtcbiRzdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlICAgICAgICAgICAgICAgICAgICAgIDogc29saWQgIWRlZmF1bHQ7XG4kc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlci13aWR0aCAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAwICRzdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym1lbnUtaXRlbV9fYWN0aXZlX19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRzdWJtZW51LWl0ZW1fX2FjdGl2ZV9fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgRGVza3RvcCBuYXZpZ2F0aW9uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRuYXZpZ2F0aW9uLWRlc2t0b3BfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgIDogJG5hdmlnYXRpb25fX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1kZXNrdG9wX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tZGVza3RvcF9fZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWRlc2t0b3BfX2ZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtd2VpZ2h0X19ib2xkICFkZWZhdWx0O1xuXG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19saW5lLWhlaWdodCAgICAgICAgICAgICA6IDUzcHggIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19tYXJnaW4gICAgICAgICAgICAgICAgICA6IDAgJGluZGVudF9fcyAwIDAgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19wYWRkaW5nICAgICAgICAgICAgICAgICA6IDAgMTJweCAhZGVmYXVsdDtcblxuJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYmFja2dyb3VuZCAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2JvcmRlciAgICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19jb2xvciAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1ncmF5MzQgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX190ZXh0LWRlY29yYXRpb24gICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG5cbiRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2hvdmVyX19iYWNrZ3JvdW5kICAgICAgIDogJycgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19ob3Zlcl9fYm9yZGVyICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9faG92ZXJfX2NvbG9yICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX3RleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYWN0aXZlX19iYWNrZ3JvdW5kICAgICAgOiAnJyAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLWNvbG9yICAgIDogJGNvbG9yLW9yYW5nZS1yZWQxICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItc3R5bGUgICAgOiBzb2xpZCAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoICAgIDogMCAwIDNweCAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fY29sb3IgICAgICAgICAgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9faG92ZXJfX2NvbG9yICFkZWZhdWx0O1xuJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYWN0aXZlX190ZXh0LWRlY29yYXRpb24gOiAkbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX190ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiRzdWJtZW51LWRlc2t0b3BfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBhZ2VfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wX19ib3JkZXItd2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRib3JkZXItd2lkdGhfX2Jhc2UgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wX19ib3JkZXItc3R5bGUgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNvbGlkICFkZWZhdWx0O1xuJHN1Ym1lbnUtZGVza3RvcF9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yX19iYXNlICFkZWZhdWx0O1xuJHN1Ym1lbnUtZGVza3RvcF9fYm94LXNoYWRvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICRpbmRlbnRfX3hzICRpbmRlbnRfX3hzIHJnYmEoMCwgMCwgMCwgMC4xOSkgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJHN1Ym1lbnUtZGVza3RvcF9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC13ZWlnaHRfX2JvbGQgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wX19taW4td2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDIzMHB4ICFkZWZhdWx0O1xuJHN1Ym1lbnUtZGVza3RvcF9fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxNXB4IDAgIWRlZmF1bHQ7XG5cbiRzdWJtZW51LWRlc2t0b3AtYXJyb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDsgLy8gW3RydWV8ZmFsc2VdXG4kc3VibWVudS1kZXNrdG9wLWFycm93X19zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wLWFycm93X19sZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG5cbiRzdWJtZW51LWRlc2t0b3AtaXRlbV9fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogOHB4ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wLWl0ZW1fX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuJHN1Ym1lbnUtZGVza3RvcC1pdGVtX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRzdWJtZW51LWRlc2t0b3AtaXRlbV9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fY29sb3IgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wLWl0ZW1fX3RleHQtZGVjb3JhdGlvbiAgICAgICAgICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuXG4kc3VibWVudS1kZXNrdG9wLWl0ZW1fX2hvdmVyX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICA6ICRzZWNvbmRhcnlfX2NvbG9yICFkZWZhdWx0O1xuJHN1Ym1lbnUtZGVza3RvcC1pdGVtX19ob3Zlcl9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAnJyAhZGVmYXVsdDtcbiRzdWJtZW51LWRlc2t0b3AtaXRlbV9faG92ZXJfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9faG92ZXJfX2NvbG9yICFkZWZhdWx0O1xuJHN1Ym1lbnUtZGVza3RvcC1pdGVtX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX190ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiRzdWJtZW51LWRlc2t0b3AtaXRlbV9fYWN0aXZlX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgICA6ICRjb2xvci1vcmFuZ2UtcmVkMSAhZGVmYXVsdDtcbiRzdWJtZW51LWRlc2t0b3AtaXRlbV9fYWN0aXZlX19ib3JkZXItc3R5bGUgICAgICAgICAgICAgIDogc29saWQgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoICAgICAgICAgICAgICA6IDAgMCAwIDNweCAhZGVmYXVsdDtcbiRzdWJtZW51LWRlc2t0b3AtaXRlbV9fYWN0aXZlX19jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG4kc3VibWVudS1kZXNrdG9wLWl0ZW1fX2FjdGl2ZV9fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICA6ICcnICFkZWZhdWx0O1xuIiwiLy9cbi8vICBOYXZpZ2F0aW9uXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBtaXhpbiBsaWItbWFpbi1uYXZpZ2F0aW9uKFxuICAgICRfbmF2X19pbmRlbnQtc2lkZSAgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCxcbiAgICAkX25hdi1iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uX19iYWNrZ3JvdW5kLFxuICAgICRfbmF2LWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJG5hdmlnYXRpb25fX2JvcmRlcixcbiAgICAkX25hdi1sZXZlbDAtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19mb250LXNpemUsXG4gICAgJF9uYXYtbGV2ZWwwLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fZm9udC13ZWlnaHQsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW0tbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fbGluZS1oZWlnaHQsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW0tbWFyZ2luICAgICAgICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fbWFyZ2luLFxuICAgICRfbmF2LWxldmVsMC1pdGVtLXBhZGRpbmcgICAgICAgICAgICAgICAgIDogJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX3BhZGRpbmcsXG4gICAgJF9uYXYtbGV2ZWwwLXRleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fdGV4dC10cmFuc2Zvcm0sXG5cbiAgICAkX25hdi1sZXZlbDAtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yICAgICAgICA6ICRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19iYWNrZ3JvdW5kLFxuICAgICRfbmF2LWxldmVsMC1pdGVtLWJvcmRlciAgICAgICAgICAgICAgICAgIDogJG5hdmlnYXRpb24tbGV2ZWwwLWl0ZW1fX2JvcmRlcixcbiAgICAkX25hdi1sZXZlbDAtaXRlbS1jb2xvciAgICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19jb2xvcixcbiAgICAkX25hdi1sZXZlbDAtaXRlbS10ZXh0LWRlY29yYXRpb24gICAgICAgICA6ICRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX190ZXh0LWRlY29yYXRpb24sXG5cbiAgICAkX25hdi1sZXZlbDAtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSA6ICRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19hY3RpdmVfX2JhY2tncm91bmQsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLWNvbG9yICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItY29sb3IsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItc3R5bGUsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGgsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW0tY29sb3ItYWN0aXZlICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1sZXZlbDAtaXRlbV9fYWN0aXZlX19jb2xvcixcbiAgICAkX25hdi1sZXZlbDAtaXRlbS10ZXh0LWRlY29yYXRpb24tYWN0aXZlICA6ICRuYXZpZ2F0aW9uLWxldmVsMC1pdGVtX19hY3RpdmVfX3RleHQtZGVjb3JhdGlvbixcblxuICAgICRfc3VibWVudS1iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgICAgICAgIDogJHN1Ym1lbnVfX2JhY2tncm91bmQsXG4gICAgJF9zdWJtZW51LWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkc3VibWVudV9fYm9yZGVyLFxuICAgICRfc3VibWVudS1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnVfX2ZvbnQtc2l6ZSxcbiAgICAkX3N1Ym1lbnUtZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRzdWJtZW51X19mb250LXdlaWdodCxcbiAgICAkX3N1Ym1lbnUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRzdWJtZW51LWl0ZW1fX2xpbmUtaGVpZ2h0LFxuICAgICRfc3VibWVudS1pdGVtX19wYWRkaW5nLXRvcCAgICAgICAgICAgICAgIDogJHN1Ym1lbnVfX3BhZGRpbmctdG9wLFxuICAgICRfc3VibWVudS1pdGVtX19wYWRkaW5nLXJpZ2h0ICAgICAgICAgICAgIDogJHN1Ym1lbnVfX3BhZGRpbmctcmlnaHQsXG4gICAgJF9zdWJtZW51LWl0ZW1fX3BhZGRpbmctYm90dG9tICAgICAgICAgICAgOiAkc3VibWVudV9fcGFkZGluZy1ib3R0b20sXG4gICAgJF9zdWJtZW51LWl0ZW1fX3BhZGRpbmctbGVmdCAgICAgICAgICAgICAgOiAkc3VibWVudV9fcGFkZGluZy1sZWZ0LFxuXG4gICAgJF9zdWJtZW51LWl0ZW0tYmFja2dyb3VuZC1jb2xvciAgICAgICAgICAgOiAkc3VibWVudS1pdGVtX19iYWNrZ3JvdW5kLFxuICAgICRfc3VibWVudS1pdGVtLWJvcmRlciAgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtaXRlbV9fYm9yZGVyLFxuICAgICRfc3VibWVudS1pdGVtLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtaXRlbV9fY29sb3IsXG4gICAgJF9zdWJtZW51LWl0ZW0tdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgOiAkc3VibWVudS1pdGVtX190ZXh0LWRlY29yYXRpb24sXG5cbiAgICAkX3N1Ym1lbnUtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSAgICA6ICRzdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYmFja2dyb3VuZCxcbiAgICAkX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXIgICAgICAgICAgICA6ICRzdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLFxuICAgICRfc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvciAgICAgIDogJHN1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXItY29sb3IsXG4gICAgJF9zdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlICAgICAgOiAkc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlci1zdHlsZSxcbiAgICAkX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGggICAgICA6ICRzdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoLFxuICAgICRfc3VibWVudS1pdGVtLWNvbG9yLWFjdGl2ZSAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtaXRlbV9fYWN0aXZlX19jb2xvcixcbiAgICAkX3N1Ym1lbnUtaXRlbS10ZXh0LWRlY29yYXRpb24tYWN0aXZlICAgICA6ICRzdWJtZW51LWl0ZW1fX2FjdGl2ZV9fdGV4dC1kZWNvcmF0aW9uXG4pIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9uYXYtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX25hdi1ib3JkZXIpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3N1Ym1lbnUtaXRlbV9fcGFkZGluZy10b3AgJF9zdWJtZW51LWl0ZW1fX3BhZGRpbmctcmlnaHQgJF9zdWJtZW51LWl0ZW1fX3BhZGRpbmctYm90dG9tICRfc3VibWVudS1pdGVtX19wYWRkaW5nLWxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX25hdi1sZXZlbDAtaXRlbS1jb2xvcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtZGVjb3JhdGlvbiwgJF9uYXYtbGV2ZWwwLWl0ZW0tdGV4dC1kZWNvcmF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sZXZlbDAge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLCAkX25hdi1sZXZlbDAtaXRlbS1ib3JkZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgkX25hdi1sZXZlbDAtZm9udC1zaXplKTtcblxuICAgICAgICAgICAgPiAubGV2ZWwtdG9wIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfbmF2LWxldmVsMC1pdGVtLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfbmF2LWxldmVsMC1mb250LXdlaWdodCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsaW5lLWhlaWdodCwgJF9uYXYtbGV2ZWwwLWl0ZW0tbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9uYXYtbGV2ZWwwLWl0ZW0tcGFkZGluZyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LXRyYW5zZm9ybSwgJF9uYXYtbGV2ZWwwLXRleHQtdHJhbnNmb3JtKTtcbiAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuYWxsLWNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAgICAgLnVpLXN0YXRlLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9uYXYtbGV2ZWwwLWl0ZW0tYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsICRfbmF2LWxldmVsMC1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1zdHlsZSwgJF9uYXYtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXdpZHRoLCAkX25hdi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9uYXYtbGV2ZWwwLWl0ZW0tY29sb3ItYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1sZWZ0LCAkX25hdl9faW5kZW50LXNpZGUgLSAkX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfbmF2LWxldmVsMC1pdGVtLXRleHQtZGVjb3JhdGlvbi1hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5sZXZlbDEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRmb250LXdlaWdodF9fc2VtaWJvbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICYuaGFzLWFjdGl2ZSB7IC8vIFRvRG8gVUk6IHJlbW92ZSBcImhhc19hY3RpdmVcIiBoZXJlLCB3aGVuIG1vYmlsZSBuYXZpZ2F0aW9uIGRlZmF1bHQgb3BlbiBzdGF0ZSBpcyBpbXBsZW1lbnRlZFxuICAgICAgICAgICAgICAgID4gYTpub3QoLnVpLXN0YXRlLWFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfbmF2LWxldmVsMC1pdGVtLWJhY2tncm91bmQtY29sb3ItYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsICRfbmF2LWxldmVsMC1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXN0eWxlLCAkX25hdi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItc3R5bGUpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci13aWR0aCwgJF9uYXYtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9uYXYtbGV2ZWwwLWl0ZW0tY29sb3ItYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfbmF2LWxldmVsMC1pdGVtLXRleHQtZGVjb3JhdGlvbi1hY3RpdmUpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIHNwYW46bm90KC51aS1tZW51LWljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWxlZnQsIC0kX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkubGV2ZWwwIHtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLCAkX25hdi1sZXZlbDAtaXRlbS1ib3JkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfc3VibWVudS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9zdWJtZW51LWJvcmRlcik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXNpemUsICRfc3VibWVudS1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfc3VibWVudS1mb250LXdlaWdodCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsaW5lLWhlaWdodCwgJF9zdWJtZW51LWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcblxuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLWxlZnQsICRfbmF2X19pbmRlbnQtc2lkZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1sZWZ0LCAkX3N1Ym1lbnUtaXRlbV9fcGFkZGluZy1sZWZ0KTtcblxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3N1Ym1lbnUtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9zdWJtZW51LWl0ZW0tYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3N1Ym1lbnUtaXRlbS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfc3VibWVudS1pdGVtLXRleHQtZGVjb3JhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9zdWJtZW51LWl0ZW0tYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsICRfc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1zdHlsZSwgJF9zdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXdpZHRoLCAkX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9zdWJtZW51LWl0ZW0tY29sb3ItYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1sZWZ0LCAkX25hdl9faW5kZW50LXNpZGUgLSAkX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfc3VibWVudS1pdGVtLXRleHQtZGVjb3JhdGlvbi1hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxldmVsMSB7XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLWxlZnQsICRfbmF2X19pbmRlbnQtc2lkZSAtICRfc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AbWl4aW4gbGliLW1haW4tbmF2aWdhdGlvbi1kZXNrdG9wKFxuICAgICRfbmF2LWJhY2tncm91bmQtY29sb3IgICAgICAgICAgICAgICAgICAgIDogJG5hdmlnYXRpb24tZGVza3RvcF9fYmFja2dyb3VuZCxcbiAgICAkX25hdi1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3BfX2JvcmRlcixcbiAgICAkX25hdi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3BfX2ZvbnQtc2l6ZSxcbiAgICAkX25hdi1mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3BfX2ZvbnQtd2VpZ2h0LFxuXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW0tbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19saW5lLWhlaWdodCxcbiAgICAkX25hdi1sZXZlbDAtaXRlbS1tYXJnaW4gICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX21hcmdpbixcbiAgICAkX25hdi1sZXZlbDAtaXRlbS1wYWRkaW5nICAgICAgICAgICAgICAgICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX3BhZGRpbmcsXG5cbiAgICAkX25hdi1sZXZlbDAtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yICAgICAgICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2JhY2tncm91bmQsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW0tYm9yZGVyICAgICAgICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19ib3JkZXIsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW0tY29sb3IgICAgICAgICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19jb2xvcixcbiAgICAkX25hdi1sZXZlbDAtaXRlbS10ZXh0LWRlY29yYXRpb24gICAgICAgICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX3RleHQtZGVjb3JhdGlvbixcblxuICAgICRfbmF2LWxldmVsMC1pdGVtLWJhY2tncm91bmQtY29sb3ItaG92ZXIgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9faG92ZXJfX2JhY2tncm91bmQsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW0tYm9yZGVyLWhvdmVyICAgICAgICAgICAgOiAkbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19ob3Zlcl9fYm9yZGVyLFxuICAgICRfbmF2LWxldmVsMC1pdGVtLWNvbG9yLWhvdmVyICAgICAgICAgICAgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9faG92ZXJfX2NvbG9yLFxuICAgICRfbmF2LWxldmVsMC1pdGVtLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9faG92ZXJfX3RleHQtZGVjb3JhdGlvbixcblxuICAgICRfbmF2LWxldmVsMC1pdGVtLWJhY2tncm91bmQtY29sb3ItYWN0aXZlIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYWN0aXZlX19iYWNrZ3JvdW5kLFxuICAgICRfbmF2LWxldmVsMC1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvciAgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItY29sb3IsXG4gICAgJF9uYXYtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlICAgOiAkbmF2aWdhdGlvbi1kZXNrdG9wLWxldmVsMC1pdGVtX19hY3RpdmVfX2JvcmRlci1zdHlsZSxcbiAgICAkX25hdi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGggICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoLFxuICAgICRfbmF2LWxldmVsMC1pdGVtLWNvbG9yLWFjdGl2ZSAgICAgICAgICAgIDogJG5hdmlnYXRpb24tZGVza3RvcC1sZXZlbDAtaXRlbV9fYWN0aXZlX19jb2xvcixcbiAgICAkX25hdi1sZXZlbDAtaXRlbS10ZXh0LWRlY29yYXRpb24tYWN0aXZlICA6ICRuYXZpZ2F0aW9uLWRlc2t0b3AtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fdGV4dC1kZWNvcmF0aW9uLFxuXG4gICAgJF9zdWJtZW51LWJhY2tncm91bmQtY29sb3IgICAgICAgICAgICAgICAgOiAkc3VibWVudS1kZXNrdG9wX19iYWNrZ3JvdW5kLFxuICAgICRfc3VibWVudS1ib3JkZXItd2lkdGggICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtZGVza3RvcF9fYm9yZGVyLXdpZHRoLFxuICAgICRfc3VibWVudS1ib3JkZXItc3R5bGUgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtZGVza3RvcF9fYm9yZGVyLXN0eWxlLFxuICAgICRfc3VibWVudS1ib3JkZXItY29sb3IgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtZGVza3RvcF9fYm9yZGVyLWNvbG9yLFxuICAgICRfc3VibWVudS1ib3gtc2hhZG93ICAgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtZGVza3RvcF9fYm94LXNoYWRvdyxcbiAgICAkX3N1Ym1lbnUtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6ICRzdWJtZW51LWRlc2t0b3BfX2ZvbnQtc2l6ZSxcbiAgICAkX3N1Ym1lbnUtZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRzdWJtZW51LWRlc2t0b3BfX2ZvbnQtd2VpZ2h0LFxuICAgICRfc3VibWVudS1taW4td2lkdGggICAgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtZGVza3RvcF9fbWluLXdpZHRoLFxuICAgICRfc3VibWVudS1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtZGVza3RvcF9fcGFkZGluZyxcblxuICAgICRfc3VibWVudS1hcnJvdyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHN1Ym1lbnUtZGVza3RvcC1hcnJvdyxcbiAgICAkX3N1Ym1lbnUtYXJyb3ctc2l6ZSAgICAgICAgICAgICAgICAgICAgICA6ICRzdWJtZW51LWRlc2t0b3AtYXJyb3dfX3NpemUsXG4gICAgJF9zdWJtZW51LWFycm93LWxlZnQgICAgICAgICAgICAgICAgICAgICAgOiAkc3VibWVudS1kZXNrdG9wLWFycm93X19sZWZ0LFxuXG4gICAgJF9zdWJtZW51LWl0ZW0tcGFkZGluZyAgICAgICAgICAgICAgICAgICAgOiAkc3VibWVudS1kZXNrdG9wLWl0ZW1fX3BhZGRpbmcsXG4gICAgJF9zdWJtZW51LWl0ZW0tYmFja2dyb3VuZC1jb2xvciAgICAgICAgICAgOiAkc3VibWVudS1kZXNrdG9wLWl0ZW1fX2JhY2tncm91bmQsXG4gICAgJF9zdWJtZW51LWl0ZW0tYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAkc3VibWVudS1kZXNrdG9wLWl0ZW1fX2JvcmRlcixcbiAgICAkX3N1Ym1lbnUtaXRlbS1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRzdWJtZW51LWRlc2t0b3AtaXRlbV9fY29sb3IsXG4gICAgJF9zdWJtZW51LWl0ZW0tdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgOiAkc3VibWVudS1kZXNrdG9wLWl0ZW1fX3RleHQtZGVjb3JhdGlvbixcblxuICAgICRfc3VibWVudS1pdGVtX19ob3Zlcl9fYmFja2dyb3VuZC1jb2xvciAgIDogJHN1Ym1lbnUtZGVza3RvcC1pdGVtX19ob3Zlcl9fYmFja2dyb3VuZCxcbiAgICAkX3N1Ym1lbnUtaXRlbS1ib3JkZXItaG92ZXIgICAgICAgICAgICAgICA6ICRzdWJtZW51LWRlc2t0b3AtaXRlbV9faG92ZXJfX2JvcmRlcixcbiAgICAkX3N1Ym1lbnUtaXRlbS1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICA6ICRzdWJtZW51LWRlc2t0b3AtaXRlbV9faG92ZXJfX2NvbG9yLFxuICAgICRfc3VibWVudS1pdGVtLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAgICAgIDogJHN1Ym1lbnUtZGVza3RvcC1pdGVtX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uLFxuXG4gICAgJF9zdWJtZW51LWl0ZW0tYmFja2dyb3VuZC1jb2xvci1hY3RpdmUgICAgOiAkc3VibWVudS1kZXNrdG9wLWl0ZW1fX2FjdGl2ZV9fYmFja2dyb3VuZCxcbiAgICAkX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXItY29sb3IgICAgICA6ICRzdWJtZW51LWRlc2t0b3AtaXRlbV9fYWN0aXZlX19ib3JkZXItY29sb3IsXG4gICAgJF9zdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlICAgICAgOiAkc3VibWVudS1kZXNrdG9wLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXN0eWxlLFxuICAgICRfc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlci13aWR0aCAgICAgIDogJHN1Ym1lbnUtZGVza3RvcC1pdGVtX19hY3RpdmVfX2JvcmRlci13aWR0aCxcbiAgICAkX3N1Ym1lbnUtaXRlbS1jb2xvci1hY3RpdmUgICAgICAgICAgICAgICA6ICRzdWJtZW51LWRlc2t0b3AtaXRlbV9fYWN0aXZlX19jb2xvcixcbiAgICAkX3N1Ym1lbnUtaXRlbS10ZXh0LWRlY29yYXRpb24tYWN0aXZlICAgICA6ICRzdWJtZW51LWRlc2t0b3AtaXRlbV9fYWN0aXZlX190ZXh0LWRlY29yYXRpb25cbikge1xuXG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfbmF2LWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9uYXYtYm9yZGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXNpemUsICRfbmF2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfbmF2LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLmxldmVsMCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AsIG5vbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxldmVsMCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9uYXYtbGV2ZWwwLWl0ZW0tbWFyZ2luKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAubGV2ZWwtdG9wIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfbmF2LWxldmVsMC1pdGVtLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX25hdi1sZXZlbDAtaXRlbS1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfbmF2LWxldmVsMC1pdGVtLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxpbmUtaGVpZ2h0LCAkX25hdi1sZXZlbDAtaXRlbS1saW5lLWhlaWdodCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX25hdi1sZXZlbDAtaXRlbS1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtZGVjb3JhdGlvbiwgJF9uYXYtbGV2ZWwwLWl0ZW0tdGV4dC1kZWNvcmF0aW9uKTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi51aS1zdGF0ZS1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9uYXYtbGV2ZWwwLWl0ZW0tYmFja2dyb3VuZC1jb2xvci1ob3Zlcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX25hdi1sZXZlbDAtaXRlbS1ib3JkZXItaG92ZXIpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX25hdi1sZXZlbDAtaXRlbS1jb2xvci1ob3Zlcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModGV4dC1kZWNvcmF0aW9uLCAkX25hdi1sZXZlbDAtaXRlbS10ZXh0LWRlY29yYXRpb24taG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmLmhhcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgID4gLmxldmVsLXRvcCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9uYXYtbGV2ZWwwLWl0ZW0tYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1jb2xvciwgJF9uYXYtbGV2ZWwwLWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItc3R5bGUsICRfbmF2LWxldmVsMC1pdGVtX19hY3RpdmVfX2JvcmRlci1zdHlsZSk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXdpZHRoLCAkX25hdi1sZXZlbDAtaXRlbV9fYWN0aXZlX19ib3JkZXItd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX25hdi1sZXZlbDAtaXRlbS1jb2xvci1hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtZGVjb3JhdGlvbiwgJF9uYXYtbGV2ZWwwLWl0ZW0tdGV4dC1kZWNvcmF0aW9uLWFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGFyZW50OmhvdmVyID4gLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfc3VibWVudS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9zdWJtZW51LWJvcmRlci13aWR0aCAkX3N1Ym1lbnUtYm9yZGVyLXN0eWxlICRfc3VibWVudS1ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm94LXNoYWRvdywgJF9zdWJtZW51LWJveC1zaGFkb3cpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC1zaXplLCAkX3N1Ym1lbnUtZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtd2VpZ2h0LCAkX3N1Ym1lbnUtZm9udC13ZWlnaHQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWluLXdpZHRoLCAkX3N1Ym1lbnUtbWluLXdpZHRoKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfc3VibWVudS1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIF9saWItc3VibWVudS1hcnJvdyhcbiAgICAgICAgICAgICAgICAgICAgJF9zdWJtZW51LWFycm93LFxuICAgICAgICAgICAgICAgICAgICAkX2JnICAgICA6ICRfc3VibWVudS1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkX2JvcmRlciA6ICRfc3VibWVudS1ib3JkZXItY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRfc2l6ZSAgIDogJF9zdWJtZW51LWFycm93LXNpemUsXG4gICAgICAgICAgICAgICAgICAgICRfbGVmdCAgIDogJF9zdWJtZW51LWFycm93LWxlZnRcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3N1Ym1lbnUtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfc3VibWVudS1pdGVtLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfc3VibWVudS1pdGVtLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3N1Ym1lbnUtaXRlbS1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfc3VibWVudS1pdGVtLXRleHQtZGVjb3JhdGlvbik7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi51aS1zdGF0ZS1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfc3VibWVudS1pdGVtX19ob3Zlcl9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9zdWJtZW51LWl0ZW0tYm9yZGVyLWhvdmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfc3VibWVudS1pdGVtLWNvbG9yLWhvdmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModGV4dC1kZWNvcmF0aW9uLCAkX3N1Ym1lbnUtaXRlbS10ZXh0LWRlY29yYXRpb24taG92ZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfc3VibWVudS1pdGVtLWJhY2tncm91bmQtY29sb3ItYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsICRfc3VibWVudS1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXN0eWxlLCAkX3N1Ym1lbnUtaXRlbV9fYWN0aXZlX19ib3JkZXItc3R5bGUpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci13aWR0aCwgJF9zdWJtZW51LWl0ZW1fX2FjdGl2ZV9fYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9zdWJtZW51LWl0ZW0tY29sb3ItYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfc3VibWVudS1pdGVtLXRleHQtZGVjb3JhdGlvbi1hY3RpdmUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3VibWVudS1yZXZlcnNlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubW9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAgICAgICAgICRpY29uLXBvaW50ZXItZG93bixcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgOiAyNnB4LFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIgPiAuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICBTdWJtZW51IGFycm93XG5AbWl4aW4gX2xpYi1zdWJtZW51LWFycm93KFxuICAgICRfc3VibWVudS1hcnJvdyxcbiAgICAkX2JnLFxuICAgICRfYm9yZGVyLFxuICAgICRfc2l6ZSxcbiAgICAkX2xlZnRcbil7XG4gICAgQGlmICRfc3VibWVudS1hcnJvdyA9PSB0cnVlIHtcbiAgICAgICAgQGlmIGlzY29sb3IoJF9iZykgYW5kIGlzY29sb3IoJF9ib3JkZXIpIHtcbiAgICAgICAgICAgICRfb3V0ZXItc2l6ZTogJF9zaXplICsgMTtcbiAgICAgICAgICAgICRfb3V0ZXItbGVmdDogJF9sZWZ0IC0gMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJF9vdXRlci1zaXplKTtcblxuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkX291dGVyLXNpemUpO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9iZyk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGVmdCwgJF9sZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0b3AsIC0kX3NpemUqMik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1hcnJvdyh1cCwgJF9zaXplLCAkX2JnKTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWFycm93KHVwLCAkX291dGVyLXNpemUsICRfYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9ib3JkZXIpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxlZnQsICRfb3V0ZXItbGVmdCk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAtJF9vdXRlci1zaXplKjIpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBpc2NvbG9yKCRfYmcpIGFuZCBpc2NvbG9yKCRfYm9yZGVyKSA9PSBmYWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsIC0kX3NpemUpO1xuXG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfc2l6ZSk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1hcnJvdyh1cCwgJF9zaXplLCAkX2JnKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9iZyk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGVmdCwgJF9sZWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0b3AsIC0kX3NpemUqMik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBpc2NvbG9yKCRfYm9yZGVyKSBhbmQgaXNjb2xvcigkX2JnKSA9PSBmYWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsIC0kX3NpemUpO1xuXG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfc2l6ZSk7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1hcnJvdyh1cCwgJF9zaXplLCAkX2JvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsZWZ0LCAkX2xlZnQpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRvcCwgLSRfc2l6ZSoyKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBQYWdlclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4vL1xuLy8gIFdoZW4gcGFnZXIgaXRlbXMgaGF2ZSBzb2xpZCBvciBkb24ndCBoYXZlIGJhY2tncm91bmRcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpYi1wYWdlcihcbiAgICAkX3BhZ2VyLWxhYmVsLWRpc3BsYXkgICAgICAgICAgICAgICAgICAgICAgIDogJHBhZ2VyLWxhYmVsX19kaXNwbGF5LFxuICAgICRfcGFnZXItaXRlbS1kaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItaXRlbV9fZGlzcGxheSxcbiAgICAkX3BhZ2VyLXJlc2V0LXNwYWNlcyAgICAgICAgICAgICAgICAgICAgICAgIDogJHBhZ2VyLXJlc2V0LXNwYWNlcyxcbiAgICAkX3BhZ2VyLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBhZ2VyX19mb250LXNpemUsXG4gICAgJF9wYWdlci1mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fZm9udC13ZWlnaHQsXG4gICAgJF9wYWdlci1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fbGluZS1oZWlnaHQsXG4gICAgJF9wYWdlci1pdGVtLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlci1pdGVtX19tYXJnaW4sXG4gICAgJF9wYWdlci1pdGVtLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlci1pdGVtX19wYWRkaW5nLFxuICAgICRfcGFnZXItYWN0aW9ucy1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uc19fcGFkZGluZyxcblxuICAgIC8vICBQYWdlIGN1cnJlbnRcbiAgICAkX3BhZ2VyLWN1cnJlbnQtZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgIDogJHBhZ2VyLWN1cnJlbnRfX2ZvbnQtd2VpZ2h0LFxuICAgICRfcGFnZXItY3VycmVudC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItY3VycmVudF9fY29sb3IsXG4gICAgJF9wYWdlci1jdXJyZW50LWJhY2tncm91bmQgICAgICAgICAgICAgICAgICA6ICRwYWdlci1jdXJyZW50X19iYWNrZ3JvdW5kLFxuICAgICRfcGFnZXItY3VycmVudC1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItY3VycmVudF9fYm9yZGVyLFxuICAgICRfcGFnZXItY3VycmVudC1ncmFkaWVudCAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItY3VycmVudF9fZ3JhZGllbnQsXG4gICAgJF9wYWdlci1jdXJyZW50LWdyYWRpZW50LWRpcmVjdGlvbiAgICAgICAgICA6ICRwYWdlci1jdXJyZW50X19ncmFkaWVudC1kaXJlY3Rpb24sXG4gICAgJF9wYWdlci1jdXJyZW50LWdyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICA6ICRwYWdlci1jdXJyZW50X19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX3BhZ2VyLWN1cnJlbnQtZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgIDogJHBhZ2VyLWN1cnJlbnRfX2dyYWRpZW50LWNvbG9yLWVuZCxcblxuICAgIC8vICBQYWdlIGl0ZW0gLSB0ZXh0IGNvbG9yXG4gICAgJF9wYWdlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fY29sb3IsXG4gICAgJF9wYWdlci1jb2xvci12aXNpdGVkICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fdmlzaXRlZF9fY29sb3IsXG4gICAgJF9wYWdlci1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9faG92ZXJfX2NvbG9yLFxuICAgICRfcGFnZXItY29sb3ItYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXJfX2FjdGl2ZV9fY29sb3IsXG5cbiAgICAvLyAgUGFnZSBpdGVtIC0gYmFja2dyb3VuZFxuICAgICRfcGFnZXItYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXJfX2JhY2tncm91bmQsXG4gICAgJF9wYWdlci1iYWNrZ3JvdW5kLXZpc2l0ZWQgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fdmlzaXRlZF9fYmFja2dyb3VuZCxcbiAgICAkX3BhZ2VyLWJhY2tncm91bmQtaG92ZXIgICAgICAgICAgICAgICAgICAgIDogJHBhZ2VyX19ob3Zlcl9fYmFja2dyb3VuZCxcbiAgICAkX3BhZ2VyLWJhY2tncm91bmQtYWN0aXZlICAgICAgICAgICAgICAgICAgIDogJHBhZ2VyX19hY3RpdmVfX2JhY2tncm91bmQsXG5cbiAgICAvLyAgUGFnZSBpdGVtIC0gYm9yZGVyXG4gICAgJF9wYWdlci1ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fYm9yZGVyLFxuICAgICRfcGFnZXItYm9yZGVyLXZpc2l0ZWQgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXJfX3Zpc2l0ZWRfX2JvcmRlcixcbiAgICAkX3BhZ2VyLWJvcmRlci1ob3ZlciAgICAgICAgICAgICAgICAgICAgICAgIDogJHBhZ2VyX19ob3Zlcl9fYm9yZGVyLFxuICAgICRfcGFnZXItYm9yZGVyLWFjdGl2ZSAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXJfX2FjdGl2ZV9fYm9yZGVyLFxuXG4gICAgLy8gIFBhZ2UgaXRlbSAtIHRleHQgZGVjb3JhdGlvblxuICAgICRfcGFnZXItdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXJfX3RleHQtZGVjb3JhdGlvbixcbiAgICAkX3BhZ2VyLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAgICAgICAgICAgICAgIDogJHBhZ2VyX190ZXh0LWRlY29yYXRpb24sXG5cbiAgICAvLyAgUGFnZSBpdGVtIGdyYWRpZW50XG4gICAgJF9wYWdlci1ncmFkaWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fZ3JhZGllbnQsXG4gICAgJF9wYWdlci1ncmFkaWVudC1kaXJlY3Rpb24gICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fZ3JhZGllbnQtZGlyZWN0aW9uLFxuICAgICRfcGFnZXItZ3JhZGllbnQtY29sb3Itc3RhcnQgICAgICAgICAgICAgICAgOiAkcGFnZXJfX2dyYWRpZW50LWNvbG9yLXN0YXJ0LFxuICAgICRfcGFnZXItZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICAgICAgICAgOiAkcGFnZXJfX2dyYWRpZW50LWNvbG9yLWVuZCxcbiAgICAkX3BhZ2VyLWdyYWRpZW50LWNvbG9yLXN0YXJ0LXZpc2l0ZWQgICAgICAgIDogJHBhZ2VyX192aXNpdGVkX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX3BhZ2VyLWdyYWRpZW50LWNvbG9yLWVuZC12aXNpdGVkICAgICAgICAgIDogJHBhZ2VyX192aXNpdGVkX19ncmFkaWVudC1jb2xvci1lbmQsXG4gICAgJF9wYWdlci1ncmFkaWVudC1jb2xvci1zdGFydC1ob3ZlciAgICAgICAgICA6ICRwYWdlcl9faG92ZXJfX2dyYWRpZW50LWNvbG9yLXN0YXJ0LFxuICAgICRfcGFnZXItZ3JhZGllbnQtY29sb3ItZW5kLWhvdmVyICAgICAgICAgICAgOiAkcGFnZXJfX2hvdmVyX19ncmFkaWVudC1jb2xvci1lbmQsXG4gICAgJF9wYWdlci1ncmFkaWVudC1jb2xvci1zdGFydC1hY3RpdmUgICAgICAgICA6ICRwYWdlcl9fYWN0aXZlX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX3BhZ2VyLWdyYWRpZW50LWNvbG9yLWVuZC1hY3RpdmUgICAgICAgICAgIDogJHBhZ2VyX19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLWVuZCxcblxuICAgIC8vICBQYWdlIGFjdGlvbiBpdGVtIChwcmV2aW91cy1uZXh0KVxuICAgICRfcGFnZXItYWN0aW9uLXRleHQtZGVjb3JhdGlvbiAgICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uX190ZXh0LWRlY29yYXRpb24sXG4gICAgJF9wYWdlci1hY3Rpb24tdGV4dC1kZWNvcmF0aW9uLWhvdmVyICAgICAgICA6ICRwYWdlci1hY3Rpb25fX2hvdmVyX190ZXh0LWRlY29yYXRpb24sXG5cbiAgICAvLyAgUGFnZSBhY3Rpb24gaXRlbSAocHJldmlvdXMtbmV4dCkgLSBkZWZhdWx0XG4gICAgJF9wYWdlci1hY3Rpb24tY29sb3IgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlci1hY3Rpb25fX2NvbG9yLFxuICAgICRfcGFnZXItYWN0aW9uLWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uX19ib3JkZXIsXG4gICAgJF9wYWdlci1hY3Rpb24tYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICA6ICRwYWdlci1hY3Rpb25fX2JhY2tncm91bmQsXG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQtY29sb3Itc3RhcnQgICAgICAgICA6ICRwYWdlcl9fZ3JhZGllbnQtY29sb3Itc3RhcnQsXG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICA6ICRwYWdlcl9fZ3JhZGllbnQtY29sb3ItZW5kLFxuICAgICRfcGFnZXItYWN0aW9uLXRleHQtZGVjb3JhdGlvbiAgICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uX190ZXh0LWRlY29yYXRpb24sXG5cbiAgICAvLyAgUGFnZSBhY3Rpb24gaXRlbSAocHJldmlvdXMtbmV4dCkgLSB2aXNpdGVkXG4gICAgJF9wYWdlci1hY3Rpb24tY29sb3ItdmlzaXRlZCAgICAgICAgICAgICAgICA6ICRwYWdlci1hY3Rpb25fX3Zpc2l0ZWRfX2NvbG9yLFxuICAgICRfcGFnZXItYWN0aW9uLWJvcmRlci12aXNpdGVkICAgICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uX192aXNpdGVkX19ib3JkZXIsXG4gICAgJF9wYWdlci1hY3Rpb24tYmFja2dyb3VuZC12aXNpdGVkICAgICAgICAgICA6ICRwYWdlci1hY3Rpb25fX3Zpc2l0ZWRfX2JhY2tncm91bmQsXG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQtY29sb3Itc3RhcnQtdmlzaXRlZCA6ICRwYWdlcl9fdmlzaXRlZF9fZ3JhZGllbnQtY29sb3Itc3RhcnQsXG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQtY29sb3ItZW5kLXZpc2l0ZWQgICA6ICRwYWdlcl9fdmlzaXRlZF9fZ3JhZGllbnQtY29sb3ItZW5kLFxuXG4gICAgLy8gIFBhZ2UgYWN0aW9uIGl0ZW0gKHByZXZpb3VzLW5leHQpIC0gaG92ZXJcbiAgICAkX3BhZ2VyLWFjdGlvbi1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgIDogJHBhZ2VyLWFjdGlvbl9faG92ZXJfX2NvbG9yLFxuICAgICRfcGFnZXItYWN0aW9uLWJvcmRlci1ob3ZlciAgICAgICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uX19ob3Zlcl9fYm9yZGVyLFxuICAgICRfcGFnZXItYWN0aW9uLWJhY2tncm91bmQtaG92ZXIgICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uX19ob3Zlcl9fYmFja2dyb3VuZCxcbiAgICAkX3BhZ2VyLWFjdGlvbi1ncmFkaWVudC1jb2xvci1zdGFydC1ob3ZlciAgIDogJHBhZ2VyX19ob3Zlcl9fZ3JhZGllbnQtY29sb3Itc3RhcnQsXG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQtY29sb3ItZW5kLWhvdmVyICAgICA6ICRwYWdlcl9faG92ZXJfX2dyYWRpZW50LWNvbG9yLWVuZCxcbiAgICAkX3BhZ2VyLWFjdGlvbi10ZXh0LWRlY29yYXRpb24taG92ZXIgICAgICAgIDogJHBhZ2VyLWFjdGlvbl9fdGV4dC1kZWNvcmF0aW9uLFxuXG4gICAgLy8gIFBhZ2UgYWN0aW9uIGl0ZW0gKHByZXZpb3VzLW5leHQpIC0gYWN0aXZlXG4gICAgJF9wYWdlci1hY3Rpb24tY29sb3ItYWN0aXZlICAgICAgICAgICAgICAgICA6ICRwYWdlci1hY3Rpb25fX2FjdGl2ZV9fY29sb3IsXG4gICAgJF9wYWdlci1hY3Rpb24tYm9yZGVyLWFjdGl2ZSAgICAgICAgICAgICAgICA6ICRwYWdlci1hY3Rpb25fX2FjdGl2ZV9fYm9yZGVyLFxuICAgICRfcGFnZXItYWN0aW9uLWJhY2tncm91bmQtYWN0aXZlICAgICAgICAgICAgOiAkcGFnZXItYWN0aW9uX19hY3RpdmVfX2JhY2tncm91bmQsXG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQtY29sb3Itc3RhcnQtYWN0aXZlICA6ICRwYWdlcl9fYWN0aXZlX19ncmFkaWVudC1jb2xvci1zdGFydCxcbiAgICAkX3BhZ2VyLWFjdGlvbi1ncmFkaWVudC1jb2xvci1lbmQtYWN0aXZlICAgIDogJHBhZ2VyX19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLWVuZCxcblxuICAgIC8vICBQYWdlIGFjdGlvbiBpdGVtIChwcmV2aW91cy1uZXh0KSAtIGdyYWRpZW50XG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlcl9fZ3JhZGllbnQsXG4gICAgJF9wYWdlci1hY3Rpb24tZ3JhZGllbnQtZGlyZWN0aW9uICAgICAgICAgICA6ICRwYWdlcl9fZ3JhZGllbnQtZGlyZWN0aW9uLFxuXG4gICAgLy8gIFBhZ2UgYWN0aW9uIGljb25zXG4gICAgJF9wYWdlci1pY29uLXVzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwYWdlci1pY29uX191c2UsXG4gICAgJF9wYWdlci1pY29uLXByZXZpb3VzLWNvbnRlbnQgICAgICAgICAgICAgICA6ICRwYWdlci1pY29uX19wcmV2aW91cy1jb250ZW50LFxuICAgICRfcGFnZXItaWNvbi1uZXh0LWNvbnRlbnQgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItaWNvbl9fbmV4dC1jb250ZW50LFxuICAgICRfcGFnZXItaWNvbi1mb250ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXItaWNvbl9fZm9udCxcbiAgICAkX3BhZ2VyLWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgIDogJHBhZ2VyLWljb25fX2ZvbnQtc2l6ZSxcbiAgICAkX3BhZ2VyLWljb24tZm9udC1saW5lLWhlaWdodCAgICAgICAgICAgICAgIDogJHBhZ2VyLWljb25fX2ZvbnQtbGluZS1oZWlnaHQsXG4gICAgJF9wYWdlci1pY29uLWZvbnQtbWFyZ2luICAgICAgICAgICAgICAgICAgICA6ICRwYWdlci1pY29uX19mb250LW1hcmdpbixcbiAgICAkX3BhZ2VyLWljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiAgICAgICAgICAgIDogJHBhZ2VyLWljb25fX2ZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgJF9wYWdlci1pY29uLWZvbnQtcG9zaXRpb24gICAgICAgICAgICAgICAgICA6ICRwYWdlci1pY29uX19wb3NpdGlvbixcbiAgICAkX3BhZ2VyLWljb24tZm9udC10ZXh0LWhpZGUgICAgICAgICAgICAgICAgIDogJHBhZ2VyLWljb25fX3RleHQtaGlkZVxuKSB7XG4gICAgQGluY2x1ZGUgX2xpYi1wYWdlci1sYWJlbC1kaXNwbGF5KCAgLy8gVG8gaGlkZSBvciB0byBkaXNwbGF5IGxhYmVsXG4gICAgICAgICRfcGFnZXItbGFiZWwtZGlzcGxheSA6ICRfcGFnZXItbGFiZWwtZGlzcGxheSxcbiAgICAgICAgJF9wYWdlci1mb250LXNpemUgICAgIDogJF9wYWdlci1mb250LXNpemUsXG4gICAgICAgICRfcGFnZXItZm9udC13ZWlnaHQgICA6ICRfcGFnZXItZm9udC13ZWlnaHQsXG4gICAgICAgICRfcGFnZXItbGluZS1oZWlnaHQgICA6ICRfcGFnZXItbGluZS1oZWlnaHRcbiAgICApO1xuXG4gICAgLml0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1wYWdlci1pbmxpbmUtYmxvY2stc3BhY2VzLWNvbnRhaW5lcihcbiAgICAgICAgICAgICRfcGFnZXItcmVzZXQtc3BhY2VzLFxuICAgICAgICAgICAgJF9wYWdlci1pdGVtLWRpc3BsYXlcbiAgICAgICAgKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGRpc3BsYXksICRfcGFnZXItaXRlbS1kaXNwbGF5KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJF9wYWdlci1mb250LXdlaWdodCk7XG4gICAgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBfbGliLXBhZ2VyLWlubGluZS1ibG9jay1zcGFjZXMtaXRlbShcbiAgICAgICAgICAgICRfcGFnZXItcmVzZXQtc3BhY2VzLFxuICAgICAgICAgICAgJF9wYWdlci1pdGVtLWRpc3BsYXksXG4gICAgICAgICAgICAkX3BhZ2VyLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfcGFnZXItbGluZS1oZWlnaHRcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfcGFnZXItaXRlbS1tYXJnaW4pO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGRpc3BsYXksICRfcGFnZXItaXRlbS1kaXNwbGF5KTtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS5wYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3BhZ2VyLWJhY2tncm91bmQpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9wYWdlci1ib3JkZXIpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BhZ2VyLWNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhkaXNwbGF5LCAkX3BhZ2VyLWl0ZW0tZGlzcGxheSk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9wYWdlci1pdGVtLXBhZGRpbmcpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtZGVjb3JhdGlvbiwgJF9wYWdlci10ZXh0LWRlY29yYXRpb24pO1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfcGFnZXItYmFja2dyb3VuZC12aXNpdGVkKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3BhZ2VyLWJvcmRlci12aXNpdGVkKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfcGFnZXItY29sb3ItdmlzaXRlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9wYWdlci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3BhZ2VyLWJvcmRlci1ob3Zlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BhZ2VyLWNvbG9yLWhvdmVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModGV4dC1kZWNvcmF0aW9uLCAkX3BhZ2VyLXRleHQtZGVjb3JhdGlvbi1ob3Zlcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfcGFnZXItYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfcGFnZXItYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BhZ2VyLWNvbG9yLWFjdGl2ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcucGFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9wYWdlci1jdXJyZW50LWJhY2tncm91bmQpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF9wYWdlci1jdXJyZW50LWJvcmRlcik7XG4gICAgICAgIEBpbmNsdWRlIF9saWItcGFnZXItaW5saW5lLWJsb2NrLXNwYWNlcy1pdGVtKFxuICAgICAgICAgICAgJF9wYWdlci1yZXNldC1zcGFjZXMsXG4gICAgICAgICAgICAkX3BhZ2VyLWl0ZW0tZGlzcGxheSxcbiAgICAgICAgICAgICRfcGFnZXItZm9udC1zaXplLFxuICAgICAgICAgICAgJF9wYWdlci1saW5lLWhlaWdodFxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BhZ2VyLWN1cnJlbnQtY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGRpc3BsYXksICRfcGFnZXItaXRlbS1kaXNwbGF5KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJF9wYWdlci1jdXJyZW50LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3BhZ2VyLWl0ZW0tcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLmFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9wYWdlci1hY3Rpb24tYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3BhZ2VyLWFjdGlvbi1ib3JkZXIpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BhZ2VyLWFjdGlvbi1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZGlzcGxheSwgJF9wYWdlci1pdGVtLWRpc3BsYXkpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfcGFnZXItYWN0aW9ucy1wYWRkaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfcGFnZXItYWN0aW9uLXRleHQtZGVjb3JhdGlvbik7XG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9wYWdlci1hY3Rpb24tYmFja2dyb3VuZC12aXNpdGVkKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3BhZ2VyLWFjdGlvbi1ib3JkZXItdmlzaXRlZCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3BhZ2VyLWFjdGlvbi1jb2xvci12aXNpdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3BhZ2VyLWFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3BhZ2VyLWFjdGlvbi1ib3JkZXItaG92ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9wYWdlci1hY3Rpb24tY29sb3ItaG92ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0ZXh0LWRlY29yYXRpb24sICRfcGFnZXItYWN0aW9uLXRleHQtZGVjb3JhdGlvbi1ob3Zlcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfcGFnZXItYWN0aW9uLWJhY2tncm91bmQtYWN0aXZlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3BhZ2VyLWFjdGlvbi1ib3JkZXItYWN0aXZlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfcGFnZXItYWN0aW9uLWNvbG9yLWFjdGl2ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1wYWdlci1pY29uIChcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgICA6ICRfcGFnZXItaWNvbi1uZXh0LWNvbnRlbnQsXG4gICAgICAgICAgICAgICAgJF9wYWdlci1pY29uLXVzZSAgICAgICAgICAgOiAkX3BhZ2VyLWljb24tdXNlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250ICAgICAgICAgICAgICAgIDogJF9wYWdlci1pY29uLWZvbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgOiAkX3BhZ2VyLWljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgIDogJF9wYWdlci1pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgICAgOiAkX3BhZ2VyLWFjdGlvbi1jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci12aXNpdGVkICA6ICRfcGFnZXItYWN0aW9uLWNvbG9yLXZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgICAgOiAkX3BhZ2VyLWFjdGlvbi1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgICA6ICRfcGFnZXItYWN0aW9uLWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW4gICAgICAgICA6ICRfcGFnZXItaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiA6ICRfcGFnZXItaWNvbi1mb250LXZlcnRpY2FsLWFsaWduLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICAgICAgIDogJF9wYWdlci1pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlICAgICAgOiAkX3BhZ2VyLWljb24tZm9udC10ZXh0LWhpZGVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItcGFnZXItaWNvbiAoXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgICAgICAgOiAkX3BhZ2VyLWljb24tcHJldmlvdXMtY29udGVudCxcbiAgICAgICAgICAgICAgICAkX3BhZ2VyLWljb24tdXNlICAgICAgICAgICA6ICRfcGFnZXItaWNvbi11c2UsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQgICAgICAgICAgICAgICAgOiAkX3BhZ2VyLWljb24tZm9udCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6ICRfcGFnZXItaWNvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgOiAkX3BhZ2VyLWljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgICA6ICRfcGFnZXItYWN0aW9uLWNvbG9yLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLXZpc2l0ZWQgIDogJF9wYWdlci1hY3Rpb24tY29sb3ItdmlzaXRlZCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgICA6ICRfcGFnZXItYWN0aW9uLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSAgIDogJF9wYWdlci1hY3Rpb24tY29sb3ItYWN0aXZlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LW1hcmdpbiAgICAgICAgIDogJF9wYWdlci1pY29uLWZvbnQtbWFyZ2luLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduIDogJF9wYWdlci1pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gICAgICAgOiAkX3BhZ2VyLWljb24tZm9udC1wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgICA6ICRfcGFnZXItaWNvbi1mb250LXRleHQtaGlkZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gIERlbGV0ZSBzcGFjZXMgYmV0d2VlbiBlbGVtZW50cyB3aGVuIHBhZ2VyIGl0ZW1zIGhhdmUgZGlzcGxheTogaW5saW5lLWJsb2NrXG5AbWl4aW4gX2xpYi1wYWdlci1pbmxpbmUtYmxvY2stc3BhY2VzLWNvbnRhaW5lcihcbiAgICAkX3BhZ2VyLXJlc2V0LXNwYWNlcyxcbiAgICAkX3BhZ2VyLWl0ZW0tZGlzcGxheVxuKSB7XG4gICAgQGlmICRfcGFnZXItcmVzZXQtc3BhY2VzID09IHRydWUgYW5kICRfcGFnZXItaXRlbS1kaXNwbGF5ID09IGlubGluZS1ibG9jayB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1pbmxpbmUtYmxvY2stc3BhY2UtY29udGFpbmVyKCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxufVxuXG5AbWl4aW4gX2xpYi1wYWdlci1pbmxpbmUtYmxvY2stc3BhY2VzLWl0ZW0oXG4gICAgJF9wYWdlci1yZXNldC1zcGFjZXMsXG4gICAgJF9wYWdlci1pdGVtLWRpc3BsYXksXG4gICAgJF9wYWdlci1mb250LXNpemUsXG4gICAgJF9wYWdlci1saW5lLWhlaWdodFxuKSB7XG4gICAgQGlmICRfcGFnZXItcmVzZXQtc3BhY2VzID09IHRydWUgYW5kICRfcGFnZXItaXRlbS1kaXNwbGF5ID09IGlubGluZS1ibG9jayB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1pbmxpbmUtYmxvY2stc3BhY2UtaXRlbShcbiAgICAgICAgICAgICRfZm9udC1zaXplICAgOiAkX3BhZ2VyLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfbGluZS1oZWlnaHQgOiAkX3BhZ2VyLWxpbmUtaGVpZ2h0XG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vLyBEaXNwbGF5IG9yIGhpZGUgXCJwYWdlXCIgbGFiZWxcbkBtaXhpbiBfbGliLXBhZ2VyLWxhYmVsLWRpc3BsYXkoXG4gICAgJF9wYWdlci1sYWJlbC1kaXNwbGF5LFxuICAgICRfcGFnZXItZm9udC1zaXplLFxuICAgICRfcGFnZXItZm9udC13ZWlnaHQsXG4gICAgJF9wYWdlci1saW5lLWhlaWdodFxuKSB7XG4gICAgQGlmICRfcGFnZXItbGFiZWwtZGlzcGxheSA9PSBub25lIG9yICRfcGFnZXItbGFiZWwtZGlzcGxheSA9PSBmYWxzZSB7XG4gICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZGlzcGxheSwgJF9wYWdlci1sYWJlbC1kaXNwbGF5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRfcGFnZXItZm9udC13ZWlnaHQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWlubGluZS1ibG9jay1zcGFjZS1pdGVtKFxuICAgICAgICAgICAgICAgICRfZm9udC1zaXplICAgOiAkX3BhZ2VyLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2xpbmUtaGVpZ2h0IDogJF9wYWdlci1saW5lLWhlaWdodFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4gX2xpYi1wYWdlci1pY29uIChcbiAgICAkX2ljb24tZm9udC1jb250ZW50LFxuICAgICRfcGFnZXItaWNvbi11c2UsXG4gICAgJF9pY29uLWZvbnQsXG4gICAgJF9pY29uLWZvbnQtc2l6ZSxcbiAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAkX2ljb24tZm9udC1jb2xvcixcbiAgICAkX2ljb24tZm9udC1jb2xvci12aXNpdGVkLFxuICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAkX2ljb24tZm9udC1tYXJnaW4sXG4gICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgJF9pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlXG4pIHtcbiAgICBAaWYgJF9wYWdlci1pY29uLXVzZSA9PSB0cnVlIHtcbiAgICAgICAgQGlmICRfaWNvbi1mb250LXBvc2l0aW9uID09IGJlZm9yZSB7XG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pY29uLWZvbnQtY29sb3ItdmlzaXRlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgICA6ICRfaWNvbi1mb250LWNvbnRlbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQgICAgICAgICAgICAgICAgOiAkX2ljb24tZm9udCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgICA6ICRfaWNvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgOiAkX2ljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgICA6ICRfaWNvbi1mb250LWNvbG9yLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLWhvdmVyICAgIDogJF9pY29uLWZvbnQtY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlICAgOiAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luICAgICAgICAgOiAkX2ljb24tZm9udC1tYXJnaW4sXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24gOiAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICAgICA6ICRfaWNvbi1mb250LXBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSAgICAgIDogJF9pY29uLWZvbnQtdGV4dC1oaWRlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRfaWNvbi1mb250LXBvc2l0aW9uID09IGFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgICAgICAgOiAkX2ljb24tZm9udC1jb250ZW50LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250ICAgICAgICAgICAgICAgIDogJF9pY29uLWZvbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgOiAkX2ljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgIDogJF9pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgICAgOiAkX2ljb24tZm9udC1jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgICA6ICRfaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSAgIDogJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LW1hcmdpbiAgICAgICAgIDogJF9pY29uLWZvbnQtbWFyZ2luLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduIDogJF9pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gICAgICAgOiAkX2ljb24tZm9udC1wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgICA6ICRfaWNvbi1mb250LXRleHQtaGlkZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjp2aXNpdGVkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2ljb24tZm9udC1jb2xvci12aXNpdGVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIFBhZ2VyIHZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kcGFnZXItbGFiZWxfX2Rpc3BsYXkgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kcGFnZXItcmVzZXQtc3BhY2VzICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRydWUgIWRlZmF1bHQ7ICAvLyBSZXNldCBzcGFjZXMgYmV0d2VlbiBpbmxpbmUtYmxvY2sgZWxlbWVudHNcblxuJHBhZ2VyX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplX19zICFkZWZhdWx0O1xuJHBhZ2VyX19mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC13ZWlnaHRfX2JvbGQgIWRlZmF1bHQ7XG4kcGFnZXJfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICA6IDMycHggIWRlZmF1bHQ7XG5cbiRwYWdlci1pdGVtX19kaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgIDogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuJHBhZ2VyLWl0ZW1fX21hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDJweCAwIDAgIWRlZmF1bHQ7XG4kcGFnZXItaXRlbV9fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgNHB4ICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aW9uc19fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG5cbi8vICBQYWdlciBjdXJyZW50IHBhZ2VcbiRwYWdlci1jdXJyZW50X19mb250LXdlaWdodCAgICAgICAgICAgICAgICAgIDogJGZvbnQtd2VpZ2h0X19ib2xkICFkZWZhdWx0O1xuJHBhZ2VyLWN1cnJlbnRfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG4kcGFnZXItY3VycmVudF9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyLWN1cnJlbnRfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlci1jdXJyZW50X19ncmFkaWVudCAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXItY3VycmVudF9fZ3JhZGllbnQtZGlyZWN0aW9uICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyLWN1cnJlbnRfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlci1jdXJyZW50X19ncmFkaWVudC1jb2xvci1lbmQgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vICBQYWdlciBsaW5rIHBhZ2VcbiRwYWdlcl9fZ3JhZGllbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXJfX2dyYWRpZW50LWRpcmVjdGlvbiAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAgUGFnZXIgbGluayBkZWZhdWx0XG4kcGFnZXJfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRsaW5rX19jb2xvciAhZGVmYXVsdDtcbiRwYWdlcl9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXJfX3RleHQtZGVjb3JhdGlvbiAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kcGFnZXJfX2JhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyX19ncmFkaWVudC1jb2xvci1zdGFydCAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlcl9fZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vICBQYWdlciBsaW5rIHZpc2l0ZWRcbiRwYWdlcl9fdmlzaXRlZF9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgIDogJGxpbmtfX3Zpc2l0ZWRfX2NvbG9yICFkZWZhdWx0O1xuJHBhZ2VyX192aXNpdGVkX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlcl9fdmlzaXRlZF9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXJfX3Zpc2l0ZWRfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyX192aXNpdGVkX19ncmFkaWVudC1jb2xvci1lbmQgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gIFBhZ2VyIGxpbmsgaG92ZXJcbiRwYWdlcl9faG92ZXJfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgIDogJGxpbmtfX2hvdmVyX19jb2xvciAhZGVmYXVsdDtcbiRwYWdlcl9faG92ZXJfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXJfX2hvdmVyX190ZXh0LWRlY29yYXRpb24gICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kcGFnZXJfX2hvdmVyX19iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyX19ob3Zlcl9fZ3JhZGllbnQtY29sb3Itc3RhcnQgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlcl9faG92ZXJfX2dyYWRpZW50LWNvbG9yLWVuZCAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vICBQYWdlciBsaW5rIGFjdGl2ZVxuJHBhZ2VyX19hY3RpdmVfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkbGlua19fYWN0aXZlX19jb2xvciAhZGVmYXVsdDtcbiRwYWdlcl9fYWN0aXZlX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXJfX2FjdGl2ZV9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyX19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlcl9fYWN0aXZlX19ncmFkaWVudC1jb2xvci1lbmQgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vICBQYWdlciBsaW5rLmFjdGlvblxuJHBhZ2VyLWljb25fX3VzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuJHBhZ2VyLWljb25fX3ByZXZpb3VzLWNvbnRlbnQgICAgICAgICAgICAgICAgOiAkaWNvbi1wcmV2ICFkZWZhdWx0O1xuJHBhZ2VyLWljb25fX25leHQtY29udGVudCAgICAgICAgICAgICAgICAgICAgOiAkaWNvbi1uZXh0ICFkZWZhdWx0O1xuJHBhZ2VyLWljb25fX3RleHQtaGlkZSAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuJHBhZ2VyLWljb25fX3Bvc2l0aW9uICAgICAgICAgICAgICAgICAgICAgICAgOiBiZWZvcmUgIWRlZmF1bHQ7XG4kcGFnZXItaWNvbl9fZm9udCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpY29uLWZvbnQgIWRlZmF1bHQ7XG4kcGFnZXItaWNvbl9fZm9udC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICA6IDAgMCAwIC02cHggIWRlZmF1bHQ7XG4kcGFnZXItaWNvbl9fZm9udC12ZXJ0aWNhbC1hbGlnbiAgICAgICAgICAgICA6IHRvcCAhZGVmYXVsdDtcbiRwYWdlci1pY29uX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogNDZweCAhZGVmYXVsdDtcbiRwYWdlci1pY29uX19mb250LWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgIDogJGljb24tZm9udF9fbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vICBQYWdlciBsaW5rLmFjdGlvbiBncmFkaWVudCAgICAgICAgICAgICAgIDogZWxlbWVudCBoYXMgYSBncmFkaWVudCBiYWNrZ3JvdW5kXG4kcGFnZXItYWN0aW9uX19ncmFkaWVudCAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0OyAvLyBbdHJ1ZXxmYWxzZV1cbiRwYWdlci1hY3Rpb25fX2dyYWRpZW50LWRpcmVjdGlvbiAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7IC8vIFt0cnVlfGZhbHNlXVxuXG4vLyAgUGFnZXIgbGluay5hY3Rpb24gZGVmYXVsdFxuJHBhZ2VyLWFjdGlvbl9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGV4dF9fY29sb3JfX211dGVkICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGlvbl9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2UgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aW9uX190ZXh0LWRlY29yYXRpb24gICAgICAgICAgICAgICA6ICRwYWdlcl9fdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGlvbl9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgOiAkcGFnZXJfX2JhY2tncm91bmQgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aW9uX19ncmFkaWVudC1jb2xvci1zdGFydCAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGlvbl9fZ3JhZGllbnQtY29sb3ItZW5kICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gIFBhZ2VyIGxpbmsuYWN0aW9uIHZpc2l0ZWRcbiRwYWdlci1hY3Rpb25fX3Zpc2l0ZWRfX2NvbG9yICAgICAgICAgICAgICAgIDogJHBhZ2VyLWFjdGlvbl9fY29sb3IgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aW9uX192aXNpdGVkX19ib3JkZXIgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGlvbl9fdmlzaXRlZF9fYmFja2dyb3VuZCAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlci1hY3Rpb25fX3Zpc2l0ZWRfX2dyYWRpZW50LWNvbG9yLXN0YXJ0IDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aW9uX192aXNpdGVkX19ncmFkaWVudC1jb2xvci1lbmQgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAgUGFnZXIgbGluay5hY3Rpb24gaG92ZXJcbiRwYWdlci1hY3Rpb25fX2hvdmVyX19jb2xvciAgICAgICAgICAgICAgICAgIDogJHBhZ2VyLWFjdGlvbl9fY29sb3IgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aW9uX19ob3Zlcl9fYm9yZGVyICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGlvbl9faG92ZXJfX2JhY2tncm91bmQgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlci1hY3Rpb25fX2hvdmVyX190ZXh0LWRlY29yYXRpb24gICAgICAgIDogJHBhZ2VyX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGlvbl9faG92ZXJfX2dyYWRpZW50LWNvbG9yLXN0YXJ0ICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlci1hY3Rpb25fX2hvdmVyX19ncmFkaWVudC1jb2xvci1lbmQgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vICBQYWdlciBsaW5rLmFjdGlvbiBhY3RpdmVcbiRwYWdlci1hY3Rpb25fX2FjdGl2ZV9fY29sb3IgICAgICAgICAgICAgICAgIDogJHBhZ2VyLWFjdGlvbl9fY29sb3IgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aW9uX19hY3RpdmVfX2JvcmRlciAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGlvbl9fYWN0aXZlX19iYWNrZ3JvdW5kICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdlci1hY3Rpb25fX2FjdGl2ZV9fZ3JhZGllbnQtY29sb3Itc3RhcnQgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aW9uX19hY3RpdmVfX2dyYWRpZW50LWNvbG9yLWVuZCAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vICBWYXJpYWJsZXMgb3ZlcnJpZGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRwYWdlcl9fZm9udC1zaXplOiAxLjRyZW07XG4kcGFnZXJfX2ZvbnQtd2VpZ2h0OiBub3JtYWw7XG4kcGFnZXJfX2xpbmUtaGVpZ2h0OiAyLjRyZW07XG4kcGFnZXItaXRlbV9fbWFyZ2luOiAwIDAuNnJlbSAwIDA7XG4kcGFnZXItYWN0aW9uc19fcGFkZGluZzogMDtcbiRwYWdlcl9fY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuJHBhZ2VyLWN1cnJlbnRfX2NvbG9yOiAkcGFnZXJfX2NvbG9yO1xuJHBhZ2VyX192aXNpdGVkX19jb2xvcjogJHBhZ2VyX19jb2xvcjtcbiRwYWdlcl9fYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kcGFnZXItY3VycmVudF9fYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuJHBhZ2VyX19ib3JkZXI6IDAuMXJlbSBzb2xpZCAkcGFnZXJfX2JhY2tncm91bmQ7XG4kcGFnZXJfX2hvdmVyX19ib3JkZXI6IDAuMXJlbSBzb2xpZCAgJHBhZ2VyX19jb2xvcjtcbiRwYWdlci1hY3Rpb25fX2NvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcbiRwYWdlci1hY3Rpb25fX2hvdmVyX19jb2xvcjogJHBhZ2VyLWFjdGlvbl9fY29sb3I7XG4kcGFnZXItYWN0aW9uX192aXNpdGVkX19jb2xvcjogJHBhZ2VyLWFjdGlvbl9fY29sb3I7XG4kcGFnZXItYWN0aW9uX19iYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1ibGFjaztcbiRwYWdlci1hY3Rpb25fX2hvdmVyX19iYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4kcGFnZXItaWNvbl9fZm9udC1zaXplOiAxLjRyZW07XG4kcGFnZXItaWNvbl9fZm9udC1saW5lLWhlaWdodDogMTtcbiRwYWdlci1pY29uX19mb250LW1hcmdpbjogMDtcbiRwYWdlci1pY29uX19mb250LXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblxuXG5cbi8vXG4vLyAgQ29tbW9uXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi5wYWdlcyB7XG5cdEBpbmNsdWRlIGxpYi1wYWdlcigpO1xuXG5cdC5pdGVtIHtcblx0XHRib3JkZXItcmFkaXVzOiAwLjFyZW07XG5cblx0XHQucGFnZSB7XG5cdFx0XHRtaW4td2lkdGg6IDIuNHJlbTtcblx0XHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyNTBtcztcblx0XHR9XG4gIH1cbiAgXG4gIC5wYWdlcy1pdGVtLXByZXZpb3VzLFxuICAucGFnZXMtaXRlbS1uZXh0IHtcbiAgICAuYWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDMuNHJlbTtcbiAgICAgIGhlaWdodDogMy40cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlcy1pdGVtLW5leHQgLmFjdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuXHQuYWN0aW9uIHtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zO1xuXHR9XG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kcG9wdXAtbWFya2VyX19zaXplOiA3cHggIWRlZmF1bHQ7XG5cbi8vICBQb3B1cCB3b3JraW5nIHdpdGggZHJvcGRvd24gZGlhbG9nXG4udWktZGlhbG9nIHtcbiAgICAmLnBvcHVwIHtcbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAmLmNsb3NlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvdHRvbSwgJHBvcHVwLWJ1dHRvbi1jbG9zZV9fcG9zaXRpb24tYm90dG9tKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxlZnQsICRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uLWxlZnQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocG9zaXRpb24sICRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLXBvcHVwLWJ1dHRvbi1jbG9zZS1pY29uKFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtYnV0dG9uLWNsb3NlX19pY29uLFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtaWNvbi1mb250X19jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtaWNvbi1mb250LFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtaWNvbi1mb250X19zaXplLFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtaWNvbi1mb250X19saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgJHBvcHVwLWljb24tZm9udF9fY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRwb3B1cC1pY29uLWZvbnRfX2NvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtaWNvbi1mb250X19jb2xvci1hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICRwb3B1cC1pY29uLWZvbnRfX21hcmdpbixcbiAgICAgICAgICAgICAgICAgICAgJHBvcHVwLWljb24tZm9udF9fdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAgICAgICAgICRwb3B1cC1pY29uLWZvbnRfX3Bvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtaWNvbi1mb250X190ZXh0LWhpZGVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIF9saWItcG9wdXAtYnV0dG9uLWNsb3NlLXJlc2V0KFxuICAgICAgICAgICAgICAgICAgICAkcG9wdXAtYnV0dG9uLWNsb3NlX19yZXNldFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wb3B1cC1wb2ludGVyIHtcbiAgICBAaW5jbHVkZSBsaWItcG9pbnRlcihcbiAgICAgICAgJF9zaXplICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtbWFya2VyX19zaXplLFxuICAgICAgICAkX2JhY2tncm91bmQtY29sb3IgICAgICAgICAgICA6ICRwb3B1cF9fYmFja2dyb3VuZCxcbiAgICAgICAgJF9ib3JkZXItY29sb3IgICAgICAgICAgICAgICAgOiAkcG9wdXBfX2JvcmRlci1jb2xvcixcbiAgICAgICAgJF9wb3NpdGlvbl9fdmVydGljYWxfX3ZhbHVlICAgOiAycHgsXG4gICAgICAgICRfcG9zaXRpb25fX2hvcml6b250YWxfX3ZhbHVlIDogMnB4XG4gICAgKTtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3B1cC1tYXJrZXJfX3NpemUgKiAyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0kcG9wdXAtbWFya2VyX19zaXplICogMjtcbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC51aS1kaWFsb2cge1xuICAgICAgICAmLnBvcHVwIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgUG9wdXAgdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRwb3B1cF9fd2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMDAlICFkZWZhdWx0O1xuJHBvcHVwX19oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGF1dG8gIWRlZmF1bHQ7XG4kcG9wdXBfX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMjJweCAhZGVmYXVsdDtcbiRwb3B1cF9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kcG9wdXBfX2JvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWdyYXktbGlnaHQzICFkZWZhdWx0O1xuJHBvcHVwX19ib3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDFweCBzb2xpZCAkcG9wdXBfX2JvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwb3B1cF9fc2hhZG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KSAhZGVmYXVsdDtcbiRwb3B1cF9fZmFkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBvcGFjaXR5IDAuM3MgbGluZWFyICFkZWZhdWx0O1xuJHBvcHVwX196LWluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEwMDEgIWRlZmF1bHQ7XG5cbiRwb3B1cF9fcG9zaXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmaXhlZCAhZGVmYXVsdDtcbiRwb3B1cF9fcG9zaXRpb24tdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJHBvcHVwX19wb3NpdGlvbi1yaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kcG9wdXBfX3Bvc2l0aW9uLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRwb3B1cF9fcG9zaXRpb24tbGVmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuXG4kcG9wdXBfX21hcmdpbi10b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcG9wdXBfX21hcmdpbi1yaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcG9wdXBfX21hcmdpbi1ib3R0b20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcG9wdXBfX21hcmdpbi1sZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRwb3B1cC1jb250ZW50X19oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhdXRvICFkZWZhdWx0O1xuJHBvcHVwLWNvbnRlbnRfX21hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBvcHVwLWhlYWRlcl9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAyNXB4ICFkZWZhdWx0O1xuJHBvcHVwLWZvb3Rlcl9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4kcG9wdXAtdGl0bGUtaGVhZGluZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDsgLy8gW3RydWV8ZmFsc2VdXG4kcG9wdXAtdGl0bGUtaGVhZGluZ3NfX2xldmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaDMgIWRlZmF1bHQ7IC8vIFtoMXxoMnxoM3xoNHxoNXxoNl1cblxuJHBvcHVwLWJ1dHRvbi1jbG9zZV9faWNvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRydWUgIWRlZmF1bHQ7IC8vIFt0cnVlfGZhbHNlXVxuJHBvcHVwLWJ1dHRvbi1jbG9zZV9fcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRydWUgIWRlZmF1bHQ7IC8vIFt0cnVlfGZhbHNlXVxuJHBvcHVwLWJ1dHRvbi1jbG9zZV9fcG9zaXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGFic29sdXRlICFkZWZhdWx0O1xuJHBvcHVwLWJ1dHRvbi1jbG9zZV9fcG9zaXRpb24tdG9wICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX3MgIWRlZmF1bHQ7XG4kcG9wdXAtYnV0dG9uLWNsb3NlX19wb3NpdGlvbi1yaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDogJGluZGVudF9fcyAhZGVmYXVsdDtcbiRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uLWxlZnQgICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gIEFjdGlvbnMgdG9vbGJhciB2YXJpYWJsZXNcbiRwb3B1cC1hY3Rpb25zLXRvb2xiYXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDsgLy8gW3RydWV8ZmFsc2VdXG4kcG9wdXAtYWN0aW9ucy10b29sYmFyX19tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kcG9wdXAtYWN0aW9ucy10b29sYmFyX19wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRwb3B1cC1hY3Rpb25zLXRvb2xiYXItYWN0aW9uc19fcG9zaXRpb24gICAgICAgICAgICAgICAgICAgOiBqdXN0aWZ5ICFkZWZhdWx0O1xuJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zX19yZXZlcnNlICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zX19tYXJnaW4gICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXByaW1hcnlfX21hcmdpbiAgICAgICAgICAgICA6ICRhY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wcmltYXJ5X19tYXJnaW4gIWRlZmF1bHQ7XG4kcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtc2Vjb25kYXJ5X19tYXJnaW4gICAgICAgICAgIDogJGFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXNlY29uZGFyeV9fbWFyZ2luICFkZWZhdWx0O1xuXG4kcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtbGlua3NfX21hcmdpbi10b3AgICAgICAgICAgIDogJGFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzX19tYXJnaW4tdG9wICFkZWZhdWx0O1xuJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzLXByaW1hcnlfX21hcmdpbi10b3AgICA6ICRhY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1saW5rcy1wcmltYXJ5X19tYXJnaW4tdG9wICFkZWZhdWx0O1xuJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzLXNlY29uZGFyeV9fbWFyZ2luLXRvcCA6ICRhY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1saW5rcy1zZWNvbmRhcnlfX21hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vICBQb3B1cCBJY29ucyB2YXJpYWJsZXNcbiRwb3B1cC1pY29uLWZvbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2ZvbnQgIWRlZmF1bHQ7XG4kcG9wdXAtaWNvbi1mb250X19jb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGljb24tcmVtb3ZlICFkZWZhdWx0O1xuJHBvcHVwLWljb24tZm9udF9fc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fZm9udC1zaXplICFkZWZhdWx0O1xuJHBvcHVwLWljb24tZm9udF9fbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kcG9wdXAtaWNvbi1mb250X19jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19jb2xvciAhZGVmYXVsdDtcbiRwb3B1cC1pY29uLWZvbnRfX2NvbG9yLWhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2hvdmVyX19mb250LWNvbG9yICFkZWZhdWx0O1xuJHBvcHVwLWljb24tZm9udF9fY29sb3ItYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fYWN0aXZlX19mb250LWNvbG9yICFkZWZhdWx0O1xuJHBvcHVwLWljb24tZm9udF9fbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fbWFyZ2luICFkZWZhdWx0O1xuJHBvcHVwLWljb24tZm9udF9fdmVydGljYWwtYWxpZ24gICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRidXR0b24taWNvbl9fdmVydGljYWwtYWxpZ24gIWRlZmF1bHQ7XG4kcG9wdXAtaWNvbi1mb250X19wb3NpdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGJ1dHRvbi1pY29uX19wb3NpdGlvbiAhZGVmYXVsdDtcbiRwb3B1cC1pY29uLWZvbnRfX3RleHQtaGlkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuXG4vLyAgV2luZG93IG92ZXJsYXkgdmFyaWFibGVzXG4kb3ZlcmxheV9fYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWJsYWNrICFkZWZhdWx0O1xuJG92ZXJsYXlfX29wYWNpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAuNSAhZGVmYXVsdDtcbiRvdmVybGF5X19vcGFjaXR5LW9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA1MCAhZGVmYXVsdDtcbiRvdmVybGF5X19mYWRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBvcGFjaXR5IDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRvdmVybGF5X196LWluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxMDAwICFkZWZhdWx0O1xuIiwiLy8gIFByaWNlc1xuQG1peGluIHByaWNlLXN0eWxlLTEoKSB7XG4gICAgLnByaWNlIHtcbiAgICAgICAgJi10aWVyX3ByaWNlIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAmLXRpZXJfcHJpY2UgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gcHJpY2Utc3R5bGUtMigpIHtcbiAgICAucHJpY2Uge1xuICAgICAgICAmLWluY2x1ZGluZy10YXgsXG4gICAgICAgICYtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5jbHVkaW5nLXRheDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyAvICc7XG4gICAgICAgIH1cblxuICAgICAgICAmLWluY2x1ZGluZy10YXg6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyhcImF0dHIoZGF0YS1sYWJlbClcIiknO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gcHJpY2Utc3R5bGUtMygpIHtcbiAgICAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgICAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2JvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC10YXgtdG90YWwge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXRheC10b3RhbDtcbiAgICAgICAgICAgICYtZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy10YXgtdG90YWwtZXhwYW5kZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtaW5jbHVkaW5nLXRheCArIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgIC53ZWVlW2RhdGEtbGFiZWxdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTgpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCkgJzogJztcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBwcmljZS1zdHlsZS0xKCk7XG5AaW5jbHVkZSBwcmljZS1zdHlsZS0zKCk7XG4iLCIucHJvZHVjdC5kYXRhLml0ZW1zIHtcbiAgICBAaW5jbHVkZSBsaWItZGF0YS1hY2NvcmRpb24oKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLnByb2R1Y3QuZGF0YS5pdGVtcyB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1kYXRhLXRhYnMoXG4gICAgICAgICAgICAkX3RhYi1jb250ZW50LWJvcmRlci10b3Atc3RhdHVzOiB0cnVlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAucHJvZHVjdC5kYXRhLml0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWRhdGEtYWNjb3JkaW9uKCk7XG4gICAgICAgIC5kYXRhLml0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIFNlY3Rpb25zXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBtaXhpbiBsaWItZGF0YS10YWJzX19iYXNlKFxuICAgICRfdGFiLWNvbnRyb2wtaGVpZ2h0X19iYXNlIDogJHRhYi1jb250cm9sX19oZWlnaHRfX2Jhc2Vcbikge1xuICAgIEBpbmNsdWRlIGxpYi1jbGVhcmZpeCgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgPiAuaXRlbS50aXRsZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICA+IC5zd2l0Y2gge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRfdGFiLWNvbnRyb2wtaGVpZ2h0X19iYXNlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLml0ZW0uY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jbGVhcmZpeCgpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRfdGFiLWNvbnRyb2wtaGVpZ2h0X19iYXNlKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWRhdGEtdGFicyhcbiAgICAkX3RhYi1jb250cm9sLWZvbnQtZmFtaWx5ICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19mb250LWZhbWlseSxcbiAgICAkX3RhYi1jb250cm9sLWZvbnQtc2l6ZSAgICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19mb250LXNpemUsXG4gICAgJF90YWItY29udHJvbC1mb250LXN0eWxlICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fZm9udC1zdHlsZSxcbiAgICAkX3RhYi1jb250cm9sLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19mb250LXdlaWdodCxcbiAgICAkX3RhYi1jb250cm9sLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19saW5lLWhlaWdodCxcblxuICAgICRfdGFiLWNvbnRyb2wtYmFja2dyb3VuZC1jb2xvciAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF90YWItY29udHJvbC1jb2xvciAgICAgICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fY29sb3IsXG4gICAgJF90YWItY29udHJvbC10ZXh0LWRlY29yYXRpb24gICAgICAgICA6ICR0YWItY29udHJvbF9fdGV4dC1kZWNvcmF0aW9uLFxuXG4gICAgJF90YWItY29udHJvbC1jb2xvci12aXNpdGVkICAgICAgICAgICA6ICR0YWItY29udHJvbF9fY29sb3IsXG4gICAgJF90YWItY29udHJvbC10ZXh0LWRlY29yYXRpb24tdmlzaXRlZCA6ICR0YWItY29udHJvbF9fdGV4dC1kZWNvcmF0aW9uLFxuXG4gICAgJF90YWItY29udHJvbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyICA6ICR0YWItY29udHJvbF9faG92ZXJfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF90YWItY29udHJvbC1jb2xvci1ob3ZlciAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9faG92ZXJfX2NvbG9yLFxuICAgICRfdGFiLWNvbnRyb2wtdGV4dC1kZWNvcmF0aW9uLWhvdmVyICAgOiAkdGFiLWNvbnRyb2xfX3RleHQtZGVjb3JhdGlvbixcblxuICAgICRfdGFiLWNvbnRyb2wtYmFja2dyb3VuZC1jb2xvci1hY3RpdmUgOiAkdGFiLWNvbnRyb2xfX2FjdGl2ZV9fYmFja2dyb3VuZC1jb2xvcixcbiAgICAkX3RhYi1jb250cm9sLWNvbG9yLWFjdGl2ZSAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19hY3RpdmVfX2NvbG9yLFxuICAgICRfdGFiLWNvbnRyb2wtdGV4dC1kZWNvcmF0aW9uLWFjdGl2ZSAgOiAkdGFiLWNvbnRyb2xfX3RleHQtZGVjb3JhdGlvbixcblxuICAgICRfdGFiLWNvbnRyb2wtaGVpZ2h0ICAgICAgICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2hlaWdodCxcbiAgICAkX3RhYi1jb250cm9sLW1hcmdpbi1yaWdodCAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19tYXJnaW4tcmlnaHQsXG5cbiAgICAkX3RhYi1jb250cm9sLXBhZGRpbmctdG9wICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19wYWRkaW5nLXRvcCxcbiAgICAkX3RhYi1jb250cm9sLXBhZGRpbmctcmlnaHQgICAgICAgICAgIDogJHRhYi1jb250cm9sX19wYWRkaW5nLXJpZ2h0LFxuICAgICRfdGFiLWNvbnRyb2wtcGFkZGluZy1ib3R0b20gICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX3BhZGRpbmctYm90dG9tLFxuICAgICRfdGFiLWNvbnRyb2wtcGFkZGluZy1sZWZ0ICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX3BhZGRpbmctbGVmdCxcblxuICAgICRfdGFiLWNvbnRyb2wtYm9yZGVyLXdpZHRoICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2JvcmRlci13aWR0aCxcbiAgICAkX3RhYi1jb250cm9sLWJvcmRlci1jb2xvciAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19ib3JkZXItY29sb3IsXG5cbiAgICAkX3RhYi1jb250ZW50LWJhY2tncm91bmQtY29sb3IgICAgICAgIDogJHRhYi1jb250ZW50X19iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRfdGFiLWNvbnRlbnQtYm9yZGVyICAgICAgICAgICAgICAgICAgOiAkdGFiLWNvbnRlbnRfX2JvcmRlcixcbiAgICAkX3RhYi1jb250ZW50LWJvcmRlci10b3Atc3RhdHVzICAgICAgIDogJHRhYi1jb250ZW50X19ib3JkZXItdG9wLXN0YXR1cyxcbiAgICAkX3RhYi1jb250ZW50LW1hcmdpbi10b3AgICAgICAgICAgICAgIDogJHRhYi1jb250ZW50X19tYXJnaW4tdG9wLFxuXG4gICAgJF90YWItY29udGVudC1wYWRkaW5nLXRvcCAgICAgICAgICAgICA6ICR0YWItY29udGVudF9fcGFkZGluZy10b3AsXG4gICAgJF90YWItY29udGVudC1wYWRkaW5nLXJpZ2h0ICAgICAgICAgICA6ICR0YWItY29udGVudF9fcGFkZGluZy1yaWdodCxcbiAgICAkX3RhYi1jb250ZW50LXBhZGRpbmctYm90dG9tICAgICAgICAgIDogJHRhYi1jb250ZW50X19wYWRkaW5nLWJvdHRvbSxcbiAgICAkX3RhYi1jb250ZW50LXBhZGRpbmctbGVmdCAgICAgICAgICAgIDogJHRhYi1jb250ZW50X19wYWRkaW5nLWxlZnRcbikge1xuICAgIEBpbmNsdWRlIGxpYi1kYXRhLXRhYnNfX2Jhc2UoKTtcbiAgICA+IC5pdGVtLnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sIDAgJF90YWItY29udHJvbC1tYXJnaW4tcmlnaHQgMCAwKTtcbiAgICAgICAgPiAuc3dpdGNoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgICRfY29sb3IgICAgICAgOiAkX3RhYi1jb250cm9sLWNvbG9yLFxuICAgICAgICAgICAgICAgICRfZm9udC1zaXplICAgOiAkX3RhYi1jb250cm9sLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtZmFtaWx5IDogJF90YWItY29udHJvbC1mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJF90YWItY29udHJvbC1mb250LXdlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGUgIDogJF90YWItY29udHJvbC1mb250LXN0eWxlLFxuICAgICAgICAgICAgICAgICRfbGluZS1oZWlnaHQgOiAkX3RhYi1jb250cm9sLWxpbmUtaGVpZ2h0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWxpbmsoXG4gICAgICAgICAgICAgICAgJF9saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgIDogJF90YWItY29udHJvbC1jb2xvcixcbiAgICAgICAgICAgICAgICAkX2xpbmstdGV4dC1kZWNvcmF0aW9uICAgICAgICAgOiAkX3RhYi1jb250cm9sLXRleHQtZGVjb3JhdGlvbixcbiAgICAgICAgICAgICAgICAkX2xpbmstY29sb3ItdmlzaXRlZCAgICAgICAgICAgOiAkX3RhYi1jb250cm9sLWNvbG9yLXZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgJF9saW5rLXRleHQtZGVjb3JhdGlvbi12aXNpdGVkIDogJF90YWItY29udHJvbC10ZXh0LWRlY29yYXRpb24tdmlzaXRlZCxcbiAgICAgICAgICAgICAgICAkX2xpbmstY29sb3ItaG92ZXIgICAgICAgICAgICAgOiAkX3RhYi1jb250cm9sLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICRfbGluay10ZXh0LWRlY29yYXRpb24taG92ZXIgICA6ICRfdGFiLWNvbnRyb2wtdGV4dC1kZWNvcmF0aW9uLWhvdmVyLFxuICAgICAgICAgICAgICAgICRfbGluay1jb2xvci1hY3RpdmUgICAgICAgICAgICA6ICRfdGFiLWNvbnRyb2wtY29sb3ItYWN0aXZlLFxuICAgICAgICAgICAgICAgICRfbGluay10ZXh0LWRlY29yYXRpb24tYWN0aXZlICA6ICRfdGFiLWNvbnRyb2wtdGV4dC1kZWNvcmF0aW9uLWFjdGl2ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF90YWItY29udHJvbC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3RhYi1jb250ZW50LWJvcmRlcik7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRfdGFiLWNvbnRyb2wtaGVpZ2h0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF90YWItY29udHJvbC1wYWRkaW5nLXRvcCAkX3RhYi1jb250cm9sLXBhZGRpbmctcmlnaHQgJF90YWItY29udHJvbC1wYWRkaW5nLWJvdHRvbSAkX3RhYi1jb250cm9sLXBhZGRpbmctbGVmdCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpID4gLnN3aXRjaDpmb2N1cyxcbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSA+IC5zd2l0Y2g6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3RhYi1jb250cm9sLWJhY2tncm91bmQtY29sb3ItaG92ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSA+IC5zd2l0Y2g6YWN0aXZlLFxuICAgICAgICAmLmFjdGl2ZSA+IC5zd2l0Y2gsXG4gICAgICAgICYuYWN0aXZlID4gLnN3aXRjaDpmb2N1cyxcbiAgICAgICAgJi5hY3RpdmUgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF90YWItY29udHJvbC1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX3RhYi1jb250cm9sLWNvbG9yLWFjdGl2ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSA+IC5zd2l0Y2gsXG4gICAgICAgICYuYWN0aXZlID4gLnN3aXRjaDpmb2N1cyxcbiAgICAgICAgJi5hY3RpdmUgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1ib3R0b20sICRfdGFiLWNvbnRyb2wtcGFkZGluZy1ib3R0b20gKyAkX3RhYi1jb250cm9sLWJvcmRlci13aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pdGVtLmNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfdGFiLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIG1hcmdpbi10b3A6ICRfdGFiLWNvbnRlbnQtbWFyZ2luLXRvcDtcbiAgICAgICAgcGFkZGluZzogJF90YWItY29udGVudC1wYWRkaW5nLXRvcCAkX3RhYi1jb250ZW50LXBhZGRpbmctcmlnaHQgJF90YWItY29udGVudC1wYWRkaW5nLWJvdHRvbSAkX3RhYi1jb250ZW50LXBhZGRpbmctbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBfbGliLXRhYi1jb250ZW50LWJvcmRlcihcbiAgICAgICAgICAgICRfdGFiLWNvbnRlbnQtYm9yZGVyLXRvcC1zdGF0dXMgOiAkX3RhYi1jb250ZW50LWJvcmRlci10b3Atc3RhdHVzLFxuICAgICAgICAgICAgJF90YWItY29udGVudC1ib3JkZXIgICAgICAgICAgICA6ICRfdGFiLWNvbnRlbnQtYm9yZGVyXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AbWl4aW4gX2xpYi10YWItY29udGVudC1ib3JkZXIoXG4gICAgJF90YWItY29udGVudC1ib3JkZXItdG9wLXN0YXR1cyxcbiAgICAkX3RhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gICAgQGlmICRfdGFiLWNvbnRlbnQtYm9yZGVyLXRvcC1zdGF0dXMgPT0gdHJ1ZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLCAkX3RhYi1jb250ZW50LWJvcmRlcik7XG4gICAgfVxuICAgIEBlbHNlIGlmICRfdGFiLWNvbnRlbnQtYm9yZGVyLXRvcC1zdGF0dXMgPT0gZmFsc2Uge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJF90YWItY29udGVudC1ib3JkZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi1kYXRhLWFjY29yZGlvbl9fYmFzZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgID4gLml0ZW0udGl0bGUge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiAuc3dpdGNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAuaXRlbS5jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNsZWFyZml4KCk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWRhdGEtYWNjb3JkaW9uKFxuICAgICRfYWNjb3JkaW9uLWNvbnRyb2wtZm9udC1mYW1pbHkgICAgICAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRyb2xfX2ZvbnQtZmFtaWx5LFxuICAgICRfYWNjb3JkaW9uLWNvbnRyb2wtZm9udC1zaXplICAgICAgICAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRyb2xfX2ZvbnQtc2l6ZSxcbiAgICAkX2FjY29yZGlvbi1jb250cm9sLWZvbnQtc3R5bGUgICAgICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19mb250LXN0eWxlLFxuICAgICRfYWNjb3JkaW9uLWNvbnRyb2wtZm9udC13ZWlnaHQgICAgICAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRyb2xfX2ZvbnQtd2VpZ2h0LFxuICAgICRfYWNjb3JkaW9uLWNvbnRyb2wtbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRyb2xfX2xpbmUtaGVpZ2h0LFxuXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1ib3JkZXItdG9wICAgICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fYm9yZGVyLXRvcCxcbiAgICAkX2FjY29yZGlvbi1jb250cm9sLWJvcmRlci1yaWdodCAgICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19ib3JkZXItcmlnaHQsXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1ib3JkZXItYm90dG9tICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fYm9yZGVyLWJvdHRvbSxcbiAgICAkX2FjY29yZGlvbi1jb250cm9sLWJvcmRlci1sZWZ0ICAgICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19ib3JkZXItbGVmdCxcblxuICAgICRfYWNjb3JkaW9uLWNvbnRyb2wtYmFja2dyb3VuZC1jb2xvciAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRyb2xfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1jb2xvciAgICAgICAgICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fY29sb3IsXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC10ZXh0LWRlY29yYXRpb24gICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fdGV4dC1kZWNvcmF0aW9uLFxuXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1jb2xvci12aXNpdGVkICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fY29sb3IsXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC10ZXh0LWRlY29yYXRpb24tdmlzaXRlZCA6ICRhY2NvcmRpb24tY29udHJvbF9fdGV4dC1kZWNvcmF0aW9uLFxuXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyICA6ICRhY2NvcmRpb24tY29udHJvbF9faG92ZXJfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1jb2xvci1ob3ZlciAgICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9faG92ZXJfX2NvbG9yLFxuICAgICRfYWNjb3JkaW9uLWNvbnRyb2wtdGV4dC1kZWNvcmF0aW9uLWhvdmVyICAgOiAkYWNjb3JkaW9uLWNvbnRyb2xfX2hvdmVyX190ZXh0LWRlY29yYXRpb24sXG5cbiAgICAkX2FjY29yZGlvbi1jb250cm9sLWJhY2tncm91bmQtY29sb3ItYWN0aXZlIDogJGFjY29yZGlvbi1jb250cm9sX19hY3RpdmVfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1jb2xvci1hY3RpdmUgICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fYWN0aXZlX19jb2xvcixcbiAgICAkX2FjY29yZGlvbi1jb250cm9sLXRleHQtZGVjb3JhdGlvbi1hY3RpdmUgIDogJGFjY29yZGlvbi1jb250cm9sX19hY3RpdmVfX3RleHQtZGVjb3JhdGlvbixcblxuICAgICRfYWNjb3JkaW9uLWNvbnRyb2wtaGVpZ2h0ICAgICAgICAgICAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRyb2xfX2hlaWdodCxcbiAgICAkX2FjY29yZGlvbi1jb250cm9sLW1hcmdpbi1ib3R0b20gICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19tYXJnaW4tYm90dG9tLFxuXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1wYWRkaW5nLXRvcCAgICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fcGFkZGluZy10b3AsXG4gICAgJF9hY2NvcmRpb24tY29udHJvbC1wYWRkaW5nLXJpZ2h0ICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fcGFkZGluZy1yaWdodCxcbiAgICAkX2FjY29yZGlvbi1jb250cm9sLXBhZGRpbmctYm90dG9tICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19wYWRkaW5nLWJvdHRvbSxcbiAgICAkX2FjY29yZGlvbi1jb250cm9sLXBhZGRpbmctbGVmdCAgICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19wYWRkaW5nLWxlZnQsXG5cbiAgICAkX2FjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQtY29sb3IgICAgICAgIDogJGFjY29yZGlvbi1jb250ZW50X19iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRfYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyICAgICAgICAgICAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRlbnRfX2JvcmRlcixcblxuICAgICRfYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luICAgICAgICAgICAgICAgICAgOiAkYWNjb3JkaW9uLWNvbnRlbnRfX21hcmdpbixcbiAgICAkX2FjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgICAgICAgICAgICAgICAgIDogJGFjY29yZGlvbi1jb250ZW50X19wYWRkaW5nXG4pIHtcbiAgICBAaW5jbHVkZSBsaWItZGF0YS1hY2NvcmRpb25fX2Jhc2UoKTtcbiAgICBAaWYgJF9hY2NvcmRpb24tY29udHJvbC1tYXJnaW4tYm90dG9tID09IDAge1xuICAgICAgICA+IC5pdGVtLnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgID4gLml0ZW0udGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sIDAgMCAkX2FjY29yZGlvbi1jb250cm9sLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICB9XG4gICAgfVxuICAgID4gLml0ZW0udGl0bGUge1xuICAgICAgICA+IC5zd2l0Y2gge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2FjY29yZGlvbi1jb250cm9sLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLCAkX2FjY29yZGlvbi1jb250cm9sLWJvcmRlci1ib3R0b20pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItbGVmdCwgJF9hY2NvcmRpb24tY29udHJvbC1ib3JkZXItbGVmdCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1yaWdodCwgJF9hY2NvcmRpb24tY29udHJvbC1ib3JkZXItcmlnaHQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLCAkX2FjY29yZGlvbi1jb250cm9sLWJvcmRlci10b3ApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRfYWNjb3JkaW9uLWNvbnRyb2wtaGVpZ2h0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9hY2NvcmRpb24tY29udHJvbC1wYWRkaW5nLXRvcCAkX2FjY29yZGlvbi1jb250cm9sLXBhZGRpbmctcmlnaHQgJF9hY2NvcmRpb24tY29udHJvbC1wYWRkaW5nLWJvdHRvbSAkX2FjY29yZGlvbi1jb250cm9sLXBhZGRpbmctbGVmdCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItdHlwb2dyYXBoeShcbiAgICAgICAgICAgICAgICAkX2NvbG9yICAgICAgIDogJF9hY2NvcmRpb24tY29udHJvbC1jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ZvbnQtZmFtaWx5IDogJF9hY2NvcmRpb24tY29udHJvbC1mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc2l6ZSAgIDogJF9hY2NvcmRpb24tY29udHJvbC1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9mb250LXN0eWxlICA6ICRfYWNjb3JkaW9uLWNvbnRyb2wtZm9udC1zdHlsZSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJF9hY2NvcmRpb24tY29udHJvbC1mb250LXdlaWdodCxcbiAgICAgICAgICAgICAgICAkX2xpbmUtaGVpZ2h0IDogJF9hY2NvcmRpb24tY29udHJvbC1saW5lLWhlaWdodFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1saW5rKFxuICAgICAgICAgICAgICAgICRfbGluay1jb2xvciAgICAgICAgICAgICAgICAgICA6ICRfYWNjb3JkaW9uLWNvbnRyb2wtY29sb3IsXG4gICAgICAgICAgICAgICAgJF9saW5rLXRleHQtZGVjb3JhdGlvbiAgICAgICAgIDogJF9hY2NvcmRpb24tY29udHJvbC10ZXh0LWRlY29yYXRpb24sXG4gICAgICAgICAgICAgICAgJF9saW5rLWNvbG9yLXZpc2l0ZWQgICAgICAgICAgIDogJF9hY2NvcmRpb24tY29udHJvbC1jb2xvci12aXNpdGVkLFxuICAgICAgICAgICAgICAgICRfbGluay10ZXh0LWRlY29yYXRpb24tdmlzaXRlZCA6ICRfYWNjb3JkaW9uLWNvbnRyb2wtdGV4dC1kZWNvcmF0aW9uLXZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgJF9saW5rLWNvbG9yLWhvdmVyICAgICAgICAgICAgIDogJF9hY2NvcmRpb24tY29udHJvbC1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICAgICAkX2xpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyICAgOiAkX2FjY29yZGlvbi1jb250cm9sLXRleHQtZGVjb3JhdGlvbi1ob3ZlcixcbiAgICAgICAgICAgICAgICAkX2xpbmstY29sb3ItYWN0aXZlICAgICAgICAgICAgOiAkX2FjY29yZGlvbi1jb250cm9sLWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAkX2xpbmstdGV4dC1kZWNvcmF0aW9uLWFjdGl2ZSAgOiAkX2FjY29yZGlvbi1jb250cm9sLXRleHQtZGVjb3JhdGlvbi1hY3RpdmVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpID4gLnN3aXRjaDpmb2N1cyxcbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSA+IC5zd2l0Y2g6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2FjY29yZGlvbi1jb250cm9sLWJhY2tncm91bmQtY29sb3ItaG92ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSA+IC5zd2l0Y2g6YWN0aXZlLFxuICAgICAgICAmLmFjdGl2ZSA+IC5zd2l0Y2gsXG4gICAgICAgICYuYWN0aXZlID4gLnN3aXRjaDpmb2N1cyxcbiAgICAgICAgJi5hY3RpdmUgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9hY2NvcmRpb24tY29udHJvbC1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctYm90dG9tLCAkX2FjY29yZGlvbi1jb250cm9sLXBhZGRpbmctYm90dG9tKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLml0ZW0uY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9hY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRfYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX2FjY29yZGlvbi1jb250ZW50LXBhZGRpbmcpO1xuICAgIH1cbn1cbiIsIi8vXG4vLyAgU2VjdGlvbnMgdmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgVGFic1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAgVGFicyBjb250cm9sc1xuJHRhYi1jb250cm9sX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplX19iYXNlICFkZWZhdWx0O1xuJHRhYi1jb250cm9sX19mb250LWZhbWlseSAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgICAgIDogJGZvbnQtd2VpZ2h0X19zZW1pYm9sZCAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFiLWNvbnRyb2xfX2hlaWdodF9fYmFzZSAgICAgICAgICAgICAgICAgICA6ICRsaW5lLWhlaWdodF9fY29tcHV0ZWQgIWRlZmF1bHQ7XG4kdGFiLWNvbnRyb2xfX2hlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kdGFiLWNvbnRyb2xfX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9faGVpZ2h0ICFkZWZhdWx0O1xuJHRhYi1jb250cm9sX19tYXJnaW4tcmlnaHQgICAgICAgICAgICAgICAgICAgOiAkaW5kZW50X194cyAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fcGFkZGluZy10b3AgICAgICAgICAgICAgICAgICAgIDogJGluZGVudF9feHMgIWRlZmF1bHQ7XG4kdGFiLWNvbnRyb2xfX3BhZGRpbmctcmlnaHQgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kdGFiLWNvbnRyb2xfX3BhZGRpbmctYm90dG9tICAgICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fcGFkZGluZy10b3AgIWRlZmF1bHQ7XG4kdGFiLWNvbnRyb2xfX3BhZGRpbmctbGVmdCAgICAgICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fcGFkZGluZy1yaWdodCAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvcl9fYmFzZSAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fYm9yZGVyLXdpZHRoICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci13aWR0aF9fYmFzZSAhZGVmYXVsdDtcblxuLy8gIEN1cnJlbnQgdGFiXG4kdGFiLWNvbnRyb2xfX2JhY2tncm91bmQtY29sb3IgICAgICAgICAgICAgICA6ICRwYW5lbF9fYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRleHRfX2NvbG9yX19tdXRlZCAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcblxuJHRhYi1jb250cm9sX19ob3Zlcl9fYmFja2dyb3VuZC1jb2xvciAgICAgICAgOiBsaWdodGVuKCR0YWItY29udHJvbF9fYmFja2dyb3VuZC1jb2xvciwgNSUpICFkZWZhdWx0O1xuJHRhYi1jb250cm9sX19ob3Zlcl9fY29sb3IgICAgICAgICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2NvbG9yICFkZWZhdWx0O1xuJHRhYi1jb250cm9sX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX3RleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJHRhYi1jb250cm9sX19hY3RpdmVfX2JhY2tncm91bmQtY29sb3IgICAgICAgOiBsaWdodGVuKCR0YWItY29udHJvbF9fYmFja2dyb3VuZC1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiR0YWItY29udHJvbF9fYWN0aXZlX19jb2xvciAgICAgICAgICAgICAgICAgIDogJHRleHRfX2NvbG9yICFkZWZhdWx0O1xuJHRhYi1jb250cm9sX19hY3RpdmVfX3RleHQtZGVjb3JhdGlvbiAgICAgICAgOiAkdGFiLWNvbnRyb2xfX3RleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJHRhYi1jb250ZW50X19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2FjdGl2ZV9fYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItY29udGVudF9fYm9yZGVyLXRvcC1zdGF0dXMgICAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnRfX2JvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItY29udHJvbF9fYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1jb250ZW50X19tYXJnaW4tdG9wICAgICAgICAgICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2hlaWdodCArICR0YWItY29udHJvbF9fYm9yZGVyLXdpZHRoICsgJHRhYi1jb250cm9sX19wYWRkaW5nLXRvcCArICR0YWItY29udHJvbF9fcGFkZGluZy1ib3R0b20gIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnRfX3BhZGRpbmctdG9wICAgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnRfX3BhZGRpbmctcmlnaHQgICAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnRfX3BhZGRpbmctYm90dG9tICAgICAgICAgICAgICAgICA6ICR0YWItY29udGVudF9fcGFkZGluZy10b3AgIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnRfX3BhZGRpbmctbGVmdCAgICAgICAgICAgICAgICAgICA6ICR0YWItY29udGVudF9fcGFkZGluZy1yaWdodCAhZGVmYXVsdDtcblxuLy9cbi8vICBBY2NvcmRpb25zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tY29udHJvbF9fZm9udC1mYW1pbHkgICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19mb250LWZhbWlseSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fZm9udC1zaXplICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fbCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fZm9udC1zdHlsZSAgICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19mb250LXN0eWxlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250cm9sX19mb250LXdlaWdodCAgICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2ZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250cm9sX19oZWlnaHQgICAgICAgICAgICAgICAgICAgOiAkaW5kZW50X194bCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fbGluZS1oZWlnaHQgICAgICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19oZWlnaHQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRyb2xfX2JvcmRlci10b3AgICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItY29udHJvbF9fYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250cm9sX19ib3JkZXItcmlnaHQgICAgICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2JvcmRlci13aWR0aCBzb2xpZCAkdGFiLWNvbnRyb2xfX2JvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fYm9yZGVyLWJvdHRvbSAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19ib3JkZXItd2lkdGggc29saWQgJHRhYi1jb250cm9sX19ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRyb2xfX2JvcmRlci1sZWZ0ICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItY29udHJvbF9fYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250cm9sX19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRyb2xfX2NvbG9yICAgICAgICAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRyb2xfX3RleHQtZGVjb3JhdGlvbiAgICAgICAgICA6ICR0YWItY29udHJvbF9fdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250cm9sX19tYXJnaW4tYm90dG9tICAgICAgICAgICAgOiAkaW5kZW50X194cyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fcGFkZGluZy10b3AgICAgICAgICAgICAgIDogJHRhYi1jb250cm9sX19wYWRkaW5nLXRvcCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fcGFkZGluZy1yaWdodCAgICAgICAgICAgIDogJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fcGFkZGluZy1ib3R0b20gICAgICAgICAgIDogJHRhYi1jb250cm9sX19wYWRkaW5nLWJvdHRvbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fcGFkZGluZy1sZWZ0ICAgICAgICAgICAgIDogJGFjY29yZGlvbi1jb250cm9sX19wYWRkaW5nLXJpZ2h0ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWNvbnRyb2xfX3Zpc2l0ZWRfX2NvbG9yICAgICAgICAgICA6ICRhY2NvcmRpb24tY29udHJvbF9fY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRyb2xfX3Zpc2l0ZWRfX3RleHQtZGVjb3JhdGlvbiA6ICRhY2NvcmRpb24tY29udHJvbF9fdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWNvbnRyb2xfX2hvdmVyX19iYWNrZ3JvdW5kLWNvbG9yICA6ICR0YWItY29udHJvbF9faG92ZXJfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRyb2xfX2hvdmVyX19jb2xvciAgICAgICAgICAgICA6ICR0YWItY29udHJvbF9faG92ZXJfX2NvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250cm9sX19ob3Zlcl9fdGV4dC1kZWNvcmF0aW9uICAgOiAkdGFiLWNvbnRyb2xfX2hvdmVyX190ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udHJvbF9fYWN0aXZlX19iYWNrZ3JvdW5kLWNvbG9yIDogJHRhYi1jb250cm9sX19hY3RpdmVfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRyb2xfX2FjdGl2ZV9fY29sb3IgICAgICAgICAgICA6ICR0YWItY29udHJvbF9fYWN0aXZlX19jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udHJvbF9fYWN0aXZlX190ZXh0LWRlY29yYXRpb24gIDogJHRhYi1jb250cm9sX19hY3RpdmVfX3RleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50X19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgOiAkdGFiLWNvbnRyb2xfX2FjdGl2ZV9fYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudF9fYm9yZGVyICAgICAgICAgICAgICAgICAgIDogJHRhYi1jb250ZW50X19ib3JkZXIgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnRfX21hcmdpbiAgICAgICAgICAgICAgICAgICA6IDAgMCAkaW5kZW50X194cyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudF9fcGFkZGluZyAgICAgICAgICAgICAgICAgIDogJHRhYi1jb250ZW50X19wYWRkaW5nLXRvcCAkdGFiLWNvbnRlbnRfX3BhZGRpbmctcmlnaHQgJHRhYi1jb250ZW50X19wYWRkaW5nLWJvdHRvbSAkdGFiLWNvbnRlbnRfX3BhZGRpbmctbGVmdCAhZGVmYXVsdDtcbiIsIi50YWJsZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xufVxuXG50YWJsZSB7XG4gICAgQGluY2x1ZGUgbGliLXRhYmxlLWNhcHRpb24oKTtcbn1cblxuLnRhYmxlIHtcbiAgICAmOm5vdCguY2FydCkge1xuICAgICAgICAmOm5vdCgudG90YWxzKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItdGFibGUtYm9yZGVyZWQoXG4gICAgICAgICAgICAgICAgJF90YWJsZV90eXBlICAgICAgICAgOiBsaWdodCxcbiAgICAgICAgICAgICAgICAkX3RhYmxlX2JvcmRlci13aWR0aCA6ICR0YWJsZV9fYm9yZGVyLXdpZHRoXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICAgICAgPiB0ciB7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJHRhYmxlX19ib3JkZXItd2lkdGggJHRhYmxlX19ib3JkZXItc3R5bGUgJHRhYmxlX19ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWFyayB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX3JlZ3VsYXI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLnRhYmxlLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItdGFibGUtb3ZlcmZsb3coKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBUbyBoaWRlIHVubmVjZXNzYXJ5IGhvcml6b250YWwgc2Nyb2xsYmFyIGluIFNhZmFyaVxuXG4gICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgICAmOm5vdCguY2FydCkge1xuICAgICAgICAgICAgICAgICY6bm90KC50b3RhbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLnRhYmxlLWNvbXBhcmlzb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi10YWJsZS1yZXNwb25zaXZlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRib2R5ID4gdHIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWRkaXRpb25hbC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5LXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgJGluZGVudF9feHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFibGUge1xuICAgICAgICAgICAgJjpub3QoLnRvdGFscykge1xuICAgICAgICAgICAgICAgICY6bm90KC50YWJsZS1jb21wYXJpc29uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRmb290IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5kZW50X19iYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0YS10YWJsZS1kZWZpbml0aW9uLWxpc3Qge1xuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgdGgge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB0aCxcbiAgICAgICAgdGJvZHkgdGQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRvb2x0aXAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbGliLXRvb2x0aXAoXG4gICAgICAgICRfdG9vbHRpcC1wb3NpdGlvbiAgICAgICAgOiBib3R0b20sXG4gICAgICAgICRfdG9vbHRpcC1zZWxlY3Rvci1jb250ZW50OiAnLnRvb2x0aXAuY29udGVudCcsXG4gICAgICAgICRfdG9vbHRpcC1zZWxlY3Rvci10b2dnbGUgOiAnLnRvb2x0aXAudG9nZ2xlJ1xuICAgICk7XG5cbiAgICAudG9vbHRpcC5jb250ZW50IHtcbiAgICAgICAgZGwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fcztcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZXMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udWktdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk5OTk7XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9feHMpIHtcbiAgICAudG9vbHRpcC53cmFwcGVyIHtcbiAgICAgICAgLnRvb2x0aXAuY29udGVudCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBDb21tb25cbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbGliLWZvbnQtZmFjZS1tb2Rlcm4oXG5cdCRmYW1pbHktbmFtZTogJ01vbnRzZXJyYXQnLFxuXHQkZm9udC1wYXRoOiAnLi4vZm9udHMvbW9udHNlcnJhdC9yZWd1bGFyL21vbnRzZXJyYXQtNDAwJyxcblx0JGZvbnQtd2VpZ2h0OiA0MDAsXG5cdCRmb250LXN0eWxlOiBub3JtYWwsXG5cdCRmb250LWRpc3BsYXk6IHN3YXBcbik7XG5cbkBpbmNsdWRlIGxpYi1mb250LWZhY2UtbW9kZXJuKFxuXHQkZmFtaWx5LW5hbWU6ICdNb250c2VycmF0Jyxcblx0JGZvbnQtcGF0aDogJy4uL2ZvbnRzL21vbnRzZXJyYXQvcmVndWxhci9tb250c2VycmF0LTQwMGknLFxuXHQkZm9udC13ZWlnaHQ6IDQwMCxcblx0JGZvbnQtc3R5bGU6IGl0YWxpYyxcblx0JGZvbnQtZGlzcGxheTogc3dhcFxuKTtcblxuQGluY2x1ZGUgbGliLWZvbnQtZmFjZS1tb2Rlcm4oXG5cdCRmYW1pbHktbmFtZTogJ01vbnRzZXJyYXQnLFxuXHQkZm9udC1wYXRoOiAnLi4vZm9udHMvbW9udHNlcnJhdC9tZWRpdW0vbW9udHNlcnJhdC01MDAnLFxuXHQkZm9udC13ZWlnaHQ6IDUwMCxcblx0JGZvbnQtc3R5bGU6IG5vcm1hbCxcblx0JGZvbnQtZGlzcGxheTogc3dhcFxuKTtcblxuQGluY2x1ZGUgbGliLWZvbnQtZmFjZS1tb2Rlcm4oXG5cdCRmYW1pbHktbmFtZTogJ01vbnRzZXJyYXQnLFxuXHQkZm9udC1wYXRoOiAnLi4vZm9udHMvbW9udHNlcnJhdC9zZW1pYm9sZC9tb250c2VycmF0LTYwMCcsXG5cdCRmb250LXdlaWdodDogNjAwLFxuXHQkZm9udC1zdHlsZTogbm9ybWFsLFxuXHQkZm9udC1kaXNwbGF5OiBzd2FwXG4pO1xuXG5AaW5jbHVkZSBsaWItZm9udC1mYWNlLW1vZGVybihcblx0JGZhbWlseS1uYW1lOiAnTW9udHNlcnJhdCcsXG5cdCRmb250LXBhdGg6ICcuLi9mb250cy9tb250c2VycmF0L2JvbGQvbW9udHNlcnJhdC03MDAnLFxuXHQkZm9udC13ZWlnaHQ6IDcwMCxcblx0JGZvbnQtc3R5bGU6IG5vcm1hbCxcblx0JGZvbnQtZGlzcGxheTogc3dhcFxuKTtcblxuQGluY2x1ZGUgbGliLWZvbnQtZmFjZS1tb2Rlcm4oXG5cdCRmYW1pbHktbmFtZTogJ09wZW4gU2FucycsXG5cdCRmb250LXBhdGg6ICcuLi9mb250cy9vcGVuc2Fucy9yZWd1bGFyL09wZW5TYW5zLTQwMCcsXG5cdCRmb250LXdlaWdodDogbm9ybWFsLFxuXHQkZm9udC1zdHlsZTogbm9ybWFsLFxuXHQkZm9udC1kaXNwbGF5OiBzd2FwXG4pO1xuXG5AaW5jbHVkZSBsaWItZm9udC1mYWNlLW1vZGVybihcblx0JGZhbWlseS1uYW1lOiAnT3BlbiBTYW5zJyxcblx0JGZvbnQtcGF0aDogJy4uL2ZvbnRzL29wZW5zYW5zL3NlbWlib2xkL09wZW5TYW5zLTYwMCcsXG5cdCRmb250LXdlaWdodDogNjAwLFxuXHQkZm9udC1zdHlsZTogbm9ybWFsLFxuXHQkZm9udC1kaXNwbGF5OiBzd2FwXG4pO1xuXG5AaW5jbHVkZSBsaWItZm9udC1mYWNlLW1vZGVybihcblx0JGZhbWlseS1uYW1lOiAnT3BlbiBTYW5zJyxcblx0JGZvbnQtcGF0aDogJy4uL2ZvbnRzL29wZW5zYW5zL2JvbGQvT3BlblNhbnMtNzAwJyxcblx0JGZvbnQtd2VpZ2h0OiA3MDAsXG5cdCRmb250LXN0eWxlOiBub3JtYWwsXG5cdCRmb250LWRpc3BsYXk6IHN3YXBcbik7XG5cblxuXG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcblx0aDEge1xuXHRcdEBpbmNsdWRlIGxpYi1jc3MoZm9udC1zaXplLCAkaDFfX2ZvbnQtc2l6ZS1kZXNrdG9wKTtcblx0XHQvKiBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1ib3R0b20sICRoMV9fbWFyZ2luLWJvdHRvbV9fZGVza3RvcCk7ICovXG5cdH1cbn1cblxuLml0ZW1zIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLmJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbWcge31cblxuICAuYmFubmVyLWlubmVyIHtcbiAgICBwYWRkaW5nOiAycmVtIDAgMDtcblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjg0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMy42cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAycmVtIDAgMDtcblxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgICBwYWRkaW5nOiAxLjZyZW0gMTByZW0gMS42cmVtIDcuNnJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIixcIlRyZWJ1Y2hldCBNU1wiLFwiSGVsdmV0aWNhXCIsc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4yOXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9jdGEtYmFja2dyb3VuZC1zaGFwZS0tZGFya2dyZWVuLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogM3JlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2N0YS1hcnJvdy0td2hpdGUuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMi40cmVtIDEuNHJlbTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvY3RhLWJhY2tncm91bmQtc2hhcGUtLXdoaXRlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9jdGEtYXJyb3ctLWdyZWVuaXNoLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQGluY2x1ZGUgbWluLXNjcmVlbigxMjByZW0pIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG5cbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxMHJlbTtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDYuN3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDcuMnJlbTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45MnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwIDA7XG5cbiAgICAgICAgZm9udC1zaXplOiAyLjNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ob21lcGFnZS1jb250ZW50IHtcbiAgcGFkZGluZzogMnJlbSAwIDA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBtYXgtd2lkdGg6IDcwJTtcblxuICAgIHBhZGRpbmc6IDMuNnJlbSAwIDMuOHJlbTtcbiAgfVxufSIsIi5wcm9kdWN0cy10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS45cmVtO1xuICAgIH1cbiAgfVxuXG4gID4gYSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjlyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcblxuICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMi44NnJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgLjE1cyBlYXNlO1xuXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9jdGEtYXJyb3ctLWdyZWVuaXNoLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyLjRyZW0gMS40cmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC0uM3JlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFyZ2luLXRvcDogMi4zNzVyZW07XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LWl0ZW0taW5mbyB7XG4gIC5sYWJlbC1zcG90bGlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCIvL1xuLy8gIExpYiAtPiBDb21wb25lbnRzIC0+IE1vZGFsc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4vL1xuLy8gIFZhcmlhYmxlc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbW9kYWxfX2JhY2tncm91bmQtY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWxfX2JveC1zaGFkb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMTJweCAycHggcmdiYSgwLCAwLCAwLCAwLjM1KSAhZGVmYXVsdDtcblxuJG1vZGFsLXBvcHVwX19pbmRlbnQtdmVydGljYWwgICAgICAgICAgICAgICAgICAgIDogNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1wb3B1cF9fcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDNyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtcG9wdXBfX3dpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA3NSUgIWRlZmF1bHQ7XG4kbW9kYWwtcG9wdXBfX3otaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbW9kYWxfX3otaW5kZXggIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbGlkZV9fZmlyc3RfX2luZGVudC1sZWZ0ICAgICAgICAgICAgICAgICA6IDVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtc2xpZGVfX2luZGVudC1sZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgOiA0LjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtc2xpZGVfX3BhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAyLjZyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtc2xpZGVfX3otaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbW9kYWxfX3otaW5kZXggIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbGlkZS1oZWFkZXJfX3BhZGRpbmctdmVydGljYWwgICAgICAgICAgICA6IDIuMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXBvcHVwLWNvbmZpcm1fX3dpZHRoICAgICAgICAgICAgICAgICAgICAgIDogNTByZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1wb3B1cC1pbWFnZS1ib3hfX2JvcmRlci1jb2xvciAgICAgICAgICAgICA6ICRjb2xvci1ncmF5ODAgIWRlZmF1bHQ7XG4kbW9kYWwtcG9wdXAtaW1hZ2UtYm94X19tYXgtd2lkdGggICAgICAgICAgICAgICAgOiA3OHJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXBvcHVwLWltYWdlLWJveC1wcmV2aWV3LWltYWdlX19tYXgtaGVpZ2h0IDogNTRyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtcG9wdXAtaW1hZ2UtYm94LXByZXZpZXdfX21heC13aWR0aCAgICAgICAgOiBjYWxjKCN7JG1vZGFsLXBvcHVwLWltYWdlLWJveC1wcmV2aWV3LWltYWdlX19tYXgtaGVpZ2h0fSArICN7KDIgKiAkaW5kZW50X19iYXNlKX0pICFkZWZhdWx0O1xuXG4vL1xuLy8gIFV0aWxpdGllc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbGliLW1vZGFsKCkge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgMC4zcywgb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgICAmLl9zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZC1jb2xvciwgJG1vZGFsX19iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3gtc2hhZG93LCAkbW9kYWxfX2JveC1zaGFkb3cpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItbW9kYWwtc2xpZGUoKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhsZWZ0LCAkbW9kYWwtc2xpZGVfX2ZpcnN0X19pbmRlbnQtbGVmdCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyh6LWluZGV4LCAkbW9kYWwtc2xpZGVfX3otaW5kZXgpO1xuXG4gICAgJi5fc2hvdyB7XG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItbW9kYWwtcG9wdXAoKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyh6LWluZGV4LCAkbW9kYWwtcG9wdXBfX3otaW5kZXgpO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYuX3Nob3cge1xuICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAkbW9kYWwtcG9wdXBfX2luZGVudC12ZXJ0aWNhbCBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJG1vZGFsLXBvcHVwX193aWR0aCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWRpc3BsYXkoZmxleCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuICAgIH1cbn1cblxuYm9keSB7XG4gICAgJi5faGFzLW1vZGFsIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vICBNb2RhbHMgb3ZlcmxheVxuLm1vZGFscy1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHotaW5kZXgsICRvdmVybGF5X196LWluZGV4KTtcbn1cblxuLm1vZGFsLXNsaWRlLFxuLm1vZGFsLXBvcHVwIHtcbiAgICBAaW5jbHVkZSBsaWItbW9kYWwoKTtcbn1cblxuLm1vZGFsLXNsaWRlIHtcbiAgICBAaW5jbHVkZSBsaWItbW9kYWwtc2xpZGUoKTtcbiAgICAmLl9pbm5lci1zY3JvbGwge1xuICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZGlzcGxheShmbGV4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZ3JvdygwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtc2hyaW5rKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1oZWFkZXIsXG4gICAgLm1vZGFsLWNvbnRlbnQsXG4gICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgMCAkbW9kYWwtc2xpZGVfX3BhZGRpbmcgJG1vZGFsLXNsaWRlX19wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLWJvdHRvbSwgJG1vZGFsLXNsaWRlLWhlYWRlcl9fcGFkZGluZy12ZXJ0aWNhbCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy10b3AsICRtb2RhbC1zbGlkZS1oZWFkZXJfX3BhZGRpbmctdmVydGljYWwpO1xuICAgIH1cbn1cblxuLm1vZGFsLXBvcHVwIHtcbiAgICBAaW5jbHVkZSBsaWItbW9kYWwtcG9wdXAoKTtcblxuICAgIC8vICBJZiBhcHBsaWVkLCBzd2l0Y2hpbmcgb3V0ZXIgcG9wdXAgc2Nyb2xsIHRvIGlubmVyXG4gICAgJi5faW5uZXItc2Nyb2xsIHtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcblxuICAgICAgICAuaWUxMSAmLFxuICAgICAgICAuaWUxMCAmLFxuICAgICAgICAuaWU5ICYge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwJTtcblxuICAgICAgICAgICAgLmllMTEgJixcbiAgICAgICAgICAgIC5pZTEwICYsXG4gICAgICAgICAgICAuaWU5ICYge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWhlYWRlcixcbiAgICAubW9kYWwtY29udGVudCxcbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLWxlZnQsICRtb2RhbC1wb3B1cF9fcGFkZGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1yaWdodCwgJG1vZGFsLXBvcHVwX19wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyLFxuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItdmVuZG9yLXByZWZpeC1mbGV4LWdyb3coMCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtc2hyaW5rKDApO1xuICAgIH1cblxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctYm90dG9tLCAkbW9kYWwtcG9wdXBfX3BhZGRpbmcgLyAyLjUpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctdG9wLCAkbW9kYWwtcG9wdXBfX3BhZGRpbmcpO1xuICAgIH1cblxuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctYm90dG9tLCAkbW9kYWwtcG9wdXBfX3BhZGRpbmcpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctdG9wLCAkbW9kYWwtcG9wdXBfX3BhZGRpbmcpO1xuICAgIH1cblxuICAgIC5tb2RhbC1mb290ZXItYWN0aW9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLy8gIE1vYmlsZSB0cmFuc2Zvcm0gdG8gbW9kYWwtc2xpZGVcbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5tb2RhbC1wb3B1cCB7XG4gICAgICAgICYubW9kYWwtc2xpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLW1vZGFsLXNsaWRlKCk7XG5cbiAgICAgICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgU3RydWN0dXJlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgWiBheGlzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiR6LWluZGV4LTEgICAgICAgIDogMTAwICFkZWZhdWx0O1xuJHotaW5kZXgtMiAgICAgICAgOiAyMDAgIWRlZmF1bHQ7XG4kei1pbmRleC0zICAgICAgICA6IDMwMCAhZGVmYXVsdDtcbiR6LWluZGV4LTQgICAgICAgIDogNDAwICFkZWZhdWx0O1xuJHotaW5kZXgtNSAgICAgICAgOiA1MDAgIWRlZmF1bHQ7XG4kei1pbmRleC02ICAgICAgICA6IDYwMCAhZGVmYXVsdDtcbiR6LWluZGV4LTcgICAgICAgIDogNzAwICFkZWZhdWx0O1xuJHotaW5kZXgtOCAgICAgICAgOiA4MDAgIWRlZmF1bHQ7XG4kei1pbmRleC05ICAgICAgICA6IDkwMCAhZGVmYXVsdDtcbiR6LWluZGV4LTEwICAgICAgIDogMTAwMCAhZGVmYXVsdDtcblxuLy8gIHotaW5kZXggOVxuJG1vZGFsX196LWluZGV4ICAgOiAkei1pbmRleC05ICFkZWZhdWx0O1xuXG4vLyAgei1pbmRleCA4XG4kb3ZlcmxheV9fei1pbmRleCA6ICRtb2RhbF9fei1pbmRleCAtIDEgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gIENvbXBvbmVudHMgLT4gTW9kYWxzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtb2RhbC10aXRsZV9fY29sb3IgICAgICAgICAgICAgICAgICAgOiAkdGV4dF9fY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGVfX2JvcmRlciAgICAgICAgICAgICAgICAgIDogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0NSAhZGVmYXVsdDtcblxuJG1vZGFsLXBvcHVwLXRpdGxlX19mb250LXNpemUgICAgICAgICA6IDMycHggIWRlZmF1bHQ7XG4kbW9kYWwtcG9wdXAtdGl0bGUtbW9iaWxlX19mb250LXNpemUgIDogJGZvbnQtc2l6ZV9fYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLXNsaWRlX19maXJzdF9faW5kZW50LWxlZnQgICAgICA6IDQ0cHggIWRlZmF1bHQ7XG4kbW9kYWwtc2xpZGUtbW9iaWxlX19iYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yLWdyYXktbGlnaHQwMSAhZGVmYXVsdDtcbiRtb2RhbC1vdmVybGF5X19iYWNrZ3JvdW5kLWNvbG9yICAgICAgOiBmYWRlKCRjb2xvci1ncmF5MjAsIDU1JSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1hY3Rpb24tY2xvc2VfX2NvbG9yICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtYWN0aW9uLWNsb3NlX19mb250LXNpemUgICAgICAgIDogMjBweCAhZGVmYXVsdDtcbiRtb2RhbC1hY3Rpb24tY2xvc2VfX2hvdmVyX19jb2xvciAgICAgOiBkYXJrZW4oJHByaW1hcnlfX2NvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4kbW9kYWwtc2xpZGUtYWN0aW9uLWNsb3NlX19wYWRkaW5nICAgIDogJG1vZGFsLXNsaWRlLWhlYWRlcl9fcGFkZGluZy12ZXJ0aWNhbCAtIDFyZW0gJG1vZGFsLXBvcHVwX19wYWRkaW5nIC0gMXJlbSAhZGVmYXVsdDtcblxuLy9cbi8vICBDb21tb25cbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLm1vZGFsLWN1c3RvbSxcbi5tb2RhbC1wb3B1cCxcbi5tb2RhbC1zbGlkZSB7XG4gICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24tcmVzZXQoKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1pY29uKFxuICAgICAgICAgICAgJGljb24tcmVtb3ZlLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgOiAkbWluaWNhcnQtaWNvbnMtY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICA6ICRtb2RhbC1hY3Rpb24tY2xvc2VfX2ZvbnQtc2l6ZSxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0IDogJG1vZGFsLWFjdGlvbi1jbG9zZV9fZm9udC1zaXplLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlICAgOiB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1vZGFsLWFjdGlvbi1jbG9zZV9faG92ZXJfX2NvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtY3VzdG9tIHtcbiAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRpbmRlbnRfX20pO1xuICAgIH1cbn1cblxuLm1vZGFsLXBvcHVwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBcbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1ib3R0b20sICRtb2RhbC10aXRsZV9fYm9yZGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJGZvbnQtd2VpZ2h0X19saWdodCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1ib3R0b20sICRpbmRlbnRfX3MpO1xuICAgICAgICBmb250LXNpemU6ICRtb2RhbC1wb3B1cC10aXRsZV9fZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxZW07XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgcGFkZGluZzogJGluZGVudF9fcztcbiAgICB9XG59XG5cbi5tb2RhbC1zbGlkZSB7XG4gICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgIHBhZGRpbmc6ICRtb2RhbC1zbGlkZS1hY3Rpb24tY2xvc2VfX3BhZGRpbmc7XG4gICAgfVxuXG4gICAgLnBhZ2UtbWFpbi1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygjeyRtb2RhbC1zbGlkZS1oZWFkZXJfX3BhZGRpbmctdmVydGljYWx9IC0gI3skaW5kZW50X19sIC8gMn0pO1xuICAgICAgICBtYXJnaW4tdG9wOiAkbW9kYWwtc2xpZGUtaGVhZGVyX19wYWRkaW5nLXZlcnRpY2FsO1xuICAgIH1cbn1cblxuLm1vZGFscy1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQtY29sb3IsICRtb2RhbC1vdmVybGF5X19iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG5ib2R5IHtcbiAgICAmLl9oYXMtbW9kYWwtY3VzdG9tIHtcbiAgICAgICAgLm1vZGFsLWN1c3RvbS1vdmVybGF5IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgei1pbmRleDogJG92ZXJsYXlfX3otaW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5jdXN0b20tc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSBsaWItbW9kYWwoKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLW1vZGFsLXNsaWRlKCk7XG5cbiAgICAgICAgbGVmdDogMTB2dztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiA5MHZ3O1xuXG4gICAgICAgICYuX3Nob3cge1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZC1jb2xvciwgJG1vZGFsLXNsaWRlLW1vYmlsZV9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJvZHkge1xuICAgICAgICAmLl9oYXMtbW9kYWwtY3VzdG9tIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgICAgICAubW9kYWwtY3VzdG9tLW92ZXJsYXkge1xuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZC1jb2xvciwgJG1vZGFsLW92ZXJsYXlfX2JhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zaXJvY2NvO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLm1vZGFsLXBvcHVwIHtcbiAgICAgICAgJi5tb2RhbC1zbGlkZSB7XG4gICAgICAgICAgICAubW9kYWwtaW5uZXItd3JhcFtjbGFzc10ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZC1jb2xvciwgJG1vZGFsLXNsaWRlLW1vYmlsZV9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuX2lubmVyLXNjcm9sbCB7XG4gICAgICAgICAgICAgICAgJi5fc2hvdyB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXNpemUsICRtb2RhbC1wb3B1cC10aXRsZS1tb2JpbGVfX2ZvbnQtc2l6ZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtd2VpZ2h0LCAkZm9udC13ZWlnaHRfX2JvbGQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLm1vZGFsLXBvcHVwIHtcbiAgICAgICAgJi5tb2RhbC1zbGlkZSB7XG4gICAgICAgICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AsICRtb2RhbC10aXRsZV9fYm9yZGVyKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jb2x1bW4ge1xuICAgIC5ibG9jay1hZGRieXNrdSB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5maWVsZHMge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNrdSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWJveC1zaXppbmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2t1cyB7XG4gICAgICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5xdHkge1xuICAgICAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWlucHV0LXF0eTtcbiAgICAgICAgICAgICAgICArIC5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wO1xuXG4gICAgICAgICAgICAuYm94IHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYmxvY2tzLTJjb2x1bW5zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYWN0aW9ucy10b29sYmFyKFxuICAgICAgICAgICAgICAgICAgICAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXBvc2l0aW9uIDogbGVmdCxcbiAgICAgICAgICAgICAgICAgICAgJF9hY3Rpb25zLXRvb2xiYXItbWFyZ2luICAgICAgICAgICA6IDAgMCAkaW5kZW50X19iYXNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYWN0aW9ucy10b29sYmFyLWNsZWFyLWZsb2F0cygpO1xuXG4gICAgICAgICAgICAgICAgPiAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVzZXQge1xuICAgICAgICAgICAgbWFyZ2luOiAkaW5kZW50X19zIDA7XG4gICAgICAgIH1cblxuICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1jYXJ0LWZhaWxlZCB7XG4gICAgQGV4dGVuZCAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXM7XG4gICAgbWFyZ2luLXRvcDogJGluZGVudF9feGw7XG5cbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKCRoMl9fZm9udC1zaXplKTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoMl9fZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5jb2x1bW4ge1xuICAgICAgICAuYmxvY2stYWRkYnlza3Uge1xuICAgICAgICAgICAgLnNrdSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtODVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA5MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAmLnJlbW92ZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24taWNvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgICA6ICRpY29uLXJlbW92ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgOiAyOHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luICAgIDogMXB4IDAgMFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXJlc2V0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAuY29sdW1uIHtcbiAgICAgICAgLmJsb2NrLWFkZGJ5c2t1IHtcbiAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgICYucmVtb3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLWFzLWxpbmsoKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5ibG9jay1jYXJ0LWZhaWxlZCB7XG4gICAgICAgIEBleHRlbmQgLmFicy1zaG9wcGluZy1jYXJ0LWl0ZW1zLWRlc2t0b3A7XG5cbiAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zLnByaW1hcnkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBWYXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGJyYWludHJlZS1pbnB1dC1ib3JkZXJfX2NvbG9yICAgICAgICAgICAgICA6ICRjb2xvci1ncmF5NzYgIWRlZmF1bHQ7XG5cbiRicmFpbnRyZWUtZXJyb3JfX2NvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItcmVkMTAgIWRlZmF1bHQ7XG4kYnJhaW50cmVlLWZvY3VzX19jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWJsdWUyICFkZWZhdWx0O1xuJGJyYWludHJlZS1zdWNjZXNzX19jb2xvciAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1kYXJrLWdyZWVuMSAhZGVmYXVsdDtcblxuJGJyYWludHJlZS1wYXlwYWwtaWNvbl9faGVpZ2h0ICAgICAgICAgICAgICA6IDE2cHggIWRlZmF1bHQ7XG4kYnJhaW50cmVlLXBheXBhbC1pY29uX193aWR0aCAgICAgICAgICAgICAgIDogMTZweCAhZGVmYXVsdDtcbiRicmFpbnRyZWUtcGF5cGFsLWFjY291bnRfX3BhZGRpbmctcmlnaHQgICAgOiA1MHB4ICFkZWZhdWx0O1xuJGJyYWludHJlZS1wYXlwYWwtYWNjb3VudF9fcGFkZGluZy12ZXJ0aWNhbCA6IDE1cHggIWRlZmF1bHQ7XG5cbi5wYXltZW50LW1ldGhvZC1icmFpbnRyZWUge1xuXG4gICAgLmhvc3RlZC1kYXRlLXdyYXAge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgIH1cblxuICAgIC5ob3N0ZWQtY29udHJvbCB7XG4gICAgICAgLy8gQGluY2x1ZGUgbGliLWZvcm0tZWxlbWVudC1pbnB1dCgkX3R5cGU6IGlucHV0LXRleHQpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcblxuICAgICAgICAmLmJyYWludHJlZS1ob3N0ZWQtZmllbGRzLWZvY3VzZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnJhaW50cmVlLWZvY3VzX19jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnJhaW50cmVlLWhvc3RlZC1maWVsZHMtaW52YWxpZDpub3QoLmJyYWludHJlZS1ob3N0ZWQtZmllbGRzLWZvY3VzZWQpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJyYWludHJlZS1lcnJvcl9fY29sb3I7XG5cbiAgICAgICAgICAgICYgfiAuaG9zdGVkLWVycm9yIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYnJhaW50cmVlLWhvc3RlZC1maWVsZHMtdmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnJhaW50cmVlLXN1Y2Nlc3NfX2NvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ob3N0ZWQtY2lkIHtcbiAgICAgICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ob3N0ZWQtZGF0ZSB7XG4gICAgICAgICAgICAkZGlzdGFuY2U6IDUwcHg7XG5cbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgICAgICAgd2lkdGg6IDZyZW07XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZGlzdGFuY2U7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJy8nO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogLSRkaXN0YW5jZSAvIDI7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC10b29sdGlwIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmhvc3RlZC1lcnJvciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb2xvcjogJGJyYWludHJlZS1lcnJvcl9fY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5icmFpbnRyZWUtcGF5cGFsLWxvZ28ge1xuICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX3M7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnJhaW50cmVlLXBheXBhbC1hY2NvdW50IHtcbiAgICBwYWRkaW5nOiAkYnJhaW50cmVlLXBheXBhbC1hY2NvdW50X19wYWRkaW5nLXZlcnRpY2FsIDAgJGJyYWludHJlZS1wYXlwYWwtYWNjb3VudF9fcGFkZGluZy12ZXJ0aWNhbCAkYnJhaW50cmVlLXBheXBhbC1hY2NvdW50X19wYWRkaW5nLXJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGxpYi1pY29uLWltYWdlKFxuICAgICAgICAkX2ljb24taW1hZ2UgICAgICAgICAgOiAnLi4vTWFnZW50b19CcmFpbnRyZWUvaW1hZ2VzL3BheXBhbC1zbWFsbC5wbmcnLFxuICAgICAgICAkX2ljb24taW1hZ2UtcG9zaXRpb24gOiBiZWZvcmUsXG4gICAgICAgICRfaWNvbi1pbWFnZS13aWR0aCAgICA6ICRicmFpbnRyZWUtcGF5cGFsLWljb25fX3dpZHRoLFxuICAgICAgICAkX2ljb24taW1hZ2UtaGVpZ2h0ICAgOiAkYnJhaW50cmVlLXBheXBhbC1pY29uX19oZWlnaHRcbiAgICApO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAkYnJhaW50cmVlLXBheXBhbC1hY2NvdW50X19wYWRkaW5nLXJpZ2h0IC8gMiAtICRicmFpbnRyZWUtcGF5cGFsLWljb25fX3dpZHRoIC8gMjtcbiAgICAgICAgbWFyZ2luLXRvcDogLSRicmFpbnRyZWUtcGF5cGFsLWljb25fX2hlaWdodCAvIDI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kLXR5cGUge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuICAgIH1cblxuICAgIC5wYXltZW50LW1ldGhvZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheTM0O1xuICAgIH1cbn1cblxuLmJyYWludHJlZS1wYXlwYWwtZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmFjdGlvbi1icmFpbnRyZWUtcGF5cGFsLWxvZ28ge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24tcmVzZXQoKTtcblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDExNHB4O1xuICAgIH1cbn1cblxuLnBheW1lbnQtbWV0aG9kIHtcbiAgICAucGF5bWVudC1tZXRob2QtY29udGVudCB7XG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgJi5icmFpbnRyZWUtcGF5cGFsLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAgTXkgQWNjb3VudCA+IFN0b3JlZCBQYXltZW50IE1ldGhvZHNcbi5hY2NvdW50IHtcbiAgICAudGFibGUge1xuICAgICAgICAuY29sIHtcbiAgICAgICAgICAgICYucGF5cGFsLWFjY291bnQge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKyAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLnBheW1lbnQtbWV0aG9kLWJyYWludHJlZSB7XG4gICAgICAgIC5jdnYge1xuICAgICAgICAgICAgLmZpZWxkLXRvb2x0aXAge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhaW50cmVlLXBheXBhbC1hY2NvdW50IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JheTgwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLy8gIE15IEFjY291bnQgPiBTdG9yZWQgUGF5bWVudCBNZXRob2RzXG4gICAgLmFjY291bnQge1xuICAgICAgICAudGFibGUtY3JlZGl0LWNhcmRzIHtcbiAgICAgICAgICAgIC5jb2wge1xuICAgICAgICAgICAgICAgICYuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYnVuZGxlLWFjdGlvbnMge1xuICAgIEBleHRlbmQgLmFicy1ib3gtdG9jYXJ0O1xuICAgIC5hY3Rpb24ucHJpbWFyeSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1idXR0b24tbDtcbiAgICB9XG59XG5cbi5idW5kbGUtb3B0aW9ucy1jb250YWluZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3hsO1xuXG4gICAgLmxlZ2VuZC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1oZWFkaW5nKGgyKTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1hZGQtZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmlucHV0LXRleHQucXR5IHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWlucHV0LXF0eTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19sO1xuICAgIH1cblxuICAgIC5hY3Rpb24uYmFjayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2w7XG4gICAgfVxuXG4gICAgLnByaWNlLWJveCB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemVfX2w7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLW5vdGljZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGp1c3RtZW50LWluY2wtZXhjbC10YXg7XG4gICAgfVxuXG4gICAgLmJsb2NrLWJ1bmRsZS1zdW1tYXJ5IHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1ib3gtc2l6aW5nO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRzZWNvbmRhcnlfX2NvbG9yKTtcbiAgICAgICAgcGFkZGluZzogJGluZGVudF9fcyAkaW5kZW50X19iYXNlO1xuXG4gICAgICAgID4gLnRpdGxlID4gc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1oZWFkaW5nKGgyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idW5kbGUtc3VtbWFyeSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkaW5kZW50X19sO1xuXG4gICAgICAgICAgICAmLmVtcHR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWhlYWRpbmcoaDMpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1bmRsZS5pdGVtcyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGlzdDtcblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtdG9jYXJ0IHtcbiAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYnV0dG9uLWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hZGR0by1saW5rcyB7XG4gICAgICAgICAgICA+IC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1hY3Rpb24tYWRkdG8tcHJvZHVjdDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5uZXN0ZWQge1xuICAgICAgICAuZmllbGQucXR5IHtcbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJGZvcm0tZmllbGQtbGFiZWxfX2ZvbnQtd2VpZ2h0KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgMCAwICRpbmRlbnRfX3hzKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJGZvcm0tZmllbGRfX3ZlcnRpY2FsLWluZGVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2NvbG9yKTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5idW5kbGUtb3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICAubGVnZW5kLnRpdGxlIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1sZWZ0LW1hcmdpbi1kZXNrdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1bmRsZS1vcHRpb25zLXdyYXBwZXIsXG4gICAgICAgIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1NyU7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stYnVuZGxlLXN1bW1hcnkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idW5kbGUtb3B0aW9ucy13cmFwcGVyLFxuICAgICAgICAuYmxvY2stYnVuZGxlLXN1bW1hcnkge1xuICAgICAgICAgICAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgJixcbiAgICAgICAgICAgIC5wYWdlLWxheW91dC0yY29sdW1ucy1yaWdodCAmLFxuICAgICAgICAgICAgLnBhZ2UtbGF5b3V0LTNjb2x1bW5zICYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZ3JpZF9vZmZzZXQ6IDEuNnJlbTtcblxuXG5cblxuLyogUFJPRFVDVFMgR1JJRCAqL1xuLyogKioqKioqKioqKioqKiAqL1xuXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuXHRAaW5jbHVkZSBsaWItdmlzdWFsbHktaGlkZGVuKCk7XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0bWFyZ2luOiAwICgkZ3JpZF9vZmZzZXQgKiAtMSkgLTRyZW07XG59XG5cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0ge1xuXHRmbGV4OiAwIDEgYXV0bztcblx0bWluLXdpZHRoOiAwO1xuXHR3aWR0aDogMjUlO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwICRncmlkX29mZnNldDtcblx0bWFyZ2luLWJvdHRvbTogNy44cmVtO1xuXHR6LWluZGV4OiA0MjtcblxuXHR0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuMnMgZWFzZTtcblxuXHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcblx0XHR3aWR0aDogNTAlO1xuICB9XG5cblx0QGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX194cykge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW06aG92ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMXJlbTtcblxuICAgIC5wcm9kdWN0LWl0ZW1fX2lubmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgkY29sb3ItYmx1ZS1ibGFjaywgMC4zKTtcblxuICAgICAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUuN3JlbTsgLy8gNC43cmVtIChoZWlnaHQpICsgMXJlbSAocGFkZGluZylcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaXRlbS1pbm5lciB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyogUFJPRFVDVCBURUFTRVIgKi9cbi8qICoqKioqKioqKioqKioqICovXG5cbi5wcm9kdWN0LWl0ZW1fX2lubmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsZXg6IDEgMSBhdXRvO1xuXG5cdHBhZGRpbmc6IDJyZW07XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0Ym9yZGVyLXJhZGl1czogMC41cmVtO1xuXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuXG4gIC5wcm9kdWN0LWluZm8tbGFiZWxzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblxuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAuNXJlbTtcblx0XHR9XG5cblx0XHQmLmxhYmVsLWJhY2staW4tc3RvY2sge1xuXHRcdFx0cGFkZGluZzogMnB4O1xuXHRcdFx0YmFja2dyb3VuZDogIzAwODAwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCYubGFiZWwtbmV3IHtcblx0XHRcdHBhZGRpbmc6IDJweDtcblx0XHRcdGJhY2tncm91bmQ6ICM5ZWMxY2Y7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHR9XG5cblx0XHQmLmxhYmVsLWxvdy1zdG9jayB7XG5cdFx0XHRwYWRkaW5nOiAycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjOWVjMWNmO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0fVxuXHR9XG59XG5cbiAgLyogRXF1YWwgaGVpZ2h0cyBjb2x1bW5zLCBib3R0b20gYWxpZ25lZCBwcmljZXMgLyBhY3Rpb25zICovXG4gIEBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9feHMpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLnByb2R1Y3QtaXRlbS1pbmZvLFxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJpY2VfY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8qIEltYWdlICovXG4ucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gb3ZlcnJpZGUgdGhlIGlubGluZSB3aWR0aCBNYWdlbnRvIHNldHMgc28gdGhlIGltYWdlcyBhcmUgcmVzcG9uc2l2ZSB3aXRoaW4gdGhlaXIgY29udGFpbmVyXG4gIC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lcltzdHlsZV0ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vKiBDb250ZW50ICovXG4ucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nLWJvdHRvbSAwLjJzIGVhc2U7XG5cbiAgY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXG5cdC8qIFRpdGxlICovXG5cdC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG5cdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgICBAaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX3hzKSB7XG4gICAgICBtaW4taGVpZ2h0OiA0LjRyZW07XG4gICAgfVxuXG4gICAgJiA+IGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXHQvKiBTdWJ0aXRsZSAqL1xuXHQuY3VzdG9tX3N1YnRpdGxlIC52YWx1ZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0Zm9udC1zaXplOiAxLjFyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblxuICAgIHAge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8qIEF0dHJpYnV0ZXMgKi9cblx0LmN1c3RvbV9hdHRyaWJ1dGVzIHtcblx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG5cdFx0Ym9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xuXG5cdFx0LmN1c3RvbV9hdHRyaWJ1dGUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cblx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQubGFiZWwge1xuXHRcdFx0ZmxleDogMCAxIDMwJTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZXk7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR9XG5cblx0XHQudmFsdWUge1xuXHRcdFx0ZmxleDogMCAxIDcwJTtcblx0XHRcdGNvbG9yOiAkY29sb3ItZGFyay1ncmV5O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0fVxuXHR9XG5cblx0LyogUHJpY2UgKi9cblx0LnByaWNlX2NvbnRhaW5lciB7XG5cdFx0cGFkZGluZy10b3A6IDEuNXJlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuXHRcdGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcblxuXHRcdC5wcmljZSB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0fVxuXHR9XG5cblx0LyogRm9ybSwgcmV2ZWFsIG9uIGhvdmVyIGZvciBub24tbW9iaWxlIHJlc29sdXRpb25zICovXG5cdC5wcm9kdWN0LWl0ZW0taW5uZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0bGVmdDogMDtcblxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG5cblx0XHRmb3JtIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9J251bWJlciddIHtcblx0XHRcdGZsZXg6IDAgMCAzMCU7XG5cblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdGJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDEgNjAlO1xuICAgICAgcGFkZGluZy10b3A6IDAuOHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG5cbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuXHRcdH1cblx0fVxuXG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kdG9vbGJhci1tb2RlLWljb24tZm9udC1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJHRvb2xiYXItZWxlbWVudC1iYWNrZ3JvdW5kIDogJHBhbmVsX19iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuXG4vL1xuLy8gIENvbW1vblxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4udG9vbGJhciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXHRtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4udG9vbGJhci1hbW91bnQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGluZS1oZWlnaHQ6ICR0b29sYmFyLW1vZGUtaWNvbi1mb250LXNpemUgKyAyO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDhweCAwIDA7XG5cdFxuXHQucHJvZHVjdHMud3JhcHBlciB+IC50b29sYmFyICYge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRvb2xiYXItcHJvZHVjdHMge1xuXHRtYXJnaW4tYm90dG9tOiAkaW5kZW50X194bDtcblx0cGFkZGluZzogMCAkaW5kZW50X19zO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFxuXHQucGFnZXMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XG5cdFx0LnByb2R1Y3RzLndyYXBwZXIgfiAmIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHRcblx0LmxpbWl0ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XG5cdFx0LmNvbnRyb2wge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxufVxuXG4uc29ydGVyIHtcblx0cGFkZGluZzogNHB4IDAgMDtcblx0XG5cdC5wcm9kdWN0cy53cmFwcGVyIH4gLnRvb2xiYXIgJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uc29ydGVyLW9wdGlvbnMge1xuXHRtYXJnaW46IDAgMCAwIDdweDtcblx0d2lkdGg6IGF1dG87XG59XG5cbi5zb3J0ZXItYWN0aW9uIHtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0QGluY2x1ZGUgbGliLWljb24tZm9udChcblx0XHQkaWNvbi1hcnJvdy11cCxcblx0XHQkX2ljb24tZm9udC1zaXplICAgICAgIDogMTZweCxcblx0XHQkX2ljb24tZm9udC1saW5lLWhlaWdodDogMSxcblx0XHQkX2ljb24tZm9udC1jb2xvciAgICAgIDogJGhlYWRlci1pY29ucy1jb2xvcixcblx0XHQkX2ljb24tZm9udC1jb2xvci1ob3ZlcjogJGhlYWRlci1pY29ucy1jb2xvci1ob3Zlcixcblx0XHQkX2ljb24tZm9udC10ZXh0LWhpZGUgIDogdHJ1ZVxuXHQpO1xufVxuXG4uc29ydGVyIHtcblx0LnNvcnQtZGVzYyB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJGljb24tYXJyb3ctZG93bjtcblx0XHR9XG5cdH1cbn1cblxuLy8gTm8gb3B0aW9uIHRvIGNoYW5nZSB2aWV3IG1vZGUgZnJvbSBncmlkIHRvIGxpc3QgZXRjLlxuLm1vZGVzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmxpbWl0ZXItb3B0aW9ucyB7XG5cdG1hcmdpbjogMCA1cHggMCA3cHg7XG5cdHdpZHRoOiBhdXRvO1xufVxuXG4ubGltaXRlci1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5saW1pdGVyIHtcblx0LnBhZ2UtcHJvZHVjdHMgLnRvb2xiYXIgJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cblxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG5cdFxuXHQucGFnZS1wcm9kdWN0cyB7XG5cdFx0LmNvbHVtbnMge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHR9XG5cdFxuXHQudG9vbGJhciB7XG5cdFx0LnByb2R1Y3RzLndyYXBwZXIgfiAmIC5wYWdlcyB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG5cdFxuXHQudG9vbGJhci1hbW91bnQge1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxuXHRcblx0Ly8gTm8gb3B0aW9uIHRvIGNoYW5nZSB2aWV3IG1vZGUgZnJvbSBncmlkIHRvIGxpc3QgZXRjLlxuXHQvLyAubW9kZXMge1xuXHQvLyBkaXNwbGF5OiBibG9jaztcblx0Ly8gZmxvYXQ6IGxlZnQ7XG5cdC8vIG1hcmdpbi1yaWdodDogJGluZGVudF9fYmFzZTtcblx0XG5cdC8vIC5wcm9kdWN0cy53cmFwcGVyIH4gLnRvb2xiYXIgJiB7XG5cdC8vICAgICBkaXNwbGF5OiBub25lO1xuXHQvLyB9XG5cdC8vIH1cblx0XHRcblx0Lm1vZGVzLWxhYmVsIHtcblx0XHRAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuLWRlc2t0b3A7XG5cdH1cblx0XG5cdC5tb2Rlcy1tb2RlIHtcblx0XHRjb2xvcjogJHRleHRfX2NvbG9yX19tdXRlZDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yX19iYXNlO1xuXHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19yZWd1bGFyO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHBhZGRpbmc6IDdweCAxMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuXHRcdFx0JGljb24tZ3JpZCxcblx0XHRcdCRfaWNvbi1mb250LXNpemUgICAgICAgOiAkdG9vbGJhci1tb2RlLWljb24tZm9udC1zaXplLFxuXHRcdFx0JF9pY29uLWZvbnQtdGV4dC1oaWRlICA6IHRydWUsXG5cdFx0XHQkX2ljb24tZm9udC1jb2xvciAgICAgIDogJHRleHRfX2NvbG9yX19tdXRlZCxcblx0XHRcdCRfaWNvbi1mb250LWNvbG9yLWhvdmVyOiAkdGV4dF9fY29sb3JfX211dGVkLFxuXHRcdFx0JF9pY29uLWZvbnQtZGlzcGxheSAgICA6IGJsb2NrXG5cdFx0KTtcblx0XHRcblx0XHQmOm5vdCguYWN0aXZlKSB7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0X19jb2xvcl9fbXV0ZWQ7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkdG9vbGJhci1lbGVtZW50LWJhY2tncm91bmQsIDclKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG5cdFx0fVxuXHRcdFxuXHRcdCYuYWN0aXZlIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeV9fY29sb3JfX2xpZ2h0O1xuXHRcdH1cblx0fVxuXHRcblx0Lm1vZGUtbGlzdCB7XG5cdFx0QGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woJGljb24tbGlzdCk7XG5cdH1cblx0XG5cdC5saW1pdGVyIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcblx0XHQucHJvZHVjdHMud3JhcHBlciB+IC50b29sYmFyICYge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cdFx0XG59XG4iLCIkcHJvZHVjdC1ncmlkLWl0ZW1zLXBlci1yb3ctbGF5b3V0LWRlZmF1bHQgICAgICAgICAgOiAyICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1ncmlkLWl0ZW1zLXBlci1yb3ctbGF5b3V0LTEtc2NyZWVuLXMgICAgICAgOiAzICFkZWZhdWx0O1xuJHByb2R1Y3QtZ3JpZC1pdGVtcy1wZXItcm93LWxheW91dC0xLXNjcmVlbi1tICAgICAgIDogNCAhZGVmYXVsdDtcbiRwcm9kdWN0LWdyaWQtaXRlbXMtcGVyLXJvdy1sYXlvdXQtMS1zY3JlZW4tbCAgICAgICA6IDUgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWdyaWQtaXRlbXMtcGVyLXJvdy1sYXlvdXQtMi1sZWZ0LXNjcmVlbi1zICA6IDMgIWRlZmF1bHQ7XG4kcHJvZHVjdC1ncmlkLWl0ZW1zLXBlci1yb3ctbGF5b3V0LTItbGVmdC1zY3JlZW4tbSAgOiA0ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ3JpZC1pdGVtcy1wZXItcm93LWxheW91dC0yLWxlZnQtc2NyZWVuLWwgIDogJycgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWdyaWQtaXRlbXMtcGVyLXJvdy1sYXlvdXQtMi1yaWdodC1zY3JlZW4tcyA6IDMgIWRlZmF1bHQ7XG4kcHJvZHVjdC1ncmlkLWl0ZW1zLXBlci1yb3ctbGF5b3V0LTItcmlnaHQtc2NyZWVuLW0gOiA0ICFkZWZhdWx0O1xuJHByb2R1Y3QtZ3JpZC1pdGVtcy1wZXItcm93LWxheW91dC0yLXJpZ2h0LXNjcmVlbi1sIDogJycgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LWdyaWQtaXRlbXMtcGVyLXJvdy1sYXlvdXQtMy1zY3JlZW4tcyAgICAgICA6IDMgIWRlZmF1bHQ7XG4kcHJvZHVjdC1ncmlkLWl0ZW1zLXBlci1yb3ctbGF5b3V0LTMtc2NyZWVuLW0gICAgICAgOiAnJyAhZGVmYXVsdDtcbiRwcm9kdWN0LWdyaWQtaXRlbXMtcGVyLXJvdy1sYXlvdXQtMy1zY3JlZW4tbCAgICAgICA6ICcnICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1ncmlkLWl0ZW1zLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICRpbmRlbnRfX2Jhc2UgJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWdyaWQtaXRlbXMtbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAkaW5kZW50X19zICFkZWZhdWx0O1xuXG4kcHJvZHVjdC1uYW1lLXRleHQtZGVjb3JhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS10ZXh0LWRlY29yYXRpb24taG92ZXIgICAgICAgICAgICAgICAgIDogJGxpbmtfX2hvdmVyX190ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiR0b29sYmFyLW1vZGUtaWNvbi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICA6IDI2cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1oMS1tYXJnaW4tYm90dG9tLWRlc2t0b3AgICAgICAgICAgICAgICAgICAgOiAkaW5kZW50X19iYXNlICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdtb2R1bGUvbGlzdGluZ3MnO1xuQGltcG9ydCAnbW9kdWxlL3Rvb2xiYXInO1xuQGltcG9ydCAnbW9kdWxlL2dhbGxlcnknO1xuXG4vL1xuLy8gIENhdGVnb3J5IHZpZXdcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm9sZC1wcmljZSxcbi5vbGQucHJpY2Uge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4ucHJpY2VzLXRpZXIge1xuICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgICAgICAgICArIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJyBhdHRyKGRhdGEtbGFiZWwpICc6ICc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53ZWVlW2RhdGEtbGFiZWxdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDExKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgKycgYXR0cihkYXRhLWxhYmVsKSAnOiAnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWN0dWFsLXByaWNlIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xufVxuXG4ucHJvZHVjdC5uYW1lIGEge1xuICAgIEBleHRlbmQgLmFicy1wcm9kdWN0LWxpbms7XG59XG5cbi5jYXRlZ29yeS1pbWFnZSB7XG4gICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmNhdGVnb3J5LWltYWdlLFxuLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xufVxuXG4vL1xuLy8gIFByb2R1Y3QgaW1hZ2VzIGdlbmVyYWwgY29udGFpbmVyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5wcm9kdWN0LWltYWdlLXBob3RvIHtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG5Ac3VwcG9ydHMgKG9iamVjdC1maXQ6IGNvbnRhaW4pIHtcbiAgICAucHJvZHVjdC1pbWFnZS1waG90byB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vL1xuLy8gIFByb2R1Y3Qgdmlld1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC5tZWRpYSB7XG4gICAgLnByb2R1Y3QucGhvdG8gLnBob3RvLmltYWdlIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkYXB0aXZlLWltYWdlcy1jZW50ZXJlZDtcbiAgICB9XG5cbiAgICAucGxhY2Vob2xkZXIgLnBob3RvLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubm90aWNlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJHRleHRfX2NvbG9yX19tdXRlZCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoJGZvbnQtc2l6ZV9fcyk7XG4gICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LnRodW1icyB7XG4gICAgICAgIG1hcmdpbjogJGluZGVudF9fYmFzZSAwICRpbmRlbnRfX2w7XG4gICAgfVxuXG4gICAgLml0ZW1zLnRodW1icyB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1saXN0LWlubGluZSgpO1xuXG4gICAgICAgIC5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QuaW5mby5kZXRhaWxlZCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIC5hZGRpdGlvbmFsLWF0dHJpYnV0ZXMge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbGliLXRhYmxlLXJlc2l6ZShcbiAgICAgICAgICAgICRfdGgtcGFkZGluZy1sZWZ0ICAgOiAwLFxuICAgICAgICAgICAgJF90aC1wYWRkaW5nLXJpZ2h0ICA6ICRpbmRlbnRfX2wsXG4gICAgICAgICAgICAkX3RoLXBhZGRpbmctYm90dG9tIDogJGluZGVudF9fcyxcbiAgICAgICAgICAgICRfdGQtcGFkZGluZy1ib3R0b20gOiAkaW5kZW50X19zXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbmZvLW1haW4ge1xuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0X19iYXNlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9jayB7XG5cbiAgICAgICAgJi5hdmFpbGFibGUsXG4gICAgICAgICYudW5hdmFpbGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5sb3cge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X19iYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qge1xuICAgICAgICAmLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAmLnNrdSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJHRleHRfX2NvbG9yX19tdXRlZCk7XG5cbiAgICAgICAgICAgICAgICA+IC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X194cztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYub3ZlcnZpZXcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fYmFzZSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGVydCB7XG4gICAgICAgICAgICBtYXJnaW46ICRpbmRlbnRfX3MgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAkaW5kZW50X19zO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSAucmV2aWV3cy1hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgkZm9udC1zaXplX19iYXNlKTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtLWxhYmVscyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sYWJlbC1iYWNrLWluLXN0b2NrIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwODAwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sYWJlbC1uZXcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOWVjMWNmO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxhYmVsLWxvdy1zdG9jayB7XG5cdFx0XHRcdHBhZGRpbmc6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZhNTAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b2NrLmxvdyB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmYTUwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b2NrLnVuYXZhaWxhYmxlIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIge1xuICAgIC5maWVsZHNldC1wcm9kdWN0LW9wdGlvbnMtaW5uZXIge1xuICAgICAgICAubGVnZW5kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC13ZWlnaHQsICRmb250LXdlaWdodF9fYm9sZCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgMCAwICRpbmRlbnRfX3hzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTRweCk7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAgRGF0ZSAmIFRpbWUgY3VzdG9tIG9wdGlvbiAoQWZmZWN0IFRpbWUgdGhhdCBnb2VzIG9ubHkgYWZ0ZXIgRGF0ZSlcbiAgICAgICAgaW5wdXQuZGF0ZXRpbWUtcGlja2VyIHtcbiAgICAgICAgICAgIH4gc2VsZWN0LmRhdGV0aW1lLXBpY2tlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucmVxdWlyZWQsXG4gICAgICAgICYuX3JlcXVpcmVkIHtcbiAgICAgICAgICAgIC5sZWdlbmQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnKic7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9mb250LXNpemUgICA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19mb250LXNpemUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2NvbG9yICAgICAgIDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2NvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9mb250LWZhbWlseSA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRfZm9udC13ZWlnaHQgOiAkZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2xpbmUtaGVpZ2h0IDogJGZvcm0tZmllbGQtbGFiZWwtYXN0ZXJpc2tfX2xpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgJF9mb250LXN0eWxlICA6ICRmb3JtLWZpZWxkLWxhYmVsLWFzdGVyaXNrX19mb250LXN0eWxlXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAkZm9ybS1maWVsZC1sYWJlbC1hc3Rlcmlza19fbWFyZ2luKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQge1xuICAgICAgICAubm90ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1ub3RpY2Uge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkanVzdG1lbnQtaW5jbC1leGNsLXRheDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtaW5mby1tYWluLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20ge1xuICAgIC5wcmljZS1ib3gge1xuICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCArIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAud2VlZSArIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAud2VlZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDEyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9feHM7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS13cmFwcGVyIC5wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2JvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwO1xuXG4gICAgICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtbGFiZWwgKyAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub2xkLXByaWNlLFxuICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LXRvY2FydCB7XG4gICAgICAgIG1hcmdpbjogJGluZGVudF9fYmFzZSAwO1xuXG4gICAgICAgIC5maWVsZC5xdHkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC43NSAqICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtdGV4dC5xdHkge1xuICAgICAgICAgICAgJHRvY2FydC1pbnB1dC1zaXplOiAkYnV0dG9uX19saW5lLWhlaWdodF9fbCArIDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6ICR0b2NhcnQtaW5wdXQtc2l6ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAkdG9jYXJ0LWlucHV0LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLnRvY2FydCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYnV0dG9uLWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hZGR0by1saW5rcyB7XG4gICAgICAgIG1hcmdpbjogJGluZGVudF9fYmFzZSAwO1xuICAgIH1cblxuICAgIC5hY3Rpb24udG9jb21wYXJlIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFjdGlvbi1hZGR0by1wcm9kdWN0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbn1cblxuLnByaWNlcy10aWVyIHtcbiAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGlzdDtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRzaWRlYmFyX19iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBtYXJnaW46ICRpbmRlbnRfX3MgMDtcbiAgICBwYWRkaW5nOiAkaW5kZW50X19zICgwLjc1ICogJGluZGVudF9fYmFzZSk7XG5cbiAgICAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgIC53ZWVlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2JvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24tYXMtbGluaygpO1xufVxuXG4uYmxvY2sucmVsYXRlZCB7XG4gICAgLmFjdGlvbi5zZWxlY3Qge1xuICAgICAgICBtYXJnaW46IDAgJGluZGVudF9feHM7XG4gICAgfVxufVxuXG4vL1xuLy8gIFNpZGViYXIgcHJvZHVjdCB2aWV3XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaWRlYmFyIHtcbiAgICAucHJvZHVjdC1pdGVtcyB7XG4gICAgICAgIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWl0ZW0taW5mbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA4NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDdweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY291bnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkcHJpbWFyeV9fY29sb3JfX2xpZ2h0ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxMik7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pbmlsaXN0IHtcbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53ZWVlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbiB7XG4gICAgICAgICYuZGVsZXRlIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1yZW1vdmUtYnV0dG9uLWZvci1ibG9ja3M7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gIFByb2R1Y3QgaW1hZ2VzIG9ubHlcbiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAucHJvZHVjdC1pdGVtcy1pbWFnZXMge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRpbmRlbnRfX3hzO1xuXG4gICAgICAgIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1ib3gtc2l6aW5nO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnRfX3hzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyAgUHJvZHVjdCBuYW1lcyBvbmx5XG4gICAgLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLnByb2R1Y3QtaXRlbXMtbmFtZXMge1xuICAgICAgICAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcge1xuICAgICAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZGlzcGxheShmbGV4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC5tZWRpYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItdmVuZG9yLXByZWZpeC1vcmRlcigtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbmZvLW1haW4gLmJveC10b2NhcnQge1xuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAuYWN0aW9uLnRvY2FydCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWJ1dHRvbi1yZXNwb25zaXZlLXNtYWxsZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2sucmVsYXRlZCB7XG4gICAgICAgIC5hY3Rpb24uc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAkaW5kZW50X194cyAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBhcmUsXG4gICAgLnByb2R1Y3QtYWRkdG8tbGlua3MgLmFjdGlvbi50b2NvbXBhcmUsXG4gICAgLnByb2R1Y3QtaXRlbS1hY3Rpb25zIC5hY3Rpb25zLXNlY29uZGFyeSA+IC5hY3Rpb24udG9jb21wYXJlLFxuICAgIFtjbGFzcyo9J2Jsb2NrLWNvbXBhcmUnXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLnByb2R1Y3QtaW5mby1tYWluLFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIHtcbiAgICAgICAgLmJveC10b2NhcnQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG5cbiAgICAgICAgICAgIC5maWVsZC5xdHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5kZW50X19tO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW5mby1tYWluIHtcbiAgICAgICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhciB7XG4gICAgICAgIC5wcm9kdWN0LWl0ZW1zIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0taW5mbyB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgJGluZGVudF9fcyAkaW5kZW50X19zIDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hZGQtZm9ybSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1yZXZlcnQtZmllbGQtdHlwZS1kZXNrdG9wO1xuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wIGxhcmdlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9feGwpIHtcbiAgICAuc2lkZWJhciB7XG4gICAgICAgIC5wcm9kdWN0LWl0ZW1zIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0taW5mbyB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogODVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBDYXRlZ29yeSBwYWdlIGxheW91dFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAucHJvZHVjdC1pbmZvLW1haW4ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QubWVkaWEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fbTtcbiAgICB9XG5cbiAgICAucGFnZS1sYXlvdXQtMWNvbHVtbiB7XG4gICAgICAgIC5wcm9kdWN0LWluZm8tbWFpbiB7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0Lm1lZGlhIHtcbiAgICAgICAgICAgIHdpZHRoOiA1NyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCxcbiAgICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtcmlnaHQsXG4gICAgLnBhZ2UtbGF5b3V0LTNjb2x1bW5zIHtcbiAgICAgICAgLnByb2R1Y3QtaW5mby1tYWluIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC5tZWRpYSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIENvbXBhcmUgUHJvZHVjdHMgUGFnZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5ib2R5LmNhdGFsb2ctcHJvZHVjdC1jb21wYXJlLWluZGV4IHtcbiAgICAuYWN0aW9uLnByaW50IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG59XG5cbi50YWJsZS13cmFwcGVyLmNvbXBhcmlzb24ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4udGFibGUtY29tcGFyaXNvbiB7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcblxuICAgIC5jZWxsLmxhYmVsLnJlbW92ZSxcbiAgICAuY2VsbC5sYWJlbC5wcm9kdWN0IHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNlbGwubGFiZWwsXG4gICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHRhYmxlX19ib3JkZXItd2lkdGggJHRhYmxlX19ib3JkZXItc3R5bGUgJHRhYmxlX19ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLmNlbGwge1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTQwcHg7XG5cbiAgICAgICAgLmF0dHJpYnV0ZS52YWx1ZSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByb2R1Y3QuaW5mbyxcbiAgICAgICAgJi5wcm9kdWN0LmxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJsZV9fYm9yZGVyLXdpZHRoICR0YWJsZV9fYm9yZGVyLXN0eWxlICR0YWJsZV9fYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5sYWJlbCB7XG4gICAgICAgICAgICAuYXR0cmlidXRlLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDEzKTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1waG90byB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyxcbiAgICAucHJpY2UtYm94LFxuICAgIC5wcm9kdWN0LnJhdGluZyxcbiAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYWRkdG8tbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgIC5hY3Rpb24uc3BsaXQsXG4gICAgICAgIC5hY3Rpb24udG9nZ2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24tcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi50b2dnbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jZWxsLnJlbW92ZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLmFjdGlvbi5kZWxldGUge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJlbW92ZS1idXR0b24tZm9yLWJsb2NrcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgICAgID4gLmFjdGlvbnMtcHJpbWFyeSB7XG4gICAgICAgICAgICArIC5hY3Rpb25zLXNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24ge1xuICAgICAgICAmLnRvY2FydCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29tcGFyaXNvbi5oZWFkaW5ncyB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkcGFnZV9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5ibG9jay1jb21wYXJlIHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYmxvY2stdGl0bGU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjJweDtcbiAgICB9XG5cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgJi5kZWxldGUge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJlbW92ZS1idXR0b24tZm9yLWJsb2NrcztcbiAgICAgICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbXBhcmUge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJldmVydC1zZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY291bnRlciB7XG4gICAgICAgIEBleHRlbmQgLmFicy1ibG9jay1pdGVtcy1jb3VudGVyO1xuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBtYXJnaW46IDE3cHggMCAwO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYS1zdHJldGNoIHtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvdG9yYW1hLWdyYWItY3Vyc29yIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiBncmFiO1xufVxuXG4uZm90b3JhbWEtZ3JhYmJpbmctY3Vyc29yIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLmZvdG9yYW1hLWdwdSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG4uZm90b3JhbWEtZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi5mb3RvcmFtYS1mb2N1cy1vdmVybGF5IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtc3RyZXRjaDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICB9XG59XG5cbi5mb3RvcmFtYS10cmFuc2Zvcm0tZGlzYWJsZWQge1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZm90b3JhbWEtdHJhbnNpdGlvbi1mb3Itc2xpZGUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHVuc2V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgd2lkdGg7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEsIDAsIDAuMjUsIDEpO1xufVxuXG4uZm90b3JhbWEtbm8tc2VsZWN0IHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZvdG9yYW1hLXNlbGVjdCB7XG4gICAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5mb3RvcmFtYS1lbXB0eS1iZyB7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUQvQUN3QUFBQUFBUUFCQUFBQ0FEcz0pO1xufVxuXG4uZm90b3JhbWEtYXV0by1tYXJnaW4ge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZm90b3JhbWEtaW5saW5lLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBmb3RvcmFtYS1pbmxpbmUtYmxvY2soKTtcbn1cblxuLmZvdG9yYW1hLWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTk5OTk5cHg7XG4gICAgbGVmdDogLTk5OTk5cHg7XG4gICAgei1pbmRleDogLSR6LWluZGV4LTEwO1xufVxuXG4uZm90b3JhbWEtdmlzaWJsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLmZvdG9yYW1hLW5vLXRhcCB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xufVxuXG4udHJhbnNpdGlvbkR1cmF0aW9uIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMzNtcztcbn1cblxuLnRyYW5zaXRpb25EdXJhdGlvblplcm8ge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHVuc2V0O1xufVxuXG4uZm90b3JhbWEtc3ByaXRlIHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1wcmludC1iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2dhbGxlcnkucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmZvdG9yYW1hLXByaW50LWJhY2tncm91bmQge1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCJAbWl4aW4gZm90b3JhbWEtc2hhZG93LWdyYWRpZW50KCR4LCAkeSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjIpIDI1JSwgcmdiYSgwLCAwLCAwLCAwLjMpIDc1JSwgdHJhbnNwYXJlbnQpLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAkeCAkeSwgcmdiYSgwLCAwLCAwLCAwLjQpLCB0cmFuc3BhcmVudCk7XG59XG5cbkBtaXhpbiBmb3RvcmFtYS1pbmxpbmUtYmxvY2soJHZhOiBtaWRkbGUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiAkdmE7XG4gICAgem9vbTogMTtcbn1cblxuQG1peGluIGZvdG9yYW1hLWJ1dHRvbi1iYWNrZ3JvdW5kKCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRmb3RvcmFtYS1kdXJhdGlvbi10aW1lIGVhc2UtaW4tb3V0O1xuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTMsIDIxMywgMjEzLCAwLjUpO1xuICAgIH1cbn1cblxuQG1peGluIGZvdG9yYW1hLWFicy1jZW50ZXIoKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xufVxuIiwiLmZvdG9yYW1hX19hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHRyYW5zcGFyZW50O1xufVxuXG4uZm90b3JhbWFfX3N0YWdlX19mcmFtZSB7XG4gICAgJi5mb3RvcmFtYV9fYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogODtcbiAgICB9XG59XG5cbi5mb3RvcmFtYV9fd3JhcC0tZmFkZSB7XG4gICAgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAgICAgICAmLmZvdG9yYW1hX19hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX19mYWRlLXJlYXIge1xuICAgICAgICAmLmZvdG9yYW1hX19hY3RpdmUge1xuICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvdG9yYW1hX193cmFwLS1vbmx5LWFjdGl2ZSB7XG4gICAgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAgICAgICAmLmZvdG9yYW1hX19hY3RpdmUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fYXJyIHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1uby1zZWxlY3Q7XG4gICAgQGV4dGVuZCAuZm90b3JhbWEtbm8tdGFwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAkZm90b3JhbWEtYXJ3LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAkei1pbmRleC05O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBmb3RvcmFtYS1idXR0b24tYmFja2dyb3VuZCgpO1xuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3R0b206ICRmb3RvcmFtYS1pbm5lci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzX19ib3gtc2hhZG93O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBsZWZ0OiAkZm90b3JhbWEtaW5uZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAkZm90b3JhbWEtaW5uZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgIHRvcDogJGZvdG9yYW1hLWlubmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC0xMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS1zbGlkZS5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRmb3RvcmFtYS1hcnctc2l6ZSAqIDEuNSwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLXZpZGVvICYge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGZvdG9yYW1hLWFydy1zaXplICogMS41LCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5leHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tc2xpZGUuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRmb3RvcmFtYS1hcnctc2l6ZSAqIDEuNSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS12aWRlbyAmIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGZvdG9yYW1hLWFydy1zaXplICogMS41LCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgJiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gJiB7XG4gICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczIuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS12aWRlbyAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGZvdG9yYW1hLWR1cmF0aW9uLXRpbWU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3N0YWdlICYtLXNob3duIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3N0YWdlICYtLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIkZm90b3JhbWEtYXJ3LXNpemU6IDgwcHggIWRlZmF1bHQ7XG4kZm90b3JhbWEtZHVyYXRpb24tdGltZTogMC4zcyAhZGVmYXVsdDtcbiRmb3RvcmFtYS1mdWxsc2NyZWVuLXpvb20tdGltZTogMC4zcyAhZGVmYXVsdDtcbiRmb3RvcmFtYS1pbm5lci1ib3gtc2hhZG93OiAzcHggIWRlZmF1bHQ7XG4kZm90b3JhbWEtc3Bpbm5lci1zaXplOiA2NHB4ICFkZWZhdWx0O1xuJGZvdG9yYW1hLXRodW1iLWFycm93OiAzMHB4ICFkZWZhdWx0O1xuJGZvdG9yYW1hX2Nsb3NlX2J1dHRvbjogODBweCAhZGVmYXVsdDtcbiRzaXplLWZvdG9yYW1hLWJsb2NrOiA4MHB4ICFkZWZhdWx0O1xuIiwiLmZvdG9yYW1hX19hcnJfX2FyciB7XG4gICAgLmZvdG9yYW1hX19hcnIgJiB7XG4gICAgICAgIEBleHRlbmQgLmZvdG9yYW1hLXNwcml0ZTtcbiAgICAgICAgd2lkdGg6ICRzaXplLWZvdG9yYW1hLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICRzaXplLWZvdG9yYW1hLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBmb3RvcmFtYS1hYnMtY2VudGVyKCk7XG5cbiAgICAgICAgLmllOSAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogKC0kc2l6ZS1mb3RvcmFtYS1ibG9jayAvIDIpIDAgMCAoLSRzaXplLWZvdG9yYW1hLWJsb2NrIC8gMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX2Fyci0tcHJldiAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogKC0kc2l6ZS1mb3RvcmFtYS1ibG9jaykgKC0kc2l6ZS1mb3RvcmFtYS1ibG9jayk7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX19hcnItLW5leHQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICgtJHNpemUtZm90b3JhbWEtYmxvY2sgKiAyKSAoLSRzaXplLWZvdG9yYW1hLWJsb2NrKTtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX2NhcHRpb24ge1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLWdwdTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB6LWluZGV4OiAxMjtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBmYWRlKCRjb2xvci1ibGFjaywgMC41KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGZhZGUoJGNvbG9yLWJsYWNrLCAwLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1ydGwgJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gJixcbiAgICAuZm90b3JhbWFfX3dyYXAtLW5vLWNhcHRpb25zICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcCB7XG4gICAgQGV4dGVuZCAuZm90b3JhbWEtaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuIiwiLmZvdG9yYW1hX19kb3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEycHg7XG4gICAgbGVmdDogNnB4O1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXk1MjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAuZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdDpmb2N1cyAmIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgICAgYm90dG9tOiAkZm90b3JhbWEtaW5uZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19fYm94LXNoYWRvdztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgbGVmdDogJGZvdG9yYW1hLWlubmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogJGZvdG9yYW1hLWlubmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICB0b3A6ICRmb3RvcmFtYS1pbm5lci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgei1pbmRleDogJHotaW5kZXgtMTA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iOmZvY3VzICY6YWZ0ZXIsXG4gICAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS1kb3Q6Zm9jdXMgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX2FjdGl2ZSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW9yYW5nZS1yZWQxO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1vcmFuZ2UtcmVkMTtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX2ZhZGUge1xuICAgIC5mb3RvcmFtYV9fd3JhcC0tZmFkZSAmLWZyb250LFxuICAgIC5mb3RvcmFtYV9fd3JhcC0tZmFkZSAmLXJlYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tZmFkZSAmLWZyb250IHtcbiAgICAgICAgei1pbmRleDogODtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWZhZGUgJi1yZWFyIHtcbiAgICAgICAgei1pbmRleDogNztcbiAgICB9XG59XG4iLCIuZm90b3JhbWEge1xuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJi0tZnVsbHNjcmVlbiB7XG4gICAgICAgIEBleHRlbmQgLmZvdG9yYW1hLWdwdTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC0xMCAhaW1wb3J0YW50O1xuICAgICAgICAvL2Zsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtaGlkZGVuO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fZnVsbHNjcmVlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gICAgQGV4dGVuZCAuZm90b3JhbWEtbm8tc2VsZWN0O1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLW5vLXRhcDtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1zcHJpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkc2l6ZS1mb3RvcmFtYS1ibG9jaztcbiAgICBoZWlnaHQ6ICRzaXplLWZvdG9yYW1hLWJsb2NrO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogJHotaW5kZXgtMTA7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBleHRlbmQgLmZvdG9yYW1hLWZvY3VzO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3R0b206ICRmb3RvcmFtYS1pbm5lci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzX19ib3gtc2hhZG93O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBsZWZ0OiAkZm90b3JhbWEtaW5uZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAkZm90b3JhbWEtaW5uZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgIHRvcDogJGZvdG9yYW1hLWlubmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC0xMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYS0tZnVsbHNjcmVlbi1pY29ucyAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gJiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogKC0kc2l6ZS1mb3RvcmFtYS1ibG9jaykgMDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzICYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gJiB7XG4gICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczIuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczIuZm90b3JhbWFfX3dyYXAtLXZpZGVvICYge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tc2xpZGUuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGZvdG9yYW1hLWFydy1zaXplLCAtJGZvdG9yYW1hLWFydy1zaXplLCAwKTtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLXZpZGVvICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRmb3RvcmFtYS1hcnctc2l6ZSwgLSRmb3RvcmFtYS1hcnctc2l6ZSwgMCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRmb3RvcmFtYS1kdXJhdGlvbi10aW1lO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwOm5vdCguZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MpICYge1xuICAgICAgICBAaW5jbHVkZSBmb3RvcmFtYS1idXR0b24tYmFja2dyb3VuZCgpO1xuICAgIH1cbn1cbiIsIi5nYWxsZXJ5LXBsYWNlaG9sZGVyIHtcbiAgICAubG9hZGluZy1tYXNrIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgcGFkZGluZzogMCAwIDUwJTtcbiAgICB9XG5cbiAgICAubG9hZGVyIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX2h0bWwge1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLXN0cmV0Y2g7XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMgJiB7XG4gICAgICAgIEBleHRlbmQgLmZvdG9yYW1hLWdwdTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGZvdG9yYW1hLWR1cmF0aW9uLXRpbWU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS0tdmlkZW8gJiB7XG4gICAgICAgIEBleHRlbmQgLmZvdG9yYW1hLXRyYW5zZm9ybS1kaXNhYmxlZDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX2ltZyB7XG4gICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAuZm90b3JhbWFfX2xvYWRlZCAmLFxuICAgIC5mb3RvcmFtYV9fZXJyb3IgJiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJi0tZnVsbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS0tdmlkZW8gJiB7XG4gICAgICAgIEBleHRlbmQgLmZvdG9yYW1hLXRyYW5zZm9ybS1kaXNhYmxlZDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdi13cmFwIC5mb3RvcmFtYV92ZXJ0aWNhbF9yYXRpbyAmIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAgLmZvdG9yYW1hX2hvcml6b250YWxfcmF0aW8gJiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUgJiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZm90b3JhbWEtZnVsbHNjcmVlbi16b29tLXRpbWU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQsIHRvcCwgbGVmdDtcbiAgICAgICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUgJixcbiAgICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUgJi0tZnVsbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19sb2FkZWQtLWZ1bGwgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi0tZnVsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSAmLS1mdWxsIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtZ3B1O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB0cmFuc2l0aW9uOiAkZm90b3JhbWEtZnVsbHNjcmVlbi16b29tLXRpbWUgbGluZWFyO1xuICAgICAgICAvL3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICYuZm90b3JhbWFfX2ltZy0tem9vbW1hYmxlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0LCBib3R0b20sIHJpZ2h0LCB0b3AsIGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5mb3RvcmFtYV9faW1nLS1kcmFnZ2FibGUge1xuICAgICAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fcHJvZHVjdC12aWRlby0tbG9hZGVkICYsXG4gICAgLmZvdG9yYW1hX19wcm9kdWN0LXZpZGVvLS1sb2FkZWQgJi0tZnVsbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIubWFnbmlmaWVyLXRodW1iLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLm1hZ25pZmllci1sZW5zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItZ3JheS1saWdodDI7XG4gICAgei1pbmRleDogJHotaW5kZXgtODtcbn1cblxuLm1hZ25pZmllci1sb2FkZXItdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLm1hZ25pZmllci1sYXJnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMiU7XG4gICAgei1pbmRleDogJHotaW5kZXgtMTtcbn1cblxuLm1hZ25pZmllci1wcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMTVweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTglO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6bm90KC5oaWRkZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgfVxufVxuIiwiLm1hZ25pZnktbGVucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItZ3JheS1saWdodDI7XG4gICAgei1pbmRleDogJHotaW5kZXgtMTA7XG59XG5cbi5tYWduaWZ5LW9wYXF1ZSB7XG4gICAgb3BhY2l0eTogMC41O1xufVxuXG4ubWFnbmlmeS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYWduaWZ5LWZ1bGxpbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC8vIFRPRE8gZnJvbSB3aGljaCBjc3MgZmlsZSBpcyB0aGlzP1xuICAgIC5mb3RvcmFtYV9fZnVsbHNjcmVlbiAmIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fbmF2IHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1hdXRvLW1hcmdpbjtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1uby10YXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgei1pbmRleDogNTtcblxuICAgICYtLWRvdHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtLXRodW1icyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAmIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtZ3B1O1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS1ncHU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuICYsXG4gICAgLmZvdG9yYW1hX193cmFwLS1uby1zaGFkb3dzICYge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1vbmx5LWFjdGl2ZSAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5OTk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLmZvdG9yYW1hX19uYXYtd3JhcC0tdmVydGljYWwge1xuICAgICYuZm90b3JhbWFfX25hdi13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLWF1dG8tbWFyZ2luO1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLWZvY3VzO1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLWlubGluZS1ibG9jaztcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1uby10YXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gICAgLmZvdG9yYW1hX19uYXYtLWRvdHMgJiB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICYtLXRodW1iIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdi0tdGh1bWJzICYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZG90IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZvdG9yYW1hX19hY3RpdmUgJiB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS1mb2N1cy1vdmVybGF5O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgIC8vIFRPRE8gY2hlY2sgdGhpcyBpbiBtYWdlbnRvL2JsYW5rIGNzc1xuICAgICAgICA6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsIC5mb3RvcmFtYV9fbmF2X19zaGFmdCAmLS10aHVtYiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fbmF2X19zaGFmdCB7XG4gICAgQGV4dGVuZCAuZm90b3JhbWEtaW5saW5lLWJsb2NrO1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLW5vLXRhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAmIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtdHJhbnNpdGlvbi1mb3Itc2xpZGU7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX19uYXYtd3JhcC0tdmVydGljYWwgJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX3BvaW50ZXIge1xuICAgIC5mb3RvcmFtYV9fd3JhcCAmIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fc2VsZWN0IHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1zZWxlY3Q7XG4gICAgY3Vyc29yOiBhdXRvO1xufVxuIiwiLmZvdG9yYW1hX19zaGFkb3cge1xuICAgIC5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX3N0YWdlICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fbmF2LFxuLmZvdG9yYW1hX19zdGFnZSB7XG4gICAgJi5mb3RvcmFtYV9fc2hhZG93cyB7XG4gICAgICAgICYtLWxlZnQ6YmVmb3JlLFxuICAgICAgICAmLS1yaWdodDphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXB4IDEwMCUsIDVweCAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdG9wOmJlZm9yZSxcbiAgICAgICAgJi0tYm90dG9tOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweCwgMTAwJSA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZWZ0OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCAwIDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3RvcmFtYS1zaGFkb3ctZ3JhZGllbnQoMCwgNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJpZ2h0OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwLCAxMDAlIDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3RvcmFtYS1zaGFkb3ctZ3JhZGllbnQoMTAwJSwgNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXRvcDpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCAwIDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3RvcmFtYS1zaGFkb3ctZ3JhZGllbnQoNTAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJvdHRvbTphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCUsIDAgMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvdG9yYW1hLXNoYWRvdy1ncmFkaWVudCg1MCUsIDEwMCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZvdG9yYW1hX192aWRlby1jbG9zZSB7XG4gICAgJi5mb3RvcmFtYS1zaG93LWNvbnRyb2wge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB9XG59XG4iLCIuZm90b3JhbWEge1xuICAgICZfX3NwaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBmb3RvcmFtYS1hYnMtY2VudGVyKCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6ICRmb3RvcmFtYS1zcGlubmVyLXNpemU7XG4gICAgICAgIHdpZHRoOiAkZm90b3JhbWEtc3Bpbm5lci1zaXplO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xvYWRlci0xLmdpZicpO1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC0xO1xuXG4gICAgICAgICYtLXNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMgJiB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS1ncHU7XG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMjRzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fc3RhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAmIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtZ3B1O1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gJiB7XG4gICAgICAgIEBleHRlbmQgLmZvdG9yYW1hLXRyYW5zZm9ybS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtZ3B1O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICBib3R0b206IC0xMHB4O1xuICAgIH1cblxuICAgIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAmLFxuICAgIC5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAmLFxuICAgIC5mb3RvcmFtYV9fd3JhcC0tZmFkZSAmIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tb25seS1hY3RpdmUgJiB7XG4gICAgICAgIG1heC13aWR0aDogOTk5OTlweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1uby10YXA7XG4gICAgQGV4dGVuZCAuZm90b3JhbWEtc3RyZXRjaDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAmIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtZ3B1O1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gJi0tdmlkZW8ge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS10cmFuc2Zvcm0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1ydGwgJiB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tc2xpZGUgJiB7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWZhZGUgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuICYge1xuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgbGVmdDogJGZvdG9yYW1hLWFydy1zaXplO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvdG9yYW1hLWFydy1zaXplfSAqIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1vbmx5LWFjdGl2ZSAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0IHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1uby10YXA7XG4gICAgQGV4dGVuZCAuZm90b3JhbWEtc3RyZXRjaDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgICAgYm90dG9tOiAkZm90b3JhbWEtaW5uZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1c19fYm94LXNoYWRvdztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgbGVmdDogJGZvdG9yYW1hLWlubmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogJGZvdG9yYW1hLWlubmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICB0b3A6ICRmb3RvcmFtYS1pbm5lci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgei1pbmRleDogJHotaW5kZXgtMTA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLXZpZGVvICYge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS10cmFuc2Zvcm0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MzICYge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS10cmFuc2l0aW9uLWZvci1zbGlkZTtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX3RodW1iIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXk5MjtcblxuICAgIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpmb2N1cyAmIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXNfX2JveC1zaGFkb3c7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC0xMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tdGh1bWI6Zm9jdXMgJixcbiAgICAuZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdDpmb2N1cyAmIHtcbiAgICAgICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lOm50aC1jaGlsZCgyKTpmb2N1cyAmOmFmdGVyIHtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpsYXN0LWNoaWxkOmZvY3VzICY6YWZ0ZXIge1xuICAgICAgICByaWdodDogMXB4O1xuICAgIH1cblxuICAgICYtLWljb24ge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS1zcHJpdGU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZm90b3JhbWEtdGh1bWItYXJyb3c7XG4gICAgICAgIGZvbnQtc2l6ZTogMC4wMDFweDtcblxuICAgICAgICAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tbGVmdCAmLFxuICAgICAgICAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvdG9yYW1hLWFicy1jZW50ZXIoKTtcbiAgICAgICAgICAgIC5pZTkgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAoLSRmb3RvcmFtYS10aHVtYi1hcnJvdyAvIDIpIDAgMCAoLSRmb3RvcmFtYS10aHVtYi1hcnJvdyAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvdG9yYW1hX19uYXYtd3JhcC0tdmVydGljYWwgLmZvdG9yYW1hX190aHVtYl9fYXJyLS1sZWZ0ICYsXG4gICAgICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsIC5mb3RvcmFtYV9fdGh1bWJfX2Fyci0tcmlnaHQgJiB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogJGZvdG9yYW1hLXRodW1iLWFycm93O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvdG9yYW1hX190aHVtYl9fYXJyLS1sZWZ0ICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1cHggLTI2NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvdG9yYW1hX190aHVtYl9fYXJyLS1yaWdodCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNXB4IC0zNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbiIsIi5mb3RvcmFtYV9fdGh1bWItYm9yZGVyIHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1wcmludC1iYWNrZ3JvdW5kO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1vcmFuZ2UtcmVkMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpLCByZ2JhKDY0LCA2NCwgNjQsIDAuMSkpO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiA5O1xuXG4gICAgLmZvdG9yYW1hX19uYXYtLWRvdHMgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MzICYge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS10cmFuc2l0aW9uLWZvci1zbGlkZTtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX3RodW1iX19hcnIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgQGluY2x1ZGUgZm90b3JhbWEtYnV0dG9uLWJhY2tncm91bmQoKTtcblxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLWhvcml6b250YWwgJi0tbGVmdCxcbiAgICAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsICYtLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6ICRmb3RvcmFtYS10aHVtYi1hcnJvdztcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtMTA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdi13cmFwLS1ob3Jpem9udGFsICYtLWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLWhvcml6b250YWwgJi0tcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdi13cmFwLS12ZXJ0aWNhbCAmLS1sZWZ0LFxuICAgIC5mb3RvcmFtYV9fbmF2LXdyYXAtLXZlcnRpY2FsICYtLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAkZm90b3JhbWEtdGh1bWItYXJyb3c7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtMTA7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX19uYXYtd3JhcC0tdmVydGljYWwgJi0tbGVmdCB7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX25hdi13cmFwLS12ZXJ0aWNhbCAmLS1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX25hdl9fZnJhbWUtLXRodW1iOmZvY3VzLFxuLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS1kb3Q6Zm9jdXMge1xuICAgIC5mb3RvcmFtYV9fdGh1bWIuZm90b3JhbWFfdmVydGljYWxfcmF0aW86YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgfVxufVxuXG4uZm90b3JhbWFfX25hdl9fZnJhbWU6bnRoLWNoaWxkKDIpOmZvY3VzIHtcbiAgICAuZm90b3JhbWFfX3RodW1iLmZvdG9yYW1hX3ZlcnRpY2FsX3JhdGlvOmFmdGVyIHtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgfVxufVxuXG4uZm90b3JhbWFfX25hdl9fZnJhbWU6bGFzdC1jaGlsZDpmb2N1cyB7XG4gICAgLmZvdG9yYW1hX190aHVtYi5mb3RvcmFtYV92ZXJ0aWNhbF9yYXRpbzphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMycHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBAZXh0ZW5kIC5mb3RvcmFtYS1zdHJldGNoO1xuICAgIH1cbn1cbiIsIi5mb3RvcmFtYV9fdmlkZW8tY2xvc2Uge1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLW5vLXNlbGVjdDtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1uby10YXA7XG4gICAgQGV4dGVuZCAuZm90b3JhbWEtc3ByaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICRmb3RvcmFtYV9jbG9zZV9idXR0b247XG4gICAgaGVpZ2h0OiAkZm90b3JhbWFfY2xvc2VfYnV0dG9uO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogJHotaW5kZXgtMTA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICgtJGZvdG9yYW1hX2Nsb3NlX2J1dHRvbikgMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCgkZm90b3JhbWFfY2xvc2VfYnV0dG9uKSwgKC0kZm90b3JhbWFfY2xvc2VfYnV0dG9uKSwgMCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgLmZvdG9yYW1hX19mdWxsc2NyZWVuICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93czpub3QoLmZvdG9yYW1hX193cmFwLS12aWRlbykgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzLmZvdG9yYW1hX193cmFwLS12aWRlbyAmIHtcbiAgICAgICAgdG9wOiA5N3B4O1xuICAgICAgICByaWdodDogOTNweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuZm90b3JhbWFfX3dyYXAtLWNzczMgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRmb3RvcmFtYS1kdXJhdGlvbi10aW1lO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTIwcHg7XG4gICAgfVxufVxuIiwiLmZvdG9yYW1hX192aWRlby1wbGF5IHtcbiAgICBAZXh0ZW5kIC5mb3RvcmFtYS1zcHJpdGU7XG4gICAgd2lkdGg6ICRzaXplLWZvdG9yYW1hLWJsb2NrICogMjtcbiAgICBoZWlnaHQ6ICRzaXplLWZvdG9yYW1hLWJsb2NrICogMjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAoLSRzaXplLWZvdG9yYW1hLWJsb2NrKSAoLSRzaXplLWZvdG9yYW1hLWJsb2NrICogMik7XG4gICAgQGluY2x1ZGUgZm90b3JhbWEtYWJzLWNlbnRlcigpO1xuXG4gICAgLmZvdG9yYW1hX193cmFwLS1jc3MyICYsXG4gICAgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fbG9hZGVkICYsXG4gICAgLmZvdG9yYW1hX19lcnJvciAmLFxuICAgIC5mb3RvcmFtYV9fbmF2X19mcmFtZSAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lICYge1xuICAgICAgICB3aWR0aDogJHNpemUtZm90b3JhbWEtYmxvY2s7XG4gICAgICAgIGhlaWdodDogJHNpemUtZm90b3JhbWEtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgKC0kc2l6ZS1mb3RvcmFtYS1ibG9jayAqIDMpO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGZvdG9yYW1hLWR1cmF0aW9uLXRpbWU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG59XG4iLCIuZm90b3JhbWFfX3dyYXAge1xuICAgIEBleHRlbmQgLmZvdG9yYW1hLW5vLXNlbGVjdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgLmZvdG9yYW1hLS1mdWxsc2NyZWVuICYge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLS1wYW4teSB7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgfVxufVxuIiwiLmZvdG9yYW1hX196b29tLWluLFxuLmZvdG9yYW1hX196b29tLW91dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiAkei1pbmRleC0xMDtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtZm9jdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvdHRvbTogJGZvdG9yYW1hLWlubmVyLWJveC1zaGFkb3c7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXNfX2JveC1zaGFkb3c7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGxlZnQ6ICRmb3RvcmFtYS1pbm5lci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6ICRmb3RvcmFtYS1pbm5lci1ib3gtc2hhZG93O1xuICAgICAgICAgICAgdG9wOiAkZm90b3JhbWEtaW5uZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LTEwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX193cmFwOm5vdCguZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MpICYge1xuICAgICAgICBAaW5jbHVkZSBmb3RvcmFtYS1idXR0b24tYmFja2dyb3VuZCgpO1xuICAgIH1cblxuICAgIC5mb3RvcmFtYV9fZnVsbHNjcmVlbiAmIHtcbiAgICAgICAgQGV4dGVuZCAuZm90b3JhbWEtc3ByaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogJHNpemUtZm90b3JhbWEtYmxvY2s7XG4gICAgICAgIGhlaWdodDogJHNpemUtZm90b3JhbWEtYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvdG9yYW1hX19mdWxsc2NyZWVuIHtcbiAgICAuZm90b3JhbWFfX3pvb20tb3V0IHtcbiAgICAgICAgdG9wOiA4MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICgtJHNpemUtZm90b3JhbWEtYmxvY2spICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZvdG9yYW1hX196b29tLWluIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG4iLCIkY2F0YWxvZy1ldmVudC1iYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yLWdyYXk5NCAhZGVmYXVsdDtcbiRjYXRhbG9nLWV2ZW50LWNvbG9yICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgQ2F0YWxvZyBFdmVudHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJsb2NrLWNhdGVnb3J5LWV2ZW50IHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRjYXRhbG9nLWV2ZW50LWJhY2tncm91bmQtY29sb3IpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRjYXRhbG9nLWV2ZW50LWNvbG9yKTtcbiAgICBwYWRkaW5nOiAkaW5kZW50X19zIDAgMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLmJsb2NrOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xuICAgIH1cblxuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX3M7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTUpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGlja2VyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2xpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGVzIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIC5zdGFydCxcbiAgICAgICAgLmVuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhcnQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudF9feGw7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTgpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYmxvY2stY2F0ZWdvcnktZXZlbnQge1xuICAgICAgICAmLmJsb2NrOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fbDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3MgMCAkaW5kZW50X19sO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDI0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aWNrZXIge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSg2MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxNCk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZXMge1xuICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoNTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RhcnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSg1MCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRhdXRvY29tcGxldGVfX2JhY2tncm91bmQtY29sb3IgIDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9fYm9yZGVyICAgICAgICAgICAgOiAxcHggc29saWQgJGZvcm0tZWxlbWVudC1pbnB1dF9fYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZS1pdGVtX19ib3JkZXIgICAgICAgOiAxcHggc29saWQgJGNvbG9yLWdyYXk5MCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGUtaXRlbV9faG92ZXJfX2NvbG9yIDogJGNvbG9yLWdyYXk5MSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGUtaXRlbS1hbW91bnRfX2NvbG9yIDogJGNvbG9yLWdyYXk2MCAhZGVmYXVsdDtcblxuLmJsb2NrLXNlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5ibG9jayB7XG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgICAgIDogJGljb24tc2VhcmNoLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgIDogMzVweCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICA6IDMzcHgsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgOiAkbWluaWNhcnQtaWNvbnMtY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgOiAkbWluaWNhcnQtaWNvbnMtY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgOiAkbWluaWNhcnQtaWNvbnMtY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgOiB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICsgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLnNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbnRyb2wge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcl9fYmFzZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbjogMCAoLSRsYXlvdXRfX3dpZHRoLXhzLWluZGVudCkgLTFweDtcbiAgICAgICAgcGFkZGluZzogMCAkbGF5b3V0X193aWR0aC14cy1pbmRlbnQ7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBsZWZ0OiAtMzAwJTtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAubmVzdGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICBAZXh0ZW5kIC5hYnMtYWRkLWJveC1zaXppbmc7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLCAkYXV0b2NvbXBsZXRlLWl0ZW1fX2JvcmRlcik7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkaW5kZW50X194cyAkaW5kZW50X194bCAkaW5kZW50X194cyAkaW5kZW50X19zO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRhdXRvY29tcGxldGVfX2JvcmRlcik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkYXV0b2NvbXBsZXRlX19iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJGF1dG9jb21wbGV0ZS1pdGVtX19ob3Zlcl9fY29sb3IpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkYXV0b2NvbXBsZXRlLWl0ZW0tYW1vdW50X19jb2xvcik7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAkaW5kZW50X194cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0uc2VhcmNoLmFkdmFuY2VkIHtcbiAgICAuZmllbGRzLnJhbmdlIHtcbiAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgXFwyMDEzICc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgZGl2Lm1hZ2UtZXJyb3JbZ2VuZXJhdGVkXSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi53aXRoLWFkZG9uIHtcbiAgICAgICAgICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyb3VwLnByaWNlIHtcbiAgICAgICAgLmFkZG9uIHtcbiAgICAgICAgICAgIC5hZGRhZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLnN1bW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5ibG9jay1zZWFyY2gge1xuICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAuYmxvY2stc2VhcmNoIHtcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogJGluZGVudF9fcztcbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYmxvY2stc2VhcmNoIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICB6LWluZGV4OiA0O1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuLWRlc2t0b3A7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubmVzdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pbnB1dC1wbGFjZWhvbGRlcigkZm9ybS1lbGVtZW50LWlucHV0LXBsYWNlaG9sZGVyX19jb2xvcik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24uc2VhcmNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24taWNvbihcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgOiAkaWNvbi1zZWFyY2gsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgOiAkaGVhZGVyLWljb25zLWNvbG9yXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1yZXNldCgpO1xuICAgICAgICAgICAgcGFkZGluZzogJGluZGVudF9feHMgMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkY29sb3ItZ3JheTIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuIiwiLy9cbi8vICBTaG9wcGluZyBjYXJ0XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEN1c3RvbSB0aGVtaW5nIGZvciB0aGUgY2FydCBwYWdlc1xuXG4gICAgLmNhcnQuaXRlbSB7XG4gICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuLy8gRW5kb2YgY3VzdG9tIHRoZW1pbmcgZm9yIHRoZSBjYXJ0IHBhZ2VzXG5cbi8vICBTdW1tYXJ5IGJsb2NrXG4uY2FydC1zdW1tYXJ5IHtcbiAgICBAZXh0ZW5kIC5hYnMtYWRkLWJveC1zaXppbmc7XG4gICAgQGV4dGVuZCAuYWJzLWFkanVzdG1lbnQtaW5jbC1leGNsLXRheDtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRzaWRlYmFyX19iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19tO1xuICAgIHBhZGRpbmc6IDFweCAxNXB4ICRpbmRlbnRfX207XG5cbiAgICA+IC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBsaWItaGVhZGluZyhoMik7XG4gICAgfVxuXG4gICAgLmJsb2NrIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWRpc2NvdW50LWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIC5pdGVtLW9wdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgJGluZGVudF9fbSAkaW5kZW50X194cztcblxuICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19zO1xuXG4gICAgICAgICAgICAgICAgJi5ub3RlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplX19zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1ldGhvZHMge1xuICAgICAgICAgICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldC5lc3RpbWF0ZSB7XG4gICAgICAgICAgICA+IC5sZWdlbmQsXG4gICAgICAgICAgICA+IC5sZWdlbmQgKyBiciB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLW5vLWRpc3BsYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgID4gLnByaW1hcnkge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcmV2ZXJ0LXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXF1aXJlZCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICB9XG5cbiAgICBjb21tZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB9XG5cbiAgICBzdHJvbmcudGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDM1JSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gIFRvdGFscyBibG9ja1xuLmNhcnQtdG90YWxzIHtcbiAgICBAZXh0ZW5kIC5hYnMtc2lkZWJhci10b3RhbHM7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgcGFkZGluZy10b3A6ICRpbmRlbnRfX3M7XG5cbiAgICAudGFibGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIH1cbn1cblxuXG4vLyAgUHJvZHVjdHMgdGFibGVcbi5jYXJ0LnRhYmxlLXdyYXBwZXIge1xuICAgIC5pdGVtcyB7XG4gICAgICAgIHRoZWFkICsgLml0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkYm9yZGVyLWNvbG9yX19iYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAgICAgJi5xdHkge1xuICAgICAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1pbnB1dC1xdHk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgICAmLWFjdGlvbnMgdGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICAmLml0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nOiAkaW5kZW50X19tIDAgJGluZGVudF9fcyA3NXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX20gMCAwIDc1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICA+IC5hY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X19zICsgNDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGlvbi1lZGl0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICA6ICRpY29uLWVkaXQsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgIDogMTNweCxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxM3B4LFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICA6ICRjb2xvci1ibHVlLWJsYWNrLFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICA6IGJlZm9yZSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGlvbi1kZWxldGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgICAgIDogJGljb24tdHJhc2gsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgIDogMTNweCxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxM3B4LFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICA6ICRjb2xvci1ibHVlLWJsYWNrLFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICA6IGJlZm9yZSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgJi5oZWxwLm1hcCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgJi1pdGVtLXBob3RvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmLWl0ZW0tbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19yZWd1bGFyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naWZ0LXJlZ2lzdHJ5LW5hbWUtbGFiZWwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICBQcm9kdWN0IG9wdGlvbnNcbiAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXByb2R1Y3Qtb3B0aW9ucy1saXN0O1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemVfX3M7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbS1uYW1lICsgLml0ZW0tb3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1pbWFnZS13cmFwcGVyO1xuICAgIH1cblxuICAgIC5hY3Rpb24uY29uZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19iYXNlO1xuICAgIH1cbn1cblxuLmNhcnQuYWN0aW9ucyB7XG5cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWdyZXk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbnRpbnVlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC44cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICA6ICRpY29uLWFycm93LWxlZnQtdGhpbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICA6IDEzcHgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxM3B4LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgIDogJGNvbG9yLXdoaXRlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICAgIDogYmVmb3JlLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2xlYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICA6ICRpY29uLXJlbW92ZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICA6IDEzcHgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxM3B4LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgIDogJGNvbG9yLWRhcmstZ3JleSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICA6IGJlZm9yZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnVwZGF0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgICAgIDogJGljb24tdXBkYXRlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgIDogMTNweCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCA6IDEzcHgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgOiAkY29sb3ItZGFyay1ncmV5LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICAgIDogYmVmb3JlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4uY2FydC1jb250YWluZXIge1xuICAgIC5mb3JtLWNhcnQge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcztcblxuICAgICAgICBAaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja291dC1tZXRob2RzLWl0ZW1zIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxpc3Q7XG4gICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuYWN0aW9uLnByaW1hcnkge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWJ1dHRvbi1sO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAmICsgLml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICBQcm9kdWN0cyBwYWdlclxuLmNhcnQtcHJvZHVjdHMtdG9vbGJhciB7XG4gICAgLnRvb2xiYXItYW1vdW50IHtcbiAgICAgICAgbWFyZ2luOiAkaW5kZW50X19tIDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5wYWdlcyB7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX207XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuaXRlbXMge1xuICAgICAgICAgICAgPiAuaXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcnQtcHJvZHVjdHMtdG9vbGJhci10b3Age1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGhfX2Jhc2Ugc29saWQgJGJvcmRlci1jb2xvcl9fYmFzZTtcbn1cblxuLy9cbi8vICBDcm9zcyBzZWxsXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ibG9jay5jcm9zc3NlbGwge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5jYXJ0LXRheC1pbmZvLFxuLmNhcnQgLmNhcnQtdGF4LWluZm8ge1xuICAgICsgLmNhcnQtdGF4LXRvdGFsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uY2FydC50YWJsZS13cmFwcGVyLFxuLm9yZGVyLWl0ZW1zLnRhYmxlLXdyYXBwZXIge1xuICAgIC5jb2wucHJpY2UsXG4gICAgLmNvbC5xdHksXG4gICAgLmNvbC5zdWJ0b3RhbCxcbiAgICAuY29sLm1zcnAge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5jYXJ0IHtcbiAgICAgICAgJi50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBpbmhlcml0O1xuXG4gICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5pdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sIHtcbiAgICAgICAgICAgICAgICAmLnF0eSxcbiAgICAgICAgICAgICAgICAmLnByaWNlLFxuICAgICAgICAgICAgICAgICYuc3VidG90YWwsXG4gICAgICAgICAgICAgICAgJi5tc3JwIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKSAnOic7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2JvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubXNycCB7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgLmNvbC5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtY29udGFpbmVyIHtcbiAgICAgICAgLmZvcm0tY2FydCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcy1tb2JpbGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuY2FydC1jb250YWluZXIge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A7XG4gICAgICAgIC5mb3JtLWNhcnQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXNob3BwaW5nLWNhcnQtaXRlbXMtZGVza3RvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53aWRnZXQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1zdW1tYXJ5IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyMyU7XG5cbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAuY29sdW1uLm1haW4gJiB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxlZnQtbWFyZ2luLWRlc2t0b3A7XG4gICAgICAgICAgICAgICAgPiAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvcm0tZmllbGQtdHlwZS1yZXZlcnQoJF90eXBlOiBibG9jayk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX3M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQge1xuICAgICAgICAmLnRhYmxlLXdyYXBwZXIge1xuICAgICAgICAgICAgLml0ZW1zIHsgLy8gR29vZ2xlIENocm9tZSB2ZXJzaW9uIDQ0LjAuMjQwMy4xMDcgbSBmaXhcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAuY29sIHtcbiAgICAgICAgICAgICAgICAgICAgJi5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICYtaXRlbS1waG90byB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pdGVtLWRldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTklO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLml0ZW0tYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxlZnQtbWFyZ2luLWRlc2t0b3A7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gIFByb2R1Y3RzIHBhZ2VyXG4gICAgLmNhcnQtcHJvZHVjdHMtdG9vbGJhciB7XG4gICAgICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcHg7XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQudGFibGUtd3JhcHBlciB7XG4gICAgICAgIC5jYXJ0LXByb2R1Y3RzLXRvb2xiYXIge1xuICAgICAgICAgICAgKyAuY2FydCB7XG4gICAgICAgICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aC5jb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0IHtcbiAgICAgICAgICAgICsgLmNhcnQtcHJvZHVjdHMtdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRtaW5pY2FydF9fYm9yZGVyLWNvbG9yICAgICAgIDogJGNvbG9yLWdyYXk4MCAhZGVmYXVsdDtcbiRtaW5pY2FydF9fcGFkZGluZy1ob3Jpem9udGFsIDogJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXF0eV9faGVpZ2h0ICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuXG5cblxuXG4vL1xuLy8gIENvbW1vblxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4uYmxvY2stbWluaWNhcnQge1xuXHQuaXRlbXMtdG90YWwge1xuXHRcdC8vIGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbjogMCAkaW5kZW50X19zO1xuXG5cdFx0LmNvdW50IHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2JvbGQ7XG5cdFx0fVxuXHR9XG5cblx0LnN1YnRvdGFsIHtcblx0XHRtYXJnaW46IDAgJGluZGVudF9fcyAkaW5kZW50X19zO1xuXHRcdC8vIHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdFx0LmxhYmVsIHtcblx0XHRcdEBleHRlbmQgLmFicy1jb2xvbjtcblx0XHR9XG5cdH1cblxuXHQuYW1vdW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cblx0XHQucHJpY2Utd3JhcHBlciB7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0LnByaWNlIHtcblx0XHRcdFx0XHQvLyBmb250LXNpemU6ICRmb250LXNpemVfX2w7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fYm9sZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zdWJ0aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCYuZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRwYWRkaW5nOiAkaW5kZW50X19sIDAgJGluZGVudF9fYmFzZTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQudGV4dCB7XG5cdFx0Ji5lbXB0eSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0LmJsb2NrLWNvbnRlbnQge1xuXHRcdD4gLmFjdGlvbnMge1xuXHRcdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0PiAucHJpbWFyeSB7XG5cdFx0XHRcdG1hcmdpbjogMCAkaW5kZW50X19zIDE1cHg7XG5cblx0XHRcdFx0LmFjdGlvbi5wcmltYXJ5IHtcblx0XHRcdFx0XHRAZXh0ZW5kIC5hYnMtYnV0dG9uLWw7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYWN0aW9uLnByaW1hcnk6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ibG9jay1jYXRlZ29yeS1saW5rLFxuXHQuYmxvY2stcHJvZHVjdC1saW5rLFxuXHQuYmxvY2stY21zLWxpbmssXG5cdC5ibG9jay1iYW5uZXJzIHtcblx0XHRtYXJnaW46IDE1cHggMCAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4ubWluaWNhcnQtd3JhcHBlciB7XG5cdEBpbmNsdWRlIGxpYi1kcm9wZG93bihcblx0XHQkX3RvZ2dsZS1zZWxlY3RvciAgICAgICAgICAgICAgICAgICAgIDogJy5hY3Rpb24uc2hvd2NhcnQnLFxuXHRcdCRfb3B0aW9ucy1zZWxlY3RvciAgICAgICAgICAgICAgICAgICAgOiAnLmJsb2NrLW1pbmljYXJ0Jyxcblx0XHQkX2Ryb3Bkb3duLXRvZ2dsZS1pY29uLWNvbnRlbnQgICAgICAgIDogJGljb24tY2FydCxcblx0XHQkX2Ryb3Bkb3duLXRvZ2dsZS1hY3RpdmUtaWNvbi1jb250ZW50IDogJGljb24tY2FydCxcblx0XHQkX2Ryb3Bkb3duLWxpc3QtaXRlbS1wYWRkaW5nICAgICAgICAgIDogZmFsc2UsXG5cdFx0JF9kcm9wZG93bi1saXN0LWl0ZW0taG92ZXIgICAgICAgICAgICA6IGZhbHNlLFxuXHRcdCRfaWNvbi1mb250LXBvc2l0aW9uICAgICAgICAgICAgICAgICAgOiBiZWZvcmUsXG5cdFx0JF9pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICA6IDM1cHgsXG5cdFx0JF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgICAgICAgICAgICA6IDMzcHgsXG5cdFx0JF9pY29uLWZvbnQtY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICRtaW5pY2FydC1pY29ucy1jb2xvcixcblx0XHQkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgICAgICAgICAgICAgIDogJG1pbmljYXJ0LWljb25zLWNvbG9yLWhvdmVyLFxuXHRcdCRfaWNvbi1mb250LWNvbG9yLWFjdGl2ZSAgICAgICAgICAgICAgOiAkbWluaWNhcnQtaWNvbnMtY29sb3Jcblx0KTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXG5cdC5ibG9jay1taW5pY2FydCB7XG5cdFx0QGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAyNXB4ICRtaW5pY2FydF9fcGFkZGluZy1ob3Jpem9udGFsKTtcblx0XHRyaWdodDogMDtcblx0XHR3aWR0aDogMzIwcHg7XG5cdFx0ei1pbmRleDogMTAxO1xuXG5cdFx0LmJsb2NrLXRpdGxlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0cmlnaHQ6IDI1cHg7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0bGVmdDogYXV0bztcblx0XHRcdHJpZ2h0OiAyNnB4O1xuXHRcdH1cblx0fVxuXG5cdC5wcm9kdWN0IHtcblx0XHQuYWN0aW9ucyB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRtYXJnaW46IC0yNHB4IDAgMDtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdFx0XHQ+IC5wcmltYXJ5LFxuXHRcdFx0PiAuc2Vjb25kYXJ5IHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5hY3Rpb24ge1xuXHRcdCYuY2xvc2Uge1xuXHRcdFx0QGluY2x1ZGUgbGliLWJ1dHRvbi1pY29uKFxuXHRcdFx0XHQkaWNvbi1yZW1vdmUsXG5cdFx0XHRcdCRfaWNvbi1mb250LXNpemUgICAgICAgIDogMThweCxcblx0XHRcdFx0JF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxOHB4LFxuXHRcdFx0XHQkX2ljb24tZm9udC10ZXh0LWhpZGUgICA6IHRydWVcblx0XHRcdCk7XG5cdFx0XHRAaW5jbHVkZSBsaWItYnV0dG9uLXJlc2V0KCk7XG5cdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdH1cblxuXHRcdCYuc2hvd2NhcnQge1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdC5jb3VudGVyLnF0eSB7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IDAgMCAwIDAuNXJlbTtcblx0XHRcdFx0bWluLXdpZHRoOiAxOHB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAuNXJlbTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTEyNDFiO1xuXG5cdFx0XHRcdCYuZW1wdHkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubG9hZGVyID4gaW1nIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKG1heC13aWR0aCwgJG1pbmljYXJ0LXF0eV9faGVpZ2h0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY291bnRlci1sYWJlbCB7XG5cdFx0XHRcdEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW47XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm1pbmljYXJ0LXdpZGdldHMge1xuXHRcdG1hcmdpbi10b3A6IDE1cHg7XG5cdH1cbn1cblxuLm1pbmljYXJ0LWl0ZW1zLXdyYXBwZXIge1xuXHRAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgMXB4IHNvbGlkICRtaW5pY2FydF9fYm9yZGVyLWNvbG9yKTtcblx0QGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sIDAgKC0kbWluaWNhcnRfX3BhZGRpbmctaG9yaXpvbnRhbCkpO1xuXHRib3JkZXItbGVmdDogMDtcblx0Ym9yZGVyLXJpZ2h0OiAwO1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRwYWRkaW5nOiAxNXB4O1xufVxuXG4ubWluaWNhcnQtaXRlbXMge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0LnByb2R1Y3QtaXRlbSB7XG5cdFx0cGFkZGluZzogJGluZGVudF9fYmFzZSAwO1xuXG5cdFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRAaW5jbHVkZSBsaWItY3NzKGJvcmRlci10b3AsIDFweCBzb2xpZCAkbWluaWNhcnRfX2JvcmRlci1jb2xvcik7XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cblx0XHQ+IC5wcm9kdWN0IHtcblx0XHRcdEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG5cdFx0fVxuXHR9XG5cblx0LnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG5cdFx0QGV4dGVuZCAuYWJzLXJlc2V0LWltYWdlLXdyYXBwZXI7XG5cdH1cblxuXHQucHJvZHVjdC1pdGVtLXByaWNpbmcge1xuXHRcdC5sYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR3aWR0aDogNC41cmVtO1xuXHRcdH1cblx0fVxuXG5cdC5wcmljZS1taW5pY2FydCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGluZGVudF9feHM7XG5cdH1cblxuXHQucHJvZHVjdCB7XG5cdFx0PiAucHJvZHVjdC1pdGVtLXBob3RvLFxuXHRcdD4gLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblxuXHRcdC50b2dnbGUge1xuXHRcdFx0QGluY2x1ZGUgbGliLWljb24tZm9udChcblx0XHRcdFx0JF9pY29uLWZvbnQtY29udGVudCAgICAgOiAkaWNvbi1kb3duLFxuXHRcdFx0XHQkX2ljb24tZm9udC1zaXplICAgICAgICA6IDI4cHgsXG5cdFx0XHRcdCRfaWNvbi1mb250LWxpbmUtaGVpZ2h0IDogMTZweCxcblx0XHRcdFx0JF9pY29uLWZvbnQtdGV4dC1oaWRlICAgOiBmYWxzZSxcblx0XHRcdFx0JF9pY29uLWZvbnQtcG9zaXRpb24gICAgOiBhZnRlcixcblx0XHRcdFx0JF9pY29uLWZvbnQtZGlzcGxheSAgICAgOiBibG9ja1xuXHRcdFx0KTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHRcdHJpZ2h0OiAkaW5kZW50X19iYXNlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0PiAudG9nZ2xlIHtcblx0XHRcdFx0QGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG5cdFx0XHRcdFx0JF9pY29uLWZvbnQtY29udGVudCAgOiAkaWNvbi11cCxcblx0XHRcdFx0XHQkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICBtYXJnaW46IDAgMCAkaW5kZW50X19zO1xuICAgIGNvbG9yOiAkcHJvZHVjdC1uYW1lLWxpbmtfX2NvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdH1cblx0fVxuXG5cdC5wcm9kdWN0LWl0ZW0tcHJpY2luZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0fVxuXG5cdC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG5cdFx0cGFkZGluZy1sZWZ0OiA4OHB4O1xuXG5cdFx0LnByaWNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0fVxuXG5cdFx0LnByaWNlLWluY2x1ZGluZy10YXgsXG5cdFx0LnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgICAgbWFyZ2luOiAkaW5kZW50X194cyAwIDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcblx0XHR9XG5cblx0XHQud2VlZVtkYXRhLWxhYmVsXSB7XG5cdFx0XHRAaW5jbHVkZSBsaWItZm9udC1zaXplKDExKTtcblx0XHRcdC5sYWJlbCB7XG5cdFx0XHRcdEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kZXRhaWxzLXF0eSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkaW5kZW50X19zO1xuXHRcdH1cblx0fVxuXG5cdC5wcm9kdWN0Lm9wdGlvbnMge1xuXHRcdC50b29sdGlwLnRvZ2dsZSB7XG5cdFx0XHRAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuXHRcdFx0XHQkaWNvbi1kb3duLFxuXHRcdFx0XHQkX2ljb24tZm9udC1zaXplICAgICAgICA6IDI4cHgsXG5cdFx0XHRcdCRfaWNvbi1mb250LWxpbmUtaGVpZ2h0IDogMjhweCxcblx0XHRcdFx0JF9pY29uLWZvbnQtdGV4dC1oaWRlICAgOiB0cnVlLFxuXHRcdFx0XHQkX2ljb24tZm9udC1tYXJnaW4gICAgICA6IC0zcHggMCAwIDdweCxcblx0XHRcdFx0JF9pY29uLWZvbnQtcG9zaXRpb24gICAgOiBhZnRlclxuXHRcdFx0KTtcblxuXHRcdFx0LmRldGFpbHMge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5kZXRhaWxzLXF0eSxcblx0LnByaWNlLW1pbmljYXJ0IHtcblx0XHQubGFiZWwge1xuXHRcdFx0QGV4dGVuZCAuYWJzLWNvbG9uO1xuXHRcdH1cblx0fVxuXG5cdC5pdGVtLXF0eSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAkaW5kZW50X19zO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogNTBweDtcblx0fVxuXG5cdC51cGRhdGUtY2FydC1pdGVtIHtcblx0XHRAaW5jbHVkZSBsaWItZm9udC1zaXplKDExKTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdG1hcmdpbi10b3A6IDE0cHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXG5cdFx0QGluY2x1ZGUgbGliLWljb24tZm9udChcblx0XHRcdCRfaWNvbi1mb250LWNvbnRlbnQgICAgIDogJGljb24tdXBkYXRlLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgOiAxMXB4LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAxMnB4LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtZGlzcGxheSAgICAgOiBpbmxpbmUtYmxvY2ssXG5cdFx0KTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnN1YnRpdGxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmFjdGlvbiB7XG5cdFx0Ji5lZGl0LFxuXHRcdCYuZGVsZXRlIHtcblx0XHRcdEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG5cdFx0XHRcdCRpY29uLXNldHRpbmdzLFxuXHRcdFx0XHQkX2ljb24tZm9udC1zaXplICAgICAgICAgOiAxNnB4LFxuXHRcdFx0XHQkX2ljb24tZm9udC1saW5lLWhlaWdodCAgOiAxNnB4LFxuXHRcdFx0XHQkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgOiB0cnVlLFxuXHRcdFx0XHQkX2ljb24tZm9udC1jb2xvciAgICAgICAgOiAkY29sb3ItZ3JheTE5LFxuXHRcdFx0XHQkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgOiAkY29sb3ItZ3JheTE5LFxuXHRcdFx0XHQkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgOiAkY29sb3ItZ3JheTE5XG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdCYuZGVsZXRlIHtcblx0XHRcdEBpbmNsdWRlIGxpYi1pY29uLWZvbnQtc3ltYm9sKFxuXHRcdFx0XHQkX2ljb24tZm9udC1jb250ZW50IDogJGljb24tdHJhc2hcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9feHMpIHtcblxuXHQubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQge1xuICAgIHdpZHRoOiA4OHZ3O1xuICAgIHJpZ2h0OiAtNXZ3O1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiA1cmVtO1xuICAgIH1cblx0fVxuXG59XG5cblxuXG5cbi8vXG4vLyAgVGFibGV0IGFuZCB1cFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcblxuXHQubWluaWNhcnQtd3JhcHBlciB7XG5cblx0XHQuYmxvY2stbWluaWNhcnQge1xuXHRcdFx0cmlnaHQ6IC0xNXB4O1xuXHRcdFx0d2lkdGg6IDM5MHB4O1xuXHRcdH1cblx0fVxuXG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kY2hlY2tvdXQtd3JhcHBlcl9fbWFyZ2luICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtd3JhcHBlcl9fY29sdW1ucyAgICAgICAgICAgICA6IDggIWRlZmF1bHQ7XG5cbiRjaGVja291dC1zdGVwLXRpdGxlX19ib3JkZXIgICAgICAgICAgIDogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkY29sb3ItZ3JheTgwICFkZWZhdWx0O1xuJGNoZWNrb3V0LXN0ZXAtdGl0bGVfX2ZvbnQtc2l6ZSAgICAgICAgOiAyNnB4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXN0ZXAtdGl0bGVfX2ZvbnQtd2VpZ2h0ICAgICAgOiAkZm9udC13ZWlnaHRfX2xpZ2h0ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXN0ZXAtdGl0bGVfX3BhZGRpbmcgICAgICAgICAgOiAkaW5kZW50X19zICFkZWZhdWx0O1xuXG4kY2hlY2tvdXQtc3RlcC10aXRsZS1tb2JpbGVfX2ZvbnQtc2l6ZSA6IDE4cHggIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbSB0aGVtaW5nIGZvciB0aGUgY2hlY2tvdXQgcGFnZXNcbi5wYWdlLWxheW91dC1jaGVja291dCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgLy8gU3RydWN0dXJlXG4gICAgLnBhZ2UtbWFpbl9faW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAvLyBGb3Jtc1xuICAgIHNlbGVjdCB7XG4gICAgICAgIGhlaWdodDogNDNweDtcbiAgICB9XG5cbiAgICAvLyBNaW5pY2FydFxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jb2x1bW4ubWFpbiAuYmxvY2suaXRlbXMtaW4tY2FydCAudGl0bGUgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLFxuICAgIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtOmZpcnN0LWNoaWxkLFxuICAgIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0ID4gLnByb2R1Y3QtaXRlbS1waG90bywgXG4gICAgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0ID4gLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNvZnQtZ3JleTtcbiAgICB9XG5cbiAgICAub3BjLWJsb2NrLXN1bW1hcnkgLm1pbmljYXJ0LWl0ZW1zLXdyYXBwZXLCoHtcbiAgICAgICAgbWFyZ2luOiAtMTVweCAtMTVweCAwIDA7XG4gICAgfVxuXG4gICAgLy8gU2lnbiBpbiBidXR0b25cbiAgICAuYXV0aGVudGljYXRpb24td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgQGV4dGVuZCBidXR0b247XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItbGluay1hcy1idXR0b24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgICAgICAuYXV0aGVudGljYXRpb24td3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaXRsZXNcbiAgICAuc3RlcC10aXRsZV9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICAgIFxuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtYmxhY2s7XG4gICAgfVxuXG4gICAgLnN0ZXAtdGl0bGUge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNC44cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNztcbiAgICB9XG5cbiAgICAuc3RlcC10aXRsZS1kZWNvcmF0aW9uIHtcbiAgICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgICAmIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExvZ2luIGZvcm0gKGNoZWNrb3V0IHN0ZXAgMSlcbiAgICAuZm9ybS1sb2dpbiAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkgYS5hY3Rpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cblxuICAgIC8vIFNoaXBwaW5nIG1ldGhvZFxuICAgIC5jaGVja291dC1zaGlwcGluZy1tZXRob2Qge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cblxuICAgIC8vIENvdW50ZXJcbiAgICAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLnNob3djYXJ0IC5jb3VudGVyLnF0eSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gVG90YWxcbiAgICAub3BjLWVzdGltYXRlZC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMThweCAwO1xuICAgIH1cblxuICAgIC50YWJsZS10b3RhbHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC8vIE5vIHF1b3Rlc1xuICAgIC5uby1xdW90ZXMtYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIC8vIFNoaXBwaW5nIGluZm8gKHN0ZXAgMilcbiAgICAub3BjLWJsb2NrLXNoaXBwaW5nLWluZm9ybWF0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuc2hpcHBpbmctaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMnB4IDI4LjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuLy8gRW5kb2YgY3VzdG9tIHRoZW1pbmcgZm9yIHRoZSBjaGVja291dCBwYWdlc1xuXG4uY2hlY2tvdXQtaW5kZXgtaW5kZXgge1xuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LWNvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgMCAwICRjaGVja291dC13cmFwcGVyX19tYXJnaW4pO1xufVxuXG4ub3BjLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAwIDAgJGNoZWNrb3V0LXdyYXBwZXJfX21hcmdpbik7XG5cbiAgICAub3BjIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxpc3Q7XG4gICAgfVxuXG4gICAgLnN0ZXAtdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtY2hlY2tvdXQtdGl0bGU7XG4gICAgfVxuXG4gICAgLnN0ZXAtY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX3hsO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LWluZGV4LWluZGV4IHtcbiAgICAubmF2LXNlY3Rpb25zLFxuICAgIC5uYXYtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyB7XG4gICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeDtcblxuICAgIC5wcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAub3BjLXdyYXBwZXIge1xuICAgICAgICAuc3RlcC10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtc2l6ZSwgJGNoZWNrb3V0LXN0ZXAtdGl0bGUtbW9iaWxlX19mb250LXNpemUpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLm9wYy13cmFwcGVyIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1ib3gtc2l6aW5nLWRlc2t0b3AtbTtcbiAgICAgICAgLy8gQGluY2x1ZGUgbGliLWxheW91dC1jb2x1bW4oMiwgMSwgJGNoZWNrb3V0LXdyYXBwZXJfX2NvbHVtbnMpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudF9fbDtcbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIHtcbiAgICAgICAgLnByaW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAyMnB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgQ2hlY2tvdXQgRXN0aW1hdGVkIFRvdGFsXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vcGMtZXN0aW1hdGVkLXdyYXBwZXIge1xuICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG4gICAgQGV4dGVuZCAuYWJzLW5vLWRpc3BsYXktZGVza3RvcDtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1ib3R0b20sICRib3JkZXItd2lkdGhfX2Jhc2Ugc29saWQgJGNvbG9yLWdyYXk4MCk7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBwYWRkaW5nOiAxOHB4IDE1cHg7XG5cbiAgICAuZXN0aW1hdGVkLWJsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXNpemUsICRjaGVja291dC1zdGVwLXRpdGxlLW1vYmlsZV9fZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJGZvbnQtd2VpZ2h0X19ib2xkKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgLmVzdGltYXRlZC1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX3hzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICYuc2hvd2NhcnQge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJHByaW1hcnlfX2NvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAub3BjLWVzdGltYXRlZC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyX19mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyX19mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LXdlaWdodF9fbGlnaHQgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyX19tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDUwcHggIWRlZmF1bHQ7XG5cbiRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbV9fYmFja2dyb3VuZC1jb2xvciAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWNlbGVzdGUgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2JvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbV9fY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHByaW1hcnlfX2NvbG9yICFkZWZhdWx0O1xuJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtX19tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkaW5kZW50X19zICFkZWZhdWx0O1xuJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtX193aWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxODVweCAhZGVmYXVsdDtcbiRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbV9fYWN0aXZlX19iYWNrZ3JvdW5kLWNvbG9yICAgICAgICAgIDogJGNvbG9yLW9yYW5nZS1yZWQxICFkZWZhdWx0O1xuJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtX19jb21wbGV0ZV9fY29sb3IgICAgICAgICAgICAgICAgICAgOiAkbGlua19fY29sb3IgIWRlZmF1bHQ7XG5cbiRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50X193aWR0aCAgICAgICAgICAgICAgICAgICAgIDogMzhweCAhZGVmYXVsdDtcbiRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50X19oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnRfX3dpZHRoICFkZWZhdWx0O1xuXG4kY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW0tZWxlbWVudC1pbm5lcl9fYmFja2dyb3VuZC1jb2xvciAgICA6ICRwYWdlX19iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtaW5uZXJfX2NvbG9yICAgICAgICAgICAgICAgOiAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2NvbG9yICFkZWZhdWx0O1xuJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtb3V0ZXItcmFkaXVzX193aWR0aCAgICAgICAgOiA2cHggIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW0tZWxlbWVudC1pbm5lcl9fd2lkdGggICAgICAgICAgICAgICA6ICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50X193aWR0aCAtICgkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW0tZWxlbWVudC1vdXRlci1yYWRpdXNfX3dpZHRoICogMikgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW0tZWxlbWVudC1pbm5lcl9faGVpZ2h0ICAgICAgICAgICAgICA6ICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX193aWR0aCAhZGVmYXVsdDtcbiRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX19hY3RpdmVfX2NvbnRlbnQgICAgIDogJGljb24tY2hlY2ttYXJrICFkZWZhdWx0O1xuJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtaW5uZXJfX2FjdGl2ZV9fZm9udC1zaXplICAgOiAxOHB4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtaW5uZXJfX2FjdGl2ZV9fbGluZS1oZWlnaHQgOiAxLjUgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgQ2hlY2tvdXQgUHJvZ3Jlc3MgQmFyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vcGNfX2hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICBAaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIH1cbn1cblxuLm9wY19faGVhZGVyX19pbm5lciB7XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xuXG4gIEBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6ICRsYXlvdXRfX21heC13aWR0aDtcbiAgfVxufVxuXG4ub3BjLXByb2dyZXNzLWJhciB7XG4gICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxpc3Q7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sIDAgMCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyX19tYXJnaW4pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHJlbTsgLy8gQmVjYXVzZSBvZiB0aGUgc2lnbiBpbiBidXR0b24gKG9ubHkgdmlzaWJsZSB3aGVuIHlvdSBhcmVuJ3QgbG9nZ2VkIGluKVxuICAgIGNvdW50ZXItcmVzZXQ6IGk7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuLm9wYy1wcm9ncmVzcy1iYXItaXRlbSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sIDAgMCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX21hcmdpbik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgJjpiZWZvcmUgeyAvLyBIb3Jpem9udGFsIGxpbmVcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2JhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRvcCwgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnRfX3dpZHRoLzIpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXJhZGl1cywgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtX19ib3JkZXItcmFkaXVzIDAgMCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2JvcmRlci1yYWRpdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItcmFkaXVzLCAwICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbV9fYm9yZGVyLXJhZGl1cyAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2JvcmRlci1yYWRpdXMgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgJF9jb2xvciAgICAgICA6ICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbV9fYmFja2dyb3VuZC1jb2xvcixcbiAgICAgICAgICAgICRfZm9udC1mYW1pbHkgOiBmYWxzZSxcbiAgICAgICAgICAgICRfZm9udC1zaXplICAgOiAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyX19mb250LXNpemUsXG4gICAgICAgICAgICAkX2ZvbnQtc3R5bGUgIDogZmFsc2UsXG4gICAgICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJGNoZWNrb3V0LXByb2dyZXNzLWJhcl9fZm9udC13ZWlnaHQsXG4gICAgICAgICAgICAkX2xpbmUtaGVpZ2h0IDogZmFsc2VcbiAgICAgICAgKTtcblxuICAgICAgICAmOmJlZm9yZSwgLy8gSXRlbSBlbGVtZW50XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2JhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50X19oZWlnaHQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tbGVmdCwgLSgkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW0tZWxlbWVudF9fd2lkdGgvMikpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnRfX3dpZHRoKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7IC8vIEl0ZW0gZWxlbWVudCBpbm5lclxuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW0tZWxlbWVudC1pbm5lcl9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGhlaWdodCwgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtaW5uZXJfX2hlaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1sZWZ0LCAtKCRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX193aWR0aC8yKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRvcCwgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtb3V0ZXItcmFkaXVzX193aWR0aCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW0tZWxlbWVudC1pbm5lcl9fd2lkdGgpO1xuICAgICAgICAgICAgY29udGVudDogY291bnRlcihpKTtcbiAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXR5cG9ncmFwaHkoXG4gICAgICAgICAgICAgICAgJF9jb2xvciAgICAgICA6ICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX19jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ZvbnQtZmFtaWx5IDogZmFsc2UsXG4gICAgICAgICAgICAgICAgJF9mb250LXNpemUgICA6ICRjaGVja291dC1wcm9ncmVzcy1iYXJfX2ZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGUgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgJF9mb250LXdlaWdodCA6ICRmb250LXdlaWdodF9fc2VtaWJvbGQsXG4gICAgICAgICAgICAgICAgJF9saW5lLWhlaWdodCA6IDEuNVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuX2FjdGl2ZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtX19hY3RpdmVfX2JhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbWluZztcbiAgICAgICAgfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2NvbG9yKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC8vQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX2FjdGl2ZV9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkY29sb3ItbWluZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29udGVudCwgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtaW5uZXJfX2FjdGl2ZV9fY29udGVudCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LWZhbWlseSwgJGljb25zX19mb250LW5hbWUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGluZS1oZWlnaHQsICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX19hY3RpdmVfX2xpbmUtaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKCRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX19hY3RpdmVfX2ZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLl9jb21wbGV0ZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtX19jb2xvcik7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29udGVudCwgJGNoZWNrb3V0LXByb2dyZXNzLWJhci1pdGVtLWVsZW1lbnQtaW5uZXJfX2FjdGl2ZV9fY29udGVudCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LWZhbWlseSwgJGljb25zX19mb250LW5hbWUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGluZS1oZWlnaHQsICRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX19hY3RpdmVfX2xpbmUtaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKCRjaGVja291dC1wcm9ncmVzcy1iYXItaXRlbS1lbGVtZW50LWlubmVyX19hY3RpdmVfX2ZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcblxuICAgIC5vcGMtcHJvZ3Jlc3MtYmFyLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkY2hlY2tvdXQtcHJvZ3Jlc3MtYmFyLWl0ZW1fX3dpZHRoKTtcbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkgeyBcblxuICAgIC5vcGMtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgIH1cbn1cbiIsIi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRjaGVja291dC1maWVsZC12YWxpZGF0aW9uX19ib3JkZXItY29sb3I6ICRmb3JtLWVsZW1lbnQtdmFsaWRhdGlvbl9fYm9yZGVyLWVycm9yICFkZWZhdWx0O1xuXG4uZmllbGQge1xuICAgIC5jb250cm9sIHtcbiAgICAgICAgJi5fd2l0aC10b29sdGlwIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1maWVsZC10b29sdGlwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jaG9pY2Uge1xuICAgICAgICAuZmllbGQtdG9vbHRpcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGluZGVudF9fcztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC10b29sdGlwLWFjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxpbmUtaGVpZ2h0LCAkY2hlY2tvdXQtdG9vbHRpcC1pY29uX19mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5fZXJyb3Ige1xuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1jb2xvciwgJGNoZWNrb3V0LWZpZWxkLXZhbGlkYXRpb25fX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vcGMtd3JhcHBlciB7XG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgPiAuZmllbGQge1xuICAgICAgICAgICAgPiAubGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX3JlZ3VsYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5maWVsZC5zdHJlZXQge1xuICAgICAgICAgICAgPiAuY29udHJvbCBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLy8gIFRvRG8gVUk6IHJlbW92ZSB3aXRoIGdsb2JhbCBibGFuayB0aGVtZSAuZmllbGQucmVxdWlyZWQgdXBkYXRlXG4gICAgLm9wYy13cmFwcGVyIHtcbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgID4gLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAmLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgICYuX3JlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgID4gbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBWYXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGNoZWNrb3V0LW1vZGFsLXBvcHVwX193aWR0aDogODAwcHggIWRlZmF1bHQ7XG5cbi5jaGVja291dC1pbmRleC1pbmRleCB7XG4gICAgLm1vZGFsLXBvcHVwIHtcbiAgICAgICAgLmZpZWxkLXRvb2x0aXAge1xuICAgICAgICAgICAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1wb3NpdGlvbi10b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXgge1xuICAgICAgICAubW9kYWwtcG9wdXAge1xuICAgICAgICAgICAgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXgtd2lkdGgsICRjaGVja291dC1zaGlwcGluZy1hZGRyZXNzX19tYXgtd2lkdGgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgICAgICAgICAuYWN0aW9uLXNhdmUtYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50X19zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19sKSB7XG4gICAgLmNoZWNrb3V0LWluZGV4LWluZGV4IHtcbiAgICAgICAgLm1vZGFsLXBvcHVwIHtcbiAgICAgICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1sZWZ0LCAtKCRjaGVja291dC1tb2RhbC1wb3B1cF9fd2lkdGgvMikpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRjaGVja291dC1tb2RhbC1wb3B1cF9fd2lkdGgpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRjaGVja291dC10b29sdGlwX19ob3Zlcl9fei1pbmRleCAgICAgICAgICAgICAgIDogJHRvb2x0aXBfX3otaW5kZXggIWRlZmF1bHQ7XG5cbiRjaGVja291dC10b29sdGlwLWljb24tYXJyb3dfX2ZvbnQtc2l6ZSAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRjaGVja291dC10b29sdGlwLWljb24tYXJyb3dfX2xlZnQgICAgICAgICAgICAgIDogLSggJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fcGFkZGluZyArICRjaGVja291dC10b29sdGlwLWljb24tYXJyb3dfX2ZvbnQtc2l6ZSAtICRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRjaGVja291dC10b29sdGlwLWljb25fX2NvbG9yICAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWdyYXktbGlnaHQyICFkZWZhdWx0O1xuJGNoZWNrb3V0LXRvb2x0aXAtaWNvbl9fY29udGVudCAgICAgICAgICAgICAgICAgOiAkaWNvbi1oZWxwICFkZWZhdWx0O1xuJGNoZWNrb3V0LXRvb2x0aXAtaWNvbl9fZm9udC1zaXplICAgICAgICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXRvb2x0aXAtaWNvbl9faG92ZXJfX2NvbG9yICAgICAgICAgICAgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG5cbiRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JhY2tncm91bmQtY29sb3IgICAgIDogJGNvbG9yLWdyYXktbGlnaHQwMSAhZGVmYXVsdDtcbiRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JvcmRlci1jb2xvciAgICAgICAgIDogJGNvbG9yLWdyYXk2MCAhZGVmYXVsdDtcbiRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JvcmRlci13aWR0aCAgICAgICAgIDogMXB4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fZm9udC1zaXplICAgICAgICAgICAgOiAkZm9udC1zaXplX19iYXNlICFkZWZhdWx0O1xuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fcGFkZGluZyAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fd2lkdGggICAgICAgICAgICAgICAgOiAyNzBweCAhZGVmYXVsdDtcbiRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2FjdGl2ZV9fYm9yZGVyLWNvbG9yIDogZGFya2VuKCRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1tb2JpbGUtcG9wdXBfX3dpZHRoICAgOiAyMDBweCAhZGVmYXVsdDtcbiRjaGVja291dC10b29sdGlwLWNvbnRlbnQtbW9iaWxlX19yaWdodCAgICAgICAgIDogLSgkaW5kZW50X19zKSAhZGVmYXVsdDtcbiRjaGVja291dC10b29sdGlwLWNvbnRlbnQtbW9iaWxlX190b3AgICAgICAgICAgIDogMzBweCArICRjaGVja291dC10b29sdGlwLWljb24tYXJyb3dfX2ZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy9cbi8vICBDb21tb25cbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLmZpZWxkLXRvb2x0aXAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1cHg7XG5cbiAgICAmIC5sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDFweDsgXG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICYuX2FjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3Moei1pbmRleCwgJGNoZWNrb3V0LXRvb2x0aXBfX2hvdmVyX196LWluZGV4KTtcblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkY2hlY2tvdXQtdG9vbHRpcC1pY29uX19ob3Zlcl9fY29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICRjaGVja291dC10b29sdGlwLWljb25fX2NvbnRlbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgOiAkY2hlY2tvdXQtdG9vbHRpcC1pY29uX19mb250LXNpemUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgOiB0cnVlLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgIDogJGNoZWNrb3V0LXRvb2x0aXAtaWNvbl9fY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgOiAkY2hlY2tvdXQtdG9vbHRpcC1pY29uX19ob3Zlcl9fY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgOiBmYWxzZVxuICAgICAgICApO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLl9rZXlmb2N1cyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHotaW5kZXgsICRjaGVja291dC10b29sdGlwX19ob3Zlcl9fei1pbmRleCk7XG5cbiAgICAgICAgICAgICAgICArIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRjaGVja291dC10b29sdGlwLWljb25fX2hvdmVyX19jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50X19ib3JkZXItd2lkdGggc29saWQgJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItcmFkaXVzLCAkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50X19ib3JkZXItd2lkdGgpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtc2l6ZSwgJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50X19wYWRkaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJGNoZWNrb3V0LXRvb2x0aXAtY29udGVudF9fd2lkdGgpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBsZWZ0OiAzOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAycHggMnB4IDEwcHggMHB4ICNkZGQ7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWFycm93KFxuICAgICAgICAgICAgICAgICRfcG9zaXRpb24gOiBsZWZ0LFxuICAgICAgICAgICAgICAgICRfc2l6ZSAgICAgOiAkY2hlY2tvdXQtdG9vbHRpcC1pY29uLWFycm93X19mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9jb2xvciAgICA6ICRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JhY2tncm91bmQtY29sb3JcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxlZnQsIC0xN3B4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAxM3B4KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItcmlnaHQtY29sb3IsICRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2FjdGl2ZV9fYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItcmlnaHQtY29sb3IsICRjaGVja291dC10b29sdGlwLWNvbnRlbnRfX2JhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9feHMpIHtcbiAgICAubW9kYWwtcG9wdXAge1xuICAgICAgICAuZmllbGQtdG9vbHRpcCB7XG4gICAgICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkY2hlY2tvdXQtdG9vbHRpcC1jb250ZW50LW1vYmlsZS1wb3B1cF9fd2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuZmllbGQtdG9vbHRpcCB7XG4gICAgICAgIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWNoZWNrb3V0LXRvb2x0aXAtY29udGVudC1wb3NpdGlvbi10b3AtbW9iaWxlO1xuXG4gICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzc19fbWF4LXdpZHRoICAgICAgICAgICA6IDYwMHB4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3NfX21hcmdpbi10b3AgICAgICAgICAgOiAyOHB4ICFkZWZhdWx0O1xuXG4kY2hlY2tvdXQtc2hpcHBpbmctaXRlbS1pY29uX19jb2xvciAgICAgICAgICAgICA6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtLWljb25fX2NvbnRlbnQgICAgICAgICAgIDogJGljb24tY2hlY2ttYXJrICFkZWZhdWx0O1xuXG4kY2hlY2tvdXQtc2hpcHBpbmctaXRlbV9fYm9yZGVyICAgICAgICAgICAgICAgICA6IDJweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtX19saW5lLWhlaWdodCAgICAgICAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtX19tYXJnaW4gICAgICAgICAgICAgICAgIDogMCAwICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtc2hpcHBpbmctaXRlbV9fcGFkZGluZyAgICAgICAgICAgICAgICA6ICRpbmRlbnRfX2Jhc2UgKCRpbmRlbnRfX2wgKyA1cHgpICRpbmRlbnRfX2Jhc2UgJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtX190cmFuc2l0aW9uICAgICAgICAgICAgIDogMC4zcyBib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtc2hpcHBpbmctaXRlbV9fd2lkdGggICAgICAgICAgICAgICAgICA6IDEwMCUgLyAzICFkZWZhdWx0O1xuJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tdGFibGV0X193aWR0aCAgICAgICAgICAgOiAxMDAlIC8gMiAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtLW1vYmlsZV9fd2lkdGggICAgICAgICAgIDogMTAwJSAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvciAgIDogJGNvbG9yLW9yYW5nZS1yZWQxICFkZWZhdWx0O1xuJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0taWNvbl9fYmFja2dyb3VuZC1jb2xvciAgOiAkY2hlY2tvdXQtc2hpcHBpbmctaXRlbV9fYWN0aXZlX19ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjaGVja291dC1zaGlwcGluZy1pdGVtLWljb25fX3NlbGVjdGVkX19oZWlnaHQgIDogMjdweCAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtLWljb25fX3NlbGVjdGVkX193aWR0aCAgIDogMjlweCAhZGVmYXVsdDtcblxuJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tbW9iaWxlX19wYWRkaW5nICAgICAgICAgOiAwIDAgMTVweCAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtLW1vYmlsZV9fbWFyZ2luICAgICAgICAgIDogJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tbW9iaWxlX19wYWRkaW5nICFkZWZhdWx0O1xuJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tbW9iaWxlX19hY3RpdmVfX3BhZGRpbmcgOiAxNXB4ICgkaW5kZW50X19sICsgNXB4KSAxNXB4IDE4cHggIWRlZmF1bHQ7XG5cbiRjaGVja291dC1zaGlwcGluZy1pdGVtLWJlZm9yZV9fYm9yZGVyLWNvbG9yICAgIDogJGNvbG9yLWdyYXk4MCAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1pdGVtLWJlZm9yZV9faGVpZ2h0ICAgICAgICAgIDogY2FsYygxMDAlIC0gMjBweCkgIWRlZmF1bHQ7XG5cbiRjaGVja291dC1zaGlwcGluZy1tZXRob2RfX2JvcmRlciAgICAgICAgICAgICAgIDogJGNoZWNrb3V0LXN0ZXAtdGl0bGVfX2JvcmRlciAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1tZXRob2RfX3BhZGRpbmcgICAgICAgICAgICAgIDogJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcblxuLy9cbi8vICBDb21tb25cbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLm9wYy13cmFwcGVyIHtcblxuICAgIC8vXG4gICAgLy8gIFNoaXBwaW5nIEFkZHJlc3NcbiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAuZm9ybS1sb2dpbixcbiAgICAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzc19fbWFyZ2luLXRvcCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIC5ub3RlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemVfX2Jhc2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fcztcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgfVxuXG4gICAgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtYm94LXNpemluZztcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXIsICRjaGVja291dC1zaGlwcGluZy1pdGVtX19ib3JkZXIpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGxpbmUtaGVpZ2h0LCAkY2hlY2tvdXQtc2hpcHBpbmctaXRlbV9fbGluZS1oZWlnaHQpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW1fX21hcmdpbik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW1fX3BhZGRpbmcpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRyYW5zaXRpb24sICRjaGVja291dC1zaGlwcGluZy1pdGVtX190cmFuc2l0aW9uKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tdGFibGV0X193aWR0aCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplX19iYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICAmLnNlbGVjdGVkLWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItY29sb3IsICRjaGVja291dC1zaGlwcGluZy1pdGVtX19hY3RpdmVfX2JvcmRlci1jb2xvcik7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0taWNvbl9fYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0taWNvbl9fY29sb3IpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29udGVudCwgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0taWNvbl9fY29udGVudCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LWZhbWlseSwgJGljb25zX19mb250LW5hbWUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoaGVpZ2h0LCAkY2hlY2tvdXQtc2hpcHBpbmctaXRlbS1pY29uX19zZWxlY3RlZF9faGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkY2hlY2tvdXQtc2hpcHBpbmctaXRlbS1pY29uX19zZWxlY3RlZF9fd2lkdGgpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtbm8tZGlzcGxheS1zO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZCB7XG4gICAgICAgICYuYWRkcmVzc2VzIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLXNob3ctcG9wdXAge1xuICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19iYXNlO1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJysnO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbmRlbnRfX3hzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAkaW5kZW50X19iYXNlIDAgMDtcbiAgICB9XG5cbiAgICAuZWRpdC1hZGRyZXNzLWxpbmsge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMjZweCA1cHggMCAwO1xuICAgIH1cbn1cblxuLy9cbi8vICBTaGlwcGluZyBNZXRob2RzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jaGVja291dC1zaGlwcGluZy1tZXRob2Qge1xuICAgIC5zdGVwLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubm8tcXVvdGVzLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luOiAkaW5kZW50X19iYXNlIDA7XG4gICAgfVxuXG4gICAgI29uZXBhZ2UtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWFkZGl0aW9uYWwtbG9hZCB7XG4gICAgICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZXRob2RzLXNoaXBwaW5nIHtcbiAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAmLnByaW1hcnkge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1idXR0b24tbDtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRpbmRlbnRfX2Jhc2UgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHtcbiAgICB0aGVhZCB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0Ym9keSB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXRvcCwgJGNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZF9fYm9yZGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1ib3R0b20sICRjaGVja291dC1zaGlwcGluZy1tZXRob2RfX3BhZGRpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLXRvcCwgJGNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZF9fcGFkZGluZyk7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucm93LWVycm9yIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkaW5kZW50X19zO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAub3BjLXdyYXBwZXIge1xuICAgICAgICAuZm9ybS1sb2dpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1ib3R0b20sIDFweCBzb2xpZCAkY2hlY2tvdXQtc2hpcHBpbmctaXRlbS1iZWZvcmVfX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tbW9iaWxlX19wYWRkaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tbW9iaWxlX19wYWRkaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItYm90dG9tLCAxcHggc29saWQgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tYmVmb3JlX19ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRjaGVja291dC1zaGlwcGluZy1pdGVtLW1vYmlsZV9fbWFyZ2luKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tbW9iaWxlX19wYWRkaW5nKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmLnNlbGVjdGVkLWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXNoaXBwaW5nLWl0ZW0tbW9iaWxlX19hY3RpdmVfX3BhZGRpbmcpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblxuICAgICAgICAgICAgICAgIC5lZGl0LWFkZHJlc3MtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocmlnaHQsICRjaGVja291dC1zaGlwcGluZy1pdGVtLWljb25fX3NlbGVjdGVkX193aWR0aCArICRpbmRlbnRfX3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWxvZ2luLFxuICAgICAgICAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJGNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3NfX21hcmdpbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tc2hvdy1wb3B1cCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0LWFkZHJlc3MtbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgICAgICRpY29uLXNldHRpbmdzLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgICA6IDI4cHgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgIDogMjhweCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICA6ICRjb2xvci1ncmF5MTksXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgIDogJGNvbG9yLWdyYXkxOSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgOiAkY29sb3ItZ3JheTE5XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5jaGVja291dC1zaGlwcGluZy1tZXRob2Qge1xuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgID4gLnByaW1hcnkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgJi5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcGMtd3JhcHBlciB7XG4gICAgICAgIC5mb3JtLWxvZ2luLFxuICAgICAgICAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjByZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19sKSB7XG4gICAgLm9wYy13cmFwcGVyIHtcbiAgICAgICAgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkY2hlY2tvdXQtc2hpcHBpbmctaXRlbV9fd2lkdGgpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkY2hlY2tvdXQtc2hpcHBpbmctaXRlbS1iZWZvcmVfX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRjaGVja291dC1zaGlwcGluZy1pdGVtLWJlZm9yZV9faGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zZWxlY3RlZC1pdGVtIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKyAuc2hpcHBpbmctYWRkcmVzcy1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHtcbiAgICAgICAgbWluLXdpZHRoOiA1MDBweDtcbiAgICB9XG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kY2hlY2tvdXQtc2hpcHBpbmctcG9saWN5LWFjdGlvbl9fY29sb3IgICAgICAgICA6ICRsaW5rX19jb2xvciAhZGVmYXVsdDtcbiRjaGVja291dC1zaGlwcGluZy1wb2xpY3ktdG9vbHRpcF9fd2lkdGggICAgICAgIDogNDIwcHggIWRlZmF1bHQ7XG4kY2hlY2tvdXQtc2hpcHBpbmctcG9saWN5LXRvb2x0aXAtbW9iaWxlX193aWR0aCA6IDMwMHB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gIENvbW1vblxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4uY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaGlwcGluZy1wb2xpY3ktYmxvY2sge1xuICAgICYuZmllbGQtdG9vbHRpcCB7XG4gICAgICAgIHRvcDogMTJweDtcblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJGNoZWNrb3V0LXNoaXBwaW5nLXBvbGljeS1hY3Rpb25fX2NvbG9yKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW4tcmVzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtYm94LXNpemluZztcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1jaGVja291dC10b29sdGlwLWNvbnRlbnQtcG9zaXRpb24tdG9wO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJGNoZWNrb3V0LXNoaXBwaW5nLXBvbGljeS10b29sdGlwX193aWR0aCk7XG4gICAgICAgICAgICB0b3A6ICRpbmRlbnRfX2w7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5zaGlwcGluZy1wb2xpY3ktYmxvY2sge1xuICAgICAgICAmLmZpZWxkLXRvb2x0aXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAkY2hlY2tvdXQtc2hpcHBpbmctcG9saWN5LXRvb2x0aXAtbW9iaWxlX193aWR0aCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBWYXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGNoZWNrb3V0LXNpZGViYXJfX21hcmdpbjogJGluZGVudF9fYmFzZSAhZGVmYXVsdDtcbiRjaGVja291dC1zaWRlYmFyX19tYXJnaW5fX3hsOiA0NnB4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LXNpZGViYXJfX2NvbHVtbnM6IDQgIWRlZmF1bHQ7XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAub3BjLXNpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgMCAwICRjaGVja291dC1zaWRlYmFyX19tYXJnaW4pO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gICAgfVxufVxuIiwiLy9cbi8vICBWYXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGNoZWNrb3V0LXNpZGViYXItc2hpcHBpbmctaW5mb3JtYXRpb25fX3BhZGRpbmcgICAgICAgICAgICAgICAgOiAkaW5kZW50X19sICFkZWZhdWx0O1xuJGNoZWNrb3V0LXNpZGViYXItc2hpcHBpbmctaW5mb3JtYXRpb25fX2xpbmUtaGVpZ2h0ICAgICAgICAgICAgOiAkY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzLWRldGFpbHNfX2xpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX2NvbG9yICAgICAgICA6ICRtaW5pY2FydC1pY29ucy1jb2xvciAhZGVmYXVsdDtcbiRjaGVja291dC1zaWRlYmFyLXNoaXBwaW5nLWluZm9ybWF0aW9uLWVkaXQtaWNvbl9fY29udGVudCAgICAgIDogJGljb24tc2V0dGluZ3MgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX2ZvbnQtc2l6ZSAgICA6IDE4cHggIWRlZmF1bHQ7XG4kY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX2xpbmUtaGVpZ2h0ICA6IDE4cHggIWRlZmF1bHQ7XG4kY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX3RvcCAgICAgICAgICA6IDJweCAhZGVmYXVsdDtcbiRjaGVja291dC1zaWRlYmFyLXNoaXBwaW5nLWluZm9ybWF0aW9uLWVkaXQtaWNvbl9faG92ZXJfX2NvbG9yIDogJHByaW1hcnlfX2NvbG9yICFkZWZhdWx0O1xuXG4vL1xuLy8gIFNoaXBwaW5nIEluZm9ybWF0aW9uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vcGMtYmxvY2stc2hpcHBpbmctaW5mb3JtYXRpb24ge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgMCAkY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbl9fcGFkZGluZyk7XG5cbiAgICAuc2hpcHBpbmctaW5mb3JtYXRpb24tdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtY2hlY2tvdXQtdGl0bGU7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWJvdHRvbSwgJGNoZWNrb3V0LXN0ZXAtdGl0bGVfX2JvcmRlcik7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuYWN0aW9uLWVkaXQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFjdGlvbi1idXR0b24tYXMtbGluaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX3RvcCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgICAgICRjaGVja291dC1zaWRlYmFyLXNoaXBwaW5nLWluZm9ybWF0aW9uLWVkaXQtaWNvbl9fY29udGVudCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgOiAkY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX2ZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCAgOiAkY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX2xpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgIDogJGNoZWNrb3V0LXNpZGViYXItc2hpcHBpbmctaW5mb3JtYXRpb24tZWRpdC1pY29uX19jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgOiAkY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX2hvdmVyX19jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgOiAkY2hlY2tvdXQtc2lkZWJhci1zaGlwcGluZy1pbmZvcm1hdGlvbi1lZGl0LWljb25fX2NvbG9yXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hpcHBpbmctaW5mb3JtYXRpb24tY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGluZS1oZWlnaHQsICRjaGVja291dC1zaWRlYmFyLXNoaXBwaW5nLWluZm9ybWF0aW9uX19saW5lLWhlaWdodCk7XG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hpcC10byxcbiAgICAuc2hpcC12aWEge1xuICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19iYXNlO1xuICAgIH1cbn1cbiIsIi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRjaGVja291dC1zdW1tYXJ5X19iYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNoZWNrb3V0LXN1bW1hcnlfX3BhZGRpbmcgICAgICAgICAgOiAyMnB4ICRpbmRlbnRfX2wgIWRlZmF1bHQ7XG5cbiRjaGVja291dC1zdW1tYXJ5LXRpdGxlX19tYXJnaW4gICAgIDogJGluZGVudF9fcyAhZGVmYXVsdDtcbiRjaGVja291dC1zdW1tYXJ5LW1hcmstdmFsdWVfX2NvbG9yIDogJGNvbG9yLWdyYXk2MCAhZGVmYXVsdDtcblxuJGNoZWNrb3V0LXN1bW1hcnktaXRlbXNfX21heC1oZWlnaHQgOiAzNzBweCAhZGVmYXVsdDtcbiRjaGVja291dC1zdW1tYXJ5LWl0ZW1zX19wYWRkaW5nICAgIDogMTVweCAhZGVmYXVsdDtcblxuLy9cbi8vICBPcmRlciBTdW1tYXJ5XG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vcGMtYmxvY2stc3VtbWFyeSB7XG4gICAgQGV4dGVuZCAuYWJzLWFkZC1ib3gtc2l6aW5nO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJGNoZWNrb3V0LXN1bW1hcnlfX2JhY2tncm91bmQtY29sb3IpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXN1bW1hcnlfX3BhZGRpbmcpO1xuICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG5cbiAgICA+IC50aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1jaGVja291dC10aXRsZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gIFRvdGFscyB0YWJsZVxuICAgIC50YWJsZS10b3RhbHMge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtc2lkZWJhci10b3RhbHM7XG4gICAgICAgIHRyLnNoaXBwaW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFyayB7XG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkY2hlY2tvdXQtc3VtbWFyeS1tYXJrLXZhbHVlX19jb2xvcik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ncmFuZC5pbmNsIHtcbiAgICAgICAgJiArIC5ncmFuZC5leGNsIHtcbiAgICAgICAgICAgIC5tYXJrLFxuICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE0KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX3JlZ3VsYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vdC1jYWxjdWxhdGVkIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gIEl0ZW1zIGxpc3RcbiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvLyAgQmxvY2sgdGl0bGVcbiAgICAuaXRlbXMtaW4tY2FydCB7XG4gICAgICAgID4gLnRpdGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGhfX2Jhc2Ugc29saWQgJGJvcmRlci1jb2xvcl9fYmFzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGluZGVudF9fcyAkaW5kZW50X194bCAkaW5kZW50X19zIDApO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAkaWNvbi1kb3duLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICAgIDogMTZweCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCA6IDE0cHgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LW1hcmdpbiAgICAgIDogM3B4IDAgMCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICA6IGFmdGVyLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWRpc3BsYXkgICAgIDogYmxvY2tcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAkaW5kZW50X19zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTgpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2xpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgID4gLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250LXN5bWJvbChcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgOiAkaWNvbi11cCxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtcG9zaXRpb24gOiBhZnRlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAgQ2FydCBpdGVtc1xuICAgIC5taW5pY2FydC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sIDAgLSgkY2hlY2tvdXQtc3VtbWFyeS1pdGVtc19fcGFkZGluZykgMCAwKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXgtaGVpZ2h0LCAkY2hlY2tvdXQtc3VtbWFyeS1pdGVtc19fbWF4LWhlaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXN1bW1hcnktaXRlbXNfX3BhZGRpbmcgMCAwIDApO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLmNvbHVtbi5tYWluICYge1xuICAgICAgICAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICAucHJvZHVjdC1pdGVtLWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9fcztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaXRlbS1uYW1lLWJsb2NrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50X194cztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VidG90YWwge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICYgKyAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGhfX2Jhc2Ugc29saWQgJGJvcmRlci1jb2xvcl9fYmFzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHggMCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5vcGMtYmxvY2stc3VtbWFyeSB7XG4gICAgICAgcGFkZGluZy10b3A6IDU1cHg7XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLm9wYy1zdW1tYXJ5LXdyYXBwZXIge1xuICAgICAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kYmxvY2stYXV0aF9fZHJvcGRvd25fX3BhZGRpbmcgICAgICAgICAgOiAkaW5kZW50X19tICFkZWZhdWx0O1xuJGJsb2NrLWF1dGhfX2Ryb3Bkb3duX19iYWNrZ3JvdW5kLWNvbG9yIDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGJsb2NrLWF1dGhfX29yLWxhYmVsX19zaXplICAgICAgICAgICAgIDogMzZweCAhZGVmYXVsdDtcbiRibG9jay1hdXRoX193aWR0aCAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2stYXV0aF9fYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQzICFkZWZhdWx0O1xuXG4uYXV0aGVudGljYXRpb24tZHJvcGRvd24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6ICRibG9jay1hdXRoX19kcm9wZG93bl9fcGFkZGluZztcbiAgICB9XG59XG4uYXV0aGVudGljYXRpb24td3JhcHBlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IC0xLjUgKiAkaW5kZW50X194bDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAuX2hhcy1hdXRoLXNob3duICYge1xuICAgICAgICB6LWluZGV4OiAkbW9kYWxfX3otaW5kZXg7XG4gICAgfVxufVxuXG4uYWN0aW9uLWF1dGgtdG9nZ2xlIHtcbiAgICBAZXh0ZW5kIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rO1xufVxuXG4uYmxvY2stYXV0aGVudGljYXRpb24ge1xuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoJGgzX19mb250LXNpemUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19tO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19saWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZCB7XG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19yZWd1bGFyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3hzO1xuXG4gICAgICAgID4gLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGluZGVudF9fbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLmFjdGlvbi1yZWdpc3RlcixcbiAgICAuYWN0aW9uLmFjdGlvbi1sb2dpbiB7XG4gICAgICAgIEBleHRlbmQgLmFicy1idXR0b24tbDtcbiAgICB9XG5cbiAgICAuYmxvY2tbY2xhc3NdIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnRfX3M7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgLmNvbnRyb2wsXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5ibG9jayB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQ1O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9feGw7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGluZGVudF9feGw7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRibG9jay1hdXRoX19vci1sYWJlbF9fc2l6ZSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsaW5lLWhlaWdodCwgJGJsb2NrLWF1dGhfX29yLWxhYmVsX19zaXplIC0gMnB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgLSgkYmxvY2stYXV0aF9fb3ItbGFiZWxfX3NpemUvMiArIDFweCkgMCAwIC0oJGJsb2NrLWF1dGhfX29yLWxhYmVsX19zaXplIC8gMikpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWluLXdpZHRoLCAkYmxvY2stYXV0aF9fb3ItbGFiZWxfX3NpemUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0NTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuMnJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmF1dGhlbnRpY2F0aW9uLWRyb3Bkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLWNvbG9yLCAkYmxvY2stYXV0aF9fZHJvcGRvd25fX2JhY2tncm91bmQtY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJGJsb2NrLWF1dGhfX2JvcmRlcik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDApO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgMC4xcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4xcztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLl9zaG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3Moei1pbmRleCwgJGRyb3Bkb3duLWxpc3RfX3otaW5kZXgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgMC4xcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHM7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY29sdW1uLXdpZHRoKCRjaGVja291dC1zaWRlYmFyX19jb2x1bW5zKTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmJsb2NrLWF1dGhlbnRpY2F0aW9uIHtcbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoJGgyX19mb250LXNpemUpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX207XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgID4gLnByaW1hcnkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiB7XG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJHNjcmVlbl9fbTtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stYXV0aGVudGljYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZGlzcGxheShmbGV4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQ1O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrW2NsYXNzXSxcbiAgICAgICAgLmZvcm0tbG9naW4sXG4gICAgICAgIC5maWVsZHNldCxcbiAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZGlzcGxheShmbGV4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LWZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItdmVuZG9yLXByZWZpeC1mbGV4LWdyb3coMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2tbY2xhc3NdIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3MgJGluZGVudF9fbCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAmICsgLmJsb2NrIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0NTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaW5kZW50X19zIDAgMCAkaW5kZW50X194bDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIEdyaWQgbWl4aW5zXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vICBZb3Ugc2hvdWxkbid0IG5lZWQgdG8gdG91Y2ggdGhpcyEgSW50ZXJuYWwgdXNlIG9ubHkuXG4kY29sdW1uLXdpZHRoICA6IDEgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1ucyA6IDEgIWRlZmF1bHQ7XG4kZ3V0dGVyLXdpZHRoICA6IDEgIWRlZmF1bHQ7XG4kZ3JpZC13aWR0aCAgICA6ICgkY29sdW1uLXdpZHRoICogJHRvdGFsLWNvbHVtbnMpICsgKCRndXR0ZXItd2lkdGggKiAoJHRvdGFsLWNvbHVtbnMgLSAxKSkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBsaWItY29sdW1uLXdyYXBwZXIoKSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiBsaWItaW5saW5lLWNvbHVtbi13cmFwcGVyKCkge1xuICAgIEBpZiAkdXNpbmctaWVjbGFzc2VzICE9IHRydWUge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMzFlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd29yZC1zcGFjaW5nOiAtMC40M2VtO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi1pbmxpbmUtY29sdW1uLXdyYXBwZXIoKSB7XG4gICAgQGlmICR1c2luZy1pZWNsYXNzZXMge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMzFlbTtcbiAgICAgICAgd29yZC1zcGFjaW5nOiAtMC40M2VtO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi1jb2x1bW4oKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgQGluY2x1ZGUgbGliLWNvbHVtbi1ndXR0ZXIoKTtcbn1cblxuQG1peGluIGxpYi1jb2x1bW4oJHNwYW4pIHtcbiAgICBAaWYgJHNwYW4gPT0gZmFsc2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItY29sdW1uKFxuICAgICRzcGFuLFxuICAgICR0b3RhbC1jb2x1bW5zIDogJHRvdGFsLWNvbHVtbnMsXG4gICAgJGVuZC1jb2x1bW4gICAgOiBmYWxzZVxuKSB7XG4gICAgQGlmIGlzbnVtYmVyKCRzcGFuKSB7XG4gICAgICAgIEBpZiBpc251bWJlcigkdG90YWwtY29sdW1ucykge1xuICAgICAgICAgICAgQGlmIGlzbnVtYmVyKCRlbmQtY29sdW1uKSB7XG4gICAgICAgICAgICAgICAgJHNob3dndXR0ZXI6IGZhbHNlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jb2x1bW4oJHNob3dndXR0ZXIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1zcGFuKCRzcGFuLCAkdG90YWwtY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWVuZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkc2hvd2d1dHRlcjogZmFsc2U7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNvbHVtbigkc2hvd2d1dHRlcik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLXNwYW4oJHNwYW4sICR0b3RhbC1jb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJGVuZC1jb2x1bW4ge1xuICAgICAgICAgICAgJHNob3dndXR0ZXI6IGZhbHNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNvbHVtbigkc2hvd2d1dHRlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItc3Bhbigkc3Bhbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZW5kLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICAgIEBpZiBpc251bWJlcigkZW5kLWNvbHVtbikgIT0gdHJ1ZSB7XG4gICAgICAgICAgICAkc2hvd2d1dHRlcjogZmFsc2U7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY29sdW1uKCRzaG93Z3V0dGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1zcGFuKCRzcGFuKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4gbGliLWlubGluZS1jb2x1bW4oKSB7XG4gICAgQGluY2x1ZGUgbGliLWNvbHVtbi1ndXR0ZXIoKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xufVxuXG5AbWl4aW4gbGliLWlubGluZS1jb2x1bW4oXG4gICAgJHNwYW4sXG4gICAgJHRvdGFsLWNvbHVtbnMgOiAkdG90YWwtY29sdW1ucyxcbiAgICAkZW5kLWNvbHVtbiAgICA6IGZhbHNlXG4pIHtcbiAgICBAaWYgJHNwYW4gPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgIH1cblxuICAgIEBpZiBpc251bWJlcigkc3Bhbikge1xuICAgICAgICBAaWYgaXNudW1iZXIoJHRvdGFsLWNvbHVtbnMpIHtcbiAgICAgICAgICAgICRzaG93Z3V0dGVyOiBmYWxzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pbmxpbmUtY29sdW1uKCRzaG93Z3V0dGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1zcGFuKFxuICAgICAgICAgICAgICAgICRzcGFuLFxuICAgICAgICAgICAgICAgICR0b3RhbC1jb2x1bW5zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkZW5kLWNvbHVtbiA9PSB0cnVlIHtcbiAgICAgICAgICAgICRzaG93Z3V0dGVyOiBmYWxzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pbmxpbmUtY29sdW1uKCRzaG93Z3V0dGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1zcGFuKFxuICAgICAgICAgICAgICAgICRzcGFuLFxuICAgICAgICAgICAgICAgICR0b3RhbC1jb2x1bW5zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWlubGluZS1lbmQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgaXNudW1iZXIoJGVuZC1jb2x1bW4pID09IGZhbHNlIHtcbiAgICAgICAgJHNob3dndXR0ZXI6IGZhbHNlO1xuICAgICAgICBAaW5jbHVkZSBsaWItaW5saW5lLWNvbHVtbigkc2hvd2d1dHRlcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1zcGFuKCRzcGFuKTtcbiAgICB9XG5cbiAgICBAaWYgJGVuZC1jb2x1bW4gPT0gdHJ1ZSB7XG4gICAgICAgICRzaG93Z3V0dGVyOiBmYWxzZTtcblxuICAgICAgICBAaW5jbHVkZSBsaWItaW5saW5lLWNvbHVtbigkc2hvd2d1dHRlcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1zcGFuKCRzcGFuKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWlubGluZS1lbmQtY29sdW1uKCk7XG4gICAgfVxufVxuXG5AbWl4aW4gbGliLWVuZC1jb2x1bW4oKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuQG1peGluIGxpYi1pbmxpbmUtZW5kLWNvbHVtbigpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbkBtaXhpbiBsaWItc3Bhbigkc3Bhbikge1xuICAgIEBpbmNsdWRlIGxpYi1jb2x1bW4td2lkdGgoXG4gICAgICAgICRzcGFuLFxuICAgICAgICAkdG90YWwtY29sdW1uc1xuICAgICk7XG59XG5cbkBtaXhpbiBsaWItc3BhbihcbiAgICAkc3BhbixcbiAgICAkdG90YWwtY29sdW1uc1xuKSB7XG4gICAgQGlmIGlzbnVtYmVyKCR0b3RhbC1jb2x1bW5zKSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jb2x1bW4td2lkdGgoXG4gICAgICAgICAgICAkc3BhbixcbiAgICAgICAgICAgICR0b3RhbC1jb2x1bW5zXG4gICAgICAgICk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jb2x1bW4tZ3V0dGVyKCR0b3RhbC1jb2x1bW5zKTtcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItcHJlLXBhZChcbiAgICAkc3BhbixcbiAgICAkdG90YWwtY29sdW1uczogJHRvdGFsLWNvbHVtbnNcbikge1xuICAgICRjYWxjLWNvbHVtbi13aWR0aDogMTAwJSAqICgoKCgkZ3V0dGVyLXdpZHRoICsgJGNvbHVtbi13aWR0aCkgKiAkc3BhbikpIC8gJGdyaWQtd2lkdGgpO1xuXG4gICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLWxlZnQsICRjYWxjLWNvbHVtbi13aWR0aCk7XG59XG5cbkBtaXhpbiBsaWItcG9zdC1wYWQoXG4gICAgJHNwYW4sXG4gICAgJHRvdGFsLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zXG4pIHtcbiAgICAkY2FsYy1jb2x1bW4td2lkdGg6IDEwMCUgKiAoKCgoJGd1dHRlci13aWR0aCskY29sdW1uLXdpZHRoKSAqICRzcGFuKSkgLyAkZ3JpZC13aWR0aCk7XG5cbiAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctcmlnaHQsICRjYWxjLWNvbHVtbi13aWR0aCk7XG59XG5cbkBtaXhpbiBsaWItcHJlLXB1c2goXG4gICAgJHNwYW4sXG4gICAgJHRvdGFsLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zXG4pIHtcbiAgICAkY2FsYy1jb2x1bW4td2lkdGg6IDEwMCUgKiAoKCgoJGd1dHRlci13aWR0aCskY29sdW1uLXdpZHRoKSAqICRzcGFuKSkgLyAkZ3JpZC13aWR0aCk7XG5cbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1sZWZ0LCAkY2FsYy1jb2x1bW4td2lkdGgpO1xufVxuXG5AbWl4aW4gbGliLXBvc3QtcHVzaChcbiAgICAkc3BhbixcbiAgICAkdG90YWwtY29sdW1uczogJHRvdGFsLWNvbHVtbnNcbikge1xuICAgICRjYWxjLWNvbHVtbi13aWR0aDogMTAwJSAqICgoKCgkZ3V0dGVyLXdpZHRoKyRjb2x1bW4td2lkdGgpICogJHNwYW4pKyRndXR0ZXItd2lkdGgpIC8gJGdyaWQtd2lkdGgpO1xuXG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tcmlnaHQsICRjYWxjLWNvbHVtbi13aWR0aCk7XG59XG5cbkBtaXhpbiBsaWItcG9zdC1wdXNoLWVuZChcbiAgICAkc3BhbixcbiAgICAkdG90YWwtY29sdW1uczogJHRvdGFsLWNvbHVtbnNcbikge1xuICAgICRjYWxjLWNvbHVtbi13aWR0aDogMTAwJSAqICgoKCgkZ3V0dGVyLXdpZHRoKyRjb2x1bW4td2lkdGgpICogJHNwYW4pKSAvICRncmlkLXdpZHRoKTtcblxuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXJpZ2h0LCAkY2FsYy1jb2x1bW4td2lkdGgpO1xufVxuXG5AbWl4aW4gbGliLWNvbHVtbi13aWR0aChcbiAgICAkc3BhbixcbiAgICAkdG90YWwtY29sdW1uczogJHRvdGFsLWNvbHVtbnNcbikge1xuICAgICRjYWxjLWNvbHVtbi13aWR0aDogMTAwJSAqICgoKCgkZ3V0dGVyLXdpZHRoKyRjb2x1bW4td2lkdGgpICogJHNwYW4pLSRndXR0ZXItd2lkdGgpIC8gJGdyaWQtd2lkdGgpO1xuXG4gICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJGNhbGMtY29sdW1uLXdpZHRoKTtcbn1cblxuQG1peGluIGxpYi1jb2x1bW4tZ3V0dGVyKFxuICAgICR0b3RhbC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyxcbiAgICAkZW5kLWNvbHVtbjogZmFsc2Vcbikge1xuICAgIEBpZiAkZW5kLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAkY2FsYy1ndXR0ZXItd2lkdGg6IDEwMCUgKiAoJGd1dHRlci13aWR0aCAvICRncmlkLXdpZHRoKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tcmlnaHQsICRjYWxjLWd1dHRlci13aWR0aCk7XG4gICAgfVxufVxuIiwiLy9cbi8vICBSZXNwb25zaXZlIHZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kdXNlLWZsZXggICAgOiB0cnVlICFkZWZhdWx0OyAvLyBVc2UgZmxleGJveCBbdHJ1ZXxmYWxzZV1cbiRyZXNwb25zaXZlICA6IHRydWUgIWRlZmF1bHQ7IC8vIFRoZW1lIGlzIHJlc3BvbnNpdmUgW3RydWV8ZmFsc2VdXG5cbiRzY3JlZW5fX3h4cyA6IDMyMHB4ICFkZWZhdWx0O1xuJHNjcmVlbl9feHMgIDogNDgwcHggIWRlZmF1bHQ7XG4kc2NyZWVuX19zICAgOiA2NDBweCAhZGVmYXVsdDtcbiRzY3JlZW5fX20gICA6IDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbl9fbCAgIDogMTAyNHB4ICFkZWZhdWx0O1xuJHNjcmVlbl9feGwgIDogMTQ0MHB4ICFkZWZhdWx0O1xuXG4kc2NyZWVuX19tYXggOiAxMzM1cHg7XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kY2hlY2tvdXQtcGF5bWVudC1tZXRob2QtdGl0bGVfX2JvcmRlciAgICAgICAgIDogJGNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZF9fYm9yZGVyICFkZWZhdWx0O1xuJGNoZWNrb3V0LXBheW1lbnQtbWV0aG9kLXRpdGxlX19wYWRkaW5nICAgICAgICA6ICRjaGVja291dC1zaGlwcGluZy1tZXRob2RfX3BhZGRpbmcgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcGF5bWVudC1tZXRob2QtdGl0bGUtbW9iaWxlX19wYWRkaW5nIDogMTVweCAhZGVmYXVsdDtcblxuJGNoZWNrb3V0LXBheW1lbnQtbWV0aG9kLWNvbnRlbnRfX3BhZGRpbmdfX3hsICA6IDIycHggIWRlZmF1bHQ7XG5cbiRjaGVja291dC1iaWxsaW5nLWFkZHJlc3MtZGV0YWlsc19fbGluZS1oZWlnaHQgOiAyN3B4ICFkZWZhdWx0O1xuJGNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcy1kZXRhaWxzX19wYWRkaW5nICAgICA6IDAgMCAwIDIzcHggIWRlZmF1bHQ7XG4kY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzLWZvcm1fX21heC13aWR0aCAgICAgIDogJGNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3NfX21heC13aWR0aCAhZGVmYXVsdDtcblxuLy9cbi8vICBDb21tb25cbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIHtcbiAgICAuc3RlcC10aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAucGF5bWVudC1tZXRob2QtdGl0bGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLl9hY3RpdmUge1xuICAgICAgICAgICAgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5wYXltZW50LW1ldGhvZCB7XG4gICAgICAgICAgICAucGF5bWVudC1tZXRob2QtdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXRvcCwgJGNoZWNrb3V0LXBheW1lbnQtbWV0aG9kLXRpdGxlX19ib3JkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQge1xuICAgICAgICA+IC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgPiAucHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICYucHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYnV0dG9uLWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGF5bWVudC1tZXRob2QtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRjaGVja291dC1wYXltZW50LW1ldGhvZC10aXRsZV9fcGFkZGluZyAwKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC5wYXltZW50LWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X194cztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWhlbHAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbmRlbnRfX3hzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsIDAgMCAkaW5kZW50X19iYXNlICRjaGVja291dC1wYXltZW50LW1ldGhvZC1jb250ZW50X19wYWRkaW5nX194bCk7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGF5bWVudC1ncm91cCB7XG4gICAgICAgICYgKyAucGF5bWVudC1ncm91cCB7XG4gICAgICAgICAgICAuc3RlcC10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaW5kZW50X19iYXNlIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC1zZWxlY3QtYmlsbGluZyxcbiAgICAuYmlsbGluZy1hZGRyZXNzLWZvcm0ge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1heC13aWR0aCwgJGNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcy1mb3JtX19tYXgtd2lkdGgpO1xuICAgIH1cblxuICAgIC5iaWxsaW5nLWFkZHJlc3Mtc2FtZS1hcy1zaGlwcGluZy1ibG9jayB7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgLmFjdGlvbi11cGRhdGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tY2FuY2VsIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hY3Rpb24tYnV0dG9uLWFzLWxpbms7XG4gICAgICAgIH1cblxuICAgICAgICAuYmlsbGluZy1hZGRyZXNzLWRldGFpbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsaW5lLWhlaWdodCwgJGNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcy1kZXRhaWxzX19saW5lLWhlaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRjaGVja291dC1iaWxsaW5nLWFkZHJlc3MtZGV0YWlsc19fcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGF5bWVudC1tZXRob2Qtbm90ZSB7XG4gICAgICAgICYgKyAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtc2VsZWN0LWJpbGxpbmcge1xuICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kLWlmcmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubm8tcGF5bWVudHMtYmxvY2sge1xuICAgICAgICBtYXJnaW46ICRpbmRlbnRfX2Jhc2UgMDtcbiAgICB9XG5cbiAgICAucGF5bWVudHMge1xuICAgICAgICAubGVnZW5kIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgY2hlY2tib3ggcGFkZGluZyB0byBhbGlnbiB3aXRoIGJpbGxpbmcgZmllbGRzXG4gICAgLmZpZWxkLmNob2ljZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgJiArIC5sYWJlbCxcbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6ICRjaGVja291dC1iaWxsaW5nLWFkZHJlc3MtZGV0YWlsc19fcGFkZGluZztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5jaGVja291dC1wYXltZW50LW1ldGhvZCB7XG4gICAgICAgIC5wYXltZW50LW1ldGhvZHMge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgMCAtKCRjaGVja291dC1wYXltZW50LW1ldGhvZC10aXRsZS1tb2JpbGVfX3BhZGRpbmcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXltZW50LW1ldGhvZC10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRjaGVja291dC1wYXltZW50LW1ldGhvZC10aXRsZS1tb2JpbGVfX3BhZGRpbmcpXG4gICAgICAgIH1cblxuICAgICAgICAucGF5bWVudC1tZXRob2QtY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsIDAgJGNoZWNrb3V0LXBheW1lbnQtbWV0aG9kLXRpdGxlLW1vYmlsZV9fcGFkZGluZyAkaW5kZW50X19iYXNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja291dC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICAgICAgLmFjdGlvbi1jYW5jZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2Qge1xuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAgICAgICAgICAgICBidXR0b24uYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBidXR0b24uYWN0aW9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgID4gLmZpZWxkLXNlbGVjdC1iaWxsaW5nIHtcbiAgICAgICAgICAgICAgICA+IC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXltZW50LW1ldGhvZC1jb250ZW50IHtcbiAgICAgICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgPiAuZmllbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19iYXNlO1xuXG4gICAgICAgICAgICAgICAgICAgICYudHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1LjglO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLm5vLWRldGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIHtcbiAgICAgICAgLmFjdGlvbi11cGRhdGUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAuYWN0aW9uLWNhbmNlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cHggJGluZGVudF9fYmFzZSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBZGp1c3RtZW50IGZvciBzcGxpdCBjdXN0b20gY2hlY2tib3ggKyBsYWJlbCBkdXJpbmcgYmlsbGluZyA+IGFkZCBuZXcgYWRkcmVzcyAqL1xuICAgIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtpZCo9XCJzYXZlLWluLWFkZHJlc3MtYm9va1wiXSB7XG4gICAgICAmICsgLmxhYmVsLFxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbGVmdDogMjYlO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMzIlIC0gMi44cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRjaGVja291dC1wYXltZW50LW9wdGlvbi10aXRsZV9fYm9yZGVyICAgICAgICAgICAgOiAkY2hlY2tvdXQtcGF5bWVudC1tZXRob2QtdGl0bGVfX2JvcmRlciAhZGVmYXVsdDtcbiRjaGVja291dC1wYXltZW50LW9wdGlvbi10aXRsZV9fY29sb3IgICAgICAgICAgICAgOiAkY29sb3ItYmx1ZS1ibGFjayAhZGVmYXVsdDtcbiRjaGVja291dC1wYXltZW50LW9wdGlvbi10aXRsZV9fcGFkZGluZyAgICAgICAgICAgOiAkY2hlY2tvdXQtcGF5bWVudC1tZXRob2QtdGl0bGVfX3BhZGRpbmcgIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGUtbW9iaWxlX19wYWRkaW5nICAgIDogJGNoZWNrb3V0LXBheW1lbnQtbWV0aG9kLXRpdGxlLW1vYmlsZV9fcGFkZGluZyAhZGVmYXVsdDtcblxuJGNoZWNrb3V0LXBheW1lbnQtb3B0aW9uLXRpdGxlLWljb25fX2ZvbnQtc2l6ZSAgICA6IDE2cHggIWRlZmF1bHQ7XG4kY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGUtaWNvbl9fbGluZS1oZWlnaHQgIDogMTZweCAhZGVmYXVsdDtcbiRjaGVja291dC1wYXltZW50LW9wdGlvbi10aXRsZS1pY29uX19tYXJnaW4gICAgICAgOiAwICFkZWZhdWx0O1xuJGNoZWNrb3V0LXBheW1lbnQtb3B0aW9uLXRpdGxlLWljb25fX2NvbG9yICAgICAgICA6ICRtaW5pY2FydC1pY29ucy1jb2xvciAhZGVmYXVsdDtcbiRjaGVja291dC1wYXltZW50LW9wdGlvbi10aXRsZS1pY29uX19ob3Zlcl9fY29sb3IgOiAkcHJpbWFyeV9fY29sb3IgIWRlZmF1bHQ7XG5cbiRjaGVja291dC1wYXltZW50LW9wdGlvbi1jb250ZW50X19wYWRkaW5nX194bCAgICAgOiAkY2hlY2tvdXQtcGF5bWVudC1tZXRob2QtY29udGVudF9fcGFkZGluZ19feGwgIWRlZmF1bHQ7XG5cbi5jaGVja291dC1wYXltZW50LW1ldGhvZCB7XG4gICAgLnBheW1lbnQtb3B0aW9uIHtcbiAgICAgICAgJi5fYWN0aXZlIHtcbiAgICAgICAgICAgIC5wYXltZW50LW9wdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgLmFjdGlvbi10b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXVwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5fY29sbGFwc2libGUge1xuICAgICAgICAgICAgLnBheW1lbnQtb3B0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXltZW50LW9wdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtb3B0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItdG9wLCAkY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGVfX2JvcmRlcik7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXBheW1lbnQtb3B0aW9uLXRpdGxlX19wYWRkaW5nIDAgMCAwKTtcblxuICAgICAgICAuYWN0aW9uLXRvZ2dsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGVfX2NvbG9yKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAgICAgJGljb24tZG93bixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICAgOiAkY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGUtaWNvbl9fZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICA6ICRjaGVja291dC1wYXltZW50LW9wdGlvbi10aXRsZS1pY29uX19saW5lLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgOiAkY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGUtaWNvbl9fY29sb3IsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgIDogJGNoZWNrb3V0LXBheW1lbnQtb3B0aW9uLXRpdGxlLWljb25fX2hvdmVyX19jb2xvcixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1hY3RpdmUgOiAkY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGUtaWNvbl9fY29sb3IsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbWFyZ2luICAgICAgIDogJGNoZWNrb3V0LXBheW1lbnQtb3B0aW9uLXRpdGxlLWljb25fX21hcmdpbixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICAgOiBhZnRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgJjpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXltZW50LW9wdGlvbi1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAwIDAgJGluZGVudF9fYmFzZSAwKTtcblxuICAgICAgICAubWVzc2FnZXMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWRpc2NvdW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWNhbmNlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1yZWQsIDAuNyk7IFxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1yZWQsIDAuOCk7XG4gICAgICAgICAgICB9ICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtb3B0aW9uLWlubmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9fYmFzZTtcbiAgICB9XG5cbiAgICAuY3JlZGl0LWNhcmQtdHlwZXMge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgJGluZGVudF9feHMgMCAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgICAgJi5fYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5faW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgLy8gRm9yIFdlYmtpdCBicm93c2Vyc1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTsgLy8gRmFkZSB0byBjb2xvciBmb3IgQ2hyb21lIGFuZCBTYWZhcmlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jY2FyZCB7XG4gICAgICAgIC5sZWdlbmQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHMge1xuICAgICAgICAgICAgPiAueWVhciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50X194cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbGVjdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50X194cztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50X194cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb250aCB7XG4gICAgICAgICAgICAuc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAueWVhciB7XG4gICAgICAgICAgICAuc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLmZpZWxkLmN2diB7XG4gICAgICAgICAgICA+IC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50X19iYXNlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmN2diB7XG4gICAgICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpZWxkc2V0IHtcbiAgICAgICAgICAgID4gLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAuZmllbGRzLmdyb3VwLmdyb3VwLTIge1xuICAgICAgICAgICAgICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgLnBheW1lbnQtb3B0aW9uIHtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAwIC0oJGNoZWNrb3V0LXBheW1lbnQtb3B0aW9uLXRpdGxlLW1vYmlsZV9fcGFkZGluZykpO1xuXG4gICAgICAgICAgICAucGF5bWVudC1vcHRpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGNoZWNrb3V0LXBheW1lbnQtb3B0aW9uLXRpdGxlLW1vYmlsZV9fcGFkZGluZylcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBheW1lbnQtb3B0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgMCAkY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tdGl0bGUtbW9iaWxlX19wYWRkaW5nICRpbmRlbnRfX2Jhc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgLnBheW1lbnQtb3B0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZy1sZWZ0LCAkY2hlY2tvdXQtcGF5bWVudC1vcHRpb24tY29udGVudF9fcGFkZGluZ19feGwpO1xuICAgICAgICB9XG4gICAgICAgIC5wYXltZW50LW9wdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIC5wYXltZW50LW9wdGlvbi1pbm5lciB7XG4gICAgICAgICAgICAgICAgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNoZWNrb3V0LWFncmVlbWVudHMtYmxvY2sge1xuICAgIC5jaGVja291dC1hZ3JlZW1lbnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWFncmVlbWVudHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xuICAgIH1cblxuICAgIC5hY3Rpb24tc2hvdyB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hY3Rpb24tYnV0dG9uLWFzLWxpbms7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIH1cbn1cblxuLy8gIENoZWNrb3V0IEFncmVlbWVudHMgaW4gcG9wdXBcbi5jaGVja291dC1hZ3JlZW1lbnRzLWl0ZW1zIHtcbiAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGlzdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGluZGVudF9fbDtcblxuICAgIC5jaGVja291dC1hZ3JlZW1lbnRzLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xuICAgIH1cblxuICAgIC5jaGVja291dC1hZ3JlZW1lbnRzLWl0ZW0tdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtY2hlY2tvdXQtdGl0bGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vLyAgQ2hlY2tvdXQgQWdyZWVtZW50c1xuLmNoZWNrb3V0LWFncmVlbWVudC1pdGVtLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuIiwiLy9cbi8vICBWYXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGFjY291bnQtbmF2LWJhY2tncm91bmQgICAgICAgICAgICAgIDogJHNpZGViYXJfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3VudC1uYXYtY29sb3IgICAgICAgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuJGFjY291bnQtbmF2LWN1cnJlbnQtYm9yZGVyICAgICAgICAgIDogM3B4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGFjY291bnQtbmF2LWN1cnJlbnQtYm9yZGVyLWNvbG9yICAgIDogJGNvbG9yLW9yYW5nZS1yZWQxICFkZWZhdWx0O1xuJGFjY291bnQtbmF2LWN1cnJlbnQtY29sb3IgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kYWNjb3VudC1uYXYtY3VycmVudC1mb250LXdlaWdodCAgICAgOiAkZm9udC13ZWlnaHRfX3NlbWlib2xkICFkZWZhdWx0O1xuXG4kYWNjb3VudC1uYXYtZGVsaW1pdGVyX19ib3JkZXItY29sb3IgOiAkY29sb3ItZ3JheTgyICFkZWZhdWx0O1xuXG4kYWNjb3VudC1uYXYtaXRlbS1ob3ZlciAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheTkxICFkZWZhdWx0O1xuXG4kX3Bhc3N3b3JkLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheS1saWdodDAxICFkZWZhdWx0O1xuJF9wYXNzd29yZC13ZWFrICAgICAgICAgICAgICAgICAgICAgIDogI2ZmYWZhZSAhZGVmYXVsdDtcbiRfcGFzc3dvcmQtbWVkaXVtICAgICAgICAgICAgICAgICAgICA6ICNmZmQ2YjMgIWRlZmF1bHQ7XG4kX3Bhc3N3b3JkLXN0cm9uZyAgICAgICAgICAgICAgICAgICAgOiAjYzVlZWFjICFkZWZhdWx0O1xuJF9wYXNzd29yZC12ZXJ5LXN0cm9uZyAgICAgICAgICAgICAgIDogIzgxYjU2MiAhZGVmYXVsdDtcblxuLmxvZ2luLWNvbnRhaW5lciB7XG4gICAgLmJsb2NrIHtcbiAgICAgICAgJi1uZXctY3VzdG9tZXIge1xuICAgICAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtbG9naW4tYmxvY2stdGl0bGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWhhc3JlcXVpcmVkKGJvdHRvbSk7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLWFkZHJlc3Nlcy1saXN0IHtcbiAgICAuaXRlbXMuYWRkcmVzc2VzIHtcbiAgICAgICAgPiAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWFkZHJlc3MtZWRpdCB7XG4gICAgI3JlZ2lvbl9pZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLnByaW1hcnkge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYnV0dG9uLWw7XG4gICAgfVxufVxuXG4uZm9ybS1lZGl0LWFjY291bnQge1xuICAgIC5maWVsZHNldC5wYXNzd29yZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uYm94LWJpbGxpbmctYWRkcmVzcyxcbi5ib3gtc2hpcHBpbmctYWRkcmVzcyxcbi5ib3gtaW5mb3JtYXRpb24sXG4uYm94LW5ld3NsZXR0ZXIge1xuICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cbn1cblxuLy8gIEZ1bGwgbmFtZSBmaWVsZHNldFxuLmZpZWxkc2V0IHtcbiAgICAuZnVsbG5hbWUge1xuICAgICAgICAmLmZpZWxkIHtcbiAgICAgICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgKyAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIE15IGFjY291bnRcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFjY291bnQge1xuICAgIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudG9vbGJhciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAubGltaXRlci1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW1pdGVyIHtcbiAgICAgICAgICAgID4ubGFiZWwge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2s6bm90KC53aWRnZXQpIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hY2NvdW50LWJsb2NrcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtcmV0dXJuLWl0ZW1zIHtcbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWlucHV0LXF0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gIENoZWNrb3V0IGFkZHJlc3MgKGNyZWF0ZSBzaGlwcGluZyBhZGRyZXNzKVxuLmZpZWxkLnN0cmVldCB7XG4gICAgLmZpZWxkLmFkZGl0aW9uYWwge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBBY2NvdW50IG5hdmlnYXRpb25cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFjY291bnQtbmF2IHtcbiAgICAudGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkYWNjb3VudC1uYXYtYmFja2dyb3VuZCk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICAgIG1hcmdpbjogM3B4IDAgMDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICA+IHN0cm9uZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkYWNjb3VudC1uYXYtY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogJGluZGVudF9feHMgMThweCAkaW5kZW50X194cyAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJGFjY291bnQtbmF2LWl0ZW0taG92ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWNvbG9yLCAkYWNjb3VudC1uYXYtY3VycmVudC1ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRhY2NvdW50LW5hdi1jdXJyZW50LWNvbG9yKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtd2VpZ2h0LCAkYWNjb3VudC1uYXYtY3VycmVudC1mb250LXdlaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLWNvbG9yLCAkYWNjb3VudC1uYXYtY3VycmVudC1ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRlbGltaXRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGFjY291bnQtbmF2LWRlbGltaXRlcl9fYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46ICRpbmRlbnRfX3MgMS44cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIEJsb2NrcyAmIFdpZGdldHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJsb2NrIHtcbiAgICBAZXh0ZW5kIC5hYnMtbWFyZ2luLWZvci1ibG9ja3MtYW5kLXdpZGdldHM7XG4gICAgLmNvbHVtbi5tYWluICYge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1oZWFkaW5nKGg0KTtcbiAgICAgICAgICAgIC5jb2x1bW4ubWFpbiAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoM19fZm9udC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5ib3gtYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX3hzO1xuICAgIH1cbn1cblxuLy9cbi8vICBQYXNzd29yZCBTdHJlbmd0aCBNZXRlclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZmllbGQucGFzc3dvcmQge1xuICAgIC5jb250cm9sIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtZGlzcGxheSgpO1xuICAgICAgICBAaW5jbHVkZSBsaWItdmVuZG9yLXByZWZpeC1mbGV4LWRpcmVjdGlvbigpO1xuXG4gICAgICAgIC5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LW9yZGVyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXZlbmRvci1wcmVmaXgtb3JkZXIoMCk7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRfcGFzc3dvcmQtZGVmYXVsdDtcbiAgICBoZWlnaHQ6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX2hlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZWxlbWVudC1pbnB1dF9faGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmb3JtLWVsZW1lbnQtaW5wdXRfX3BhZGRpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICAucGFzc3dvcmQtbm9uZSAmIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJF9wYXNzd29yZC1kZWZhdWx0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFzc3dvcmQtd2VhayAmIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJF9wYXNzd29yZC13ZWFrO1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXNzd29yZC1tZWRpdW0gJiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRfcGFzc3dvcmQtbWVkaXVtO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXNzd29yZC1zdHJvbmcgJiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRfcGFzc3dvcmQtc3Ryb25nO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXNzd29yZC12ZXJ5LXN0cm9uZyAmIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJF9wYXNzd29yZC12ZXJ5LXN0cm9uZztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udHJvbC5jYXB0Y2hhLWltYWdlIHtcbiAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi10b3AsICRpbmRlbnRfX3MpO1xuXG4gICAgLmNhcHRjaGEtaW1nIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC5hY2NvdW50IHtcbiAgICAgICAgLmNvbHVtbi5tYWluLFxuICAgICAgICAuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmxvZ2luLWNvbnRhaW5lciB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3VudCB7XG4gICAgICAgIC5wYWdlLm1lc3NhZ2VzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3hsO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvb2xiYXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXBhZ2VyLXRvb2xiYXItbW9iaWxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRyb2wuY2FwdGNoYS1pbWFnZSB7XG4gICAgICAgIC5jYXB0Y2hhLWltZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1ib3R0b20sICRpbmRlbnRfX3MpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCB7XG4gICAgICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmxvZ2luLWNvbnRhaW5lciB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXgtZGVza3RvcDtcblxuICAgICAgICAuYmxvY2sge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWJsb2Nrcy0yY29sdW1ucztcbiAgICAgICAgICAgICYubG9naW4ge1xuICAgICAgICAgICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgICAgICA+IC5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbmRlbnRfX2w7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLW1hcmdpbi1mb3ItZm9ybXMtZGVza3RvcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAuZmllbGQge1xuICAgICAgICAgICAgICAgID4gLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICBGdWxsIG5hbWUgZmllbGRzZXRcbiAgICAuZmllbGRzZXQge1xuICAgICAgICAuZnVsbG5hbWUge1xuICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX21hcmdpbik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX3BhZGRpbmcpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRleHQtYWxpZ24sICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtaW5saW5lX19hbGlnbik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtaW5saW5lX193aWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJGZvcm0tZmllbGQtdHlwZS1jb250cm9sLWlubGluZV9fd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS5wYXNzd29yZC5yZXNldCxcbiAgICAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbixcbiAgICAuZm9ybS5wYXNzd29yZC5mb3JnZXQsXG4gICAgLmZvcm0uY3JlYXRlLmFjY291bnQge1xuICAgICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gIE15IGFjY291bnRcbiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAuYWNjb3VudC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IHtcbiAgICAgICAgLnNpZGViYXItbWFpbixcbiAgICAgICAgLnNpZGViYXItYWRkaXRpb25hbCB7XG4gICAgICAgICAgICB3aWR0aDogMjIuMyU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICAgICAgd2lkdGg6IDc3LjclO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY291bnQge1xuICAgICAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICAgICAgLmJsb2NrOm5vdCgud2lkZ2V0KSB7XG4gICAgICAgICAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A7XG5cbiAgICAgICAgICAgICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYmxvY2tzLTJjb2x1bW5zO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvb2xiYXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXBhZ2VyLXRvb2xiYXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stYWRkcmVzc2VzLWxpc3Qge1xuICAgICAgICAuaXRlbXMuYWRkcmVzc2VzIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXgtZGVza3RvcDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICAgICAgPiAuaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9fYmFzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4LjglO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyLjQlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gIFdlbGNvbWUgYmxvY2tcbiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAuZGFzaGJvYXJkLXdlbGNvbWUtdG9nZ2xlciB7XG4gICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW4tZGVza3RvcDtcbiAgICB9XG5cbiAgICAuY29udHJvbC5jYXB0Y2hhLWltYWdlIHtcbiAgICAgICAgLmNhcHRjaGEtaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAkaW5kZW50X19zICRpbmRlbnRfX3MgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCB7XG4gICAgLnNpZGViYXItbWFpbiB7XG4gICAgICAgIC5uYXYge1xuICAgICAgICAgICAgbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5kb3dubG9hZGFibGUuc2FtcGxlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9fcztcbiAgICB9XG59XG5cbi50YWJsZS1kb3dubG9hZGFibGUtcHJvZHVjdHMge1xuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxufVxuXG4uZmllbGQuZG93bmxvYWRzIHtcbiAgICAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgKyAnO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyAoJ2F0dHIoZGF0YS1sYWJlbCkgJzogJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19zZW1pYm9sZDtcbiAgICB9XG5cbiAgICAuc2FtcGxlLmxpbmsge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4ucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSB7XG4gICAgLnByb2R1Y3QtYWRkLWZvcm0ge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fbTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgICAgIC5maWVsZC5xdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIC5sZWdlbmQubGlua3MtdGl0bGUge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSB7XG4gICAgICAgIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgICAgICAuZmllbGQucXR5IHtcbiAgICAgICAgICAgICAgICAmICsgLmFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2FydCB7XG4gICAgJi1zdW1tYXJ5IHtcbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICAgICYuZ2lmdGNhcmQge1xuICAgICAgICAgICAgICAgIC5hY3Rpb24uY2hlY2sge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXMoKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLXByb2R1Y3QtZ2lmdGNhcmQge1xuICAgIC5naWZ0Y2FyZC1hbW91bnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIC5maWVsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1maWVsZF9fdmVydGljYWwtaW5kZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0tZmllbGRfX3ZlcnRpY2FsLWluZGVudDtcbiAgICB9XG5cbiAgICAuZmllbGRzZXQuZ2lmdGNhcmQge1xuICAgICAgICA+IC5sZWdlbmQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgICAgICsgYnIge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmdpZnRjYXJkLWFjY291bnQge1xuICAgIC5wbGVhc2Utd2FpdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0tZ2lmdGNhcmQtcmVkZWVtIHtcbiAgICAgICAgLmdpZnRjYXJkLmluZm8ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9wYy13cmFwcGVyIHtcbiAgICAuZm9ybS1naWZ0Y2FyZC1hY2NvdW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9fYmFzZTtcblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpZnRjYXJkLWFjY291bnQtaW5mbyB7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAgICAgLmdpZnRjYXJkLWFjY291bnQtbnVtYmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX3M7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gIFZhcmlhYmxlc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG4kZ2lmdC1tZXNzYWdlLWZpZWxkLWxhYmVsX19jb2xvciA6ICRjb2xvci1ncmF5NDAgIWRlZmF1bHQ7XG4kZ2lmdC1pdGVtLWJsb2NrX19ib3JkZXItY29sb3IgICA6ICRjb2xvci1ncmF5LWxpZ2h0NSAhZGVmYXVsdDtcbiRnaWZ0LWl0ZW0tYmxvY2tfX2JvcmRlci13aWR0aCAgIDogJGJvcmRlci13aWR0aF9fYmFzZSAhZGVmYXVsdDtcblxuLmdpZnQtbWVzc2FnZSB7XG4gICAgLmZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJGdpZnQtbWVzc2FnZS1maWVsZC1sYWJlbF9fY29sb3IpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJGZvbnQtd2VpZ2h0X19yZWd1bGFyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdpZnQtb3B0aW9ucyB7XG4gICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeDtcblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAuYWN0aW9uLWNhbmNlbCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdpZnQtb3B0aW9ucy10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgJGluZGVudF9fYmFzZTtcbn1cblxuLmdpZnQtb3B0aW9ucy1jb250ZW50IHtcbiAgICAuZmllbGRzZXQge1xuICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19iYXNlO1xuICAgIH1cbn1cblxuLmdpZnQtc3VtbWFyeSB7XG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgID4gLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaW5kZW50X19zICRpbmRlbnRfX2Jhc2UgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWN0aW9uLWdpZnQge1xuICAgIEBleHRlbmQgYnV0dG9uO1xuICAgIEBpbmNsdWRlIGxpYi1saW5rLWFzLWJ1dHRvbigpO1xuICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X19zO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpYi1idXR0b24taWNvbihcbiAgICAgICAgJGljb24tZG93bixcbiAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgOiAzMnB4LFxuICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCA6IDE2cHgsXG4gICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICAgIDogYWZ0ZXJcbiAgICApO1xuXG4gICAgJi5hY3RpdmUsXG4gICAgJi5fYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG4gICAgICAgICAgICAkaWNvbi11cCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uOiBhZnRlclxuICAgICAgICApO1xuICAgIH1cbn1cblxuLy9cbi8vICBJbi10YWJsZSBibG9ja1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2FydCB7XG4gICAgJi50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgLmdpZnQtY29udGVudCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46ICRpbmRlbnRfX3MgMCAkaW5kZW50X19iYXNlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmLl9hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIENvbGxhcHNpYmxlIGJsb2NrXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5naWZ0LWl0ZW0tYmxvY2sge1xuICAgIG1hcmdpbjogMDtcblxuICAgICYuX2FjdGl2ZSB7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250LXN5bWJvbChcbiAgICAgICAgICAgICAgICAkaWNvbi11cCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJGZvbnQtd2VpZ2h0X19ib2xkKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24oXG4gICAgICAgICAgICAkX2J1dHRvbi1tYXJnaW4gICAgICAgICAgICAgICAgOiAyMHB4IDAgMCxcbiAgICAgICAgICAgICRfYnV0dG9uLXBhZGRpbmcgICAgICAgICAgICAgICA6IDdweCAxNXB4LFxuICAgICAgICAgICAgJF9idXR0b24taWNvbi11c2UgICAgICAgICAgICAgIDogdHJ1ZSxcbiAgICAgICAgICAgICRfYnV0dG9uLWZvbnQtY29udGVudCAgICAgICAgICA6ICRpY29uLWRvd24sXG4gICAgICAgICAgICAkX2J1dHRvbi1pY29uLWZvbnQgICAgICAgICAgICAgOiAkYnV0dG9uLWljb25fX2ZvbnQsXG4gICAgICAgICAgICAkX2J1dHRvbi1pY29uLWZvbnQtc2l6ZSAgICAgICAgOiAzMnB4LFxuICAgICAgICAgICAgJF9idXR0b24taWNvbi1mb250LWxpbmUtaGVpZ2h0IDogMTZweCxcbiAgICAgICAgICAgICRfYnV0dG9uLWljb24tZm9udC1wb3NpdGlvbiAgICA6IGFmdGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1ib3R0b20sICRnaWZ0LWl0ZW0tYmxvY2tfX2JvcmRlci13aWR0aCBzb2xpZCAkZ2lmdC1pdGVtLWJsb2NrX19ib3JkZXItY29sb3IpO1xuICAgICAgICBwYWRkaW5nOiAkaW5kZW50X19zICRpbmRlbnRfX3MgJGluZGVudF9fYmFzZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLy9cbi8vICBBY2NvdW50IG9yZGVyIGdpZnQgbWVzc2FnZVxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3JkZXItZGV0YWlscy1pdGVtcyB7XG4gICAgLm9yZGVyLWdpZnQtbWVzc2FnZSxcbiAgICAuYmxvY2stb3JkZXItZGV0YWlscy1naWZ0LW1lc3NhZ2Uge1xuICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtd2VpZ2h0LCAkZm9udC13ZWlnaHRfX3JlZ3VsYXIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeDtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtY29sb247XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1tZXNzYWdlIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWl0ZW1zIHtcbiAgICAgICAgLm9yZGVyLWdpZnQtbWVzc2FnZSB7XG4gICAgICAgICAgICAmOm5vdCguZXhwYW5kZWQtY29udGVudCkge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1oaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3Rpb24uY2xvc2Uge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi5zaG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgIDogJGljb24tZG93bixcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgOiAyMnB4LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSA6IGZhbHNlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICA6IGFmdGVyLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWRpc3BsYXkgICA6IGlubGluZS1ibG9ja1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQtc3ltYm9sKFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICA6ICRpY29uLXVwLFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiA6IGFmdGVyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLW9yZGVyLWRldGFpbHMtZ2lmdC1tZXNzYWdlIHtcbiAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgcGFkZGluZy10b3A6ICRpbmRlbnRfX3M7XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5naWZ0LW9wdGlvbnMge1xuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIC5hY3Rpb24tdXBkYXRlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDIwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpZnQtaXRlbS1ibG9jayB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLXRvcCwgJGdpZnQtaXRlbS1ibG9ja19fYm9yZGVyLXdpZHRoIHNvbGlkICRnaWZ0LWl0ZW0tYmxvY2tfX2JvcmRlci1jb2xvcik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmNhcnQge1xuICAgICAgICAmLnRhYmxlLXdyYXBwZXIge1xuICAgICAgICAgICAgLmdpZnQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLmNhcnQge1xuICAgICAgICAmLnRhYmxlLXdyYXBwZXIge1xuICAgICAgICAgICAgLmdpZnQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkYm9yZGVyLWNvbG9yX19iYXNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuZ2lmdC1tZXNzYWdlIHtcbiAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2lmdC1vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uLWNhbmNlbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhib3JkZXItbGVmdCwgMXB4IHNvbGlkICRnaWZ0LWl0ZW0tYmxvY2tfX2JvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2lmdC1vcHRpb25zLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJGZvbnQtd2VpZ2h0X19saWdodCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTgpO1xuICAgIH1cblxuICAgIC5naWZ0LXN1bW1hcnksXG4gICAgLmNhcnQudGFibGUtd3JhcHBlciAuZ2lmdC1zdW1tYXJ5IHtcbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGVmdC1tYXJnaW4tZGVza3RvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LWNvbnRhaW5lciB7XG4gICAgICAgIC5jYXJ0LWdpZnQtaXRlbSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtc2hvcHBpbmctY2FydC1pdGVtcy1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyAgSW4tdGFibGUgYmxvY2tcbiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAuY2FydCB7XG4gICAgICAgICYudGFibGUtd3JhcHBlciB7XG4gICAgICAgICAgICAuYWN0aW9uLWdpZnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyAgTXVsdGlwbGUgU2hpcHBpbmcgQ2hlY2tvdXRcbiAgICAvLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAub3JkZXItb3B0aW9ucyxcbiAgICAudGFibGUtb3JkZXItcmV2aWV3IHtcbiAgICAgICAgLmdpZnQtd3JhcHBpbmcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9ybS1naWZ0cmVnaXN0cnktc2hhcmUsXG4uZm9ybS1naWZ0cmVnaXN0cnktZWRpdCB7XG4gICAgQGV4dGVuZCAuYWJzLWFkZC1maWVsZHM7XG4gICAgLmFjdGlvbnMtdG9vbGJhcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9feGw7XG4gICAgfVxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIC5uZXN0ZWQge1xuICAgICAgICAgICAgLmZpZWxkOm5vdCguY2hvaWNlKSB7XG4gICAgICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLmdpZnRyZWdpc3RyeS5pdGVtcyB7XG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1sZWZ0LW1hcmdpbjtcbiAgICB9XG59XG5cbi5naWZ0cmVnaXN0eS1kcm9wZG93biB7XG4gICAgQGV4dGVuZCAuYWJzLWRyb3Bkb3duLXNpbXBsZTtcbn1cblxuLnRhYmxlLWdpZnRyZWdpc3RyeS1pdGVtcyB7XG4gICAgLmZpZWxkLnF0eSAucXR5IHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWlucHV0LXF0eTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1yaWdodCwgJGluZGVudF9fcyk7XG4gICAgfVxufVxuXG4uZm9ybS5naWZ0cmVnaXN0cnkgLmZpZWxkc2V0IHtcbiAgICAuY2FydC1zdW1tYXJ5ICYge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAkaW5kZW50X194cztcblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9fcztcblxuICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1yZXZlcnQtc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJldmVydC1zZWNvbmRhcnktc2l6ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWdpZnRyZWdpc3RyeS1zZWFyY2gge1xuICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2wgKiAyO1xuXG4gICAgLmZpZWxkcy1zcGVjaWZpYy1vcHRpb25zIHtcbiAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgxKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRldGltZS1waWNrZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWZpZWxkLWRhdGUtaW5wdXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1naWZ0cmVnaXN0cnktcmVzdWx0cyB7XG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWJsb2NrLXRpdGxlO1xuICAgIH1cblxuICAgIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmJsb2NrLWdpZnRyZWdpc3RyeSB7XG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIG1hcmdpbjogMTdweCAwIDA7XG4gICAgfVxufVxuXG4uYmxvY2stZ2lmdHJlZ2lzdHJ5LXNoYXJlZCB7XG4gICAgLml0ZW0tb3B0aW9ucyB7XG4gICAgICAgIC5pdGVtLXZhbHVlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX207XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1naWZ0cmVnaXN0cnktc2hhcmVkLWl0ZW1zIHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYmxvY2stdGl0bGU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1pbWFnZS13cmFwcGVyO1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkYm9yZGVyLWNvbG9yX19iYXNlO1xuICAgIH1cblxuICAgIC5xdHkge1xuICAgICAgICAucXR5IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1pbnB1dC1xdHk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sIHtcbiAgICAgICAgcGFkZGluZzogJGluZGVudF9fYmFzZSA4cHggJGluZGVudF9fcztcblxuICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTgpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgLml0ZW0tb3B0aW9ucyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcHJvZHVjdC1vcHRpb25zLWxpc3Q7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbS1waG90byB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogNjVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3MgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9feHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgIC50YWJsZS1naWZ0cmVnaXN0cnktaXRlbXMge1xuICAgICAgICAuY29sLnByb2R1Y3Qge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW4tbW9iaWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQuY2hvaWNlLFxuICAgICAgICAuZmllbGQucXR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWdpZnRyZWdpc3RyeS1zZWFyY2gge1xuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXBhZ2VyLXRvb2xiYXItbW9iaWxlLXM7XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmZvcm0tZ2lmdHJlZ2lzdHJ5LXNoYXJlLFxuICAgIC5mb3JtLWdpZnRyZWdpc3RyeS1lZGl0IHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1maWVsZHMtZGVza3RvcDtcbiAgICB9XG5cbiAgICAuZm9ybS1naWZ0cmVnaXN0cnktc2VhcmNoIHtcbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnRfX2Rlc2t0b3A7XG4gICAgICAgICAgICA+IC5maWVsZHMtc3BlY2lmaWMtb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgPiAuZmllbGQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9ybS1maWVsZC10eXBlLXJldmVydCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b29sYmFyLWdpZnRyZWdpc3RyeS1yZXN1bHRzIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXBhZ2VyLXRvb2xiYXI7XG4gICAgfVxuXG4gICAgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQge1xuICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1wcm9kdWN0LW9wdGlvbnMtbGlzdC1kZXNrdG9wO1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWdpZnRyZWdpc3RyeS1zaGFyZWQtaXRlbXMge1xuICAgICAgICAuY29sdW1uLm1haW4gJiB7XG4gICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGVmdC1tYXJnaW4tZGVza3RvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0IHtcbiAgICAgICAgICAgICYtaXRlbS1waG90byB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkaW5kZW50X19iYXNlIDAgMDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pdGVtLWRldGFpbHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTklO1xuICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wge1xuICAgICAgICAgICAgJi5wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCgucHJvZHVjdCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wcmljZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAmLnF0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgVmFyaWFibGVzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbiRnaWZ0LXdyYXBwaW5nX19ib3JkZXItY29sb3IgICAgICAgICAgICAgICAgIDogJGNvbG9yLWdyYXktbGlnaHQ1ICFkZWZhdWx0O1xuJGdpZnQtd3JhcHBpbmdfX2JvcmRlci13aWR0aCAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXdpZHRoX19iYXNlICFkZWZhdWx0O1xuXG4kZ2lmdC13cmFwcGluZy1wcmV2aWV3X19hY3RpdmVfX2JvcmRlci1jb2xvciA6ICRjb2xvci1ncmF5MjAgIWRlZmF1bHQ7XG4kZ2lmdC13cmFwcGluZy1wcmV2aWV3X19hY3RpdmVfX2JvcmRlci13aWR0aCA6IDNweCAhZGVmYXVsdDtcblxuJGdpZnQtd3JhcHBpbmctdGh1bWJuYWlsX19oZWlnaHQgICAgICAgICAgICAgOiA0cmVtICFkZWZhdWx0O1xuJGdpZnQtd3JhcHBpbmctdGh1bWJuYWlsX193aWR0aCAgICAgICAgICAgICAgOiAkZ2lmdC13cmFwcGluZy10aHVtYm5haWxfX2hlaWdodCAhZGVmYXVsdDtcblxuJGdpZnQtd3JhcHBpbmctbm8taW1hZ2VfX2JhY2tncm91bmQgICAgICAgICAgOiAkY29sb3ItZ3JheTk1ICFkZWZhdWx0O1xuJGdpZnQtd3JhcHBpbmctbm8taW1hZ2UtaWNvbl9fY29sb3IgICAgICAgICAgOiAkY29sb3ItZ3JheS1kYXJrZW40ICFkZWZhdWx0O1xuJGdpZnQtd3JhcHBpbmctbm8taW1hZ2UtaWNvbl9fZm9udC1zaXplICAgICAgOiAzOHB4ICFkZWZhdWx0O1xuXG4uZ2lmdC13cmFwcGluZyB7XG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRmb3JtLWZpZWxkLXR5cGUtbGFiZWwtYmxvY2tfX21hcmdpbik7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xuICAgIH1cbn1cblxuLmdpZnQtd3JhcHBpbmctaW5mbyB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXdlaWdodCwgJGZvbnQtd2VpZ2h0X19saWdodCk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplX19sO1xuICAgIG1hcmdpbjogJGluZGVudF9fYmFzZSAwO1xufVxuXG4uZ2lmdC13cmFwcGluZy1saXN0IHtcbiAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAkaW5kZW50X19iYXNlIDAgJGluZGVudF9fcztcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLm5vLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkZ2lmdC13cmFwcGluZy1uby1pbWFnZV9fYmFja2dyb3VuZCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG4gICAgICAgICAgICAkaWNvbi1wcmVzZW50LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgOiAkZ2lmdC13cmFwcGluZy1uby1pbWFnZS1pY29uX19mb250LXNpemUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCAgICA6ICRnaWZ0LXdyYXBwaW5nLXRodW1ibmFpbF9faGVpZ2h0LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3IgICAgICAgICAgOiAkZ2lmdC13cmFwcGluZy1uby1pbWFnZS1pY29uX19jb2xvcixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXBvc2l0aW9uICAgICAgIDogYWZ0ZXIsXG4gICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgICAgICA6IHRydWUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC12ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZVxuICAgICAgICApO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5naWZ0LXdyYXBwaW5nLXByZXZpZXcsXG4uZ2lmdC13cmFwcGluZy1pdGVtID4gc3BhbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5naWZ0LXdyYXBwaW5nLWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAkaW5kZW50X19zICRpbmRlbnRfX3MgMDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLl9hY3RpdmUge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlciwgJGdpZnQtd3JhcHBpbmctcHJldmlld19fYWN0aXZlX19ib3JkZXItd2lkdGggc29saWQgJGdpZnQtd3JhcHBpbmctcHJldmlld19fYWN0aXZlX19ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgaGVpZ2h0OiAkZ2lmdC13cmFwcGluZy10aHVtYm5haWxfX2hlaWdodDtcbiAgICAgICAgd2lkdGg6ICRnaWZ0LXdyYXBwaW5nLXRodW1ibmFpbF9fd2lkdGg7XG4gICAgfVxufVxuXG4uZ2lmdC13cmFwcGluZy10aXRsZSB7XG4gICAgbWFyZ2luOiAkaW5kZW50X19zIDA7XG5cbiAgICAuYWN0aW9uLXJlbW92ZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkaW5kZW50X194cztcbiAgICB9XG59XG5cbi5naWZ0LW9wdGlvbnMtY29udGVudCB7XG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgPiAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9feHM7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2lmdC13cmFwcGluZy1zdW1tYXJ5IHtcbiAgICAuZ2lmdC13cmFwcGluZy10aXRsZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLm9wYy13cmFwcGVyIC5kYXRhLnRhYmxlLFxuLnRhYmxlLW9yZGVyLWl0ZW1zLFxuLnRhYmxlLW9yZGVyLXJldmlldyB7XG4gICAgLmdpZnQtd3JhcHBpbmcge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4O1xuICAgICAgICBtYXJnaW46ICRpbmRlbnRfX2Jhc2UgMDtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgJGluZGVudF9fcyAwIDA7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5naWZ0LXN1bW1hcnksXG4uZ2lmdC1vcHRpb25zIHtcbiAgICBAZXh0ZW5kIC5hYnMtYWRqdXN0bWVudC1pbmNsLWV4Y2wtdGF4O1xuXG4gICAgLnByaWNlLWJveCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgIH1cblxuICAgIC5yZWd1bGFyLXByaWNlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKSc6ICc7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBNdWx0aXBsZSBTaGlwcGluZyBDaGVja291dFxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ub3JkZXItb3B0aW9ucyB7XG4gICAgLml0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdCB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLmdpZnQtd3JhcHBpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmdpZnQtd3JhcHBpbmcge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1ib3R0b20sICRnaWZ0LXdyYXBwaW5nX19ib3JkZXItd2lkdGggc29saWQgJGdpZnQtd3JhcHBpbmdfX2JvcmRlci1jb2xvcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkaW5kZW50X19zO1xuICAgIH1cblxuICAgIC5naWZ0LXdyYXBwaW5nLWxpc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2lmdC13cmFwcGluZy1wcmV2aWV3IHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tYWN0aW9ucyB7XG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgLmdpZnQtb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgLmdpZnQtd3JhcHBpbmcsXG4gICAgICAgICAgICAgICAgLmdpZnQtbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5naWZ0LXdyYXBwaW5nIHtcbiAgICAgICAgLm5lc3RlZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICAuZ2lmdC13cmFwcGluZyB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpZnQtb3B0aW9ucy1jYXJ0LWl0ZW0sXG4gICAgLmNhcnQtZ2lmdC1pdGVtIHtcbiAgICAgICAgLmdpZnQtd3JhcHBpbmcge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICYgKyAuZ2lmdC1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1sZWZ0LCAkZ2lmdC13cmFwcGluZ19fYm9yZGVyLXdpZHRoIHNvbGlkICRnaWZ0LXdyYXBwaW5nX19ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0LjVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50YWJsZS5ncm91cGVkIHtcbiAgICBAaW5jbHVkZSBsaWItdGFibGUtYm9yZGVyZWQoXG4gICAgICAgICRfdGFibGVfdHlwZTogaG9yaXpvbnRhbFxuICAgICk7XG5cbiAgICA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICB9XG5cbiAgICAucHJpY2UtYm94IHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9fYmFzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250cm9sIHtcbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtaW5wdXQtcXR5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b2NrLnVuYXZhaWxhYmxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAucm93LXRpZXItcHJpY2Uge1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlcy10aWVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMTBweCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZvcm0tYWRkLWludml0YXRpb25zIHtcbiAgICBAZXh0ZW5kIC5hYnMtYWRkLWZpZWxkcztcbiAgICAuYWN0aW9uIHtcbiAgICAgICAgJi5hZGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1pY29uKFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbnRlbnQgICA6ICRpY29uLWV4cGFuZCxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC10ZXh0LWhpZGUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUgICAgICA6IDMxcHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmZvcm0tYWRkLWludml0YXRpb25zIHtcbiAgICAgICAgLmFkZGl0aW9uYWwsXG4gICAgICAgIC5maWVsZC50ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgJGZvcm0tZmllbGRfX3ZlcnRpY2FsLWluZGVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuZm9ybS1hZGQtaW52aXRhdGlvbnMge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWZpZWxkcy1kZXNrdG9wO1xuICAgICAgICAuYWRkaXRpb25hbCxcbiAgICAgICAgLmZpZWxkLnRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkZm9ybS1maWVsZF9fdmVydGljYWwtaW5kZW50X19kZXNrdG9wKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1pbnZpdGF0aW9ucyB7XG4gICAgICAgIC5jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgQ29tbW9uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ibG9jay5maWx0ZXIge1xuXHRtYXJnaW4tYm90dG9tOiAkaW5kZW50X194bDtcblx0XG5cdC5maWx0ZXItdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG5cdFx0XG5cdFx0c3Ryb25nIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLXN1YnRpdGxlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xufVxuXG4uZmlsdGVyLWN1cnJlbnQge1xuXHQuaXRlbSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcblx0fVxuXHRcblx0LmZpbHRlci1sYWJlbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fYm9sZDtcblx0XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICc6Jztcblx0XHR9XG5cdH1cblx0XG5cdCsgLmZpbHRlci1hY3Rpb25zIHtcblx0XHRtYXJnaW4tYm90dG9tOiAkaW5kZW50X19sO1xuXHR9XG59XG5cbi5maWx0ZXItb3B0aW9ucy1jb250ZW50IHtcblx0LmZpbHRlci1jb3VudC1sYWJlbCB7XG5cdFx0QGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcblx0fVxufVxuXG4uZmlsdGVyLW9wdGlvbnMge1xuXHRtYXJnaW46IDA7XG5cdFxuXHQuZmlsdGVyLW9wdGlvbnMtdGl0bGUge1xuXHRcdEBpbmNsdWRlIGxpYi1oZWFkaW5nKGg0KTtcblx0XHRtYXJnaW46IDAgMCAkaW5kZW50X19zO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0fVxuXHRcblx0LmZpbHRlci1vcHRpb25zLWNvbnRlbnQge1xuXHRcdG1hcmdpbjogMCAwICRpbmRlbnRfX207XG5cdFx0XG5cdFx0Lml0ZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogM3B4O1xuXHRcdH1cblx0fVxuXHRcblx0LmNvdW50IHtcblx0XHRAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkdGV4dF9fY29sb3JfX211dGVkKTtcblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnKCc7XG5cdFx0fVxuXHRcdFxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyknO1xuXHRcdH1cblx0fVxufVxuXG4uaXRlbXMge1xuXHRAZXh0ZW5kIC5hYnMtcmVzZXQtbGlzdDtcbn1cblxuLmZpbHRlcmVkIHtcblx0Lml0ZW1zIHtcblx0XHRtYXJnaW46IDE1cHggMDtcblx0fVxuXHRcblx0Lml0ZW0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDIycHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFxuXHRcdC5sYWJlbCB7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuXHRcdH1cblx0XHRcblx0XHQuYWN0aW9uLnJlbW92ZSB7XG5cdFx0XHRAZXh0ZW5kIC5hYnMtcmVtb3ZlLWJ1dHRvbi1mb3ItYmxvY2tzO1xuXHRcdFx0bGVmdDogLTZweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHR9XG5cdH1cblx0XG5cdCYgKyAuYWN0aW9ucyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzVweDtcblx0fVxufVxuXG5cblxuXG4vL1xuLy8gIFRhYmxldCBhbmQgdW5kZXJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19sKSB7XG5cdC5wYWdlLXdpdGgtZmlsdGVyIHtcblx0XHQuY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdFx0LnNpZGViYXItbWFpbiB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi12ZW5kb3ItcHJlZml4LW9yZGVyKC0xKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbCkge1xuXHQubGF5ZXJlZC1maWx0ZXItYmxvY2stY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwLjhyZW07XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMC40cmVtO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0fVxufVxuIiwiLm1hcC1wb3B1cC13cmFwcGVyLnBvcHVwIHtcbiAgICAuYWN0aW9uLmNsb3NlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh0b3AsICRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uLXRvcCk7XG4gICAgfVxufVxuXG4ubWFwLXBvcHVwIHtcbiAgICBAaW5jbHVkZSBsaWItcG9wdXAoXG4gICAgICAgICRfcG9wdXAtbWFyZ2luLXRvcCAgICAgIDogJGluZGVudF9fcyxcbiAgICAgICAgJF9wb3B1cC1tYXJnaW4tbGVmdCAgICAgOiBmYWxzZSxcbiAgICAgICAgJF9wb3B1cC1jb250ZW50LW1hcmdpbiAgOiAkaW5kZW50X19zIDAgMCxcbiAgICAgICAgJF9wb3B1cC1wb3NpdGlvbi1ib3R0b20gOiBmYWxzZSxcbiAgICAgICAgJF9wb3B1cC1wb3NpdGlvbi1yaWdodCAgOiBmYWxzZSxcbiAgICAgICAgJF9wb3B1cC1wb3NpdGlvbiAgICAgICAgOiBhYnNvbHV0ZVxuICAgICk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC5tYXAtaW5mby1wcmljZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19iYXNlO1xuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWd1bGFyLXByaWNlIHtcbiAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYXAtb2xkLXByaWNlLFxuLnByb2R1Y3QtaW5mby1wcmljZSAubWFwLXNob3ctaW5mbyB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X19zO1xuICAgIH1cbn1cblxuLm1hcC1vbGQtcHJpY2Uge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgfVxufVxuXG4ubWFwLWZvcm0tYWRkdG9jYXJ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuYnV0dG9uLm1hcC1zaG93LWluZm8ge1xuICAgIEBpbmNsdWRlIGxpYi1idXR0b24tcmVzZXQoKTtcbiAgICBAaW5jbHVkZSBsaWItYnV0dG9uLWFzLWxpbmsoKTtcbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLm1hcC1wb3B1cCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubWFwLW9sZC1wcmljZSxcbiAgICAubWFwLXNob3ctaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyAgUG9wdXBzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBtaXhpbiBsaWItcG9wdXAoXG4gICAgJF9wb3B1cC13aWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9fd2lkdGgsXG4gICAgJF9wb3B1cC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9faGVpZ2h0LFxuICAgICRfcG9wdXAtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXBfX3BhZGRpbmcsXG4gICAgJF9wb3B1cC1iYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9fYmFja2dyb3VuZCxcbiAgICAkX3BvcHVwLWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwX19ib3JkZXIsXG4gICAgJF9wb3B1cC1zaGFkb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9fc2hhZG93LFxuICAgICRfcG9wdXAtZmFkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXBfX2ZhZGUsXG4gICAgJF9wb3B1cC16LWluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9fei1pbmRleCxcblxuICAgICRfcG9wdXAtcG9zaXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXBfX3Bvc2l0aW9uLFxuICAgICRfcG9wdXAtcG9zaXRpb24tdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXBfX3Bvc2l0aW9uLXRvcCxcbiAgICAkX3BvcHVwLXBvc2l0aW9uLXJpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwX19wb3NpdGlvbi1yaWdodCxcbiAgICAkX3BvcHVwLXBvc2l0aW9uLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwX19wb3NpdGlvbi1ib3R0b20sXG4gICAgJF9wb3B1cC1wb3NpdGlvbi1sZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9fcG9zaXRpb24tbGVmdCxcblxuICAgICRfcG9wdXAtbWFyZ2luLXRvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXBfX21hcmdpbi10b3AsXG4gICAgJF9wb3B1cC1tYXJnaW4tcmlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9fbWFyZ2luLXJpZ2h0LFxuICAgICRfcG9wdXAtbWFyZ2luLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXBfX21hcmdpbi1ib3R0b20sXG4gICAgJF9wb3B1cC1tYXJnaW4tbGVmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cF9fbWFyZ2luLWxlZnQsXG5cbiAgICAkX3BvcHVwLWNvbnRlbnQtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWNvbnRlbnRfX2hlaWdodCxcbiAgICAkX3BvcHVwLWhlYWRlci1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWhlYWRlcl9fbWFyZ2luLFxuICAgICRfcG9wdXAtY29udGVudC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtY29udGVudF9fbWFyZ2luLFxuICAgICRfcG9wdXAtZm9vdGVyLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtZm9vdGVyX19tYXJnaW4sXG5cbiAgICAkX3BvcHVwLXRpdGxlLWhlYWRpbmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLXRpdGxlLWhlYWRpbmdzLFxuICAgICRfcG9wdXAtdGl0bGUtaGVhZGluZ3MtbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtdGl0bGUtaGVhZGluZ3NfX2xldmVsLFxuXG4gICAgLy8gIEljb25zIHBhcmFtZXRlcnNcbiAgICAkX3BvcHVwLWJ1dHRvbi1jbG9zZS1pY29uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWJ1dHRvbi1jbG9zZV9faWNvbixcbiAgICAkX3BvcHVwLWJ1dHRvbi1jbG9zZS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWJ1dHRvbi1jbG9zZV9fcmVzZXQsXG4gICAgJF9wb3B1cC1idXR0b24tY2xvc2UtcG9zaXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uLFxuICAgICRfcG9wdXAtYnV0dG9uLWNsb3NlLXBvc2l0aW9uLXRvcCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtYnV0dG9uLWNsb3NlX19wb3NpdGlvbi10b3AsXG4gICAgJF9wb3B1cC1idXR0b24tY2xvc2UtcG9zaXRpb24tcmlnaHQgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uLXJpZ2h0LFxuICAgICRfcG9wdXAtYnV0dG9uLWNsb3NlLXBvc2l0aW9uLWJvdHRvbSAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtYnV0dG9uLWNsb3NlX19wb3NpdGlvbi1ib3R0b20sXG4gICAgJF9wb3B1cC1idXR0b24tY2xvc2UtcG9zaXRpb24tbGVmdCAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1idXR0b24tY2xvc2VfX3Bvc2l0aW9uLWxlZnQsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1pY29uLWZvbnRfX2NvbnRlbnQsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1pY29uLWZvbnQsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1pY29uLWZvbnRfX3NpemUsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1pY29uLWZvbnRfX2xpbmUtaGVpZ2h0LFxuICAgICRfcG9wdXAtaWNvbi1mb250LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtaWNvbi1mb250X19jb2xvcixcbiAgICAkX3BvcHVwLWljb24tZm9udC1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWljb24tZm9udF9fY29sb3ItaG92ZXIsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtY29sb3ItYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1pY29uLWZvbnRfX2NvbG9yLWFjdGl2ZSxcbiAgICAkX3BvcHVwLWljb24tZm9udC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWljb24tZm9udF9fbWFyZ2luLFxuICAgICRfcG9wdXAtaWNvbi1mb250LXZlcnRpY2FsLWFsaWduICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtaWNvbi1mb250X192ZXJ0aWNhbC1hbGlnbixcbiAgICAkX3BvcHVwLWljb24tZm9udC1wb3NpdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWljb24tZm9udF9fcG9zaXRpb24sXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtdGV4dC1oaWRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1pY29uLWZvbnRfX3RleHQtaGlkZSxcblxuICAgIC8vICBBY3Rpb25zIHRvb2xiYXIgcGFyYW1ldGVyc1xuICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtYWN0aW9ucy10b29sYmFyLFxuICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcG9zaXRpb24gICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnNfX3Bvc2l0aW9uLFxuICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcmV2ZXJzZSAgICAgICAgICAgICAgICAgICAgOiAkcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnNfX3JldmVyc2UsXG4gICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwb3B1cC1hY3Rpb25zLXRvb2xiYXJfX21hcmdpbixcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWFjdGlvbnMtdG9vbGJhcl9fcGFkZGluZyxcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgIDogJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zX19tYXJnaW4sXG4gICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItcHJpbWFyeS1hY3Rpb25zLW1hcmdpbiAgICAgICAgICAgICA6ICRwb3B1cC1hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1wcmltYXJ5X19tYXJnaW4sXG4gICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItc2Vjb25kYXJ5LWFjdGlvbnMtbWFyZ2luICAgICAgICAgICA6ICRwb3B1cC1hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1zZWNvbmRhcnlfX21hcmdpbixcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3AgICAgICAgICAgIDogJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzX19tYXJnaW4tdG9wLFxuICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLXByaW1hcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wICAgOiAkcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtbGlua3MtcHJpbWFyeV9fbWFyZ2luLXRvcCxcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1zZWNvbmRhcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wIDogJHBvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzLXNlY29uZGFyeV9fbWFyZ2luLXRvcFxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX3BvcHVwLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYm9yZGVyLCAkX3BvcHVwLWJvcmRlcik7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhwYWRkaW5nLCAkX3BvcHVwLXBhZGRpbmcpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRfcG9wdXAtd2lkdGgpO1xuICAgIEBpbmNsdWRlIF9saWItcG9wdXAtaGVpZ2h0KCRfcG9wdXAtaGVpZ2h0KTtcbiAgICBAaW5jbHVkZSBfbGliLXBvcHVwLXNoYWRvdygkX3BvcHVwLXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgX2xpYi1wb3B1cC1hY3Rpb24tdG9vbGJhcihcbiAgICAgICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXIsXG4gICAgICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcG9zaXRpb24sXG4gICAgICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcmV2ZXJzZSxcbiAgICAgICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItbWFyZ2luLFxuICAgICAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1wYWRkaW5nLFxuICAgICAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLW1hcmdpbixcbiAgICAgICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItcHJpbWFyeS1hY3Rpb25zLW1hcmdpbixcbiAgICAgICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItc2Vjb25kYXJ5LWFjdGlvbnMtbWFyZ2luLFxuICAgICAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3AsXG4gICAgICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLXByaW1hcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wLFxuICAgICAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1zZWNvbmRhcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wXG4gICAgKTtcblxuICAgIC5wb3B1cC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9wb3B1cC1oZWFkZXItbWFyZ2luKTtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1wb3B1cC1oZWFkaW5ncyhcbiAgICAgICAgICAgICAgICAkX3BvcHVwLXRpdGxlLWhlYWRpbmdzLFxuICAgICAgICAgICAgICAgICRfcG9wdXAtdGl0bGUtaGVhZGluZ3MtbGV2ZWxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctcmlnaHQsICRfcG9wdXAtaWNvbi1mb250LXNpemUpXG4gICAgfVxuXG4gICAgLnBvcHVwLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBfbGliLXBvcHVwLWhlaWdodCgkX3BvcHVwLWNvbnRlbnQtaGVpZ2h0KTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4sICRfcG9wdXAtY29udGVudC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5wb3B1cC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbiwgJF9wb3B1cC1mb290ZXItbWFyZ2luKTtcbiAgICB9XG5cbiAgICAucG9wdXAtYWN0aW9ucyB7XG4gICAgICAgIC5hY3Rpb24uY2xvc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhwb3NpdGlvbiwgJF9wb3B1cC1idXR0b24tY2xvc2UtcG9zaXRpb24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLXBvcHVwLWJ1dHRvbi1jbG9zZS1pY29uKFxuICAgICAgICAgICAgICAgICRfcG9wdXAtYnV0dG9uLWNsb3NlLWljb24sXG4gICAgICAgICAgICAgICAgJF9wb3B1cC1pY29uLWZvbnQtY29udGVudCxcbiAgICAgICAgICAgICAgICAkX3BvcHVwLWljb24tZm9udCxcbiAgICAgICAgICAgICAgICAkX3BvcHVwLWljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRfcG9wdXAtaWNvbi1mb250LWxpbmUtaGVpZ2h0LFxuICAgICAgICAgICAgICAgICRfcG9wdXAtaWNvbi1mb250LWNvbG9yLFxuICAgICAgICAgICAgICAgICRfcG9wdXAtaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICRfcG9wdXAtaWNvbi1mb250LWNvbG9yLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAkX3BvcHVwLWljb24tZm9udC1tYXJnaW4sXG4gICAgICAgICAgICAgICAgJF9wb3B1cC1pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAgICAgJF9wb3B1cC1pY29uLWZvbnQtcG9zaXRpb24sXG4gICAgICAgICAgICAgICAgJF9wb3B1cC1pY29uLWZvbnQtdGV4dC1oaWRlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1wb3B1cC1idXR0b24tY2xvc2UtcmVzZXQoXG4gICAgICAgICAgICAgICAgJF9wb3B1cC1idXR0b24tY2xvc2UtcmVzZXRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvdHRvbSwgJF9wb3B1cC1idXR0b24tY2xvc2UtcG9zaXRpb24tYm90dG9tKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobGVmdCwgJF9wb3B1cC1idXR0b24tY2xvc2UtcG9zaXRpb24tbGVmdCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHJpZ2h0LCAkX3BvcHVwLWJ1dHRvbi1jbG9zZS1wb3NpdGlvbi1yaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRvcCwgJF9wb3B1cC1idXR0b24tY2xvc2UtcG9zaXRpb24tdG9wKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIF9saWItcG9wdXAtZmFkZSgkX3BvcHVwLWZhZGUpO1xuXG4gICAgQGluY2x1ZGUgbGliLWNzcyhib3R0b20sICRfcG9wdXAtcG9zaXRpb24tYm90dG9tKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGxlZnQsICRfcG9wdXAtcG9zaXRpb24tbGVmdCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkX3BvcHVwLW1hcmdpbi1ib3R0b20pO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWxlZnQsICRfcG9wdXAtbWFyZ2luLWxlZnQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXJpZ2h0LCAkX3BvcHVwLW1hcmdpbi1yaWdodCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tdG9wLCAkX3BvcHVwLW1hcmdpbi10b3ApO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocG9zaXRpb24sICRfcG9wdXAtcG9zaXRpb24pO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MocmlnaHQsICRfcG9wdXAtcG9zaXRpb24tcmlnaHQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkX3BvcHVwLXBvc2l0aW9uLXRvcCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyh6LWluZGV4LCAkX3BvcHVwLXotaW5kZXgpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBtaXhpbiBsaWItd2luZG93LW92ZXJsYXkoXG4gICAgJF9vdmVybGF5LWJhY2tncm91bmQ6ICRvdmVybGF5X19iYWNrZ3JvdW5kLFxuICAgICRfb3ZlcmxheS1vcGFjaXR5OiAkb3ZlcmxheV9fb3BhY2l0eSxcbiAgICAkX292ZXJsYXktb3BhY2l0eS1vbGQ6ICRvdmVybGF5X19vcGFjaXR5LW9sZCxcbiAgICAkX292ZXJsYXktZmFkZTogJG92ZXJsYXlfX2ZhZGUsXG4gICAgJF9vdmVybGF5LXotaW5kZXg6ICRvdmVybGF5X196LWluZGV4XG4pIHtcbiAgICBAaW5jbHVkZSBfbGliLXBvcHVwLWZhZGUoJF9vdmVybGF5LWZhZGUpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJF9vdmVybGF5LWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3Moei1pbmRleCwgJF9vdmVybGF5LXotaW5kZXgpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhvcGFjaXR5LCAkX292ZXJsYXktb3BhY2l0eSk7XG5cbiAgICAgICAgQGlmICRfb3ZlcmxheS1vcGFjaXR5LW9sZCAhPSBmYWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JF9vdmVybGF5LW9wYWNpdHktb2xkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBJbnRlcm5hbCB1c2UgbWl4aW5zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICBQb3B1cCBmYWRlXG5AbWl4aW4gX2xpYi1wb3B1cC1mYWRlKCRfcG9wdXAtZmFkZSkge1xuICAgIEBpZiAkX3BvcHVwLWZhZGUgIT0gJycge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHRyYW5zaXRpb24sICRfcG9wdXAtZmFkZSk7XG4gICAgfVxufVxuXG4vLyAgUG9wdXAgc2hhZG93XG5AbWl4aW4gX2xpYi1wb3B1cC1zaGFkb3coJF9wb3B1cC1zaGFkb3cpIHtcbiAgICBAaWYgJF9wb3B1cC1zaGFkb3cgIT0gJycgYW5kICRfcG9wdXAtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJveC1zaGFkb3csICRfcG9wdXAtc2hhZG93KTtcbiAgICB9XG59XG5cbi8vICBQb3B1cCBoZWlnaHRcbkBtaXhpbiBfbGliLXBvcHVwLWhlaWdodCgkX3BvcHVwLWhlaWdodCkge1xuICAgIEBpZiAkX3BvcHVwLWhlaWdodCAhPSBhdXRvIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXgtaGVpZ2h0LCAkX3BvcHVwLWhlaWdodCk7XG4gICAgfVxufVxuXG4vLyAgUG9wdXAgSGVhZGluZ3NcbkBtaXhpbiBfbGliLXBvcHVwLWhlYWRpbmdzKFxuICAgICRfcG9wdXAtdGl0bGUtaGVhZGluZ3MsXG4gICAgJF9wb3B1cC10aXRsZS1oZWFkaW5ncy1sZXZlbFxuKSB7XG4gICAgQGlmICRfcG9wdXAtdGl0bGUtaGVhZGluZ3MgPT0gdHJ1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1oZWFkaW5nKCRfcG9wdXAtdGl0bGUtaGVhZGluZ3MtbGV2ZWwpO1xuICAgIH1cbn1cblxuLy8gIFBvcHVwIGFjdGlvbi10b29sYmFyXG5AbWl4aW4gX2xpYi1wb3B1cC1hY3Rpb24tdG9vbGJhcihcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhcixcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXBvc2l0aW9uLFxuICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcmV2ZXJzZSxcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1tYXJnaW4sXG4gICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItcGFkZGluZyxcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLW1hcmdpbixcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1wcmltYXJ5LWFjdGlvbnMtbWFyZ2luLFxuICAgICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLXNlY29uZGFyeS1hY3Rpb25zLW1hcmdpbixcbiAgICAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3AsXG4gICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItcHJpbWFyeS1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3AsXG4gICAgJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItc2Vjb25kYXJ5LWFjdGlvbnMtbGlua3MtbWFyZ2luLXRvcFxuKSB7XG4gICAgQGlmICRfcG9wdXAtYWN0aW9ucy10b29sYmFyID09IHRydWUge1xuICAgICAgICAucG9wdXAtZm9vdGVyIHtcbiAgICAgICAgICAgIC5hY3Rpb25zLnRvb2xiYXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1hY3Rpb25zLXRvb2xiYXIoXG4gICAgICAgICAgICAgICAgICAgICRfYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtcG9zaXRpb24gICAgICAgICAgICAgICAgICAgOiAkX3BvcHVwLWFjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAkX2FjdGlvbnMtdG9vbGJhci1hY3Rpb25zLXJldmVyc2UgICAgICAgICAgICAgICAgICAgIDogJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1yZXZlcnNlLFxuICAgICAgICAgICAgICAgICAgICAkX2FjdGlvbnMtdG9vbGJhci1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItbWFyZ2luLFxuICAgICAgICAgICAgICAgICAgICAkX2FjdGlvbnMtdG9vbGJhci1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1tYXJnaW4gICAgICAgICAgICAgICAgICAgICA6ICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtbWFyZ2luLFxuICAgICAgICAgICAgICAgICAgICAkX2FjdGlvbnMtdG9vbGJhci1wcmltYXJ5LWFjdGlvbnMtbWFyZ2luICAgICAgICAgICAgIDogJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItcHJpbWFyeS1hY3Rpb25zLW1hcmdpbixcbiAgICAgICAgICAgICAgICAgICAgJF9hY3Rpb25zLXRvb2xiYXItc2Vjb25kYXJ5LWFjdGlvbnMtbWFyZ2luICAgICAgICAgICA6ICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLXNlY29uZGFyeS1hY3Rpb25zLW1hcmdpbixcbiAgICAgICAgICAgICAgICAgICAgJF9hY3Rpb25zLXRvb2xiYXItYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wICAgICAgICAgICA6ICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLWFjdGlvbnMtbGlua3MtbWFyZ2luLXRvcCxcbiAgICAgICAgICAgICAgICAgICAgJF9hY3Rpb25zLXRvb2xiYXItcHJpbWFyeS1hY3Rpb25zLWxpbmtzLW1hcmdpbi10b3AgICA6ICRfcG9wdXAtYWN0aW9ucy10b29sYmFyLXByaW1hcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wLFxuICAgICAgICAgICAgICAgICAgICAkX2FjdGlvbnMtdG9vbGJhci1zZWNvbmRhcnktYWN0aW9ucy1saW5rcy1tYXJnaW4tdG9wIDogJF9wb3B1cC1hY3Rpb25zLXRvb2xiYXItc2Vjb25kYXJ5LWFjdGlvbnMtbGlua3MtbWFyZ2luLXRvcFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICBQb3B1cCBjbG9zZSBidXR0b24gdXNlIGljb25cbkBtaXhpbiBsaWItcG9wdXAtYnV0dG9uLWNsb3NlLWljb24oXG4gICAgJF9wb3B1cC1idXR0b24tY2xvc2UtaWNvbixcbiAgICAkX3BvcHVwLWljb24tZm9udC1jb250ZW50LFxuICAgICRfcG9wdXAtaWNvbi1mb250LFxuICAgICRfcG9wdXAtaWNvbi1mb250LXNpemUsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtbGluZS1oZWlnaHQsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtY29sb3IsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtY29sb3ItaG92ZXIsXG4gICAgJF9wb3B1cC1pY29uLWZvbnQtY29sb3ItYWN0aXZlLFxuICAgICRfcG9wdXAtaWNvbi1mb250LW1hcmdpbixcbiAgICAkX3BvcHVwLWljb24tZm9udC12ZXJ0aWNhbC1hbGlnbixcbiAgICAkX3BvcHVwLWljb24tZm9udC1wb3NpdGlvbixcbiAgICAkX3BvcHVwLWljb24tZm9udC10ZXh0LWhpZGVcbikge1xuICAgIEBpZiAkX3BvcHVwLWJ1dHRvbi1jbG9zZS1pY29uID09IHRydWUge1xuICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLWljb24oXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICAgICA6ICRfcG9wdXAtaWNvbi1mb250LWNvbnRlbnQsXG4gICAgICAgICAgICAkX2ljb24tZm9udCAgICAgICAgICAgICAgICA6ICRfcG9wdXAtaWNvbi1mb250LFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgOiAkX3BvcHVwLWljb24tZm9udC1zaXplLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgICAgOiAkX3BvcHVwLWljb24tZm9udC1saW5lLWhlaWdodCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgICAgIDogJF9wb3B1cC1pY29uLWZvbnQtY29sb3IsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvci1ob3ZlciAgICA6ICRfcG9wdXAtaWNvbi1mb250LWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItYWN0aXZlICAgOiAkX3BvcHVwLWljb24tZm9udC1jb2xvci1hY3RpdmUsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1tYXJnaW4gICAgICAgICA6ICRfcG9wdXAtaWNvbi1mb250LW1hcmdpbixcbiAgICAgICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduIDogJF9wb3B1cC1pY29uLWZvbnQtdmVydGljYWwtYWxpZ24sXG4gICAgICAgICAgICAkX2ljb24tZm9udC1wb3NpdGlvbiAgICAgICA6ICRfcG9wdXAtaWNvbi1mb250LXBvc2l0aW9uLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlICAgICAgOiAkX3BvcHVwLWljb24tZm9udC10ZXh0LWhpZGVcbiAgICAgICAgKTtcbiAgICB9XG59XG4vLyAgUG9wdXAgY2xvc2UgYnV0dG9uIHJlc2V0XG5AbWl4aW4gX2xpYi1wb3B1cC1idXR0b24tY2xvc2UtcmVzZXQgKFxuICAgICRfcG9wdXAtYnV0dG9uLWNsb3NlLXJlc2V0XG4pIHtcbiAgICBAaWYgJF9wb3B1cC1idXR0b24tY2xvc2UtcmVzZXQgPT0gdHJ1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24tcmVzZXQoKTtcbiAgICB9XG59XG4iLCIkZGVza3RvcC1wb3B1cC13aWR0aCAgICAgICAgIDogMzgwcHggIWRlZmF1bHQ7XG4kZGVza3RvcC1wb3B1cC1tYXJnaW4tbGVmdCAgIDogLSgoJGRlc2t0b3AtcG9wdXAtd2lkdGggKyAoJHBvcHVwX19wYWRkaW5nICogMikpIC8gMikgIWRlZmF1bHQ7XG4kZGVza3RvcC1wb3B1cC1wb3NpdGlvbi1sZWZ0IDogNTAlICFkZWZhdWx0O1xuJGRlc2t0b3AtcG9wdXAtcG9zaXRpb24tdG9wICA6IDIwJSAhZGVmYXVsdDtcblxuLndpc2hsaXN0IHtcbiAgICAvLyAgV2lzaCBsaXN0IHNwbGl0IGJ1dHRvblxuICAgICYuc3BsaXQuYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWRyb3Bkb3duLWl0ZW1zLW5ldztcbiAgICAgICAgQGluY2x1ZGUgbGliLWRyb3Bkb3duLXNwbGl0KFxuICAgICAgICAgICAgJF9vcHRpb25zLXNlbGVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcuaXRlbXMnLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1zcGxpdC1idXR0b24tYm9yZGVyLXJhZGl1cy1maXggICA6IHRydWUsXG4gICAgICAgICAgICAkX2Ryb3Bkb3duLXNwbGl0LWxpc3QtaXRlbS1wYWRkaW5nICAgICAgICAgIDogNXB4IDVweCA1cHggMjNweCxcbiAgICAgICAgICAgICRfZHJvcGRvd24tc3BsaXQtdG9nZ2xlLWljb24tY29udGVudCAgICAgICAgOiAkaWNvbi1kb3duLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1zcGxpdC10b2dnbGUtYWN0aXZlLWljb24tY29udGVudCA6ICRpY29uLXVwLFxuICAgICAgICAgICAgJF9kcm9wZG93bi1zcGxpdC10b2dnbGUtYWN0aW9ucy1wYWRkaW5nICAgICA6IGZhbHNlLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDIycHgsXG4gICAgICAgICAgICAkX2ljb24tZm9udC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGFkZHRvLWNvbG9yLFxuICAgICAgICAgICAgJF9pY29uLWZvbnQtY29sb3ItaG92ZXIgICAgICAgICAgICAgICAgICAgICA6ICRhZGR0by1ob3Zlci1jb2xvcixcbiAgICAgICAgICAgICRfZHJvcGRvd24tc3BsaXQtbGlzdC1wb2ludGVyLXBvc2l0aW9uICAgICAgOiBsZWZ0LFxuICAgICAgICAgICAgJF9kcm9wZG93bi1zcGxpdC1saXN0LW1pbi13aWR0aCAgICAgICAgICAgICA6IDIwMHB4XG4gICAgICAgICk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgLml0ZW1zIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRkcm9wZG93bi1saXN0LWl0ZW1fX2hvdmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJsZS1jb21wYXJpc29uICYsXG4gICAgICAgIC5wcm9kdWN0LWl0ZW1zICYge1xuICAgICAgICAgICAgPiAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWN0aW9uLWJ1dHRvbi1hcy1saW5rO1xuICAgICAgICAgICAgICAgICYuc3BsaXQge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWN0aW9ucy1hZGR0by1ncmlkbGlzdDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG4gICAgICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50OiAkaWNvbi13aXNobGlzdC1lbXB0eVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoY29sb3IsICRhZGR0by1ob3Zlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5hY3Rpb24udG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbGlnaHRlbigkYWRkdG8tY29sb3IsIDMwJSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW5mby1tYWluICYsXG4gICAgICAgIC5ibG9jay1idW5kbGUtc3VtbWFyeSAmLFxuICAgICAgICAucHJvZHVjdC1hZGQtZm9ybSAmIHtcbiAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgICYuc3BsaXQsXG4gICAgICAgICAgICAgICAgJi50b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXMoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQudGFibGUtd3JhcHBlciAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG5cbiAgICAgICAgICAgID4gLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgJi50b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggJGluZGVudF9feHM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi53aW5kb3cucG9wdXAge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBAaW5jbHVkZSBsaWItcG9wdXAoKTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYub3ZlcmxheSB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi13aW5kb3ctb3ZlcmxheSgpO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZHJvcGRvd24ge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtZHJvcGRvd24tc2ltcGxlO1xuICAgICAgICBAZXh0ZW5kIC5hYnMtZHJvcGRvd24taXRlbXMtbmV3O1xuICAgIH1cbn1cblxuLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC53aXNobGlzdCB7XG4gICAgICAgIC8vICBTZWxlY3Qgd2lzaCBsaXN0XG4gICAgICAgICYtc2VsZWN0IHtcbiAgICAgICAgICAgIC53aXNobGlzdC1uYW1lIHtcbiAgICAgICAgICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWNvbG9uO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19zZW1pYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaXRlbXMge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1saXN0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gIFdpc2ggbGlzdCBuYW1lXG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19saWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLW5vdGljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkdGV4dF9fY29sb3JfX211dGVkKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBXaXNoIGxpc3QgdG9vbGJhclxuICAgICAgICAmLXRvb2xiYXIge1xuICAgICAgICAgICAgJi1zZWxlY3QsXG4gICAgICAgICAgICAmLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1zZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyAgV2lzaCBsaXN0IHRvb2xiYXIgYWN0aW9uc1xuICAgICAgICAmLWRyb3Bkb3duLm1vdmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X19iYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2std2lzaGxpc3Qtc2VhcmNoLWZvcm0ge1xuICAgIC5mb3JtLXdpc2hsaXN0LXNlYXJjaCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWJvdHRvbSwgJGluZGVudF9fbCoyKTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgPiAubGVnZW5kIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2std2lzaGxpc3Qtc2VhcmNoLXJlc3VsdHMge1xuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1ibG9jay10aXRsZTtcbiAgICB9XG5cbiAgICAudG9vbGJhci13aXNobGlzdC1yZXN1bHRzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLnBhZ2UtbXVsdGlwbGUtd2lzaGxpc3Qge1xuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2std2lzaGxpc3QtaW5mby1pdGVtcyB7XG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkaW5kZW50X19iYXNlKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgyMik7XG4gICAgICAgID4gc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX2xpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGluZGVudF9fYmFzZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtLWluZm8ge1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5zcGxpdCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLnNwbGl0IHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3MgMDtcbiAgICB9XG5cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgJi50b3dpc2hsaXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3MgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgJi5xdHkge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWlucHV0LXF0eTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIxcHg7XG5cbiAgICAgICAgLndpc2hsaXN0IHtcbiAgICAgICAgICAgIC8vICBTZWxlY3Qgd2lzaCBsaXN0XG4gICAgICAgICAgICAmLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICgtJGxheW91dF9fd2lkdGgteHMtaW5kZW50KSAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLndpc2hsaXN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtdG9nZ2xpbmctdGl0bGUtbW9iaWxlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtaXRlbXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZCwgJGFjY291bnQtbmF2LWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDNweCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGluZGVudF9feHMgMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkYWNjb3VudC1uYXYtaXRlbS1ob3Zlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWFkZC5pdGVtIHtcbiAgICAgICAgICAgICAgICAuYWRkIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWljb24tYWRkLW1vYmlsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vICBXaXNoIGxpc3QgbmFtZVxuICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgyNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAgV2lzaCBsaXN0IGluZm9cbiAgICAgICAgICAgICYtaW5mbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gIFdpc2ggbGlzdCB0b29sYmFyXG4gICAgICAgICAgICAmLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgICYtc2VsZWN0LFxuICAgICAgICAgICAgICAgICYtYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IHtcbiAgICAgICAgLnByb2R1Y3Qge1xuICAgICAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICAgICAmLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1waG90byB7XG4gICAgICAgICAgICAgICAgICAgIC5wYWdlLW11bHRpcGxlLXdpc2hsaXN0ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbmRlbnRfX207XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLW5hbWUsXG4gICAgICAgICAgICAgICAgJi1kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAucHJpY2UtYm94LFxuICAgICAgICAgICAgICAgICYtdG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgICAgIC5wYWdlLW11bHRpcGxlLXdpc2hsaXN0ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndpc2hsaXN0LWRyb3Bkb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9vbGJhci13aXNobGlzdC1yZXN1bHRzIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXBhZ2VyLXRvb2xiYXItbW9iaWxlO1xuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC53aXNobGlzdCB7XG4gICAgICAgICYud2luZG93LnBvcHVwIHtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3ModG9wLCAkZGVza3RvcC1wb3B1cC1wb3NpdGlvbi10b3ApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhsZWZ0LCAkZGVza3RvcC1wb3B1cC1wb3NpdGlvbi1sZWZ0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWxlZnQsICRkZXNrdG9wLXBvcHVwLW1hcmdpbi1sZWZ0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3Mod2lkdGgsICRkZXNrdG9wLXBvcHVwLXdpZHRoKTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb3JtLWZpZWxkLXR5cGUtcmV2ZXJ0KCRfdHlwZTogYmxvY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLXdpc2hsaXN0LW1hbmFnZW1lbnQge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAgICAgLndpc2hsaXN0IHtcbiAgICAgICAgICAgIC8vICBTZWxlY3Qgd2lzaCBsaXN0XG4gICAgICAgICAgICAmLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWNvbmRhcnlfX2NvbG9yO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAud2lzaGxpc3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fcztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGluZGVudF9feHMgJGluZGVudF9fcyAkaW5kZW50X19zO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNSU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pdGVtcyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3hzICRpbmRlbnRfX3MgJGluZGVudF9fcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGFjdGl2ZV9fY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19zZW1pYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC53aXNobGlzdC1uYW1lLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1hZGQuaXRlbSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gIFdpc2ggbGlzdCBuYW1lXG4gICAgICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDQwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vICBXaXNoIGxpc3QgaW5mb1xuICAgICAgICAgICAgJi1pbmZvIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gIFdpc2ggbGlzdCB0b29sYmFyXG4gICAgICAgICAgICAmLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay13aXNobGlzdC1pbmZvLWl0ZW1zIHtcbiAgICAgICAgLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0cy1ncmlkLndpc2hsaXN0IHtcbiAgICAgICAgLnByb2R1Y3Qge1xuICAgICAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICAgICAmLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgKyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbmRlbnRfX207XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9vbGJhci13aXNobGlzdC1yZXN1bHRzIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXBhZ2VyLXRvb2xiYXI7XG4gICAgfVxufVxuIiwiLm11bHRpY2hlY2tvdXQge1xuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2w7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHRfX3JlZ3VsYXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgLmFjdGlvbi5kZWxldGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICAucXR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1pbnB1dC1xdHk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXRlbSB7XG4gICAgICAgICAgICAgICAgLmFjdGlvbi5lZGl0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmFkZHJlc3MpIHtcbiAgICAgICAgLnRhYmxlLXdyYXBwZXIge1xuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAkaW5kZW50X194bDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgPiAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19tO1xuXG4gICAgICAgICAgICAgICAgJi5iYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLnByaW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X19zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWJ1dHRvbi1sO1xuICAgIH1cblxuICAgIC5pdGVtLW9wdGlvbnMge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtcHJvZHVjdC1vcHRpb25zLWxpc3Q7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwIDA7XG4gICAgfVxuXG4gICAgQGV4dGVuZCAuYWJzLWFjY291bnQtYmxvY2tzO1xuXG4gICAgLmJsb2NrIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeDtcblxuICAgICAgICAubWV0aG9kcy1zaGlwcGluZyB7XG4gICAgICAgICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgICAgICAgICA+IC5sZWdlbmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gLmxlZ2VuZCArIGJyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAuZmllbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stdGl0bGUsXG4gICAgLmJsb2NrLWNvbnRlbnQgLnRpdGxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aF9fYmFzZSBzb2xpZCAkYm9yZGVyLWNvbG9yX19iYXNlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGluZGVudF9fcztcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJHByaW1hcnlfX2NvbG9yX19saWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9yZGVyLXJldmlldyB7XG4gICAgICAgIC5ibG9jay10aXRsZSA+IHN0cm9uZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1zaGlwcGluZyB7XG4gICAgICAgICAgICAuYmxvY2stY29udGVudDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X194bDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtdGl0bGUge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fcztcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmFjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC1iaWxsaW5nLW1ldGhvZCB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5sZWdlbmQuYm94LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X194cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRkZW4ge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtbm8tZGlzcGxheTtcbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtcmV2aWV3IC5ncmFuZC50b3RhbHMge1xuICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKCRmb250LXNpemVfX3hsKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9feGw7XG5cbiAgICAgICAgLm1hcmsge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2NsYXNzXj0nbXVsdGlzaGlwcGluZy0nXSB7XG4gICAgLm5hdi1zZWN0aW9ucyxcbiAgICAubmF2LXRvZ2dsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG4ubXVsdGlzaGlwcGluZy1jaGVja291dC1zdWNjZXNzIHtcbiAgICAubmF2LXNlY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAubXVsdGljaGVja291dCB7XG4gICAgICAgIC5kYXRhLnRhYmxlIHtcbiAgICAgICAgICAgIC5hZGRyZXNzIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3hzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZSxcbiAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1jb250ZW50IC5ib3gge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X194bDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vcmRlci1yZXZpZXcge1xuICAgICAgICAgICAgLmJveC1pdGVtcyB7XG4gICAgICAgICAgICAgICAgLmRhdGEudGFibGUge1xuICAgICAgICAgICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuY29sLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYXRhLnRhYmxlIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtY2hlY2tvdXQtb3JkZXItcmV2aWV3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19tO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19tO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLm11bHRpY2hlY2tvdXQge1xuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIC5jb2x1bW46bm90KC5zaWRlYmFyLW1haW4pICYge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1sZWZ0LW1hcmdpbi1kZXNrdG9wLXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbmRlbnRfX3M7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5iYWNrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fYmFzZSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stY29udGVudCAuYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stc2hpcHBpbmcge1xuICAgICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1ib3gtc2l6aW5nLWRlc2t0b3AtcztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYm94LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50X19tO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbmRlbnRfX207XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgICAgIC5sZWdlbmQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxlZnQtbWFyZ2luLWRlc2t0b3AtcztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1iaWxsaW5nIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXgtZGVza3RvcC1zO1xuICAgICAgICAgICAgLmJveC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtYm94LXNpemluZy1kZXNrdG9wLXM7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJveC1iaWxsaW5nLW1ldGhvZCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1ib3gtc2l6aW5nLWRlc2t0b3AtcztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnRfX207XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZm9ybS5hZGRyZXNzIHtcbiAgICAgICAgICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAuYXBwbGljYWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogN3B4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm9yZGVyLXJldmlldyB7XG4gICAgICAgICAgICAuYm94LWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGluZGVudF9feGw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wuaXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBQYXltZW50IG1ldGhvZHNcbiAgICAgICAgLm1ldGhvZHMtcGF5bWVudCB7XG4gICAgICAgICAgICAuaXRlbS1jb250ZW50ID4gLmZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgICYuY3Z2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGRzZXQgPiAuZmllbGQ6bm90KC5jaG9pY2UpIHtcbiAgICAgICAgICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bm90KC5jdnYpIHtcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5tdWx0aXNoaXBwaW5nLWNoZWNrb3V0LXN1Y2Nlc3Mge1xuICAgICAgICAubmF2LXRvZ2dsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaW5kZW50X194bDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vICBOZXdzbGV0dGVyIHN1YnNjcmlwdGlvblxuLmJsb2NrLm5ld3NsZXR0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3hsO1xuXG4gICAgLmZvcm0uc3Vic2NyaWJlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuZmllbGQge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udChcbiAgICAgICAgICAgICAgICAkaWNvbi1lbnZlbG9wZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICAgICA6IDM1cHgsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQgOiAzM3B4LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LWNvbG9yICAgICAgIDogJGZvcm0tZWxlbWVudC1pbnB1dC1wbGFjZWhvbGRlcl9fY29sb3JcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxJTtcbiAgICB9XG5cbiAgICAuYWN0aW9uLnN1YnNjcmliZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5ibG9jay5uZXdzbGV0dGVyIHtcbiAgICAgICAgd2lkdGg6IDMyJTtcblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24uc3Vic2NyaWJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vICBQYXlQYWwgY2hlY2tvdXQgYnV0dG9uXG4ucGF5cGFsIHtcbiAgICAmLmFmdGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJy0gJyBhdHRyKGRhdGEtbGFiZWwpICcgLSc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9feHMgJGluZGVudF9feHMgJGluZGVudF9fcztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJlZm9yZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICctICcgYXR0cihkYXRhLWxhYmVsKSAnIC0nO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46ICRpbmRlbnRfX3MgJGluZGVudF9feHM7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hY2NlcHRhbmNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJveC10b2NhcnQsXG4uYmxvY2stbWluaWNhcnQge1xuICAgIC5wYXlwYWwgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuLnBheXBhbC1idXR0b24td2lkZ2V0IHtcbiAgICAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hY3Rpb24tYnV0dG9uLWFzLWxpbms7XG4gICAgfVxufVxuIiwiLy8gIFBheVBhbCBSZXZpZXcgT3JkZXIgcGFnZVxuLnBheXBhbC1yZXZpZXcge1xuICAgIC5ibG9jayB7XG4gICAgICAgIEBleHRlbmQgLmFicy1hY2NvdW50LWJsb2NrcztcbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAmLnByaW1hcnkge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcmV2ZXJ0LXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGF5cGEtcmV2aWV3LXRpdGxlIHtcbiAgICAgICAgPiBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWhlYWRpbmcoaDMpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1zLXF0eSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1saXN0O1xuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXlwYWwtcmV2aWV3LXRpdGxlIHtcbiAgICAgICAgPiBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWhlYWRpbmcoaDMpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLml0ZW0tb3B0aW9ucyB7XG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vICBEaXNjb3VudHNcbi5wYXlwYWwtcmV2aWV3LWRpc2NvdW50IHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgbWFyZ2luOiAkaW5kZW50X19iYXNlIDA7XG5cbiAgICAuYmxvY2sge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtZGlzY291bnQtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3MgMCAkaW5kZW50X19iYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLnBheXBhbC1yZXZpZXcge1xuICAgICAgICAucGF5cGFsLXJldmlldy10aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A7XG4gICAgICAgICAgICAuYm94LW9yZGVyLXNoaXBwaW5nLWFkZHJlc3MsXG4gICAgICAgICAgICAuYm94LW9yZGVyLXNoaXBwaW5nLW1ldGhvZCxcbiAgICAgICAgICAgIC5ib3gtb3JkZXItc2hpcHBpbmctbWV0aG9kICsgLmJveC1vcmRlci1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJveC1vcmRlci1zaGlwcGluZy1hZGRyZXNzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uLm1haW4gJiB7XG4gICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGVmdC1tYXJnaW4tZGVza3RvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wuc3VidG90YWwsXG4gICAgICAgIC5tYXJrLFxuICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZvdG9yYW1hLXZpZGVvLWNvbnRhaW5lciB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9NYWdlbnRvX1Byb2R1Y3RWaWRlby9pbWcvZ2FsbGVyeS1zcHJpdGUucG5nKSBib3R0b20gcmlnaHQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuXG4gICAgLm1hZ25pZnktbGVucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLnZpZGVvLXVucGxheWVkIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZpZGVvLXRodW1iLWljb246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9NYWdlbnRvX1Byb2R1Y3RWaWRlby9pbWcvZ2FsbGVyeS1zcHJpdGUucG5nKSBib3R0b20gbGVmdDtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwcHg7XG4gICAgd2lkdGg6IDQ5cHg7XG59XG5cbi5wcm9kdWN0LXZpZGVvIHtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA3NSU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cbn1cblxuLmZvdG9yYW1hX19zdGFnZV9fc2hhZnQ6Zm9jdXMgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZTphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTJweDtcbiAgICB3aWR0aDogMTAwcHg7XG59XG5cbi5mb3RvcmFtYV9fcHJvZHVjdC12aWRlby0tbG9hZGluZyB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vICAkVE9ETyBVSTogY2hlY2sgcG9zc2liaWxpdHkgdG8gdXNlIC5tZWRpYS13aWR0aCgpIG1peGluXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWluLWRldmljZS13aWR0aDogMzIwcHgpXG5hbmQgKG1heC1kZXZpY2Utd2lkdGg6IDc4MHB4KVxuYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnByb2R1Y3QtdmlkZW8ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA4MSU7XG4gICAgfVxufVxuIiwiLy9cbi8vICBWYXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJHJldmlldy1yYXRpbmdzLWxlZnQ6IDI4MHB4ICFkZWZhdWx0O1xuJHJldmlld3MtaW5kZW50LWRlc2t0b3A6IDMwcHggIWRlZmF1bHQ7XG5cbi5yYXRpbmctc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgbGliLXJhdGluZy1zdW1tYXJ5KCk7XG4gICAgLnJhdGluZy1yZXN1bHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSxcbi50YWJsZS1yZXZpZXdzIHtcbiAgICAucmF0aW5nLXN1bW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBsaWItcmF0aW5nLXN1bW1hcnktbGFiZWwtaGlkZSgpO1xuICAgIH1cbn1cblxuLnJldmlldy1jb250cm9sLXZvdGUge1xuICAgIEBpbmNsdWRlIGxpYi1yYXRpbmctdm90ZSgpO1xufVxuXG4vL1xuLy8gIEFkZCByZXZpZXcgYmxvY2tcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJsb2NrIHtcbiAgICAmLmFkZC5yZXZpZXcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X194bDtcblxuICAgICAgICA+IC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaGVhZGluZyhoMik7XG4gICAgICAgIH1cblxuICAgICAgICAubGVnZW5kIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1oZWFkaW5nKGgzKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQucmF0aW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX3hzIDA7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmV2aWV3cy5saXN0IHtcbiAgICAgICAgPiAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWhlYWRpbmcoaDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJldmlldyB7XG4gICAgICAgICAgICAmLml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3hsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItaGVhZGluZyhoMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kYXRhLnRhYmxlLnJldmlld3Mge1xuICAgIC5yYXRpbmctc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgfVxufVxuXG4uY3VzdG9tZXItcmV2aWV3LnZpZXcge1xuICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAucmV2aWV3LnRpdGxlLFxuICAgIC5yYXRpbmdzLXN1bW1hcnksXG4gICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogJGluZGVudF9fcyAwIDEycHg7XG5cbiAgICAucHJvZHVjdHMud3JhcHBlci5saXN0ICYge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmLmVtcHR5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnJhdGluZy1zdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgbGVmdDogLSRpbmRlbnRfX3hzO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnJldmlld3MtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcmF0aW5nLWljb25fX2ZvbnQtc2l6ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9feHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkge1xuICAgICAgICAucHJvZHVjdHMud3JhcHBlci5saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3VzdG9tZXItcmV2aWV3IHtcbiAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9feGw7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbWVkaWEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyODVweDtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG5cbiAgICAucmV2aWV3LWRldGFpbHMge1xuICAgICAgICAuY3VzdG9tZXItcmV2aWV3LXJhdGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKG1hcmdpbi1ib3R0b20sICRpbmRlbnRfX2Jhc2UpO1xuXG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkaW5kZW50X19zKTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJldmlldy10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItaGVhZGluZyhoMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtd2VpZ2h0LCAkZm9udC13ZWlnaHRfX3NlbWlib2xkKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLWJvdHRvbSwgJGluZGVudF9fYmFzZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkaW5kZW50X19iYXNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSB7XG4gICAgICAgIC5yYXRpbmctc3VtbWFyeSxcbiAgICAgICAgLnJldmlld3MtYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJldmlldy1maWVsZC1yYXRpbmdzIHtcbiAgICAubmVzdGVkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgLnJldmlldy1maWVsZC1yYXRpbmcge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICAgICAgLmxhYmVsLFxuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbmRlbnRfX3M7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBSZXZpZXcgcHJvZHVjdCBwYWdlXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5yZXZpZXcge1xuICAgICYtdG9vbGJhciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JheTc5O1xuICAgICAgICBtYXJnaW46IDAgMCAkaW5kZW50X19iYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheTc5O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAkaW5kZW50X19iYXNlIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubGltaXRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1hZGQge1xuICAgICAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZm9ybSB7XG4gICAgICAgIC5hY3Rpb24uc3VibWl0LnByaW1hcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1yZXZlcnQtc2Vjb25kYXJ5LWNvbG9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGRzZXQgJi1sZWdlbmQubGVnZW5kIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxlZnQtbWFyZ2luO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19iYXNlO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1maWVsZC1yYXRpbmcge1xuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjIgKiAkaW5kZW50X194bDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19sO1xuXG4gICAgICAgIC5ibG9jay10aXRsZSBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWhlYWRpbmcoaDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNsZWFyZXIoKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5Nzk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJGluZGVudF9fYmFzZSAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXJhdGluZ3Mge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYtYXV0aG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBsaWItaGVhZGluZyhoMyk7XG4gICAgICAgIG1hcmdpbjogMCAwICRpbmRlbnRfX2Jhc2U7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAucmV2aWV3IHtcbiAgICAgICAgJi1mb3JtIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLXJhdGluZ3Mge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkcmV2aWV3LXJhdGluZ3MtbGVmdCAtICRpbmRlbnRfX3hsO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1yYXRpbmdzIH4gJi1jb250ZW50LFxuICAgICAgICAmLXJhdGluZ3MgfiAmLWRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRyZXZpZXctcmF0aW5ncy1sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi10b29sYmFyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRyZXZpZXdzLWluZGVudC1kZXNrdG9wO1xuXG4gICAgICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRyZXZpZXdzLWluZGVudC1kZXNrdG9wIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQgJi1sZWdlbmQubGVnZW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRyZXZpZXdzLWluZGVudC1kZXNrdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRyZXZpZXdzLWluZGVudC1kZXNrdG9wIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRyZXZpZXdzLWluZGVudC1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBSYXRpbmdzXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi8vICBSYXRpbmctdm90ZSBtaXhpblxuQG1peGluIGxpYi1yYXRpbmctdm90ZShcbiAgICAkX2ljb24tY291bnQgICAgICAgICAgOiAkcmF0aW5nLWljb25fX2NvdW50LFxuICAgICRfaWNvbi1jb250ZW50ICAgICAgICA6ICRyYXRpbmctaWNvbl9fY29udGVudCxcbiAgICAkX2ljb24tZm9udCAgICAgICAgICAgOiAkcmF0aW5nLWljb25fX2ZvbnQsXG4gICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgIDogJHJhdGluZy1pY29uX19mb250LXNpemUsXG4gICAgJF9pY29uLWxldHRlci1zcGFjaW5nIDogJHJhdGluZy1pY29uX19sZXR0ZXItc3BhY2luZyxcbiAgICAkX2ljb24tY29sb3IgICAgICAgICAgOiAkcmF0aW5nLWljb25fX2NvbG9yLFxuICAgICRfaWNvbi1jb2xvci1hY3RpdmUgICA6ICRyYXRpbmctaWNvbl9fYWN0aXZlX19jb2xvclxuKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgX2xpYi1yYXRpbmctaWNvbi1kZWZhbHQoXG4gICAgICAgICAgICAkX2ljb24tZm9udCxcbiAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUsXG4gICAgICAgICAgICAkX2ljb24tbGV0dGVyLXNwYWNpbmcsXG4gICAgICAgICAgICAkX2ljb24tY29sb3JcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLXJhdGluZy1pY29ucy1jb250ZW50KFxuICAgICAgICAgICAgJF9pY29uLWNvdW50LFxuICAgICAgICAgICAgJF9pY29uLWNvbnRlbnRcbiAgICAgICAgKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBAaW5jbHVkZSBsaWItdmlzdWFsbHktaGlkZGVuKCk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9saWItcmF0aW5nLWljb24tZGVmYWx0KFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LFxuICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJF9pY29uLWxldHRlci1zcGFjaW5nLFxuICAgICAgICAgICAgICAgICRfaWNvbi1jb2xvci1hY3RpdmVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIF9saWItcmF0aW5nLWl0ZXJhdGlvbihcbiAgICAgICAgJF9pY29uLWNvbnRlbnQsXG4gICAgICAgICRfaWNvbi1jb3VudFxuICAgICk7XG59XG5cbi8vICBSYXRpbmctc3VtbWFyeSBtaXhpblxuQG1peGluIGxpYi1yYXRpbmctc3VtbWFyeShcbiAgICAkX2ljb24tY291bnQgICAgICAgICAgOiAkcmF0aW5nLWljb25fX2NvdW50LFxuICAgICRfaWNvbi1jb250ZW50ICAgICAgICA6ICRyYXRpbmctaWNvbl9fY29udGVudCxcbiAgICAkX2ljb24tZm9udCAgICAgICAgICAgOiAkcmF0aW5nLWljb25fX2ZvbnQsXG4gICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgIDogJHJhdGluZy1pY29uX19mb250LXNpemUsXG4gICAgJF9pY29uLWxldHRlci1zcGFjaW5nIDogJHJhdGluZy1pY29uX19sZXR0ZXItc3BhY2luZyxcbiAgICAkX2ljb24tY29sb3IgICAgICAgICAgOiAkcmF0aW5nLWljb25fX2NvbG9yLFxuICAgICRfaWNvbi1jb2xvci1hY3RpdmUgICA6ICRyYXRpbmctaWNvbl9fYWN0aXZlX19jb2xvcixcbiAgICAkX2xhYmVsLWhpZGUgICAgICAgICAgOiAkcmF0aW5nLWxhYmVsX19oaWRlXG4pIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGluY2x1ZGUgX2xpYi1yYXRpbmctbGFiZWwtaGlkZSgkX2xhYmVsLWhpZGUpO1xuXG4gICAgLnJhdGluZy1yZXN1bHQge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHdpZHRoLCAoJF9pY29uLWZvbnQtc2l6ZSAqICRfaWNvbi1jb3VudCkgKyBjZWlsKCRfaWNvbi1sZXR0ZXItc3BhY2luZyAqICgkX2ljb24tY291bnQgLSAxKSkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgX2xpYi1yYXRpbmctc3VtbWFyeS1pY29uLWRlZmF1bHQoXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQsXG4gICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2ljb24tbGV0dGVyLXNwYWNpbmcsXG4gICAgICAgICAgICAgICAgJF9pY29uLWNvdW50LFxuICAgICAgICAgICAgICAgICRfaWNvbi1jb250ZW50LFxuICAgICAgICAgICAgICAgICRfaWNvbi1jb2xvclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBfbGliLXJhdGluZy1zdW1tYXJ5LWljb24tZGVmYXVsdChcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1sZXR0ZXItc3BhY2luZyxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWNvdW50LFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWNvbG9yLWFjdGl2ZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi12aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpYi1yYXRpbmctc3VtbWFyeS1sYWJlbC1oaWRlKCkge1xuICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi12aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG59XG5cbi8vICBJbnRlcm5hbCB1c2UgbWl4aW5zXG5AbWl4aW4gX2xpYi1yYXRpbmctbGFiZWwtaGlkZSgkX2xhYmVsLWhpZGUpIHtcbiAgICBAaWYgJF9sYWJlbC1oaWRlID09IHRydWUge1xuICAgICAgICBAaW5jbHVkZSBsaWItcmF0aW5nLXN1bW1hcnktbGFiZWwtaGlkZSgpO1xuICAgIH1cbn1cblxuQG1peGluIF9saWItcmF0aW5nLWl0ZXJhdGlvbihcbiAgICAkX2ljb24tY29udGVudCxcbiAgICAkX2ljb24tY291bnRcbikge1xuICAgIEBmb3IgJF9pbmRleCBmcm9tICRfaWNvbi1jb3VudCB0byAwIHtcbiAgICAgICAgLnJhdGluZy0jeyRfaW5kZXh9IHtcbiAgICAgICAgICAgIHotaW5kZXg6ICRfaWNvbi1jb3VudCAtICgkX2luZGV4IC0gMik7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLXJhdGluZy1pY29ucy1jb250ZW50KCRfaW5kZXgsICRfaWNvbi1jb250ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIF9saWItcmF0aW5nLWljb24tZGVmYWx0KFxuICAgICRfaWNvbi1mb250LFxuICAgICRfaWNvbi1mb250LXNpemUsXG4gICAgJF9pY29uLWxldHRlci1zcGFjaW5nLFxuICAgICRfaWNvbi1jb2xvclxuKSB7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhjb2xvciwgJF9pY29uLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtZmFtaWx5LCAkX2ljb24tZm9udCk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhmb250LXNpemUsICRfaWNvbi1mb250LXNpemUpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoaGVpZ2h0LCAkX2ljb24tZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGxldHRlci1zcGFjaW5nLCAkX2ljb24tbGV0dGVyLXNwYWNpbmcpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobGluZS1oZWlnaHQsICRfaWNvbi1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbkBtaXhpbiBfbGliLXJhdGluZy1zdW1tYXJ5LWljb24tZGVmYXVsdChcbiAgICAkX2ljb24tZm9udCxcbiAgICAkX2ljb24tZm9udC1zaXplLFxuICAgICRfaWNvbi1sZXR0ZXItc3BhY2luZyxcbiAgICAkX2ljb24tY291bnQsXG4gICAgJF9pY29uLWNvbnRlbnQsXG4gICAgJF9pY29uLWNvbG9yXG4pIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGNvbG9yLCAkX2ljb24tY29sb3IpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoZm9udC1mYW1pbHksICRfaWNvbi1mb250KTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKGZvbnQtc2l6ZSwgJF9pY29uLWZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhoZWlnaHQsICRfaWNvbi1mb250LXNpemUpO1xuICAgIEBpbmNsdWRlIGxpYi1jc3MobGV0dGVyLXNwYWNpbmcsICRfaWNvbi1sZXR0ZXItc3BhY2luZyk7XG4gICAgQGluY2x1ZGUgbGliLWNzcyhsaW5lLWhlaWdodCwgJF9pY29uLWZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgbGliLXJhdGluZy1pY29ucy1jb250ZW50KCRfaWNvbi1jb3VudCwgJF9pY29uLWNvbnRlbnQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHNwZWFrOiBub25lO1xufVxuXG5AbWl4aW4gbGliLXJhdGluZy1pY29ucy1jb250ZW50KFxuICAgICRfaWNvbi1jb3VudDogJHJhdGluZy1pY29uX19jb3VudCxcbiAgICAkX2ljb24tY29udGVudDogJHJhdGluZy1pY29uX19jb250ZW50XG4pIHtcbiAgICAkX2ljb24tY29udGVudC1yZXN1bHQ6ICRfaWNvbi1jb250ZW50O1xuXG4gICAgQGZvciAkX2luZGV4IGZyb20gJF9pY29uLWNvdW50IHRvIDEge1xuICAgICAgICAkX2ljb24tY29udGVudC1yZXN1bHQ6ICAkX2ljb24tY29udGVudC1yZXN1bHQgKyAkX2ljb24tY29udGVudDtcbiAgICB9XG5cbiAgICBjb250ZW50OiAkX2ljb24tY29udGVudC1yZXN1bHQ7XG59XG4iLCIvL1xuLy8gIFJhdGluZyB2YXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJHJhdGluZy1pY29uX19jb3VudCAgICAgICAgICA6IDUgIWRlZmF1bHQ7XG4kcmF0aW5nLWljb25fX2NvbnRlbnQgICAgICAgIDogJGljb24tc3RhciAhZGVmYXVsdDtcbiRyYXRpbmctaWNvbl9fZm9udCAgICAgICAgICAgOiAkaWNvbi1mb250ICFkZWZhdWx0O1xuJHJhdGluZy1pY29uX19mb250LXNpemUgICAgICA6IDI4cHggIWRlZmF1bHQ7XG4kcmF0aW5nLWljb25fX2xldHRlci1zcGFjaW5nIDogLTEwcHggIWRlZmF1bHQ7XG4kcmF0aW5nLWljb25fX2NvbG9yICAgICAgICAgIDogJGNvbG9yLWdyYXk3OCAhZGVmYXVsdDtcblxuJHJhdGluZy1pY29uX19hY3RpdmVfX2NvbG9yICA6ICRjb2xvci1vcmFuZ2UtcmVkMSAhZGVmYXVsdDtcblxuJHJhdGluZy1sYWJlbF9faGlkZSAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLmJsb2NrLXJld2FyZC1pbmZvIHtcbiAgICAucmV3YXJkLXJhdGVzLFxuICAgIC5yZXdhcmQtbGltaXQsXG4gICAgLnJld2FyZC1leHBpcmluZyB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19tO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgTW9iaWxlXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5yZXdhcmQtc2V0dGluZ3Mge1xuICAgICAgICArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBEZXNrdG9wXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5yZXdhcmQtc2V0dGluZ3Mge1xuICAgICAgICArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9ybS1jcmVhdGUtcmV0dXJuIHtcbiAgICBAZXh0ZW5kIC5hYnMtYWRkLWZpZWxkcztcblxuICAgIC5maWVsZCB7XG4gICAgICAgIC5jb250cm9sID4gc3BhbixcbiAgICAgICAgYWRkcmVzcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmllbGQtdHlwZS1sYWJlbC1pbmxpbmVfX3BhZGRpbmctdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZGl0aW9uYWwge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQ6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQuY29tbWVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDU1cHg7XG4gICAgfVxufVxuXG4uYmxvY2stcmV0dXJucy1jb21tZW50cyB7XG4gICAgLnJldHVybnMtY29tbWVudHMge1xuICAgICAgICBkdCxcbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG4ucmV0dXJuLXN0YXR1cyB7XG4gICAgQGV4dGVuZCAuYWJzLXN0YXR1cztcbn1cblxuLm1hZ2VudG8tcm1hLXJldHVybnMtcmV0dXJucyxcbi5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zLFxuLm1hZ2VudG8tcm1hLXJldHVybnMtdmlldyB7XG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBHdWVzdCByZXR1cm4gdmlldyBwYWdlXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5tYWdlbnRvLXJtYS1ndWVzdC1yZXR1cm5zIHtcbiAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICAuYmxvY2s6bm90KC53aWRnZXQpIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hY2NvdW50LWJsb2NrcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmZvcm0tY3JlYXRlLXJldHVybiB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICA+IC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXgtbW9iaWxlLW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3VudCB7XG4gICAgICAgIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgICAgICAucmV0dXJucy1kZXRhaWxzLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICAuYmxvY2stcmV0dXJucy10cmFja2luZyB7XG4gICAgICAgICAgICAgICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5hY3Rpb24udHJhY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuZm9ybS1jcmVhdGUtcmV0dXJuIHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1maWVsZHMtZGVza3RvcDtcbiAgICAgICAgLmFkZGl0aW9uYWwge1xuICAgICAgICAgICAgLmZpZWxkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnRfX2Rlc2t0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vICBHdWVzdCByZXR1cm4gdmlldyBwYWdlXG4gICAgLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLm1hZ2VudG8tcm1hLWd1ZXN0LXJldHVybnMge1xuICAgICAgICAuY29sdW1uLm1haW4ge1xuICAgICAgICAgICAgLmJsb2NrOm5vdCgud2lkZ2V0KSB7XG4gICAgICAgICAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWNsZWFyZml4LWRlc2t0b3A7XG5cbiAgICAgICAgICAgICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYmxvY2tzLTJjb2x1bW5zO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1yZXR1cm5zLXRyYWNraW5nIHtcbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbnMtdHJhY2sge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm9yZGVyLWxpbmtzIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIC5pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4ub3JkZXItYWN0aW9ucy10b29sYmFyIHtcbiAgICAuYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICAgIH1cbn1cblxuLm9yZGVyLWRldGFpbHMtaXRlbXMge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGhfX2Jhc2Ugc29saWQgJGJvcmRlci1jb2xvcl9fYmFzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgLm9yZGVyLXRpdGxlIHtcbiAgICAgICAgPiBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWhlYWRpbmcoaDMpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1zLXF0eSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1saXN0O1xuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1vcmRlci1pdGVtcyB7XG4gICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoX19iYXNlIHNvbGlkICRib3JkZXItY29sb3JfX2Jhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgZHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubGlua3Mge1xuICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9yZGVyLXBhZ2VyLXdyYXBwZXIge1xuICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgfVxuXG4gICAgLnBhZ2VzLWl0ZW1zIHtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3JkZXItYWN0aW9ucy10b29sYmFyIHtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgLmFjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgICAmLnByaW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vcmRlci1zdGF0dXMge1xuICAgIEBleHRlbmQgLmFicy1zdGF0dXM7XG59XG5cbi5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIC5vcmRlci1kYXRlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGluZGVudF9fYmFzZTtcbiAgICB9XG59XG5cbi5hY2NvdW50LFxuW2NsYXNzXj0nc2FsZXMtZ3Vlc3QtJ10sXG4uc2FsZXMtZ3Vlc3QtdmlldyB7XG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGluZGVudF9fbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tb3JkZXJzLXNlYXJjaCB7XG4gICAgLmZpZWxkIHtcbiAgICAgICAgJi5lbWFpbCxcbiAgICAgICAgJi56aXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLXJlb3JkZXIge1xuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1ibG9jay10aXRsZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgLmNoZWNrYm94IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQuaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIG1hcmdpbjogMTdweCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDE3OHB4O1xuICAgIH1cblxuICAgIC5zaWRlYmFyLW1haW4gJiAuc3VidGl0bGUsXG4gICAgLnNpZGViYXItYWRkaXRpb25hbCAmIC5zdWJ0aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xuICAgIH1cbn1cblxuLmJsb2NrLW9yZGVyLWRldGFpbHMge1xuICAgICYtY29tbWVudHMge1xuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xuXG4gICAgICAgIC5jb21tZW50LWRhdGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fc2VtaWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tbWVudC1jb250ZW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi12aWV3IHtcbiAgICAgICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgICAgIC5wYXltZW50LW1ldGhvZCB7XG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fcmVndWxhcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICA+IHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19yZWd1bGFyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3JkZXItdHJhY2tpbmcge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGhfX2Jhc2Ugc29saWQgJGJvcmRlci1jb2xvcl9fYmFzZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgLnRyYWNraW5nLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC50cmFja2luZy1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICB9XG59XG5cbi8vXG4vLyAgR3Vlc3Qgb3JkZXIgdmlldyBwYWdlXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbltjbGFzc149J3NhbGVzLWd1ZXN0LSddLFxuLnNhbGVzLWd1ZXN0LXZpZXcge1xuICAgIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgIC5ibG9jazpub3QoLndpZGdldCkge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFjY291bnQtYmxvY2tzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAuYWNjb3VudCB7XG4gICAgICAgIC5vcmRlci1kZXRhaWxzLWl0ZW1zIHtcbiAgICAgICAgICAgIC50YWJsZS1vcmRlci1pdGVtcyB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1uYW1lLFxuICAgICAgICAgICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgICAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAgICAgICAgIC5pdGVtcy1xdHkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvb2xiYXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1tb2JpbGU7XG5cbiAgICAgICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGltaXRlciB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItZGV0YWlscy1pdGVtcyB7XG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICB0cixcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgLnRhYmxlLnRhYmxlLW9yZGVyLWl0ZW1zIHtcbiAgICAgICAgICAgIHRmb290IHtcbiAgICAgICAgICAgICAgICB0ZC5vcmRlci1wYWdlci13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAub3JkZXItcGFnZXItd3JhcHBlciB7XG4gICAgICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24ucHJldmlvdXMsXG4gICAgICAgIC5hY3Rpb24ubmV4dCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAudGFibGUtb3JkZXItaXRlbXMge1xuICAgICAgICAuc3VidG90YWwsXG4gICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNyZWRpdG1lbW8ge1xuICAgICAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICAgICAgJi5xdHksXG4gICAgICAgICAgICAgICAgJi5kaXNjb3VudCxcbiAgICAgICAgICAgICAgICAmLnN1YnRvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYudG90YWwge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItcGFnZXItd3JhcHBlciB7XG4gICAgICAgIC5vcmRlci1wYWdlci13cmFwcGVyLXRvcCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAuYWN0aW9uLnByaW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIC5vcmRlci1kYXRlIHtcbiAgICAgICAgICAgIC8qICRvcmRlci1zdGF0dXMtaW5kZW50OiBjZWlsKCRoMV9fbWFyZ2luLWJvdHRvbV9fZGVza3RvcC8yKTsgKi9cbiAgICAgICAgICAgLyogIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLXRvcCwgLSRvcmRlci1zdGF0dXMtaW5kZW50KTsgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gIEd1ZXN0IG9yZGVyIHZpZXcgcGFnZVxuICAgIC8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIFtjbGFzc149J3NhbGVzLWd1ZXN0LSddLFxuICAgIC5zYWxlcy1ndWVzdC12aWV3IHtcbiAgICAgICAgLmNvbHVtbi5tYWluIHtcbiAgICAgICAgICAgIC5ibG9jazpub3QoLndpZGdldCkge1xuICAgICAgICAgICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wO1xuXG4gICAgICAgICAgICAgICAgICAgIC5ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWJsb2Nrcy0yY29sdW1ucztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIub3BjLXdyYXBwZXIge1xuICAgIC5mb3JtLWRpc2NvdW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5mb3JtLnNlbmQuZnJpZW5kIHtcbiAgICBAZXh0ZW5kIC5hYnMtYWRkLWZpZWxkcztcbn1cblxuLmFjdGlvbi5tYWlsdG8uZnJpZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogLTdweDtcbiAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAkX2ljb24tZm9udC1jb250ZW50OiAkaWNvbi1lbnZlbG9wZSxcbiAgICAgICAgJF9pY29uLWZvbnQtc2l6ZTogMjhweCxcbiAgICAgICAgJF9pY29uLWZvbnQtbGluZS1oZWlnaHQ6IDI4cHgsXG4gICAgICAgICRfaWNvbi1mb250LXZlcnRpY2FsLWFsaWduOiB0b3BcbiAgICApO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmZvcm0uc2VuZC5mcmllbmQge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWZpZWxkcy1kZXNrdG9wO1xuICAgIH1cbn1cbiIsIiAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbC5yZXF1aXJlZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWxbZGF0YS1yZXF1aXJlZD1cIjFcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcqJztcbiAgICBjb2xvcjogcmVkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTExcHg7XG4gICAgdG9wOiAtMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1zZWxlY3RlZC1vcHRpb24ge1xuICAgIGNvbG9yOiAjNjQ2NDY0O1xuICAgIHBhZGRpbmctbGVmdDogMTdweDtcbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnN3YXRjaC1vcHRpb24ge1xuICAgIHBhZGRpbmc6IDFweCAycHg7XG4gICAgbWluLXdpZHRoOiAzMHB4O1xuICAgIG1heC13aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDEwcHggNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDIxOCwgMjE4LCAyMTgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLnRleHQge1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgY29sb3I6ICM2ODY4Njg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBtaW4td2lkdGg6IDIycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmNTUwMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGNvbG9yOiAjMzMzO1xufVxuXG4uc3dhdGNoLW9wdGlvbi50ZXh0LnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUuc2l6ZSAuc3dhdGNoLW9wdGlvbixcbi5zd2F0Y2gtYXR0cmlidXRlLm1hbnVmYWN0dXJlciAuc3dhdGNoLW9wdGlvbiB7XG4gICAgYmFja2dyb3VuZDogcmdiKDI0MCwgMjQwLCAyNDApO1xuICAgIGNvbG9yOiByZ2IoMTQ4LCAxNDgsIDE0OCk7XG59XG5cblxuLnN3YXRjaC1hdHRyaWJ1dGUuc2l6ZSAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZCxcbi5zd2F0Y2gtYXR0cmlidXRlLm1hbnVmYWN0dXJlciAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZCB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cblxuXG4uc3dhdGNoLW9wdGlvbjpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkICM5OTk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLnN3YXRjaC1vcHRpb24uaW1hZ2U6bm90KC5kaXNhYmxlZCk6aG92ZXIsXG4uc3dhdGNoLW9wdGlvbi5jb2xvcjpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICNlZTAwMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cblxuLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byBsZWZ0IHRvcCxcbiAgICAgICAgcmdiYSggMjU1LCAyNTUsIDI1NSwgMCkgMCUsXG4gICAgICAgIHJnYmEoIDI1NSwgMjU1LCAyNTUsIDApIDQyJSxcbiAgICAgICAgcmdiYSggMjU1LCAyNTUsIDI1NSwgMSkgNDMlLFxuICAgICAgICByZ2JhKCAyNTUsIDI1NSwgMjU1LCAxKSA0NiUsXG4gICAgICAgIHJnYmEoIDI1NSwgODIsIDIyLCAxKSA0NyUsXG4gICAgICAgIHJnYmEoIDI1NSwgODIsIDIyLCAxKSA1MyUsXG4gICAgICAgIHJnYmEoIDI1NSwgMjU1LCAyNTUsIDEpIDU0JSxcbiAgICAgICAgcmdiYSggMjU1LCAyNTUsIDI1NSwgMSkgNTclLFxuICAgICAgICByZ2JhKCAyNTUsIDI1NSwgMjU1LCAwKSA1OCUsXG4gICAgICAgIHJnYmEoIDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgICApO1xufVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwIHtcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMjBweDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiByZ2IoMTQ4LCAxNDgsIDE0OCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYWRhZDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLmNvcm5lcixcbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCAuY29ybmVyIHtcbiAgICBsZWZ0OiA0MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDhweDtcbn1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAuY29ybmVyOmFmdGVyLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC5jb3JuZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDtcbiAgICBsZWZ0OiAtMTVweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDdweCA3LjVweCAwIDcuNXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDFweDtcbn1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAuY29ybmVyOmJlZm9yZSxcbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCAuY29ybmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA4cHggOC41cHggMCA4LjVweDtcbiAgICBib3JkZXItY29sb3I6ICNhZGFkYWQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAxcHg7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLmltYWdlLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLnRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgY29sb3I6IHJnYig0MCwgNDAsIDQwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnN3YXRjaC1vcHQge1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuXG4uc3dhdGNoLW1vcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDJweCAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgei1pbmRleDogMTtcbn1cblxuLy8gTGF5ZXJlZCBGZWF0dXJlc1xuLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQ6Zm9jdXMgPiBkaXYge1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggMXB4ICM2OGE4ZTA7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiByZ2IoMTQ4LCAxNDgsIDE0OCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYWRhZDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBsZWZ0OiAtNDdweDtcbn1cblxuLnN3YXRjaC12aXN1YWwtdG9vbHRpcC1sYXllcmVkIHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIHRvcDogLTE3MHB4O1xufVxuXG4uc3dhdGNoLXRleHR1YWwtdG9vbHRpcC1sYXllcmVkIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgdG9wOiAtNDBweDtcbn1cblxuLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkOmhvdmVyID4gLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyAuc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQgLnRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTVweDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbG9yOiByZ2IoNDAsIDQwLCA0MCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLWRpc2FibGVkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogcmVkO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMGRlZyk7XG4gICAgei1pbmRleDogOTk1O1xuICAgIGxlZnQ6IC00cHg7XG4gICAgdG9wOiAxMHB4O1xufVxuXG4uc3dhdGNoLW9wdGlvbi1kaXNhYmxlZCB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8vIEJ1Z2ZpeCBmb3IgQWRkIFRvIENhcnQgYnV0dG9uXG4uc3dhdGNoLW9wdC1saXN0aW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc3dhdGNoLW9wdGlvbi1sb2FkaW5nIHtcbiAgICBjb250ZW50OiB1cmwoLi4vTWFnZW50b19Td2F0Y2hlcy9pbWFnZXMvbG9hZGVyLTIuZ2lmKTtcbn1cblxuLnN3YXRjaC1pbnB1dCB7XG4gICAgbGVmdDogLTEwMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLy9cbi8vICBUaGVtZSB2YXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLy8gIE1lc3NhZ2VzXG4kbWVzc2FnZS1nbG9iYWwtbm90ZV9fYmFja2dyb3VuZCAgICAgICAgICAgOiAkY29sb3IteWVsbG93LWxpZ2h0MiAhZGVmYXVsdDtcbiRtZXNzYWdlLWdsb2JhbC1ub3RlX19ib3JkZXItY29sb3IgICAgICAgICA6ICRjb2xvci15ZWxsb3ctbGlnaHQzICFkZWZhdWx0O1xuJG1lc3NhZ2UtZ2xvYmFsLW5vdGVfX2NvbG9yICAgICAgICAgICAgICAgIDogJHRleHRfX2NvbG9yICFkZWZhdWx0O1xuXG4kbWVzc2FnZS1nbG9iYWwtbm90ZS1saW5rX19jb2xvciAgICAgICAgICAgOiAkbGlua19fY29sb3IgIWRlZmF1bHQ7XG4kbWVzc2FnZS1nbG9iYWwtbm90ZS1saW5rX19jb2xvci1ob3ZlciAgICAgOiAkbGlua19faG92ZXJfX2NvbG9yICFkZWZhdWx0O1xuJG1lc3NhZ2UtZ2xvYmFsLW5vdGUtbGlua19fY29sb3ItYWN0aXZlICAgIDogJGxpbmtfX2FjdGl2ZV9fY29sb3IgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlLWdsb2JhbC1jYXV0aW9uX19iYWNrZ3JvdW5kICAgICAgICA6ICRjb2xvci1yZWQ5ICFkZWZhdWx0O1xuJG1lc3NhZ2UtZ2xvYmFsLWNhdXRpb25fX2JvcmRlci1jb2xvciAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRtZXNzYWdlLWdsb2JhbC1jYXV0aW9uX19jb2xvciAgICAgICAgICAgICA6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcblxuJG1lc3NhZ2UtZ2xvYmFsLWNhdXRpb24tbGlua19fY29sb3IgICAgICAgIDogJGxpbmtfX2NvbG9yICFkZWZhdWx0O1xuJG1lc3NhZ2UtZ2xvYmFsLWNhdXRpb24tbGlua19fY29sb3ItaG92ZXIgIDogJGxpbmtfX2hvdmVyX19jb2xvciAhZGVmYXVsdDtcbiRtZXNzYWdlLWdsb2JhbC1jYXV0aW9uLWxpbmtfX2NvbG9yLWFjdGl2ZSA6ICRsaW5rX19hY3RpdmVfX2NvbG9yICFkZWZhdWx0O1xuXG4vLyAgSGVhZGVyXG4kaGVhZGVyLWljb25zLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItZ3JheTU2ICFkZWZhdWx0O1xuJGhlYWRlci1pY29ucy1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgIDogJGNvbG9yLWdyYXkyMCAhZGVmYXVsdDtcblxuJGFkZHRvLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRleHRfX2NvbG9yX19tdXRlZCAhZGVmYXVsdDtcbiRhZGR0by1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICA6ICRwcmltYXJ5X19jb2xvciAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LWljb25zLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJGhlYWRlci1pY29ucy1jb2xvciAhZGVmYXVsdDtcbiRtaW5pY2FydC1pY29ucy1jb2xvci1ob3ZlciAgICAgICAgICAgICAgICA6ICRoZWFkZXItaWNvbnMtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cblxuLy9cbi8vICBHbG9iYWwgbm90aWNlXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5tZXNzYWdlLmdsb2JhbCB7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLm5vc2NyaXB0IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLW1lc3NhZ2UoJF9tZXNzYWdlLXR5cGU6IGdsb2JhbC1ub3RlKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYuY29va2llIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbGF5b3V0X19tYXgtd2lkdGg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgJGxheW91dC1pbmRlbnRfX3dpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIFxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgZmxleDogMSAwIDMycmVtO1xuICAgICAgICAgIG1heC13aWR0aDogNDRyZW07XG4gICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTAuNXJlbSAxcmVtIHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgICAgICAgXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNpcm9jY287XG4gICAgICAgICAgXG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nb2xkLWJyb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgICAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtYmxhY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdvbGQtYnJvd247XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtYmxhY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kZW1vIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLW1lc3NhZ2UoJF9tZXNzYWdlLXR5cGU6IGdsb2JhbC1jYXV0aW9uKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuXG4vL1xuLy8gIFdpZGdldHNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNpZGViYXIge1xuICAgIC53aWRnZXQuYmxvY2s6bm90KDpsYXN0LWNoaWxkKSxcbiAgICAud2lkZ2V0Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtbWFyZ2luLWZvci1ibG9ja3MtYW5kLXdpZGdldHM7XG4gICAgfVxufVxuXG4ud2lkZ2V0IHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLmFicy1ibG9jay10aXRsZTtcbiAgICB9XG59XG5cbi5wYWdlLWhlYWRlcixcbi5wYWdlLWZvb3RlciB7XG4gICAgLndpZGdldC5ibG9jayB7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MobWFyZ2luLCAkaW5kZW50X19iYXNlIDApO1xuICAgIH1cbn1cblxuLm5vLWRpc3BsYXkge1xuICAgIEBleHRlbmQgLmFicy1uby1kaXNwbGF5O1xufVxuXG4vL1xuLy8gIENhbGVuZGFyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi51aS1kYXRlcGlja2VyIHtcbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vL1xuLy8gIERlc2t0b3Bcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG5cbiAgICAucGFnZS13cmFwcGVyIHtcblxuICAgICAgICA+IC5icmVhZGNydW1icyxcbiAgICAgICAgPiAudG9wLWNvbnRhaW5lcixcbiAgICAgICAgPiAud2lkZ2V0IHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24gdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICB9XG5cbn1cbiIsIi8vXG4vLyAgQ29tbW9uXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbi5wYWdlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAucGFuZWwud3JhcHBlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWNvbmRhcnlfX2NvbG9yO1xuICB9XG59XG5cbi5oZWFkZXIge1xuXHQmLmNvbnRlbnQge1xuXHRcdEBleHRlbmQgLmFicy1hZGQtY2xlYXJmaXg7XG5cdFx0cGFkZGluZy10b3A6ICRpbmRlbnRfX3M7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNoZWFkZXIgdG9wXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlYWRlcl9fdG9wIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG59XG5cbi5oZWFkZXJfX3RvcF9faW5uZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRtYXgtd2lkdGg6ICRsYXlvdXRfX21heC13aWR0aDtcblx0Ly8gd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXHRwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNjdXN0b20gYnJhbmQgdGFnbGluZVxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5icmFuZC1ieSB7XG5cdHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIGNvbG9yOiAkY29sb3ItcmVkO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5X19leHRyYTtcblx0Zm9udC1zaXplOiAxLjNyZW07XG5cdGxpbmUtaGVpZ2h0OiAzLjJyZW07XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNzd2l0Y2hlciAobGFuZ3VhZ2UsIHN0b3JlKVxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wYWdlLWhlYWRlciAuaGVhZGVyIC5zd2l0Y2hlciB7XG5cdG1hcmdpbi1yaWdodDogMDtcblxuXHQub3B0aW9ucyB7XG5cdFx0LmFjdGlvbi50b2dnbGUge1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG5cblx0XHRcdCYuYWN0aXZlOjphZnRlcixcblx0XHRcdCY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNoZWFkZXIgYm90dG9tXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlYWRlcl9fYm90dG9tIHtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4uaGVhZGVyX19ib3R0b21fX2lubmVyIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2xvZ29zXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmxvZ28sXG4ubG9nby0tbW9iaWxlIHtcblx0bWFyZ2luOiAwIGF1dG8gMCAwO1xuXHRtYXgtd2lkdGg6IDUwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiA1O1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbi5sb2dvLS1tb2JpbGUge1xuXHR3aWR0aDogMjYuMnJlbTtcblx0cGFkZGluZzogMC4ycmVtIDAuOHJlbTtcbn1cblxuLmxvZ28ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjc2VhcmNoXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJsb2NrLXNlYXJjaCB7XG5cdC8vIE92ZXJydWxlXG5cdGZsb2F0OiBub25lO1xuXHR3aWR0aDogYXV0bztcblx0cGFkZGluZzogMDtcblxuXHRoZWlnaHQ6IDEwMCU7XG5cbiAgJi5pcy1vcGVuLFxuICAmLmlzLWF1dG8tb3BlbiB7XG5cblx0XHQubWluaXNlYXJjaC1idG4ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQubWluaXNlYXJjaCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblxuXHR9XG5cblx0LmJsb2NrLWNvbnRlbnQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC5taW5pc2VhcmNoLWJ0biB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDIwO1xuXHR9XG5cblx0Lm1pbmlzZWFyY2gge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG5cdFx0LnNlYXJjaCxcblx0XHQuYWN0aW9ucyB7XG5cdFx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHR9XG5cdH1cblxuXHQuY29udHJvbCB7XG5cdFx0Ly8gT3ZlcnJ1bGVcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG5cdGlucHV0IHtcblx0XHQvLyBPdmVycnVsZVxuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG5cblx0XHRvdXRsaW5lOiAwO1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG5cbiAgICAgIC5qcy1mb2N1cy12aXNpYmxlICY6Zm9jdXM6bm90KC5mb2N1cy12aXNpYmxlKSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAkY29sb3ItZ3Vuc21va2U7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuNHJlbSBzb2xpZCAkdG9wbGlua19fYWN0aXZlX19ib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXHR9XG5cbiAgQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLmFjdGlvbnMge1xuICAgICAgLmFjdGlvbi5zZWFyY2gge1xuICAgICAgICAvLyBPdmVycnVsZVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgIC8vIGhlaWdodDogNy45cmVtO1xuICAgICAgICAvLyBwYWRkaW5nOiAwIDNyZW07XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDUuNHJlbTtcbiAgICAgICAgd2lkdGg6IDUuNHJlbTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICBib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMXJlbSBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWluaWNhcnQtY29sb3Itc2VhcmNoLWJ1dHRvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWluaXNlYXJjaC1idG4ge1xuXHRwYWRkaW5nOiAwLjhyZW07XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcblx0Ym9yZGVyLWxlZnQ6IDAuMXJlbSBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcblxuXHRAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbWluaWNhcnQtY29sb3Itc2VhcmNoLWJ1dHRvbjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdGJvcmRlci1yaWdodDogMC4xcmVtIHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDAuMXJlbSBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiBBQ0NPVU5UIExJTktTICovXG4vKiAqKioqKioqKioqKioqICovXG4uaGVhZGVyLmxpbmtzIHtcblx0bWFyZ2luOiAwO1xuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuXHQmID4gbGkge1xuXHRcdGZsZXg6IDAgMSBhdXRvO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuXHRcdCYgPiBhIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRwYWRkaW5nOiAxcmVtIDJyZW07XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRjb2xvcjogJHRvcGxpbmtfX2NvbG9yO1xuXHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJi5hY2NvdW50X19saW5rIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAkaWNvbi1hY2NvdW50O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLW5hdi1pY29uX19jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG5cdFx0XHRcdGJvdHRvbTogLTAuMXJlbTtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwLjRyZW07XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0b3BsaW5rX19hY3RpdmVfX2JvcmRlciA7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgIH1cblxuICAgICYuYXV0aG9yaXphdGlvbi1saW5rLS1zaWdub3V0ID4gYSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkaWNvbi1sb2dvdXQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgICAgICBjb2xvcjogJGhlYWRlci1uYXYtaWNvbl9fY29sb3I7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcblxuICAgICAgfVxuICAgIH1cblxuXHRcdC8vIEFjY29yZGluZyB0byBkZXNpZ24sIGJ1dCBsb29rcyBvZmYgd2l0aCBob3Zlci9hY3RpdmUgc3RhdGVzXG5cdFx0Ly8gJjpmaXJzdC1jaGlsZCA+IGEge1xuXHRcdC8vIFx0cGFkZGluZy1sZWZ0OiAzcmVtO1xuXHRcdC8vIH1cblx0fVxufVxuXG5cblxuLyogQ0FSVCAqL1xuLyogKioqKiAqL1xuLm1pbmljYXJ0LXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuXHQ+IC5hY3Rpb24ge1xuXHRcdCYsXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmbGV4OiAwIDEgYXV0bztcblxuXHRcdFx0Ly8gSGlkZSBkZWZhdWx0IGljb25zXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmNhcnRfX2xpbmtfX2ljb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdC5jYXJ0X19saW5rX190ZXh0IHtcblx0XHRtYXJnaW46IDAgMCAwIDAuOHJlbTtcblx0XHRjb2xvcjogJGNvbG9yLWJsYWNrO1xuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdH1cblxuXHQuY291bnRlci5xdHkge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDAgMCAwIDAuNXJlbTtcblx0XHRtaW4td2lkdGg6IDEuOHJlbTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmc6IDAgMC41cmVtO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVzZXJ0LXN0b3JtO1xuXHR9XG5cblx0LmNvdW50ZXItbGFiZWwge1xuXHRcdGJvcmRlcjogMDtcblx0XHRjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdG1hcmdpbjogLTFweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxcHg7XG5cdH1cbn1cblxuXG4vKiBHRU5FUkFMICovXG4vKiAqKioqKioqKiAqL1xuLnBhZ2UtbWFpbiB7XG5cdD4gLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG5cdFx0LnBhZ2UtdGl0bGUgKyAuYWN0aW9uIHtcblx0XHRcdG1hcmdpbi10b3A6ICRpbmRlbnRfX2w7XG5cdFx0fVxuXHR9XG59XG5cbi5hY3Rpb24uc2tpcCB7XG5cdCY6bm90KDpmb2N1cykge1xuXHRcdEBleHRlbmQgLmFicy12aXN1YWxseS1oaWRkZW47XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRjb2xvci1ncmF5OTQpO1xuXHRcdEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJGluZGVudF9fcyk7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRsZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHotaW5kZXg6IDE1O1xuXHR9XG59XG5cbi5hY3Rpb24tc2tpcC13cmFwcGVyIHtcblx0aGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuXG5cbi8vXG4vLyAgVGFibGV0IGFuZCB1bmRlclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcblxuXHQvLyBPdmVycmlkZXNcblx0LnBhbmVsLmhlYWRlcl9fdG9wIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmhlYWRlcl9fYm90dG9tX19pbm5lciB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cblx0LyogQWNjb3VudCBsaW5rcyAqL1xuXHQuaGVhZGVyLmxpbmtzIHtcblx0XHQmID4gbGkgPiBhIHtcbiAgICAgIGhlaWdodDogNC44cmVtO1xuICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXHR9XG5cblx0LyogTWluaWNhcnQgKi9cblx0Lm1pbmljYXJ0LXdyYXBwZXIge1xuXHRcdGJvcmRlci1yaWdodDogMC4xcmVtIHNvbGlkICRoZWFkZXItZGl2aWRlcnM7XG5cblx0XHQuYWN0aW9uLnNob3djYXJ0IHtcblx0XHRcdGhlaWdodDogNC44cmVtO1xuXHRcdFx0cGFkZGluZzogMCAxLjVyZW07XG5cdFx0fVxuXHR9XG5cblx0LmNhcnRfX2xpbmtfX3RleHQge1xuXHRcdEBpbmNsdWRlIGxpYi12aXN1YWxseS1oaWRkZW4oKTtcblx0fVxuXG5cdC8qIFNlYXJjaCAqL1xuXHQubWluaXNlYXJjaC1idG4ge1xuXHRcdGhlaWdodDogNC44cmVtO1xuXHRcdG1pbi13aWR0aDogNC44cmVtO1xuXG5cdFx0JiBzdmcge1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0fVxuXHR9XG5cbn1cblxuXG5cblxuLy9cbi8vICBUYWJsZXQgYW5kIHVwXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuXG5cdC8vIC5sb2dvLS1tb2JpbGUsXG5cdCNzd2l0Y2hlci1sYW5ndWFnZS1tb2JpbGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuaGVhZGVyLnBhbmVsIHtcblx0XHQ+IC5oZWFkZXIubGlua3Mge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0Zm9udC1zaXplOiAwO1xuXHRcdFx0QGluY2x1ZGUgbGliLWxpc3QtaW5saW5lKCk7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9fYmFzZTtcblx0XHRcdFx0bWFyZ2luOiAwIDAgMCAxNXB4O1xuXG5cdFx0XHRcdCYud2VsY29tZSxcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYud2VsY29tZSB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmctbGVmdCwgJGluZGVudF9feHMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIC5oZWFkZXJfX2JvdHRvbSB7XG5cdC8vIFx0bWluLWhlaWdodDogNy45cmVtO1xuXHQvLyB9XG5cblx0LmhlYWRlcl9fYm90dG9tX19pbm5lciB7XG5cdFx0Ly8gZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0bWF4LXdpZHRoOiAkbGF5b3V0X19tYXgtd2lkdGg7XG5cdFx0Ly8gd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XG5cdFx0cGFkZGluZy1yaWdodDogMnJlbTtcblx0fVxuXG5cdC5oZWFkZXIuY29udGVudCB7XG5cdFx0QGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wO1xuXHRcdHBhZGRpbmc6ICRpbmRlbnRfX2wgJGluZGVudF9fYmFzZSAwO1xuXHR9XG5cblx0LnBhZ2UtaGVhZGVyIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdC5oZWFkZXIucGFuZWwge1xuXHRcdFx0QGV4dGVuZCAuYWJzLWFkZC1jbGVhcmZpeC1kZXNrdG9wO1xuXHRcdH1cblxuXHRcdC5zd2l0Y2hlciB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuICB9XG5cbiAgLnBhZ2UtdG9wIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlY29uZGFyeV9fY29sb3I7XG4gIH1cblxuXHQucGFnZS1tYWluIHtcblx0XHQ+IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuXHRcdFx0LnBhZ2UtdGl0bGUge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR9XG5cblx0XHRcdC5wYWdlLXRpdGxlICsgLmFjdGlvbiB7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0bWFyZ2luLXRvcDogJGluZGVudF9fYmFzZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAubG9nbyB7XG5cdC8vIFx0cGFkZGluZzogMCAxLjhyZW07XG5cdC8vIFx0ZGlzcGxheTogYmxvY2s7XG5cblx0Ly8gXHRpbWcge1xuXHQvLyBcdFx0bWF4LWhlaWdodDogaW5oZXJpdDtcblx0Ly8gXHR9XG4gIC8vIH1cbiAgLmxvZ28tLW1vYmlsZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGZsZXg6IDAgMCAyNi4ycmVtO1xuICB9XG5cblx0Lm1pbmlzZWFyY2gtYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHdpZHRoOiA1LjRyZW07XG4gICAgaGVpZ2h0OiA1LjRyZW07XG5cdH1cblxuXHQubWluaWNhcnQtd3JhcHBlciB7XG5cdFx0LmFjdGlvbi5zaG93Y2FydCB7XG5cdFx0XHRwYWRkaW5nOiAxcmVtIDAgMXJlbSAycmVtO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG5cdFx0XHRcdGJvdHRvbTogLTAuMXJlbTtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwLjRyZW07XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0b3BsaW5rX19hY3RpdmVfX2JvcmRlcjtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcjo6YWZ0ZXIsXG5cdFx0XHQmLmFjdGl2ZTo6YWZ0ZXIge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlICsgMnJlbSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi8vXG4vLyAgQ29tbW9uXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLWZvb3RlciB7XG5cdG1hcmdpbi10b3A6IDMuMnJlbTtcblx0YmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xufVxuXG4ucGFnZS1mb290ZXJfX21haW4ge1xuXHRwYWRkaW5nOiA0cmVtIDMuMnJlbTtcblx0Ym9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICRjb2xvci1nb2xkLWJyb3duO1xufVxuXG4ucGFnZS1mb290ZXJfX21haW4tLWlubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0bWF4LXdpZHRoOiAxMTVyZW07XG5cdG1hcmdpbjogMCBhdXRvO1xuXG5cdC5wYWdlLWZvb3Rlcl9fbWFpbl9fbmF2IHtcblx0XHRmbGV4OiAwIDEgNzAuNXJlbTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblxuXHRcdC5mb290ZXItY29sdW1uIHtcblx0XHRcdGZsZXg6IDAgMSAzMy4zMyU7XG5cdFx0fVxuXHR9XG5cblx0LmNvbHVtbi10aXRsZSB7XG5cdFx0cGFkZGluZzogMCAzLjJyZW0gMCAwO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdH1cblxuXHQuZm9vdGVyLWNvbHVtbiA+IHVsIHtcblx0XHRAZXh0ZW5kIC5hYnMtcmVzZXQtbGlzdDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzLjJyZW07XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseV9fZXh0cmE7XG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cblx0XHQmID4gbGkge1xuXHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblxuXHRcdFx0JiA+IGEge1xuXHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmZvb3Rlci1wYXltZW50LWluZm8ge1xuXHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAzLjJyZW07XG59XG5cbi5mb290ZXItcGF5bWVudC1pbmZvX190ZXh0IHtcblx0Zm9udC1zaXplOiAxLjJyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5mb290ZXItcGF5bWVudC1pbmZvX19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0bWFyZ2luOiAtMXJlbTtcblx0bWF4LXdpZHRoOiAyMi41cmVtO1xuXG5cdCYgLmZvb3Rlci1wYXltZW50LWluZm9fX2xpc3QtaXRlbSB7XG5cdFx0ZmxleDogMCAxIGF1dG87XG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdHdpZHRoOiAzMy4zMzMzJTtcblx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdG1hcmdpbjogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0JiAuZm9vdGVyLXBheW1lbnQtaW5mb19fbGlzdC1pdGVtLS1sYXJnZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5mb290ZXIuY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAxLjZyZW0gMy4ycmVtO1xuXHRcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRmb290ZXJfX2JvcmRlcjtcblx0XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHlfX2V4dHJhO1xuXHRmb250LXNpemU6IDEuMnJlbTtcblxuXHR1bCB7XG5cdFx0QGV4dGVuZCAuYWJzLXJlc2V0LWxpc3Q7XG5cdH1cblx0XG5cdC5saW5rcyA+IGxpIHtcblx0XHRtYXJnaW46IDAgMCA4cHg7XG5cdH1cblx0XG5cdC5zd2l0Y2hlci1zdG9yZSB7XG5cdFx0bWFyZ2luOiAwIDAgMzBweDtcblx0fVxufVxuXG4ucGFnZS1oZWFkZXIsXG4ucGFnZS1mb290ZXIge1xuXHQuc3dpdGNoZXIge1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcblx0XHQub3B0aW9ucyB7XG5cdFx0XHRAaW5jbHVkZSBsaWItZHJvcGRvd24oXG5cdFx0XHRcdCRfZHJvcGRvd24tYWN0aW9ucy1wYWRkaW5nICAgICAgICAgICAgOiAwLFxuXHRcdFx0XHQkX2Ryb3Bkb3duLWxpc3QtaXRlbS1wYWRkaW5nICAgICAgICAgIDogMCxcblx0XHRcdFx0JF9kcm9wZG93bi10b2dnbGUtaWNvbi1jb250ZW50ICAgICAgICA6ICRpY29uLWRvd24sXG5cdFx0XHRcdCRfZHJvcGRvd24tdG9nZ2xlLWFjdGl2ZS1pY29uLWNvbnRlbnQgOiAkaWNvbi11cCxcblx0XHRcdFx0JF9pY29uLWZvbnQtdGV4dC1oaWRlICAgICAgICAgICAgICAgICA6IHRydWUsXG5cdFx0XHRcdCRfaWNvbi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgOiA4cHgsXG5cdFx0XHRcdCRfaWNvbi1mb250LWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgOiAyMnB4LFxuXHRcdFx0XHQkX2Ryb3Bkb3duLWxpc3QtbWluLXdpZHRoICAgICAgICAgICAgIDogMTYwcHhcbiAgICAgICk7XG5cdFx0XHRcblx0XHRcdHVsLmRyb3Bkb3duIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgIFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gXG5cdFx0fVxuXHRcdFxuXHRcdC5sYWJlbCB7XG5cdFx0XHRAZXh0ZW5kIC5hYnMtdmlzdWFsbHktaGlkZGVuO1xuXHRcdH1cblx0fVxufVxuXG4uZm9vdGVyX19sZWdhbC13cmFwcGVyIHtcblx0bWF4LXdpZHRoOiAkbGF5b3V0X19tYXgtd2lkdGg7XG5cdGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0fVxuXHRcblx0LmNvcHlyaWdodCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0fVxuXG5cdGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ3wnO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cGFkZGluZzogMCAwLjJyZW07XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbi8vXG4vLyAgVGFibGV0IGFuZCB1bmRlclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcblx0XG5cdC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcblx0XHQucGFnZS1mb290ZXJfX21haW5fX25hdiB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxufVxuXG5cblxuXG4vL1xuLy8gIFBob25lc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcblx0XG5cdC5wYWdlLWZvb3Rlcl9fbWFpbi0taW5uZXIge1xuXHRcdC5wYWdlLWZvb3Rlcl9fbWFpbl9fbmF2IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHQuZm9vdGVyLWNvbHVtbiB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzLjZyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnBhZ2UtZm9vdGVyX19tYWluLS1pbm5lciAuY29sdW1uLXRpdGxlIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cblx0LnBhZ2UtZm9vdGVyX19tYWluLS1pbm5lciAuZm9vdGVyLWNvbHVtbiA+IHVsIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cblx0LmZvb3Rlci1wYXltZW50LWluZm8ge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxufVxuXG5cblxuXG4vL1xuLy8gIFRhYmxldCBhbmQgdXBcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG5cdFxuXHQuZm9vdGVyLmNvbnRlbnQge1xuXHRcdC5ibG9jayB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0fVxuXHRcdFxuXHRcdC5saW5rcyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0cGFkZGluZzogMCA1MHB4IDAgMDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0fVxuXHRcdFxuXHRcdC5zd2l0Y2hlci5zdG9yZSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHR9XG5cdH1cbn1cbiIsIi5teS1jcmVkaXQtY2FyZHMge1xuICAgIC5zdGF0dXMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLmFjdGlvbi5kZWxldGUge1xuICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXJlc2V0KCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24tYXMtbGluaygpO1xuICAgIH1cbn1cblxuLm15LWNyZWRpdC1jYXJkcy1wb3B1cCB7XG4gICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5hY3Rpb24uc2Vjb25kYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1yZXNldCgpO1xuICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLWFzLWxpbmsoKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5kZW50X19iYXNlO1xuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGUgJHNjcmVlbl9fc1xuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAubXktY3JlZGl0LWNhcmRzIHtcbiAgICAgICAgLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLmNhcnQpOm5vdCgudGFibGUtY29tcGFyaXNvbikge1xuICAgICAgICAgICAgLnN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLl9kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtdHlwZSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAubXktY3JlZGl0LWNhcmRzIHtcbiAgICAgICAgLmNhcmQtdHlwZSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1pbmlsaXN0IHtcbiAgICAud2VlZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxMSk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByaWNlLWNvbnRhaW5lci53ZWVlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLmZvcm0ud2lzaGxpc3QuaXRlbXMge1xuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGVmdC1tYXJnaW47XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbmZvLW1haW4sXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSxcbi5ibG9jay1idW5kbGUtc3VtbWFyeSB7XG4gICAgLmFjdGlvbi50b3dpc2hsaXN0IHtcbiAgICAgICAgQGV4dGVuZCAuYWJzLWFjdGlvbi1hZGR0by1wcm9kdWN0O1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaXRlbXMsXG4ucHJvZHVjdHMubGlzdC5pdGVtcyxcbi50YWJsZS1jb21wYXJpc29uIHtcbiAgICAuYWN0aW9uIHtcbiAgICAgICAgJi50b3dpc2hsaXN0IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1hY3Rpb25zLWFkZHRvLWdyaWRsaXN0O1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWljb24tZm9udC1zeW1ib2woXG4gICAgICAgICAgICAgICAgJGljb24td2lzaGxpc3QtZW1wdHlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5kYXRhLnRhYmxlLndpc2hsaXN0IHtcbiAgICBAaW5jbHVkZSBsaWItdGFibGUtYm9yZGVyZWQoXG4gICAgICAgICRfdGFibGVfdHlwZTogaG9yaXpvbnRhbFxuICAgICk7XG5cbiAgICB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0YWJsZV9fYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC5wcm9kdWN0Lm5hbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLmJveC10b2NhcnQge1xuICAgICAgICBtYXJnaW46ICRpbmRlbnRfX3MgMDtcblxuICAgICAgICAucXR5IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmFicy1pbnB1dC1xdHk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCB7XG4gICAgICAgICYuaXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5waG90byB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RvciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwO1xuICAgIH1cblxuICAgIC5pbnB1dC10ZXh0LnF0eSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX3M7XG4gICAgfVxuXG4gICAgLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19ib2xkO1xuICAgIH1cbn1cblxuLmJsb2NrLXdpc2hsaXN0IHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYmxvY2stdGl0bGU7XG4gICAgfVxuXG4gICAgLmNvdW50ZXIge1xuICAgICAgICBAZXh0ZW5kIC5hYnMtYmxvY2staXRlbXMtY291bnRlcjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbmRlbnRfX207XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtZ3JpZC53aXNobGlzdCB7XG4gICAgLnByb2R1Y3Qge1xuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgJi1waG90byB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1uYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb21tZW50LWJveCB7XG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtY29tbWVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWFjdGlvbnMge1xuICAgICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYm94LXRvY2FydCB7XG4gICAgICAgICAgICAgICAgaW5wdXQucXR5IHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWlucHV0LXF0eTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cbi8vICBNb2JpbGVcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3Qge1xuICAgICAgICAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2Vjb25kYXJ5X19jb2xvcjtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2Vjb25kYXJ5X19jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgLnByb2R1Y3RzLWdyaWQud2lzaGxpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19sO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5kZW50X19zO1xuICAgICAgICAucHJvZHVjdCB7XG4gICAgICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbmRlbnRfX2Jhc2UgJGluZGVudF9fcyAkaW5kZW50X19iYXNlICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJi1waG90byB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxNik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmVkaXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmRlbGV0ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmVkaXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmRlbGV0ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1uYW1lLFxuICAgICAgICAgICAgICAgICYtZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgLnByaWNlLWJveCxcbiAgICAgICAgICAgICAgICAmLXRvb2x0aXAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYm94LXRvY2FydCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpbmRlbnRfX2Jhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgLnN0b2NrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5naWZ0cmVnaXN0eS1kcm9wZG93bixcbiAgICAgICAgICAgICAgICAuZmllbGQucXR5IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vICBHcmlkIHZpZXcgZm9yIHdpc2hsaXN0XG4gICAgLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXgge1xuICAgICAgICAucHJvZHVjdCB7XG4gICAgICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICYtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19zKSB7XG4gICAgLndpc2hsaXN0LWluZGV4LWluZGV4IHtcbiAgICAgICAgLnByb2R1Y3RzLWdyaWQge1xuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAucHJvZHVjdHMtZ3JpZC53aXNobGlzdCB7XG4gICAgICAgIC5wcm9kdWN0IHtcbiAgICAgICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICAgICAgJi10b29sdGlwIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgLmZpZWxkLnF0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGluZGVudF9fcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ib3gtdG9jYXJ0IHtcbiAgICAgICAgICAgICAgICAgICAgLmFjdGlvbnMtcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuc3RvY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkaW5kZW50X19iYXNlIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aXNobGlzdC1pbmRleC1pbmRleCB7XG4gICAgICAgIC5wcm9kdWN0IHtcbiAgICAgICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICAgICAgJi1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluIHtcbiAgICAgICAgICAgIC5mb3JtLXdpc2hsaXN0LWl0ZW1zIHtcbiAgICAgICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLXJlc2V0LWxlZnQtbWFyZ2luLWRlc2t0b3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX2wpIHtcbiAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXgge1xuICAgICAgICAucHJvZHVjdHMtZ3JpZCB7XG4gICAgICAgICAgICAucHJvZHVjdC1pdGVtcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDQgKiAyNC40MzklKSAvIDMpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0LjQzOSU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0biArIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gUXVvdGUgZGV0YWlscyBibG9ja1xuLnF1b3RlLWRldGFpbHMge1xuICAgIGZvcm0ge1xuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAuY29udHJvbC1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnNpZGViYXIge1xuICAgIC5ibG9jay1hZGRieXNrdSB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAuZmllbGRzIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5kZW50X19zO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICAmLnNrdSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5hYnMtYWRkLWJveC1zaXppbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC04NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYucXR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5xdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1pbnB1dC1xdHk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAubWFnZS1lcnJvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWFkZGJ5c2t1IHtcbiAgICAgICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgICAgICAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAmLmFkZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbi1pY29uKFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICA6ICRpY29uLWV4cGFuZCxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtdGV4dC1oaWRlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1zaXplICAgICA6IDMxcHhcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxpbmtzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaW5kZW50X19iYXNlIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucmVzZXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5yZW1vdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24taWNvbihcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtY29udGVudCAgOiAkaWNvbi1yZW1vdmUsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgOiAyOHB4XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItYnV0dG9uLXJlc2V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stYmFubmVycyxcbi5ibG9jay1iYW5uZXJzLWlubGluZSB7XG4gICAgQGV4dGVuZCAuYWJzLW1hcmdpbi1mb3ItYmxvY2tzLWFuZC13aWRnZXRzO1xuXG4gICAgLmJhbm5lci1pdGVtcyB7XG4gICAgICAgIEBleHRlbmQgLmFicy1yZXNldC1saXN0O1xuICAgIH1cblxuICAgIC5iYW5uZXItaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5iYW5uZXItaXRlbS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkaW5kZW50X19iYXNlKTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5ibG9jay1wcm9kdWN0LWxpbmssXG4uYmxvY2stY2F0ZWdvcnktbGluayB7XG4gICAgJi53aWRnZXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGluZGVudF9fYmFzZTtcbiAgICB9XG59XG5cbi5ibG9jay1wcm9kdWN0LWxpbmstaW5saW5lIHtcbiAgICAmLndpZGdldCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5ibG9jay53aWRnZXQge1xuICAgIC5wcm9kdWN0LWl0ZW0taW5mbyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5wYWdlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnRvb2xiYXItYW1vdW50IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgxMik7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZXMtaXRlbS1wcmV2aW91cyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZXMtaXRlbS1uZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtcyB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1xuLy8gIE1vYmlsZVxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0sXG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtLFxuICAgIC5wYWdlLWxheW91dC0zY29sdW1ucyAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICB3aWR0aDogKDEwMCUgLyAzKTtcbiAgICB9XG59XG5cbi8vXG4vLyAgRGVza3RvcFxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICB3aWR0aDogKDEwMCUgLyAzKTtcblxuICAgICAgICAuc2lkZWJhciAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5hY3Rpb25zLXNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgd2lkdGg6ICgxMDAlIC8gNCk7XG4gICAgfVxuXG4gICAgLnBhZ2UtbGF5b3V0LTNjb2x1bW5zIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAoMTAwJSAvIDIpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19sKSB7XG4gICAgLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgd2lkdGg6ICgxMDAlIC8gNSk7XG4gICAgfVxuXG4gICAgLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLmJsb2NrLndpZGdldCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSA1ICogKDEwMCUgLyA2KSkgLyA0KTtcbiAgICAgICAgd2lkdGg6ICgxMDAlIC8gNik7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNG4gKyAxKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDUgKiAoMTAwJSAvIDYpKSAvIDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNW4gKyAxKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWxheW91dC0zY29sdW1ucyAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICB3aWR0aDogKDEwMCUgLyA0KTtcbiAgICB9XG5cbiAgICAuYmxvY2sud2lkZ2V0IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5ibG9jay53aWRnZXQgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAlIC0gNCAqIDI0LjQzOSUpIC8gMyk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAyNC40MzklO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDRuICsgMSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5zaWRlYmFyIC5ibG9jay53aWRnZXQgLnBhZ2VyIHtcbiAgICAgICAgLml0ZW06bm90KC5wYWdlcy1pdGVtLW5leHQpOm5vdCgucGFnZXMtaXRlbS1wcmV2aW91cykge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWJzLW5vLWRpc3BsYXktZGVza3RvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcy1pdGVtLW5leHQge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJsb2NrLWV2ZW50IHtcbiAgICAuY29sdW1ucyAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gIC5hY3Rpb24ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAgICAgJi5iYWNrd2FyZCxcbiAgICAgICAgICAgICYuZm9yd2FyZCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1jb250ZW50ICAgICA6ICRpY29uLXByZXYsXG4gICAgICAgICAgICAgICAgICAgICRfaWNvbi1mb250LXRleHQtaGlkZSAgIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgJF9pY29uLWZvbnQtc2l6ZSAgICAgICAgOiA1NXB4LFxuICAgICAgICAgICAgICAgICAgICAkX2ljb24tZm9udC1saW5lLWhlaWdodCA6IDMwcHhcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJhY2t3YXJkIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZvcndhcmQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQtc3ltYm9sKCRpY29uLW5leHQpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXItcGFuZWwge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgLnNsaWRlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hYnMtcmVzZXQtbGlzdDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRjYXRhbG9nLWV2ZW50LWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNi4zNSU7XG5cbiAgICAgICAgICAgICAgICAuc2lkZWJhci1tYWluICYsXG4gICAgICAgICAgICAgICAgLnNpZGViYXItYWRkaXRpb25hbCAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYXRlZ29yeS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aWNrZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGliLWZvbnQtc2l6ZSgyNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19saWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRhdGVzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fbGlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICAuZW5kLFxuICAgICAgICAgICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1mb250LXNpemUoMTgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodF9fbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaWItZm9udC1zaXplKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ib3gtZXZlbnQge1xuICAgICAgICAgICAgICAgICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgJGluZGVudF9fcztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5ib3gtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0X19saWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGluZGVudF9fcyAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmFicy1hZGQtYm94LXNpemluZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGVnb3J5Lm5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuZXZlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYWJzLWFjdGlvbi1saW5rLWJ1dHRvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24tcHJpbWFyeSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHdpZGdldHMtaW5kZW50X19ib3R0b206ICRpbmRlbnRfX2Jhc2UgIWRlZmF1bHQ7XG5cbi5ibG9jay1zdGF0aWMtYmxvY2ssXG4uYmxvY2stY21zLWxpbmsge1xuICAgICYud2lkZ2V0IHtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhtYXJnaW4tYm90dG9tLCAkd2lkZ2V0cy1pbmRlbnRfX2JvdHRvbSk7XG4gICAgICAgIC5saW5rcyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1jbXMtbGluay1pbmxpbmUge1xuICAgICYud2lkZ2V0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjQ3VzdG9tIElCQyBDTVMgY29udGVudCBwYWdlc1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jbXMtcGFnZS12aWV3IHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG5cbiAgLmNvbHVtbi5tYWluIHtcbiAgICB1bCwgb2wge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIH1cbiAgfVxuXG4gICYucGFnZS1sYXlvdXQtMWNvbHVtbiB7XG4gICAgLmNvbHVtbi5tYWluIHtcbiAgICAgIG1heC13aWR0aDogNzJyZW07XG5cbiAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYmxvY2std2lzaGxpc3Qtc2VhcmNoIHtcbiAgICAuZm9ybS13aXNobGlzdC1zZWFyY2gge1xuICAgICAgICBtYXJnaW46ICRmb3JtLWZpZWxkX192ZXJ0aWNhbC1pbmRlbnQgMCAwO1xuICAgIH1cbn1cbiIsIi5ibG9jay1jbXMtaGllcmFyY2h5LWxpbmsge1xuICAgICYud2lkZ2V0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpbmRlbnRfX2Jhc2U7XG4gICAgfVxufVxuXG4uYmxvY2stY21zLWhpZXJhcmNoeS1saW5rLWlubGluZSB7XG4gICAgJi53aWRnZXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuIiwiLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgTWFnZXBsYXphIEFqYXggTGF5ZXIgbW9kdWxlXG4qICAgTW9kdWxlIHN0eWxlcyBjb252ZXJ0ZWQgZnJvbSBMZXNzLlxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5sbl9vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICBoZWlnaHQ6IDMwMCU7XG4gIGxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICB3aWR0aDogNTAwJTtcbiAgei1pbmRleDogNTU1O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubG5fb3ZlcmxheSBpbWcge1xuICBtYXJnaW4tdG9wOiAzMDBweDtcbiAgbGVmdDogNDUlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4ubG5fc2xpZGVyX2NvbnRhaW5lciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgbWFyZ2luOiAwIDE1cHggMCA1cHg7XG59XG4iLCIvKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBNYWdlcGxhemEgTGF5ZXJlZCBOYXZpZ2F0aW9uIG1vZHVsZVxuKiAgIE1vZHVsZSBzdHlsZXMgY29udmVydGVkIGZyb20gTGVzcy5cbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG5fb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwLjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogNTU1O1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGltZyB7XG4gICAgdG9wOiA0MCU7XG4gICAgbGVmdDogNDUlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxufVxuXG4ubG5fc2xpZGVyX2NvbnRhaW5lciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgbWFyZ2luOiAwIDE1cHggMCA1cHg7XG59XG5cbi5sYXllcmVkLWZpbHRlci1ibG9jay1jb250YWluZXIgLmxuX3Rvb2x0aXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4iLCIvKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBNYWdlcGxhemEgTGF5ZXJlZCBOYXZpZ2F0aW9uIFBybyBtb2R1bGVcbiogICBNb2R1bGUgc3R5bGVzIGNvbnZlcnRlZCBmcm9tIExlc3MuXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYS5jaG9zZW4tc2luZ2xlLmNob3Nlbi1kZWZhdWx0LCAuY2hvc2VuLXNpbmdsZS13aXRoLWRlc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgdG9wOiAzcHg7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG59XG5cbmxpLmFjdGl2ZS1yZXN1bHQuaGlnaGxpZ2h0ZWQge1xuICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGFiYnIge1xuICB0b3A6IDlweCAhaW1wb3J0YW50O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG51bC5jaG9zZW4tcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNnB4O1xufVxuXG51bC5jaG9zZW4tcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG51bC5jaG9zZW4tcmVzdWx0czo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ubG5fc2xpZGVyX3JhbmdlIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmxuX3NsaWRlcl9yYW5nZV9pbnB1dCB7XG4gIHdpZHRoOiA2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5maWx0ZXItb3B0aW9ucy1jb250ZW50IC5yYXRpbmctc3VtbWFyeSB7XG4gIHBhZGRpbmctYm90dG9tOiAzcHhcbn1cblxuLmZpbHRlci1vcHRpb25zLWNvbnRlbnQgLnJhdGluZy1zdW1tYXJ5LnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAjbG5fc2xpZGVyX3JhbmdlX3ByaWNlIC5sbl9zbGlkZXJfZnJvbSB7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAjbG5fc2xpZGVyX3JhbmdlX3ByaWNlIC5sbl9zbGlkZXJfdG8ge1xuICAgIHdpZHRoOiA0NSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmxuX3NsaWRlcl9jb250YWluZXIgbGFiZWwge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk1cHgpIHtcbiAgLmxuX3NsaWRlcl9mcm9tIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuXG4gIC5sbl9zbGlkZXJfdG8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODIwcHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubG5fc2xpZGVyX3JhbmdlX2lucHV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XG4gIH1cblxuICAubG5fc2xpZGVyX3JhbmdlIC5sbl9zbGlkZXJfcmFuZ2VfaW5wdXRfdG8ge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmxuX3NsaWRlcl9yYW5nZSAubG5fc2xpZGVyX3JhbmdlX2lucHV0X3RvIHtcbiAgZmxvYXQ6IHJpZ2h0XG59XG5cbi5sbl9zbGlkZXJfY29udGFpbmVyIGxhYmVsIHtcbiAgbWluLXdpZHRoOiA1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLWxhYmVsLWxheWVyZWQge1xuICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zd2F0Y2gtb3B0aW9uLWxhYmVsLWxheWVyZWQgLnN3YXRjaC1vcHRpb24udGV4dCB7XG4gIHBhZGRpbmctdG9wOiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFweCAhaW1wb3J0YW50O1xufVxuXG4uc3dhdGNoLXRleHQgLnN3YXRjaC1vcHRpb24uY29sb3Ige1xuICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5sbl9zbGlkZXJfcmFuZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5sbl9zbGlkZXJfcmFuZ2UgLmxuX3NsaWRlcl9yYW5nZV9pbnB1dF90byB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLm1wbGF5ZXItc3ViY2F0ZWdvcnkge1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5tcGxheWVyLWNhdGVnb3J5LWl0ZW0gLm1wbGF5ZXItaXRlbS1zbGlkZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzU3NTc1NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubXBsYXllci1jYXRlZ29yeS1pdGVtLWxhYmVsIHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5tcGxheWVyLWNhdGVnb3J5LWl0ZW0taW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5tcGxheWVyLWNhdGVnb3J5LWl0ZW0tbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gIG1hcmdpbjogMDtcbn1cblxuYS5tcGxheWVyLWl0ZW0tc2xpZGVyOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiLy8gTWl4aW5zXG5AaW1wb3J0IFwibWl4aW5zL21lZGlhLXF1ZXJpZXNcIjtcblxuLy8gTWFnZW50byBVSSAtIHZlbmRvciBsaWJyYXJ5XG5AaW1wb3J0ICd2ZW5kb3IvbWFnZW50by11aS9saWInO1xuXG4vLyBUaGVtZSB2YXJpYWJsZXNcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIEJhc2VcbkBpbXBvcnQgXCJiYXNlL2Jhc2Utc3R5bGVzXCI7XG5AaW1wb3J0IFwiYmFzZS9nbG9iYWxcIjtcblxuLy8gTWFnZW50byByZXNldHNcbkBpbXBvcnQgJ2Jsb2Nrcy9yZXNldCc7XG5cbi8vIFRoZW1lIGJsb2Nrc1xuQGltcG9ydCAnYmxvY2tzL2FjdGlvbnMtdG9vbGJhcic7XG5AaW1wb3J0ICdibG9ja3MvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnYmxvY2tzL2J1dHRvbnMnO1xuQGltcG9ydCAnYmxvY2tzL2V4dGVuZHMnO1xuQGltcG9ydCAnYmxvY2tzL2Zvb3Rlci1jb250YWN0JztcbkBpbXBvcnQgJ2Jsb2Nrcy9mb3Jtcyc7XG5AaW1wb3J0ICdibG9ja3MvaWNvbnMnO1xuQGltcG9ydCAnYmxvY2tzL2xheW91dCc7XG5AaW1wb3J0ICdibG9ja3MvbWVzc2FnZXMnO1xuQGltcG9ydCAnYmxvY2tzL25hdmlnYXRpb24nO1xuQGltcG9ydCAnYmxvY2tzL3BhZ2VzJzsgLy8gVGhlbWUgcGFnZXJcbkBpbXBvcnQgJ2Jsb2Nrcy9wb3B1cHMnO1xuQGltcG9ydCAnYmxvY2tzL3ByaWNlJztcbkBpbXBvcnQgJ2Jsb2Nrcy9zZWN0aW9ucyc7XG5AaW1wb3J0ICdibG9ja3MvdGFibGVzJztcbkBpbXBvcnQgJ2Jsb2Nrcy90b29sdGlwcyc7XG5AaW1wb3J0ICdibG9ja3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdibG9ja3MvYmFubmVyJztcbkBpbXBvcnQgJ2Jsb2Nrcy9wcm9kdWN0cyc7XG5cbi8vIENvbXBvbmVudHMgc3R5bGVzIChtb2RhbC9zbGlkaW5nIHBhbmVsKVxuQGltcG9ydCAnYmxvY2tzL2NvbXBvbmVudHMvbW9kYWxzJzsgLy8gZnJvbSBsaWJcbkBpbXBvcnQgJ2Jsb2Nrcy9jb21wb25lbnRzL21vZGFsc19leHRlbmQnOyAvLyBsb2NhbFxuXG4vLyBDb3JlIE1vZHVsZXNcbkBpbXBvcnQgJy4uL01hZ2VudG9fQWR2YW5jZWRDaGVja291dC9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fQnJhaW50cmVlL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19CdW5kbGUvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0NhdGFsb2cvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0NhdGFsb2dFdmVudC9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fQ2F0YWxvZ1NlYXJjaC9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fQ2hlY2tvdXQvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0N1c3RvbWVyL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19Eb3dubG9hZGFibGUvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0dpZnRDYXJkL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19HaWZ0Q2FyZEFjY291bnQvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0dpZnRNZXNzYWdlL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19HaWZ0UmVnaXN0cnkvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0dpZnRXcmFwcGluZy9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fR3JvdXBlZFByb2R1Y3Qvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0ludml0YXRpb24vc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX0xheWVyZWROYXZpZ2F0aW9uL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19Nc3JwL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19NdWx0aXBsZVdpc2hsaXN0L3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19NdWx0aXNoaXBwaW5nL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19OZXdzbGV0dGVyL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19QYXlwYWwvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX1Byb2R1Y3RWaWRlby9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fUmV2aWV3L3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZW50b19SZXdhcmQvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX1JtYS9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fU2FsZXMvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX1NhbGVzUnVsZS9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fU2VuZEZyaWVuZC9zdHlsZXMvbW9kdWxlJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fU3dhdGNoZXMvc3R5bGVzL3N3YXRjaGVzJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fVGhlbWUvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX1RoZW1lL3N0eWxlcy9oZWFkZXInO1xuQGltcG9ydCAnLi4vTWFnZW50b19UaGVtZS9zdHlsZXMvZm9vdGVyJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fVmF1bHQvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX1dlZWUvc3R5bGVzL21vZHVsZSc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX1dpc2hsaXN0L3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vQW1hc3R5X1JlcXVlc3RRdW90ZS9zdHlsZXMvbW9kdWxlJztcblxuXG4vLyBXaWRnZXRzXG5AaW1wb3J0ICcuLi9NYWdlbnRvX0FkdmFuY2VkQ2hlY2tvdXQvc3R5bGVzL3dpZGdldHMnO1xuQGltcG9ydCAnLi4vTWFnZW50b19CYW5uZXIvc3R5bGVzL3dpZGdldHMnO1xuQGltcG9ydCAnLi4vTWFnZW50b19DYXRhbG9nL3N0eWxlcy93aWRnZXRzJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fQ2F0YWxvZ0V2ZW50L3N0eWxlcy93aWRnZXRzJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fQ21zL3N0eWxlcy93aWRnZXRzJztcbkBpbXBvcnQgJy4uL01hZ2VudG9fTXVsdGlwbGVXaXNobGlzdC9zdHlsZXMvd2lkZ2V0cyc7XG5AaW1wb3J0ICcuLi9NYWdlbnRvX1ZlcnNpb25zQ21zL3N0eWxlcy93aWRnZXRzJztcblxuXG4vLyBUaGlyZCBwYXJ0eSBtb2R1bGVzXG5AaW1wb3J0ICcuLi9NYWdlcGxhemFfQWpheExheWVyL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZXBsYXphX0xheWVyZWROYXZpZ2F0aW9uL3N0eWxlcy9tb2R1bGUnO1xuQGltcG9ydCAnLi4vTWFnZXBsYXphX0xheWVyZWROYXZpZ2F0aW9uUHJvL3N0eWxlcy9tb2R1bGUnO1xuXG5cbi8qIExvY2FsIHRoZW1lIG92ZXJyaWRlcyAqL1xuQGltcG9ydCAnYmxvY2tzL2NvbXBvbmVudHMvdG9vbGJhcl9leHRlbmQnO1xuQGltcG9ydCAnYmxvY2tzL2xvYWRlcnMnO1xuQGltcG9ydCAnYmxvY2tzL2NvbXBvbmVudHMvbGF5ZXJlZG5hdmlnYXRpb25fZXh0ZW5kJztcbkBpbXBvcnQgJ2Jsb2Nrcy9jb21wb25lbnRzL2NhdGFsb2dfcHJvZHVjdF9leHRlbmQnO1xuQGltcG9ydCAnYmxvY2tzL2NvbXBvbmVudHMvY2F0YWxvZ19zZWFyY2hfZXh0ZW5kJztcbkBpbXBvcnQgJ2Jsb2Nrcy9jb21wb25lbnRzL2N1c3RvbWVyX2V4dGVuZCc7XG5AaW1wb3J0ICdibG9ja3MvY29tcG9uZW50cy9wcmljZS1ib3gnO1xuQGltcG9ydCAnYmxvY2tzL2NvbXBvbmVudHMvY2hlY2tvdXQvbGF5b3V0JztcbkBpbXBvcnQgJ2Jsb2Nrcy9jb21wb25lbnRzL2NoZWNrb3V0L3N1Y2Nlc3MnO1xuQGltcG9ydCAnYmxvY2tzL2NvbXBvbmVudHMvY2hlY2tvdXQvYXV0aGVudGljYXRpb24nO1xuQGltcG9ydCAnYmxvY2tzL2NvbXBvbmVudHMvc2FsZXMvb3JkZXItdGFicyc7XG4iLCIvKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBCcmFuZGVkIHRoZW1pbmcgb24gdG9wIG9mIGRlZmF1bHQgbW9kdWxlIHN0eWxlcy9sYXlvdXRcbipcbiogICBUQUJMRSBPRiBDT05URU5UU1xuKiAgIGNvbW1vblxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNjb21tb25cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udG9vbGJhci1hbW91bnQge1xuXHRwYWRkaW5nLXRvcDogMDtcblx0XG5cdGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblx0Zm9udC1zaXplOiAxLjRyZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udG9vbGJhci1zb3J0ZXIge1xuXHRwYWRkaW5nLXRvcDogMDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFxuXHRsYWJlbCB7XG5cdFx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdH1cbn1cblxuLnRvb2xiYXIge1xuXHRzZWxlY3Qge1xuXHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0bWFyZ2luLWxlZnQ6IDFjaDtcblx0XHRwYWRkaW5nOiAxLjVyZW0gMy44cmVtIDEuNXJlbSAycmVtO1xuXHRcdFxuXHRcdGJvcmRlcjogbm9uZTtcblx0XHQvLyBib3JkZXItcmFkaXVzOiAwLjVyZW07XG5cdFx0XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtYmxhY2s7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvaWNvbl9fc2VsZWN0LS1kb3duLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS41cmVtIGNlbnRlcjtcblx0XHRcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Ly8gbGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0fVxuXG5cdC5hY3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuXHRcdCY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXHRcdH1cblx0fVxufVxuIiwiLy9cbi8vICBDb21tb25cbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxvYWQuaW5kaWNhdG9yIHtcbiAgICBAaW5jbHVkZSBsaWItbG9hZGVyKCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5sb2FkaW5nLW1hc2sge1xuICAgIEBpbmNsdWRlIGxpYi1sb2FkaW5nLW1hc2soKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG5cbiAgICAubG9hZGVyIHtcbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGliLWxvYWRpbmctbWFzaygpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkge1xuICAgID4gLmxvYWRpbmctbWFzayB7XG4gICAgICAgIHotaW5kZXg6ICRsb2FkZXItb3ZlcmxheV9fei1pbmRleDtcbiAgICB9XG59XG5cbi5fYmxvY2stY29udGVudC1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuXG5cbi8qIE92ZXJyaWRlIExheWVyZWROYXYgbG9hZGVycyAqL1xuLmxuX292ZXJsYXkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5cblxuXG4vKiBDdXN0b20gQ1NTIGxvYWRlciBhbmltYXRpb24gKGF0dGVtcHQgYXQgaW50ZWdyYXRpb24gd2l0aG91dCBvdmVyd3JpdGluZyBlYWNoIGFuZCBldmVyeSB0ZW1wbGF0ZSkgKi9cbi5wYWdlLWxheW91dC1jaGVja291dCAubG9hZGVyLFxuLnBhZ2Utd3JhcHBlciAubG9hZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDIuNXJlbSk7XG5cbiAgICBib3JkZXI6IDAuNnJlbSBkb3VibGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yLWJsYWNrO1xuXG4gICAgYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gNjkwbXMgaW5maW5pdGUgbGluZWFyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY3NzbG9hZC1zcGluIHtcbiAgMTAwJSB7IFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IFxuICB9XG59XG4iLCIvL1xuLy8gIExvYWRlciB2YXJpYWJsZXNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuJGxvYWRlci1vdmVybGF5X19iYWNrZ3JvdW5kLWNvbG9yIDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFkZWZhdWx0O1xuJGxvYWRlci1vdmVybGF5X196LWluZGV4ICAgICAgICAgIDogOTk5OSAhZGVmYXVsdDtcblxuJGxvYWRlci1pY29uX193aWR0aCAgICAgICAgICAgICAgIDogMTYwcHggIWRlZmF1bHQ7XG4kbG9hZGVyLWljb25fX2hlaWdodCAgICAgICAgICAgICAgOiAxNjBweCAhZGVmYXVsdDtcbiRsb2FkZXItaWNvbl9fYmFja2dyb3VuZC1jb2xvciAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGxvYWRlci1pY29uX19iYWNrZ3JvdW5kLWltYWdlICAgIDogdXJsKCcuLi9pbWFnZXMvbG9hZGVyLTIuZ2lmJykgIWRlZmF1bHQ7XG4kbG9hZGVyLWljb25fX2JhY2tncm91bmQtcG9zaXRpb24gOiA1MCUgNTAlICFkZWZhdWx0O1xuJGxvYWRlci1pY29uX19ib3JkZXItcmFkaXVzICAgICAgIDogNXB4ICFkZWZhdWx0O1xuJGxvYWRlci1pY29uX19wYWRkaW5nICAgICAgICAgICAgIDogJycgIWRlZmF1bHQ7XG5cbiRsb2FkZXItdGV4dCAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuJGxvYWRlci10ZXh0X19jb2xvciAgICAgICAgICAgICAgIDogJHByaW1hcnlfX2NvbG9yICFkZWZhdWx0O1xuJGxvYWRlci10ZXh0X19mb250LXNpemUgICAgICAgICAgIDogJGZvbnQtc2l6ZV9fYmFzZSAhZGVmYXVsdDtcbiRsb2FkZXItdGV4dF9fZm9udC1mYW1pbHkgICAgICAgICA6ICRmb250LWZhbWlseV9fYmFzZSAhZGVmYXVsdDtcbiRsb2FkZXItdGV4dF9fZm9udC13ZWlnaHQgICAgICAgICA6ICRmb250LXdlaWdodF9fcmVndWxhciAhZGVmYXVsdDtcbiRsb2FkZXItdGV4dF9fZm9udC1zdHlsZSAgICAgICAgICA6ICRmb250LXN0eWxlX19iYXNlICFkZWZhdWx0O1xuJGxvYWRlci10ZXh0X19wYWRkaW5nICAgICAgICAgICAgIDogMTMwcHggMCAwICFkZWZhdWx0O1xuXG4kbG9hZGluZ19fYmFja2dyb3VuZC1jb2xvciAgICAgICAgOiAkbG9hZGVyLW92ZXJsYXlfX2JhY2tncm91bmQtY29sb3IgIWRlZmF1bHQ7XG4kbG9hZGluZ19fYmFja2dyb3VuZC1pbWFnZSAgICAgICAgOiAkbG9hZGVyLWljb25fX2JhY2tncm91bmQtaW1hZ2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gIExvYWRlcnNcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuQG1peGluIGxpYi1sb2FkZXIoXG4gICAgJF9sb2FkZXItb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yIDogJGxvYWRlci1vdmVybGF5X19iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRfbG9hZGVyLW92ZXJsYXktei1pbmRleCAgICAgICAgICA6ICRsb2FkZXItb3ZlcmxheV9fei1pbmRleCxcbiAgICAkX2xvYWRlci1pY29uLXdpZHRoICAgICAgICAgICAgICAgOiAkbG9hZGVyLWljb25fX3dpZHRoLFxuICAgICRfbG9hZGVyLWljb24taGVpZ2h0ICAgICAgICAgICAgICA6ICRsb2FkZXItaWNvbl9faGVpZ2h0LFxuICAgICRfbG9hZGVyLWljb24tYmFja2dyb3VuZC1jb2xvciAgICA6ICRsb2FkZXItaWNvbl9fYmFja2dyb3VuZC1jb2xvcixcbiAgICAkX2xvYWRlci1pY29uLWJhY2tncm91bmQtaW1hZ2UgICAgOiAkbG9hZGVyLWljb25fX2JhY2tncm91bmQtaW1hZ2UsXG4gICAgJF9sb2FkZXItaWNvbi1iYWNrZ3JvdW5kLXBvc2l0aW9uIDogJGxvYWRlci1pY29uX19iYWNrZ3JvdW5kLXBvc2l0aW9uLFxuICAgICRfbG9hZGVyLWljb24tYm9yZGVyLXJhZGl1cyAgICAgICA6ICRsb2FkZXItaWNvbl9fYm9yZGVyLXJhZGl1cyxcbiAgICAkX2xvYWRlci1pY29uLXBhZGRpbmcgICAgICAgICAgICAgOiAkbG9hZGVyLWljb25fX3BhZGRpbmcsXG4gICAgJF9sb2FkZXItdGV4dCAgICAgICAgICAgICAgICAgICAgIDogJGxvYWRlci10ZXh0LFxuICAgICRfbG9hZGVyLXRleHQtY29sb3IgICAgICAgICAgICAgICA6ICRsb2FkZXItdGV4dF9fY29sb3IsXG4gICAgJF9sb2FkZXItdGV4dC1mb250LXNpemUgICAgICAgICAgIDogJGxvYWRlci10ZXh0X19mb250LXNpemUsXG4gICAgJF9sb2FkZXItdGV4dC1mb250LWZhbWlseSAgICAgICAgIDogJGxvYWRlci10ZXh0X19mb250LWZhbWlseSxcbiAgICAkX2xvYWRlci10ZXh0LWZvbnQtd2VpZ2h0ICAgICAgICAgOiAkbG9hZGVyLXRleHRfX2ZvbnQtd2VpZ2h0LFxuICAgICRfbG9hZGVyLXRleHQtZm9udC1zdHlsZSAgICAgICAgICA6ICRsb2FkZXItdGV4dF9fZm9udC1zdHlsZSxcbiAgICAkX2xvYWRlci10ZXh0LXBhZGRpbmcgICAgICAgICAgICAgOiAkbG9hZGVyLXRleHRfX3BhZGRpbmdcbikge1xuICAgIEBpbmNsdWRlIGxpYi1jc3MoYmFja2dyb3VuZC1jb2xvciwgJF9sb2FkZXItb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBsaWItY3NzKHotaW5kZXgsICRfbG9hZGVyLW92ZXJsYXktei1pbmRleCk7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGlmICRfbG9hZGVyLXRleHQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaWItY3NzKHBhZGRpbmcsICRfbG9hZGVyLXRleHQtcGFkZGluZyk7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGxpYi10eXBvZ3JhcGh5KFxuICAgICAgICAgICAgICAgICRfY29sb3IgICAgICAgOiAkX2xvYWRlci10ZXh0LWNvbG9yLFxuICAgICAgICAgICAgICAgICRfZm9udC1zaXplICAgOiAkX2xvYWRlci10ZXh0LWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtZmFtaWx5IDogJF9sb2FkZXItdGV4dC1mb250LWZhbWlseSxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtd2VpZ2h0IDogJF9sb2FkZXItdGV4dC1mb250LXdlaWdodCxcbiAgICAgICAgICAgICAgICAkX2ZvbnQtc3R5bGUgIDogJF9sb2FkZXItdGV4dC1mb250LXN0eWxlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyhiYWNrZ3JvdW5kLCAkX2xvYWRlci1pY29uLWJhY2tncm91bmQtY29sb3IgJF9sb2FkZXItaWNvbi1iYWNrZ3JvdW5kLWltYWdlIG5vLXJlcGVhdCAkX2xvYWRlci1pY29uLWJhY2tncm91bmQtcG9zaXRpb24pO1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJvcmRlci1yYWRpdXMsICRfbG9hZGVyLWljb24tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MoaGVpZ2h0LCAkX2xvYWRlci1pY29uLWhlaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIGxpYi1jc3MocGFkZGluZywgJF9sb2FkZXItaWNvbi1wYWRkaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgbGliLWNzcyh3aWR0aCwgJF9sb2FkZXItaWNvbi13aWR0aCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi1sb2FkaW5nKFxuICAgICRfbG9hZGluZy1iYWNrZ3JvdW5kLWNvbG9yIDogJGxvYWRpbmdfX2JhY2tncm91bmQtY29sb3IsXG4gICAgJF9sb2FkaW5nLWJhY2tncm91bmQtaW1hZ2UgOiAkbG9hZGluZ19fYmFja2dyb3VuZC1pbWFnZVxuKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBsaWItY3NzKGJhY2tncm91bmQsICRfbG9hZGluZy1iYWNrZ3JvdW5kLWNvbG9yICRfbG9hZGluZy1iYWNrZ3JvdW5kLWltYWdlIG5vLXJlcGVhdCA1MCUgNTAlKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuQG1peGluIGxpYi1sb2FkaW5nLW1hc2soKSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwO1xufVxuIiwiLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgQnJhbmRlZCB0aGVtaW5nIG9uIHRvcCBvZiBkZWZhdWx0IG1vZHVsZSBzdHlsZXMvbGF5b3V0XG4qXG4qICAgVEFCTEUgT0YgQ09OVEVOVFNcbiogICBjb21tb25cbiogICBjb2xvciBzd2F0Y2hlc1xuKiAgIHJhbmdlIHNsaWRlclxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNjb21tb25cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYmxvY2suZmlsdGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHQuZmlsdGVyLXRpdGxlIHtcblx0XHRtYXJnaW46IDEuNHJlbSAwIDFyZW07XG5cdFx0cGFkZGluZzogMCAxLjVyZW07XG5cdFx0Y29sb3I6ICRjb2xvci1vc2xvLWdyZXk7XG5cblx0XHRzdHJvbmcge1xuXHRcdFx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFx0fVxuXHR9XG59XG5cblxuLyogVHlwZSBvZiBmaWx0ZXIuIEdyb3VwIG9mIG9wdGlvbnMuICovXG4uZmlsdGVyLW9wdGlvbnMtaXRlbSB7XG5cdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xuXHR9XG5cblx0LmZpbHRlci1vcHRpb25zLXRpdGxlIHtcblx0XHRwYWRkaW5nOiAxcmVtIDEuNXJlbTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHR9XG5cblx0JltkYXRhLWNvbGxhcHNpYmxlPVwidHJ1ZVwiXSAuZmlsdGVyLW9wdGlvbnMtdGl0bGUge1xuXHRcdEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG5cdFx0XHQkaWNvbi1kb3duLFxuXHRcdFx0JF9pY29uLWZvbnQtc2l6ZSAgICAgICA6IDEuOHJlbSxcblx0XHRcdCRfaWNvbi1mb250LWxpbmUtaGVpZ2h0OiAxLFxuXHRcdFx0JF9pY29uLWZvbnQtdGV4dC1oaWRlICA6IHRydWUsXG5cdFx0XHQkX2ljb24tZm9udC1jb2xvciAgICAgIDogJGNvbG9yLWJsdWUtYmxhY2ssXG5cdFx0XHQkX2ljb24tZm9udC1jb2xvci1ob3ZlcjogJGNvbG9yLWJsdWUtYmxhY2ssXG5cdFx0XHQkX2ljb24tZm9udC1wb3NpdGlvbiAgIDogYWZ0ZXJcblx0XHQpO1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDQuNXJlbTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMS40cmVtO1xuXHRcdFx0dG9wOiAwLjlyZW07XG5cdFx0fVxuXHR9XG5cblx0Ji5hY3RpdmVbZGF0YS1jb2xsYXBzaWJsZT1cInRydWVcIl0gLmZpbHRlci1vcHRpb25zLXRpdGxlOjphZnRlciB7XG5cdFx0Y29udGVudDogJGljb24tdXA7XG5cdH1cbn1cblxuXG4vKiBBY3R1YWwgb3B0aW9ucyB3aXRoaW4gYSB0eXBlL2dyb3VwICovXG4uZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDEuMnJlbSAxLjVyZW07XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrLXNxdWVlemU7XG5cblx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHRmb250LXNpemU6IDEuM3JlbTtcblxuXHQmIC5pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cblx0XHRhLFxuXHRcdC5jb3VudCB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLyogSW5kaXZpZHVhbCBvcHRpb25zICovXG4uZmlsdGVyLW9wdGlvbnMge1xuXHQubGF5ZXItaW5wdXQtbGFiZWwge1xuXHRcdHBhZGRpbmctbGVmdDogMy4ycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xuICAgIGRpc3BsYXk6IG5vbmU7IC8qIC0+IGNoZWNrYm94IGlzIChhcHBhcmVudGx5KSBub3QgbmVlZGVkIGFuZCBoYXMgbm8gYXNzb2NpYXRlZCBsYWJlbCAqL1xuXG5cdFx0JiArIC5sYXllci1pbnB1dC1sYWJlbCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAxLjVyZW07XG5cdFx0XHRcdGhlaWdodDogMS41cmVtO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRvcDogMC4ycmVtO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zO1xuXG5cdFx0XHRcdGJvcmRlcjogMC4xcmVtIHNvbGlkICRjb2xvci1tb29uLW1pc3Q7XG5cblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyOjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcblx0XHRcdH1cbiAgICB9XG5cbiAgICAmW2NoZWNrZWRdICsgLmxheWVyLWlucHV0LWxhYmVsLFxuICAgICY6Y2hlY2tlZCArIC5sYXllci1pbnB1dC1sYWJlbCB7XG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICRpY29uLWNoZWNrbWFyaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0b3A6IDA7XG5cblx0XHRcdFx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZbZGlzYWJsZWRdICsgLmxheWVyLWlucHV0LWxhYmVsIHtcblx0XHRcdGNvbG9yOiAkY29sb3ItZ3JleTtcblxuXHRcdFx0Jjpob3Zlcjo6YmVmb3JlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBTdWJpdGVtcyAqL1xuLyogLT4gc2hvdyB0aGUgc3ViaXRlbXMgb25seSBpZiB0aGUgcGFyZW50IGl0ZW0gaGFzIGJlZW4gY2hlY2tlZCAqL1xuLmZpbHRlci1vcHRpb25zIC5maWx0ZXItb3B0aW9ucy1jb250ZW50ID4gLml0ZW1zID4gLml0ZW0ge1xuXG4gICYgPiBvbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAxcmVtIDAgMXJlbSAzLjJyZW07XG4gIH1cblxuICAmIG9sID4gYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYgPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IG9sIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8qIEFjdGl2ZSBmaWx0ZXJzICsgcmVsYXRlZCBhY3Rpb25zICovXG4ubGF5ZXJlZC1maWx0ZXItYmxvY2stY29udGFpbmVyIHtcblx0LmZpbHRlci1jdXJyZW50ICsgLmZpbHRlci10aXRsZSxcblx0LmZpbHRlci1hY3Rpb25zICsgLmZpbHRlci10aXRsZSB7XG5cdFx0cGFkZGluZy10b3A6IDEuNnJlbTtcblx0XHRib3JkZXItdG9wOiAwLjFyZW0gc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG5cdH1cblxuXHQuZmlsdGVyLWN1cnJlbnQgKyAuZmlsdGVyLWFjdGlvbnMge1xuICAgIG1hcmdpbjogMS4ycmVtIDAgMS42cmVtO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuXHR9XG5cblx0LmZpbHRlci1jdXJyZW50IHtcblx0XHRjb2xvcjogJGNvbG9yLWJsdWUtYmxhY2s7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAuaXRlbXMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG5cblx0XHQuaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAvKiBpbmNyZWFzZSBoaXQgYXJlYSBzbyBlbnRpcmUgbGFiZWwgaXMgY2xpY2thYmxlICovXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC5maWx0ZXItbGFiZWwge1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgLmZpbHRlci12YWx1ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuXG5cdFx0XHQucmVtb3ZlIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogJGljb24tcmVtb3ZlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cblx0XHRcdFx0Jjpob3Zlcjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWJsYWNrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JiA+IHNwYW4ge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGxpYi12aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEluY3JlYXNlIGhpdCBhcmVhICovXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmZpbHRlci1jdXJyZW50LXN1YnRpdGxlIHtcblx0XHRtYXJnaW46IDAuM3JlbSAxLjVyZW0gMXJlbTtcbiAgfVxuXG4gIC5maWx0ZXItY2xlYXIge1xuICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjY29sb3Igc3dhdGNoZXNcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc3dhdGNoLWxheWVyZWQuY29sb3Ige1xuICAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBvdmVycmlkZSBtb2R1bGUncyAhaW1wb3J0YW50IGhhY2sgam9iXG4gIC5zd2F0Y2gtb3B0aW9uLWxhYmVsLWxheWVyZWQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXHQgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuc3dhdGNoLW9wdGlvbiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDIuMnJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAmLmltYWdlOm5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgICYuY29sb3I6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgb3V0bGluZS1jb2xvcjogJGNvbG9yLWdvbGQtYnJvd247XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCxcbiAgICAmLnNlbGVjdGVkOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG4gIH1cbn1cblxuLyogTmV2ZXIgc2hvdyB0aGUgaG92ZXIgdG9vbHRpcCBjb2xvciBjbG9zZXVwICovXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwW3N0eWxlXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI3JhbmdlIHNsaWRlclxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLW9wdGlvbnMtY29udGVudCB7XG5cbiAgJiAubG5fc2xpZGVyX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS4ycmVtIDAgMC41cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjVyZW0pO1xuICAgIG1hcmdpbjogMCAxLjVyZW0gMCAwLjVyZW07XG4gIH1cblxuICAmIC51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwLjhyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZTg7XG5cbiAgICArIGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmIC51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB9XG5cbiAgJiAudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgd2lkdGg6IDAuOHJlbTtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjM2I0YTRiO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I0YTRiO1xuICB9XG5cbiAgJiAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgIHRvcDogLTAuOHJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNHJlbTtcbiAgfVxuXG4gICYgLmxuX3NsaWRlcl9yYW5nZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuXG4gICYgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItd2lkdGg6IDAuMXJlbTtcbiAgfVxufVxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI3NtYWxsIHNjcmVlbnMsIG5vIHNwYWNlIGZvciBzaWRlYmFyIGZpbHRlcnNcbiogICBGaWx0ZXJzIHRvZ2dsZSwgb3ZlcmxheSBldGMuXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19sKSB7XG4gIC5wYWdlLXByb2R1Y3RzIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLnNvcnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBsaWItdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpbHRlci1hY3RpdmUgLnBhZ2UtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAuZmlsdGVyLWFjdGl2ZSAubmF2LXNlY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZpbHRlci1vcHRpb25zLFxuICAuZmlsdGVyLXN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmJsb2NrLmZpbHRlciAuZmlsdGVyLXRpdGxlIHN0cm9uZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEuNHJlbSAxcmVtO1xuXG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgY29sb3I6ICR0ZXh0X19jb2xvcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkaWNvbi1maWx0ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cblxuICAuYmxvY2suZmlsdGVyLmFjdGl2ZSB7XG4gICAgLmZpbHRlci1vcHRpb25zIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICAgIC5maWx0ZXItc3VidGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiA4ODtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWxpZ2h0LWdyZXk7XG4gICAgfVxuXG4gICAgLyogZGVza3RvcCB0aXRsZSB0dXJucyBpbnRvIGNsb3NlIGJ1dHRvbiwgXCJ0aGUgTWFnZW50byB3YXlcIiAqL1xuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogOTA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAvLyByZW1vdmUgZmlsdGVyIGljb25cbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLXJlbW92ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0X19jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjZGVza3RvcFxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbCkge1xuICAuZmlsdGVyLXN1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSBsaWItdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cblxuIiwiLy9cbi8vICBDb21tb25cbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IHtcblx0LnBhZ2UtbWFpbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR9XG5cblx0LnByb2R1Y3RfX21haW4td3JhcHBlciB7XG5cdFx0cGFkZGluZy1ib3R0b206IDMuMnJlbTtcblx0fVxuXG5cdC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIge1xuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgICAgbWFyZ2luLXRvcDogLTNyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICB9XG5cblx0XHRwYWRkaW5nOiAxLjVyZW07XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVzZXJ0LXN0b3JtO1xuXG5cdFx0Y29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXG5cdFx0LnBhZ2UtdGl0bGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdFx0XHRmb250LXNpemU6IDMuNHJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0fVxuXG5cdFx0LmRlc2NyaXB0aW9uX2NvbnRhaW5lciB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjJyZW07XG5cdFx0fVxuXG5cdFx0LnByb2R1Y3QuYXR0cmlidXRlLm92ZXJ2aWV3IHtcblx0XHRcdHVsLFxuXHRcdFx0b2wge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMnJlbTtcblx0XHRcdH1cblxuXHRcdFx0dWwge1xuXHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnByb2R1Y3QtaW5mby1sYWJlbHMge1xuICAgIG1hcmdpbi10b3A6IDQuNHJlbTtcblxuXHRcdGNvbG9yOiAkY29sb3ItYWJiZXk7XG5cdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTYyNTtcblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIH1cblx0fVxuXG5cdC5wcm9kdWN0LWluZm8tY3VzdG9tX19hdmFpbGFiaWxpdHkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcblxuICAgIEBpbmNsdWRlIHNjcmVlbigkc2NyZWVuX19tLCAkc2NyZWVuX19sKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuXHRcdC5wcm9kdWN0LWluZm8tcHJpY2Uge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyLjRyZW07XG5cdFx0XHQvLyBtaW4td2lkdGg6IDQwJTtcblx0XHR9XG5cblx0XHQuc3RvY2sge1xuXHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdFx0XHRmb250LXdlaWdodDogNDAwIWltcG9ydGFudDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG5cdFx0XHQmLmF2YWlsYWJsZSA+IHNwYW4ge1xuXHRcdFx0XHRAaW5jbHVkZSBsaWItaWNvbi1mb250KFxuXHRcdFx0XHRcdCRpY29uLWNoZWNrbWFyayxcblx0XHRcdFx0XHQkX2ljb24tZm9udC1tYXJnaW46IDAgMC44cmVtIDAgMFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG4gIC8vIEF0dHJpYnV0ZXMgaW4gcHJvZHVjdCBzcGVjIHNoZWV0XG4gIC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIge1xuICAgIC5jdXN0b21fYXR0cmlidXRlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cblxuICAgIC5jdXN0b21fYXR0cmlidXRlIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgIG1hcmdpbjogMC44cmVtIDEuNnJlbSAwLjhyZW0gMDtcbiAgICAgIG1pbi13aWR0aDogMTNyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9feHMpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgc2NyZWVuKCRzY3JlZW5fX20sICRzY3JlZW5fX2wpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2stc3F1ZWV6ZTtcblxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgICAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgLnZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itc2lyb2NjbztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAc3VwcG9ydHMgKGdyaWQtYXJlYTogYXV0bykge1xuICAgIEBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgICAgLnByb2R1Y3QtaW5mby1tYWluLS1pbm5lciAuZGVzY3JpcHRpb25fY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW5mby1tYWluLS1pbm5lciAuY3VzdG9tX2F0dHJpYnV0ZXMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICByb3ctZ2FwOiAxLjZyZW07XG4gICAgICAgIGNvbHVtbi1nYXA6IDEuNnJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxM3JlbSwgbWF4LWNvbnRlbnQpKTtcblxuICAgICAgICAuY3VzdG9tX2F0dHJpYnV0ZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2NyZWVuKCRzY3JlZW5fX20sICRzY3JlZW5fX2wpIHtcbiAgICAgIC5wcm9kdWN0LWluZm8tbWFpbi0taW5uZXIgLmN1c3RvbV9hdHRyaWJ1dGVzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblx0LnByb2R1Y3RfX2FkZGl0aW9uYWwtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlc2VydC1zdG9ybTtcblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbWF4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgIH1cblx0fVxufVxuXG4vKiBxdWFudGl0eSArIGFkZCB0byBjYXJ0IGZvcm0gKi9cbi5wcm9kdWN0LWluZm8tbWFpbiB7XG5cdC5wcm9kdWN0LWFkZC1mb3JtIHtcblx0XHRmb3JtIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyLjRyZW07XG5cblx0XHRcdD4gYnV0dG9uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFyZW07XG5cdFx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmJveC10b2NhcnQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiAwLjJyZW07XG5cdFx0XHRtaW4td2lkdGg6IDUuNnJlbTtcblx0XHRcdG1pbi1oZWlnaHQ6IDUuNnJlbTtcblx0XHRcdHRyYW5zaXRpb246IDI1MG1zIGxpbmVhcjtcblxuXHRcdFx0Ym9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yLWJsdWUtYmxhY2s7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwLjVyZW07XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlLWJsYWNrO1xuXG5cdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0Zm9udC1zaXplOiAzcmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItZ29sZC1icm93bjtcblx0XHRcdH1cblxuXHRcdFx0Ji5wcmltYXJ5IHtcblx0XHRcdFx0Ym9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yLXdoaXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblx0XHRcdFx0Zm9udC1zaXplOiAxLjhyZW07XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItZ29sZC1icm93bjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZS1ibGFjaztcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYudG9jYXJ0ID4gc3BhbiB7XG5cdFx0XHRcdEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoXG5cdFx0XHRcdFx0JGljb24tc2hvcHBpbmctY2FydFxuXHRcdFx0XHQpO1xuXG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxLjJyZW07XG5cblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWd1bnNtb2tlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZmllbGRzZXQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdFx0XHRtYXJnaW46IDAgLTEuMnJlbTtcblxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0fVxuXG5cblx0XHQucHJvZHVjdC1vcHRpb25zLXF1YW50aXR5IHtcbiAgICAgIGZsZXg6IDEgMSAzNSU7XG4gICAgICBtaW4td2lkdGg6IDE2LjhyZW07XG5cdFx0XHRtYXJnaW46IDAgMS4ycmVtIDA7XG5cblx0XHRcdC5udW1iZXItc3Bpbm5lciB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9feHMpIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIH1cblx0XHR9XG5cblx0XHQuY29udHJvbC5xdHkgbGFiZWwge1xuXHRcdFx0QGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbigpO1xuXHRcdH1cblxuXHRcdC5hY3Rpb25zIHtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdG1hcmdpbjogMCAxLjJyZW0gMi40cmVtO1xuXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcblxuXHRcdFx0LnByaW1hcnkge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIFNUQVJUIDo6IGN1c3RvbSBPcmRlcmluZyBibG9jayAqL1xuLnBkLXNlZ21lbnQtYmxvY2sge31cblxuLnBkLXNlZ21lbnRzLWJsb2NrX190aXRsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdG1hcmdpbi1ib3R0b206IDIuNHJlbTtcblxuXHRjb2xvcjogJGNvbG9yLWhvcml6b247XG59XG5cbi5wZC1zZWdtZW50cy1ibG9ja19fdGl0bGUtY29udGFpbmVyLXRpdGxlIHtcblx0ZmxleDogMCAwIGF1dG87XG5cdG1pbi13aWR0aDogMDtcblx0bWF4LXdpZHRoOiA4MCU7XG5cdHBhZGRpbmctcmlnaHQ6IDQuOHJlbTtcblx0bWFyZ2luOiAwO1xuXG5cdGZvbnQtc2l6ZTogMi44cmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS4xNztcbn1cblxuLnBkLXNlZ21lbnRzLWJsb2NrX190aXRsZS1jb250YWluZXItZGVjb3JhdGlvbiB7XG5cdGZsZXg6IDEgMSBhdXRvO1xuXG5cdCYgc3ZnIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4ucGQtb3JkZXItYmxvY2tfX3BhY2thZ2VzLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMi4ycmVtO1xuXG5cdGNvbG9yOiAkY29sb3ItZ29uZG9sYTtcblx0Zm9udC1zaXplOiAycmVtO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4ucGQtcGFja2FnZXMtYmxvY2sgLml0ZW0tbGlzdCB7XG5cdG1hcmdpbjogMCAtMS42cmVtIDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cblx0JiA+IGxpIHtcblx0XHRmbGV4OiAwIDEgMzMuMzMzMyU7XG4gICAgbWFyZ2luLWJvdHRvbTogIDMuMnJlbTtcblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgfVxuXHR9XG59XG5cbi5wcm9kdWN0LXBhY2thZ2UtaXRlbSB7XG5cdHBhZGRpbmc6IDJyZW07XG5cdG1hcmdpbjogMCAxLjZyZW07XG5cdGhlaWdodDogMTAwJTtcblxuXHRib3JkZXItcmFkaXVzOiAwLjhyZW07XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG5cdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4ucHJvZHVjdC1wYWNrYWdlLWl0ZW1fX3NrdSB7XG5cdG1hcmdpbjogMCAwIDAuNmVtO1xuXG5cdGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnByb2R1Y3QtcGFja2FnZS1pdGVtX19saW5lOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRtYXJnaW4tYm90dG9tOiAwLjJyZW07XG59XG4vKiBFTkQgOjogY3VzdG9tIE9yZGVyaW5nIGJsb2NrICovXG5cblxuLyogU1RBUlQgOjogcmVsYXRlZCBwcm9kdWN0cyAqL1xuLnByb2R1Y3RzLXJlbGF0ZWQge1xuICAuYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG5cdC5wcm9kdWN0LWl0ZW0tbGluay0tbW9yZSB7XG4gICAgQGluY2x1ZGUgbGliLWJ1dHRvbigpO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXHR9XG59XG4vKiBFTkQgOjogcmVsYXRlZCBwcm9kdWN0cyAqL1xuXG5cbi8qIFNUQVJUIDo6IHVuZG8gZGVmYXVsdCBsYXlvdXRzICovXG4ucGFnZS1sYXlvdXQtMWNvbHVtbixcbi5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0LFxuLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLXJpZ2h0LFxuLnBhZ2UtbGF5b3V0LTNjb2x1bW5zIHtcblx0LnByb2R1Y3QtaW5mby1tYWluLFxuXHQucHJvZHVjdC5tZWRpYSB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cbn1cbi8qIEVORCA6OiB1bmRvIGRlZmF1bHQgbGF5b3V0cyAqL1xuXG5cblxuXG4vL1xuLy8gIERlc2t0b3AgbGF5b3V0XG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuXHQuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3RfX21haW4td3JhcHBlciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0LnByb2R1Y3QtaW5mby1tYWluIHtcblx0XHRcdGZsZXg6IDAgMSA0MCU7XG5cblx0XHRcdC5wYWdlLXRpdGxlLXdyYXBwZXIgLnBhZ2UtdGl0bGUge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQucHJvZHVjdC1hZGQtZm9ybSB7XG5cdFx0XHRcdGZvcm0ge1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuXHRcdFx0XHRcdD4gYnV0dG9uIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA0LjhyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnByb2R1Y3QubWVkaWEge1xuXHRcdFx0ZmxleDogMCAxIDU3JTtcblx0XHR9XG5cblx0XHQucHJvZHVjdC1pbmZvLW1haW4tLWlubmVyIHtcblx0XHRcdHBhZGRpbmc6IDMuMnJlbSA0LjRyZW0gNHJlbSA1LjJyZW07XG5cdFx0fVxuXHR9XG5cblx0LnByb2R1Y3RfX2FkZGl0aW9uYWwtd3JhcHBlciB7XG5cdFx0bWFyZ2luOiAwIGNhbGMoNTAlIC0gNTB2dyk7XG5cdFx0cGFkZGluZzogNHJlbSAwIDYuNXJlbTtcblxuXHRcdCYgPiAqIHtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiAkbGF5b3V0X19tYXgtd2lkdGg7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBDQVRBTE9HIFNFQVJDSFxuKiAgIE1vc3RseSByZXNwb25zaXZlIGZpbmV0dW5pbmcgb2Ygc2VhcmNoIGJsb2NrIHdoaWNoIGlzXG4qICAgb3RoZXJ3aXNlIG1vc3RseSB0aGVtZWQgaW5zaWRlIF9oZWFkZXIuc2NzcyBwYXJ0aWFsLlxuKlxuKiAgIFRBQkxFIE9GIENPTlRFTlRTXG4qICAgbW9iaWxlIGxheW91dFxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNtb2JpbGUgbGF5b3V0XG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gIC5taW5pc2VhcmNoLWJ0biB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtaW5pY2FydC1jb2xvci1zZWFyY2gtYnV0dG9uO1xuICAgIH1cbiAgfVxuXG4gIC5ibG9jay1zZWFyY2guaXMtb3BlbiB7XG4gICAgLm1pbmlzZWFyY2gtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtaW5pY2FydC1jb2xvci1zZWFyY2gtYnV0dG9uO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGxpYi12aXN1YWxseS1oaWRkZW4oKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBkbyBub3Qgc2hvdyBhdXRjb21wbGV0ZSBkcm9wZG93biBvdXRzaWRlIG9mIG1vYmlsZSBzZWFyY2ggZHJvcGRvd24gKi9cbiAgICAuc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gICAgICAmLFxuICAgICAgJltzdHlsZV0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1pbmlzZWFyY2gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogODY7XG4gICAgICBtaW4td2lkdGg6IDI0cmVtO1xuICAgICAgbWF4LXdpZHRoOiA0NHJlbTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMC40cmVtKTtcbiAgICAgIGJveC1zaGFkb3c6ICRkcm9wZG93bi1saXN0X19zaGFkb3c7XG5cbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBib3JkZXI6IDAuNnJlbSBzb2xpZDtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMS4ycmVtO1xuICAgICAgICByaWdodDogMS42cmVtO1xuICAgICAgICB6LWluZGV4OiA0MjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3Itd2hpdGUgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtMS40cmVtO1xuICAgICAgICByaWdodDogMS42cmVtO1xuICAgICAgICB6LWluZGV4OiA0MDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjdyZW07XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yLWxpZ2h0LWdyZXkgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRyb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICBcbiAgICAuY29udHJvbCBpbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5hY3Rpb24uc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgbGliLXZpc3VhbGx5LWhpZGRlbi1yZXNldCgpO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX194cykge1xuICAuYmxvY2stc2VhcmNoLmlzLW9wZW4gLm1pbmlzZWFyY2gge1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgwLjRyZW0pO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMC42cmVtKTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMC43cmVtKTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgQnJhbmRpbmcgb3ZlcnJpZGVzIGZvciBNYWdlbnRvIEN1c3RvbWVyIG1vZHVsZSBhbmQgd2lkZ2V0c1xuKlxuKiAgIFRBQkxFIE9GIENPTlRFTlRTXG4qICAgLSBQYWdlIG92ZXJyaWRlc1xuKiAgIC0gRm9ybSBzcGFjaW5nXG4qICAgLSBQYXNzd29yZCB3aWRnZXRcbiogICAtIExvZ2luXG4qICAgLSBBY2NvdW50IHBhZ2VzXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI1BhZ2Ugb3ZlcnJpZGVzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4sXG4uY3VzdG9tZXItYWNjb3VudC1mb3Jnb3RwYXNzd29yZCB7XG5cdC5wYWdlLW1haW4ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0fVxufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjRm9ybSBzcGFjaW5nXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZvcm0ucGFzc3dvcmQucmVzZXQsIFxuLmZvcm0uc2VuZC5jb25maXJtYXRpb24sIFxuLmZvcm0ucGFzc3dvcmQuZm9yZ2V0LCBcbi5mb3JtLmNyZWF0ZS5hY2NvdW50IHtcblx0cGFkZGluZy1ib3R0b206IDRyZW07XG5cblx0LmFjdGlvbnMtdG9vbGJhciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBub25lO1xuXHRcdH1cblxuXHRcdC5zZWNvbmRhcnkgLmFjdGlvbiB7XG5cdFx0XHRjb2xvcjogJHRleHRfX2NvbG9yO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBtYXgtc2NyZWVuKCRzY3JlZW5fX3MpIHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdFx0JiA+ICoge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZm9ybS5wYXNzd29yZC5mb3JnZXQge1xuXHRAaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcblx0XHQuZW1haWwge1xuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXG5cdFx0XHQuY29udHJvbCB7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWF4LXdpZHRoOiA0NHJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYWN0aW9ucy10b29sYmFyIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWF4LXdpZHRoOiA0NHJlbTtcblx0XHR9XG5cdH1cbn1cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI1Bhc3N3b3JkIHdpZGdldFxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wYXNzd29yZC1zdHJlbmd0aC1tZXRlciB7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiAwLjVyZW07XG5cdFx0dG9wOiBhdXRvO1xuXHRcdGJvdHRvbTogMDtcblx0fVxufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjTG9naW5cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG9naW4tY29udGFpbmVyIHtcbiAgLmJsb2NrLW5ldy1jdXN0b21lciB7XG4gICAgYS5wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIGxpYi1idXR0b24oKTtcbiAgICB9XG4gIH1cbn0gXG5cbkBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuXHQubG9naW4tY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZmllbGRzZXQgPiAuZmllbGQ6bm90KC5jaG9pY2UpID4gLmxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG5cdFx0LmJsb2NrIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXG5cdFx0LmJsb2NrLWN1c3RvbWVyLWxvZ2luIHtcblx0XHRcdGZsZXg6IDAgMSA0OCU7XG5cdFx0XHRtYXgtd2lkdGg6IDQwcmVtO1xuXHRcdFx0cGFkZGluZy10b3A6IDJyZW07XG5cblx0XHRcdC5maWVsZHNldCA+IC5maWVsZCA+IC5jb250cm9sIHtcblx0XHRcdFx0d2lkdGg6IDc0LjIlO1xuXHRcdFx0fVxuXG5cdFx0XHQvKiByZXF1aXJlZCBtZXNzYWdlICovXG5cdFx0XHQuZmllbGRzZXQ6OmFmdGVyIHtcblx0XHRcdFx0Ly8gbWFyZ2luLWxlZnQ6IDI1LjglO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3JtIC5hY3Rpb25zLXRvb2xiYXIge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG5cdFx0XHRcdCY6OmJlZm9yZSxcblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc2Vjb25kYXJ5IC5hY3Rpb24ge1xuXHRcdFx0XHRcdGNvbG9yOiAkdGV4dF9fY29sb3I7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5ibG9jay1uZXctY3VzdG9tZXIge1xuXHRcdFx0ZmxleDogMCAxIDQ4JTtcblx0XHRcdG1heC13aWR0aDogNjByZW07XG5cdFx0XHRwYWRkaW5nOiAycmVtO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc29mdC1ncmV5O1xuXHRcdH1cblx0fVxufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjQWNjb3VudCBwYWdlc1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgJ2FjY291bnQvbGF5b3V0JztcbkBpbXBvcnQgJ2FjY291bnQvc2lkZW5hdic7XG5AaW1wb3J0ICdhY2NvdW50L2Zvcm1zJztcbiIsIi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIEFDQ09VTlQgUEFHRVNcbiogICBMYXlvdXQgY2hhbmdlc1xuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNXaGl0ZXNwYWNlICYgdHlwb2dyYXBoeVxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmJvZHkuYWNjb3VudCB7XG4gIC5wYWdlLW1haW5fX2lubmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcblxuICAgIEBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuNHJlbTtcbiAgICB9XG4gIH1cblxuICAucHJpY2UtaW5jbHVkaW5nLXRheCwgXG4gIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuXG4gIC5wcmljZS1pbmNsdWRpbmctdGF4ICsgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgIG1hcmdpbi10b3A6IDAuNHJlbTtcblxuICAgICYgLnByaWNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICN0YWJsZXMgaW4gb3ZlcnZpZXdzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRhYmxlOm5vdCguY2FydCk6bm90KC50b3RhbHMpID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuYm9keS5hY2NvdW50IHtcbiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQge1xuICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgfVxufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjQWNjb3VudCBvdmVydmlldyBjb2x1bW4gc3RydWN0dXJlXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19sKSB7XG4gIC5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gIC8qIHByZXZlbnQgdW5uZWNlc3Nhcnkgd2hpdGVzcGFjZSBzaW5jZSBtZXNzYWdlcyBwbGFjZWhvbGRlciBjb250YWluZXIgaXMgYWx3YXlzIHByaW50ZWQgKi9cbiAgLmFjY291bnQgLnBhZ2UubWVzc2FnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAubWVzc2FnZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgfVxuICB9XG5cbiAgLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5zaWRlYmFyLW1haW4ge1xuICAgICAgb3JkZXI6IDk5O1xuXG4gICAgICAuYmxvY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjhyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fcykge1xuICAuYWNjb3VudCAub3JkZXItZGV0YWlscy1pdGVtcyAudGFibGUtb3JkZXItaXRlbXMge1xuICAgIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC50YWJsZS13cmFwcGVyIC50YWJsZTpub3QoLmNhcnQpOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLWNvbXBhcmlzb24pID4gdGJvZHkgPiB0ciB7XG4gICAgdGQ6OmJlZm9yZSwgXG4gICAgdGg6OmJlZm9yZSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH0gXG59XG5cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG4gIC5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbnMgLnNpZGViYXItbWFpbiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG5AaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX2wpIHtcbiAgLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICBcbiAgLmFjY291bnQucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1ucyAuc2lkZWJhci1tYWluIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5hY2NvdW50LnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbnMgLnNpZGViYXItYWRkaXRpb25hbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxleDogMCAxIDI1JTtcblxuICAgICYgPiAuYmxvY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMnJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIEFDQ09VTlQgU0VDVElPTlxuKiAgIHNpZGViYXIgbmF2aWdhdGlvblxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNzaWRlYmFyIG5hdmlnYXRpb25cbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWNjb3VudC1uYXYgLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ29uZG9sYTtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gICYgLml0ZW0uY3VycmVudCB7XG4gICAgYSxcbiAgICBzdHJvbmcge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG59XG4iLCIvKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBBQ0NPVU5UIEZPUk1TXG4qICAgT3ZlcnJpZGVzIGZvciBkZWZhdWx0IGZvcm0gbGFiZWxzLCBpbnB1dHMgaW4gYWNjb3VudCBzZWN0aW9uXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2xhYmVsLCBpbnB1dCBsYXlvdXRcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWNjb3VudCB7XG4gIC5jb2x1bW4gLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgLnByaW1hcnkgKyAuc2Vjb25kYXJ5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuICAgIH1cbiAgfSBcblxuICAuYWN0aW9ucy10b29sYmFyIGEuYWN0aW9uIHtcbiAgICBjb2xvcjogJHRleHRfX2NvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWVzc2FnZS5lbXB0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIC5maWVsZHNldCA+IC5maWVsZDpub3QoLmNob2ljZSkge1xuICAgICAgJiA+IC5sYWJlbCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgXG4gICAgICAmID4gLmNvbnRyb2wge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNDRyZW07XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAuZmllbGRzZXQgPiAuZmllbGQuY2hvaWNlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICAuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSBmb3JtIC5hY3Rpb25zLXRvb2xiYXIsXG4gICAgLmNvbHVtbjpub3QoLnNpZGViYXItbWFpbikgZm9ybSAuYWN0aW9ucy10b29sYmFyLCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNBY3Rpb25zIC8gYm94IGFjdGlvbnNcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWNjb3VudCBhLmFjdGlvbiB7XG4gIHRyYW5zaXRpb246IDI1MG1zIGxpbmVhcjtcbiAgXG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWNhZGlsbGFjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYmFjayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkaWNvbi1wcmV2O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG5cbiAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9IFxufVxuXG4uYWNjb3VudCAuYm94LWFjdGlvbnMge1xuICAuYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICN0b29sYmFyc1xuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hY2NvdW50IC5jb2x1bW4ubWFpbiAudG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG5cbiAgLnBhZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBmbGV4OiAwIDEgMTAwJTtcblxuICAgIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gIC50b29sYmFyLWFtb3VudCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cbiIsIi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIFBSSUNFIEJPWFxuKiAgIGF0dGVtcHRzIHRvIGdyb3VwIGFsbCBzdHlsZXMgcmVsYXRpbmcgdG8gYWxsIHByaWNlIHZhcmlhdGlvbnNcbipcbiogICBUQUJMRSBPRiBDT05URU5UU1xuKiAgIC0gcHJvZHVjdCBkZXRhaWxcbipcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjcHJvZHVjdCBkZXRhaWxcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucHJvZHVjdC1pbmZvLW1haW4sXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gIC5wcmljZS1ib3ggLnByaWNlLXdyYXBwZXIgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmJveC10b2NhcnQgLmlucHV0LXRleHQucXR5IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLXdpZHRoOiA2LjZyZW07XG4gICAgZmxleDogMSAwIGF1dG87XG5cbiAgICBib3JkZXItY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBcbiAgICBjb2xvcjogJGNvbG9yLWdvbmRvbGE7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC5ib3gtdG9jYXJ0IC5udW1iZXItc3Bpbm5lciB7XG4gICAgLm51bWJlci1zcGlubmVyX19idXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuaW5wdXQtdGV4dC5xdHkge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1nb2xkLWJyb3duO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfSBcbn1cbiIsIi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKlxuKiAgIENIRUNLT1VUIE1PRFVMRSBMQVlPVVQgTU9EU1xuKlxuKiAgIFRBQkxFIE9GIENPTlRFTlRTXG4qICAgd2hpdGVzcGFjZVxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICN3aGl0ZXNwYWNlXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYm9keS5jaGVja291dC1jYXJ0LWluZGV4LFxuYm9keS5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3Mge1xuICAucGFnZS1tYWluX19pbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG5cbiAgICBAaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX2wpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2LjRyZW07XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNhYm9ydCBjaGVja291dCBoZWFkZXJcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY3VzdG9tLWNoZWNrb3V0LWFjdGlvbnMge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gIEBpbmNsdWRlIG1heC1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1pbi1zY3JlZW4oJHNjcmVlbl9fbSkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgfVxufVxuXG4uY3VzdG9tLWNoZWNrb3V0LWFjdGlvbnNfX2lubmVyIHtcbiAgcGFkZGluZzogMCAxLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBAaW5jbHVkZSBtaW4tc2NyZWVuKCRzY3JlZW5fX20pIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAkbGF5b3V0X19tYXgtd2lkdGg7XG4gIH1cbn1cblxuLmFib3J0LWNoZWNrb3V0X19sb2dvIHtcbiAgd2lkdGg6IDI2LjJyZW07XG4gIGhlaWdodDogMy44cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaGVhZGVyLWxvZ28tLWJjLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI2MnB4IDM4cHg7XG5cbiAgQGluY2x1ZGUgbWF4LXNjcmVlbigkc2NyZWVuX19tKSB7XG4gICAgd2lkdGg6IDE3cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2hlYWRlci1sb2dvLS1iYy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3MHB4IDI1cHg7XG4gIH1cbn1cblxuLmFib3J0LWNoZWNrb3V0X190ZXh0IHtcbiAgQGluY2x1ZGUgbGliLWljb24tZm9udCgkaWNvbi1wcmV2KTtcblxuICAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB9XG59IiwiLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgKE9uZSBQYWdlKSBDaGVja291dCBzdWNjZXNzIHBhZ2VcbipcbiogICBUQUJMRSBPRiBDT05URU5UU1xuKiAgIGxheW91dFxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNsYXlvdXRcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5ib2R5LmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyB7XG4gIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gIH1cbn1cblxuLnBhZ2UtdGl0bGUtY2hpbGRyZW4ge1xuICAucHJpbnQge1xuICAgIEBpbmNsdWRlIGxpYi1pY29uLWZvbnQoJGljb24tcHJpbnQpO1xuICB9XG59XG4iLCIvKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbipcbiogICBNQUdFTlRPIENIRUNLT1VUID4gQVVUSEVOVElDQVRJT05cbiogICBTaWduIGluIG1vZGFsIC8gd3JhcHBlciAvIGRyb3Bkb3duXG4qXG4qICAgVEFCTEUgT0YgQ09OVEVOVFNcbiogICBvdmVybGF5XG4qICAgZHJvcGRvd25cbiogICBtb2RhbCBwb3B1cFxuKlxuKiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cbi8qKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiAgICNvdmVybGF5XG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG5cdC5hdXRoZW50aWNhdGlvbi13cmFwcGVyIHtcblx0XHQuZHJvcGRvd24tb3ZlcmxheSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1ibGFjaywgMC41KTtcblx0XHR9XG5cdH1cbn1cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI2Ryb3Bkb3duXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgbWluLXNjcmVlbigkc2NyZWVuX19tKSB7XG5cdC5hdXRoZW50aWNhdGlvbi1kcm9wZG93biB7XG5cdFx0d2lkdGg6IDQycmVtO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdG1hcmdpbi10b3A6IDFyZW07XG5cblx0XHQuY29sdW1uIC5jaGVja291dC1jb250YWluZXIgJiBmb3JtIC5hY3Rpb25zLXRvb2xiYXIge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogLTFyZW07XG5cdFx0XHRyaWdodDogMXJlbTtcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgMXJlbSAxcmVtIDFyZW07XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvci13aGl0ZSB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblxuXHQuYmxvY2stYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogbm9uZTtcblx0XHR9XG5cblx0XHQucHJpbWFyeSB7XG5cdFx0XHQuYWN0aW9uLWxvZ2luIHtcblx0XHRcdFx0cGFkZGluZzogMS41cmVtIDJyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNlY29uZGFyeSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQuYWN0aW9uLXJlbWluZCB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdFx0XHRjb2xvcjogJGxpbmtfX2NvbG9yO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuIiwiLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qXG4qICAgTWFnZW50byBTYWxlcyAvIG9yZGVycyBvdmVydmlldyBjb21wb25lbnRzXG4qXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cblxuLyoqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qICAgI29yZGVyIGxpbmtzXG4qICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm9yZGVyLWxpbmtzIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjRyZW07XG5cbiAgLm5hdi5pdGVtIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTtcblxuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbSAwLjVyZW0gMCAwO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkMWQxZDE7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zb2Z0LWdyZXk7XG5cbiAgICAmLmN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vKiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogICAjb3JkZXIgZGV0YWlsIGFjdGlvbnNcbiogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ub3JkZXItZGV0YWlscy1pdGVtcyB7XG4gIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAycmVtIDAgMy40cmVtO1xuICAgIH1cblxuICAgICYgPiBhLnByaW50IHtcbiAgICAgIEBpbmNsdWRlIGxpYi1saW5rLWFzLWJ1dHRvbigpO1xuICAgICAgQGluY2x1ZGUgbGliLWJ1dHRvbigpO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLm9yZGVyLXRpdGxlIHtcbiAgICBtYXJnaW46IDEuNnJlbSAwO1xuXG4gICAgJiA+IHN0cm9uZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIGEuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIH1cblxuICAgIGEucHJpbnQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkaWNvbi1wcmludDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbi1mb250O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
