/*!**********************************************************************************************************************************************************************************************!*\
  !*** 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]!./assets/app/css/app.css ***!
  \**********************************************************************************************************************************************************************************************/
/* ------ CONFIG ------ */
/* ------ BASE ------ */
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
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;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-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.
*/
::-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 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
:root {
    --color-beige-rgb: 246 238 233;
    --color-white-rgb: 255 255 255;
    --color-grey-rgb: 116 116 116;
    --color-black-rgb: 0 0 0;
    --color-purple-rgb: 217 165 255;
    --color-sucess-rgb: 87, 28, 130;
    --color-sucesss-light-rgb: 203, 133, 255;
    --color-danger-rgb: 219, 40, 40;
    --color-info-rgb: 186, 24, 132;
    --color-info-light-rgb: 255, 237, 249;

    --color-beige: rgb(var(--color-beige-rgb));
    --color-white: rgb(var(--color-white-rgb));
    --color-grey: rgb(var(--color-grey-rgb));
    --color-black: rgb(var(--color-black-rgb));
    --color-purple: rgb(var(--color-purple-rgb));
    --color-success: rgb(var(--color-sucess-rgb));
    --color-success-light: rgb(var(--color-sucess-light-rgb));
    --color-danger: rgb(var(--color-danger-rgb));
    --color-info: rgb(var(--color-info-rgb));
    --color-info-light: rgb(var(--color-info-light-rgb));

    --spacing-px: 1px;
    --spacing-xs: 0.8rem;
    --spacing-sm: 1.6rem;
    --spacing-md: 2.4rem;
    --spacing-lg: 3.2rem;
    --spacing-xl: 4rem;
    --spacing-2xl: 4.8rem;
    --spacing-3xl: 5.6rem;
    --spacing-4xl: 6.4rem;
    --spacing-5xl: 8rem;
    --spacing-6xl: 11.6rem;
    --spacing-7xl: 13.2rem;

    --font-family-heading: 'Cormorant', serif;
    --font-family-body: 'Jost', sans-serif;

    --font-size-xs: 1.1rem;
    --font-size-sm: 1.3rem;
    --font-size-default: 1.4rem;
    --font-size-md: 1.6rem;
    --font-size-lg: 1.9rem;
    --font-size-xl: 2.3rem;
    --font-size-2xl: 2.8rem;
    --font-size-3xl: 3.3rem;
    --font-size-4xl: 4rem;
    --font-size-5xl: 4.8rem;

    --font-weight-normal: 400;
    --font-weight-bold: 700;

    --line-height-none: 1;
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-loose: 1.75;

    --container-max-width: 144rem;
    --container-padding-inline: var(--spacing-sm);
    --body-background-color: var(--color-beige);

    --gap: var(--container-padding-inline);

    --z-index-start: 10;
    --z-index-header: 20;
    --z-index-menu: 30;

    --header-height: 6.4rem;
  }
/* ----------------------------- *
 *              FONTS            *
 * ----------------------------- */
/* ------ JOST ------ */
@font-face {
  font-family: Jost;
  font-weight: 400;
  src: url(/build/fonts/jost.13b05300.woff2) format('woff2');
  font-display: swap;
}
@font-face {
  font-family: Jost;
  font-weight: 700;
  src: url(/build/fonts/jost-bold.40154e92.woff2) format('woff2');
  font-display: swap;
}
/* ------ CORMORANT ------ */
@font-face {
  font-family: Cormorant;
  font-weight: 500;
  src: url(/build/fonts/cormorant-medium.36094b25.woff2) format('woff2');
  font-display: swap;
}
/*
  1. Use a more-intuitive box-sizing model.
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}
/*
  2. Remove default margin
*/
* {
  margin: 0;
}
/*
  Typographic tweaks!
  3. Add accessible line-height
  4. Improve text rendering
*/
body {
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
/*
  5. Improve media defaults
*/
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}
/*
  6. Remove built-in form typography styles
*/
input,
button,
textarea,
select {
  font: inherit;
}
/*
  7. Avoid text overflows
*/
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}
/* ------ LAYOUT ------ */
/* ----------------------------- *
 *            LAYOUT             *
 * ----------------------------- */
html {
  font-family: var(--font-family-body);
  font-size: 62.5%;
}
body {
  min-height: 100svh;
  background-color: var(--body-background-color);
  font-size: 1.4rem;
  line-height: 1.6;
}
body.static-website {
    display: grid;
    grid-template-rows: auto 1fr auto;
  }
body.has-menu-opened {
    overflow: hidden;
  }
.medium-container {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding-inline: var(--spacing-sm);

  @media (min-width: 1024px) {
    padding-inline: var(--spacing-lg);
  }
}
.small-container {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding-inline: var(--spacing-sm);

  @media (min-width: 1024px) {
    padding-inline: var(--spacing-lg);
  }
  max-width: 97.6rem;
}
.homepage {
  background-color: var(--color-beige);
}
/* ----------------------------- *
 *             HEADER            *
 * ----------------------------- */
.site-header {
  position: sticky;
  z-index: var(--z-index-header);
  top: 0;
  padding-block-end: var(--spacing-sm);
  background-color: var(--color-beige);

  @media (min-width: 1024px) {
    position: relative;
  }
}
.site-header--over {
    @media (min-width: 1024px) {
      position: absolute;
      top: 0; left: 0;
      width: 100%;
      background: transparent;
    }
  }
.site-header__container {
  position: relative;
  z-index: var(--z-index-header);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem var(--spacing-xs) 0.4rem var(--spacing-sm);

  @media (min-width: 1024px) {
    padding: var(--spacing-md) var(--spacing-lg);
  }
}
.site-header__logo {
  display: block;
  width: 11.2rem;

  @media (min-width: 1024px) {
    width: 18rem;
  }
}
.site-header__logo img {
    width: 100%;
  }
/* ----------------------------- *
 *           MENU BTN            *
 * ----------------------------- */
.menu-btn {
  --menu-transition-duration: 0.075s;
  --ease-in-function: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-out-function: cubic-bezier(0.25, 1, 0.5, 1);
  --menu-color: var(--color-black);
  --menu-line-width: 1.8rem;
  --menu-line-height: 0.2rem;

  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  width: 4rem;
  height: 4rem;

  @media (min-width: 1024px) {
    display: none;
  }
}
.menu-btn__inner {
  display: inline-block;
  position: relative;
  width: var(--menu-line-width);
  height: var(--menu-line-height);
  transition: transform var(--menu-transition-duration) var(--ease-in-function);
  background-color: var(--menu-color);
}
.menu-btn__inner::before,
.menu-btn__inner::after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  width: var(--menu-line-width);
  height: var(--menu-line-height);
  transition: transform 0.15s ease;
  background-color: var(--menu-color);
}
.menu-btn__inner::before {
  top: -0.5rem;
  transition: top var(--menu-transition-duration) 0.12s ease, opacity var(--menu-transition-duration) ease;
}
.menu-btn__inner::after {
  top: 0.5rem;
  transition: top var(--menu-transition-duration) 0.12s ease, transform var(--menu-transition-duration) var(--ease-in-function);
}
.menu-btn[aria-expanded="true"] .menu-btn__inner {
    transform: rotate(45deg);
    transition-timing-function: var(--ease-out-function);
    transition-delay: 0.12s;
  }
.menu-btn[aria-expanded="true"] .menu-btn__inner::before {
      top: 0;
      transition: top var(--menu-transition-duration) ease, opacity var(--menu-transition-duration) 0.12s ease;
      opacity: 0;
    }
.menu-btn[aria-expanded="true"] .menu-btn__inner::after {
      top: 0;
      transform: rotate(-90deg);
      transition: top var(--menu-transition-duration) ease, transform var(--menu-transition-duration) 0.12s var(--ease-out-function);
    }
/* ----------------------------- *
 *              NAV              *
 * ----------------------------- */
.site-nav {
  position: fixed;
  z-index: var(--z-index-menu);
  top: 6.4rem; left: 0;
  width: 100%;
  height: calc(100dvh - var(--header-height));
  margin-inline-start: auto;
  padding: var(--spacing-4xl);
  transform: translateX(100%);
  transition: transform 0.3s;
  background-color: var(--color-beige);

  @media (min-width: 1024px) {
    position: static;
    height: auto;
    padding: 0;
    transform: translateX(0);
    background: transparent;
  }
}
.site-nav.is-visible {
    transform: translateX(0);
  }
.site-nav__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2xl);

  @media (min-width: 1024px) {
    flex-direction: row;
    gap: var(--spacing-5xl);
  }
}
.site-nav__item {
  position: relative;
}
.site-nav__parent-link {
  @media (min-width: 1024px) {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    cursor: pointer;

    &::before {
      content: '';
      display: block;
      position: absolute;
      top: 100%; left: 0;
      width: 100%;
      height: 1.6rem;
    }

    &::after {
      content: '';
      display: inline-block;
      width: 1.6rem;
      height: 1.6rem;
      transition: transform 0.2s;
      background: url(/build/images/chevron.d9350a54.svg) no-repeat;
    }
  }
}
.site-nav__sublist {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2xl);
  padding: var(--spacing-2xl) 0 0 var(--spacing-lg);
  white-space: nowrap;

  @media (min-width: 1024px) {
    position: absolute;
    top: calc(100% + var(--spacing-sm)); right: 0;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    transform: translateY(2rem);
    transition: transform 0.3s, opacity 0.3s;
    opacity: 0;
    background-color: var(--color-white);
    pointer-events: none;
  }
}
.site-nav__item--parent:hover .site-nav__sublist,
.site-nav__item--parent:focus .site-nav__sublist,
.site-nav__sublist:has(*:focus) {
  @media (min-width: 1024px) {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
}
.site-nav__item--parent:hover .site-nav__parent-link,
.site-nav__item--parent:focus .site-nav__parent-link {
  @media (min-width: 1024px) {
    &::after {
      transform: rotate(180deg);
    }
  }
}
.site-nav__link {
  position: relative;
  padding: var(--spacing-xs) 0;
  outline: 0;
}
.site-nav__link::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0; left: 0;
    width: 5.6rem;
    height: 0.2rem;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.2s cubic-bezier(0.5, 1, 0.89, 1);
    background-color: var(--color-black);
  }
.site-nav__link:hover::after, .site-nav__link:focus-visible::after, .site-nav__link:active::after, .site-nav__link.is-selected::after {
      transform: scaleX(1);
    }
.site-nav__link.is-selected:focus-visible {
    outline: auto;
  }
/* ----------------------------- *
 *             FOOTER            *
 * ----------------------------- */
.site-footer {
  margin-block-start: var(--spacing-xl);
  background-color: var(--color-white);
  color: var(--color-grey);
  font-size: 1.2rem;

  @media (min-width: 1024px) {
    margin-block-start: var(--spacing-5xl);
  }
}
.site-footer__no-space-start {
    margin-block-start: 0;
}
.site-footer__container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 1.4rem;
  padding: 0.6rem 2.2rem var(--spacing-sm) var(--spacing-lg);

  @media (min-width: 1024px) {
    gap: var(--spacing-2xl);
    padding: 2rem 2.2rem 2rem var(--spacing-lg);
  }
}
.site-footer__logo {
  width: 9rem;
}
.site-footer__list {
  display: flex;
  align-items: center;
  gap: 2.2rem;
  margin-inline-start: auto;

  @media (min-width: 1024px) {
    order: 999;
  }
}
.site-footer__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.site-footer__link:not(.site-footer__link--icon) {
    outline: 0;
  }
.site-footer__link:not(.site-footer__link--icon):focus-visible,
    .site-footer__link:not(.site-footer__link--icon):hover,
    .site-footer__link:not(.site-footer__link--icon):active {
      text-decoration: underline;
    }
.site-footer__link--icon {
    min-width: 4rem;
    min-height: 4rem;
  }
/* ------ UTILS ------ */
/* ----------------------------- *
 *          TYPOGRAPHY           *
 * ----------------------------- */
.surtitle {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.main-title {
  font-family: var(--font-family-heading) !important;
  font-size: 5.6rem;
  font-weight: 500;
  line-height: 0.8;

  @media (min-width: 1024px) {
    font-size: 11.2rem;
  }
}
.big-title {
  font-family: var(--font-family-heading) !important;
  font-size: 8rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 14rem;
    line-height: 0.8;
  }
}
.second-title {
  font-family: var(--font-family-heading) !important;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 8rem;
  }
}
.intermediate-title {
  font-family: var(--font-family-heading) !important;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 6rem;
  }
}
.third-title {
  font-family: var(--font-family-heading) !important;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
}
.text-content p:not(:last-child) {
    margin-block-end: var(--spacing-md);
  }
.text-lead {
  font-size: 1.8rem;
}
.text-lead p:not(:last-child) {
    margin-block-end: var(--spacing-md);
  }
/* ----------------------------- *
 *            BUTTONS            *
 * ----------------------------- */
.reset-btn {
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.btn {
  --btn-padding-y: 1.4rem;
  --btn-padding-x: var(--spacing-md);
  --btn-font-size: 1.4rem;
  --btn-background-color: var(--color-white);
  --btn-color: var(--color-black);

  display: inline-block;
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  transition: background-color 0.1s, color 0.1s;
  border: solid var(--color-black) 0.1rem;
  outline: 0;
  background-color: var(--btn-background-color);
  color: var(--btn-color);
  font-size: var(--btn-font-size);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
}
.btn:focus-visible,
  .btn:hover,
  .btn:active {
    background-color: var(--btn-color, var(--color-black));
    color: var(--btn-background-color, var(--color-white));
  }
.btn--beige {
  --btn-background-color: var(--color-beige);
  --btn-color: var(--color-black);
}
.btn--small {
  --btn-padding-y: 1.2rem;
  --btn-padding-x: var(--spacing-sm);
  --btn-font-size: 1.2rem;
}
/* ----------------------------- *
 *              GRID             *
 * ----------------------------- */
.grid {
  --grid-nb-columns: 12;
  --grid-colum-gap: var(--spacing-sm);

  display: grid;
  grid-gap: var(--grid-column-gap);
  grid-template-columns: repeat(var(--grid-nb-columns), 1fr);
}
.grid--desktop {
  @media (max-width: 1023px) {
    display: block;
  }
}
/* ------ COMPONENTS ------ */
/* ----------------------------- *
 *             HERO              *
 * ----------------------------- */
.hero {
  --video-width: calc((100vw - var(--container-max-width)) / 2 + var(--container-max-width) * 57.153 / 100);

  position: relative;

  @media (min-width: 1024px) {
    height: 90vh;
    overflow: hidden;
  }

  @media (min-width: 1024px) {
    &::before {
      content: '';
      display: block;
      position: absolute;
      z-index: var(--z-index-start);
      bottom: 25.3%; left: -11.5rem;
      width: 23rem;
      height: 24rem;
      background: url(/build/images/flower.af0b75ff.png) no-repeat;
      background-size: 100%;
    }

    &::after {
      content: '';
      display: block;
      position: absolute;
      top: 0; left: var(--video-width);
      width: calc(100vw - var(--video-width));
      height: 100%;
      background: url(/build/images/flowers-background.6eb7a61a.webp) no-repeat center center/cover;
    }
  }
}
.hero__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;

  @media (min-width: 1024px) {
    flex-direction: row;
  }
}
.hero__video {
  width: 100%;
  aspect-ratio: 375/442;
  overflow: hidden;

  @media (min-width: 1024px) {
    position: absolute;
    top: 0; left: 0;
    width: var(--video-width);
    height: 100%;
    aspect-ratio: initial;
  }
}
.hero__video video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
.hero__content-grid {
  padding-block-end: 7.3rem;
  background: url(/build/images/flowers-background.6eb7a61a.webp) no-repeat center center/cover;

  @media (min-width: 1024px) {
    padding: 0;
  }
}
.hero__text {
  position: relative;
  z-index: 10;
  margin-block-start: -3.5rem;
  margin-inline: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-md) var(--spacing-lg);
  background-color: var(--color-white);
}
.hero__text::before {
    content: '';
    display: block;
    position: absolute;
    top: -2.4rem; right: -0.8rem;
    width: 5.4rem;
    height: 5.6rem;
    background: url(/build/images/flower.af0b75ff.png) no-repeat;
    background-size: 100%;
  }
.hero__text {

  @media (min-width: 1024px) {
    margin: 0;
    padding: var(--spacing-xl) var(--spacing-4xl) var(--spacing-2xl);

    &::before {
      top: -7rem; right: auto; left: -6.7rem;
      width: 13.4rem;
      height: 14rem;
    }
  }
}
/* ----------------------------- *
 *           TXT IMAGES          *
 * ----------------------------- */
.txt-images {
  @media (min-width: 1024px) {
    max-width: 44.8rem;
    margin-inline: auto;
  }
}
.txt-images-large {
  @media (min-width: 1024px) {
    max-width: 67.2rem;
    margin-inline: auto;
  }
}
.txt-images__text {
  padding-block-start: var(--spacing-sm);

  @media (min-width: 1024px) {
    padding-block-start: var(--spacing-lg);
  }
}
.txt-images__btn {
  margin-block-start: var(--spacing-sm);

  @media (min-width: 1024px) {
    margin-block-start: var(--spacing-lg);
  }
}
/* ----------------------------- *
 *             LOOK              *
 * ----------------------------- */
.look__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  padding-top: var(--spacing-sm);
}
.look__madein {
  color: var(--color-grey);
  font-size: 1.2rem;
  text-transform: uppercase;
}
/* ----------------------------- *
 *         CIRCLE BLOCK          *
 * ----------------------------- */
.circle-block {
  --circle-top-position: -5.6rem;
  --circle-right-position: auto;
  --circle-x-shift: -4.5rem;
  --circle-left-position: var(--circle-x-shift);
  --circle-size: 25.3rem;
  --circle-opacity: 1;
  --circle-gradient: 315deg, #FFBE69 0%, #FFBFE2 100%;
}
.circle-block--large {
    --circle-x-shift: -20.5rem;
    --circle-top-position: -16.4rem;
    --circle-size: 35rem;
  }
.circle-block--blue {
    --circle-opacity: 0.2;
    --circle-gradient: 315deg, #2A6790 0%, #D2D3CB 100%;
  }
.circle-block--fuchsia {
    --circle-opacity: 0.6;
    --circle-gradient: 315deg, #FFD6DE 0%, #FE6CAD 100%;
  }
.circle-block--navy {
    --circle-opacity: 0.8;
    --circle-gradient: 315deg, #DCEBFE 0%, #23234F 100%;
  }
.circle-block--right {
    --circle-right-position: var(--circle-x-shift);
    --circle-left-position: auto;
  }
.circle-block--gouache {
    --circle-pattern: url(/build/images/gouache.b4b1d14e.webp);
  }
.circle-block--ombrelles {
    --circle-opacity: 0.8;
    --circle-pattern: url(/build/images/ombrelles.479b208d.webp);
  }
.circle-block {

  position: relative;
}
@media (min-width: 1024px) {
  .circle-block {
    --circle-top-position: -15.7rem;
    --circle-size: 50rem;
    --circle-x-shift: -11.6rem;
  }

    .circle-block--large {
      --circle-top-position: -10.4rem;
    }
}
.circle-block__el {
  position: absolute;
  z-index: -1;
  top: var(--circle-top-position);
  right: var(--circle-right-position);
  left: var(--circle-left-position);
  width: var(--circle-size);
  height: var(--circle-size);
  border-radius: 50%;
  opacity: var(--circle-opacity);
  background: linear-gradient(var(--circle-gradient));
}
.circle-block--pattern .circle-block__el {
    background-image: var(--circle-pattern);
    background-position: center;
    background-size: cover;
  }
/* ----------------------------- *
 *          ANIMATIONS           *
 * ----------------------------- */
.animations [data-animations-target="element"] {
    transition: opacity 0.4s;
  }
.animations [data-animations-target="element"].is-hidden {
    opacity: 0;
    pointer-events: none;
  }
.animations .medium-container {
    overflow: hidden;
}
/* ------ UTILITIES ------ */
.u-absolute {
  position: absolute;
}
.u-relative {
  position: relative;
}
.-u-top-3xl {
  top: calc(var(--spacing-3xl) * -1);
}
.u-left-0 {
  left: 0;
}
.u-left-1\/2 {
  left: 50%;
}
.u-top-0 {
  top: 0;
}
.u-z-50 {
  z-index: 50;
}
.u-col-span-12 {
  grid-column: span 12 / span 12;
}
.u-col-span-6 {
  grid-column: span 6 / span 6;
}
.u-mt-xl {
  margin-top: var(--spacing-xl);
}
.u-flex {
  display: flex;
}
.u-grid {
  display: grid;
}
.u-hidden {
  display: none;
}
.u-aspect-\[572\/801\] {
  aspect-ratio: 572/801;
}
.u-aspect-\[796\/975\] {
  aspect-ratio: 796/975;
}
.u-h-full {
  height: 100%;
}
.u-w-1\/2 {
  width: 50%;
}
.u-w-3\/4 {
  width: 75%;
}
.u-w-full {
  width: 100%;
}
.-u-translate-y-full {
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.u-transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.u-items-start {
  align-items: flex-start;
}
.u-items-center {
  align-items: center;
}
.u-gap {
  gap: var(--gap);
}
.u-gap-y-2xl {
  row-gap: var(--spacing-2xl);
}
.u-gap-y-5xl {
  row-gap: var(--spacing-5xl);
}
.u-gap-y-lg {
  row-gap: var(--spacing-lg);
}
.u-border-0 {
  border-width: 0px;
}
.u-object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.u-px-\[4\.5rem\] {
  padding-left: 4.5rem;
  padding-right: 4.5rem;
}
.u-py-lg {
  padding-top: var(--spacing-lg);
  padding-bottom: var(--spacing-lg);
}
.u-pb-2xl {
  padding-bottom: var(--spacing-2xl);
}
.u-pb-lg {
  padding-bottom: var(--spacing-lg);
}
.u-pb-md {
  padding-bottom: var(--spacing-md);
}
.u-pb-xl {
  padding-bottom: var(--spacing-xl);
}
.u-pb-xs {
  padding-bottom: var(--spacing-xs);
}
.u-pl-\[7\.4rem\] {
  padding-left: 7.4rem;
}
.u-pl-\[9rem\] {
  padding-left: 9rem;
}
.u-pl-lg {
  padding-left: var(--spacing-lg);
}
.u-pr-\[7\.4rem\] {
  padding-right: 7.4rem;
}
.u-pt-5xl {
  padding-top: var(--spacing-5xl);
}
.u-pt-lg {
  padding-top: var(--spacing-lg);
}
.u-pt-md {
  padding-top: var(--spacing-md);
}
.u-pt-sm {
  padding-top: var(--spacing-sm);
}
.u-pt-xl {
  padding-top: var(--spacing-xl);
}
.u-text-grey {
  --tw-text-opacity: 1;
  color: rgb(var(--color-grey-rgb) / var(--tw-text-opacity, 1));
}
.u-text-white {
  --tw-text-opacity: 1;
  color: rgb(var(--color-white-rgb) / var(--tw-text-opacity, 1));
}
.u-transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
/* ------ PAGES ------ */
/* ----------------------------- *
 *              HOME             *
 * ----------------------------- */
.home-records {
  --content-white-width: 81.67vw;
  --logo-size: 10rem;
  --logo-position-bottom: calc(var(--spacing-sm) * -1);
  --logo-position-left: 0;

  @media (min-width: 1024px) {
    --logo-size: 32rem;
    --logo-position-bottom: calc(var(--spacing-2xl) * -1);
  }

  @media (min-width: 1440px) {
    --content-white-width: calc((100vw - var(--container-max-width)) / 2 + var(--container-max-width) * 81.67 / 100);
  }

  position: relative;
}
.home-records::before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 0; right: 0; bottom: 15.2rem; left: var(--container-padding-inline);
    background-color: var(--color-white);
  }
.home-records {

  @media (min-width: 1024px) {
    &::before {
      bottom: 0; left: auto;
      width: var(--content-white-width);
    }
  }
}
.home-records__container {
  @media (max-width: 1023px) {
    display: flex;
    flex-direction: column;
  }
}
.home-records__images {
  position: relative;
  padding: var(--spacing-lg) 0 0 var(--spacing-lg);

  @media (max-width: 1023px) {
    order: 99;
  }
}
.home-records__images::after {
    content: '';
    display: block;
    position: absolute;
    bottom: var(--logo-position-bottom);
    left: var(--logo-position-left);
    width: var(--logo-size);
    background: url(/build/images/letter-logo.4798fc2b.svg) no-repeat;
    background-size: contain;
    aspect-ratio: 1;
    mix-blend-mode: multiply;
  }
.home-records__images > * {
    flex-basis: 50%;
  }
.home-records__images {

  @media (min-width: 1024px) {
    padding: 0 5.2rem 0 11.6rem;

    > *:first-child {
      flex-basis: calc(332 / 628 * 100%);
    }

    > *:last-child {
      flex-basis: calc(280 / 628 * 100%);
    }
  }
}
/* ----------------------------- *
 *           LOOKBOOK            *
 * ----------------------------- */
.lookbook-footer {
  --letter-size: 14rem;
  --black-block-height: 44rem;
  --img-height: 35.8rem;

  @media (min-width: 1024px) {
    --letter-size: 24rem;
  }

  position: relative;
}
.lookbook-footer::before {
    content: '';
    display: block;
    position: absolute;
    top: 0; bottom: calc(var(--img-height) / 2); left: 0;
    width: 100%;
    background-color: var(--color-black);
  }
.lookbook-footer {

  @media (min-width: 1024px) {
    &::before {
      bottom: var(--spacing-5xl);
    }
  }
}
.lookbook-footer__container {
  position: relative;
  z-index: var(--z-index-start);
}
.lookbook-footer__text {
  @media (min-width: 1024px) {
    margin-top: calc(var(--black-block-height) / 2);
    transform: translateY(-50%);
  }
}
.lookbook-footer__image {
  position: relative;
  width: 25.3rem;
}
.lookbook-footer__image img {
    width: 100%;

    @media (min-width: 1024px) {
      width: auto;
    }
  }
.lookbook-footer__image::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 3rem; left: 20.3rem;
    width: var(--letter-size);
    aspect-ratio: 1;
    opacity: 0.5;
    background: url(/build/images/letter-logo.4798fc2b.svg) no-repeat;
    background-size: contain;
    mix-blend-mode: multiply;
  }
.lookbook-footer__image {

  @media (min-width: 1024px) {
    width: auto;

    &::after {
      left: 28.4rem;
    }
  }
}
/* ------ OVERRIDING SYLIUS  ------ */
/* ------ LAYOUT ------ */
/* ----------------------------- *
 *             HEADER            *
 * ----------------------------- */
body:not(.static-website) .site-header__container {
    padding-inline: 0;
  }
.site-header__no-space-end {
    padding-block-end: 0;
}
/* ----------------------------- *
 *          NAVIGATION           *
 * ----------------------------- */
.pusher > #menu .menu .item:active,
  .pusher > #menu .menu .item:focus-visible,
  .pusher > #menu .menu .item:hover {
    text-decoration: underline;
  }
header .ui.menu {
  margin-top: var(--spacing-md);
}
header .ui.menu::before {
    box-shadow: none;
  }
.ui.large.menu {
  font-size: 1.6rem;
}
.ui.menu {
  font-size: 1.4rem;
}
.ui.breadcrumb {
  margin-top: var(--spacing-lg);
  margin-bottom: 0;
  font-size: 1.4rem;
}
.ui.breadcrumb a {
    color: inherit;
    text-decoration: underline;
  }
.ui.breadcrumb a:active,
    .ui.breadcrumb a:focus-visible,
    .ui.breadcrumb a:hover {
      text-decoration: none;
    }
.ui.breadcrumb {

  @media (max-width: 767px) {
    padding: 0;
  }
}
.ui.menu .dropdown.item .menu {
    box-shadow: none;
    border-radius: none;
}
.ui.menu > .item {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.1em;
}
.ui.menu .ui.dropdown .menu > .item {
    letter-spacing: normal;
}
.ui.vertical.menu {
  background: transparent;
}
#sylius-cart-button {
  padding: 0 !important;
  border: 0 !important;
  font-weight: 700;
  color: var(--color-black) !important;
  background: transparent !important;
}
#sylius-cart-button .site-nav__link {
    padding-top: 0 !important;
  }
.cart.popup .item {
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
/* ----------------------------- *
 *             LAYOUT            *
 * ----------------------------- */
body *:not(i),
.ui,
.ui.header {
  font-family: var(--font-family-body) !important;
}
.ui.container {
  width: 100% !important;
  max-width: var(--container-max-width) !important;
  margin: 0 auto auto auto !important;
  padding-inline: var(--spacing-sm);

  @media (min-width: 1024px) {
    padding-inline: var(--spacing-lg);
  }
}
body.pushable, body.pushable .pusher {
  background-color: var(--body-background-color) !important;
}
body.pushable > div, body.pushable .pusher > div {
    margin-bottom: auto;
  }
.pusher > #menu::after {
  background-color: #FFF;
}
/* ------ UTILS ------ */
/* ----------------------------- *
 *            BUTTONS            *
 * ----------------------------- */
.ui.button,
.ui.basic.button,
.ui.labeled.button,
.ui.labeled.icon.button,
.buttons .ui.labeled.icon.button {
  --btn-padding-y: 1.4rem;
  --btn-padding-x: var(--spacing-md);
  --btn-font-size: 1.4rem;
  --btn-background-color: var(--color-white);
  --btn-color: var(--color-black);

  display: inline-block;
  padding: 0;
  border: none;
  background-color: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  transition: background-color 0.1s, color 0.1s;
  border: solid var(--color-black) 0.1rem;
  outline: 0;
  background-color: var(--btn-background-color);
  color: var(--btn-color);
  font-size: var(--btn-font-size);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
  border: solid var(--btn-color) 0.1rem !important;
  border-radius: 0 !important;
  color: var(--btn-color) !important;
  font-size: var(--btn-font-size) !important;
  font-weight: 700 !important;
}
.ui.button:focus-visible,
  .ui.button:hover,
  .ui.button:active,
  .ui.basic.button:focus-visible,
  .ui.basic.button:hover,
  .ui.basic.button:active,
  .ui.labeled.button:focus-visible,
  .ui.labeled.button:hover,
  .ui.labeled.button:active,
  .ui.labeled.icon.button:focus-visible,
  .ui.labeled.icon.button:hover,
  .ui.labeled.icon.button:active,
  .buttons .ui.labeled.icon.button:focus-visible,
  .buttons .ui.labeled.icon.button:hover,
  .buttons .ui.labeled.icon.button:active {
    background-color: var(--btn-color, var(--color-black)) !important;
    color: var(--btn-background-color, var(--color-white)) !important;
  }
.ui.button.primary,
.ui.basic.button.primary,
.ui.labeled.button.primary,
.ui.labeled.icon.button.primary,
.buttons .ui.labeled.icon.button.primary,
.ui.button.green,
.ui.basic.button.green,
.ui.labeled.button.green,
.ui.labeled.icon.button.green,
.buttons .ui.labeled.icon.button.green,
.ui.button.submit,
.ui.basic.button.submit,
.ui.labeled.button.submit,
.ui.labeled.icon.button.submit,
.buttons .ui.labeled.icon.button.submit {
  border-color: var(--color-black) !important;
  background-color: var(--btn-background-color) !important;
  color: var(--btn-color) !important;
}
.ui.button.primary:focus-visible,
  .ui.button.primary:hover,
  .ui.button.primary:active,
  .ui.basic.button.primary:focus-visible,
  .ui.basic.button.primary:hover,
  .ui.basic.button.primary:active,
  .ui.labeled.button.primary:focus-visible,
  .ui.labeled.button.primary:hover,
  .ui.labeled.button.primary:active,
  .ui.labeled.icon.button.primary:focus-visible,
  .ui.labeled.icon.button.primary:hover,
  .ui.labeled.icon.button.primary:active,
  .buttons .ui.labeled.icon.button.primary:focus-visible,
  .buttons .ui.labeled.icon.button.primary:hover,
  .buttons .ui.labeled.icon.button.primary:active,
  .ui.button.green:focus-visible,
  .ui.button.green:hover,
  .ui.button.green:active,
  .ui.basic.button.green:focus-visible,
  .ui.basic.button.green:hover,
  .ui.basic.button.green:active,
  .ui.labeled.button.green:focus-visible,
  .ui.labeled.button.green:hover,
  .ui.labeled.button.green:active,
  .ui.labeled.icon.button.green:focus-visible,
  .ui.labeled.icon.button.green:hover,
  .ui.labeled.icon.button.green:active,
  .buttons .ui.labeled.icon.button.green:focus-visible,
  .buttons .ui.labeled.icon.button.green:hover,
  .buttons .ui.labeled.icon.button.green:active,
  .ui.button.submit:focus-visible,
  .ui.button.submit:hover,
  .ui.button.submit:active,
  .ui.basic.button.submit:focus-visible,
  .ui.basic.button.submit:hover,
  .ui.basic.button.submit:active,
  .ui.labeled.button.submit:focus-visible,
  .ui.labeled.button.submit:hover,
  .ui.labeled.button.submit:active,
  .ui.labeled.icon.button.submit:focus-visible,
  .ui.labeled.icon.button.submit:hover,
  .ui.labeled.icon.button.submit:active,
  .buttons .ui.labeled.icon.button.submit:focus-visible,
  .buttons .ui.labeled.icon.button.submit:hover,
  .buttons .ui.labeled.icon.button.submit:active {
    background-color: var(--btn-color, var(--color-black)) !important;
    color: var(--btn-background-color, var(--color-white)) !important;
  }
.ui.basic.red.buttons .button, .ui.basic.red.button {
  border-color: var(--color-danger) !important;
  color: var(--color-danger) !important;
  box-shadow: none !important;
}
.ui.basic.red.buttons .button:focus-visible,
  .ui.basic.red.buttons .button:hover,
  .ui.basic.red.buttons .button:active,
  .ui.basic.red.button:focus-visible,
  .ui.basic.red.button:hover,
  .ui.basic.red.button:active {
    background-color: var(--color-danger) !important;
    color: var(--color-white) !important;
  }
.ui.button > .icon:not(.button) {
  opacity: 1;
}
.ui.button.button--link {
  padding: 0 !important;
  border: 0 !important;
  font-size: var(--font-size-sm) !important;
}
.ui.button.button--link:active,
  .ui.button.button--link:focus-visible,
  .ui.button.button--link:hover {
    text-decoration: underline;
    background-color: transparent !important;
    color: currentColor !important;
  }
/* ----------------------------- *
*             TABLES            *
* ----------------------------- */
.ui.table {
  background: transparent;
  font-size: var(--font-size-sm);
}
.ui.table thead th {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: var(--font-size-sm);
}
.ui.definition.table tr td:first-child:not(.ignored), .ui.definition.table tr td.definition {
  padding-inline: var(--spacing-sm);
  background: transparent;
  font-size: var(--font-size-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: var(--font-size-sm);
}
td[data-label] {
  @media (max-width: 767px) {
    padding-top: var(--spacing-xs) !important;
    padding-bottom: var(--spacing-xs) !important;
    text-align: left !important;

    &::before {
      content: attr(data-label);
    }
  }
}
/* ----------------------------- *
 *              FORMS            *
 * ----------------------------- */
.ui.input,
.ui.form input:not([type]),
.ui.form input[type="date"],
.ui.form input[type="datetime-local"],
.ui.form input[type="email"],
.ui.form input[type="number"],
.ui.form input[type="password"],
.ui.form input[type="search"],
.ui.form input[type="tel"],
.ui.form input[type="time"],
.ui.form input[type="text"],
.ui.form input[type="file"],
.ui.form input[type="url"],
.ui.form select,
.ui.input > input,
.ui.form textarea {
  color: var(--color-black);
  font-size: var(--font-size-sm);
}
.ui.input::-moz-placeholder, .ui.form input:not([type])::-moz-placeholder, .ui.form input[type="date"]::-moz-placeholder, .ui.form input[type="datetime-local"]::-moz-placeholder, .ui.form input[type="email"]::-moz-placeholder, .ui.form input[type="number"]::-moz-placeholder, .ui.form input[type="password"]::-moz-placeholder, .ui.form input[type="search"]::-moz-placeholder, .ui.form input[type="tel"]::-moz-placeholder, .ui.form input[type="time"]::-moz-placeholder, .ui.form input[type="text"]::-moz-placeholder, .ui.form input[type="file"]::-moz-placeholder, .ui.form input[type="url"]::-moz-placeholder, .ui.form select::-moz-placeholder, .ui.input > input::-moz-placeholder, .ui.form textarea::-moz-placeholder {
    color: var(--color-grey);
  }
.ui.input::placeholder, .ui.form input:not([type])::placeholder, .ui.form input[type="date"]::placeholder, .ui.form input[type="datetime-local"]::placeholder, .ui.form input[type="email"]::placeholder, .ui.form input[type="number"]::placeholder, .ui.form input[type="password"]::placeholder, .ui.form input[type="search"]::placeholder, .ui.form input[type="tel"]::placeholder, .ui.form input[type="time"]::placeholder, .ui.form input[type="text"]::placeholder, .ui.form input[type="file"]::placeholder, .ui.form input[type="url"]::placeholder, .ui.form select::placeholder, .ui.input > input::placeholder, .ui.form textarea::placeholder {
    color: var(--color-grey);
  }
.ui.input:focus, .ui.form input:not([type]):focus, .ui.form input[type="date"]:focus, .ui.form input[type="datetime-local"]:focus, .ui.form input[type="email"]:focus, .ui.form input[type="number"]:focus, .ui.form input[type="password"]:focus, .ui.form input[type="search"]:focus, .ui.form input[type="tel"]:focus, .ui.form input[type="time"]:focus, .ui.form input[type="text"]:focus, .ui.form input[type="file"]:focus, .ui.form input[type="url"]:focus, .ui.form select:focus, .ui.input > input:focus, .ui.form textarea:focus {
    border-color: var(--color-black) !important;
  }
.ui.action.input:not([class*="left action"]) > input:focus {
  border-right-color: var(--color-black) !important;
}
.ui.toggle.checkbox input:checked ~ .box:before,
.ui.toggle.checkbox input:checked ~ label:before,
.ui.toggle.checkbox input:focus:checked ~ .box:before,
.ui.toggle.checkbox input:focus:checked ~ label:before {
  background-color: var(--color-black) !important;
}
.ui.form .field > label {
  font-size: var(--font-size-default) !important;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}
.ui.labels .label, .ui.label {
  font-size: var(--font-size-sm);
  font-weight: 400;
}
.ui.large.labels .label, .ui.large.label {
  font-size: var(--font-size-default);
}
.ui.toggle.checkbox .box::before,
.ui.toggle.checkbox label::before {
  width: 4.3rem;
  height: 2.3rem;
}
.ui.toggle.checkbox .box::after,
.ui.toggle.checkbox label:after {
  width: 2.3rem;
  height: 2.3rem;
}
/* ----------------------------- *
 *             LINKS             *
 * ----------------------------- */
a:focus-visible,
a:hover,
a:active {
  color: inherit !important;
}
/* ----------------------------- *
 *          TYPOGRAPHY           *
 * ----------------------------- */
h1.ui.header {
  font-family: var(--font-family-heading) !important;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 6rem;
  }
}
h1.ui.header .content {
    font-family: var(--font-family-heading) !important;
  }
h1.ui.header .sub.header {
  color: var(--color-black);
  font-size: var(--font-size-default);
}
.ui.dividing.header {
  font-family: var(--font-family-heading) !important;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 6rem;
  }
  font-family: var(--font-family-heading) !important;
  font-size: 5rem !important;
}
.ui.horizontal.list .list > .item, .ui.horizontal.list > .item {
  font-size: var(--font-size-default);
}
.bold-text {
    font-weight: 600;
}
.medium-text {
    font-weight: 500 !important;
}
h1.ui.header .heading-font {
  font-family: var(--font-family-heading) !important;
}
.ui.horizontal.section.divider.header::after {
  display: none;
}
/* ------ COMPONENTS ------ */
/* ----------------------------- *
 *              TABS             *
 * ----------------------------- */
.ui.tabular.menu .item {
  font-size: var(--font-size-sm);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.ui.tabular.menu .item.active {
    margin: 0;
    background: transparent;
  }
/* ----------------------------- *
 *            MESSAGE            *
 * ----------------------------- */
.ui.info.message,
.ui.positive.message {
  --message-color: var(--color-black);
  --message-background-color: var(--color-white);

  padding: var(--spacing-md);
  border: solid var(--message-color) 0.1rem;
  background-color: var(--message-background-color);
  color: var(--message-color);
  box-shadow: none;
}
.ui.info.message {
  --message-color: var(--color-info);
  --message-background-color: var(--color-info-light);
}
.ui.positive.message {
  --message-color: var(--color-success);
}
.ui.message .header + p {
  margin-top: var(--spacing-xs);
}
.ui.info.message .header,
.ui.positive.message .header,
.ui.message .header:not(.ui) {
  color: var(--message-color);
  font-size: var(--font-size-sm);
  letter-spacing: 0.2em;;
  text-transform: uppercase;
}
.ui.message p {
  opacity: 1;
}
.ui.small.message {
  font-size: var(--font-size-xs);
}
.ui.message > .close.icon {
  top: var(--spacing-xs); right: var(--spacing-xs);
  width: 4rem;
  height: 4rem;
}
.ui.message > .close.icon::before,
  .ui.message > .close.icon::after {
    content: '';
    display: block;
    position: absolute;
    top: 1.7rem; left: 1.2rem;
    width: 1.5rem;
    height: 0.2rem;
    transform: rotate(45deg);
    background-color: var(--message-color) !important;
  }
.ui.message > .close.icon::after {
    transform: rotate(-45deg);
  }
.ui.purple.label {
  background-color: var(--color-purple) !important;
  border-color: var(--color-purple) !important;
  color: var(--color-black) !important;
}
/* ----------------------------- *
 *            CARDS              *
 * ----------------------------- */
.ui.cards > .card, .ui.card {
  border-radius: 0;
}
.ui.cards > .card > :first-child,
.ui.card > :first-child {
  border-radius: 0 !important;
}
.card .image,
.card .image .dimmer {
  border-radius: 0 !important;
}
/* ----------------------------- *
 *           DROPDOWN            *
 * ----------------------------- */
.ui.dropdown .menu > .item {
  font-size: var(--font-size-default)
}
.ui.inline.dropdown .menu {
  border-color: #FAFAFA;
  border-radius: 0;
}
/* ----------------------------- *
 *           ACCORDION            *
 * ----------------------------- */
.ui.accordion .title:not(.ui) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.2rem;
  padding-top: var(--spacing-sm);
  border-bottom: 0.1rem rgba(34, 36, 38, 0.15) solid;
}
/* ------ PAGES ------ */
/* ----------------------------- *
 *              HOME             *
 * ----------------------------- */
@media (min-width: 992px) {
  .homepage .featured.column .card .content {
    text-align: left;
  }
}
[data-route="sylius_shop_homepage"] .ui.huge.header {
  margin-top: var(--spacing-2xl);
  margin-bottom: var(--spacing-2xl);
  font-family: var(--font-family-heading) !important;
  font-size: 4rem !important;
  font-weight: 500;
  text-align: center;
}
[data-route="sylius_shop_homepage"] .ui.huge.header::after {
    display: none;
  }
[data-route="sylius_shop_homepage"] .ui.huge.header span {
    display: inline-block;
    margin-bottom: var(--spacing-sm);
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
  }
/* ----------------------------- *
 *            PRODUCT            *
 * ----------------------------- */
[data-route=sylius_shop_product_show] div.ui.container {
  text-align: center;
}
[data-route=sylius_shop_product_show] .ui.form .required.field > label:after {
  display: none;
}
[data-route=sylius_shop_product_show] .ui.breadcrumb {
  width: 100%;
  max-width: 111rem;
  margin: 0 auto !important;
  text-align: left;
}
#sylius-product-name {
  border: 0;
  font-family: var(--font-family-heading) !important;
  font-weight: 400;
  font-size: 6rem;
  line-height: 6rem;
}
[data-route=sylius_shop_product_show] .ui.two.column.stackable.grid > .column:first-child .image img {
  border-radius: 0;
}
#sylius-product-adding-to-cart .field {
    display: flex;
    flex-direction: column;
  }
#sylius-product-adding-to-cart #sylius_add_to_cart_cartItem_quantity {
    max-width: 10rem;
  }
#sylius-product-adding-to-cart button {
    --btn-background-color: var(--color-beige);
    --btn-color: var(--color-black);

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    width: 100%;
    margin-top: var(--spacing-md);
    padding-left: var(--btn-padding-x) !important;
  }
#sylius-product-adding-to-cart button > .icon {
      position: static;
      width: auto !important;
    }
#sylius-product-adding-to-cart button > .icon::before {
        position: static;
        transform: none;
      }
[data-route=sylius_shop_product_show] #sylius-product-selecting-variant {
  padding: 0;
}
.sylius-product-name {
  font-size: 1.4rem !important;
  letter-spacing: 0.16em;
  line-height: 1.6em !important;
  text-transform: uppercase;
}
.card .sylius-product-price {
  font-size: 1.4rem !important;
}
[data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu::before {
  display: none;
}
[data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu .item.active {
    border-color: var(--color-black);
  }
[data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu .item:active,
  [data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu .item:focus-visible,
  [data-route=sylius_shop_product_show] .ui.top.attached.large.tabular.menu .item:hover {
    border-width: 0.3rem !important;
  }
.image-product:not(:first-child) {
  margin-block-start: var(--spacing-md);
}
@media (max-width: 768px) {
  .grid-reverse-mobile {
    flex-direction: column-reverse !important;
  }
}
/* ----------------------------- *
*              LIST             *
* ----------------------------- */
[data-route=sylius_shop_product_index] .ui.monster.section.dividing.header {
  font-family: var(--font-family-heading) !important;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 6rem;
  }
  font-family: var(--font-family-heading) !important;
}
[data-route=sylius_shop_product_index] .twelve.wide.column .ui.segment {
  background: var(--color-white);
}
[data-route=sylius_shop_product_index] .twelve.wide.column .ui.segment input {
    background: var(--color-white);
    font-size: 1.5rem;
  }
[data-route=sylius_shop_product_index] .twelve.wide.column .ui.segment .button {
    background: var(--color-white) !important;
  }
[data-route=sylius_shop_product_index] .twelve.wide.column .ui.segment .button i {
      color: var(--color-black);
    }
[data-route=sylius_shop_product_index] .ui.fluid.vertical.menu .item.header {
  border-color: var(--color-white);
}
[data-route=sylius_shop_product_index] .ui.fluid.vertical.menu .item:not(.header) {
  padding: var(--spacing-sm) !important;
}
[data-route=sylius_shop_product_index] .ui.fluid.vertical.menu .item:not(.header)::before {
    display: none;
  }
.image.scaled {
  overflow: hidden;
}
.image.scaled img {
    transition: transform 0.25s;
  }
.image.scaled:hover img {
      transform: scale(1.05);
    }
/* ----------------------------- *
*              CART             *
* ----------------------------- */
.cart-header h1.ui.header .content {
  font-family: var(--font-family-heading) !important;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 6rem;
  }
    font-family: var(--font-family-heading) !important;
  }
.cart-header h1.ui.header > .icon + .content .sub.header {
    margin-top: var(--spacing-md);
    font-size: var(--font-size-default);
  }
#sylius-cart-items thead {
    @media (max-width: 767px) {
      display: none !important;
    }
  }
#sylius-cart-items tbody td {
    @media (max-width: 767px) {
      text-align: left;
    }
  }
.cart-header ~ .ui.grid {
  margin-bottom: var(--spacing-5xl);
}
[data-route=sylius_shop_cart_summary] .sylius-product-name {
  margin: 0;
}
[data-route=sylius_shop_cart_summary] .ui.horizontal.section.divider.header {
  font-family: var(--font-family-heading) !important;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;

  @media (min-width: 1024px) {
    font-size: 6rem;
  }
  font-family: var(--font-family-heading) !important;
  font-size: 3rem !important;
  text-align: left;

  @media (min-width: 1025px) {
    font-size: 4rem !important;
  }
}
[data-route=sylius_shop_cart_summary] .ui.header .sylius-product-variant-code {
  font-size: var(--font-size-sm);
}
[data-route=sylius_shop_cart_summary] .column:last-child .ui.dividing.header,
[data-route=sylius_shop_cart_save] .column:last-child .ui.dividing.header,
[data-route=sylius_shop_cart_checkout] .column:last-child .ui.dividing.header {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-family: var(--font-family-body) !important;
  margin-top: 1.8rem;
  border-color: var(--color-white) !important;
  font-size: var(--font-size-sm) !important;
}
[data-route=sylius_shop_cart_summary] .column:first-child .table thead th,
[data-route=sylius_shop_cart_save] .column:first-child .table thead th,
[data-route=sylius_shop_cart_checkout] .column:first-child .table thead th,
[data-route=sylius_shop_checkout_complete] form table thead th,
[data-route=sylius_shop_account_order_show] table thead th {
  border-color: var(--color-white) !important;
}
[data-route=sylius_shop_cart_summary] .five.column:last-child,
[data-route=sylius_shop_cart_save] .five.column:last-child,
[data-route=sylius_shop_cart_checkout] .five.column:last-child {
  @media (max-width: 1023px) {
    padding: 0 var(--spacing-sm) !important;
  }
}
/* ----------------------------- *
 *            CHECKOUT           *
 * ----------------------------- */
[data-route^=sylius_shop_checkout_] .ui.center.aligned.icon.header,
[data-route^=sylius_shop_checkout_] .ui.center.aligned.icon.header + .divider + .segment {
  background-color: var(--color-white);
}
[data-route^=sylius_shop_checkout_] .steps .step.completed i::before {
  color: var(--color-success) !important;
}
.ui.steps {
  border-radius: 0;
}
.ui.steps .step {
  justify-content: flex-start;
  gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg);
}
.ui.steps .step:first-child {
    border-radius: 0;
  }
.ui.steps .step .title {
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.2em;
  }
.ui.steps .step.active {
    background: #FAFAFA;
  }
.ui.steps .step.active::after {
      background: #FAFAFA;
    }
.ui.steps .step.active .title {
      color: var(--color-black) !important;
    }
.ui.steps .step .description {
    font-size: var(--font-size-sm);
  }
.ui.steps .step > .icon {
    margin-right: 0;
  }
.ui.items > .item > .content > .description {
  font-size: var(--font-size-sm);
}
form[name="sylius_checkout_complete"] .ui.dividing.header {
    font-family: var(--font-family-body) !important;
    font-size: var(--font-size-md) !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
  }
form[name="sylius_checkout_address"] #sylius-billing-address,
form[name="sylius_checkout_address"] #sylius-shipping-address {
  padding: var(--spacing-md);
  background-color: var(--color-white);
}
form[name="sylius_checkout_address"] #sylius-billing-address .ui.dividing.header, form[name="sylius_checkout_address"] #sylius-shipping-address .ui.dividing.header {
    margin-top: 0;
    margin-bottom: var(--spacing-md);
  }
[data-route^=sylius_shop_checkout_] .ui.center.aligned.icon.header,
[data-route^=sylius_shop_checkout_] .ui.center.aligned.icon.header + .divider + .segment {
  border-radius: 0;
}
[data-route=sylius_shop_checkout_complete] form > .ui.segment {
    margin-top: var(--spacing-md);
    border: 0;
    border-radius: 0;
    background-color: var(--color-white);
    box-shadow: none;
  }
[data-route=sylius_shop_checkout_complete] form > .ui.table {
    padding: var(--spacing-md);
    background-color: var(--color-white);
  }
[data-route=sylius_shop_checkout_complete] form > .ui.table thead {
      @media (max-width: 767px) {
        display: none;
      }
    }
[data-route=sylius_shop_checkout_complete] form > .ui.table thead th {
      border-color: var(--color-black) !important;
    }
/* ----------------------------- *
 *            CONTACT            *
 * ----------------------------- */
[data-route="sylius_shop_contact_request"] > div,
[data-route="sylius_shop_order_thank_you"] > div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.contact {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  background: url(/build/images/flowers-background-large.7eb0f105.webp) no-repeat center center/cover;
  padding: var(--spacing-4xl) 0 var(--spacing-4xl) 0;
}
.contact__content {
  padding: var(--spacing-xl) !important;
  background-color: var(--color-white);
}
.contact__header {
  margin-bottom: var(--spacing-md) !important;
}
/* ----------------------------- *
 *           THANK YOU            *
 * ----------------------------- */
[data-route="sylius_shop_register_thank_you"] > div {
  display: flex;
  flex-direction: column;
  flex: 1;
}
[data-route="sylius_shop_order_thank_you"] .sylius-flash-message {
  max-width: var(--container-max-width);
  margin-inline: auto !important;
}
.thankyou {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex: 1;
  background: url(/build/images/light-background.0e1f9767.webp) no-repeat center center/cover;
  padding: var(--spacing-4xl) 0 var(--spacing-4xl) 0;
}
.thankyou__content {
  padding: var(--spacing-xl) !important;
  background-color: var(--color-white);
}
.thankyou__header {
  text-align: center;
}
/* SEGMENT */
.ui.segments--unshadowed {
    box-shadow: none;
  }
.ui.segments .segment,
.ui.segment {
  background: transparent;
  font-size: var(--font-size-sm);
}
.ui.segments .segment--unshadowed, .ui.segment--unshadowed {
    box-shadow: none;
  }
.ui.segments .segment--borderless, .ui.segment--borderless {
    border: 0;
  }
.ui.segments .ui.segment--borderless {
    border: 0 !important;
  }
.focus\:u-translate-y-0:focus {
  --tw-translate-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media not all and (min-width: 64em) {
  .max-desktop\:u-h-\[4\.8rem\] {
    height: 4.8rem;
  }
}
@media (min-width: 48em) {
  .tablet\:u-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .tablet\:u-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .tablet\:u-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .tablet\:u-mt-5xl {
    margin-top: var(--spacing-5xl);
  }
  .tablet\:u-px-2xl {
    padding-left: var(--spacing-2xl);
    padding-right: var(--spacing-2xl);
  }
  .tablet\:u-pl-2xl {
    padding-left: var(--spacing-2xl);
  }
  .tablet\:u-pl-5xl {
    padding-left: var(--spacing-5xl);
  }
  .tablet\:u-pr-0 {
    padding-right: 0;
  }
  .tablet\:u-pr-2xl {
    padding-right: var(--spacing-2xl);
  }
  .tablet\:u-pr-5xl {
    padding-right: var(--spacing-5xl);
  }
  .tablet\:u-pt-5xl {
    padding-top: var(--spacing-5xl);
  }
  .tablet\:u-pt-7xl {
    padding-top: var(--spacing-7xl);
  }
}
@media (min-width: 64em) {
  .desktop\:u-order-last {
    order: 9999;
  }
  .desktop\:u-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .desktop\:u-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .desktop\:u-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .desktop\:u-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .desktop\:u-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .desktop\:u-col-start-7 {
    grid-column-start: 7;
  }
  .desktop\:u-col-end-13 {
    grid-column-end: 13;
  }
  .desktop\:u-ml-0 {
    margin-left: 0;
  }
  .desktop\:u-mr-auto {
    margin-right: auto;
  }
  .desktop\:u-mt-0 {
    margin-top: 0;
  }
  .desktop\:u-mt-5xl {
    margin-top: var(--spacing-5xl);
  }
  .desktop\:u-mt-\[24rem\] {
    margin-top: 24rem;
  }
  .desktop\:u-items-center {
    align-items: center;
  }
  .desktop\:u-gap-y-2xl {
    row-gap: var(--spacing-2xl);
  }
  .desktop\:u-gap-y-5xl {
    row-gap: var(--spacing-5xl);
  }
  .desktop\:u-px-6xl {
    padding-left: var(--spacing-6xl);
    padding-right: var(--spacing-6xl);
  }
  .desktop\:u-px-sm {
    padding-left: var(--spacing-sm);
    padding-right: var(--spacing-sm);
  }
  .desktop\:u-py-\[10rem\] {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  .desktop\:u-pb-0 {
    padding-bottom: 0;
  }
  .desktop\:u-pb-5xl {
    padding-bottom: var(--spacing-5xl);
  }
  .desktop\:u-pb-\[11\.2rem\] {
    padding-bottom: 11.2rem;
  }
  .desktop\:u-pb-md {
    padding-bottom: var(--spacing-md);
  }
  .desktop\:u-pb-sm {
    padding-bottom: var(--spacing-sm);
  }
  .desktop\:u-pl-7xl {
    padding-left: var(--spacing-7xl);
  }
  .desktop\:u-pl-sm {
    padding-left: var(--spacing-sm);
  }
  .desktop\:u-pr-2xl {
    padding-right: var(--spacing-2xl);
  }
  .desktop\:u-pr-7xl {
    padding-right: var(--spacing-7xl);
  }
  .desktop\:u-pr-\[12\.8rem\] {
    padding-right: 12.8rem;
  }
  .desktop\:u-pt-2xl {
    padding-top: var(--spacing-2xl);
  }
  .desktop\:u-pt-3xl {
    padding-top: var(--spacing-3xl);
  }
  .desktop\:u-pt-4xl {
    padding-top: var(--spacing-4xl);
  }
  .desktop\:u-pt-5xl {
    padding-top: var(--spacing-5xl);
  }
  .desktop\:u-pt-\[19\.5rem\] {
    padding-top: 19.5rem;
  }
  .desktop\:u-pt-\[24rem\] {
    padding-top: 24rem;
  }
  .desktop\:u-pt-lg {
    padding-top: var(--spacing-lg);
  }
}
@media (min-width: 90em) {
  .large\:u-left-\[36\.4rem\] {
    left: 36.4rem;
  }
  .large\:u-block {
    display: block;
  }
  .large\:u-w-auto {
    width: auto;
  }
  .large\:u-px-6xl {
    padding-left: var(--spacing-6xl);
    padding-right: var(--spacing-6xl);
  }
  .large\:u-pl-6xl {
    padding-left: var(--spacing-6xl);
  }
  .large\:u-pr-6xl {
    padding-right: var(--spacing-6xl);
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFBO0FBQWQ7O0NBQWM7QUFBZDs7RUFBQSxtQkFBYztBQUFBO0FBQWQ7Ozs7O0NBQWM7QUFBZDs7OztFQUFBLCtHQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLCtCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWMsRUFBZCxNQUFjO0FBQUE7QUFBZDs7Q0FBYztBQUFkO0VBQUEsY0FBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDs7RUFBQSxjQUFjO0VBQWQsY0FBYztFQUFkLGtCQUFjO0VBQWQsd0JBQWM7QUFBQTtBQUFkO0VBQUEsZUFBYztBQUFBO0FBQWQ7RUFBQSxXQUFjO0FBQUE7QUFBZDs7OztDQUFjO0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7Ozs7Q0FBYztBQUFkOzs7OztFQUFBLG9CQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdDQUFjLEVBQWQsTUFBYztFQUFkLGVBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0VBQWQsdUJBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxTQUFjLEVBQWQsTUFBYztFQUFkLFVBQWMsRUFBZCxNQUFjO0FBQUE7QUFBZDs7Q0FBYztBQUFkOztFQUFBLG9CQUFjO0FBQUE7QUFBZDs7O0NBQWM7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDtFQUFBLGFBQWM7QUFBQTtBQUFkOztDQUFjO0FBQWQ7RUFBQSxnQkFBYztBQUFBO0FBQWQ7O0NBQWM7QUFBZDtFQUFBLHdCQUFjO0FBQUE7QUFBZDs7Q0FBYztBQUFkOztFQUFBLFlBQWM7QUFBQTtBQUFkOzs7Q0FBYztBQUFkO0VBQUEsNkJBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFB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Q0E7RUFBQTtJQUFBO0VBcUNBO0FBQUE7QUFyQ0E7RUFBQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUEsZ0NBcUNBO0lBckNBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7QUFBQTtBQXJDQTtFQUFBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQSxnQ0FxQ0E7SUFyQ0E7RUFxQ0E7RUFyQ0E7SUFBQSwrQkFxQ0E7SUFyQ0E7RUFxQ0E7RUFyQ0E7SUFBQSxrQkFxQ0E7SUFyQ0E7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0FBQUE7QUFyQ0E7RUFBQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7RUFyQ0E7SUFBQTtFQXFDQTtFQXJDQTtJQUFBLGdDQXFDQTtJQXJDQTtFQXFDQTtFQXJDQTtJQUFBO0VBcUNBO0VBckNBO0lBQUE7RUFxQ0E7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3RhaWx3aW5kY3NzL2Jhc2UuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2Jhc2UvX2ZvbnRzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9iYXNlL19yZXNldC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvbGF5b3V0L19sYXlvdXQuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2xheW91dC9faGVhZGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9sYXlvdXQvX21lbnUtYnRuLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy91dGlscy9fYnV0dG9ucy5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvbGF5b3V0L19uYXYuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2xheW91dC9fZm9vdGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy91dGlscy9fdHlwb2dyYXBoeS5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvdXRpbHMvX2dyaWQuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2NvbXBvbmVudHMvX2hlcm8uY3NzIiwid2VicGFjazovLy88bm8gc291cmNlPiIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9jb21wb25lbnRzL190eHQtaW1hZ2VzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9jb21wb25lbnRzL19sb29rLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9jb21wb25lbnRzL19jaXJjbGUtYmxvY2suY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2NvbXBvbmVudHMvX2FuaW1hdGlvbnMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy90YWlsd2luZGNzcy91dGlsaXRpZXMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL3BhZ2VzL19ob21lLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9wYWdlcy9fbG9va2Jvb2suY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL19lc2hvcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvZXNob3AvbGF5b3V0L19oZWFkZXIuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL2xheW91dC9fbmF2aWdhdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvZXNob3AvbGF5b3V0L19sYXlvdXQuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL3V0aWxzL19idXR0b25zLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9lc2hvcC91dGlscy9fdGFibGVzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9lc2hvcC91dGlscy9fZm9ybXMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL3V0aWxzL19saW5rcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvZXNob3AvdXRpbHMvX3R5cG9ncmFwaHkuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL2NvbXBvbmVudHMvX3RhYnMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL2NvbXBvbmVudHMvX21lc3NhZ2UuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL2NvbXBvbmVudHMvX2NhcmRzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9lc2hvcC9jb21wb25lbnRzL19kcm9wZG93bi5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvZXNob3AvY29tcG9uZW50cy9fYWNjb3JkaW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9lc2hvcC9wYWdlcy9faG9tZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvZXNob3AvcGFnZXMvX3Byb2R1Y3QuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvY3NzL2VzaG9wL3BhZ2VzL19saXN0LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9lc2hvcC9wYWdlcy9fY2FydC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvZXNob3AvcGFnZXMvX2NoZWNrb3V0LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Nzcy9lc2hvcC9wYWdlcy9fY29udGFjdC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2FwcC9jc3MvZXNob3AvcGFnZXMvX3RoYW5reW91LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLS0gQ09ORklHIC0tLS0tLSAqL1xuQGltcG9ydCAnY29uZmlnL192YXJpYWJsZXMnO1xuXG4vKiAtLS0tLS0gQkFTRSAtLS0tLS0gKi9cbkBpbXBvcnQgJ3RhaWx3aW5kY3NzL2Jhc2UnO1xuQGltcG9ydCAnYmFzZS9fZm9udHMnO1xuQGltcG9ydCAnYmFzZS9fcmVzZXQnO1xuXG4vKiAtLS0tLS0gTEFZT1VUIC0tLS0tLSAqL1xuQGltcG9ydCAnbGF5b3V0L19sYXlvdXQnO1xuQGltcG9ydCAnbGF5b3V0L19oZWFkZXInO1xuQGltcG9ydCAnbGF5b3V0L19tZW51LWJ0bic7XG5AaW1wb3J0ICdsYXlvdXQvX25hdic7XG5AaW1wb3J0ICdsYXlvdXQvX2Zvb3Rlcic7XG5cbi8qIC0tLS0tLSBVVElMUyAtLS0tLS0gKi9cbkBpbXBvcnQgJ3V0aWxzL190eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ3V0aWxzL19idXR0b25zJztcbkBpbXBvcnQgJ3V0aWxzL19ncmlkJztcblxuLyogLS0tLS0tIENPTVBPTkVOVFMgLS0tLS0tICovXG5AaW1wb3J0ICd0YWlsd2luZGNzcy9jb21wb25lbnRzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2hlcm8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9fdHh0LWltYWdlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL19sb29rJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2NpcmNsZS1ibG9jayc7XG5AaW1wb3J0ICdjb21wb25lbnRzL19hbmltYXRpb25zJztcblxuLyogLS0tLS0tIFVUSUxJVElFUyAtLS0tLS0gKi9cbkBpbXBvcnQgJ3RhaWx3aW5kY3NzL3V0aWxpdGllcyc7XG5cbi8qIC0tLS0tLSBQQUdFUyAtLS0tLS0gKi9cbkBpbXBvcnQgJ3BhZ2VzL19ob21lJztcbkBpbXBvcnQgJ3BhZ2VzL19sb29rYm9vayc7XG5cbi8qIC0tLS0tLSBPVkVSUklESU5HIFNZTElVUyAgLS0tLS0tICovXG5AaW1wb3J0ICdlc2hvcC9fZXNob3AnO1xuIiwiQHRhaWx3aW5kIGJhc2U7XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgICAgRk9OVFMgICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0gSk9TVCAtLS0tLS0gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBKb3N0O1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi4vZm9udHMvam9zdC9qb3N0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogSm9zdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc3Qvam9zdC1ib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8qIC0tLS0tLSBDT1JNT1JBTlQgLS0tLS0tICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQ29ybW9yYW50O1xuICBmb250LXdlaWdodDogNTAwO1xuICBzcmM6IHVybCgnLi4vZm9udHMvY29ybW9yYW50L2Nvcm1vcmFudC1tZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbiIsIi8qXG4gIDEuIFVzZSBhIG1vcmUtaW50dWl0aXZlIGJveC1zaXppbmcgbW9kZWwuXG4qL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAgMi4gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luXG4qL1xuKiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLypcbiAgVHlwb2dyYXBoaWMgdHdlYWtzIVxuICAzLiBBZGQgYWNjZXNzaWJsZSBsaW5lLWhlaWdodFxuICA0LiBJbXByb3ZlIHRleHQgcmVuZGVyaW5nXG4qL1xuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKlxuICA1LiBJbXByb3ZlIG1lZGlhIGRlZmF1bHRzXG4qL1xuaW1nLFxucGljdHVyZSxcbnZpZGVvLFxuY2FudmFzLFxuc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLypcbiAgNi4gUmVtb3ZlIGJ1aWx0LWluIGZvcm0gdHlwb2dyYXBoeSBzdHlsZXNcbiovXG5pbnB1dCxcbmJ1dHRvbixcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLypcbiAgNy4gQXZvaWQgdGV4dCBvdmVyZmxvd3NcbiovXG5wLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgTEFZT1VUICAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYm9keSk7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvZHktYmFja2dyb3VuZC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuXG4gICYuc3RhdGljLXdlYnNpdGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xuICB9XG5cbiAgJi5oYXMtbWVudS1vcGVuZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLm1lZGl1bS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWF4LXdpZHRoKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zcGFjaW5nLXNtKTtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zcGFjaW5nLWxnKTtcbiAgfVxufVxuXG4uc21hbGwtY29udGFpbmVyIHtcbiAgQGluc2VydCAubWVkaXVtLWNvbnRhaW5lcjtcbiAgbWF4LXdpZHRoOiA5Ny42cmVtO1xufVxuXG4uaG9tZXBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgICBIRUFERVIgICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWhlYWRlcik7XG4gIHRvcDogMDtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNwYWNpbmctc20pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZWlnZSk7XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLS1vdmVyIHtcbiAgICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwOyBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtaGVhZGVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwLjRyZW0gdmFyKC0tc3BhY2luZy14cykgMC40cmVtIHZhcigtLXNwYWNpbmctc20pO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZCkgdmFyKC0tc3BhY2luZy1sZyk7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMS4ycmVtO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgd2lkdGg6IDE4cmVtO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgIE1FTlUgQlROICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuIC5tZW51LWJ0biB7XG4gIC0tbWVudS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gIC0tZWFzZS1pbi1mdW5jdGlvbjogZWFzZUluUXVhcnQ7XG4gIC0tZWFzZS1vdXQtZnVuY3Rpb246IGVhc2VPdXRRdWFydDtcbiAgLS1tZW51LWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tbWVudS1saW5lLXdpZHRoOiAxLjhyZW07XG4gIC0tbWVudS1saW5lLWhlaWdodDogMC4ycmVtO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIEBpbnNlcnQgLnJlc2V0LWJ0bjtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogNHJlbTtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm1lbnUtYnRuX19pbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tbWVudS1saW5lLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZW51LWxpbmUtaGVpZ2h0KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLW1lbnUtdHJhbnNpdGlvbi1kdXJhdGlvbikgdmFyKC0tZWFzZS1pbi1mdW5jdGlvbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1lbnUtY29sb3IpO1xufVxuXG4ubWVudS1idG5fX2lubmVyOjpiZWZvcmUsXG4ubWVudS1idG5fX2lubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IHZhcigtLW1lbnUtbGluZS13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tbWVudS1saW5lLWhlaWdodCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZW51LWNvbG9yKTtcbn1cblxuLm1lbnUtYnRuX19pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAtMC41cmVtO1xuICB0cmFuc2l0aW9uOiB0b3AgdmFyKC0tbWVudS10cmFuc2l0aW9uLWR1cmF0aW9uKSAwLjEycyBlYXNlLCBvcGFjaXR5IHZhcigtLW1lbnUtdHJhbnNpdGlvbi1kdXJhdGlvbikgZWFzZTtcbn1cblxuLm1lbnUtYnRuX19pbm5lcjo6YWZ0ZXIge1xuICB0b3A6IDAuNXJlbTtcbiAgdHJhbnNpdGlvbjogdG9wIHZhcigtLW1lbnUtdHJhbnNpdGlvbi1kdXJhdGlvbikgMC4xMnMgZWFzZSwgdHJhbnNmb3JtIHZhcigtLW1lbnUtdHJhbnNpdGlvbi1kdXJhdGlvbikgdmFyKC0tZWFzZS1pbi1mdW5jdGlvbik7XG59XG5cbi5tZW51LWJ0blthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIC5tZW51LWJ0bl9faW5uZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZWFzZS1vdXQtZnVuY3Rpb24pO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRvcCB2YXIoLS1tZW51LXRyYW5zaXRpb24tZHVyYXRpb24pIGVhc2UsIG9wYWNpdHkgdmFyKC0tbWVudS10cmFuc2l0aW9uLWR1cmF0aW9uKSAwLjEycyBlYXNlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdG9wIHZhcigtLW1lbnUtdHJhbnNpdGlvbi1kdXJhdGlvbikgZWFzZSwgdHJhbnNmb3JtIHZhcigtLW1lbnUtdHJhbnNpdGlvbi1kdXJhdGlvbikgMC4xMnMgdmFyKC0tZWFzZS1vdXQtZnVuY3Rpb24pO1xuICAgIH1cbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICBCVVRUT05TICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnJlc2V0LWJ0biB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idG4ge1xuICAtLWJ0bi1wYWRkaW5nLXk6IDEuNHJlbTtcbiAgLS1idG4tcGFkZGluZy14OiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgLS1idG4tZm9udC1zaXplOiAxLjRyZW07XG4gIC0tYnRuLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1idG4tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbnNlcnQgLnJlc2V0LWJ0bjtcbiAgcGFkZGluZzogdmFyKC0tYnRuLXBhZGRpbmcteSkgdmFyKC0tYnRuLXBhZGRpbmcteCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcywgY29sb3IgMC4xcztcbiAgYm9yZGVyOiBzb2xpZCB2YXIoLS1jb2xvci1ibGFjaykgMC4xcmVtO1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1idG4tY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLWJ0bi1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgJjpmb2N1cy12aXNpYmxlLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWNvbG9yLCB2YXIoLS1jb2xvci1ibGFjaykpO1xuICAgIGNvbG9yOiB2YXIoLS1idG4tYmFja2dyb3VuZC1jb2xvciwgdmFyKC0tY29sb3Itd2hpdGUpKTtcbiAgfVxufVxuXG4uYnRuLS1iZWlnZSB7XG4gIC0tYnRuLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJlaWdlKTtcbiAgLS1idG4tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cblxuLmJ0bi0tc21hbGwge1xuICAtLWJ0bi1wYWRkaW5nLXk6IDEuMnJlbTtcbiAgLS1idG4tcGFkZGluZy14OiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgLS1idG4tZm9udC1zaXplOiAxLjJyZW07XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICAgIE5BViAgICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNpdGUtbmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiB2YXIoLS16LWluZGV4LW1lbnUpO1xuICB0b3A6IDYuNHJlbTsgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNHhsKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmVpZ2UpO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uc2l0ZS1uYXZfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNpbmctMnhsKTtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTV4bCk7XG4gIH1cbn1cblxuLnNpdGUtbmF2X19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2l0ZS1uYXZfX3BhcmVudC1saW5rIHtcbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7IGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy8vaWNvbnMvY2hldnJvbi5zdmcnKSBuby1yZXBlYXQ7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlLW5hdl9fc3VibGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2luZy0yeGwpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTJ4bCkgMCAwIHZhcigtLXNwYWNpbmctbGcpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgdmFyKC0tc3BhY2luZy1zbSkpOyByaWdodDogMDtcbiAgICBnYXA6IHZhcigtLXNwYWNpbmctc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbWQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycmVtKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5zaXRlLW5hdl9faXRlbS0tcGFyZW50OmhvdmVyIC5zaXRlLW5hdl9fc3VibGlzdCxcbi5zaXRlLW5hdl9faXRlbS0tcGFyZW50OmZvY3VzIC5zaXRlLW5hdl9fc3VibGlzdCxcbi5zaXRlLW5hdl9fc3VibGlzdDpoYXMoKjpmb2N1cykge1xuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG59XG5cbi5zaXRlLW5hdl9faXRlbS0tcGFyZW50OmhvdmVyIC5zaXRlLW5hdl9fcGFyZW50LWxpbmssXG4uc2l0ZS1uYXZfX2l0ZW0tLXBhcmVudDpmb2N1cyAuc2l0ZS1uYXZfX3BhcmVudC1saW5rIHtcbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAmOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1uYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHMpIDA7XG4gIG91dGxpbmU6IDA7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7IGxlZnQ6IDA7XG4gICAgd2lkdGg6IDUuNnJlbTtcbiAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlT3V0UXVhZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUsXG4gICY6YWN0aXZlLFxuICAmLmlzLXNlbGVjdGVkIHtcbiAgICAmOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG4gIH1cblxuICAmLmlzLXNlbGVjdGVkOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IGF1dG87XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgIEZPT1RFUiAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zaXRlLWZvb3RlciB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3BhY2luZy14bCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICBmb250LXNpemU6IDEuMnJlbTtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3BhY2luZy01eGwpO1xuICB9XG59XG5cbi5zaXRlLWZvb3Rlcl9fbm8tc3BhY2Utc3RhcnQge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbn1cblxuLnNpdGUtZm9vdGVyX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHJvdy1nYXA6IDEuNHJlbTtcbiAgcGFkZGluZzogMC42cmVtIDIuMnJlbSB2YXIoLS1zcGFjaW5nLXNtKSB2YXIoLS1zcGFjaW5nLWxnKTtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy0yeGwpO1xuICAgIHBhZGRpbmc6IDJyZW0gMi4ycmVtIDJyZW0gdmFyKC0tc3BhY2luZy1sZyk7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyX19sb2dvIHtcbiAgd2lkdGg6IDlyZW07XG59XG5cbi5zaXRlLWZvb3Rlcl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMi4ycmVtO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgb3JkZXI6IDk5OTtcbiAgfVxufVxuXG4uc2l0ZS1mb290ZXJfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJjpub3QoLnNpdGUtZm9vdGVyX19saW5rLS1pY29uKSB7XG4gICAgb3V0bGluZTogMDtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gICYtLWljb24ge1xuICAgIG1pbi13aWR0aDogNHJlbTtcbiAgICBtaW4taGVpZ2h0OiA0cmVtO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICBUWVBPR1JBUEhZICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc3VydGl0bGUge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWFpbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDUuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDAuODtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIGZvbnQtc2l6ZTogMTEuMnJlbTtcbiAgfVxufVxuXG4uYmlnLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBmb250LXNpemU6IDE0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIH1cbn1cblxuLnNlY29uZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgZm9udC1zaXplOiA4cmVtO1xuICB9XG59XG5cbi5pbnRlcm1lZGlhdGUtdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZykgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgfVxufVxuXG4udGhpcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZykgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAzLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4udGV4dC1jb250ZW50IHtcbiAgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgfVxufVxuXG4udGV4dC1sZWFkIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG5cbiAgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICAgIEdSSUQgICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmdyaWQge1xuICAtLWdyaWQtbmItY29sdW1uczogMTI7XG4gIC0tZ3JpZC1jb2x1bS1nYXA6IHZhcigtLXNwYWNpbmctc20pO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ncmlkLWNvbHVtbi1nYXApO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1ncmlkLW5iLWNvbHVtbnMpLCAxZnIpO1xufVxuXG4uZ3JpZC0tZGVza3RvcCB7XG4gIEBpbmNsdWRlLW1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgIEhFUk8gICAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5oZXJvIHtcbiAgLS12aWRlby13aWR0aDogY2FsYygoMTAwdncgLSB2YXIoLS1jb250YWluZXItbWF4LXdpZHRoKSkgLyAyICsgdmFyKC0tY29udGFpbmVyLW1heC13aWR0aCkgKiA1Ny4xNTMgLyAxMDApO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIGhlaWdodDogOTB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtc3RhcnQpO1xuICAgICAgYm90dG9tOiAyNS4zJTsgbGVmdDogLTExLjVyZW07XG4gICAgICB3aWR0aDogMjNyZW07XG4gICAgICBoZWlnaHQ6IDI0cmVtO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvL2RlY29yYXRpb24vZmxvd2VyLnBuZycpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwOyBsZWZ0OiB2YXIoLS12aWRlby13aWR0aCk7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXZpZGVvLXdpZHRoKSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy8vZGVjb3JhdGlvbi9mbG93ZXJzLWJhY2tncm91bmQud2VicCcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4uaGVyb19fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4uaGVyb19fdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAzNzUvNDQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tdmlkZW8td2lkdGgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IGluaXRpYWw7XG4gIH1cblxuICB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG59XG5cbi5oZXJvX19jb250ZW50LWdyaWQge1xuICBwYWRkaW5nLWJsb2NrLWVuZDogNy4zcmVtO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy8vZGVjb3JhdGlvbi9mbG93ZXJzLWJhY2tncm91bmQud2VicCcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvdmVyO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4uaGVyb19fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogLTMuNXJlbTtcbiAgbWFyZ2luLWlubGluZTogdmFyKC0tc3BhY2luZy1zbSk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc20pIHZhcigtLXNwYWNpbmctbWQpIHZhcigtLXNwYWNpbmctbGcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMi40cmVtOyByaWdodDogLTAuOHJlbTtcbiAgICB3aWR0aDogNS40cmVtO1xuICAgIGhlaWdodDogNS42cmVtO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzLy9kZWNvcmF0aW9uL2Zsb3dlci5wbmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy14bCkgdmFyKC0tc3BhY2luZy00eGwpIHZhcigtLXNwYWNpbmctMnhsKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IC03cmVtOyByaWdodDogYXV0bzsgbGVmdDogLTYuN3JlbTtcbiAgICAgIHdpZHRoOiAxMy40cmVtO1xuICAgICAgaGVpZ2h0OiAxNHJlbTtcbiAgICB9XG4gIH1cbn1cbiIsbnVsbCwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgIFRYVCBJTUFHRVMgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnR4dC1pbWFnZXMge1xuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIG1heC13aWR0aDogNDQuOHJlbTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG59XG5cbi50eHQtaW1hZ2VzLWxhcmdlIHtcbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBtYXgtd2lkdGg6IDY3LjJyZW07XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxufVxuXG4udHh0LWltYWdlc19fdGV4dCB7XG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNwYWNpbmctc20pO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tc3BhY2luZy1sZyk7XG4gIH1cbn1cblxuLnR4dC1pbWFnZXNfX2J0biB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3BhY2luZy1zbSk7XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNwYWNpbmctbGcpO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgICBMT09LICAgICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG9va19fdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2luZy14cyk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXNtKTtcbn1cblxuLmxvb2tfX21hZGVpbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICBDSVJDTEUgQkxPQ0sgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNpcmNsZS1ibG9jayB7XG4gIC0tY2lyY2xlLXRvcC1wb3NpdGlvbjogLTUuNnJlbTtcbiAgLS1jaXJjbGUtcmlnaHQtcG9zaXRpb246IGF1dG87XG4gIC0tY2lyY2xlLXgtc2hpZnQ6IC00LjVyZW07XG4gIC0tY2lyY2xlLWxlZnQtcG9zaXRpb246IHZhcigtLWNpcmNsZS14LXNoaWZ0KTtcbiAgLS1jaXJjbGUtc2l6ZTogMjUuM3JlbTtcbiAgLS1jaXJjbGUtb3BhY2l0eTogMTtcbiAgLS1jaXJjbGUtZ3JhZGllbnQ6IDMxNWRlZywgI0ZGQkU2OSAwJSwgI0ZGQkZFMiAxMDAlO1xuXG4gICYtLWxhcmdlIHtcbiAgICAtLWNpcmNsZS14LXNoaWZ0OiAtMjAuNXJlbTtcbiAgICAtLWNpcmNsZS10b3AtcG9zaXRpb246IC0xNi40cmVtO1xuICAgIC0tY2lyY2xlLXNpemU6IDM1cmVtO1xuICB9XG5cbiAgJi0tYmx1ZSB7XG4gICAgLS1jaXJjbGUtb3BhY2l0eTogMC4yO1xuICAgIC0tY2lyY2xlLWdyYWRpZW50OiAzMTVkZWcsICMyQTY3OTAgMCUsICNEMkQzQ0IgMTAwJTtcbiAgfVxuXG4gICYtLWZ1Y2hzaWEge1xuICAgIC0tY2lyY2xlLW9wYWNpdHk6IDAuNjtcbiAgICAtLWNpcmNsZS1ncmFkaWVudDogMzE1ZGVnLCAjRkZENkRFIDAlLCAjRkU2Q0FEIDEwMCU7XG4gIH1cblxuICAmLS1uYXZ5IHtcbiAgICAtLWNpcmNsZS1vcGFjaXR5OiAwLjg7XG4gICAgLS1jaXJjbGUtZ3JhZGllbnQ6IDMxNWRlZywgI0RDRUJGRSAwJSwgIzIzMjM0RiAxMDAlO1xuICB9XG5cbiAgJi0tcmlnaHQge1xuICAgIC0tY2lyY2xlLXJpZ2h0LXBvc2l0aW9uOiB2YXIoLS1jaXJjbGUteC1zaGlmdCk7XG4gICAgLS1jaXJjbGUtbGVmdC1wb3NpdGlvbjogYXV0bztcbiAgfVxuXG4gICYtLWdvdWFjaGUge1xuICAgIC0tY2lyY2xlLXBhdHRlcm46IHVybCgnLi4vaW1hZ2VzLy9kZWNvcmF0aW9uL2dvdWFjaGUud2VicCcpO1xuICB9XG5cbiAgJi0tb21icmVsbGVzIHtcbiAgICAtLWNpcmNsZS1vcGFjaXR5OiAwLjg7XG4gICAgLS1jaXJjbGUtcGF0dGVybjogdXJsKCcuLi9pbWFnZXMvL2RlY29yYXRpb24vb21icmVsbGVzLndlYnAnKTtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgLmNpcmNsZS1ibG9jayB7XG4gICAgLS1jaXJjbGUtdG9wLXBvc2l0aW9uOiAtMTUuN3JlbTtcbiAgICAtLWNpcmNsZS1zaXplOiA1MHJlbTtcbiAgICAtLWNpcmNsZS14LXNoaWZ0OiAtMTEuNnJlbTtcblxuICAgICYtLWxhcmdlIHtcbiAgICAgIC0tY2lyY2xlLXRvcC1wb3NpdGlvbjogLTEwLjRyZW07XG4gICAgfVxuICB9XG59XG5cbi5jaXJjbGUtYmxvY2tfX2VsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiB2YXIoLS1jaXJjbGUtdG9wLXBvc2l0aW9uKTtcbiAgcmlnaHQ6IHZhcigtLWNpcmNsZS1yaWdodC1wb3NpdGlvbik7XG4gIGxlZnQ6IHZhcigtLWNpcmNsZS1sZWZ0LXBvc2l0aW9uKTtcbiAgd2lkdGg6IHZhcigtLWNpcmNsZS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1jaXJjbGUtc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogdmFyKC0tY2lyY2xlLW9wYWNpdHkpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tY2lyY2xlLWdyYWRpZW50KSk7XG5cbiAgLmNpcmNsZS1ibG9jay0tcGF0dGVybiAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1jaXJjbGUtcGF0dGVybik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgIEFOSU1BVElPTlMgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hbmltYXRpb25zIHtcbiAgW2RhdGEtYW5pbWF0aW9ucy10YXJnZXQ9XCJlbGVtZW50XCJdIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG4gIH1cblxuICBbZGF0YS1hbmltYXRpb25zLXRhcmdldD1cImVsZW1lbnRcIl0uaXMtaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5hbmltYXRpb25zIC5tZWRpdW0tY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiQHRhaWx3aW5kIHV0aWxpdGllcztcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgICBIT01FICAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5ob21lLXJlY29yZHMge1xuICAtLWNvbnRlbnQtd2hpdGUtd2lkdGg6IDgxLjY3dnc7XG4gIC0tbG9nby1zaXplOiAxMHJlbTtcbiAgLS1sb2dvLXBvc2l0aW9uLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nLXNtKSAqIC0xKTtcbiAgLS1sb2dvLXBvc2l0aW9uLWxlZnQ6IDA7XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAtLWxvZ28tc2l6ZTogMzJyZW07XG4gICAgLS1sb2dvLXBvc2l0aW9uLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nLTJ4bCkgKiAtMSk7XG4gIH1cblxuICBAaW5jbHVkZS1tZWRpYSgnPj1sYXJnZScpIHtcbiAgICAtLWNvbnRlbnQtd2hpdGUtd2lkdGg6IGNhbGMoKDEwMHZ3IC0gdmFyKC0tY29udGFpbmVyLW1heC13aWR0aCkpIC8gMiArIHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpICogODEuNjcgLyAxMDApO1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMTUuMnJlbTsgbGVmdDogdmFyKC0tY29udGFpbmVyLXBhZGRpbmctaW5saW5lKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7IGxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogdmFyKC0tY29udGVudC13aGl0ZS13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi5ob21lLXJlY29yZHNfX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlLW1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLmhvbWUtcmVjb3Jkc19faW1hZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWxnKSAwIDAgdmFyKC0tc3BhY2luZy1sZyk7XG5cbiAgQGluY2x1ZGUtbWVkaWEoJzxkZXNrdG9wJykge1xuICAgIG9yZGVyOiA5OTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiB2YXIoLS1sb2dvLXBvc2l0aW9uLWJvdHRvbSk7XG4gICAgbGVmdDogdmFyKC0tbG9nby1wb3NpdGlvbi1sZWZ0KTtcbiAgICB3aWR0aDogdmFyKC0tbG9nby1zaXplKTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy8vbGV0dGVyLWxvZ28uc3ZnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICB9XG5cbiAgPiAqIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gIH1cblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIHBhZGRpbmc6IDAgNS4ycmVtIDAgMTEuNnJlbTtcblxuICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzMiAvIDYyOCAqIDEwMCUpO1xuICAgIH1cblxuICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjgwIC8gNjI4ICogMTAwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgTE9PS0JPT0sgICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG9va2Jvb2stZm9vdGVyIHtcbiAgLS1sZXR0ZXItc2l6ZTogMTRyZW07XG4gIC0tYmxhY2stYmxvY2staGVpZ2h0OiA0NHJlbTtcbiAgLS1pbWctaGVpZ2h0OiAzNS44cmVtO1xuXG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgLS1sZXR0ZXItc2l6ZTogMjRyZW07XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyBib3R0b206IGNhbGModmFyKC0taW1nLWhlaWdodCkgLyAyKTsgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IHZhcigtLXNwYWNpbmctNXhsKTtcbiAgICB9XG4gIH1cbn1cblxuLmxvb2tib29rLWZvb3Rlcl9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXN0YXJ0KTtcbn1cblxuLmxvb2tib29rLWZvb3Rlcl9fdGV4dCB7XG4gIEBpbmNsdWRlLW1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1ibGFjay1ibG9jay1oZWlnaHQpIC8gMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi5sb29rYm9vay1mb290ZXJfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjUuM3JlbTtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAzcmVtOyBsZWZ0OiAyMC4zcmVtO1xuICAgIHdpZHRoOiB2YXIoLS1sZXR0ZXItc2l6ZSk7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy8vbGV0dGVyLWxvZ28uc3ZnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gIH1cblxuICBAaW5jbHVkZS1tZWRpYSgnPj1kZXNrdG9wJykge1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogMjguNHJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIC0tLS0tLSBMQVlPVVQgLS0tLS0tICovXG5AaW1wb3J0ICdsYXlvdXQvX2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvX25hdmlnYXRpb24nO1xuQGltcG9ydCAnbGF5b3V0L19sYXlvdXQnO1xuXG4vKiAtLS0tLS0gVVRJTFMgLS0tLS0tICovXG5AaW1wb3J0ICd1dGlscy9fYnV0dG9ucyc7XG5AaW1wb3J0ICd1dGlscy9fdGFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL19mb3Jtcyc7XG5AaW1wb3J0ICd1dGlscy9fbGlua3MnO1xuQGltcG9ydCAndXRpbHMvX3R5cG9ncmFwaHknO1xuXG4vKiAtLS0tLS0gQ09NUE9ORU5UUyAtLS0tLS0gKi9cbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9fbWVzc2FnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL19jYXJkcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL19kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL19hY2NvcmRpb24nO1xuXG4vKiAtLS0tLS0gUEFHRVMgLS0tLS0tICovXG5AaW1wb3J0ICdwYWdlcy9faG9tZSc7XG5AaW1wb3J0ICdwYWdlcy9fcHJvZHVjdCc7XG5AaW1wb3J0ICdwYWdlcy9fbGlzdCc7XG5AaW1wb3J0ICdwYWdlcy9fY2FydCc7XG5AaW1wb3J0ICdwYWdlcy9fY2hlY2tvdXQnO1xuQGltcG9ydCAncGFnZXMvX2NvbnRhY3QnO1xuQGltcG9ydCAncGFnZXMvX3RoYW5reW91JztcblxuLyogU0VHTUVOVCAqL1xuLnVpLnNlZ21lbnRzIHtcbiAgJi0tdW5zaGFkb3dlZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuLnVpLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuXG4gICYtLXVuc2hhZG93ZWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmLS1ib3JkZXJsZXNzIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLnVpLnNlZ21lbnRzIC51aS5zZWdtZW50IHtcbiAgJi0tYm9yZGVybGVzcyB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgIEhFQURFUiAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmJvZHk6bm90KC5zdGF0aWMtd2Vic2l0ZSkge1xuICAuc2l0ZS1oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19uby1zcGFjZS1lbmQge1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiAwO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgTkFWSUdBVElPTiAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnB1c2hlciA+ICNtZW51IC5tZW51IC5pdGVtIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMtdmlzaWJsZSxcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuaGVhZGVyIC51aS5tZW51IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tZCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi51aS5sYXJnZS5tZW51IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4udWkubWVudSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLnVpLmJyZWFkY3J1bWIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxnKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLXZpc2libGUsXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUtbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4udWkubWVudSAuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiBub25lO1xufVxuXG4udWkubWVudSA+IC5pdGVtIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbn1cblxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG59XG5cbi51aS52ZXJ0aWNhbC5tZW51IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbiNzeWxpdXMtY2FydC1idXR0b24ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgLnNpdGUtbmF2X19saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jYXJ0LnBvcHVwIC5pdGVtIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgIExBWU9VVCAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmJvZHkgKjpub3QoaSksXG4udWksXG4udWkuaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJvZHkpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5jb250YWluZXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvIGF1dG8gYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc3BhY2luZy1zbSk7XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tc3BhY2luZy1sZyk7XG4gIH1cbn1cblxuYm9keS5wdXNoYWJsZSwgYm9keS5wdXNoYWJsZSAucHVzaGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9keS1iYWNrZ3JvdW5kLWNvbG9yKSAhaW1wb3J0YW50O1xuXG4gID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi5wdXNoZXIgPiAjbWVudTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICBCVVRUT05TICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmJ1dHRvbixcbi51aS5iYXNpYy5idXR0b24sXG4udWkubGFiZWxlZC5idXR0b24sXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbixcbi5idXR0b25zIC51aS5sYWJlbGVkLmljb24uYnV0dG9uIHtcbiAgQGluc2VydCAuYnRuO1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWJ0bi1jb2xvcikgMC4xcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWJ0bi1jb2xvcikgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiB2YXIoLS1idG4tZm9udC1zaXplKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG5cbiAgJjpmb2N1cy12aXNpYmxlLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWNvbG9yLCB2YXIoLS1jb2xvci1ibGFjaykpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS1jb2xvci13aGl0ZSkpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnVpLmJ1dHRvbi5wcmltYXJ5LFxuLnVpLmJhc2ljLmJ1dHRvbi5wcmltYXJ5LFxuLnVpLmxhYmVsZWQuYnV0dG9uLnByaW1hcnksXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbi5wcmltYXJ5LFxuLmJ1dHRvbnMgLnVpLmxhYmVsZWQuaWNvbi5idXR0b24ucHJpbWFyeSxcbi51aS5idXR0b24uZ3JlZW4sXG4udWkuYmFzaWMuYnV0dG9uLmdyZWVuLFxuLnVpLmxhYmVsZWQuYnV0dG9uLmdyZWVuLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24uZ3JlZW4sXG4uYnV0dG9ucyAudWkubGFiZWxlZC5pY29uLmJ1dHRvbi5ncmVlbixcbi51aS5idXR0b24uc3VibWl0LFxuLnVpLmJhc2ljLmJ1dHRvbi5zdWJtaXQsXG4udWkubGFiZWxlZC5idXR0b24uc3VibWl0LFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24uc3VibWl0LFxuLmJ1dHRvbnMgLnVpLmxhYmVsZWQuaWNvbi5idXR0b24uc3VibWl0IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaykgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWJhY2tncm91bmQtY29sb3IpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1idG4tY29sb3IpICFpbXBvcnRhbnQ7XG5cbiAgJjpmb2N1cy12aXNpYmxlLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWNvbG9yLCB2YXIoLS1jb2xvci1ibGFjaykpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS1jb2xvci13aGl0ZSkpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5idXR0b24sIC51aS5iYXNpYy5yZWQuYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAmOmZvY3VzLXZpc2libGUsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi51aS5idXR0b24gPiAuaWNvbjpub3QoLmJ1dHRvbikge1xuICBvcGFjaXR5OiAxO1xufVxuXG4udWkuYnV0dG9uLmJ1dHRvbi0tbGluayB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKSAhaW1wb3J0YW50O1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzLXZpc2libGUsXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4qICAgICAgICAgICAgIFRBQkxFUyAgICAgICAgICAgICpcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLnVpLnRhYmxlIHRoZWFkIHRoIHtcbiAgQGluc2VydCAuc3VydGl0bGU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLnVpLmRlZmluaXRpb24udGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQ6bm90KC5pZ25vcmVkKSwgLnVpLmRlZmluaXRpb24udGFibGUgdHIgdGQuZGVmaW5pdGlvbiB7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgQGluc2VydCAuc3VydGl0bGU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxudGRbZGF0YS1sYWJlbF0ge1xuICBAaW5jbHVkZS1tZWRpYSgnPHRhYmxldCcpIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cykgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgICBGT1JNUyAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51aS5pbnB1dCxcbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLnVpLmZvcm0gc2VsZWN0LFxuLnVpLmlucHV0ID4gaW5wdXQsXG4udWkuZm9ybSB0ZXh0YXJlYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaykgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKSAhaW1wb3J0YW50O1xufVxuXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spICFpbXBvcnRhbnQ7XG59XG5cbi51aS5mb3JtIC5maWVsZCA+IGxhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xufVxuXG4udWkubGFiZWxzIC5sYWJlbCwgLnVpLmxhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udWkubGFyZ2UubGFiZWxzIC5sYWJlbCwgLnVpLmxhcmdlLmxhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZGVmYXVsdCk7XG59XG5cbi51aS50b2dnbGUuY2hlY2tib3ggLmJveDo6YmVmb3JlLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbDo6YmVmb3JlIHtcbiAgd2lkdGg6IDQuM3JlbTtcbiAgaGVpZ2h0OiAyLjNyZW07XG59XG5cbi51aS50b2dnbGUuY2hlY2tib3ggLmJveDo6YWZ0ZXIsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcbiAgd2lkdGg6IDIuM3JlbTtcbiAgaGVpZ2h0OiAyLjNyZW07XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgICBMSU5LUyAgICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5hOmZvY3VzLXZpc2libGUsXG5hOmhvdmVyLFxuYTphY3RpdmUge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgVFlQT0dSQVBIWSAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaDEudWkuaGVhZGVyIHtcbiAgQGluc2VydCAuaW50ZXJtZWRpYXRlLXRpdGxlO1xuXG4gIC5jb250ZW50IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZykgIWltcG9ydGFudDtcbiAgfVxufVxuXG5oMS51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1kZWZhdWx0KTtcbn1cblxuLnVpLmRpdmlkaW5nLmhlYWRlciB7XG4gIEBpbnNlcnQgLmludGVybWVkaWF0ZS10aXRsZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogNXJlbSAhaW1wb3J0YW50O1xufVxuXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sIC51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWRlZmF1bHQpO1xufVxuXG4uYm9sZC10ZXh0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVkaXVtLXRleHQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuaDEudWkuaGVhZGVyIC5oZWFkaW5nLWZvbnQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZykgIWltcG9ydGFudDtcbn1cblxuLnVpLmhvcml6b250YWwuc2VjdGlvbi5kaXZpZGVyLmhlYWRlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICAgIFRBQlMgICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4udWkudGFidWxhci5tZW51IC5pdGVtIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgJi5hY3RpdmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICBNRVNTQUdFICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmluZm8ubWVzc2FnZSxcbi51aS5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgLS1tZXNzYWdlLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZCk7XG4gIGJvcmRlcjogc29saWQgdmFyKC0tbWVzc2FnZS1jb2xvcikgMC4xcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tbWVzc2FnZS1jb2xvcik7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5pbmZvLm1lc3NhZ2Uge1xuICAtLW1lc3NhZ2UtY29sb3I6IHZhcigtLWNvbG9yLWluZm8pO1xuICAtLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1saWdodCk7XG59XG5cbi51aS5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgLS1tZXNzYWdlLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnVpLm1lc3NhZ2UgLmhlYWRlciArIHAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLnVpLmluZm8ubWVzc2FnZSAuaGVhZGVyLFxuLnVpLnBvc2l0aXZlLm1lc3NhZ2UgLmhlYWRlcixcbi51aS5tZXNzYWdlIC5oZWFkZXI6bm90KC51aSkge1xuICBjb2xvcjogdmFyKC0tbWVzc2FnZS1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnVpLm1lc3NhZ2UgcCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi51aS5zbWFsbC5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4udWkubWVzc2FnZSA+IC5jbG9zZS5pY29uIHtcbiAgdG9wOiB2YXIoLS1zcGFjaW5nLXhzKTsgcmlnaHQ6IHZhcigtLXNwYWNpbmcteHMpO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiA0cmVtO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuN3JlbTsgbGVmdDogMS4ycmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1lc3NhZ2UtY29sb3IpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4udWkucHVycGxlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHVycGxlKSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXB1cnBsZSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKSAhaW1wb3J0YW50O1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICBDQVJEUyAgICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmNhcmRzID4gLmNhcmQsIC51aS5jYXJkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiA6Zmlyc3QtY2hpbGQsXG4udWkuY2FyZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLmNhcmQgLmltYWdlLFxuLmNhcmQgLmltYWdlIC5kaW1tZXIge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgRFJPUERPV04gICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWRlZmF1bHQpXG59XG5cbi51aS5pbmxpbmUuZHJvcGRvd24gLm1lbnUge1xuICBib3JkZXItY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgQUNDT1JESU9OICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVpLmFjY29yZGlvbiAudGl0bGU6bm90KC51aSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJyZW07XG59XG5cbi51aS5hY2NvcmRpb24gLnRpdGxlOm5vdCgudWkpIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctc20pO1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBzb2xpZDtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgICBIT01FICAgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaG9tZXBhZ2UgLmZlYXR1cmVkLmNvbHVtbiAuY2FyZCAuY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG5bZGF0YS1yb3V0ZT1cInN5bGl1c19zaG9wX2hvbWVwYWdlXCJdIC51aS5odWdlLmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMnhsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yeGwpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZykgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiA0cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiAgICAgICAgICAgIFBST0RVQ1QgICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIGRpdi51aS5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3Rfc2hvd10gLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gbGFiZWw6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIC51aS5icmVhZGNydW1iIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTExcmVtO1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jc3lsaXVzLXByb2R1Y3QtbmFtZSB7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDZyZW07XG59XG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3Rfc2hvd10gLnVpLnR3by5jb2x1bW4uc3RhY2thYmxlLmdyaWQgPiAuY29sdW1uOmZpcnN0LWNoaWxkIC5pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4jc3lsaXVzLXByb2R1Y3QtYWRkaW5nLXRvLWNhcnQge1xuICAuZmllbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICNzeWxpdXNfYWRkX3RvX2NhcnRfY2FydEl0ZW1fcXVhbnRpdHkge1xuICAgIG1heC13aWR0aDogMTByZW07XG4gIH1cblxuICBidXR0b24ge1xuICAgIC0tYnRuLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJlaWdlKTtcbiAgICAtLWJ0bi1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNpbmctc20pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbWQpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tYnRuLXBhZGRpbmcteCkgIWltcG9ydGFudDtcblxuICAgID4gLmljb24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfcHJvZHVjdF9zaG93XSAjc3lsaXVzLXByb2R1Y3Qtc2VsZWN0aW5nLXZhcmlhbnQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc3lsaXVzLXByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY2FyZCAuc3lsaXVzLXByb2R1Y3QtcHJpY2Uge1xuICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xufVxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIC51aS50b3AuYXR0YWNoZWQubGFyZ2UudGFidWxhci5tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X3Nob3ddIC51aS50b3AuYXR0YWNoZWQubGFyZ2UudGFidWxhci5tZW51IC5pdGVtIHtcbiAgJi5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMtdmlzaWJsZSxcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjNyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaW1hZ2UtcHJvZHVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc3BhY2luZy1tZCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZ3JpZC1yZXZlcnNlLW1vYmlsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiogICAgICAgICAgICAgIExJU1QgICAgICAgICAgICAgKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XSAudWkubW9uc3Rlci5zZWN0aW9uLmRpdmlkaW5nLmhlYWRlciB7XG4gIEBpbnNlcnQgLmludGVybWVkaWF0ZS10aXRsZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX3Byb2R1Y3RfaW5kZXhdIC50d2VsdmUud2lkZS5jb2x1bW4gLnVpLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cbiAgaW5wdXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKSAhaW1wb3J0YW50O1xuXG4gICAgaSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIH1cbiAgfVxufVxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9wcm9kdWN0X2luZGV4XSAudWkuZmx1aWQudmVydGljYWwubWVudSAuaXRlbS5oZWFkZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfcHJvZHVjdF9pbmRleF0gLnVpLmZsdWlkLnZlcnRpY2FsLm1lbnUgLml0ZW06bm90KC5oZWFkZXIpIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbSkgIWltcG9ydGFudDtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmltYWdlLnNjYWxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiogICAgICAgICAgICAgIENBUlQgICAgICAgICAgICAgKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2FydC1oZWFkZXIgaDEudWkuaGVhZGVyIHtcbiAgLmNvbnRlbnQge1xuICAgIEBpbnNlcnQgLmludGVybWVkaWF0ZS10aXRsZTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZykgIWltcG9ydGFudDtcbiAgfVxuXG4gID4gLmljb24gKyAuY29udGVudCAuc3ViLmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZGVmYXVsdCk7XG4gIH1cbn1cblxuI3N5bGl1cy1jYXJ0LWl0ZW1zIHtcbiAgdGhlYWQge1xuICAgIEBpbmNsdWRlLW1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICB0Ym9keSB0ZCB7XG4gICAgQGluY2x1ZGUtbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4uY2FydC1oZWFkZXIgfiAudWkuZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNXhsKTtcbn1cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zdW1tYXJ5XSAuc3lsaXVzLXByb2R1Y3QtbmFtZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zdW1tYXJ5XSAudWkuaG9yaXpvbnRhbC5zZWN0aW9uLmRpdmlkZXIuaGVhZGVyIHtcbiAgQGluc2VydCAuaW50ZXJtZWRpYXRlLXRpdGxlO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZykgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgQGluY2x1ZGUtbWVkaWEoJz5kZXNrdG9wJykge1xuICAgIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5cbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfc3VtbWFyeV0gLnVpLmhlYWRlciAuc3lsaXVzLXByb2R1Y3QtdmFyaWFudC1jb2RlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xufVxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC5jb2x1bW46bGFzdC1jaGlsZCAudWkuZGl2aWRpbmcuaGVhZGVyLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zYXZlXSAuY29sdW1uOmxhc3QtY2hpbGQgLnVpLmRpdmlkaW5nLmhlYWRlcixcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfY2hlY2tvdXRdIC5jb2x1bW46bGFzdC1jaGlsZCAudWkuZGl2aWRpbmcuaGVhZGVyIHtcbiAgQGluc2VydCAuc3VydGl0bGU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1ib2R5KSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAxLjhyZW07XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKSAhaW1wb3J0YW50O1xufVxuXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X3N1bW1hcnldIC5jb2x1bW46Zmlyc3QtY2hpbGQgLnRhYmxlIHRoZWFkIHRoLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zYXZlXSAuY29sdW1uOmZpcnN0LWNoaWxkIC50YWJsZSB0aGVhZCB0aCxcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfY2hlY2tvdXRdIC5jb2x1bW46Zmlyc3QtY2hpbGQgLnRhYmxlIHRoZWFkIHRoLFxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfY29tcGxldGVdIGZvcm0gdGFibGUgdGhlYWQgdGgsXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9hY2NvdW50X29yZGVyX3Nob3ddIHRhYmxlIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSkgIWltcG9ydGFudDtcbn1cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2FydF9zdW1tYXJ5XSAuZml2ZS5jb2x1bW46bGFzdC1jaGlsZCxcbltkYXRhLXJvdXRlPXN5bGl1c19zaG9wX2NhcnRfc2F2ZV0gLmZpdmUuY29sdW1uOmxhc3QtY2hpbGQsXG5bZGF0YS1yb3V0ZT1zeWxpdXNfc2hvcF9jYXJ0X2NoZWNrb3V0XSAuZml2ZS5jb2x1bW46bGFzdC1jaGlsZCB7XG4gIEBpbmNsdWRlLW1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctc20pICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICAgQ0hFQ0tPVVQgICAgICAgICAgICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9jaGVja291dF9dIC51aS5jZW50ZXIuYWxpZ25lZC5pY29uLmhlYWRlcixcbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9jaGVja291dF9dIC51aS5jZW50ZXIuYWxpZ25lZC5pY29uLmhlYWRlciArIC5kaXZpZGVyICsgLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbltkYXRhLXJvdXRlXj1zeWxpdXNfc2hvcF9jaGVja291dF9dIC5zdGVwcyAuc3RlcC5jb21wbGV0ZWQgaTo6YmVmb3JlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zdGVwcyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi51aS5zdGVwcyAuc3RlcCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tZCkgdmFyKC0tc3BhY2luZy1sZyk7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNGQUZBRkE7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gIH1cblxuICA+IC5pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuZm9ybVtuYW1lPVwic3lsaXVzX2NoZWNrb3V0X2NvbXBsZXRlXCJdIHtcbiAgLnVpLmRpdmlkaW5nLmhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJvZHkpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgfVxufVxuXG5mb3JtW25hbWU9XCJzeWxpdXNfY2hlY2tvdXRfYWRkcmVzc1wiXSAjc3lsaXVzLWJpbGxpbmctYWRkcmVzcyxcbmZvcm1bbmFtZT1cInN5bGl1c19jaGVja291dF9hZGRyZXNzXCJdICNzeWxpdXMtc2hpcHBpbmctYWRkcmVzcyB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbWQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cbiAgLnVpLmRpdmlkaW5nLmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgfVxufVxuXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfY2hlY2tvdXRfXSAudWkuY2VudGVyLmFsaWduZWQuaWNvbi5oZWFkZXIsXG5bZGF0YS1yb3V0ZV49c3lsaXVzX3Nob3BfY2hlY2tvdXRfXSAudWkuY2VudGVyLmFsaWduZWQuaWNvbi5oZWFkZXIgKyAuZGl2aWRlciArIC5zZWdtZW50IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuW2RhdGEtcm91dGU9c3lsaXVzX3Nob3BfY2hlY2tvdXRfY29tcGxldGVdIGZvcm0ge1xuICA+IC51aS5zZWdtZW50IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gID4gLnVpLnRhYmxlIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cbiAgICB0aGVhZCB7XG4gICAgICBAaW5jbHVkZS1tZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGVhZCB0aCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogICAgICAgICAgICBDT05UQUNUICAgICAgICAgICAgKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuW2RhdGEtcm91dGU9XCJzeWxpdXNfc2hvcF9jb250YWN0X3JlcXVlc3RcIl0gPiBkaXYsXG5bZGF0YS1yb3V0ZT1cInN5bGl1c19zaG9wX29yZGVyX3RoYW5rX3lvdVwiXSA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDE7XG59XG5cbi5jb250YWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RlY29yYXRpb24vZmxvd2Vycy1iYWNrZ3JvdW5kLWxhcmdlLndlYnAnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb3ZlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00eGwpIDAgdmFyKC0tc3BhY2luZy00eGwpIDA7XG59XG5cbi5jb250YWN0X19jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uY29udGFjdF9faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZCkgIWltcG9ydGFudDtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqICAgICAgICAgICBUSEFOSyBZT1UgICAgICAgICAgICAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5bZGF0YS1yb3V0ZT1cInN5bGl1c19zaG9wX3JlZ2lzdGVyX3RoYW5rX3lvdVwiXSA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDE7XG59XG5cbltkYXRhLXJvdXRlPVwic3lsaXVzX3Nob3Bfb3JkZXJfdGhhbmtfeW91XCJdIC5zeWxpdXMtZmxhc2gtbWVzc2FnZSB7XG4gIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW1heC13aWR0aCk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnRoYW5reW91IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZWNvcmF0aW9uL2xpZ2h0LWJhY2tncm91bmQud2VicCcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvdmVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTR4bCkgMCB2YXIoLS1zcGFjaW5nLTR4bCkgMDtcbn1cblxuLnRoYW5reW91X19jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy14bCkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4udGhhbmt5b3VfX2hlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/