/**
 * Main SCSS
 */
/* noto-serif-oriya-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Serif Oriya";
  font-style: normal;
  font-weight: 700;
  src: url("/wp-content/themes/playground/assets/static/fonts/noto-serif-oriya-v6-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* quicksand-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: Quicksand;
  font-style: normal;
  font-weight: 400;
  src: url("/wp-content/themes/playground/assets/static/fonts/quicksand-v37-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* quicksand-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: Quicksand;
  font-style: normal;
  font-weight: 700;
  src: url("/wp-content/themes/playground/assets/static/fonts/quicksand-v37-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/**
 * Abstracts
 */
/**
 * Functions
 */
/**
 * Breakpoints
 */
/**
 * Name of the next breakpoint
 */
/**
 * Breakpoint minimum width
 */
/**
 * Breakpoint maximum width
 */
/**
 * Breakpoint name is infix (returns an empty name if it's the smallest breakpoint)
 */
/**
 * Divide
 */
/**
 * Force to PX
 */
/**
 * Map helpers
 * These are actually mixins and not functions but we're keeping them here since they have to be loaded before variables and other mixins.
 */
/**
 * Force ascending order in a map
 */
/**
 * Force a map to start at zero
 */
/**
 * Strip unit
 */
/**
 * Variables
 */
/**
 * Rem settings
 */
/**
 * Colors
 */
/**
 * Spacing
 */
/**
 * Grid
 */
/* stylelint-disable-line scss/at-if-no-null */
/**
 * Container
 */
/* stylelint-disable-line scss/at-if-no-null */
/**
 * Display
 */
/**
 * Spacing
 */
/**
 * Flex utilities
 */
/**
 * Transitions
 */
/**
 * Typography
 */
/**
 * Tables
 */
/**
 * Mixins
 */
/**
 * Base
 */
/**
 * Breakpoints
 */
/**
 * Breakpoint up
 */
/**
 * Breakpoint down
 */
/**
 * Breakpoint between
 */
/**
 * Breakpoint only
 */
/**
 * Grid
 */
/**
 * Make container
 */
/**
 * Make row
 */
/**
 * Make column ready
 */
/**
 * Make column
 */
/**
 * Make column auto
 */
/**
 * Make column offset
 */
/**
 * Make row columns
 */
/**
 * Generate the grid
 */
/**
 * Lists
 */
/**
 * List unstyled
 */
/**
 * List styled
 */
/**
 * Helpers
 */
/**
 * Clearfix
 */
/**
 * Visually hidden
 * Hide content visually while keeping it accessible to assistive technologies
 */
/* stylelint-disable declaration-no-important */
/**
 * Visually hidden
 */
/**
 * Visually hidden bud visible when focused.
 * Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1.
 */
/**
 * Vendors
 * Add vendors installed with NPM or vendors you manually copied to vendors folder.
 */
/**
 * Vendor modifiers
 * Add your vendor modifications to vendor-modifiers folder.
 */
.woocommerce ul.products li.product .button:where(:not(.add_to_cart_button)) {
  margin-top: 2rem;
  padding: 1rem 2rem;
  background-color: var(--pg-blue);
  color: var(--pg-white);
  border: none;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease, border-radius 0.3s ease;
}
.woocommerce ul.products li.product .button:where(:not(.add_to_cart_button)):hover {
  background-color: var(--pg-blue-light);
  border-radius: 1rem;
}
.woocommerce ul.products li.product .button.add_to_cart_button {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 40px;
  height: 40px;
  background-color: var(--pg-blue);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  transition: background-color 0.3s ease;
}
.woocommerce ul.products li.product .button.add_to_cart_button::after {
  position: absolute;
  top: 19px;
  left: 12px;
  content: "";
  width: 16px;
  height: 2px;
  background-color: white;
  display: block;
  color: white;
  font-size: 3rem;
  transition: transform 0.3s ease;
  backface-visibility: hidden;
}
.woocommerce ul.products li.product .button.add_to_cart_button::before {
  position: absolute;
  top: 12px;
  left: 19px;
  content: "";
  width: 2px;
  height: 16px;
  background-color: white;
  display: block;
  color: white;
  font-size: 3rem;
  backface-visibility: hidden;
  transition: transform 0.3s ease;
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover {
  background-color: var(--pg-blue-light);
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover::after {
  transform: rotate(90deg);
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover::before {
  transform: rotate(90deg);
}
.woocommerce ul.products li.product .button.add_to_cart_button.added {
  animation: pop-animation 0.45s ease;
}

.woocommerce span.onsale {
  display: none;
}

.product-thumbnail {
  background-color: var(--pg-whitesmoke);
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 1rem;
}
.product-thumbnail > img {
  mix-blend-mode: multiply;
  margin-bottom: 0 !important;
}

.woocommerce-loop-product__title {
  font-family: var(--pg-font-family-sans-serif);
}

.woocommerce ul.products li.product .price {
  display: block;
  font-weight: 700;
  font-size: 2rem;
}

.woocommerce ul.products li.product .price del {
  display: none;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

.woocommerce a.added_to_cart {
  display: none;
}

.woocommerce-ordering {
  display: none;
}

/**
 * Base
 */
/**
 * Root
 */
:root {
  --pg-white: #fff;
  --pg-black: #000;
  --pg-primary: #ac4d3e;
  --pg-yellow: #f3a914;
  --pg-dark: #353535;
  --pg-paper: #fff3e1;
  --pg-red: #ac4d3e;
  --pg-blue: #288999;
  --pg-blue-light: #3AA2AD;
  --pg-smoke: #f7f2f2;
  --pg-whitesmoke: #f5f5f5;
  --pg-grid-gutter-width: 40px;
  --pg-font-family-sans-serif: "Quicksand", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
  --pg-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* stylelint-disable-line value-keyword-case */
  --pg-font-family-base: var(--pg-font-family-sans-serif);
  --pg-font-weight-normal: 400;
  --pg-font-weight-bold: 700;
  --pg-font-size-base: 1.6rem;
  --pg-font-weight-base: var(--pg-font-weight-normal);
  --pg-line-height-base: 1.5;
  --pg-body-color: var(--pg-dark);
  --pg-body-bg: var(--pg-white);
  --pg-link-color: var(--pg-dark);
  --pg-link-decoration: none;
  --pg-link-hover-color: var(--pg-primary);
  --pg-link-hover-decoration: none;
  --pg-type-spacing: 0;
  --pg-headings-font-family: "Noto Serif Oriya", serif;
  --pg-headings-font-weight: var(--pg-font-weight-bold);
  --pg-headings-font-style: normal;
  --pg-headings-color: var(--pg-dark);
  --pg-headings-spacing: 0;
  --pg-table-padding: 2rem;
  --pg-table-border-width: .1rem;
  --pg-table-border-color: var(--pg-black);
  --pg-code-color: #d63384;
  --pg-pre-color: #666;
}

/**
 * Reboot
 * Manual fork of Bootstrap 5.3.0 reboot.
 */
/**
 * Document
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/**
 * HTML
 */
html {
  font-size: 62.5%;
  font-synthesis: none;
}

/**
 * Body.
 */
body {
  margin: 0;
  background-color: var(--pg-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  font-family: var(--pg-font-family-base);
  font-size: var(--pg-font-size-base);
  font-weight: var(--pg-font-weight-base);
  line-height: var(--pg-line-height-base);
  text-align: left;
  color: var(--pg-body-color);
}

/**
 * Content grouping
 */
hr {
  color: var(--pg-black);
  margin: 0;
  border: 0;
  border-top: 0.1rem solid var(--pg-black);
}

/**
 * Typography
 */
h1, h2, h3, h4, h5, h6 {
  margin-block: 0;
}

p {
  margin-block: 0;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

address {
  margin-bottom: 0;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-block: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: var(--pg-font-weight-bold);
}

dd {
  margin-left: 0;
}

blockquote {
  margin: 0;
}

b,
strong {
  font-weight: var(--pg-font-weight-bold);
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.1875em;
  background-color: var(--pg-primary);
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: var(--pg-link-color);
  -webkit-text-decoration: var(--pg-link-decoration);
          text-decoration: var(--pg-link-decoration);
  transition: color 0.3s ease-out;
}
a:hover {
  color: var(--pg-link-hover-color);
  -webkit-text-decoration: var(--pg-link-hover-decoration);
          text-decoration: var(--pg-link-hover-decoration);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

/**
 * Code
 */
pre,
code,
kbd,
samp {
  font-family: var(--pg-font-family-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 2rem;
  overflow: auto;
  font-size: 0.875em;
  color: var(--pg-pre-color);
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--pg-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.3rem 0.6rem;
  font-size: 0.875em;
  color: var(--pg-white);
  background-color: var(--pg-black);
  border-radius: 0.5rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

/**
 * Figures
 */
figure {
  margin: 0;
}

/**
 * Media content
 */
img,
svg {
  vertical-align: middle;
}

img,
video,
audio {
  max-width: 100%;
  height: auto;
}

/**
 * Tables
 */
table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-block: var(--pg-table-padding);
  color: var(--pg-black);
  text-align: left;
}

th {
  font-weight: var(--pg-font-weight-bold);
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

/**
 * Forms
 */
label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 2rem;
  font-size: var(--pg-font-size-base);
  line-height: inherit;
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

/**
 * Iframe.
 */
iframe {
  border: 0;
}

/**
 * Summary
 */
summary {
  display: list-item;
  cursor: pointer;
}

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

/**
 * Hidden attribute
 */
[hidden] {
  display: none !important;
}

/**
 * Responsive font size
 */
/* stylelint-disable */
/** 1. Populate fluid $wait list */
/** display all queries! */
/** skip media (min-width: 0) render */
/* [End Render heading rules] */
/**
 * Containers
 */
.container,
.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-inline: calc(var(--pg-grid-gutter-width) / 2);
  margin-inline: auto;
}

.container-sm {
  /* stylelint-disable-line scss/at-extend-no-missing-placeholder */
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
.container-md {
  /* stylelint-disable-line scss/at-extend-no-missing-placeholder */
}

@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
.container-lg {
  /* stylelint-disable-line scss/at-extend-no-missing-placeholder */
}

@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
.container-xl {
  /* stylelint-disable-line scss/at-extend-no-missing-placeholder */
}

@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
/**
 * Grid
 */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-inline: calc(var(--pg-grid-gutter-width) / 2 * -1);
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-inline: calc(var(--pg-grid-gutter-width) / 2);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0 {
  margin-inline: 0;
}
.g-0 > * {
  padding-inline: 0;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0 {
    margin-inline: 0;
  }
  .g-sm-0 > * {
    padding-inline: 0;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0 {
    margin-inline: 0;
  }
  .g-md-0 > * {
    padding-inline: 0;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0 {
    margin-inline: 0;
  }
  .g-lg-0 > * {
    padding-inline: 0;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0 {
    margin-inline: 0;
  }
  .g-xl-0 > * {
    padding-inline: 0;
  }
}
.wrapper {
  padding: 0 calc(var(--pg-grid-gutter-width) / 2);
}

.main {
  padding: 4rem 0;
}

/**
 * Typography
 */
/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--pg-headings-font-family);
  font-style: var(--pg-headings-font-style);
  font-weight: var(--pg-headings-font-weight);
  color: var(--pg-headings-color);
  margin-bottom: var(--pg-headings-spacing);
}

h1, h2, h3, h4, h5, h6 { /* stylelint-disable-line selector-list-comma-newline-after */ }

/**
 * Paragraph
 */
p {
  margin-bottom: var(--pg-type-spacing);
}

/**
 * Thematic Break (Horizontal Rule)
 */
hr {
  margin-block: var(--pg-type-spacing);
}

/**
 * Block Quotation
 */
blockquote {
  margin-bottom: var(--pg-type-spacing);
}

/**
 * Lists
 */
ol,
ul {
  padding-left: 6rem;
}

ol,
ul,
dl {
  margin-bottom: var(--pg-type-spacing);
}

.list-unstyled {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.wp-block-list > li:not(:last-child),
.list-styled > li:not(:last-child) {
  margin-bottom: 2rem;
}

/**
 * Components
 */
/**
 * Icons
 */
.icon {
  width: 1.6rem;
  height: 1.6rem;
  display: inline-block;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

.icon--lg {
  width: 2.4rem;
  height: 2.4rem;
}

/**
 * Tables
 */
.table {
  width: 100%;
  margin-bottom: 2rem;
  color: inherit;
  background-color: var(--pg-white);
}
.table th,
.table td {
  padding: var(--pg-table-padding);
  vertical-align: top;
  border-top: 0.1rem solid var(--pg-table-border-color);
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 0.2rem solid var(--pg-table-border-color);
}
.table tbody + tbody {
  border-top: 0.2rem solid var(--pg-table-border-color);
}

/**
 * WordPress
 * WordPress or WordPress plugin styles (IE: WooCommerce).
 */
/**
 * WordPress
 */
/**
 * Gutenberg blocks
 */
.wp-block-image,
.wp-block-quote,
.wp-block-embed,
.wp-block-video {
  margin-bottom: var(--pg-type-spacing);
}

.wp-block-list > li > .wp-block-list {
  margin-top: 2rem;
  margin-bottom: 0;
}

.wp-block-image .aligncenter,
.wp-block-image .alignright,
.wp-block-image .alignleft {
  display: table;
  margin-bottom: inherit;
}
.wp-block-image .aligncenter figcaption,
.wp-block-image .alignright figcaption,
.wp-block-image .alignleft figcaption {
  display: table-caption;
  caption-side: bottom;
}
.wp-block-image .aligncenter {
  margin-inline: auto;
}
@media (min-width: 576px) {
  .wp-block-image .aligncenter {
    clear: both;
  }
  .wp-block-image .alignleft {
    margin-right: 6rem;
    float: left;
  }
  .wp-block-image .alignright {
    float: right;
    margin-left: 6rem;
  }
}

.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  margin-inline: calc(var(--pg-grid-gutter-width) / 2 * -1);
}
.wp-block-gallery .wp-block-image,
.wp-block-gallery .blocks-gallery-caption {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-inline: calc(var(--pg-grid-gutter-width) / 2);
  margin-bottom: var(--pg-type-spacing);
}
.wp-block-gallery .wp-block-image {
  flex: 0 0 auto;
  width: 25%;
}
.wp-block-gallery .blocks-gallery-caption {
  flex: 0 0 auto;
  width: 100%;
  margin-top: 0;
  text-align: center;
}

.wp-block-embed iframe {
  max-width: 100%;
}

.wp-block-embed__wrapper {
  /* stylelint-disable declaration-colon-space-after, selector-descendant-combinator-no-non-space, block-closing-brace-space-before */
  /* stylelint-enable declaration-colon-space-after, selector-descendant-combinator-no-non-space, block-closing-brace-space-before */
}
.wp-has-aspect-ratio .wp-block-embed__wrapper {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  padding: 0;
}
.wp-has-aspect-ratio .wp-block-embed__wrapper::before {
  display: block;
  content: "";
}
.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
  padding-top: 42.8571428571%;
}
.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
  padding-top: 50%;
}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-top: 56.25%;
}
.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-top: 75%;
}
.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-top: 100%;
}
.wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
  padding-top: 177.7777777778%;
}
.wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
  padding-top: 200%;
}

.wp-block-video video {
  display: block;
}

.wp-element-caption {
  margin-top: 2rem;
}

/**
 * Screen reader text
 */
.screen-reader-text {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.screen-reader-text:not(caption) {
  position: absolute !important;
}

/**
 * Comment form
 */
.comment-form label {
  margin-top: 2rem;
}

.form-submit {
  margin-top: 2rem;
}

/**
 * Partials
 * Styling for partials like header, footer.
 */
/**
 * Header
 */
.header {
  padding: 4rem 0;
  background-color: var(--pg-paper);
  background-image: url("data:image/png;base64,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"), url("/wp-content/themes/playground/assets/static/img/just-waves.png");
  background-blend-mode: hard-light, lighten;
}

.header__inner {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  align-items: center;
}

.header__logo {
  width: 14rem;
}

@keyframes pop-animation {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
.header__cart--updated {
  animation: pop-animation 0.45s ease;
}

.header__cart {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 2rem;
  position: relative;
}
.header__cart:hover {
  color: inherit;
  text-decoration: none;
}
.header__cart:hover {
  color: var(--pg-blue);
}

.header__cart-count {
  align-items: center;
  background: var(--pg-blue);
  border-radius: 50%;
  bottom: 0;
  right: 0;
  color: var(--pg-white);
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  padding: 3px;
  position: absolute;
  width: 2rem;
  height: 2rem;
  transform: translate(50%, 50%);
  text-align: center;
}

/**
 * Editor
 *
 * Helper class to style elements that are part of the user content and come from the_content() or ACF Wysiwyg Editor field. Keep in mind if you are styling Gutenberg blocks most of them have classes on them and can styled like that in wordpress/wordpress.scss.
 */
.editor > *:first-child {
  margin-top: 0;
}
.editor > *:last-child {
  margin-bottom: 0;
}

/**
 * Templates
 */
/**
 * Helpers
 */
/**
 * Clearfix
 */
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/**
 * Visually hidden
 */
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) { /* stylelint-disable-line selector-not-notation */
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

/**
 * Utilities
 */
/**
 * Colors
 */
.text-white {
  color: var(--pg-white) !important;
}

.bg-white {
  background-color: var(--pg-white) !important;
}

.text-black {
  color: var(--pg-black) !important;
}

.bg-black {
  background-color: var(--pg-black) !important;
}

.text-primary {
  color: var(--pg-primary) !important;
}

.bg-primary {
  background-color: var(--pg-primary) !important;
}

.text-yellow {
  color: var(--pg-yellow) !important;
}

.bg-yellow {
  background-color: var(--pg-yellow) !important;
}

.text-dark {
  color: var(--pg-dark) !important;
}

.bg-dark {
  background-color: var(--pg-dark) !important;
}

.text-paper {
  color: var(--pg-paper) !important;
}

.bg-paper {
  background-color: var(--pg-paper) !important;
}

.text-red {
  color: var(--pg-red) !important;
}

.bg-red {
  background-color: var(--pg-red) !important;
}

.text-blue {
  color: var(--pg-blue) !important;
}

.bg-blue {
  background-color: var(--pg-blue) !important;
}

.text-blue-light {
  color: var(--pg-blue-light) !important;
}

.bg-blue-light {
  background-color: var(--pg-blue-light) !important;
}

.text-smoke {
  color: var(--pg-smoke) !important;
}

.bg-smoke {
  background-color: var(--pg-smoke) !important;
}

.text-whitesmoke {
  color: var(--pg-whitesmoke) !important;
}

.bg-whitesmoke {
  background-color: var(--pg-whitesmoke) !important;
}

/**
 * Display
 */
.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
/**
 * Flex
 */
/* stylelint-disable block-opening-brace-space-before */
.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-last {
  order: 7 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-6 {
  order: 6 !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-last {
    order: 7 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-6 {
    order: 6 !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-last {
    order: 7 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-6 {
    order: 6 !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-last {
    order: 7 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-6 {
    order: 6 !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-last {
    order: 7 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-6 {
    order: 6 !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
}
/**
 * Spacing
 */
.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 2rem !important;
}

.mt-1,
.my-1 {
  margin-top: 2rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 2rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 2rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 2rem !important;
}

.m-2 {
  margin: 4rem !important;
}

.mt-2,
.my-2 {
  margin-top: 4rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 4rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 4rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 4rem !important;
}

.m-3 {
  margin: 6rem !important;
}

.mt-3,
.my-3 {
  margin-top: 6rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 6rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 6rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 6rem !important;
}

.m-4 {
  margin: 8rem !important;
}

.mt-4,
.my-4 {
  margin-top: 8rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 8rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 8rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 8rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 2rem !important;
}

.pt-1,
.py-1 {
  padding-top: 2rem !important;
}

.pr-1,
.px-1 {
  padding-right: 2rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 2rem !important;
}

.pl-1,
.px-1 {
  padding-left: 2rem !important;
}

.p-2 {
  padding: 4rem !important;
}

.pt-2,
.py-2 {
  padding-top: 4rem !important;
}

.pr-2,
.px-2 {
  padding-right: 4rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 4rem !important;
}

.pl-2,
.px-2 {
  padding-left: 4rem !important;
}

.p-3 {
  padding: 6rem !important;
}

.pt-3,
.py-3 {
  padding-top: 6rem !important;
}

.pr-3,
.px-3 {
  padding-right: 6rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 6rem !important;
}

.pl-3,
.px-3 {
  padding-left: 6rem !important;
}

.p-4 {
  padding: 8rem !important;
}

.pt-4,
.py-4 {
  padding-top: 8rem !important;
}

.pr-4,
.px-4 {
  padding-right: 8rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 8rem !important;
}

.pl-4,
.px-4 {
  padding-left: 8rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 2rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 2rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 2rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 2rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 2rem !important;
  }
  .m-sm-2 {
    margin: 4rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 4rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 4rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 4rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 4rem !important;
  }
  .m-sm-3 {
    margin: 6rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 6rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 6rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 6rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 6rem !important;
  }
  .m-sm-4 {
    margin: 8rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 8rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 8rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 8rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 8rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 2rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 2rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 2rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 2rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 2rem !important;
  }
  .p-sm-2 {
    padding: 4rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 4rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 4rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 4rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 4rem !important;
  }
  .p-sm-3 {
    padding: 6rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 6rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 6rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 6rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 6rem !important;
  }
  .p-sm-4 {
    padding: 8rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 8rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 8rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 8rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 8rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 2rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 2rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 2rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 2rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 2rem !important;
  }
  .m-md-2 {
    margin: 4rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 4rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 4rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 4rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 4rem !important;
  }
  .m-md-3 {
    margin: 6rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 6rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 6rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 6rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 6rem !important;
  }
  .m-md-4 {
    margin: 8rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 8rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 8rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 8rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 8rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 2rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 2rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 2rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 2rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 2rem !important;
  }
  .p-md-2 {
    padding: 4rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 4rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 4rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 4rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 4rem !important;
  }
  .p-md-3 {
    padding: 6rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 6rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 6rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 6rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 6rem !important;
  }
  .p-md-4 {
    padding: 8rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 8rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 8rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 8rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 8rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 2rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 2rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 2rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 2rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 2rem !important;
  }
  .m-lg-2 {
    margin: 4rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 4rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 4rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 4rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 4rem !important;
  }
  .m-lg-3 {
    margin: 6rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 6rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 6rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 6rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 6rem !important;
  }
  .m-lg-4 {
    margin: 8rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 8rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 8rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 8rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 8rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 2rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 2rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 2rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 2rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 2rem !important;
  }
  .p-lg-2 {
    padding: 4rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 4rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 4rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 4rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 4rem !important;
  }
  .p-lg-3 {
    padding: 6rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 6rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 6rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 6rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 6rem !important;
  }
  .p-lg-4 {
    padding: 8rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 8rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 8rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 8rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 8rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 2rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 2rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 2rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 2rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 2rem !important;
  }
  .m-xl-2 {
    margin: 4rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 4rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 4rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 4rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 4rem !important;
  }
  .m-xl-3 {
    margin: 6rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 6rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 6rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 6rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 6rem !important;
  }
  .m-xl-4 {
    margin: 8rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 8rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 8rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 8rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 8rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 2rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 2rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 2rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 2rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 2rem !important;
  }
  .p-xl-2 {
    padding: 4rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 4rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 4rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 4rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 4rem !important;
  }
  .p-xl-3 {
    padding: 6rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 6rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 6rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 6rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 6rem !important;
  }
  .p-xl-4 {
    padding: 8rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 8rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 8rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 8rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 8rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
.de-link {
  color: inherit;
  text-decoration: none;
}
.de-link:hover {
  color: inherit;
  text-decoration: none;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FoQndRRjs7QWdCcFFBOztFQUFBO0FBTUE7RUFDRTtBaEJvUUY7O0FnQjlQQTtFQUVFO0FoQmdRRjs7QWdCeFBBO0VBQ0U7QWhCMlBGOztBZ0J0UEE7Ozs7O0VBS0U7RUFDQTtFQUNBO0VBQ0E7QWhCeVBGOztBZ0JyUEE7O0VBRUU7QWhCd1BGOztBZ0JuUEE7RUFDRTtBaEJzUEY7O0FnQm5QQTtFQUdFO0FoQm9QRjtBZ0JqUEU7RUFDRTtBaEJtUEo7O0FnQjVPQTtFQUNFO0FoQitPRjs7QWdCdk9BOzs7O0VBSUU7QWhCME9GO0FnQnhPRTs7OztFQUNFO0FoQjZPSjs7QWdCdk9BO0VBQ0U7RUFDQTtBaEIwT0Y7O0FnQnJPQTtFQUNFO0FoQndPRjs7QWdCOU5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhCaU9GOztBZ0J6TkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQlRwWk87RVNxWlA7RUFDQTtBaEI0TkY7QWdCMU5FO0VBQ0U7QWhCNE5KOztBZ0JyTkE7Ozs7Ozs7RUFPRTtBaEJ3TkY7O0FnQnJOQTtFQUNFO0FoQndORjs7QWdCL01BO0VBQ0U7RUFDQTtBaEJrTkY7O0FnQjdNQTtFQUNFO0FoQmdORjs7QWdCM01BO0VBQ0U7QWhCOE1GOztBZ0J4TUE7RUFDRTtFQUNBO0FoQjJNRjs7QWdCdE1BO0VBQ0U7QWhCeU1GOztBZ0JyTUE7O0VBQUE7QUFJQTtFQUNFO0FoQnVNRjs7QWdCbk1BOztFQUFBO0FBTUE7RUFDRTtFQUNBO0FoQm1NRjs7QWdCL0xBOztFQUFBO0FBTUE7RUFDRTtBaEIrTEY7O0FnQjNMQTs7RUFBQTtBQUlBO0VBQ0U7QWhCNkxGOztBaUJodUJBOztFQUFBO0FBS0E7QUFNQTtBQXVOQTtBQUdJO0FBb0JKO0FDelBBOztFQUFBO0FBTUE7Ozs7OztFUklFO0VBQ0E7RUFDQTtBVjB1QkY7O0FrQnh1QkU7RUFDNEI7QWxCMnVCOUI7O0FTOXVCSTtFU09BO0lBQ0UsZ0JYbUVpQjtFUHdxQnJCO0FBQ0Y7QWtCbHZCRTtFQUM0QjtBbEJvdkI5Qjs7QVN2dkJJO0VTT0E7SUFDRSxnQlhtRWlCO0VQaXJCckI7QUFDRjtBa0IzdkJFO0VBQzRCO0FsQjZ2QjlCOztBU2h3Qkk7RVNPQTtJQUNFLGdCWG1FaUI7RVAwckJyQjtBQUNGO0FrQnB3QkU7RUFDNEI7QWxCc3dCOUI7O0FTendCSTtFU09BO0lBQ0UsaUJYbUVpQjtFUG1zQnJCO0FBQ0Y7QW1CM3hCQTs7RUFBQTtBQU9FO0VUWUE7RUFDQTtFQUNBO0FWOHdCRjtBbUJ4eEJJO0VUa0JGO0VBQ0E7RUFDQTtFQUNBO0FWeXdCRjs7QVVqdEJNO0VBQ0U7QVZvdEJSOztBVWh0QlE7RUF2Q047RUFDQTtBVjJ2QkY7O0FVMXVCRTtFQUNFO0VBQ0E7QVY2dUJKOztBVS91QkU7RUFDRTtFQUNBO0FWa3ZCSjs7QVVwdkJFO0VBQ0U7RUFDQTtBVnV2Qko7O0FVenZCRTtFQUNFO0VBQ0E7QVY0dkJKOztBVTl2QkU7RUFDRTtFQUNBO0FWaXdCSjs7QVVud0JFO0VBQ0U7RUFDQTtBVnN3Qko7O0FVeHVCTTtFQWxESjtFQUNBO0FWOHhCRjs7QVV2dUJVO0VBckVOO0VBQ0E7QVZnekJKOztBVTV1QlU7RUFyRU47RUFDQTtBVnF6Qko7O0FVanZCVTtFQXJFTjtFQUNBO0FWMHpCSjs7QVV0dkJVO0VBckVOO0VBQ0E7QVYrekJKOztBVTN2QlU7RUFyRU47RUFDQTtBVm8wQko7O0FVaHdCVTtFQXJFTjtFQUNBO0FWeTBCSjs7QVVyd0JVO0VBckVOO0VBQ0E7QVY4MEJKOztBVTF3QlU7RUFyRU47RUFDQTtBVm0xQko7O0FVL3dCVTtFQXJFTjtFQUNBO0FWdzFCSjs7QVVweEJVO0VBckVOO0VBQ0E7QVY2MUJKOztBVXp4QlU7RUFyRU47RUFDQTtBVmsyQko7O0FVOXhCVTtFQXJFTjtFQUNBO0FWdTJCSjs7QVUzeEJZO0VBdERWO0FWcTFCRjs7QVUveEJZO0VBdERWO0FWeTFCRjs7QVVueUJZO0VBdERWO0FWNjFCRjs7QVV2eUJZO0VBdERWO0FWaTJCRjs7QVUzeUJZO0VBdERWO0FWcTJCRjs7QVUveUJZO0VBdERWO0FWeTJCRjs7QVVuekJZO0VBdERWO0FWNjJCRjs7QVV2ekJZO0VBdERWO0FWaTNCRjs7QVUzekJZO0VBdERWO0FWcTNCRjs7QVUvekJZO0VBdERWO0FWeTNCRjs7QVVuMEJZO0VBdERWO0FWNjNCRjs7QVUvekJRO0VBQ0U7QVZrMEJWO0FVaDBCVTtFQUNFO0FWazBCWjs7QVN4N0JJO0VDNEVFO0lBQ0U7RVZnM0JOO0VVNTJCTTtJQXZDTjtJQUNBO0VWczVCQTtFVXI0QkE7SUFDRTtJQUNBO0VWdTRCRjtFVXo0QkE7SUFDRTtJQUNBO0VWMjRCRjtFVTc0QkE7SUFDRTtJQUNBO0VWKzRCRjtFVWo1QkE7SUFDRTtJQUNBO0VWbTVCRjtFVXI1QkE7SUFDRTtJQUNBO0VWdTVCRjtFVXo1QkE7SUFDRTtJQUNBO0VWMjVCRjtFVTczQkk7SUFsREo7SUFDQTtFVms3QkE7RVUzM0JRO0lBckVOO0lBQ0E7RVZtOEJGO0VVLzNCUTtJQXJFTjtJQUNBO0VWdThCRjtFVW40QlE7SUFyRU47SUFDQTtFVjI4QkY7RVV2NEJRO0lBckVOO0lBQ0E7RVYrOEJGO0VVMzRCUTtJQXJFTjtJQUNBO0VWbTlCRjtFVS80QlE7SUFyRU47SUFDQTtFVnU5QkY7RVVuNUJRO0lBckVOO0lBQ0E7RVYyOUJGO0VVdjVCUTtJQXJFTjtJQUNBO0VWKzlCRjtFVTM1QlE7SUFyRU47SUFDQTtFVm0rQkY7RVUvNUJRO0lBckVOO0lBQ0E7RVZ1K0JGO0VVbjZCUTtJQXJFTjtJQUNBO0VWMitCRjtFVXY2QlE7SUFyRU47SUFDQTtFVisrQkY7RVVuNkJVO0lBdERWO0VWNDlCQTtFVXQ2QlU7SUF0RFY7RVYrOUJBO0VVejZCVTtJQXREVjtFVmsrQkE7RVU1NkJVO0lBdERWO0VWcStCQTtFVS82QlU7SUF0RFY7RVZ3K0JBO0VVbDdCVTtJQXREVjtFVjIrQkE7RVVyN0JVO0lBdERWO0VWOCtCQTtFVXg3QlU7SUF0RFY7RVZpL0JBO0VVMzdCVTtJQXREVjtFVm8vQkE7RVU5N0JVO0lBdERWO0VWdS9CQTtFVWo4QlU7SUF0RFY7RVYwL0JBO0VVcDhCVTtJQXREVjtFVjYvQkE7RVUvN0JNO0lBQ0U7RVZpOEJSO0VVLzdCUTtJQUNFO0VWaThCVjtBQUNGO0FTeGpDSTtFQzRFRTtJQUNFO0VWKytCTjtFVTMrQk07SUF2Q047SUFDQTtFVnFoQ0E7RVVwZ0NBO0lBQ0U7SUFDQTtFVnNnQ0Y7RVV4Z0NBO0lBQ0U7SUFDQTtFVjBnQ0Y7RVU1Z0NBO0lBQ0U7SUFDQTtFVjhnQ0Y7RVVoaENBO0lBQ0U7SUFDQTtFVmtoQ0Y7RVVwaENBO0lBQ0U7SUFDQTtFVnNoQ0Y7RVV4aENBO0lBQ0U7SUFDQTtFVjBoQ0Y7RVU1L0JJO0lBbERKO0lBQ0E7RVZpakNBO0VVMS9CUTtJQXJFTjtJQUNBO0VWa2tDRjtFVTkvQlE7SUFyRU47SUFDQTtFVnNrQ0Y7RVVsZ0NRO0lBckVOO0lBQ0E7RVYwa0NGO0VVdGdDUTtJQXJFTjtJQUNBO0VWOGtDRjtFVTFnQ1E7SUFyRU47SUFDQTtFVmtsQ0Y7RVU5Z0NRO0lBckVOO0lBQ0E7RVZzbENGO0VVbGhDUTtJQXJFTjtJQUNBO0VWMGxDRjtFVXRoQ1E7SUFyRU47SUFDQTtFVjhsQ0Y7RVUxaENRO0lBckVOO0lBQ0E7RVZrbUNGO0VVOWhDUTtJQXJFTjtJQUNBO0VWc21DRjtFVWxpQ1E7SUFyRU47SUFDQTtFVjBtQ0Y7RVV0aUNRO0lBckVOO0lBQ0E7RVY4bUNGO0VVbGlDVTtJQXREVjtFVjJsQ0E7RVVyaUNVO0lBdERWO0VWOGxDQTtFVXhpQ1U7SUF0RFY7RVZpbUNBO0VVM2lDVTtJQXREVjtFVm9tQ0E7RVU5aUNVO0lBdERWO0VWdW1DQTtFVWpqQ1U7SUF0RFY7RVYwbUNBO0VVcGpDVTtJQXREVjtFVjZtQ0E7RVV2akNVO0lBdERWO0VWZ25DQTtFVTFqQ1U7SUF0RFY7RVZtbkNBO0VVN2pDVTtJQXREVjtFVnNuQ0E7RVVoa0NVO0lBdERWO0VWeW5DQTtFVW5rQ1U7SUF0RFY7RVY0bkNBO0VVOWpDTTtJQUNFO0VWZ2tDUjtFVTlqQ1E7SUFDRTtFVmdrQ1Y7QUFDRjtBU3ZyQ0k7RUM0RUU7SUFDRTtFVjhtQ047RVUxbUNNO0lBdkNOO0lBQ0E7RVZvcENBO0VVbm9DQTtJQUNFO0lBQ0E7RVZxb0NGO0VVdm9DQTtJQUNFO0lBQ0E7RVZ5b0NGO0VVM29DQTtJQUNFO0lBQ0E7RVY2b0NGO0VVL29DQTtJQUNFO0lBQ0E7RVZpcENGO0VVbnBDQTtJQUNFO0lBQ0E7RVZxcENGO0VVdnBDQTtJQUNFO0lBQ0E7RVZ5cENGO0VVM25DSTtJQWxESjtJQUNBO0VWZ3JDQTtFVXpuQ1E7SUFyRU47SUFDQTtFVmlzQ0Y7RVU3bkNRO0lBckVOO0lBQ0E7RVZxc0NGO0VVam9DUTtJQXJFTjtJQUNBO0VWeXNDRjtFVXJvQ1E7SUFyRU47SUFDQTtFVjZzQ0Y7RVV6b0NRO0lBckVOO0lBQ0E7RVZpdENGO0VVN29DUTtJQXJFTjtJQUNBO0VWcXRDRjtFVWpwQ1E7SUFyRU47SUFDQTtFVnl0Q0Y7RVVycENRO0lBckVOO0lBQ0E7RVY2dENGO0VVenBDUTtJQXJFTjtJQUNBO0VWaXVDRjtFVTdwQ1E7SUFyRU47SUFDQTtFVnF1Q0Y7RVVqcUNRO0lBckVOO0lBQ0E7RVZ5dUNGO0VVcnFDUTtJQXJFTjtJQUNBO0VWNnVDRjtFVWpxQ1U7SUF0RFY7RVYwdENBO0VVcHFDVTtJQXREVjtFVjZ0Q0E7RVV2cUNVO0lBdERWO0VWZ3VDQTtFVTFxQ1U7SUF0RFY7RVZtdUNBO0VVN3FDVTtJQXREVjtFVnN1Q0E7RVVockNVO0lBdERWO0VWeXVDQTtFVW5yQ1U7SUF0RFY7RVY0dUNBO0VVdHJDVTtJQXREVjtFVit1Q0E7RVV6ckNVO0lBdERWO0VWa3ZDQTtFVTVyQ1U7SUF0RFY7RVZxdkNBO0VVL3JDVTtJQXREVjtFVnd2Q0E7RVVsc0NVO0lBdERWO0VWMnZDQTtFVTdyQ007SUFDRTtFVityQ1I7RVU3ckNRO0lBQ0U7RVYrckNWO0FBQ0Y7QVN0ekNJO0VDNEVFO0lBQ0U7RVY2dUNOO0VVenVDTTtJQXZDTjtJQUNBO0VWbXhDQTtFVWx3Q0E7SUFDRTtJQUNBO0VWb3dDRjtFVXR3Q0E7SUFDRTtJQUNBO0VWd3dDRjtFVTF3Q0E7SUFDRTtJQUNBO0VWNHdDRjtFVTl3Q0E7SUFDRTtJQUNBO0VWZ3hDRjtFVWx4Q0E7SUFDRTtJQUNBO0VWb3hDRjtFVXR4Q0E7SUFDRTtJQUNBO0VWd3hDRjtFVTF2Q0k7SUFsREo7SUFDQTtFVit5Q0E7RVV4dkNRO0lBckVOO0lBQ0E7RVZnMENGO0VVNXZDUTtJQXJFTjtJQUNBO0VWbzBDRjtFVWh3Q1E7SUFyRU47SUFDQTtFVncwQ0Y7RVVwd0NRO0lBckVOO0lBQ0E7RVY0MENGO0VVeHdDUTtJQXJFTjtJQUNBO0VWZzFDRjtFVTV3Q1E7SUFyRU47SUFDQTtFVm8xQ0Y7RVVoeENRO0lBckVOO0lBQ0E7RVZ3MUNGO0VVcHhDUTtJQXJFTjtJQUNBO0VWNDFDRjtFVXh4Q1E7SUFyRU47SUFDQTtFVmcyQ0Y7RVU1eENRO0lBckVOO0lBQ0E7RVZvMkNGO0VVaHlDUTtJQXJFTjtJQUNBO0VWdzJDRjtFVXB5Q1E7SUFyRU47SUFDQTtFVjQyQ0Y7RVVoeUNVO0lBdERWO0VWeTFDQTtFVW55Q1U7SUF0RFY7RVY0MUNBO0VVdHlDVTtJQXREVjtFVisxQ0E7RVV6eUNVO0lBdERWO0VWazJDQTtFVTV5Q1U7SUF0RFY7RVZxMkNBO0VVL3lDVTtJQXREVjtFVncyQ0E7RVVsekNVO0lBdERWO0VWMjJDQTtFVXJ6Q1U7SUF0RFY7RVY4MkNBO0VVeHpDVTtJQXREVjtFVmkzQ0E7RVUzekNVO0lBdERWO0VWbzNDQTtFVTl6Q1U7SUF0RFY7RVZ1M0NBO0VVajBDVTtJQXREVjtFVjAzQ0E7RVU1ekNNO0lBQ0U7RVY4ekNSO0VVNXpDUTtJQUNFO0VWOHpDVjtBQUNGO0FtQjc2Q0E7RUFDRTtBbkIrNkNGOztBbUI1NkNBO0VBQ0M7QW5CKzZDRDs7QW9CeDhDQTs7RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnk4Q0Y7O0FvQnQ4Q0E7O0FBS0E7O0VBQUE7QUFJQTtFQUNFO0FwQnE4Q0Y7O0FvQmo4Q0E7O0VBQUE7QUFJQTtFQUNFO0FwQm04Q0Y7O0FvQi83Q0E7O0VBQUE7QUFJQTtFQUNFO0FwQmk4Q0Y7O0FvQjc3Q0E7O0VBQUE7QUFJQTs7RUFFRTtBcEIrN0NGOztBb0I1N0NBOzs7RUFHRTtBcEIrN0NGOztBb0Ix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TzFEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJvekRGO0FhanpERTs7RUFDRTtBYm96REo7O0FBM3VEQTs7RUFBQTtBNkJqR0E7O0VBQUE7QUFPRTtFQUNFO0E3QjgwREo7O0E2QjEwREU7RUFDRTtBN0I2MERKOztBNkJuMURFO0VBQ0U7QTdCczFESjs7QTZCbDFERTtFQUNFO0E3QnExREo7O0E2QjMxREU7RUFDRTtBN0I4MURKOztBNkIxMURFO0VBQ0U7QTdCNjFESjs7QTZCbjJERTtFQUNFO0E3QnMyREo7O0E2QmwyREU7RUFDRTtBN0JxMkRKOztBNkIzMkRFO0VBQ0U7QTdCODJESjs7QTZCMTJERTtFQUNFO0E3QjYyREo7O0E2Qm4zREU7RUFDRTtBN0JzM0RKOztBNkJsM0RFO0VBQ0U7QTdCcTNESjs7QTZCMzNERTtFQUNFO0E3QjgzREo7O0E2QjEzREU7RUFDRTtBN0I2M0RKOztBNkJuNERFO0VBQ0U7QTdCczRESjs7QTZCbDRERTtFQUNFO0E3QnE0REo7O0E2QjM0REU7RUFDRTtBN0I4NERKOztBNkIxNERFO0VBQ0U7QTdCNjRESjs7QTZCbjVERTtFQUNFO0E3QnM1REo7O0E2Qmw1REU7RUFDRTtBN0JxNURKOztBNkIzNURFO0VBQ0U7QTdCODVESjs7QTZCMTVERTtFQUNFO0E3QjY1REo7O0E4QjE2REE7O0VBQUE7QUFVTTtFQUF3QjtBOUJ1NkQ5Qjs7QThCdjZETTtFQUF3QjtBOUIyNkQ5Qjs7QThCMzZETTtFQUF3QjtBOUIrNkQ5Qjs7QThCLzZETTtFQUF3QjtBOUJtN0Q5Qjs7QThCbjdETTtFQUF3QjtBOUJ1N0Q5Qjs7QThCdjdETTtFQUF3QjtBOUIyN0Q5Qjs7QVN6N0RJO0VxQkZFO0lBQXdCO0U5Qmc4RDVCO0U4Qmg4REk7SUFBd0I7RTlCbThENUI7RThCbjhESTtJQUF3QjtFOUJzOEQ1QjtFOEJ0OERJO0lBQXdCO0U5Qnk4RDVCO0U4Qno4REk7SUFBd0I7RTlCNDhENUI7RThCNThESTtJQUF3QjtFOUIrOEQ1QjtBQUNGO0FTOThESTtFcUJGRTtJQUF3QjtFOUJvOUQ1QjtFOEJwOURJO0lBQXdCO0U5QnU5RDVCO0U4QnY5REk7SUFBd0I7RTlCMDlENUI7RThCMTlESTtJQUF3QjtFOUI2OUQ1QjtFOEI3OURJO0lBQXdCO0U5QmcrRDVCO0U4QmgrREk7SUFBd0I7RTlCbStENUI7QUFDRjtBU2wrREk7RXFCRkU7SUFBd0I7RTlCdytENUI7RThCeCtESTtJQUF3QjtFOUIyK0Q1QjtFOEIzK0RJO0lBQXdCO0U5QjgrRDVCO0U4QjkrREk7SUFBd0I7RTlCaS9ENUI7RThCai9ESTtJQUF3QjtFOUJvL0Q1QjtFOEJwL0RJO0lBQXdCO0U5QnUvRDVCO0FBQ0Y7QVN0L0RJO0VxQkZFO0lBQXdCO0U5QjQvRDVCO0U4QjUvREk7SUFBd0I7RTlCKy9ENUI7RThCLy9ESTtJQUF3QjtFOUJrZ0U1QjtFOEJsZ0VJO0lBQXdCO0U5QnFnRTVCO0U4QnJnRUk7SUFBd0I7RTlCd2dFNUI7RThCeGdFSTtJQUF3QjtFOUIyZ0U1QjtBQUNGO0ErQnRoRUE7O0VBQUE7QUFLQTtBQU1JO0VBQWdDO0EvQmtoRXBDOztBK0JqaEVJO0VBQWdDO0EvQnFoRXBDOztBK0JwaEVJO0VBQWdDO0EvQndoRXBDOztBK0J2aEVJO0VBQWdDO0EvQjJoRXBDOztBK0J6aEVJO0VBQW9DO0EvQjZoRXhDOztBK0I1aEVJO0VBQW9DO0EvQmdpRXhDOztBK0IvaEVJO0VBQW9DO0EvQm1pRXhDOztBK0JsaUVJO0VBQW9DO0EvQnNpRXhDOztBK0JyaUVJO0VBQW9DO0EvQnlpRXhDOztBK0J4aUVJO0VBQW9DO0EvQjRpRXhDOztBK0IxaUVJO0VBQWlDO0EvQjhpRXJDOztBK0I3aUVJO0VBQWlDO0EvQmlqRXJDOztBK0JoakVJO0VBQWlDO0EvQm9qRXJDOztBK0JuakVJO0VBQWlDO0EvQnVqRXJDOztBK0J0akVJO0VBQWlDO0EvQjBqRXJDOztBK0J4akVJO0VBQWtDO0EvQjRqRXRDOztBK0IzakVJO0VBQWtDO0EvQitqRXRDOztBK0I5akVJO0VBQWtDO0EvQmtrRXRDOztBK0Jqa0VJO0VBQWtDO0EvQnFrRXRDOztBK0Jwa0VJO0VBQWtDO0EvQndrRXRDOztBK0J2a0VJO0VBQWtDO0EvQjJrRXRDOztBK0J6a0VJO0VBQThCO0EvQjZrRWxDOztBK0I1a0VJO0VBQThCO0EvQmdsRWxDOztBK0Iva0VJO0VBQThCO0EvQm1sRWxDOztBK0JqbEVJO0VBQWdDO0EvQnFsRXBDOztBK0JwbEVJO0VBQWdDO0EvQndsRXBDOztBK0J2bEVJO0VBQWdDO0EvQjJsRXBDOztBK0IxbEVJO0VBQWdDO0EvQjhsRXBDOztBK0I3bEVJO0VBQWdDO0EvQmltRXBDOztBK0I5bEVNO0VBQXdCO0EvQmttRTlCOztBK0JqbUVNO0VBQXdCO0EvQnFtRTlCOztBK0JsbUVRO0VBQXdCO0EvQnNtRWhDOztBK0J0bUVRO0VBQXdCO0EvQjBtRWhDOztBK0IxbUVRO0VBQXdCO0EvQjhtRWhDOztBK0I5bUVRO0VBQXdCO0EvQmtuRWhDOztBK0JsbkVRO0VBQXdCO0EvQnNuRWhDOztBK0J0bkVRO0VBQXdCO0EvQjBuRWhDOztBK0IxbkVRO0VBQXdCO0EvQjhuRWhDOztBK0IxbkVJO0VBQThCO0EvQjhuRWxDOztBK0I3bkVJO0VBQThCO0EvQmlvRWxDOztBK0Job0VJO0VBQThCO0EvQm9vRWxDOztBK0Jub0VJO0VBQThCO0EvQnVvRWxDOztBK0J0b0VJO0VBQThCO0EvQjBvRWxDOztBU3pyRUk7RXNCREE7SUFBZ0M7RS9CK3JFbEM7RStCOXJFRTtJQUFnQztFL0Jpc0VsQztFK0Joc0VFO0lBQWdDO0UvQm1zRWxDO0UrQmxzRUU7SUFBZ0M7RS9CcXNFbEM7RStCbnNFRTtJQUFvQztFL0Jzc0V0QztFK0Jyc0VFO0lBQW9DO0UvQndzRXRDO0UrQnZzRUU7SUFBb0M7RS9CMHNFdEM7RStCenNFRTtJQUFvQztFL0I0c0V0QztFK0Izc0VFO0lBQW9DO0UvQjhzRXRDO0UrQjdzRUU7SUFBb0M7RS9CZ3RFdEM7RStCOXNFRTtJQUFpQztFL0JpdEVuQztFK0JodEVFO0lBQWlDO0UvQm10RW5DO0UrQmx0RUU7SUFBaUM7RS9CcXRFbkM7RStCcHRFRTtJQUFpQztFL0J1dEVuQztFK0J0dEVFO0lBQWlDO0UvQnl0RW5DO0UrQnZ0RUU7SUFBa0M7RS9CMHRFcEM7RStCenRFRTtJQUFrQztFL0I0dEVwQztFK0IzdEVFO0lBQWtDO0UvQjh0RXBDO0UrQjd0RUU7SUFBa0M7RS9CZ3VFcEM7RStCL3RFRTtJQUFrQztFL0JrdUVwQztFK0JqdUVFO0lBQWtDO0UvQm91RXBDO0UrQmx1RUU7SUFBOEI7RS9CcXVFaEM7RStCcHVFRTtJQUE4QjtFL0J1dUVoQztFK0J0dUVFO0lBQThCO0UvQnl1RWhDO0UrQnZ1RUU7SUFBZ0M7RS9CMHVFbEM7RStCenVFRTtJQUFnQztFL0I0dUVsQztFK0IzdUVFO0lBQWdDO0UvQjh1RWxDO0UrQjd1RUU7SUFBZ0M7RS9CZ3ZFbEM7RStCL3VFRTtJQUFnQztFL0JrdkVsQztFK0IvdUVJO0lBQXdCO0UvQmt2RTVCO0UrQmp2RUk7SUFBd0I7RS9Cb3ZFNUI7RStCanZFTTtJQUF3QjtFL0JvdkU5QjtFK0JwdkVNO0lBQXdCO0UvQnV2RTlCO0UrQnZ2RU07SUFBd0I7RS9CMHZFOUI7RStCMXZFTTtJQUF3QjtFL0I2dkU5QjtFK0I3dkVNO0lBQXdCO0UvQmd3RTlCO0UrQmh3RU07SUFBd0I7RS9CbXdFOUI7RStCbndFTTtJQUF3QjtFL0Jzd0U5QjtFK0Jsd0VFO0lBQThCO0UvQnF3RWhDO0UrQnB3RUU7SUFBOEI7RS9CdXdFaEM7RStCdHdFRTtJQUE4QjtFL0J5d0VoQztFK0J4d0VFO0lBQThCO0UvQjJ3RWhDO0UrQjF3RUU7SUFBOEI7RS9CNndFaEM7QUFDRjtBUzd6RUk7RXNCREE7SUFBZ0M7RS9CazBFbEM7RStCajBFRTtJQUFnQztFL0JvMEVsQztFK0JuMEVFO0lBQWdDO0UvQnMwRWxDO0UrQnIwRUU7SUFBZ0M7RS9CdzBFbEM7RStCdDBFRTtJQUFvQztFL0J5MEV0QztFK0J4MEVFO0lBQW9DO0UvQjIwRXRDO0UrQjEwRUU7SUFBb0M7RS9CNjBFdEM7RStCNTBFRTtJQUFvQztFL0IrMEV0QztFK0I5MEVFO0lBQW9DO0UvQmkxRXRDO0UrQmgxRUU7SUFBb0M7RS9CbTFFdEM7RStCajFFRTtJQUFpQztFL0JvMUVuQztFK0JuMUVFO0lBQWlDO0UvQnMxRW5DO0UrQnIxRUU7SUFBaUM7RS9CdzFFbkM7RStCdjFFRTtJQUFpQztFL0IwMUVuQztFK0J6MUVFO0lBQWlDO0UvQjQxRW5DO0UrQjExRUU7SUFBa0M7RS9CNjFFcEM7RStCNTFFRTtJQUFrQztFL0IrMUVwQztFK0I5MUVFO0lBQWtDO0UvQmkyRXBDO0UrQmgyRUU7SUFBa0M7RS9CbTJFcEM7RStCbDJFRTtJQUFrQztFL0JxMkVwQztFK0JwMkVFO0lBQWtDO0UvQnUyRXBDO0UrQnIyRUU7SUFBOEI7RS9CdzJFaEM7RStCdjJFRTtJQUE4QjtFL0IwMkVoQztFK0J6MkVFO0lBQThCO0UvQjQyRWhDO0UrQjEyRUU7SUFBZ0M7RS9CNjJFbEM7RStCNTJFRTtJQUFnQztFL0IrMkVsQztFK0I5MkVFO0lBQWdDO0UvQmkzRWxDO0UrQmgzRUU7SUFBZ0M7RS9CbTNFbEM7RStCbDNFRTtJQUFnQztFL0JxM0VsQztFK0JsM0VJO0lBQXdCO0UvQnEzRTVCO0UrQnAzRUk7SUFBd0I7RS9CdTNFNUI7RStCcDNFTTtJQUF3QjtFL0J1M0U5QjtFK0J2M0VNO0lBQXdCO0UvQjAzRTlCO0UrQjEzRU07SUFBd0I7RS9CNjNFOUI7RStCNzNFTTtJQUF3QjtFL0JnNEU5QjtFK0JoNEVNO0lBQXdCO0UvQm00RTlCO0UrQm40RU07SUFBd0I7RS9CczRFOUI7RStCdDRFTTtJQUF3QjtFL0J5NEU5QjtFK0JyNEVFO0lBQThCO0UvQnc0RWhDO0UrQnY0RUU7SUFBOEI7RS9CMDRFaEM7RStCejRFRTtJQUE4QjtFL0I0NEVoQztFK0IzNEVFO0lBQThCO0UvQjg0RWhDO0UrQjc0RUU7SUFBOEI7RS9CZzVFaEM7QUFDRjtBU2g4RUk7RXNCREE7SUFBZ0M7RS9CcThFbEM7RStCcDhFRTtJQUFnQztFL0J1OEVsQztFK0J0OEVFO0lBQWdDO0UvQnk4RWxDO0UrQng4RUU7SUFBZ0M7RS9CMjhFbEM7RStCejhFRTtJQUFvQztFL0I0OEV0QztFK0IzOEVFO0lBQW9DO0UvQjg4RXRDO0UrQjc4RUU7SUFBb0M7RS9CZzlFdEM7RStCLzhFRTtJQUFvQztFL0JrOUV0QztFK0JqOUVFO0lBQW9DO0UvQm85RXRDO0UrQm45RUU7SUFBb0M7RS9CczlFdEM7RStCcDlFRTtJQUFpQztFL0J1OUVuQztFK0J0OUVFO0lBQWlDO0UvQnk5RW5DO0UrQng5RUU7SUFBaUM7RS9CMjlFbkM7RStCMTlFRTtJQUFpQztFL0I2OUVuQztFK0I1OUVFO0lBQWlDO0UvQis5RW5DO0UrQjc5RUU7SUFBa0M7RS9CZytFcEM7RStCLzlFRTtJQUFrQztFL0JrK0VwQztFK0JqK0VFO0lBQWtDO0UvQm8rRXBDO0UrQm4rRUU7SUFBa0M7RS9CcytFcEM7RStCcitFRTtJQUFrQztFL0J3K0VwQztFK0J2K0VFO0lBQWtDO0UvQjArRXBDO0UrQngrRUU7SUFBOEI7RS9CMitFaEM7RStCMStFRTtJQUE4QjtFL0I2K0VoQztFK0I1K0VFO0lBQThCO0UvQisrRWhDO0UrQjcrRUU7SUFBZ0M7RS9CZy9FbEM7RStCLytFRTtJQUFnQztFL0JrL0VsQztFK0JqL0VFO0lBQWdDO0UvQm8vRWxDO0UrQm4vRUU7SUFBZ0M7RS9Ccy9FbEM7RStCci9FRTtJQUFnQztFL0J3L0VsQztFK0JyL0VJO0lBQXdCO0UvQncvRTVCO0UrQnYvRUk7SUFBd0I7RS9CMC9FNUI7RStCdi9FTTtJQUF3QjtFL0IwL0U5QjtFK0IxL0VNO0lBQXdCO0UvQjYvRTlCO0UrQjcvRU07SUFBd0I7RS9CZ2dGOUI7RStCaGdGTTtJQUF3QjtFL0JtZ0Y5QjtFK0JuZ0ZNO0lBQXdCO0UvQnNnRjlCO0UrQnRnRk07SUFBd0I7RS9CeWdGOUI7RStCemdGTTtJQUF3QjtFL0I0Z0Y5QjtFK0J4Z0ZFO0lBQThCO0UvQjJnRmhDO0UrQjFnRkU7SUFBOEI7RS9CNmdGaEM7RStCNWdGRTtJQUE4QjtFL0IrZ0ZoQztFK0I5Z0ZFO0lBQThCO0UvQmloRmhDO0UrQmhoRkU7SUFBOEI7RS9CbWhGaEM7QUFDRjtBU25rRkk7RXNCREE7SUFBZ0M7RS9Cd2tGbEM7RStCdmtGRTtJQUFnQztFL0Iwa0ZsQztFK0J6a0ZFO0lBQWdDO0UvQjRrRmxDO0UrQjNrRkU7SUFBZ0M7RS9COGtGbEM7RStCNWtGRTtJQUFvQztFL0Ira0Z0QztFK0I5a0ZFO0lBQW9DO0UvQmlsRnRDO0UrQmhsRkU7SUFBb0M7RS9CbWxGdEM7RStCbGxGRTtJQUFvQztFL0JxbEZ0QztFK0JwbEZFO0lBQW9DO0UvQnVsRnRDO0UrQnRsRkU7SUFBb0M7RS9CeWxGdEM7RStCdmxGRTtJQUFpQztFL0IwbEZuQztFK0J6bEZFO0lBQWlDO0UvQjRsRm5DO0UrQjNsRkU7SUFBaUM7RS9COGxGbkM7RStCN2xGRTtJQUFpQztFL0JnbUZuQztFK0IvbEZFO0lBQWlDO0UvQmttRm5DO0UrQmhtRkU7SUFBa0M7RS9CbW1GcEM7RStCbG1GRTtJQUFrQztFL0JxbUZwQztFK0JwbUZFO0lBQWtDO0UvQnVtRnBDO0UrQnRtRkU7SUFBa0M7RS9CeW1GcEM7RStCeG1GRTtJQUFrQztFL0IybUZwQztFK0IxbUZFO0lBQWtDO0UvQjZtRnBDO0UrQjNtRkU7SUFBOEI7RS9COG1GaEM7RStCN21GRTtJQUE4QjtFL0JnbkZoQztFK0IvbUZFO0lBQThCO0UvQmtuRmhDO0UrQmhuRkU7SUFBZ0M7RS9CbW5GbEM7RStCbG5GRTtJQUFnQztFL0JxbkZsQztFK0JwbkZFO0lBQWdDO0UvQnVuRmxDO0UrQnRuRkU7SUFBZ0M7RS9CeW5GbEM7RStCeG5GRTtJQUFnQztFL0IybkZsQztFK0J4bkZJO0lBQXdCO0UvQjJuRjVCO0UrQjFuRkk7SUFBd0I7RS9CNm5GNUI7RStCMW5GTTtJQUF3QjtFL0I2bkY5QjtFK0I3bkZNO0lBQXdCO0UvQmdvRjlCO0UrQmhvRk07SUFBd0I7RS9CbW9GOUI7RStCbm9GTTtJQUF3QjtFL0Jzb0Y5QjtFK0J0b0ZNO0lBQXdCO0UvQnlvRjlCO0UrQnpvRk07SUFBd0I7RS9CNG9GOUI7RStCNW9GTTtJQUF3QjtFL0Irb0Y5QjtFK0Izb0ZFO0lBQThCO0UvQjhvRmhDO0UrQjdvRkU7SUFBOEI7RS9CZ3BGaEM7RStCL29GRTtJQUE4QjtFL0JrcEZoQztFK0JqcEZFO0lBQThCO0UvQm9wRmhDO0UrQm5wRkU7SUFBOEI7RS9Cc3BGaEM7QUFDRjtBZ0NsdEZBOztFQUFBO0FBV1E7RUFBZ0M7QWhDNnNGeEM7O0FnQzVzRlE7O0VBRUU7QWhDK3NGVjs7QWdDN3NGUTs7RUFFRTtBaENndEZWOztBZ0M5c0ZROztFQUVFO0FoQ2l0RlY7O0FnQy9zRlE7O0VBRUU7QWhDa3RGVjs7QWdDanVGUTtFQUFnQztBaENxdUZ4Qzs7QWdDcHVGUTs7RUFFRTtBaEN1dUZWOztBZ0NydUZROztFQUVFO0FoQ3d1RlY7O0FnQ3R1RlE7O0VBRUU7QWhDeXVGVjs7QWdDdnVGUTs7RUFFRTtBaEMwdUZWOztBZ0N6dkZRO0VBQWdDO0FoQzZ2RnhDOztBZ0M1dkZROztFQUVFO0FoQyt2RlY7O0FnQzd2RlE7O0VBRUU7QWhDZ3dGVjs7QWdDOXZGUTs7RUFFRTtBaENpd0ZWOztBZ0MvdkZROztFQUVFO0FoQ2t3RlY7O0FnQ2p4RlE7RUFBZ0M7QWhDcXhGeEM7O0FnQ3B4RlE7O0VBRUU7QWhDdXhGVjs7QWdDcnhGUTs7RUFFRTtBaEN3eEZWOztBZ0N0eEZROztFQUVFO0FoQ3l4RlY7O0FnQ3Z4RlE7O0VBRUU7QWhDMHhGVjs7QWdDenlGUTtFQUFnQztBaEM2eUZ4Qzs7QWdDNXlGUTs7RUFFRTtBaEMreUZWOztBZ0M3eUZROztFQUVFO0FoQ2d6RlY7O0FnQzl5RlE7O0VBRUU7QWhDaXpGVjs7QWdDL3lGUTs7RUFFRTtBaENrekZWOztBZ0NqMEZRO0VBQWdDO0FoQ3EwRnhDOztBZ0NwMEZROztFQUVFO0FoQ3UwRlY7O0FnQ3IwRlE7O0VBRUU7QWhDdzBGVjs7QWdDdDBGUTs7RUFFRTtBaEN5MEZWOztBZ0N2MEZROztFQUVFO0FoQzAwRlY7O0FnQ3oxRlE7RUFBZ0M7QWhDNjFGeEM7O0FnQzUxRlE7O0VBRUU7QWhDKzFGVjs7QWdDNzFGUTs7RUFFRTtBaENnMkZWOztBZ0M5MUZROztFQUVFO0FoQ2kyRlY7O0FnQy8xRlE7O0VBRUU7QWhDazJGVjs7QWdDajNGUTtFQUFnQztBaENxM0Z4Qzs7QWdDcDNGUTs7RUFFRTtBaEN1M0ZWOztBZ0NyM0ZROztFQUVFO0FoQ3czRlY7O0FnQ3QzRlE7O0VBRUU7QWhDeTNGVjs7QWdDdjNGUTs7RUFFRTtBaEMwM0ZWOztBZ0N6NEZRO0VBQWdDO0FoQzY0RnhDOztBZ0M1NEZROztFQUVFO0FoQys0RlY7O0FnQzc0RlE7O0VBRUU7QWhDZzVGVjs7QWdDOTRGUTs7RUFFRTtBaENpNUZWOztBZ0MvNEZROztFQUVFO0FoQ2s1RlY7O0FnQ2o2RlE7RUFBZ0M7QWhDcTZGeEM7O0FnQ3A2RlE7O0VBRUU7QWhDdTZGVjs7QWdDcjZGUTs7RUFFRTtBaEN3NkZWOztBZ0N0NkZROztFQUVFO0FoQ3k2RlY7O0FnQ3Y2RlE7O0VBRUU7QWhDMDZGVjs7QWdDMzRGSTtFQUFtQjtBaEMrNEZ2Qjs7QWdDOTRGSTs7RUFFRTtBaENpNUZOOztBZ0MvNEZJOztFQUVFO0FoQ2s1Rk47O0FnQ2g1Rkk7O0VBRUU7QWhDbTVGTjs7QWdDajVGSTs7RUFFRTtBaENvNUZOOztBU2g5Rkk7RXVCREk7SUFBZ0M7RWhDczlGdEM7RWdDcjlGTTs7SUFFRTtFaEN1OUZSO0VnQ3I5Rk07O0lBRUU7RWhDdTlGUjtFZ0NyOUZNOztJQUVFO0VoQ3U5RlI7RWdDcjlGTTs7SUFFRTtFaEN1OUZSO0VnQ3QrRk07SUFBZ0M7RWhDeStGdEM7RWdDeCtGTTs7SUFFRTtFaEMwK0ZSO0VnQ3grRk07O0lBRUU7RWhDMCtGUjtFZ0N4K0ZNOztJQUVFO0VoQzArRlI7RWdDeCtGTTs7SUFFRTtFaEMwK0ZSO0VnQ3ovRk07SUFBZ0M7RWhDNC9GdEM7RWdDMy9GTTs7SUFFRTtFaEM2L0ZSO0VnQzMvRk07O0lBRUU7RWhDNi9GUjtFZ0MzL0ZNOztJQUVFO0VoQzYvRlI7RWdDMy9GTTs7SUFFRTtFaEM2L0ZSO0VnQzVnR007SUFBZ0M7RWhDK2dHdEM7RWdDOWdHTTs7SUFFRTtFaENnaEdSO0VnQzlnR007O0lBRUU7RWhDZ2hHUjtFZ0M5Z0dNOztJQUVFO0VoQ2doR1I7RWdDOWdHTTs7SUFFRTtFaENnaEdSO0VnQy9oR007SUFBZ0M7RWhDa2lHdEM7RWdDamlHTTs7SUFFRTtFaENtaUdSO0VnQ2ppR007O0lBRUU7RWhDbWlHUjtFZ0NqaUdNOztJQUVFO0VoQ21pR1I7RWdDamlHTTs7SUFFRTtFaENtaUdSO0VnQ2xqR007SUFBZ0M7RWhDcWpHdEM7RWdDcGpHTTs7SUFFRTtFaENzakdSO0VnQ3BqR007O0lBRUU7RWhDc2pHUjtFZ0NwakdNOztJQUVFO0VoQ3NqR1I7RWdDcGpHTTs7SUFFRTtFaENzakdSO0VnQ3JrR007SUFBZ0M7RWhDd2tHdEM7RWdDdmtHTTs7SUFFRTtFaEN5a0dSO0VnQ3ZrR007O0lBRUU7RWhDeWtHUjtFZ0N2a0dNOztJQUVFO0VoQ3lrR1I7RWdDdmtHTTs7SUFFRTtFaEN5a0dSO0VnQ3hsR007SUFBZ0M7RWhDMmxHdEM7RWdDMWxHTTs7SUFFRTtFaEM0bEdSO0VnQzFsR007O0lBRUU7RWhDNGxHUjtFZ0MxbEdNOztJQUVFO0VoQzRsR1I7RWdDMWxHTTs7SUFFRTtFaEM0bEdSO0VnQzNtR007SUFBZ0M7RWhDOG1HdEM7RWdDN21HTTs7SUFFRTtFaEMrbUdSO0VnQzdtR007O0lBRUU7RWhDK21HUjtFZ0M3bUdNOztJQUVFO0VoQyttR1I7RWdDN21HTTs7SUFFRTtFaEMrbUdSO0VnQzluR007SUFBZ0M7RWhDaW9HdEM7RWdDaG9HTTs7SUFFRTtFaENrb0dSO0VnQ2hvR007O0lBRUU7RWhDa29HUjtFZ0Nob0dNOztJQUVFO0VoQ2tvR1I7RWdDaG9HTTs7SUFFRTtFaENrb0dSO0VnQ25tR0U7SUFBbUI7RWhDc21HckI7RWdDcm1HRTs7SUFFRTtFaEN1bUdKO0VnQ3JtR0U7O0lBRUU7RWhDdW1HSjtFZ0NybUdFOztJQUVFO0VoQ3VtR0o7RWdDcm1HRTs7SUFFRTtFaEN1bUdKO0FBQ0Y7QVNwcUdJO0V1QkRJO0lBQWdDO0VoQ3lxR3RDO0VnQ3hxR007O0lBRUU7RWhDMHFHUjtFZ0N4cUdNOztJQUVFO0VoQzBxR1I7RWdDeHFHTTs7SUFFRTtFaEMwcUdSO0VnQ3hxR007O0lBRUU7RWhDMHFHUjtFZ0N6ckdNO0lBQWdDO0VoQzRyR3RDO0VnQzNyR007O0lBRUU7RWhDNnJHUjtFZ0MzckdNOztJQUVFO0VoQzZyR1I7RWdDM3JHTTs7SUFFRTtFaEM2ckdSO0VnQzNyR007O0lBRUU7RWhDNnJHUjtFZ0M1c0dNO0lBQWdDO0VoQytzR3RDO0VnQzlzR007O0lBRUU7RWhDZ3RHUjtFZ0M5c0dNOztJQUVFO0VoQ2d0R1I7RWdDOXNHTTs7SUFFRTtFaENndEdSO0VnQzlzR007O0lBRUU7RWhDZ3RHUjtFZ0MvdEdNO0lBQWdDO0VoQ2t1R3RDO0VnQ2p1R007O0lBRUU7RWhDbXVHUjtFZ0NqdUdNOztJQUVFO0VoQ211R1I7RWdDanVHTTs7SUFFRTtFaENtdUdSO0VnQ2p1R007O0lBRUU7RWhDbXVHUjtFZ0NsdkdNO0lBQWdDO0VoQ3F2R3RDO0VnQ3B2R007O0lBRUU7RWhDc3ZHUjtFZ0NwdkdNOztJQUVFO0VoQ3N2R1I7RWdDcHZHTTs7SUFFRTtFaENzdkdSO0VnQ3B2R007O0lBRUU7RWhDc3ZHUjtFZ0Nyd0dNO0lBQWdDO0VoQ3d3R3RDO0VnQ3Z3R007O0lBRUU7RWhDeXdHUjtFZ0N2d0dNOztJQUVFO0VoQ3l3R1I7RWdDdndHTTs7SUFFRTtFaEN5d0dSO0VnQ3Z3R007O0lBRUU7RWhDeXdHUjtFZ0N4eEdNO0lBQWdDO0VoQzJ4R3RDO0VnQzF4R007O0lBRUU7RWhDNHhHUjtFZ0MxeEdNOztJQUVFO0VoQzR4R1I7RWdDMXhHTTs7SUFFRTtFaEM0eEdSO0VnQzF4R007O0lBRUU7RWhDNHhHUjtFZ0MzeUdNO0lBQWdDO0VoQzh5R3RDO0VnQzd5R007O0lBRUU7RWhDK3lHUjtFZ0M3eUdNOztJQUVFO0VoQyt5R1I7RWdDN3lHTTs7SUFFRTtFaEMreUdSO0VnQzd5R007O0lBRUU7RWhDK3lHUjtFZ0M5ekdNO0lBQWdDO0VoQ2kwR3RDO0VnQ2gwR007O0lBRUU7RWhDazBHUjtFZ0NoMEdNOztJQUVFO0VoQ2swR1I7RWdDaDBHTTs7SUFFRTtFaENrMEdSO0VnQ2gwR007O0lBRUU7RWhDazBHUjtFZ0NqMUdNO0lBQWdDO0VoQ28xR3RDO0VnQ24xR007O0lBRUU7RWhDcTFHUjtFZ0NuMUdNOztJQUVFO0VoQ3ExR1I7RWdDbjFHTTs7SUFFRTtFaENxMUdSO0VnQ24xR007O0lBRUU7RWhDcTFHUjtFZ0N0ekdFO0lBQW1CO0VoQ3l6R3JCO0VnQ3h6R0U7O0lBRUU7RWhDMHpHSjtFZ0N4ekdFOztJQUVFO0VoQzB6R0o7RWdDeHpHRTs7SUFFRTtFaEMwekdKO0VnQ3h6R0U7O0lBRUU7RWhDMHpHSjtBQUNGO0FTdjNHSTtFdUJESTtJQUFnQztFaEM0M0d0QztFZ0MzM0dNOztJQUVFO0VoQzYzR1I7RWdDMzNHTTs7SUFFRTtFaEM2M0dSO0VnQzMzR007O0lBRUU7RWhDNjNHUjtFZ0MzM0dNOztJQUVFO0VoQzYzR1I7RWdDNTRHTTtJQUFnQztFaEMrNEd0QztFZ0M5NEdNOztJQUVFO0VoQ2c1R1I7RWdDOTRHTTs7SUFFRTtFaENnNUdSO0VnQzk0R007O0lBRUU7RWhDZzVHUjtFZ0M5NEdNOztJQUVFO0VoQ2c1R1I7RWdDLzVHTTtJQUFnQztFaENrNkd0QztFZ0NqNkdNOztJQUVFO0VoQ202R1I7RWdDajZHTTs7SUFFRTtFaENtNkdSO0VnQ2o2R007O0lBRUU7RWhDbTZHUjtFZ0NqNkdNOztJQUVFO0VoQ202R1I7RWdDbDdHTTtJQUFnQztFaENxN0d0QztFZ0NwN0dNOztJQUVFO0VoQ3M3R1I7RWdDcDdHTTs7SUFFRTtFaENzN0dSO0VnQ3A3R007O0lBRUU7RWhDczdHUjtFZ0NwN0dNOztJQUVFO0VoQ3M3R1I7RWdDcjhHTTtJQUFnQztFaEN3OEd0QztFZ0N2OEdNOztJQUVFO0VoQ3k4R1I7RWdDdjhHTTs7SUFFRTtFaEN5OEdSO0VnQ3Y4R007O0lBRUU7RWhDeThHUjtFZ0N2OEdNOztJQUVFO0VoQ3k4R1I7RWdDeDlHTTtJQUFnQztFaEMyOUd0QztFZ0MxOUdNOztJQUVFO0VoQzQ5R1I7RWdDMTlHTTs7SUFFRTtFaEM0OUdSO0VnQzE5R007O0lBRUU7RWhDNDlHUjtFZ0MxOUdNOztJQUVFO0VoQzQ5R1I7RWdDMytHTTtJQUFnQztFaEM4K0d0QztFZ0M3K0dNOztJQUVFO0VoQysrR1I7RWdDNytHTTs7SUFFRTtFaEMrK0dSO0VnQzcrR007O0lBRUU7RWhDKytHUjtFZ0M3K0dNOztJQUVFO0VoQysrR1I7RWdDOS9HTTtJQUFnQztFaENpZ0h0QztFZ0NoZ0hNOztJQUVFO0VoQ2tnSFI7RWdDaGdITTs7SUFFRTtFaENrZ0hSO0VnQ2hnSE07O0lBRUU7RWhDa2dIUjtFZ0NoZ0hNOztJQUVFO0VoQ2tnSFI7RWdDamhITTtJQUFnQztFaENvaEh0QztFZ0NuaEhNOztJQUVFO0VoQ3FoSFI7RWdDbmhITTs7SUFFRTtFaENxaEhSO0VnQ25oSE07O0lBRUU7RWhDcWhIUjtFZ0NuaEhNOztJQUVFO0VoQ3FoSFI7RWdDcGlITTtJQUFnQztFaEN1aUh0QztFZ0N0aUhNOztJQUVFO0VoQ3dpSFI7RWdDdGlITTs7SUFFRTtFaEN3aUhSO0VnQ3RpSE07O0lBRUU7RWhDd2lIUjtFZ0N0aUhNOztJQUVFO0VoQ3dpSFI7RWdDemdIRTtJQUFtQjtFaEM0Z0hyQjtFZ0MzZ0hFOztJQUVFO0VoQzZnSEo7RWdDM2dIRTs7SUFFRTtFaEM2Z0hKO0VnQzNnSEU7O0lBRUU7RWhDNmdISjtFZ0MzZ0hFOztJQUVFO0VoQzZnSEo7QUFDRjtBUzFrSEk7RXVCREk7SUFBZ0M7RWhDK2tIdEM7RWdDOWtITTs7SUFFRTtFaENnbEhSO0VnQzlrSE07O0lBRUU7RWhDZ2xIUjtFZ0M5a0hNOztJQUVFO0VoQ2dsSFI7RWdDOWtITTs7SUFFRTtFaENnbEhSO0VnQy9sSE07SUFBZ0M7RWhDa21IdEM7RWdDam1ITTs7SUFFRTtFaENtbUhSO0VnQ2ptSE07O0lBRUU7RWhDbW1IUjtFZ0NqbUhNOztJQUVFO0VoQ21tSFI7RWdDam1ITTs7SUFFRTtFaENtbUhSO0VnQ2xuSE07SUFBZ0M7RWhDcW5IdEM7RWdDcG5ITTs7SUFFRTtFaENzbkhSO0VnQ3BuSE07O0lBRUU7RWhDc25IUjtFZ0NwbkhNOztJQUVFO0VoQ3NuSFI7RWdDcG5ITTs7SUFFRTtFaENzbkhSO0VnQ3JvSE07SUFBZ0M7RWhDd29IdEM7RWdDdm9ITTs7SUFFRTtFaEN5b0hSO0VnQ3ZvSE07O0lBRUU7RWhDeW9IUjtFZ0N2b0hNOztJQUVFO0VoQ3lvSFI7RWdDdm9ITTs7SUFFRTtFaEN5b0hSO0VnQ3hwSE07SUFBZ0M7RWhDMnBIdEM7RWdDMXBITTs7SUFFRTtFaEM0cEhSO0VnQzFwSE07O0lBRUU7RWhDNHBIUjtFZ0MxcEhNOztJQUVFO0VoQzRwSFI7RWdDMXBITTs7SUFFRTtFaEM0cEhSO0VnQzNxSE07SUFBZ0M7RWhDOHFIdEM7RWdDN3FITTs7SUFFRTtFaEMrcUhSO0VnQzdxSE07O0lBRUU7RWhDK3FIUjtFZ0M3cUhNOztJQUVFO0VoQytxSFI7RWdDN3FITTs7SUFFRTtFaEMrcUhSO0VnQzlySE07SUFBZ0M7RWhDaXNIdEM7RWdDaHNITTs7SUFFRTtFaENrc0hSO0VnQ2hzSE07O0lBRUU7RWhDa3NIUjtFZ0Noc0hNOztJQUVFO0VoQ2tzSFI7RWdDaHNITTs7SUFFRTtFaENrc0hSO0VnQ2p0SE07SUFBZ0M7RWhDb3RIdEM7RWdDbnRITTs7SUFFRTtFaENxdEhSO0VnQ250SE07O0lBRUU7RWhDcXRIUjtFZ0NudEhNOztJQUVFO0VoQ3F0SFI7RWdDbnRITTs7SUFFRTtFaENxdEhSO0VnQ3B1SE07SUFBZ0M7RWhDdXVIdEM7RWdDdHVITTs7SUFFRTtFaEN3dUhSO0VnQ3R1SE07O0lBRUU7RWhDd3VIUjtFZ0N0dUhNOztJQUVFO0VoQ3d1SFI7RWdDdHVITTs7SUFFRTtFaEN3dUhSO0VnQ3Z2SE07SUFBZ0M7RWhDMHZIdEM7RWdDenZITTs7SUFFRTtFaEMydkhSO0VnQ3p2SE07O0lBRUU7RWhDMnZIUjtFZ0N6dkhNOztJQUVFO0VoQzJ2SFI7RWdDenZITTs7SUFFRTtFaEMydkhSO0VnQzV0SEU7SUFBbUI7RWhDK3RIckI7RWdDOXRIRTs7SUFFRTtFaENndUhKO0VnQzl0SEU7O0lBRUU7RWhDZ3VISjtFZ0M5dEhFOztJQUVFO0VoQ2d1SEo7RWdDOXRIRTs7SUFFRTtFaENndUhKO0FBQ0Y7QWlDenlIQTtFUkNFO0VBQ0E7QXpCMnlIRjtBeUJ6eUhFO0VBQ0U7RUFDQTtBekIyeUhKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Fic3RyYWN0cy9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9hYnN0cmFjdHMvZnVuY3Rpb25zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvYWJzdHJhY3RzL2Z1bmN0aW9ucy9fZGl2aWRlLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9hYnN0cmFjdHMvZnVuY3Rpb25zL19mb3JjZS10by1weC5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvYWJzdHJhY3RzL2Z1bmN0aW9ucy9fbWFwLWhlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Fic3RyYWN0cy9mdW5jdGlvbnMvX3N0cmlwLXVuaXQuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Fic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9hYnN0cmFjdHMvX21peGlucy5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvYWJzdHJhY3RzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Fic3RyYWN0cy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Fic3RyYWN0cy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9hYnN0cmFjdHMvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvYWJzdHJhY3RzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy92ZW5kb3ItbW9kaWZpZXJzL193b28uc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Jhc2UvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Jhc2UvX3JlYm9vdC5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvYmFzZS9fcmVzcG9uc2l2ZS1mb250LXNpemUuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Jhc2UvX2NvbnRhaW5lcnMuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Jhc2UvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL2NvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9jb21wb25lbnRzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL3dvcmRwcmVzcy9fd29yZHByZXNzLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9wYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9hYnN0cmFjdHMvbWl4aW5zL19taXNjLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9wYXJ0aWFscy9fZWRpdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy9oZWxwZXJzL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy91dGlsaXRpZXMvX2NvbG9ycy5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJ3ZWJwYWNrOi8vcGxheWdyb3VuZC8uL2Fzc2V0cy9zcmMvdGhlbWUvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly9wbGF5Z3JvdW5kLy4vYXNzZXRzL3NyYy90aGVtZS9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwid2VicGFjazovL3BsYXlncm91bmQvLi9hc3NldHMvc3JjL3RoZW1lL3Njc3MvdXRpbGl0aWVzL19taXNjLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYWluIFNDU1NcbiAqL1xuXG4vKiBub3RvLXNlcmlmLW9yaXlhLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyAvKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQGZvbnQtZmFjZS9mb250LWRpc3BsYXkgZm9yIG90aGVyIG9wdGlvbnMuICovXG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWYgT3JpeWFcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9wbGF5Z3JvdW5kL2Fzc2V0cy9zdGF0aWMvZm9udHMvbm90by1zZXJpZi1vcml5YS12Ni1sYXRpbi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuLyogcXVpY2tzYW5kLXJlZ3VsYXIgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICBmb250LWZhbWlseTogUXVpY2tzYW5kO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL3BsYXlncm91bmQvYXNzZXRzL3N0YXRpYy9mb250cy9xdWlja3NhbmQtdjM3LWxhdGluLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuLyogcXVpY2tzYW5kLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyAvKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQGZvbnQtZmFjZS9mb250LWRpc3BsYXkgZm9yIG90aGVyIG9wdGlvbnMuICovXG4gIGZvbnQtZmFtaWx5OiBRdWlja3NhbmQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvcGxheWdyb3VuZC9hc3NldHMvc3RhdGljL2ZvbnRzL3F1aWNrc2FuZC12MzctbGF0aW4tNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpOyAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbi8qKlxuICogQWJzdHJhY3RzXG4gKi9cbkBpbXBvcnQgXCJhYnN0cmFjdHMvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWJzdHJhY3RzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImFic3RyYWN0cy9taXhpbnNcIjtcblxuXG4vKipcbiAqIFZlbmRvcnNcbiAqIEFkZCB2ZW5kb3JzIGluc3RhbGxlZCB3aXRoIE5QTSBvciB2ZW5kb3JzIHlvdSBtYW51YWxseSBjb3BpZWQgdG8gdmVuZG9ycyBmb2xkZXIuXG4gKi9cblxuXG4vKipcbiAqIFZlbmRvciBtb2RpZmllcnNcbiAqIEFkZCB5b3VyIHZlbmRvciBtb2RpZmljYXRpb25zIHRvIHZlbmRvci1tb2RpZmllcnMgZm9sZGVyLlxuICovXG5cbkBpbXBvcnQgXCJ2ZW5kb3ItbW9kaWZpZXJzL3dvb1wiO1xuXG4vKipcbiAqIEJhc2VcbiAqL1xuQGltcG9ydCBcImJhc2Uvcm9vdFwiO1xuQGltcG9ydCBcImJhc2UvcmVib290XCI7XG5AaW1wb3J0IFwiYmFzZS9yZXNwb25zaXZlLWZvbnQtc2l6ZVwiO1xuQGltcG9ydCBcImJhc2UvY29udGFpbmVyc1wiO1xuQGltcG9ydCBcImJhc2UvZ3JpZFwiO1xuQGltcG9ydCBcImJhc2UvdHlwb2dyYXBoeVwiO1xuXG5cbi8qKlxuICogQ29tcG9uZW50c1xuICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9pY29uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFibGVzXCI7XG5cblxuLyoqXG4gKiBXb3JkUHJlc3NcbiAqIFdvcmRQcmVzcyBvciBXb3JkUHJlc3MgcGx1Z2luIHN0eWxlcyAoSUU6IFdvb0NvbW1lcmNlKS5cbiAqL1xuQGltcG9ydCBcIndvcmRwcmVzcy93b3JkcHJlc3NcIjtcblxuXG4vKipcbiAqIFBhcnRpYWxzXG4gKiBTdHlsaW5nIGZvciBwYXJ0aWFscyBsaWtlIGhlYWRlciwgZm9vdGVyLlxuICovXG5AaW1wb3J0IFwicGFydGlhbHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvZWRpdG9yXCI7XG5cblxuLyoqXG4gKiBUZW1wbGF0ZXNcbiAqL1xuXG5cbi8qKlxuICogSGVscGVyc1xuICovXG5AaW1wb3J0IFwiaGVscGVycy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImhlbHBlcnMvdmlzdWFsbHktaGlkZGVuXCI7XG5cblxuLyoqXG4gKiBVdGlsaXRpZXNcbiAqL1xuQGltcG9ydCBcInV0aWxpdGllcy9jb2xvcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZGlzcGxheVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbGV4XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvbWlzY1wiO1xuIiwiLyoqXG4gKiBGdW5jdGlvbnNcbiAqL1xuXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZGl2aWRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2ZvcmNlLXRvLXB4XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21hcC1oZWxwZXJzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRcIjtcbiIsIi8qKlxuICogQnJlYWtwb2ludHNcbiAqL1xuXG5cbi8qKlxuICogTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50XG4gKi9cbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuXG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG5cbi8qKlxuICogQnJlYWtwb2ludCBtaW5pbXVtIHdpZHRoXG4gKi9cbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuXG4vKipcbiAqIEJyZWFrcG9pbnQgbWF4aW11bSB3aWR0aFxuICovXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcblxuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuXG4vKipcbiAqIEJyZWFrcG9pbnQgbmFtZSBpcyBpbmZpeCAocmV0dXJucyBhbiBlbXB0eSBuYW1lIGlmIGl0J3MgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQpXG4gKi9cbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG4iLCIvKipcbiAqIERpdmlkZVxuICovXG5cblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcblxuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuXG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuXG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG5cbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuXG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuXG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG5cbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG5cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG5cbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcblxuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvKipcbiAqIEZvcmNlIHRvIFBYXG4gKi9cblxuXG5AZnVuY3Rpb24gZm9yY2UtdG8tcHgoJHZhbHVlKSB7XG4gICRyZXQ6ICR2YWx1ZTtcblxuICBAaWYgKHVuaXQoJHZhbHVlKSA9PSByZW0pIHtcbiAgICAkcmV0OiBjYWxjKHN0cmlwLXVuaXQoJHZhbHVlKSAqICRyZW0tc2l6ZSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXQ7XG59XG4iLCIvKipcbiAqIE1hcCBoZWxwZXJzXG4gKiBUaGVzZSBhcmUgYWN0dWFsbHkgbWl4aW5zIGFuZCBub3QgZnVuY3Rpb25zIGJ1dCB3ZSdyZSBrZWVwaW5nIHRoZW0gaGVyZSBzaW5jZSB0aGV5IGhhdmUgdG8gYmUgbG9hZGVkIGJlZm9yZSB2YXJpYWJsZXMgYW5kIG90aGVyIG1peGlucy5cbiAqL1xuXG5cbi8qKlxuICogRm9yY2UgYXNjZW5kaW5nIG9yZGVyIGluIGEgbWFwXG4gKi9cbkBtaXhpbiBhc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcblxuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9hdC1pZi1uby1udWxsICovXG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG5cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cblxuLyoqXG4gKiBGb3JjZSBhIG1hcCB0byBzdGFydCBhdCB6ZXJvXG4gKi9cbkBtaXhpbiBhc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuXG4gICAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogU3RyaXAgdW5pdFxuICovXG5cbi8vIFdlIGhhdmUgdG8gdXNlIGBzYXNzOm1hdGhgIGFuZCBgc2FzczptZXRhYCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIERhcnQgU2FzcywgYXMgdXNpbmcgY2FsYygpIGZvciB0aGlzIGNhbGN1bGF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICBAaWYgbWV0YS50eXBlLW9mKCRudW1iZXIpID09IFwibnVtYmVyXCIgYW5kIG5vdCBtYXRoLmlzLXVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICBAcmV0dXJuIG1hdGguZGl2KCRudW1iZXIsICRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG4iLCIvKipcbiAqIFZhcmlhYmxlc1xuICovXG5cbiRib3JkZXItcmFkaXVzOiAuNXJlbTtcblxuLyoqXG4gKiBSZW0gc2V0dGluZ3NcbiAqL1xuJHJlbS1zaXplOiAxMHB4O1xuXG5cbi8qKlxuICogQ29sb3JzXG4gKi9cblxuJHllbGxvdzogI2YzYTkxNDtcbiRyZWQ6ICNhYzRkM2U7XG4kYmx1ZTogIzI4ODk5OTtcbiRibHVlLWxpZ2h0OiAjM0FBMkFEO1xuJHdoaXRlLXNtb2tlOiAjZjVmNWY1O1xuJHNtb2tlOiAjZjdmMmYyO1xuXG4kY29sb3JzOiAoXG4gIFwid2hpdGVcIjogICAjZmZmLFxuICBcImJsYWNrXCI6ICAgIzAwMCxcbiAgXCJwcmltYXJ5XCI6ICRyZWQsXG4gIFwieWVsbG93XCI6ICR5ZWxsb3csXG4gIFwiZGFya1wiOiAjMzUzNTM1LFxuICBcInBhcGVyXCI6ICNmZmYzZTEsXG4gIFwicmVkXCI6ICRyZWQsXG4gIFwiYmx1ZVwiOiAkYmx1ZSxcbiAgXCJibHVlLWxpZ2h0XCI6ICRibHVlLWxpZ2h0LFxuICBcInNtb2tlXCI6ICRzbW9rZSxcbiAgXCJ3aGl0ZXNtb2tlXCI6ICR3aGl0ZS1zbW9rZSxcbik7XG5cblxuLyoqXG4gKiBTcGFjaW5nXG4gKi9cblxuJHNwYWNlcjogMnJlbTtcblxuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogY2FsYygkc3BhY2VyICogMSksXG4gIDI6IGNhbGMoJHNwYWNlciAqIDIpLFxuICAzOiBjYWxjKCRzcGFjZXIgKiAzKSxcbiAgNDogY2FsYygkc3BhY2VyICogNCksXG4pO1xuXG5cbi8qKlxuICogR3JpZFxuICovXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuKTtcblxuLy8gQ2hlY2sgaWYgJGdyaWQtYnJlYWtwb2ludHMgaXRlbXMgYXJlIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgYW5kIGlmIGl0IHN0YXJ0cyBhdCB6ZXJvLlxuQGluY2x1ZGUgYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIGFzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuJGdyaWQtY29sdW1uczogICAgICAxMjtcbiRncmlkLWd1dHRlci13aWR0aDogNDBweDtcblxuLy8gU2V0dGluZyB0aGF0IGNyZWF0ZXMgZ3JpZCBjbGFzc2VzLlxuJGVuYWJsZS1ncmlkLWNsYXNzZXM6IHRydWU7XG5cbi8vIEdyaWQgcm93IGNvbHVtbnMgaGVscGVyLlxuJGdyaWQtcm93LWNvbHVtbnM6IDY7XG5cbi8vIEd1dHRlcnMgaGVscGVyLlxuJGd1dHRlcnM6IChcbiAgMDogMCxcbik7XG5cbi8qKlxuICogQ29udGFpbmVyXG4gKi9cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4pO1xuXG4vLyBDaGVjayBpZiAkY29udGFpbmVyLW1heC13aWR0aHMgaXRlbXMgYXJlIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QuXG5AaW5jbHVkZSBhc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLyoqXG4gKiBEaXNwbGF5XG4gKi9cblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIGZsZXgsIGlubGluZS1mbGV4O1xuXG5cbi8qKlxuICogU3BhY2luZ1xuICovXG5cbi8vIEVuYWJsZSBuZWdhdGl2ZSBtYXJnaW5zIGZvciBtYXJraW5nIHNwYWNpbmcgdXRpbGl0eSBjbGFzc2VzLlxuJG5lZ2F0aXZlLW1hcmdpbnM6IGZhbHNlO1xuXG5cbi8qKlxuICogRmxleCB1dGlsaXRpZXNcbiAqL1xuXG4kZmxleC1vcmRlcjogNjtcblxuXG4vKipcbiAqIFRyYW5zaXRpb25zXG4gKi9cblxuJHRyYW5zLWR1cmF0aW9uLWJhc2U6ICAgICAgICAuM3M7XG4kdHJhbnMtdGltaW5nLWZ1bmN0aW9uLWJhc2U6IGVhc2Utb3V0O1xuXG5cbi8qKlxuICogVHlwb2dyYXBoeVxuICovXG5cbi8vIFR5cGUgc2NhbGUuXG5cbiR0eXBlLXNjYWxlOiAoKTtcblxuJHR5cGUtc3BhY2luZzogICAgIDA7XG4kaGVhZGluZ3Mtc3BhY2luZzogJHR5cGUtc3BhY2luZztcblxuLy8gVHlwZSBicmVha3BvaW50IHNldHRpbmdzLlxuXG4kdHlwZS1icmVha3BvaW50LXNldHRpbmdzOiAoXG4gIHhzOiAoKSxcbiAgc206ICgpLFxuICBtZDogKCksXG4gIGxnOiAoKSxcbiAgeGw6ICgpLFxuKTtcblxuXG4vKipcbiAqIFRhYmxlc1xuICovXG5cbiR0YWJsZS1wYWRkaW5nOiAgICAgICRzcGFjZXI7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAuMXJlbTtcbiIsIi8qKlxuICogTWl4aW5zXG4gKi9cblxuXG4vKipcbiAqIEJhc2VcbiAqL1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5cblxuLyoqXG4gKiBIZWxwZXJzXG4gKi9cbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzdWFsbHktaGlkZGVuXCI7XG5AaW1wb3J0IFwibWl4aW5zL21pc2NcIjtcbiIsIi8qKlxuICogQnJlYWtwb2ludHNcbiAqL1xuXG5cbi8qKlxuICogQnJlYWtwb2ludCB1cFxuICovXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vKipcbiAqIEJyZWFrcG9pbnQgZG93blxuICovXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8qKlxuICogQnJlYWtwb2ludCBiZXR3ZWVuXG4gKi9cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBCcmVha3BvaW50IG9ubHlcbiAqL1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEdyaWRcbiAqL1xuXG5cbi8qKlxuICogTWFrZSBjb250YWluZXJcbiAqL1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogdmFyKC0tZ3JpZC1ndXR0ZXItd2lkdGgpKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWlubGluZTogY2FsYygkZ3V0dGVyIC8gMik7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG5cbi8qKlxuICogTWFrZSByb3dcbiAqL1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6IHZhcigtLWdyaWQtZ3V0dGVyLXdpZHRoKSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1pbmxpbmU6IGNhbGMoJGd1dHRlciAvIDIgKiAtMSk7XG59XG5cblxuLyoqXG4gKiBNYWtlIGNvbHVtbiByZWFkeVxuICovXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogdmFyKC0tZ3JpZC1ndXR0ZXItd2lkdGgpKSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWlubGluZTogY2FsYygkZ3V0dGVyIC8gMik7XG59XG5cblxuLyoqXG4gKiBNYWtlIGNvbHVtblxuICovXG5AbWl4aW4gbWFrZS1jb2woJHNpemU6IGZhbHNlLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgJHNpemUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuLyoqXG4gKiBNYWtlIGNvbHVtbiBhdXRvXG4gKi9cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cblxuLyoqXG4gKiBNYWtlIGNvbHVtbiBvZmZzZXRcbiAqL1xuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG5cbi8qKlxuICogTWFrZSByb3cgY29sdW1uc1xuICovXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRjb3VudCkpO1xuICB9XG59XG5cblxuLyoqXG4gKiBHZW5lcmF0ZSB0aGUgZ3JpZFxuICovXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG87XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGNyZWF0aW5nIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBjYWxjKCR2YWx1ZSAvIDIgKiAtMSk7XG5cbiAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoJHZhbHVlIC8gMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIExpc3RzXG4gKi9cblxuXG4vKipcbiAqIExpc3QgdW5zdHlsZWRcbiAqL1xuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gKiBMaXN0IHN0eWxlZFxuICovXG5AbWl4aW4gbGlzdC1zdHlsZWQoKSB7XG4gID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgfVxufVxuIiwiLyoqXG4gKiBDbGVhcmZpeFxuICovXG5cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLyoqXG4gKiBWaXN1YWxseSBoaWRkZW5cbiAqIEhpZGUgY29udGVudCB2aXN1YWxseSB3aGlsZSBrZWVwaW5nIGl0IGFjY2Vzc2libGUgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ2llc1xuICovXG5cblxuLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG5cblxuLyoqXG4gKiBWaXN1YWxseSBoaWRkZW5cbiAqL1xuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cbiAgLy8gRml4IGZvciBwb3NpdGlvbmVkIHRhYmxlIGNhcHRpb24gdGhhdCBjb3VsZCBiZWNvbWUgYW5vbnltb3VzIGNlbGxzXG4gICY6bm90KGNhcHRpb24pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi8qKlxuICogVmlzdWFsbHkgaGlkZGVuIGJ1ZCB2aXNpYmxlIHdoZW4gZm9jdXNlZC5cbiAqIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzEuXG4gKi9cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3Itbm90LW5vdGF0aW9uICovXG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuICB9XG59XG4iLCIud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYnV0dG9uIHtcbiAgJjp3aGVyZSg6bm90KC5hZGRfdG9fY2FydF9idXR0b24pKSB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlcjtcbiAgICBwYWRkaW5nOiBjYWxjKCRzcGFjZXIgLyAyKSAkc3BhY2VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLCBib3JkZXItcmFkaXVzIC4zcyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlLWxpZ2h0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoJGJvcmRlci1yYWRpdXMgKiAyKTtcbiAgICB9XG4gIH1cblxuICAmLmFkZF90b19jYXJ0X2J1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHNwYWNlciAvIDI7XG4gICAgcmlnaHQ6ICRzcGFjZXIgLyAyO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2U7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE5cHg7XG4gICAgICBsZWZ0OiAxMnB4O1xuICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIGxlZnQ6IDE5cHg7XG4gICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUtbGlnaHQpO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgICYuYWRkZWQge1xuICAgICAgYW5pbWF0aW9uOiBwb3AtYW5pbWF0aW9uIDAuNDVzIGVhc2U7XG4gICAgfVxuICB9XG59XG5cbi53b29jb21tZXJjZSBzcGFuLm9uc2FsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LXRodW1ibmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlc21va2UpO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAqIDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuXG4gID4gaW1nIHtcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpO1xufVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgZGVsIHtcbmRpc3BsYXk6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSBpbnMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53b29jb21tZXJjZSBhLmFkZGVkX3RvX2NhcnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqXG4gKiBSb290XG4gKi9cblxuOnJvb3Qge1xuICAvLyBDb2xvcnNcblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gR3JpZFxuXG4gIC0tZ3JpZC1ndXR0ZXItd2lkdGg6ICN7JGdyaWQtZ3V0dGVyLXdpZHRofTtcblxuICAvLyBUeXBlXG5cbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIlF1aWNrc2FuZFwiLCBzeXN0ZW0tdWk7XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHZhbHVlLWtleXdvcmQtY2FzZSAqL1xuICAtLWZvbnQtZmFtaWx5LWJhc2U6IHZhcigtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpO1xuICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgLS1mb250LXNpemUtYmFzZTogMS42cmVtO1xuICAtLWZvbnQtd2VpZ2h0LWJhc2U6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIC0tbGluZS1oZWlnaHQtYmFzZTogMS41O1xuXG4gIC0tYm9keS1jb2xvcjogdmFyKC0tZGFyayk7XG4gIC0tYm9keS1iZzogdmFyKC0td2hpdGUpO1xuXG4gIC0tbGluay1jb2xvcjogdmFyKC0tZGFyayk7XG4gIC0tbGluay1kZWNvcmF0aW9uOiBub25lO1xuICAtLWxpbmstaG92ZXItY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAtLWxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZTtcblxuICAtLXR5cGUtc3BhY2luZzogI3skdHlwZS1zcGFjaW5nfTtcblxuICAtLWhlYWRpbmdzLWZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWYgT3JpeWFcIiwgc2VyaWY7XG4gIC0taGVhZGluZ3MtZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAtLWhlYWRpbmdzLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgLS1oZWFkaW5ncy1jb2xvcjogdmFyKC0tZGFyayk7XG4gIC0taGVhZGluZ3Mtc3BhY2luZzogI3skaGVhZGluZ3Mtc3BhY2luZ307XG5cbiAgLy8gVGFibGVzXG5cbiAgLS10YWJsZS1wYWRkaW5nOiAjeyR0YWJsZS1wYWRkaW5nfTtcbiAgLS10YWJsZS1ib3JkZXItd2lkdGg6IC4xcmVtO1xuICAtLXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2spO1xuXG4gIC8vIENvZGVcblxuICAtLWNvZGUtY29sb3I6ICNkNjMzODQ7XG4gIC0tcHJlLWNvbG9yOiAjNjY2O1xufVxuIiwiLyoqXG4gKiBSZWJvb3RcbiAqIE1hbnVhbCBmb3JrIG9mIEJvb3RzdHJhcCA1LjMuMCByZWJvb3QuXG4gKi9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLW5vdC1ub3RhdGlvblxuXG4vKipcbiAqIERvY3VtZW50XG4gKi9cblxuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vKipcbiAqIEhUTUxcbiAqL1xuXG4vLyAxLlNldCByZW0gc2l6ZS5cbi8vIDIuIFByZXZlbnQgZmF1eCBmb250IHN0eWxlcy5cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogcGVyY2VudGFnZShjYWxjKCRyZW0tc2l6ZSAvIDE2cHgpKTsgLy8gMVxuICBmb250LXN5bnRoZXNpczogbm9uZTsgLy8gMlxufVxuXG5cbi8qKlxuICogQm9keS5cbiAqL1xuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbi8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvZHktYmcpOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoIzAwMCwgMCk7IC8vIDRcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJhc2UpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcblxuXG59XG5cblxuLyoqXG4gKiBDb250ZW50IGdyb3VwaW5nXG4gKi9cblxuLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuaHIge1xuICBjb2xvcjogdmFyKC0tYmxhY2spOyAvLyAxXG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAuMXJlbSBzb2xpZCB2YXIoLS1ibGFjayk7XG59XG5cblxuLyoqXG4gKiBUeXBvZ3JhcGh5XG4gKi9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG4gIG1hcmdpbi1ibG9jazogMDtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG5cbnAge1xuICBtYXJnaW4tYmxvY2s6IDA7XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMVxuICBjdXJzb3I6IGhlbHA7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIExpc3RzXG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi1ibG9jazogMDtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gMVxufVxuXG4vLyBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIFN0cm9uZ1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4vLyBTbWFsbFxuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBmb250LXNpemU6IC44NzVlbTtcbn1cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogLjE4NzVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG59XG5cbi8vIFN1YiBhbmQgU3VwXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IC43NWVtO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLWxpbmstZGVjb3JhdGlvbik7XG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFucy1kdXJhdGlvbi1iYXNlICR0cmFucy10aW1pbmctZnVuY3Rpb24tYmFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1saW5rLWhvdmVyLWRlY29yYXRpb24pO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLyoqXG4gKiBDb2RlXG4gKi9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbW9ub3NwYWNlKTtcbiAgZm9udC1zaXplOiAxZW07IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxuLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLyAyLiBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuLy8gMy4gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7IC8vIDJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIDNcbiAgZm9udC1zaXplOiAuODc1ZW07XG4gIGNvbG9yOiB2YXIoLS1wcmUtY29sb3IpO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xuICBjb2xvcjogdmFyKC0tY29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6IC4zcmVtIC42cmVtO1xuICBmb250LXNpemU6IC44NzVlbTtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuICBib3JkZXItcmFkaXVzOiAuNXJlbTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuXG4vKipcbiAqIEZpZ3VyZXNcbiAqL1xuXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vKipcbiAqIE1lZGlhIGNvbnRlbnRcbiAqL1xuXG5pbWcsXG5zdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBNYWtlIGFsbCBtZWRpYSByZXNwb25zaXZlLlxuXG5pbWcsXG52aWRlbyxcbmF1ZGlvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLyoqXG4gKiBUYWJsZXNcbiAqL1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tdGFibGUtcGFkZGluZyk7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5cbi8qKlxuICogRm9ybXNcbiAqL1xuXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBhcnJvdyBvbmx5IGZyb20gdGV4dCB0eXBlIGlucHV0cyBidWlsdCB3aXRoIGRhdGFsaXN0cyBpbiBDaHJvbWUuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU0OTk3MTE4XG5cbltsaXN0XTpub3QoW3R5cGU9XCJkYXRlXCJdKTpub3QoW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSk6bm90KFt0eXBlPVwibW9udGhcIl0pOm5vdChbdHlwZT1cIndlZWtcIl0pOm5vdChbdHlwZT1cInRpbWVcIl0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDMuIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuXG4gICY6bm90KDpkaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vLyAxLiBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLy8gMVxufVxuXG4vLyAxLiBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuLy8gICAgdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4vLyAgICBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuLy8gICAgYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuLy8gMi4gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAyXG4gIGJvcmRlcjogMDsgLy8gMlxufVxuXG4vLyAxLiBCeSB1c2luZyBgZmxvYXQ6IGxlZnRgLCB0aGUgbGVnZW5kIHdpbGwgYmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50LlxuLy8gICAgVGhpcyB3YXkgdGhlIGJvcmRlciBvZiBhIGZpZWxkc2V0IHdyYXBzIGFyb3VuZCB0aGUgbGVnZW5kIGlmIHByZXNlbnQuXG4vLyAyLiBGaXggd3JhcHBpbmcgYnVnLlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjk3MTJcblxubGVnZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IC8vIDFcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbi8vIDIuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMlxufVxuXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIHBhZGRpbmcgYXJvdW5kIGNvbG9yIHBpY2tlcnMgaW4gd2Via2l0IGJyb3dzZXJzXG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vIDEuIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAxXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLyoqXG4gKiBJZnJhbWUuXG4gKi9cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5cbi8qKlxuICogU3VtbWFyeVxuICovXG5cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vKipcbiAqIFByb2dyZXNzXG4gKi9cblxuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblxuLyoqXG4gKiBIaWRkZW4gYXR0cmlidXRlXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvKipcbiAqIFJlc3BvbnNpdmUgZm9udCBzaXplXG4gKi9cblxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuXG4kcmVuZGVyLWRhdGE6ICgpO1xuJHdhaXQ6ICgpO1xuJHR5cGUtYnJlYWtwb2ludC1zZXR0aW5ncy1jbGVhbjogKCk7XG4kcXVlcmllczogKCk7XG4vKiogMS4gUG9wdWxhdGUgZmx1aWQgJHdhaXQgbGlzdCAqL1xuQGVhY2ggJGJyZWFrcG9pbnQsICRoZWFkaW5nLXNldCBpbiAkdHlwZS1icmVha3BvaW50LXNldHRpbmdzIHtcbiAgQGVhY2ggJGhlYWRpbmcsICRsZXZlbCBpbiAkaGVhZGluZy1zZXQge1xuICAgIC8vIGtsYXNlXG4gICAgQGlmICh0eXBlLW9mKCRsZXZlbCkgPT0gbWFwKSB7XG4gICAgICAkdGVtcDogbnRoKG1hcC1rZXlzKG1hcC1nZXQoJGhlYWRpbmctc2V0LCAkaGVhZGluZykpLCAxKTtcbiAgICAgICR3YWl0OiBhcHBlbmQoXG4gICAgICAgICR3YWl0LFxuICAgICAgICAoXG4gICAgICAgICAgYnJlYWtwb2ludDogJGJyZWFrcG9pbnQsXG4gICAgICAgICAgaGVhZGluZzogJGhlYWRpbmcsXG4gICAgICAgICAgbGV2ZWw6ICR0ZW1wLFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgJGhlYWRpbmctc2V0OiBtYXAtcmVtb3ZlKFxuICAgICAgICAkaGVhZGluZy1zZXQsXG4gICAgICAgICRoZWFkaW5nXG4gICAgICApOyAvLyByZW1vdmUgZmx1aWQgaGVhZGluZ3MgdG8gc2F2ZSBpbnRvIGNsZWFuIHNldFxuICAgIH1cbiAgfVxuICAkdHlwZS1icmVha3BvaW50LXNldHRpbmdzLWNsZWFuOiBtYXAtbWVyZ2UoXG4gICAgJHR5cGUtYnJlYWtwb2ludC1zZXR0aW5ncy1jbGVhbixcbiAgICAoXG4gICAgICAkYnJlYWtwb2ludDogJGhlYWRpbmctc2V0LFxuICAgIClcbiAgKTtcbn1cbi8vIDIuIGZpbmQgXCJ0b1wiIGFuZCBzYXZlIHRvICRyZW5kZXItZGF0YVxuQGVhY2ggJGZyb20gaW4gJHdhaXQge1xuICAvLyBAZGVidWcgRlJPTSAkZnJvbTtcbiAgJHBhc3NlZDogZmFsc2U7XG4gICRmb3VuZDogZmFsc2U7XG4gIEBlYWNoICRicmVha3BvaW50LCAkaGVhZGluZy1zZXQgaW4gJHR5cGUtYnJlYWtwb2ludC1zZXR0aW5ncyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmICRwYXNzZWQge1xuICAgICAgICAvLyBAZGVidWcgJGJyZWFrcG9pbnQ7XG4gICAgICAgIEBlYWNoICRoZWFkaW5nLCAkbGV2ZWwgaW4gJGhlYWRpbmctc2V0IHtcbiAgICAgICAgICBAaWYgJGhlYWRpbmcgPT0gbWFwLWdldCgkZnJvbSwgaGVhZGluZykge1xuICAgICAgICAgICAgLy8gQGRlYnVnICRoZWFkaW5nO1xuICAgICAgICAgICAgJGZvdW5kOiB0cnVlO1xuXG4gICAgICAgICAgICBAaWYgdHlwZS1vZigkbGV2ZWwpID09ICdtYXAnIHtcbiAgICAgICAgICAgICAgLy8gZ2V0IHJpZCBvZiBtYXBzIGluIGxldmVscywgZG9uJ3QgbmVlZCB0aGVtIGFueSBtb3JlXG4gICAgICAgICAgICAgICR0ZW1wOiBudGgobWFwLWtleXMoJGxldmVsKSwgMSk7IC8vIGdldCBmaXJzdCBrZXkgb2YgYSBsaXN0XG4gICAgICAgICAgICAgICRsZXZlbDogJHRlbXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkdG86IChcbiAgICAgICAgICAgICAgYnJlYWtwb2ludDogJGJyZWFrcG9pbnQsXG4gICAgICAgICAgICAgIGhlYWRpbmc6ICRoZWFkaW5nLFxuICAgICAgICAgICAgICBsZXZlbDogJGxldmVsLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICRyZW5kZXItZGF0YTogYXBwZW5kKFxuICAgICAgICAgICAgICAkcmVuZGVyLWRhdGEsXG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBmcm9tOiAkZnJvbSxcbiAgICAgICAgICAgICAgICB0bzogJHRvLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSBtYXAtZ2V0KCRmcm9tLCBicmVha3BvaW50KSkge1xuICAgICAgICAkcGFzc2VkOiB0cnVlOyAvLyBwYXNzZWQgdGhlIGJyZWFrcG9pbnQgd2hlcmUgZmx1aWQgXCJmcm9tXCIgaXMgZGVmaW5lZCAtIHN0YXJ0IGxvb2tpbmcgZm9yIGZpcnN0IFwic2FtZSBoZWFkaW5nXCIgZGVmXG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEBkZWJ1ZyAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJztcbn1cbi8vIDIuIGRlZmluZSBxdWVyaWVzIGZvciBmbHVpZFxuJHF1ZXJpZXM6ICgpO1xuQGVhY2ggJGJyZWFrcG9pbnQsICRwaXhlbHMgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAkcXVlcmllczogbWFwLW1lcmdlKFxuICAgICRxdWVyaWVzLFxuICAgIChcbiAgICAgICRwaXhlbHM6ICgpLFxuICAgIClcbiAgKTtcbn1cbkBlYWNoICRvbmUgaW4gJHJlbmRlci1kYXRhIHtcbiAgLy8gQGRlYnVnICRvbmU7XG4gICRmcm9tOiBtYXAtZ2V0KCRvbmUsIGZyb20pO1xuICAkdG86IG1hcC1nZXQoJG9uZSwgdG8pO1xuICAvLyBAZGVidWcgJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJztcbiAgLy8gQGRlYnVnIGZyb20gJGZyb207XG4gIC8vIEBkZWJ1ZyB0byAkdG87XG4gICRwaXhlbHM6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1hcC1nZXQoJGZyb20sIGJyZWFrcG9pbnQpKTtcbiAgJGZyb20tcnVsZXM6IG1hcC1nZXQoJHR5cGUtc2NhbGUsIG1hcC1nZXQoJGZyb20sIGxldmVsKSk7XG4gICR0by1ydWxlczogbWFwLWdldCgkdHlwZS1zY2FsZSwgbWFwLWdldCgkdG8sIGxldmVsKSk7XG4gIC8vIEBkZWJ1ZyAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nO1xuICAvLyBAZGVidWcgJGZyb20tcnVsZXM7XG4gIC8vIEBkZWJ1ZyAkdG8tcnVsZXM7XG4gIC8vY2hlY2sgZm9yIGZvbnQtc2l6ZVxuICBAaWYgKFxuICAgIG1hcC1oYXMta2V5KCRmcm9tLXJ1bGVzLCBmb250LXNpemUpIGFuZCBtYXAtaGFzLWtleSgkdG8tcnVsZXMsIGZvbnQtc2l6ZSlcbiAgKSB7XG4gICAgLy8gYm90aCBoYXZlIGZvbnQgc2l6ZXNcbiAgICAvLyBAZGVidWcgYm90aCBoYXZlIHNpemVzO1xuICAgICRtaW4tdnc6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1hcC1nZXQoJGZyb20sIGJyZWFrcG9pbnQpKTtcbiAgICAkbWF4LXZ3OiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtYXAtZ2V0KCR0bywgYnJlYWtwb2ludCkpO1xuICAgICRtaW4tZm9udC1zaXplOiBtYXAtZ2V0KCRmcm9tLXJ1bGVzLCBmb250LXNpemUpO1xuICAgICRtYXgtZm9udC1zaXplOiBtYXAtZ2V0KCR0by1ydWxlcywgZm9udC1zaXplKTtcbiAgICAkdTE6IHVuaXQoJG1pbi12dyk7XG4gICAgJHUyOiB1bml0KCRtYXgtdncpO1xuICAgICR1MzogdW5pdCgkbWluLWZvbnQtc2l6ZSk7XG4gICAgJHU0OiB1bml0KCRtYXgtZm9udC1zaXplKTtcbiAgICAvLyBAZGVidWcgJG1pbi12dyAkbWF4LXZ3ICRtaW4tZm9udC1zaXplICRtYXgtZm9udC1zaXplO1xuICAgIC8vIGZvcmNlIHJlbSB0byBweFxuICAgICRtaW4tdnc6IGZvcmNlLXRvLXB4KCRtaW4tdncpO1xuICAgICRtYXgtdnc6IGZvcmNlLXRvLXB4KCRtYXgtdncpO1xuICAgICRtaW4tZm9udC1zaXplOiBmb3JjZS10by1weCgkbWluLWZvbnQtc2l6ZSk7XG4gICAgJG1heC1mb250LXNpemU6IGZvcmNlLXRvLXB4KCRtYXgtZm9udC1zaXplKTtcbiAgICAvLyBAZGVidWcgLS0tLS0gJG1pbi12dyAkbWF4LXZ3ICRtaW4tZm9udC1zaXplICRtYXgtZm9udC1zaXplO1xuXG4gICAgLy9AZGVidWcgJHUxICR1MiAkdTMgJHU0O1xuXG4gICAgQGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTQge1xuICAgICAgLy8gYWxsIHVuaXRzIGFyZSB0aGUgc2FtZVxuICAgICAgJHBpeGVsbGlzdDogbWFwLWdldCgkcXVlcmllcywgJHBpeGVscyk7XG4gICAgICAkcGl4ZWxsaXN0OiBtYXAtbWVyZ2UoXG4gICAgICAgICRwaXhlbGxpc3QsXG4gICAgICAgIChcbiAgICAgICAgICBtYXAtZ2V0KCRmcm9tLCBoZWFkaW5nKTogKFxuICAgICAgICAgICAgZm9udC1zaXplOlxuICAgICAgICAgICAgICBjYWxjKFxuICAgICAgICAgICAgICAgICN7JG1pbi1mb250LXNpemV9ICtcbiAgICAgICAgICAgICAgICAgICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKlxuICAgICAgICAgICAgICAgICAgKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgICRxdWVyaWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICRxdWVyaWVzLFxuICAgICAgICAoXG4gICAgICAgICAgJHBpeGVsczogJHBpeGVsbGlzdCxcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgLy8gb3RoZXIgcnVsZXNcbiAgJHNldC1ydWxlczogJGZyb20tcnVsZXM7XG4gIEBlYWNoICRzZXQtcnVsZSBpbiBtYXAta2V5cygkc2V0LXJ1bGVzKSB7XG4gICAgLy8gc2tpcCBmb250LXNpemVcbiAgICBAaWYgJHNldC1ydWxlICE9IGZvbnQtc2l6ZSB7XG4gICAgICAkaGVhZGluZzogbWFwLWdldCgkZnJvbSwgaGVhZGluZyk7XG4gICAgICAkcGl4ZWxsaXN0OiBtYXAtZ2V0KCRxdWVyaWVzLCAkcGl4ZWxzKTtcbiAgICAgICRydWxlczogbWFwLWdldCgkcGl4ZWxsaXN0LCAkaGVhZGluZyk7XG4gICAgICBAaWYgJHJ1bGVzIHtcbiAgICAgICAgJHJ1bGVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgJHJ1bGVzLFxuICAgICAgICAgIChcbiAgICAgICAgICAgICRzZXQtcnVsZTogbWFwLWdldCgkc2V0LXJ1bGVzLCAkc2V0LXJ1bGUpLFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcnVsZXM6IChcbiAgICAgICAgICAkc2V0LXJ1bGU6IG1hcC1nZXQoJHNldC1ydWxlcywgJHNldC1ydWxlKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgICRwaXhlbGxpc3Q6IG1hcC1tZXJnZShcbiAgICAgICAgJHBpeGVsbGlzdCxcbiAgICAgICAgKFxuICAgICAgICAgICRoZWFkaW5nOiAkcnVsZXMsXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICAkcXVlcmllczogbWFwLW1lcmdlKFxuICAgICAgICAkcXVlcmllcyxcbiAgICAgICAgKFxuICAgICAgICAgICRwaXhlbHM6ICRwaXhlbGxpc3QsXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4vLyBkZWZpbmUgcmVndWxhciBxdWVyaWVzXG5AZWFjaCAkYnJlYWtwb2ludCwgJGhlYWRpbmctc2V0IGluICR0eXBlLWJyZWFrcG9pbnQtc2V0dGluZ3MtY2xlYW4ge1xuICAvLyByZWd1bGFyXG4gICRwaXhlbHM6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcbiAgQGlmIChsZW5ndGgoJGhlYWRpbmctc2V0KSAhPSAwKSB7XG4gICAgLy8gZG8gbm90IHJlbmRlciBlbXB0eSBicmVha3BvaW50c1xuICAgIC8qICN7JGJyZWFrcG9pbnR9ICovXG4gICAgQGVhY2ggJGhlYWRpbmcgaW4gbWFwLWtleXMoJGhlYWRpbmctc2V0KSB7XG4gICAgICAkbGV2ZWw6IG1hcC1nZXQoJGhlYWRpbmctc2V0LCAkaGVhZGluZyk7XG4gICAgICAkc2V0LXJ1bGVzOiBtYXAtZ2V0KCR0eXBlLXNjYWxlLCAkbGV2ZWwpO1xuICAgICAgQGVhY2ggJHNldC1ydWxlIGluIG1hcC1rZXlzKCRzZXQtcnVsZXMpIHtcbiAgICAgICAgJHBpeGVsbGlzdDogbWFwLWdldCgkcXVlcmllcywgJHBpeGVscyk7XG4gICAgICAgICRydWxlczogbWFwLWdldCgkcGl4ZWxsaXN0LCAkaGVhZGluZyk7XG4gICAgICAgIEBpZiAkcnVsZXMge1xuICAgICAgICAgICRydWxlczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgJHJ1bGVzLFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAkc2V0LXJ1bGU6IG1hcC1nZXQoJHNldC1ydWxlcywgJHNldC1ydWxlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkcnVsZXM6IChcbiAgICAgICAgICAgICRzZXQtcnVsZTogbWFwLWdldCgkc2V0LXJ1bGVzLCAkc2V0LXJ1bGUpLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgJHBpeGVsbGlzdDogbWFwLW1lcmdlKFxuICAgICAgICAgICRwaXhlbGxpc3QsXG4gICAgICAgICAgKFxuICAgICAgICAgICAgJGhlYWRpbmc6ICRydWxlcyxcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgICRxdWVyaWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgJHF1ZXJpZXMsXG4gICAgICAgICAgKFxuICAgICAgICAgICAgJHBpeGVsczogJHBpeGVsbGlzdCxcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiogZGlzcGxheSBhbGwgcXVlcmllcyEgKi9cbkBlYWNoICRwaXhlbHMsICRzZXQgaW4gJHF1ZXJpZXMge1xuICBAaWYgJHBpeGVscz09MCB7XG4gICAgLyoqIHNraXAgbWVkaWEgKG1pbi13aWR0aDogMCkgcmVuZGVyICovXG4gICAgQGVhY2ggJGhlYWRpbmcsICR2YWx1ZSBpbiAkc2V0IHtcbiAgICAgICN7JGhlYWRpbmd9IHtcbiAgICAgICAgQGVhY2ggJGxlZnQsICRyaWdodCBpbiAkdmFsdWUge1xuICAgICAgICAgICN7JGxlZnR9OiAjeyRyaWdodH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwaXhlbHN9KSB7XG4gICAgICBAZWFjaCAkaGVhZGluZywgJHZhbHVlIGluICRzZXQge1xuICAgICAgICAjeyRoZWFkaW5nfSB7XG4gICAgICAgICAgQGVhY2ggJGxlZnQsICRyaWdodCBpbiAkdmFsdWUge1xuICAgICAgICAgICAgI3skbGVmdH06ICN7JHJpZ2h0fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qIFtFbmQgUmVuZGVyIGhlYWRpbmcgcnVsZXNdICovXG4iLCIvKipcbiAqIENvbnRhaW5lcnNcbiAqL1xuXG5cbi8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHMuXG4uY29udGFpbmVyLFxuLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHMuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgbWFrZS1jb250YWluZXI7XG59XG5cbi8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50LlxuQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL2F0LWV4dGVuZC1uby1taXNzaW5nLXBsYWNlaG9sZGVyICovXG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cblxuICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50LlxuICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmcuXG4gICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEdyaWRcbiAqL1xuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIENyZWF0ZSByb3cuXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93O1xuXG4gICAgLy8gTWFrZSBhbGwgY2hpbGRyZW4gb2Ygcm93IGNvbHVtbiByZWFkeS5cbiAgICA+ICoge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3JlYXRlIGNvbHVtbnMuXG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zO1xufVxuXG4ud3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1ncmlkLWd1dHRlci13aWR0aCkgLyAyKTtcbn1cblxuLm1haW4ge1xuIHBhZGRpbmc6ICRzcGFjZXIgKiAyIDA7XG59XG4iLCIvKipcbiAqIFR5cG9ncmFwaHlcbiAqL1xuXG4vKipcbiAqIEhlYWRpbmdzXG4gKi9cblxuJWhlYWRpbmctYmFzZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkaW5ncy1mb250LWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWhlYWRpbmdzLWZvbnQtc3R5bGUpO1xuICBmb250LXdlaWdodDogdmFyKC0taGVhZGluZ3MtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0taGVhZGluZ3MtY29sb3IpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oZWFkaW5ncy1zcGFjaW5nKTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyICovXG4gIEBleHRlbmQgJWhlYWRpbmctYmFzZTtcbn1cblxuXG4vKipcbiAqIFBhcmFncmFwaFxuICovXG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10eXBlLXNwYWNpbmcpO1xufVxuXG5cbi8qKlxuICogVGhlbWF0aWMgQnJlYWsgKEhvcml6b250YWwgUnVsZSlcbiAqL1xuXG5ociB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tdHlwZS1zcGFjaW5nKTtcbn1cblxuXG4vKipcbiAqIEJsb2NrIFF1b3RhdGlvblxuICovXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10eXBlLXNwYWNpbmcpO1xufVxuXG5cbi8qKlxuICogTGlzdHNcbiAqL1xuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKCRzcGFjZXIgKiAzKTtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdHlwZS1zcGFjaW5nKTtcbn1cblxuLy8gTGlzdCB1bnN0eWxlZCBoZWxwZXJcblxuJWxpc3QtdW5zdHlsZWQsXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cbi8vIExpc3Qgc3R5bGVkIGhlbHBlclxuXG4lbGlzdC1zdHlsZWQsXG4ubGlzdC1zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXN0eWxlZDtcbn1cbiIsIi8qKlxuICogSWNvbnNcbiAqL1xuXG5cbi5pY29uIHtcbiAgd2lkdGg6IDEuNnJlbTtcbiAgaGVpZ2h0OiAxLjZyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uaWNvbi0tbGcge1xuICB3aWR0aDogMi40cmVtO1xuICBoZWlnaHQ6IDIuNHJlbTtcbn1cbiIsIi8qKlxuICogVGFibGVzXG4gKi9cblxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS10YWJsZS1wYWRkaW5nKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IGNhbGMoJHRhYmxlLWJvcmRlci13aWR0aCAqIDIpIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiBjYWxjKCR0YWJsZS1ib3JkZXItd2lkdGggKiAyKSBzb2xpZCB2YXIoLS10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4iLCIvKipcbiAqIFdvcmRQcmVzc1xuICovXG5cblxuLyoqXG4gKiBHdXRlbmJlcmcgYmxvY2tzXG4gKi9cblxuLndwLWJsb2NrLWltYWdlLFxuLndwLWJsb2NrLXF1b3RlLFxuLndwLWJsb2NrLWVtYmVkLFxuLndwLWJsb2NrLXZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdHlwZS1zcGFjaW5nKTtcbn1cblxuLy8gTGlzdFxuXG4ud3AtYmxvY2stbGlzdCB7XG4gIEBleHRlbmQgJWxpc3Qtc3R5bGVkO1xuXG4gID4gbGkgPiAud3AtYmxvY2stbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIEltYWdlXG5cbi53cC1ibG9jay1pbWFnZSB7XG4gIC5hbGlnbmNlbnRlcixcbiAgLmFsaWducmlnaHQsXG4gIC5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjsgLy8gMlxuICAgICAgY2FwdGlvbi1zaWRlOiBib3R0b207IC8vIDJcbiAgICB9XG5cbiAgICAvLyAxIC0gTWFrZSBhbGwgaW1nIHdpdGggYWxpZ25tZW50IHRvIGFjdCBsaWtlIHRhYmxlcy5cbiAgICAvLyAyIC0gTWFrZSB0aGUgY2FwdGlvbiB3aWRlIGFzIHRoZSBpbWcuXG4gIH1cblxuICAuYWxpZ25jZW50ZXIge1xuICAgIC8vIENlbnRlciB0aGUgY2VudGVyIGFsaWduZWQgaW1hZ2UuXG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuXG4gIC8vIENoYW5nZSBpbWFnZSBhbGlnbm1lbnQgb24gbGFyZ2VyIHNjcmVlbnMuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuYWxpZ25jZW50ZXIge1xuICAgICAgLy8gQ2xlYXIgYW55IGZsb2F0ZWQgaW1hZ2VzLlxuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLmFsaWdubGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoJHNwYWNlciAqIDMpO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmFsaWducmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoJHNwYWNlciAqIDMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBHYWxsZXJ5XG5cbi53cC1ibG9jay1nYWxsZXJ5IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG5cbiAgLndwLWJsb2NrLWltYWdlLFxuICAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdHlwZS1zcGFjaW5nKTtcbiAgfVxuXG4gIC53cC1ibG9jay1pbWFnZSB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woMyk7XG4gIH1cblxuICAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woMTIpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8vIEVtYmVkXG5cbi53cC1ibG9jay1lbWJlZCB7XG4gIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGlmcmFtZSBmcm9tIGdldHRpbmcgYmlnZ2VyIHRoYW4gdGhlIHBhcmVudC5cbiAgfVxufVxuXG4ud3AtYmxvY2stZW1iZWRfX3dyYXBwZXIge1xuICAvLyBNYWtlIHRoZSBlbWJlZCByZXNwb25zaXZlIG9ubHkgaWYgaXQgaGFzIC53cC1oYXMtYXNwZWN0LXJhdGlvIGNsYXNzLlxuICAud3AtaGFzLWFzcGVjdC1yYXRpbyAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluZSBhc3BlY3QgcmF0aW9zLlxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1jb2xvbi1zcGFjZS1hZnRlciwgc2VsZWN0b3ItZGVzY2VuZGFudC1jb21iaW5hdG9yLW5vLW5vbi1zcGFjZSwgYmxvY2stY2xvc2luZy1icmFjZS1zcGFjZS1iZWZvcmUgKi9cbiAgLndwLWVtYmVkLWFzcGVjdC0yMS05ICY6OmJlZm9yZSB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGNhbGMoOSAvIDIxKSk7IH1cbiAgLndwLWVtYmVkLWFzcGVjdC0xOC05ICY6OmJlZm9yZSB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGNhbGMoOSAvIDE4KSk7IH1cbiAgLndwLWVtYmVkLWFzcGVjdC0xNi05ICY6OmJlZm9yZSB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGNhbGMoOSAvIDE2KSk7IH1cbiAgLndwLWVtYmVkLWFzcGVjdC00LTMgICY6OmJlZm9yZSB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGNhbGMoMyAvIDQpKTsgIH1cbiAgLndwLWVtYmVkLWFzcGVjdC0xLTEgICY6OmJlZm9yZSB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGNhbGMoMSAvIDEpKTsgIH1cbiAgLndwLWVtYmVkLWFzcGVjdC05LTE2ICY6OmJlZm9yZSB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGNhbGMoMTYgLyA5KSk7IH1cbiAgLndwLWVtYmVkLWFzcGVjdC0xLTIgICY6OmJlZm9yZSB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGNhbGMoMiAvIDEpKTsgIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1jb2xvbi1zcGFjZS1hZnRlciwgc2VsZWN0b3ItZGVzY2VuZGFudC1jb21iaW5hdG9yLW5vLW5vbi1zcGFjZSwgYmxvY2stY2xvc2luZy1icmFjZS1zcGFjZS1iZWZvcmUgKi9cbn1cblxuLy8gVmlkZW9cblxuLndwLWJsb2NrLXZpZGVvIHZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIENhcHRpb25zXG5cbi53cC1lbGVtZW50LWNhcHRpb24ge1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyO1xufVxuXG5cbi8qKlxuICogU2NyZWVuIHJlYWRlciB0ZXh0XG4gKi9cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbn1cblxuXG4vKipcbiAqIENvbW1lbnQgZm9ybVxuICovXG5cbi5jb21tZW50LWZvcm0ge1xuICBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlcjtcbiAgfVxufVxuXG4uZm9ybS1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyO1xufVxuIiwiLyoqXG4gKiBIZWFkZXJcbiAqL1xuXG5cbi5oZWFkZXIge1xuICBwYWRkaW5nOiAkc3BhY2VyICogMiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRElBQUFBeUNBTUFBQUFwNFhpREFBQUFVVkJNVkVXRmhZV0RnNE4zZDNkdGJXMTdlM3QxZFhXQmdZR0hoNGQ1ZVhsemMzT0xpNHVibTV1VmxaV1BqNCtOalkxOWZYMkppWWwvZjM5cmEydVJrWkdabVpscGFXbVhsNWR2YjI5eGNYR1RrNU5uWjJjOFRWMW1BQUFBRzNSU1RsTkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQXZFT3d0QUFBRlZrbEVRVlI0WHBXV0I2N2MyQlVGYjNnNTU3VC9oUm85L1dVTVpIbGdyNEJnOFo0cVFnUUpsSEk0QThTekZWcmFwdm1URjlPN2RtWVJGWjYwWWlCaEpSQ2doMUZZaGlMQW1kdlgwQ3pUT3BORTc3TUUwWnR5L25XV3pjaER0aXFybVFEZXV2M3Bvd1E1dGEyZU4wRlkwSW5rcURENzNsVDljOWxFendVTnFnRkhzOVZRY2UzVFZDbEZDUXJTVGZPaVlrVkpRQm1wYnEyTDZpWmF2UG5BUGNvVTBkU3cwU1VUcXovR3RyR3VYZmJ5eUJuaUt5a09XUVdHcXd3TUE3UWlZQXhpK0lsUGRxbytoWUhuVXQ1WlBmbnNISnlOaUR0bnBKeWF5TkJrRjZjV29ZR0FNWTkyVTJoWEhGL0MxTTh1UC9adFlkaXVqMjZVZEFkUVFTWFFFcndTT016dC9YV1JXQXo1R3VTQklrd0cxSDNGYWJKMk9zVU9VaEdDNnRLNEVNdEpPMHR0QzZJQkQza00wdmUwdEp3TWRTZmpabytFRUlTYWVUcjlQM3dZckdqWHF5QzFrcmNLZGhNcHhFbnQ1SmV0b3Vsc2NweXpoWE41RlJwdVBIdmJlUWFLeEZBRUI2RU4rY1lONnhEN1JZR3BYcE5uZE1tWmdNNURjczNZU05GREhVbzJMR2ZadXVrU1d5VVlpckpBZFliRjNNZnFFS21qTStJMkVmaEE5NGlHM0w3dUtyUitHZFdENzN5ZGxJQis2aGdyZWYxUVRsbWdtYk0zL0xlWDVHSTFVeDFSV3BneHBMdVoyK0krSWp6Wjh3cUU0bmlsdlFka1VkZmh6STVRRFd5K2t3NVdnZzJwR3BlRVZlQ0NBN2I4NUJPM0Y5RHp4QjNjZHF2QnpXY216YnlNaXFoenVZcXRIUlZHMnk0eCtLT2xueXFsYThBb1dXcHVCb1lSeHpYcmZLdUlMbDZTZmlXQ2JqeG9aSlVhQ0JqMUNqSDdHSWFEYmM5a3FCWTNXL1JnamRhMWlxUWNPSnUyV1crNzZwWkM5UUc3TTAwZGZmZTloTm5zZXVwRkw1M3I4RjdZSFN3SldVS1AycStrN1Jkc3h5T0IxMW4weHRPdm5XNGlyTU1GTlY0SDB1cXdTNUV4c21QOUF4YkRUYzlKd2duZUFUNXZUaVVTbTFFN0JTZmxTdDNiZmExdHY4RGkzUjhuM0FmN01OV3pzNDlobWF1RTJ3UCt0dHJxK0FzV3BGRzJhd3ZzdU9xYmlwV0hndHV2dWFBRStBMVovN2dDOWhlc25yKzd3cUN3RzhjNXlBZzNBTDFmbThUOUFadHAvYmJKR3dsMXBOckU3UnVPWDdQZU1SVUVSVmFQcEVzK3lxZW9TbXVPbG9rcXc0OXBnb21qTGVoN2ljSE5sRzE5eWpzNlhYT01lZFltNXhIMll4cFYydGMwUm8yakpmeEM1MEFwdXhHb2I3bE1zeGZUYmVVdjA3VHlZeHBlTHVjRUgxZ05kNElLSDJMQWc1VGRWaGxDYWZadnBza2ZuY0NmeDhwT2hKemQ3NmJKV2VZRm5GY2l3Y1lmdWJSYzEySXAvcHBJaEExL21TWi9SeGpGRHJKQzV4aWZGakpwWTJYbDV6WGRndUZxWXlUUjF6U3AxWTlwK3RrdERZWVNOZmxjeEkwaXlPNFRQQmRsUmNwZXFqSy9waUY1YmtscTc3VlNFYUErejhxbUpURnpJV2lpdGJuelI3OTRVU0tCVWFUME5URXNWalpxTGFGVnFKb1BOOU9ERzcwSVBiZkJIS0srL3EvQVdSMHRKellIUlVMT2E0TVArVy9IZkdhZFpVYmZ3MTc3RzdqL09HYklzOFRhaEx5eW5sNFg0UmluRjc5M096K0JVMHNhWHRVSHJWQkZUL0RuQTNjdE5Qb0diczRoUklqVG9rOGkrYWxnVDFsVEhpNFN4RnZPTktOcmdRRkFxMi9nRm5XTVhnd2ZmZ1lNSnBpS1lrbVczdFRnM1pROUpxK2Y4WE4rQTVlZVVLSFd2SldKMnNnSjFTb3Ard3docUZWaWpxV2FKaHd0RDhNTmxTQmVXTk5XVGE1WjVrUFp3NStMYlZUOTl3cVRkeDI5bE1VSDRPSUcvRDg2cnVLRWF1Qmp2SDV4eTZ1bS9TZmo3ZWk2VVVWazRBSWwzTXlENE1TU1RPRmdTd3NIL1FKV2FRNWFzN1pjbWdCWmt6ampVMVVyUTc0Y2kxZ1dCQ1NHSHR1VjFIMm1oU25PM1dwLzNmRVY1YSs0d3ovLzZxeThKeGpac214eHk1KzR3OUNETkpZMDlUMDcyaUtHMEVuT1MwYXJFWWdYcVluWGNZSHdqVHRVTkFjTWVsT2Q0eHBrb3FpVFlJQ1dGcTBKU2lQZlBEUWRudCs0L3d1cWNYWTQ3UUlMYmdBQUFBQkpSVTVFcmtKZ2dnPT1cIiksIHVybChcIi93cC1jb250ZW50L3RoZW1lcy9wbGF5Z3JvdW5kL2Fzc2V0cy9zdGF0aWMvaW1nL2p1c3Qtd2F2ZXMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQsIGxpZ2h0ZW47XG59XG5cbi5oZWFkZXJfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAkc3BhY2VyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWFkZXJfX2xvZ28ge1xuICB3aWR0aDogMTRyZW07XG59XG5cbkBrZXlmcmFtZXMgcG9wLWFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEyKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5oZWFkZXJfX2NhcnQge1xuICAmLS11cGRhdGVkIHtcbiAgICBhbmltYXRpb246IHBvcC1hbmltYXRpb24gMC40NXMgZWFzZTtcbiAgfVxufVxuXG4uaGVhZGVyX19jYXJ0e1xuICBAaW5jbHVkZSBkZS1saW5rO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6ICRzcGFjZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYmx1ZSk7XG4gIH1cbn1cblxuLmhlYWRlcl9fY2FydC1jb3VudCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJsdWUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAbWl4aW4gZGUtbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIEVkaXRvclxuICpcbiAqIEhlbHBlciBjbGFzcyB0byBzdHlsZSBlbGVtZW50cyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSB1c2VyIGNvbnRlbnQgYW5kIGNvbWUgZnJvbSB0aGVfY29udGVudCgpIG9yIEFDRiBXeXNpd3lnIEVkaXRvciBmaWVsZC4gS2VlcCBpbiBtaW5kIGlmIHlvdSBhcmUgc3R5bGluZyBHdXRlbmJlcmcgYmxvY2tzIG1vc3Qgb2YgdGhlbSBoYXZlIGNsYXNzZXMgb24gdGhlbSBhbmQgY2FuIHN0eWxlZCBsaWtlIHRoYXQgaW4gd29yZHByZXNzL3dvcmRwcmVzcy5zY3NzLlxuICovXG5cblxuLmVkaXRvciB7XG4gIC8vIFJlc2V0IHRvcCBtYXJnaW4gb24gZmlyc3QgY2hpbGQuXG4gID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC8vIFJlc2V0IGJvdHRvbSBtYXJnaW4gb24gbGFzdCBjaGlsZC5cbiAgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8qKlxuICogQ2xlYXJmaXhcbiAqL1xuXG5cbiVjbGVhcmZpeCxcbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuIiwiLyoqXG4gKiBWaXN1YWxseSBoaWRkZW5cbiAqL1xuXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikgeyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNlbGVjdG9yLW5vdC1ub3RhdGlvbiAqL1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG59XG4iLCIvKipcbiAqIENvbG9yc1xuICovXG5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gIC8vIFRleHQgY29sb3JcbiAgLnRleHQtI3skY29sb3J9IHtcbiAgICBjb2xvcjogdmFyKC0tI3skY29sb3J9KSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQmFja2dyb3VuZCBjb2xvclxuICAuYmctI3skY29sb3J9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRjb2xvcn0pICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qKlxuICogRGlzcGxheVxuICovXG5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBGbGV4XG4gKi9cblxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1vcGVuaW5nLWJyYWNlLXNwYWNlLWJlZm9yZSAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZXZlbmx5ICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICBAaWYgJGZsZXgtb3JkZXIgPiAwIHtcbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMSAhaW1wb3J0YW50OyB9XG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCAgeyBvcmRlcjogY2FsYygkZmxleC1vcmRlciArIDEpICFpbXBvcnRhbnQ7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkZmxleC1vcmRlciB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaSAhaW1wb3J0YW50OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvKipcbiAqIFNwYWNpbmdcbiAqL1xuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAaWYgJG5lZ2F0aXZlLW1hcmdpbnMge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICBAaWYgXCIjeyRzaXplfVwiICE9IFwiMFwiIHtcbiAgICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLmRlLWxpbmsge1xuICBAaW5jbHVkZSBkZS1saW5rO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/