/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/app.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
*, :before, :after {
  box-sizing: border-box;
}

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

p {
  margin: 0;
}

a {
  text-decoration: none;
}

textarea {
  resize: vertical;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
html {
  font-size: 62.5%;
}

body {
  font-family: sans-serif;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 400;
}
@media (min-width: 1280px) {
  body {
    font-size: 1.6rem;
  }
}
@media (min-width: 1408px) {
  body {
    font-size: 1.8rem;
  }
}
@media (min-width: 1536px) {
  body {
    font-size: 2rem;
  }
}
@media (min-width: 1664px) {
  body {
    font-size: 2.2rem;
  }
}
@media (min-width: 1792px) {
  body {
    font-size: 2.4rem;
  }
}
@media (min-width: 1920px) {
  body {
    font-size: 2.6rem;
  }
}

h1 {
  margin: 0;
  font-size: 1.65em;
}

h2 {
  margin: 0;
  font-size: 1.1em;
}

label {
  font-size: inherit;
}

body {
  margin: 0 auto;
  max-width: 1920px;
  width: 100%;
  height: 100%;
  background-color: #222126;
  overflow-y: scroll;
}

/* Modal */
body .body__container {
  position: relative; /* fixed elements relative to container instead of body */
  padding-top: 15.8rem; /* header height */
}
body.modal--show {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  overflow: auto;
}

.modal-nav {
  z-index: 888;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  display: none;
}
.modal-nav--show {
  display: block;
}
.modal-nav__nav {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.modal-nav__nav-close {
  height: 100%;
  position: relative;
  cursor: alias;
  background-color: rgba(34, 33, 38, 0.6);
  transition: background-color 0.1s ease-in-out;
}
.modal-nav__nav-close:hover {
  background-color: rgba(34, 33, 38, 0.5);
}
.modal-orders {
  z-index: 777;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  display: none;
}
.modal-orders--show {
  display: block;
}
.modal-orders__orders {
  display: grid;
  grid-template-columns: 1fr;
  height: 100%;
}
@media (min-width: 800px) {
  .modal-orders__orders {
    grid-template-columns: 1fr 1fr;
  }
}
.modal-orders__orders-close {
  display: none;
  position: relative;
  cursor: alias;
  background-color: rgba(34, 33, 38, 0.6);
  transition: background-color 0.1s ease-in-out;
}
@media (min-width: 800px) {
  .modal-orders__orders-close {
    display: block;
  }
}
.modal-orders__orders-close:hover {
  background-color: rgba(34, 33, 38, 0.5);
}
.modal-orders__orders-close:hover .modal-orders__orders-close-btn {
  color: #a6c4ec;
  padding-right: 2.6rem;
}
.modal-orders__orders-close .modal-orders__orders-close-btn {
  position: fixed;
  right: 50%;
  margin: 2.4rem 0;
  padding: 1.2rem 2.2rem;
  background-color: #f5f5ff;
  color: black;
  border-radius: 6px 0 0 6px;
  transition: padding 0.1s ease-in-out;
}
.modal-orders__orders-close .modal-orders__orders-close-btn:after {
  content: "+";
  display: inline-block;
  font-size: 140%;
  font-weight: bold;
  transform: rotate(45deg);
}
.modal-orders__orders-content {
  padding: 1.2rem 2.4rem;
  padding-bottom: 10.4rem;
  background-color: #f5f5ff;
}
@media (min-width: 800px) {
  .modal-orders__orders-content {
    padding: 2.4rem 4.8rem;
  }
}
@media (min-width: 1280px) {
  .modal-orders__orders-content {
    padding: 3.6rem 7.2rem;
  }
}

.modal-cart {
  z-index: 777;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  display: none;
}
.modal-cart--show {
  display: block;
}
.modal-cart__cart {
  display: grid;
  grid-template-columns: 1fr;
  height: 100%;
}
@media (min-width: 800px) {
  .modal-cart__cart {
    grid-template-columns: 1fr 1fr;
  }
}
.modal-cart__cart-close {
  display: none;
  position: relative;
  cursor: alias;
  background-color: rgba(34, 33, 38, 0.6);
  transition: background-color 0.1s ease-in-out;
}
@media (min-width: 800px) {
  .modal-cart__cart-close {
    display: block;
  }
}
.modal-cart__cart-close:hover {
  background-color: rgba(34, 33, 38, 0.5);
}
.modal-cart__cart-close:hover .modal-cart__cart-close-btn {
  color: #a6c4ec;
  padding-right: 2.6rem;
}
.modal-cart__cart-close .modal-cart__cart-close-btn {
  position: fixed;
  right: 50%;
  margin: 2.4rem 0;
  padding: 1.2rem 2.2rem;
  background-color: #f5f5ff;
  color: black;
  border-radius: 6px 0 0 6px;
  transition: padding 0.1s ease-in-out;
}
.modal-cart__cart-close .modal-cart__cart-close-btn:after {
  content: "+";
  display: inline-block;
  font-size: 140%;
  font-weight: bold;
  transform: rotate(45deg);
}
.modal-cart__cart-content {
  padding: 1.2rem 2.4rem;
  padding-bottom: 10.4rem;
  background-color: #f5f5ff;
}
@media (min-width: 800px) {
  .modal-cart__cart-content {
    padding: 2.4rem 4.8rem;
  }
}
@media (min-width: 1280px) {
  .modal-cart__cart-content {
    padding: 3.6rem 7.2rem;
  }
}

.modal-product {
  z-index: 777;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  display: none;
}
.modal-product--show {
  display: block;
}
.modal-product__product {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: "content";
}
@media (min-width: 800px) {
  .modal-product__product {
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: 1fr auto 1fr;
    grid-template-areas: "close-l close-u close-r" "close-l content close-r" "close-l close-d close-r";
  }
}
.modal-product__product-close {
  position: relative;
  cursor: alias;
  background-color: rgba(34, 33, 38, 0.6);
  transition: background-color 0.1s ease-in-out;
}
.modal-product__product-close.hover {
  background-color: rgba(34, 33, 38, 0.5);
}
.modal-product__product-close--left {
  grid-area: close-l;
}
.modal-product__product-close--right {
  grid-area: close-r;
}
.modal-product__product-close--up {
  grid-area: close-u;
}
.modal-product__product-close--down {
  grid-area: close-d;
}
.modal-product__product-content {
  position: relative;
  grid-area: content;
  background-color: rgba(34, 33, 38, 0.6);
  transition: background-color 0.1s ease-in-out;
  padding-bottom: 6rem;
}
@media (min-width: 800px) {
  .modal-product__product-content {
    padding-bottom: 0;
  }
}
.modal-product__product-content.hover {
  background-color: rgba(34, 33, 38, 0.4);
}
.modal-product__product-content .modal-product__product-close-btn {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  margin: 2.4rem 0;
  padding: 1.2rem 2.2rem;
  background-color: #f5f5ff;
  color: black;
  border-radius: 6px 0 0 6px;
  transition: padding 0.1s ease-in-out;
  cursor: alias;
}
@media (min-width: 800px) {
  .modal-product__product-content .modal-product__product-close-btn {
    right: 1.2rem;
    transform: translateX(100%);
    border-radius: 0 6px 6px 0;
  }
}
.modal-product__product-content .modal-product__product-close-btn:after {
  content: "+";
  display: inline-block;
  font-size: 140%;
  font-weight: bold;
  transform: rotate(45deg);
}
.modal-product__product-content .modal-product__product-close-btn.hover {
  color: #a6c4ec;
  padding-left: 2.6rem;
}

/* Header */
.header {
  display: none;
  max-width: 1920px;
  width: 100%;
  z-index: 777;
  position: absolute;
  top: 0;
  height: 11rem;
  margin-bottom: 4.8rem;
  padding-left: 4.8rem;
}
@media (min-width: 800px) {
  .header {
    display: block;
  }
}
.header.header--fixed {
  position: fixed;
  transform: translateY(-15.8rem);
  background-color: rgba(34, 33, 38, 0.7019607843);
}
.header:not(.header.header--fixed) {
  padding-right: 0 !important;
}
.header.header--down {
  transform: translateY(-15.8rem);
  transition: transform 0.2s ease-in;
}
.header.header--up {
  transform: translateY(0);
  transition: transform 0.3s ease-out;
}
.header nav {
  padding-right: 1.2rem;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-areas: "logo logo nav nav nav nav nav nav";
  grid-gap: 4.8rem;
  height: 100%;
  padding-right: 4.8rem;
}
.header__logo {
  grid-area: logo;
  display: flex;
  align-items: center;
}
.header__nav {
  grid-area: nav;
  display: flex;
  justify-content: flex-end;
}
.header__nav a {
  height: 100%;
  padding: 0 1.6rem;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #d7ba6c;
  font-size: 2rem;
}

.logo {
  position: relative;
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
  text-wrap: nowrap;
  text-decoration: none;
}
@media (min-width: 800px) {
  .logo {
    font-size: 2.4rem;
  }
}

.logo-b {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(40%, -25%);
  width: 200px;
  opacity: 40%;
}

.header-mobile {
  z-index: 999;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 6rem;
  background-color: #222126;
  border-top: 0.2rem solid #f5f5ff;
  box-shadow: 0 -8px 8px 0 rgba(34, 33, 38, 0.1);
}
@media (min-width: 800px) {
  .header-mobile {
    display: none;
  }
}
.header-mobile nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.2rem;
}
.header-mobile__nav {
  display: flex;
}
.header-mobile__nav a {
  position: relative;
  height: 6rem;
  padding: 1.4rem 0;
  margin-left: 1.2rem;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #d7ba6c;
  font-size: 2rem;
  overflow: hidden;
}
.header-mobile__nav .cart-quantity {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #222126;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav-mobile {
  position: fixed;
  bottom: 6rem;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f5ff;
  padding: 1.2rem 0;
}
.nav-mobile a {
  padding: 1.2rem 2.4rem;
  color: black;
  text-decoration: none;
}
.nav-mobile__sub {
  position: relative;
  left: 2.4rem;
  display: flex;
  flex-direction: column;
}

/* Footer */
.footer {
  margin: 7.2rem 2.4rem 9.6rem 2.4rem;
  color: white;
  line-height: 140%;
}
@media (min-width: 800px) {
  .footer {
    margin: 12rem 4.8rem 4.8rem 4.8rem;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-areas: "bakkershuys menu help";
  }
}
.footer h3 {
  margin-bottom: 2.4rem;
  margin-bottom: 1.2rem;
  color: #a6c4ec;
}
.footer address {
  font-style: normal;
}
.footer a {
  color: white;
  text-decoration: none;
}
.footer a:hover::before {
  opacity: 1;
}
.footer a {
  position: relative;
}
.footer a:before {
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  bottom: -0.2rem;
  left: 0;
  height: 0.2rem;
  background-color: #a6c4ec;
  opacity: 0.3;
  transition: 0.2s ease-in-out;
}
.footer__bakkershuys {
  grid-area: bakkershuys;
}
@media (min-width: 800px) {
  .footer__bakkershuys {
    padding: 0 1.6rem;
  }
}
.footer__menu {
  grid-area: menu;
}
@media (min-width: 800px) {
  .footer__menu {
    padding: 0 1.6rem;
  }
}
.footer__menu nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.footer__help {
  grid-area: help;
}
@media (min-width: 800px) {
  .footer__help {
    padding: 0 1.6rem;
  }
}
.footer__help nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Intro */
.intro {
  height: 0px;
}

/* Shop */
.shop {
  margin: 2.4rem 1.2rem 0;
}
@media (min-width: 800px) {
  .shop {
    margin: 4.8rem 4.8rem 0;
    display: grid;
    grid-gap: 4.8rem;
    grid-template-columns: repeat(8, 1fr);
    grid-template-areas: "filters filters products products products products products products";
  }
}
@media (min-width: 1280px) {
  .shop {
    margin: 9.6rem 9.6rem 0;
  }
}
.shop__filters {
  grid-area: filters;
  margin-bottom: 2.4rem;
}
@media (min-width: 1280px) {
  .shop__filters {
    margin-bottom: 0;
  }
  .shop__filters .shop__filters-sticky {
    position: sticky;
    top: 11rem;
  }
}
.shop__products {
  grid-area: products;
}
@media (min-width: 1280px) {
  .shop__products {
    margin-left: 2.4rem;
  }
}

/* PlaceAndTime */
.placeAndTime {
  display: flex;
  flex-wrap: wrap;
  background-color: #dbd8e7;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 2.4rem;
}
.placeAndTime__shop, .placeAndTime__date, .placeAndTime__hour {
  width: 100%;
  flex: auto;
  background-color: #f5f5ff;
}
.placeAndTime__shop > div, .placeAndTime__date > div, .placeAndTime__hour > div {
  display: flex;
  grid-gap: 1.2rem;
  flex-wrap: wrap;
}
.placeAndTime__shop {
  grid-area: shop;
}
.placeAndTime__date {
  grid-area: date;
}
.placeAndTime__hour {
  grid-area: hour;
}
.placeAndTime__title {
  margin-top: 1.2rem;
  margin-bottom: 0.6rem;
}
.placeAndTime button {
  color: #9d9ba6;
  background-color: transparent;
}
.placeAndTime button:hover {
  text-decoration: underline;
}
.placeAndTime button.active {
  color: black;
}

.shop-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  justify-content: flex-start;
}
.shop-filters::after {
  content: "";
  flex: auto;
}
.shop-filters button {
  background-color: transparent;
  border-radius: 4px;
  padding: 1.2rem 1.6rem;
  color: white;
  text-align: left;
}
@media (min-width: 800px) {
  .shop-filters button {
    width: 100%;
  }
}
.shop-filters button:hover {
  text-decoration: underline;
  color: white;
}
.shop-filters .active {
  color: #d7ba6c;
}
.shop-filters .endOfYear {
  text-shadow: rgb(230, 255, 153) 3px 3px 20px, rgb(255, 153, 204) -2px 1px 10px;
}
.shop-filters .valentine {
  color: #ff4a5e; /* warm red */
  font-weight: 600;
  animation: heartGlow 3s ease-in-out infinite alternate;
}
@keyframes heartGlow {
  from {
    text-shadow: 0 0 4px rgba(255, 74, 94, 0.4);
  }
  to {
    text-shadow: 0 0 10px rgba(255, 74, 94, 0.7);
  }
}

.shop-products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 4.8rem 2.4rem;
  align-items: start;
}
@media (min-width: 800px) {
  .shop-products {
    grid-gap: 7.2rem 3.6rem;
  }
}
@media (min-width: 1280px) {
  .shop-products {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 9.6rem 7.2rem;
  }
}

.shop-product {
  color: white;
}
.shop-product__link:hover .shop-product__image-container {
  transform: scale(1.02);
}
.shop-product__link:hover .shop-product__name {
  color: #d7ba6c;
}
.shop-product__image-zoom-container {
  border-radius: 14px 14px 6px 6px;
  overflow: hidden;
  cursor: help;
}
.shop-product__image-container {
  transition: 0.2s ease-in-out;
}
.shop-product__image-container img {
  aspect-ratio: 1/1.25;
  object-fit: cover;
  width: 100%;
}
.shop-product__select, .shop-product__quantity, .shop-product__total, .shop-product__order {
  height: 3.8rem;
}
.shop-product__select, .shop-product__quantity, .shop-product__total {
  font-size: 90%;
}
.shop-product__name {
  display: block;
  width: 100%;
  padding: 0.8rem 0;
  color: white;
  text-align: center;
  text-decoration: underline;
  font-size: 93%;
  font-family: "Tahoma", "Helvetica";
  cursor: help;
  transition: 0.2s ease-in-out;
}
.shop-product__border > * {
  border: 0.2rem solid #f5f5ff;
  border-bottom: 0;
}
.shop-product__border > *:first-child {
  border-radius: 6px 6px 0 0;
}
.shop-product__border > *:last-child {
  border-radius: 0 0 10px 10px;
  border: 0.2rem solid #f5f5ff;
}
.shop-product__select {
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.shop-product__select label, .shop-product__select select {
  height: 3.8rem;
}
.shop-product__select select {
  text-align: center;
  padding: 0.2em;
}
.shop-product__quantity {
  padding: 0 1rem;
}
@media (min-width: 800px) {
  .shop-product__quantity {
    padding: 0 3rem;
  }
}
@media (min-width: 1280px) {
  .shop-product__quantity {
    padding: 0 4rem;
  }
}
.shop-product__quantity button {
  color: #d7ba6c;
}
.shop-product__total {
  width: 60%;
  float: left;
  line-height: 3.8rem;
  text-align: center;
}
.shop-product__order {
  display: inline-block;
  width: 40%;
}
.shop-product__order button {
  width: 110%;
  height: 94%;
  background-color: #d7ba6c;
  transform: translate(0rem, 0.8rem);
  transition: 0.1s ease-in-out;
}
.shop-product__order button:hover {
  background-color: white;
  transform: translate(0rem, 0.9rem);
}
.shop-product__order--success button {
  animation: success 0.8s ease-in-out;
}

@keyframes success {
  0% {
    scale: 1;
  }
  10% {
    scale: 0.92;
  }
  20% {
    scale: 1;
    background-color: #a6c4ec;
  }
  30% {
    scale: 1.06;
  }
  40% {
    scale: 1;
  }
  50% {
    scale: 0.98;
  }
  60% {
    scale: 1;
  }
  70% {
    scale: 1.02;
  }
  80% {
    scale: 1;
  }
  90% {
    scale: 0.99;
  }
  1000% {
    scale: 1;
    background-color: #d7ba6c;
  }
}
.shop-product-detail {
  height: 100%;
  background-color: #f5f5ff;
}
@media (min-width: 800px) {
  .shop-product-detail {
    height: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-radius: 10px;
  }
}
.shop-product-detail__image-container {
  overflow: hidden;
}
@media (min-width: 800px) {
  .shop-product-detail__image-container {
    border-radius: 10px 0 0 10px;
  }
}
.shop-product-detail__image-container img {
  aspect-ratio: 1/1.25;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.shop-product-detail__content {
  display: flex;
  flex-direction: column;
  margin: 2.4rem;
}
.shop-product-detail__name {
  display: block;
  width: 100%;
  margin: 0 0 1.2rem 0;
  font-size: 120%;
  font-family: "Tahoma", "Helvetica";
  font-weight: bold;
}
.shop-product-detail__description {
  margin: 0 0 1.2rem 0;
  overflow-y: auto;
  max-height: 40%;
}
.shop-product-detail__border {
  flex-grow: 1;
  margin-top: 1.2rem;
}
.shop-product-detail__border > * {
  border: 0.2rem solid #222126;
  border-bottom: 0;
}
.shop-product-detail__border > *:first-child {
  border-radius: 6px 6px 0 0;
}
.shop-product-detail__border > *:last-child {
  border-radius: 0 0 10px 10px;
  border: 0.2rem solid #222126;
}
.shop-product-detail__select {
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding: 0.74rem;
}
.shop-product-detail__select label, .shop-product-detail__select select {
  margin-bottom: 0;
}
.shop-product-detail__select select {
  text-align: center;
  padding-left: 0.2rem;
}
.shop-product-detail__quantity {
  padding: 0.2rem 1rem;
}
@media (min-width: 800px) {
  .shop-product-detail__quantity {
    padding: 0.2rem 3rem;
  }
}
@media (min-width: 1280px) {
  .shop-product-detail__quantity {
    padding: 0.2rem 4rem;
  }
}
.shop-product-detail__quantity button {
  color: #d7ba6c;
}
.shop-product-detail__total {
  width: 60%;
  float: left;
  line-height: 4rem;
  text-align: center;
}
.shop-product-detail__order {
  display: inline-block;
  width: 40%;
}
.shop-product-detail__order button {
  width: 100%;
  background-color: #d7ba6c;
  transform: translate(-0.6rem, 0.8rem);
  transition: 0.1s ease-in-out;
  padding: 1rem;
}
.shop-product-detail__order button:hover {
  background-color: white;
  transform: translate(-0.6rem, 0.9rem);
}
.shop-product-detail .btn {
  margin-top: 3.6rem;
  margin-bottom: 0;
}
.shop-product-detail__allergens {
  margin-top: 2.4rem;
  font-size: 90%;
}

.allergens {
  display: flex;
  gap: 0.9rem;
  justify-content: center;
  align-items: center;
  margin-top: 6rem;
}
.allergens img {
  width: 3rem;
  cursor: help;
}
.allergens img:hover {
  transform: scale(1.05);
}

/* tooltip */
.tooltip {
  pointer-events: none;
  opacity: 0;
  position: absolute;
  top: -75%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: black;
  color: white;
  text-wrap: nowrap;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
  transition: opacity 0.2s ease-in-out;
}
.tooltip-container {
  position: relative;
  display: inline-block;
}
.tooltip-container img, .tooltip-container span { /* use a span for text */ }
.tooltip-container img:hover + .tooltip, .tooltip-container span:hover + .tooltip {
  opacity: 100%;
}
.tooltip:after {
  content: "";
  background-color: black;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 0.6rem;
  height: 0.6rem;
}

/* Cart */
.cart-title {
  margin-bottom: 2.4rem;
}
.cart-products__item {
  position: relative;
  padding: 1.2rem 0;
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
}
.cart-products__item-content {
  width: 100%;
}
.cart-products__link {
  display: block;
}
.cart-products__link:hover .cart-products__name {
  color: #d7ba6c;
}
.cart-products__image-zoom-container {
  width: 33%;
  border-radius: 10px 10px 6px 6px;
  overflow: hidden;
  cursor: help;
}
.cart-products__image-zoom-container:hover .cart-products__image-container {
  transform: scale(1.02);
}
.cart-products__image-container {
  transition: 0.2s ease-in-out;
}
.cart-products__image-container img {
  aspect-ratio: 1/1.25;
  object-fit: cover;
  width: 100%;
}
.cart-products__select {
  display: flex;
  align-items: baseline;
  justify-content: center;
  height: 3.8rem;
}
.cart-products__name {
  display: block;
  width: 70%;
  padding: 0.8rem 0;
  color: black;
  text-decoration: underline;
  font-size: 93%;
  font-family: "Tahoma", "Helvetica";
  cursor: help;
  transition: 0.2s ease-in-out;
}
@media (min-width: 800px) {
  .cart-products__name {
    width: 90%;
  }
}
@media (min-width: 1280px) {
  .cart-products__name {
    width: 100%;
  }
}
.cart-products__option {
  padding: 0 1.2rem;
  font-style: italic;
  white-space: nowrap;
}
.cart-products__remove, .cart-products__quantity {
  width: 80%;
}
@media (min-width: 800px) {
  .cart-products__remove, .cart-products__quantity {
    width: 75%;
  }
}
.cart-products__remove {
  margin: 1rem 0;
  padding: 1rem 1.2rem;
  background-color: #dbd8e7;
  white-space: nowrap;
  border-radius: 10px 10px 6px 6px;
}
.cart-products__remove:hover {
  background-color: white;
}
.cart-products__quantity {
  padding: 0.2rem 0;
  border-radius: 6px 6px 10px 10px;
  background-color: #34333a;
}
.cart-products__total {
  position: absolute;
  right: 0;
  white-space: nowrap;
  padding: 0.8rem 1.2rem;
  font-weight: bold;
}
.cart-quantity {
  font-family: "Tahoma", "Helvetica";
  font-size: 80%;
}
.cart-total {
  position: relative;
  margin: 1.2rem 0;
  padding: 1.2rem;
  width: 100%;
  text-align: right;
  font-weight: bold;
}
.cart-total:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #d7ba6c;
  height: 0.4rem;
  border-radius: 0.4rem;
}
.cart-empty {
  padding: 1.2rem 0;
}

/* Orders */
.orders {
  margin-bottom: 1.2rem;
}
.order-detail {
  position: relative;
}
.order-detail:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #d7ba6c;
  height: 0.4rem;
  border-radius: 0.4rem;
}
.order-detail__title {
  padding: 1.2rem;
  width: 100%;
  height: auto;
  line-height: 100%;
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
}
.order-detail__title::after {
  content: "❯";
  width: 1em;
  height: 1em;
  text-align: center;
  transform: rotate(90deg);
  transition: all 0.35s;
}
.order-detail button {
  width: 100%;
  padding: 1.2rem;
  margin-bottom: 1.2rem;
  background-color: #d7ba6c;
  transform: translate(0rem, 0.8rem);
  transition: 0.1s ease-in-out;
}
.order-detail button:hover {
  background-color: white;
  transform: translate(0rem, 0.9rem);
}
.order-detail table {
  margin-bottom: 1.2rem;
}
.order-detail table td:nth-child(1) {
  width: 4.8rem;
  text-align: right;
  padding-right: 0.6rem;
}
.order-detail table a {
  cursor: help;
  color: black;
}

.tab input:checked + .order-detail__title::after {
  transform: rotate(270deg);
}

.tab {
  position: relative;
}
.tab input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.tab input:checked ~ .tab__content {
  height: 100%;
}
.tab label {
  cursor: pointer;
}
.tab__content {
  height: 0;
  overflow: hidden;
}

/* Admin */
.admin {
  color: white;
}
@media (min-width: 800px) {
  .admin {
    margin: 0 4.8rem;
  }
}
@media (min-width: 1280px) {
  .admin {
    margin: 0 9.6rem;
  }
}
.admin__nav {
  display: none;
  justify-content: center;
  margin: 2.4rem 0;
}
@media (min-width: 800px) {
  .admin__nav {
    display: flex;
  }
}
.admin__nav a {
  height: 100%;
  padding: 0 1.6rem;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: white;
}
@media (min-width: 800px) {
  .admin__nav a {
    font-size: 2rem;
  }
}

.admin-orders__products table td:nth-child(1) {
  width: 4.8rem;
  text-align: right;
  padding-right: 1.2rem;
}
.admin-order-detail-hour {
  margin-top: 2.4rem;
  width: 100%;
  text-align: right;
  border-top: 1px solid white;
}

.admin-order-detail {
  padding: 1.2rem;
}
.admin-order-detail table td:nth-child(1) {
  width: 4.8rem;
  text-align: right;
  padding-right: 0.6rem;
}

.admin-order-products table td:nth-child(1) {
  width: 4.8rem;
  text-align: right;
  padding-right: 0.6rem;
}

.order-crud {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 4.8rem;
}
.order-crud h2 {
  margin-bottom: 1.2rem;
}
.order-crud table {
  height: 100%;
  border-collapse: collapse;
}
.order-crud table td[colspan]:not([colspan="100"]) {
  padding: 0 0 0 0.4rem;
}
.order-crud table td[colspan="100"] input {
  margin-top: -1.2rem;
  border-top: 0;
  border-right: 0;
  border-left: 0;
}
.order-crud button {
  padding: 0.4rem;
  border-radius: 0;
}
.order-crud__product:not(:last-child), .order-crud__cart-item:not(:last-child) {
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
.order-crud__product .select, .order-crud__cart-item .select {
  display: flex;
  flex-wrap: nowrap;
}
.order-crud__product .select label, .order-crud__product .select select, .order-crud__product .select button, .order-crud__cart-item .select label, .order-crud__cart-item .select select, .order-crud__cart-item .select button {
  margin-bottom: 0;
  height: 100%;
}
.order-crud__product .quantity, .order-crud__cart-item .quantity {
  height: 100%;
  align-items: center;
}
.order-crud__product {
  border-color: #4d4c54;
}
.container-50 {
  margin: 0 1.2rem;
  padding: 1.2rem 1.2rem;
  background-color: #f5f5ff;
  border-radius: 10px;
}
@media (min-width: 800px) {
  .container-50 {
    margin: 0;
    width: 50%;
    padding: 2.4rem 0;
  }
}
@media (min-width: 1280px) {
  .container-50 {
    padding: 3.6rem 0;
  }
}
@media (min-width: 800px) {
  .container-50--center {
    margin: 0 auto;
    padding: 2.4rem 4.8rem;
  }
}
@media (min-width: 1280px) {
  .container-50--center {
    padding: 3.6rem 6rem;
  }
}
.container-50--clear {
  background-color: transparent;
  color: white;
}

.active {
  text-decoration: underline !important;
}

.line {
  background: #dbd8e7;
  height: 0.4rem;
  border-radius: 0.4rem;
  margin: 2.8rem 0 2.4rem 0;
}

.btn {
  display: block;
  margin-bottom: 1.2rem;
  padding: 1.2rem;
  width: 100%;
  height: auto;
  border-radius: 6px;
  line-height: 100%;
  color: black;
  text-align: center;
  transition: 0.1s ease-in-out;
  border: 0;
  cursor: pointer;
  text-decoration: none;
}
.btn--next {
  background-color: #d7ba6c;
  border-bottom: 0.2rem solid #d7ba6c;
}
.btn--next:hover {
  background-color: #ead096;
}
.btn--back {
  cursor: alias;
  background-color: #a6c4ec;
  border-bottom: 0.2rem solid #f5f5ff;
}
.btn--back:hover {
  background-color: white;
}

.quantity {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  transition: 0.2s ease-in-out;
}
.quantity__input, .quantity__number, .quantity__min, .quantity__plus {
  min-width: 4rem;
  width: 33.3333333333%;
}
.quantity__input, .quantity__number {
  text-align: center;
}
.quantity__input {
  border: none;
  background: transparent;
  color: #d7ba6c;
  text-decoration: underline;
  margin-bottom: 0 !important;
}
.quantity__input:focus {
  border-color: red !important;
}
.quantity__min, .quantity__plus {
  background: transparent;
  color: #d7ba6c;
  cursor: pointer;
}
.quantity__min:hover {
  transform: scale(0.9);
}
.quantity__plus:hover {
  transform: scale(1.1);
}

.login a {
  color: black;
}

h1 {
  margin-top: 2.4rem;
  margin-bottom: 1.2rem;
}

p {
  margin-top: 1.2rem;
  margin-bottom: 2.4rem;
}

a {
  color: white;
  text-decoration: underline;
}

.a--center {
  display: block;
  text-align: center;
  margin-bottom: 0.6rem;
}

table {
  width: 100%;
  text-align: left;
}

fieldset {
  margin-bottom: 1.2rem;
}

legend {
  margin-bottom: 0.6rem;
}

select {
  border: none;
  background: transparent;
  color: #d7ba6c;
  text-decoration: underline;
  cursor: pointer;
  appearance: none;
}
select::-ms-expand {
  display: none;
}

button {
  padding: 0.8rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  line-height: 100%;
  color: black;
}

button.btn--anchor {
  background: none;
  text-decoration: underline;
  color: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.6em;
}

input:not([type=submit]), select {
  margin-bottom: 1.2rem;
  transition: 0.1s ease-in-out;
}
input:not([type=submit]):focus, select:focus {
  outline-color: #d7ba6c;
  box-shadow: 0 0 4px #d7ba6c;
}
input:not([type=submit]):hover, select:hover {
  transform: translateY(0.05rem);
}

textarea,
input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=number] {
  width: 100%;
  height: 3.6rem;
  padding: 0 1.2rem;
  border: 0.2rem solid #d7ba6c;
}

input[type=checkbox] {
  appearance: none;
  background-color: #f5f5ff;
  margin: 0;
  margin-right: 0.6rem;
  font: inherit;
  color: #d7ba6c;
  width: 2.4rem;
  height: 2.4rem;
  border: 0.2rem solid #d7ba6c;
  display: grid;
  place-content: center;
  float: left;
  cursor: pointer;
}
input[type=checkbox]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em #d7ba6c;
  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
input[type=checkbox]:checked::before {
  transform: scale(1);
}
input[type=checkbox]::after {
  content: "";
  clear: both;
}

.error,
.error li {
  width: 100%;
  color: red !important;
  margin-bottom: 0.3em;
}

.error + input {
  border: 0.2rem solid red;
}

.app-flash {
  border: 0.2rem solid black;
  padding: 0.6rem;
}
.app-flash--error {
  border-color: red;
  color: red !important;
}
.app-flash--success {
  border-color: rgba(34, 33, 38, 0.7019607843);
  color: black;
  text-align: center;
}

.agree-to-terms {
  margin: 2.4rem 0;
}
.agree-to-terms label {
  width: 100%;
}
.agree-to-terms a {
  text-decoration: underline;
  color: black;
}

iframe {
  border: 0;
  width: 100%;
}

.terms ul {
  margin-top: -1.2rem;
}
.terms li {
  margin-left: 2.4rem;
  list-style: square;
}

.info {
  font-size: 90%;
  background-color: white;
  padding: 1.2rem;
  text-align: center;
}

.nowrap {
  text-wrap: nowrap;
}

.notvisible {
  opacity: 0.3;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/styles/print.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@media print {
  header,
  .logo-b,
  nav,
  form,
  footer,
  .no-print {
    display: none !important;
  }
  body .body__container {
    padding-top: 0;
  }
  .admin-orders__detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1.2rem;
  }
  .admin-orders table {
    border-collapse: collapse;
    width: 100%;
  }
  .admin-orders tr {
    border-bottom: 1px solid #ccc;
  }
  .admin-order-detail-hour {
    page-break-inside: avoid;
    grid-column: span 2;
    border-color: black;
  }
  .admin-order-detail {
    page-break-inside: avoid;
    border: 1px solid black;
  }
  .admin-order-detail table {
    margin: 0;
  }
  .admin-order-detail table td:nth-child(1) {
    width: 3.6rem;
  }
  .admin-order-products-stroken table {
    font-size: 2rem;
  }
  .admin-order-products-stroken tr {
    border: 1px solid;
  }
  .admin-order-products-stroken td {
    padding: 0.8rem 0.6rem;
  }
}
/*!*********************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./vendor/symfony/ux-live-component/assets/dist/live.min.css ***!
  \*********************************************************************************************************************************************************************************************************************************/
[data-loading=""],[data-loading=show],[data-loading*=\|show]{display:none}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QUE4R1I7QUEzR0k7RUFDSTtBQTZHUjtBQTFHSTtFQUNJO0VBQ0E7QUE0R1I7O0FBeEdBOztFQUVJO0VBQ0E7RUFDQTtBQTJHSjs7QUF4R0E7RUFDSTtBQTJHSjs7QUF4R0E7RUFDSTtFQUNBO0FBMkdKO0FBekdJO0VBQ0k7RUFDQTtBQTJHUjtBQXhHSTtFQUNJO0VBQ0E7RUFDQTtBQTBHUjs7QUF0R0E7RUFDSTtBQXlHSjtBQXZHSTtFQUNJO0FBeUdSO0FBdEdJO0VBQ0k7RUFDQTtBQXdHUjs7QUFwR0E7RUFDSTtFQUNBO0FBdUdKOztBQW5HSTtFQUNJO0FBc0dSO0FBcEdJO0VBQ0k7RUFDQTtBQXNHUjs7QUFsR0E7RUFDSTtFQUVBO0VBQ0E7RUFDQTtBQW9HSjs7QUFqR0E7RUFDSTtBQW9HSjs7QUFqR0E7RUFDSTtBQW9HSixDOzs7O0FLdnBFQTtFQUVDOzs7Ozs7SUFNQztFQUFBO0VBR0Q7SUFDTztFQUROO0VBTUE7SUFDSTtJQUNBO0lBQ0E7RUFKSjtFQVdBO0lBQ0k7SUFDQTtFQVRKO0VBWUE7SUFDSTtFQVZKO0VBY0U7SUFDQztJQUNBO0lBQ0E7RUFaSDtFQWVEO0lBQ0k7SUFDQTtFQWJIO0VBZUc7SUFDQztFQWJKO0VBZUU7SUFDWTtFQWJkO0VBbUJNO0lBRUY7RUFsQko7RUFxQk07SUFDQztFQW5CUDtFQXNCTTtJQUNDO0VBcEJQO0FBQ0YsQzs7OztBQ2hEQSw2REFBNkQsWUFBWSxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL19ib2lsZXJwbGF0ZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3ByaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vdmVuZG9yL3N5bWZvbnkvdXgtbGl2ZS1jb21wb25lbnQvYXNzZXRzL2Rpc3QvbGl2ZS5taW4uY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ25vcm1hbGl6ZSc7XG5AdXNlICdib2lsZXJwbGF0ZSc7XG5AdXNlICdtZWRpYSc7XG5AdXNlICdmb250cyc7XG5cbiRnb2xkOiAjZDdiYTZjO1xuJGJhY2tncm91bmRDb2xvcjogIzIyMjEyNjtcbiRiYWNrZ3JvdW5kQ29sb3ItYTogIzIyMjEyNmIzO1xuJGdyYXlCZzogI2Y1ZjVmZjtcbiRncmF5OiAjZGJkOGU3O1xuJGdyYXlEYXJrOiAjOWQ5YmE2O1xuJGJvcmRlckNvbG9yOiAjZjVmNWZmO1xuJGJsdWU6ICNhNmM0ZWM7XG5cbiRib3JkZXJUaGlja25lc3M6IDAuMnJlbTtcblxuYm9keSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGJhY2tncm91bmRDb2xvcn07XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vKiBNb2RhbCAqL1xuYm9keSB7XG4gICAgLmJvZHlfX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogZml4ZWQgZWxlbWVudHMgcmVsYXRpdmUgdG8gY29udGFpbmVyIGluc3RlYWQgb2YgYm9keSAqL1xuICAgICAgICBwYWRkaW5nLXRvcDogMTUuOHJlbTsgLyogaGVhZGVyIGhlaWdodCAqL1xuICAgIH1cblxuICAgICYubW9kYWwtLXNob3cge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG59XG5cbi5tb2RhbC1uYXZ7XG4gICAgei1pbmRleDogODg4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi0tc2hvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAmLWNsb3NlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGN1cnNvcjogYWxpYXM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzMywgMzgsIDAuNik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzMsIDM4LCAwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250ZW50IHt9XG4gICAgfVxufVxuXG4ubW9kYWwtb3JkZXJzIHtcbiAgICB6LWluZGV4OiA3Nzc7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLS1zaG93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fb3JkZXJzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1jbG9zZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBhbGlhcztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDMzLCAzOCwgMC42KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzMywgMzgsIDAuNSk7XG5cbiAgICAgICAgICAgICAgICAubW9kYWwtb3JkZXJzX19vcmRlcnMtY2xvc2UtYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICN7JGJsdWV9O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjZyZW0gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZGFsLW9yZGVyc19fb3JkZXJzLWNsb3NlLWJ0biB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyLjRyZW0gMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMi4ycmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdyYXlCZ307XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAwIDAgNnB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4xcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNDAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMi40cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwLjRyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRncmF5Qmd9O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbSA0LjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChNKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMy42cmVtIDcuMnJlbTtcbiAgICAgICAgICAgIH0gIFxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5tb2RhbC1jYXJ0IHtcbiAgICB6LWluZGV4OiA3Nzc7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLS1zaG93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGN1cnNvcjogYWxpYXM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzMywgMzgsIDAuNik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzMsIDM4LCAwLjUpO1xuXG4gICAgICAgICAgICAgICAgLm1vZGFsLWNhcnRfX2NhcnQtY2xvc2UtYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICN7JGJsdWV9O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjZyZW0gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZGFsLWNhcnRfX2NhcnQtY2xvc2UtYnRuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIuNHJlbSAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAyLjJyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skZ3JheUJnfTtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4IDAgMCA2cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0MCU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAyLjRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAuNHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdyYXlCZ307XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMi40cmVtIDQuOHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKE0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzLjZyZW0gNy4ycmVtO1xuICAgICAgICAgICAgfSAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC1wcm9kdWN0IHtcbiAgICB6LWluZGV4OiA3Nzc7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLS1zaG93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNvbnRlbnRcIjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyIDFmcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG8gMWZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXG4gICAgICAgICAgICAgICAgXCJjbG9zZS1sIGNsb3NlLXUgY2xvc2UtclwiXG4gICAgICAgICAgICAgICAgXCJjbG9zZS1sIGNvbnRlbnQgY2xvc2UtclwiXG4gICAgICAgICAgICAgICAgXCJjbG9zZS1sIGNsb3NlLWQgY2xvc2UtclwiO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1jbG9zZSB7XG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBhbGlhcztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDMzLCAzOCwgMC42KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgJi5ob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzMywgMzgsIDAuNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogY2xvc2UtbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogY2xvc2UtcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdXAge1xuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogY2xvc2UtdTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZG93biB7XG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBjbG9zZS1kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDMzLCAzOCwgMC42KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoTSkge1xuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgJi5ob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzMywgMzgsIDAuNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RhbC1wcm9kdWN0X19wcm9kdWN0LWNsb3NlLWJ0biB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMi40cmVtIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDIuMnJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRncmF5Qmd9O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggMCAwIDZweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBhbGlhcztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA2cHggNnB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0MCU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5ob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzMsIDM4LCAwLjMpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI3skYmx1ZX07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi42cmVtIDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEhlYWRlciAqL1xuLmhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA3Nzc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDExcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuOHJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuaGVhZGVyLS1maXhlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNS44cmVtKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skYmFja2dyb3VuZENvbG9yLWF9O1xuICAgIH1cblxuICAgICY6bm90KCYuaGVhZGVyLS1maXhlZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IC8vIGlnbm9yZSBqcyBmaXggZm9yIGhlYWRlciBqdW1wIG9uIHNtYWxsIHNjcmVlbnMgd2l0aCBzY3JvbGxiYXIgXG4gICAgfVxuXG4gICAgJi5oZWFkZXItLWRvd24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1LjhyZW0pO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluO1xuICAgIH1cblxuICAgICYuaGVhZGVyLS11cCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgbmF2IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4ycmVtO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImxvZ28gbG9nbyBuYXYgbmF2IG5hdiBuYXYgbmF2IG5hdlwiO1xuICAgICAgICBncmlkLWdhcDogNC44cmVtO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuOHJlbTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBsb2dvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICAgIGdyaWQtYXJlYTogbmF2O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC13cmFwOiBub3dyYXA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxufVxuXG4ubG9nby1iIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDAlLCAtMjUlKTtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgb3BhY2l0eTogNDAlOyAgICAgXG59XG5cbi5oZWFkZXItbW9iaWxlIHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRiYWNrZ3JvdW5kQ29sb3J9O1xuICAgIGJvcmRlci10b3A6ICN7JGJvcmRlclRoaWNrbmVzc30gc29saWQgI3skYm9yZGVyQ29sb3J9O1xuICAgIGJveC1zaGFkb3c6IDAgLThweCA4cHggMCByZ2JhKDM0LCAzMywgMzgsIDAuMSk7XG4gICAgXG5cbiAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIG5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAxLjJyZW07XG5cbiAgICB9XG5cbiAgICAmX19uYXYge1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAvLyB3aWR0aDogNnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbiAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMS4ycmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogI3skZ29sZH07XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtcXVhbnRpdHkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICN7JGJhY2tncm91bmRDb2xvcn07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuLm5hdi1tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDZyZW07XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI3skZ3JheUJnfTtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMDtcblxuICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMi40cmVtO1xuICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICZfX3N1YiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogMi40cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cblxuLyogRm9vdGVyICovXG4uZm9vdGVyIHtcbiAgICBtYXJnaW46IDcuMnJlbSAyLjRyZW0gOS42cmVtIDIuNHJlbTtcbiAgICAvLyBwYWRkaW5nOiAxLjJyZW0gMi40cmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAvLyBib3JkZXItdG9wOiAjeyRib3JkZXJUaGlja25lc3N9IHNvbGlkICN7JGJvcmRlckNvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAvLyBmb250LXNpemU6IDkwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgIG1hcmdpbjogMTJyZW0gNC44cmVtIDQuOHJlbSA0LjhyZW07XG4gICAgICAgIC8vIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiYmFra2Vyc2h1eXMgbWVudSBoZWxwXCI7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogI3skYmx1ZX07XG4gICAgfVxuXG4gICAgYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogLTAuMnJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGJsdWV9O1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Jha2tlcnNodXlzIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBiYWtrZXJzaHV5cztcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS42cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAgIGdyaWQtYXJlYTogbWVudTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgbmF2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWxwIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBoZWxwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICBuYXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogSW50cm8gKi9cbi5pbnRybyB7XG4gICAgaGVpZ2h0OiAwcHg7XG59XG5cbi8qIFNob3AgKi9cbi5zaG9wIHtcbiAgICBtYXJnaW46IDIuNHJlbSAxLjJyZW0gMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgIG1hcmdpbjogNC44cmVtIDQuOHJlbSAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogNC44cmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpO1xuICAgICAgICAvLyBcInBsYWNlQW5kVGltZSBwbGFjZUFuZFRpbWUgcGxhY2VBbmRUaW1lIHBsYWNlQW5kVGltZSBwbGFjZUFuZFRpbWUgcGxhY2VBbmRUaW1lIHBsYWNlQW5kVGltZSBwbGFjZUFuZFRpbWVcIlxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpbHRlcnMgZmlsdGVycyBwcm9kdWN0cyBwcm9kdWN0cyBwcm9kdWN0cyBwcm9kdWN0cyBwcm9kdWN0cyBwcm9kdWN0c1wiO1xuICAgICAgIFxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChNKSB7XG4gICAgICAgIG1hcmdpbjogOS42cmVtIDkuNnJlbSAwO1xuICAgIH1cblxuICAgIC8vICZfX3BsYWNlQW5kVGltZSB7XG4gICAgLy8gICAgIGdyaWQtYXJlYTogcGxhY2VBbmRUaW1lO1xuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gICAgICAgIFxuICAgIC8vICAgICAucGxhY2VBbmRUaW1lIHtcbiAgICAgICAgICAgIFxuICAgIC8vICAgICAgICAgZ2FwOiAxLjJyZW07XG5cbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChNKSB7XG4gICAgLy8gICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgLy8gICAgICAgICB9XG5cbiAgICAvLyAgICAgICAgICZfX3Nob3AsICZfX2RhdGUsICZfX2hvdXIge1xuICAgIC8vICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICAgIC8vICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcblxuICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgLy8gICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgIC8vICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjRyZW07XG4gICAgLy8gICAgICAgICAgICAgfVxuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG4gICAgJl9fZmlsdGVycyB7XG4gICAgICAgIGdyaWQtYXJlYTogZmlsdGVycztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChNKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAuc2hvcF9fZmlsdGVycy1zdGlja3kge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgdG9wOiAxMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3RzIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBwcm9kdWN0cztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoTSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUGxhY2VBbmRUaW1lICovXG4vLyAucGxhY2VBbmRUaW1lLS1ub3dyYXAge1xuLy8gICAgIC5wbGFjZUFuZFRpbWUge1xuLy8gICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4vLyAgICAgICAgIGdhcDogMDtcblxuLy8gICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuLy8gICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cbi5wbGFjZUFuZFRpbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdyYXl9O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG5cbiAgICAmX19zaG9wLCAmX19kYXRlLCAmX19ob3VyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdyYXlCZ307XG5cblxuICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAvLyAgICAgcGFkZGluZzogMi40cmVtO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDEuMnJlbTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Nob3Age1xuICAgICAgICBncmlkLWFyZWE6IHNob3A7XG4gICAgfVxuXG4gICAgJl9fZGF0ZSB7XG4gICAgICAgIGdyaWQtYXJlYTogZGF0ZTtcbiAgICB9XG5cbiAgICAmX19ob3VyIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBob3VyO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgLy8gbWFyZ2luOiAwLjNyZW07XG4gICAgICAgIGNvbG9yOiAjeyRncmF5RGFya307XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbi5hY3RpdmUge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cblxuICAgIC8vICZfX3Nob3AsICZfX2RhdGUsICZfX2hvdXIge1xuICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLy8gICAgIGdhcDogMS4ycmVtO1xuXG4gICAgLy8gICAgIGxhYmVsIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuXG4gICAgLy8gICAgICAgICB9XG5cbiAgICAvLyAgICAgICAgIGhlaWdodDogMy44cmVtO1xuICAgIC8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skZ3JheX07XG4gICAgLy8gICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cblxuICAgIC8vIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgIC8vICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG5cbiAgICAvLyBpbnB1dDpjaGVja2VkICsgbGFiZWwsICYtLWFjdGl2ZSB7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC8vIH1cbn1cblxuLnNob3AtZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxLjJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZmxleDogYXV0bztcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IFxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICN7JGdvbGR9O1xuICAgIH1cblxuICAgIC5lbmRPZlllYXIge1xuICAgICAgICB0ZXh0LXNoYWRvdzpyZ2IoMjMwLCAyNTUsIDE1MykgM3B4IDNweCAyMHB4LCByZ2IoMjU1LCAxNTMsIDIwNCkgLTJweCAxcHggMTBweDtcbiAgICB9XG5cbiAgICAudmFsZW50aW5lIHtcbiAgICAgICAgY29sb3I6ICNmZjRhNWU7IC8qIHdhcm0gcmVkICovXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGFuaW1hdGlvbjogaGVhcnRHbG93IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGhlYXJ0R2xvdyB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgyNTUsIDc0LCA5NCwgMC40KTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyNTUsIDc0LCA5NCwgMC43KTtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cbi5zaG9wLXByb2R1Y3RzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC1nYXA6IDQuOHJlbSAyLjRyZW07XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDcuMnJlbSAzLjZyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKE0pIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgZ3JpZC1nYXA6IDkuNnJlbSA3LjJyZW07XG4gICAgfVxufVxuXG4uc2hvcC1wcm9kdWN0IHtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmX19saW5rOmhvdmVyIHsgXG5cbiAgICAgICAgLnNob3AtcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvcC1wcm9kdWN0X19uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlLXpvb20tY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweCAxNHB4IDZweCA2cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGN1cnNvcjogaGVscDtcbiAgICB9XG5cbiAgICAmX19pbWFnZS1jb250YWluZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS8xLjI1O1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlbGVjdCwgJl9fcXVhbnRpdHksICZfX3RvdGFsLCAmX19vcmRlciB7XG4gICAgICAgIGhlaWdodDogMy44cmVtO1xuICAgIH1cblxuICAgICZfX3NlbGVjdCwgJl9fcXVhbnRpdHksICZfX3RvdGFsIHtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDA7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZm9udC1zaXplOiA5MyU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnVGFob21hJywgJ0hlbHZldGljYSc7XG4gICAgICAgIGN1cnNvcjogaGVscDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmX19ib3JkZXIge1xuICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICBib3JkZXI6ICN7JGJvcmRlclRoaWNrbmVzc30gc29saWQgI3skYm9yZGVyQ29sb3J9O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAjeyRib3JkZXJUaGlja25lc3N9IHNvbGlkICN7JGJvcmRlckNvbG9yfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlbGVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgbGFiZWwsIHNlbGVjdCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuOHJlbTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMmVtO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgICZfX3F1YW50aXR5IHtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoTSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvdGFsIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjhyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19vcmRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQwJTtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDExMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDk0JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdvbGR9OyAvLyN7JGJsdWV9O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHJlbSwgMC44cmVtKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC8vIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC8vICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIC8vICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAvLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAvLyAgICAgY29udGVudDogJ0Jlc3RlbCc7XG4gICAgICAgICAgICAvLyAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAvLyBjb2xvcjogIzZBN0I3NjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgLy8jeyRnb2xkfTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcmVtLCAwLjlyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc3VjY2VzcyB7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogc3VjY2VzcyAwLjhzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAgICAgLy8gJjphZnRlcntcbiAgICAgICAgICAgICAgICAvLyAgICAgLy8gYW5pbWF0aW9uOiBzdWNjZXNzLXRleHQgMXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN1Y2Nlc3MgeyBcbiAgICAwJSB7IFxuICAgICAgICBzY2FsZTogMS4wO1xuICAgIH1cbiAgICAxMCUge1xuICAgICAgICBzY2FsZTogMC45MjtcbiAgICB9XG4gICAgMjAlIHtcbiAgICAgICAgc2NhbGU6IDEuMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skYmx1ZX07XG4gICAgfVxuICAgIDMwJSB7ICBcbiAgICAgICAgc2NhbGU6IDEuMDY7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIHNjYWxlOiAxLjA7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHNjYWxlOiAwLjk4O1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBzY2FsZTogMS4wO1xuICAgIH1cbiAgICA3MCUge1xuICAgICAgICBzY2FsZTogMS4wMjtcbiAgICB9XG4gICAgODAlIHtcbiAgICAgICAgc2NhbGU6IDEuMDtcbiAgICB9XG4gICAgOTAlIHtcbiAgICAgICAgc2NhbGU6IDAuOTk7XG4gICAgfVxuICAgIDEwMDAlIHtcbiAgICAgICAgc2NhbGU6IDEuMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skZ29sZH07XG4gICAgfVxufVxuXG4vLyBAa2V5ZnJhbWVzIHN1Y2Nlc3MtdGV4dCB7IFxuLy8gICAgIDAlIHsgXG4vLyAgICAgICAgIGNvbnRlbnQ6ICdCZXN0ZWwnO1xuICAgICAgICBcbi8vICAgICB9XG4vLyAgICAgMTAlIHtcbi8vICAgICAgICAgY29udGVudDogJ0Jlc3RlbCc7XG4vLyAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbi8vICAgICB9XG4vLyAgICAgMjAlIHtcbi8vICAgICAgICAgY29udGVudDogJ0Jlc3RlbCc7XG4vLyAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbi8vICAgICB9XG4vLyAgICAgMzAlIHsgIFxuLy8gICAgICAgICBjb250ZW50OiAnb2snO1xuLy8gICAgICAgICBjb2xvcjogYmxhY2s7XG4vLyAgICAgfVxuLy8gICAgIDQwJSB7XG4vLyAgICAgICAgIGNvbnRlbnQ6ICdvayc7XG4vLyAgICAgfVxuLy8gICAgIDUwJSB7XG4vLyAgICAgICAgIGNvbnRlbnQ6ICdvayc7XG4vLyAgICAgfVxuLy8gICAgIDYwJSB7XG4vLyAgICAgICAgIGNvbnRlbnQ6ICdvayc7XG4gICAgICAgIFxuLy8gICAgIH1cbi8vICAgICA3MCUge1xuLy8gICAgICAgICBjb250ZW50OiAnb2snO1xuLy8gICAgICAgICBjb2xvcjogYmxhY2s7XG4vLyAgICAgfVxuLy8gICAgIDgwJSB7XG4vLyAgICAgICAgIGNvbnRlbnQ6ICdvayc7XG4vLyAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbi8vICAgICB9XG4vLyAgICAgOTAlIHtcbi8vICAgICAgICAgY29udGVudDogJ0Jlc3RlbCc7XG4vLyAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbi8vICAgICB9XG4vLyAgICAgMTAwMCUge1xuLy8gICAgICAgICBjb250ZW50OiAnQmVzdGVsJztcbi8vICAgICAgICAgY29sb3I6IGJsYWNrO1xuLy8gICAgIH1cbi8vIH1cblxuLnNob3AtcHJvZHVjdC1kZXRhaWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRncmF5Qmd9O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cblxuICAgICZfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzEuMjU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogMi40cmVtO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMnJlbSAwO1xuICAgICAgICAvLyBwYWRkaW5nOiAwIDAuNnJlbTtcbiAgICAgICAgLy8gcGFkZGluZzogMC44cmVtIDA7XG4gICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnVGFob21hJywgJ0hlbHZldGljYSc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMnJlbSAwO1xuICAgICAgICAvLyBwYWRkaW5nOiAwIDAuNnJlbTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogNDAlO1xuICAgIH1cblxuICAgICZfX2JvcmRlciB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgIGJvcmRlcjogI3skYm9yZGVyVGhpY2tuZXNzfSBzb2xpZCAjeyRiYWNrZ3JvdW5kQ29sb3J9O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAjeyRib3JkZXJUaGlja25lc3N9IHNvbGlkICN7JGJhY2tncm91bmRDb2xvcn07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwLjc0cmVtO1xuXG4gICAgICAgIGxhYmVsLCBzZWxlY3Qge1xuICAgICAgICAgICAgLy8gcGFkZGluZzogMC40cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4ycmVtO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgICZfX3F1YW50aXR5IHtcbiAgICAgICAgcGFkZGluZzogMC4ycmVtIDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbSAzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKE0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbSA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvdGFsIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjByZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19vcmRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQwJTtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDk0JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdvbGR9O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuNnJlbSwgMC44cmVtKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4xcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMHJlbTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy8gY29sb3I6ICM2QTdCNzY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuNnJlbSwgMC45cmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjZyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fYWxsZXJnZW5zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcblxuICAgICAgICAvLyBsaSB7XG4gICAgICAgIC8vICAgICBmb250LXNpemU6IDgwJTtcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gICAgIHBhZGRpbmc6IDAuNHJlbSAxcmVtO1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI0JGQkZCRjtcbiAgICAgICAgLy8gICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgIC8vICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIC8vICAgICAvLyB3aWR0aDogMi40cmVtO1xuICAgICAgICAvLyAgICAgLy8gaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICAgLy8gfVxuICAgIH1cbn1cblxuLmFsbGVyZ2VucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuOXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDYuMHJlbTtcbiAgICBcbiAgICAvLyBzcGFuIHtcbiAgICAvLyAgICAgb3BhY2l0eTogNzAlO1xuICAgIC8vIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAzLjByZW07XG4gICAgICAgIGN1cnNvcjogaGVscDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHRvb2x0aXAgKi9cbi50b29sdGlwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03NSU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXdyYXA6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMS4ycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGltZywgc3BhbiB7IC8qIHVzZSBhIHNwYW4gZm9yIHRleHQgKi9cbiAgICAgICAgICAgICY6aG92ZXIgKyAudG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTAwJTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB3aWR0aDogMC42cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuNnJlbTtcbiAgICB9XG59XG5cbi8qIENhcnQgKi9cbi5jYXJ0IHtcbiAgICAmLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIH1cblxuICAgICYtcHJvZHVjdHMge1xuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMS4ycmVtO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIgeyBcbiAgICAgICAgICAgICAgICAuY2FydC1wcm9kdWN0c19fbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZS16b29tLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDZweCA2cHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY3Vyc29yOiBoZWxwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuY2FydC1wcm9kdWN0c19faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmX19pbWFnZS1jb250YWluZXIge1xuICAgICAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vICAgICB0b3A6IDA7XG4gICAgICAgIC8vICAgICBsZWZ0OiAwO1xuICAgICAgICAvLyAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgXG4gICAgICAgIC8vICAgICBpbWcge1xuICAgICAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgLy8gICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAvLyAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgJl9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzEuMjU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19zZWxlY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19uYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDkzJTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVGFob21hJywgJ0hlbHZldGljYSc7XG4gICAgICAgICAgICBjdXJzb3I6IGhlbHA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChNKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjJyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcmVtb3ZlLCAmX19xdWFudGl0eSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19yZW1vdmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMnJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdyYXl9O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206ICN7JGJvcmRlclRoaWNrbmVzc30gc29saWQgI3skYm9yZGVyQ29sb3J9O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDZweCA2cHg7XG4gICAgICAgICAgICAvLyBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIC8vIG9wYWNpdHk6IDEuMDtcbiAgICAgICAgICAgICAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F1YW50aXR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbSAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAxMHB4IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzMzNhO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdG90YWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMC44cmVtIDEuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1xdWFudGl0eSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnVGFob21hJywgJ0hlbHZldGljYSc7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgICYtdG90YWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMS4ycmVtIDA7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI3skZ29sZH07XG4gICAgICAgICAgICBoZWlnaHQ6ICRib3JkZXJUaGlja25lc3MgKiAyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclRoaWNrbmVzcyAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWVtcHR5IHtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgfVxufVxuXG4vKiBPcmRlcnMgKi9cbi5vcmRlcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcblxuICAgICZfX2RldGFpbCB7XG5cbiAgICB9XG59XG5cbi5vcmRlci1kZXRhaWwge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkN2JhNmM7XG4gICAgICAgIGhlaWdodDogMC40cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAvLyBib3JkZXItYm90dG9tOiAjeyRib3JkZXJUaGlja25lc3N9IHNvbGlkICN7JGdvbGR9O1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyNzZGXCI7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7JGdvbGR9OyAvLyN7JGJsdWV9O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcmVtLCAwLjhyZW0pO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvLyBjb2xvcjogIzZBN0I3NjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyAvLyN7JGdvbGR9O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHJlbSwgMC45cmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuXG4gICAgICAgIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB3aWR0aDogNC44cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGN1cnNvcjogaGVscDtcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRhYiBpbnB1dDpjaGVja2VkICsgLm9yZGVyLWRldGFpbF9fdGl0bGU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cblxuLnRhYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICY6Y2hlY2tlZCB+IC50YWJfX2NvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAxLjJyZW07XG4gICAgICAgXG5cbiAgICB9XG59XG5cbi8qIEFkbWluICovXG4uYWRtaW4ge1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgIG1hcmdpbjogMCA0LjhyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKE0pIHtcbiAgICAgICAgbWFyZ2luOiAwIDkuNnJlbTtcbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAyLjRyZW0gMDtcbiAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS42cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLm1pbi13aWR0aChTKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmFkbWluLW9yZGVycyB7XG5cbiAgICAmX19kZXRhaWwge1xuXG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdHMge1xuICAgICAgICB0YWJsZSB7XG5cbiAgICAgICAgICAgIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFkbWluLW9yZGVyLWRldGFpbC1ob3VyIHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHdoaXRlO1xufVxuXG4uYWRtaW4tb3JkZXItZGV0YWlsIHtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB3aWR0aDogNC44cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hZG1pbi1vcmRlci1wcm9kdWN0cyB7XG4gICAgLy8gcGFkZGluZzogMS4ycmVtO1xuXG4gICAgdGFibGUge1xuICAgICAgICB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm9yZGVyLWNydWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtZ2FwOiA0LjhyZW07XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICB9XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuICAgICAgICB0ZFtjb2xzcGFuXTpub3QoW2NvbHNwYW49XCIxMDBcIl0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDAuNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkW2NvbHNwYW49XCIxMDBcIl0gaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEuMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmX19wcm9kdWN0LCAmX19jYXJ0LWl0ZW0ge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGxhYmVsLCBzZWxlY3QsIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3Qge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0ZDRjNTQ7XG4gICAgfVxuXG5cblxuICAgICZfX2NhcnQtaXRlbSB7XG5cblxuICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLy8gICAgIGRpdiB7XG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAvLyAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAvLyAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIFxuICAgIC8vICAgICAgICAgLnF1YW50aXR5IHtcbiAgICAvLyAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAvLyAgICAgICAgIH1cblxuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgYnV0dG9uIHtcbiAgICAvLyAgICAgICAgIGhlaWdodDogMy42cmVtO1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJi1yZW1hcmt7XG4gICAgLy8gICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8vICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIC8vICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLy8gICAgIH1cbiAgICB9XG59XG5cbi8vXG4uY29udGFpbmVyLTUwIHtcbiAgICBtYXJnaW46IDAgMS4ycmVtO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI3skZ3JheUJnfTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKFMpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW0gMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoTSkge1xuICAgICAgICBwYWRkaW5nOiAzLjZyZW0gMDtcbiAgICB9XG5cbiAgICAmLS1jZW50ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS5taW4td2lkdGgoUykge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjRyZW0gNC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEubWluLXdpZHRoKE0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMuNnJlbSA2cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY2xlYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmxpbmUge1xuICAgIGJhY2tncm91bmQ6ICN7JGdyYXl9O1xuICAgIGhlaWdodDogJGJvcmRlclRoaWNrbmVzcyAqIDI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclRoaWNrbmVzcyAqIDI7XG4gICAgbWFyZ2luOiAyLjhyZW0gMCAyLjRyZW0gMDtcbn1cblxuLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICYtLW5leHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogI3skYm9yZGVyVGhpY2tuZXNzfSBzb2xpZCAjeyRnb2xkfTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWQwOTY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1iYWNrIHtcbiAgICAgICAgY3Vyc29yOiBhbGlhcztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skYmx1ZX07XG4gICAgICAgIGJvcmRlci1ib3R0b206ICN7JGJvcmRlclRoaWNrbmVzc30gc29saWQgI3skYm9yZGVyQ29sb3J9O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5xdWFudGl0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgdHJhbnNpdGlvbjogLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJl9faW5wdXQsICZfX251bWJlciwgJl9fbWluLCAmX19wbHVzIHtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cbiAgICAgICAgXG4gICAgfVxuXG4gICAgJl9faW5wdXQsICZfX251bWJlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjeyRnb2xkfTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19taW4sICZfX3BsdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICN7JGdvbGR9O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJl9fbWluIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcGx1cyB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9naW4ge1xuICAgIGEge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxufVxuXG5oMSB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbn1cblxucCB7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbn1cblxuYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYS0tY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xufVxuXG50YWJsZSB7XG4gICAgLy8gbWFyZ2luOiAyLjRyZW0gMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5maWVsZHNldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xufVxuXG5sZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcbn1cblxuc2VsZWN0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICN7JGdvbGR9O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG5idXR0b24uYnRuLS1hbmNob3Ige1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG59XG5cbmlucHV0Om5vdChbdHlwZT0nc3VibWl0J10pLCBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICB0cmFuc2l0aW9uOiAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogI3skZ29sZH07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggI3skZ29sZH07XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjA1cmVtKTtcbiAgICB9XG59XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT0ndGV4dCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5pbnB1dFt0eXBlPSd0ZWwnXSxcbmlucHV0W3R5cGU9J251bWJlciddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMuNnJlbTtcbiAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICBib3JkZXI6ICN7JGJvcmRlclRoaWNrbmVzc30gc29saWQgI3skZ29sZH07XG59XG5cbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI3skZ3JheUJnfTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogI3skZ29sZH07XG4gICAgd2lkdGg6IDIuNHJlbTtcbiAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjeyRnb2xkfTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDAuNjVlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjY1ZW07XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IDEyMG1zIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMWVtIDFlbSAjeyRnb2xkfTtcblxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDE0JSA0NCUsIDAgNjUlLCA1MCUgMTAwJSwgMTAwJSAxNiUsIDgwJSAwJSwgNDMlIDYyJSk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLmVycm9yLFxuLmVycm9yIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG59XG5cbi5lcnJvciArIGlucHV0IHtcbiAgICBib3JkZXI6ICN7JGJvcmRlclRoaWNrbmVzc30gc29saWQgcmVkO1xufVxuXG4uYXBwLWZsYXNoIHtcbiAgICBib3JkZXI6ICN7JGJvcmRlclRoaWNrbmVzc30gc29saWQgYmxhY2s7XG4gICAgcGFkZGluZzogMC42cmVtO1xuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgICBib3JkZXItY29sb3I6IHJlZDtcbiAgICAgICAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICBib3JkZXItY29sb3I6ICN7JGJhY2tncm91bmRDb2xvci1hfTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uYWdyZWUtdG8tdGVybXMge1xuICAgIG1hcmdpbjogMi40cmVtIDA7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6IGJsYWNrOyAgIFxuICAgIH1cbn1cblxuaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi50ZXJtcyB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMS4ycmVtO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjRyZW07XG4gICAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICB9XG59XG5cbi5pbmZvIHtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICAvLyBtYXJnaW46IDAgMi40cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ub3dyYXAge1xuICAgIHRleHQtd3JhcDogbm93cmFwO1xufVxuXG4ubm90dmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMC4zO1xufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiEgSFRNTDUgQm9pbGVycGxhdGUgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL2h0bWw1Ym9pbGVycGxhdGUuY29tLyAqL1xuXG4vKiBtYWluLmNzcyAzLjAuMCB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvbWFpbi5jc3MjcmVhZG1lICovXG4vKlxuICogV2hhdCBmb2xsb3dzIGlzIHRoZSByZXN1bHQgb2YgbXVjaCByZXNlYXJjaCBvbiBjcm9zcy1icm93c2VyIHN0eWxpbmcuXG4gKiBDcmVkaXQgbGVmdCBpbmxpbmUgYW5kIGJpZyB0aGFua3MgdG8gTmljb2xhcyBHYWxsYWdoZXIsIEpvbmF0aGFuIE5lYWwsXG4gKiBLcm9jIENhbWVuLCBhbmQgdGhlIEg1QlAgZGV2IGNvbW11bml0eSBhbmQgdGVhbS5cbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBzdHlsZXM6IG9waW5pb25hdGVkIGRlZmF1bHRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBodG1sIHtcbi8vICAgY29sb3I6ICMyMjI7XG4vLyAgIGZvbnQtc2l6ZTogMWVtO1xuLy8gICBsaW5lLWhlaWdodDogMS40O1xuLy8gfVxuXG4vLyBib3JkZXItYm94IGV2ZXJ5dGhpbmdcbiosIDpiZWZvcmUsIDphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIGxpc3RzXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyB0ZXh0XG5wIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvLyBjb2xvcjogaW5oZXJpdDtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKlxuICogUmVtb3ZlIHRleHQtc2hhZG93IGluIHNlbGVjdGlvbiBoaWdobGlnaHQ6XG4gKiBodHRwczovL3R3aXR0ZXIuY29tL21pa2V0YXlsci9zdGF0dXMvMTIyMjg4MDUzMDFcbiAqXG4gKiBDdXN0b21pemUgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gbWF0Y2ggeW91ciBkZXNpZ24uXG4gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKlxuICogQSBiZXR0ZXIgbG9va2luZyBkZWZhdWx0IGhvcml6b250YWwgcnVsZVxuICovXG5cbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBhdWRpbywgY2FudmFzLCBpZnJhbWVzLFxuICogaW1hZ2VzLCB2aWRlb3MgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVyczpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy80NDBcbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZpZWxkc2V0IHN0eWxlcy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG4gKi9cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQXV0aG9yJ3MgY3VzdG9tIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICovXG5cbi5oaWRkZW4sXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICovXG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbiAgLyogMSAqL1xufVxuXG4vKlxuICogRXh0ZW5kcyB0aGUgLnZpc3VhbGx5LWhpZGRlbiBjbGFzcyB0byBhbGxvdyB0aGUgZWxlbWVudFxuICogdG8gYmUgZm9jdXNhYmxlIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQ6XG4gKiBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvODk3NjM4XG4gKi9cblxuLnZpc3VhbGx5LWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5LWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICB3aWR0aDogYXV0bztcbn1cblxuLypcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbiAqL1xuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogQ2xlYXJmaXg6IGNvbnRhaW4gZmxvYXRzXG4gKlxuICogVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbiAqIGA6OmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuLmNsZWFyZml4OjpiZWZvcmUsXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVYQU1QTEUgTWVkaWEgUXVlcmllcyBmb3IgUmVzcG9uc2l2ZSBEZXNpZ24uXG4gICBUaGVzZSBleGFtcGxlcyBvdmVycmlkZSB0aGUgcHJpbWFyeSAoJ21vYmlsZSBmaXJzdCcpIHN0eWxlcy5cbiAgIE1vZGlmeSBhcyBjb250ZW50IHJlcXVpcmVzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNWVtKSB7XG4vLyAgIC8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciB2aWV3cG9ydHMgdGhhdCBtZWV0IHRoZSBjb25kaXRpb24gKi9cbi8vIH1cblxuQG1lZGlhIHByaW50LFxuICAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgKG1pbi1yZXNvbHV0aW9uOiAxLjI1ZHBweCksXG4gIChtaW4tcmVzb2x1dGlvbjogMTIwZHBpKSB7XG4gIC8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciBoaWdoIHJlc29sdXRpb24gZGV2aWNlcyAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgc3R5bGVzLlxuICAgSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4gICBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAvKiBCbGFjayBwcmludHMgZmFzdGVyICovXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYVtocmVmXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG5cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cblxuICAvKlxuICAgKiBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgKiBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAqL1xuICBhW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICBwcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG4iLCJAdXNlICdtZWRpYSc7XG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogNjIuNSU7IC8vIDFyZW0gPSAxMHB4XG59XG5cbmJvZHkge1xuXHRmb250LWZhbWlseTogc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxLjZyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0QGluY2x1ZGUgbWVkaWEubWluLXdpZHRoLWZvbnQobWVkaWEuJE0sIG1lZGlhLiRMLCAyLjZyZW0sIDEuNnJlbSwgNik7XG59XG5cbmgxIHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDEuNjVlbTtcbn1cblxuaDIge1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbmxhYmVsIHtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gKiAxcHggbWFrZXMgaXQgYSBwaXhlbCB2YWx1ZVxuJFhTOiA0ODAgKiAxcHg7IC8vIGV4dHJhIHNtYWxsIGRldmljZXMsIHBob25lc1xuJFM6ICA4MDAgKiAxcHg7IC8vIHNtYWxsIGRldmljZXMsIHRhYmxldHNcbiRNOiAxMjgwICogMXB4OyAvLyBtZWRpdW0gZGV2aWNlcywgZGVza3RvcHNcbiRMOiAxOTIwICogMXB4OyAvLyBsYXJnZSBkZXZpY2VzLCB3aWRlIHNjcmVlbnNcblxuLy8gd2UgdGFrZSBhIG1vYmlsZSBmaXJzdCBhcHJvYWNoXG5AbWl4aW4gbWluLXdpZHRoKCRwb2ludCkge1xuXHRAaWYgJHBvaW50ID09IFhTIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJFhTKSB7IEBjb250ZW50OyB9XG5cdH0gQGVsc2UgaWYgJHBvaW50ID09IFMge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkUykgeyBAY29udGVudDsgfVxuXHR9IEBlbHNlIGlmICRwb2ludCA9PSBNIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJE0pIHsgQGNvbnRlbnQ7IH0gXG5cdH0gQGVsc2UgaWYgJHBvaW50ID09IEwge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkTCkgeyBAY29udGVudDsgfVxuXHR9XG59XG5cbkBtaXhpbiBtaW4td2lkdGgtZm9udCgkbWluLXdpZHRoLWhpZ2gsICRtaW4td2lkdGgtbG93LCAkZm9udC1zaXplLWhpZ2gsICRmb250LXNpemUtbG93LCAkc3RlcHMpIHtcblx0JHN0ZXBzOiAkc3RlcHMgLSAxO1xuXHQkbWluLXdpZHRoLXN0ZXA6IG1hdGguZGl2KCgkbWluLXdpZHRoLWhpZ2ggLSAkbWluLXdpZHRoLWxvdyksICRzdGVwcyk7XG5cdCRmb250LXNpemUtc3RlcDogbWF0aC5kaXYoKCRmb250LXNpemUtaGlnaCAtICRmb250LXNpemUtbG93KSwgJHN0ZXBzKTtcblxuXHRAZm9yICRpIGZyb20gMCB0aHJvdWdoICRzdGVwcyB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtaW4td2lkdGgtaGlnaCAtICgkbWluLXdpZHRoLXN0ZXAgKiAkaSkpIHtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sb3cgKyAoJGZvbnQtc2l6ZS1zdGVwICogJGkpO1xuXHRcdH1cblx0fVxufVxuXG4vLyBib2R5IHtcbi8vIFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkIGJsdWUgIWltcG9ydGFudDtcblxuLy8gXHRAaW5jbHVkZSBtaW4td2lkdGgoWFMpIHtcbi8vIFx0XHRib3JkZXItdG9wOiA0cHggc29saWQgZ3JlZW4gIWltcG9ydGFudDtcbi8vIFx0fVxuXG4vLyBcdEBpbmNsdWRlIG1pbi13aWR0aChTKSB7XG4vLyBcdFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkIHllbGxvdyAhaW1wb3J0YW50O1xuLy8gXHR9XG5cbi8vIFx0QGluY2x1ZGUgbWluLXdpZHRoKE0pIHtcbi8vIFx0XHRib3JkZXItdG9wOiAwcHggc29saWQgb3JhbmdlICFpbXBvcnRhbnQ7XG4vLyBcdH1cblxuLy8gXHRAaW5jbHVkZSBtaW4td2lkdGgoTCkge1xuLy8gXHRcdGJvcmRlci10b3A6IDRweCBzb2xpZCByZWQgIWltcG9ydGFudDtcbi8vIFx0fVxuXG4vLyBcdCY6YmVmb3JlIHtcbi8vIFx0XHRwb3NpdGlvbjogZml4ZWQ7XG4vLyBcdFx0dG9wOiAxMHB4O1xuLy8gXHRcdGxlZnQ6IDEwcHg7XG4vLyBcdFx0ei1pbmRleDogOTk5O1xuXG4vLyBcdFx0QGluY2x1ZGUgbWluLXdpZHRoKFhTKSB7XG4vLyBcdFx0XHRjb250ZW50OiAnWFMgLSAnICsgJFhTO1xuLy8gXHRcdFx0Y29sb3I6IGdyZWVuO1xuLy8gXHRcdH1cblxuLy8gXHRcdEBpbmNsdWRlIG1pbi13aWR0aChTKSB7XG4vLyBcdFx0XHRjb250ZW50OiAnUyAtICcgKyAkUztcbi8vIFx0XHRcdGNvbG9yOiB5ZWxsb3c7XG4vLyBcdFx0fVxuXG4vLyBcdFx0QGluY2x1ZGUgbWluLXdpZHRoKE0pIHtcbi8vIFx0XHRcdC8vIGNvbnRlbnQ6ICdNIC0gJyArICRNO1xuLy8gXHRcdFx0Y29udGVudDogJyc7XG4vLyBcdFx0XHRjb2xvcjogb3JhbmdlO1xuLy8gXHRcdH1cblxuLy8gXHRcdEBpbmNsdWRlIG1pbi13aWR0aChMKSB7XG4vLyBcdFx0XHRjb250ZW50OiAnTCAtICcgKyAkTDtcbi8vIFx0XHRcdGNvbG9yOiByZWQ7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyB9IiwiQG1lZGlhIHByaW50IHtcblxuXHRoZWFkZXIsXG5cdC5sb2dvLWIsXG5cdG5hdixcblx0Zm9ybSxcblx0Zm9vdGVyLFxuXHQubm8tcHJpbnQge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdGJvZHkgLmJvZHlfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5hZG1pbi1vcmRlcnMge1xuXG5cdFx0Jl9fZGV0YWlsIHtcblx0ICAgIFx0ZGlzcGxheTogZ3JpZDtcblx0ICAgIFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXHQgICAgXHRncmlkLWdhcDogMS4ycmVtO1xuXHRcdH1cblxuXHRcdCZfX3Byb2R1Y3RzIHtcblxuXHRcdH1cblxuXHRcdHRhYmxlIHtcblx0XHQgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHQgICAgd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0dHIge1xuXHRcdCAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcblx0XHR9XG4gICAgfVxuXG4gICAgLmFkbWluLW9yZGVyLWRldGFpbC1ob3VyIHtcbiAgICBcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBcdGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgXHRib3JkZXItY29sb3I6IGJsYWNrO1xuICAgIH1cblxuXHQuYWRtaW4tb3JkZXItZGV0YWlsIHtcbiAgICBcdHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBcdGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuXG4gICAgXHR0YWJsZSB7XG4gICAgXHRcdG1hcmdpbjogMDtcblxuIFx0XHRcdHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICBcdH1cblx0fVxuXG4gICAgLmFkbWluLW9yZGVyLXByb2R1Y3RzLXN0cm9rZW4ge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICAvLyBib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7IFxuICBcdFx0XHQgZm9udC1zaXplOiAyLjByZW07XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgIFx0Ym9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgIFx0cGFkZGluZzogMC44cmVtIDAuNnJlbTtcbiAgICAgICAgXHQvLyBib3JkZXItdG9wOiBzb2xpZCAxcHg7XG4gICAgICAgIH1cbiAgICB9ICBcbn1cblxuIiwiW2RhdGEtbG9hZGluZz1cIlwiXSxbZGF0YS1sb2FkaW5nPXNob3ddLFtkYXRhLWxvYWRpbmcqPVxcfHNob3dde2Rpc3BsYXk6bm9uZX0iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9*/