@charset "UTF-8";
/*!
 * Bootstrap  v5.3.7 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
/* (C) */
:root,
[data-bs-theme=light] {
  --bs-blue: #007bff;
  --bs-indigo: #6610f2;
  --bs-purple: #7367f0;
  --bs-pink: #e83e8c;
  --bs-red: #ff4c51;
  --bs-orange: #fd7e14;
  --bs-yellow: #ff9f43;
  --bs-green: #28c76f;
  --bs-teal: #20c997;
  --bs-cyan: #00bad1;
  --bs-black: #2f2b3d;
  --bs-white: #fff;
  --bs-gray: #82808b;
  --bs-gray-dark: #595564;
  --bs-gray-25: #fcfcfc;
  --bs-gray-50: #f3f2f3;
  --bs-gray-75: #eeeeef;
  --bs-gray-100: #eaeaec;
  --bs-gray-200: #e6e6e8;
  --bs-gray-300: #c1bfc5;
  --bs-gray-400: #acaab1;
  --bs-gray-500: #97959e;
  --bs-gray-600: #82808b;
  --bs-gray-700: #6d6b77;
  --bs-gray-800: #595564;
  --bs-gray-900: #444050;
  --bs-primary: #7367f0;
  --bs-secondary: #808390;
  --bs-success: #28c76f;
  --bs-info: #00bad1;
  --bs-warning: #ff9f43;
  --bs-danger: #ff4c51;
  --bs-light: #dfdfe3;
  --bs-dark: #2f3349;
  --bs-gray: #97959e;
  --bs-primary-rgb: 115, 103, 240;
  --bs-secondary-rgb: 128, 131, 144;
  --bs-success-rgb: 40, 199, 111;
  --bs-info-rgb: 0, 186, 209;
  --bs-warning-rgb: 255, 159, 67;
  --bs-danger-rgb: 255, 76, 81;
  --bs-light-rgb: 223, 223, 227;
  --bs-dark-rgb: 47, 51, 73;
  --bs-gray-rgb: 151, 149, 158;
  --bs-primary-text-emphasis: #2e2960;
  --bs-secondary-text-emphasis: #33343a;
  --bs-success-text-emphasis: #10502c;
  --bs-info-text-emphasis: #004a54;
  --bs-warning-text-emphasis: #66401b;
  --bs-danger-text-emphasis: #661e20;
  --bs-light-text-emphasis: #6d6b77;
  --bs-dark-text-emphasis: #6d6b77;
  --bs-primary-bg-subtle: #e9e7fd;
  --bs-secondary-bg-subtle: #ebebed;
  --bs-success-bg-subtle: #ddf6e8;
  --bs-info-bg-subtle: #d6f4f8;
  --bs-warning-bg-subtle: #fff0e1;
  --bs-danger-bg-subtle: #ffe2e3;
  --bs-light-bg-subtle: #f5f5f6;
  --bs-dark-bg-subtle: #dedee2;
  --bs-primary-border-subtle: #c8c4f9;
  --bs-secondary-border-subtle: #cdcfd4;
  --bs-success-border-subtle: #abe9c7;
  --bs-info-border-subtle: #9ce4ed;
  --bs-warning-border-subtle: #ffdab6;
  --bs-danger-border-subtle: #ffb9bb;
  --bs-light-border-subtle: #e6e6e8;
  --bs-dark-border-subtle: #aeafb8;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 47, 43, 61;
  --bs-font-sans-serif: "Public Sans", -apple-system, blinkmacsystemfont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  --bs-font-monospace: "SFMono-Regular", menlo, monaco, consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-root-font-size: 16px;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 0.9375rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.375;
  --bs-body-color: #6d6b77;
  --bs-body-color-rgb: 109, 107, 119;
  --bs-body-bg: #f8f7fa;
  --bs-body-bg-rgb: 248, 247, 250;
  --bs-emphasis-color: #2f2b3d;
  --bs-emphasis-color-rgb: 47, 43, 61;
  --bs-secondary-color: #acaab1;
  --bs-secondary-color-rgb: 172, 170, 177;
  --bs-secondary-bg: #e6e6e8;
  --bs-secondary-bg-rgb: 230, 230, 232;
  --bs-tertiary-color: rgba(109, 107, 119, 0.5);
  --bs-tertiary-color-rgb: 109, 107, 119;
  --bs-tertiary-bg: #dfdfe3;
  --bs-tertiary-bg-rgb: 223, 223, 227;
  --bs-heading-color: #444050;
  --bs-link-color: #7367f0;
  --bs-link-color-rgb: 115, 103, 240;
  --bs-link-decoration: none;
  --bs-link-hover-color: #685dd8;
  --bs-link-hover-color-rgb: 104, 93, 216;
  --bs-code-color: #e83e8c;
  --bs-highlight-color: #6d6b77;
  --bs-highlight-bg: #ffecd9;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: var(--bs-gray-200);
  --bs-border-color-translucent: rgba(47, 43, 61, 0.075);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 0.625rem;
  --bs-border-radius-xxl: 1rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.1875rem 0.75rem 0 rgba(47, 43, 61, 0.14);
  --bs-box-shadow-sm: 0 0.125rem 0.5rem 0 rgba(47, 43, 61, 0.12);
  --bs-box-shadow-lg: 0 0.25rem 1.125rem 0 rgba(47, 43, 61, 0.16);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(47, 43, 61, 0.075);
  --bs-focus-ring-width: 0.15rem;
  --bs-focus-ring-opacity: 0.75;
  --bs-focus-ring-color: rgba(109, 107, 119, 0.75);
  --bs-form-valid-color: #28c76f;
  --bs-form-valid-border-color: #28c76f;
  --bs-form-invalid-color: #ff4c51;
  --bs-form-invalid-border-color: #ff4c51;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #acabc1;
  --bs-body-color-rgb: 172, 171, 193;
  --bs-body-bg: #25293c;
  --bs-body-bg-rgb: 37, 41, 60;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: #76778e;
  --bs-secondary-color-rgb: 118, 119, 142;
  --bs-secondary-bg: #76778e;
  --bs-secondary-bg-rgb: 118, 119, 142;
  --bs-tertiary-color: rgba(172, 171, 193, 0.5);
  --bs-tertiary-color-rgb: 172, 171, 193;
  --bs-tertiary-bg: #4e5370;
  --bs-tertiary-bg-rgb: 78, 83, 112;
  --bs-primary-text-emphasis: #aba4f6;
  --bs-secondary-text-emphasis: #b3b5bc;
  --bs-success-text-emphasis: #7edda9;
  --bs-info-text-emphasis: #66d6e3;
  --bs-warning-text-emphasis: #ffc58e;
  --bs-danger-text-emphasis: #ff9497;
  --bs-light-text-emphasis: #acabc1;
  --bs-dark-text-emphasis: #e1def5;
  --bs-primary-bg-subtle: #3a3b64;
  --bs-secondary-bg-subtle: #3c4054;
  --bs-success-bg-subtle: #2e4b4f;
  --bs-info-bg-subtle: #27495f;
  --bs-warning-bg-subtle: #504448;
  --bs-danger-bg-subtle: #50374a;
  --bs-light-bg-subtle: #33374c;
  --bs-dark-bg-subtle: #393c56;
  --bs-primary-border-subtle: #4a478a;
  --bs-secondary-border-subtle: #4f5265;
  --bs-success-border-subtle: #2c6d58;
  --bs-info-border-subtle: #1d687e;
  --bs-warning-border-subtle: #805d47;
  --bs-danger-border-subtle: #803d4c;
  --bs-light-border-subtle: #393c51;
  --bs-dark-border-subtle: #46496a;
  --bs-heading-color: #cfcde4;
  --bs-link-color: #aba4f6;
  --bs-link-hover-color: #b3adf7;
  --bs-link-color-rgb: 171, 164, 246;
  --bs-link-hover-color-rgb: 179, 173, 247;
  --bs-code-color: #f18bba;
  --bs-highlight-color: #acabc1;
  --bs-highlight-bg: #66401b;
  --bs-border-color: #44485e;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #28c76f;
  --bs-form-valid-border-color: #28c76f;
  --bs-form-invalid-color: #ff4c51;
  --bs-form-invalid-border-color: #ff4c51;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  font-size: var(--bs-root-font-size);
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(47, 43, 61, 0);
}

hr {
  margin: 1rem 0;
  color: var(--bs-border-color);
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 1;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 500;
  line-height: 1.37;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.4125rem + 1.95vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.875rem;
  }
}

h2, .h2 {
  font-size: calc(1.3625rem + 1.35vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2.375rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.125rem;
}

h6, .h6 {
  font-size: 0.9375rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

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: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

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

dt {
  font-weight: 500;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.8125rem;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: none;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

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

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.8125rem;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.8125rem;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.8125rem;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.782rem;
  padding-bottom: 0.782rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  font-weight: 500;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

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

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: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
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] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-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 {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.125rem;
  font-weight: 300;
}

.display-1 {
  font-weight: 500;
  line-height: 1.37;
  font-size: calc(1.6rem + 4.2vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 4.75rem;
  }
}

.display-2 {
  font-weight: 500;
  line-height: 1.37;
  font-size: calc(1.5625rem + 3.75vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.375rem;
  }
}

.display-3 {
  font-weight: 500;
  line-height: 1.37;
  font-size: calc(1.5125rem + 3.15vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 3.875rem;
  }
}

.display-4 {
  font-weight: 500;
  line-height: 1.37;
  font-size: calc(1.4625rem + 2.55vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.375rem;
  }
}

.display-5 {
  font-weight: 500;
  line-height: 1.37;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-weight: 500;
  line-height: 1.37;
  font-size: calc(1.3875rem + 1.65vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.625rem;
  }
}

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

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.8125rem;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 0.9375rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.8125rem;
  color: #82808b;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0;
  background-color: transparent;
  border: 0 solid var(--bs-border-color);
  border-radius: 0;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.8125rem;
  color: #acaab1;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1440px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.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,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-50,
.gx-50 {
  --bs-gutter-x: 0.125rem;
}

.g-50,
.gy-50 {
  --bs-gutter-y: 0.125rem;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-1_5,
.gx-1_5 {
  --bs-gutter-x: 0.375rem;
}

.g-1_5,
.gy-1_5 {
  --bs-gutter-y: 0.375rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 0.75rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 0.75rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 1.25rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 1.25rem;
}

.g-6,
.gx-6 {
  --bs-gutter-x: 1.5rem;
}

.g-6,
.gy-6 {
  --bs-gutter-y: 1.5rem;
}

.g-7,
.gx-7 {
  --bs-gutter-x: 1.75rem;
}

.g-7,
.gy-7 {
  --bs-gutter-y: 1.75rem;
}

.g-8,
.gx-8 {
  --bs-gutter-x: 2rem;
}

.g-8,
.gy-8 {
  --bs-gutter-y: 2rem;
}

.g-9,
.gx-9 {
  --bs-gutter-x: 2.25rem;
}

.g-9,
.gy-9 {
  --bs-gutter-y: 2.25rem;
}

.g-10,
.gx-10 {
  --bs-gutter-x: 2.5rem;
}

.g-10,
.gy-10 {
  --bs-gutter-y: 2.5rem;
}

.g-11,
.gx-11 {
  --bs-gutter-x: 2.75rem;
}

.g-11,
.gy-11 {
  --bs-gutter-y: 2.75rem;
}

.g-12,
.gx-12 {
  --bs-gutter-x: 3rem;
}

.g-12,
.gy-12 {
  --bs-gutter-y: 3rem;
}

@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,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-50,
  .gx-sm-50 {
    --bs-gutter-x: 0.125rem;
  }
  .g-sm-50,
  .gy-sm-50 {
    --bs-gutter-y: 0.125rem;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-1_5,
  .gx-sm-1_5 {
    --bs-gutter-x: 0.375rem;
  }
  .g-sm-1_5,
  .gy-sm-1_5 {
    --bs-gutter-y: 0.375rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 1.25rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 1.25rem;
  }
  .g-sm-6,
  .gx-sm-6 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-6,
  .gy-sm-6 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-7,
  .gx-sm-7 {
    --bs-gutter-x: 1.75rem;
  }
  .g-sm-7,
  .gy-sm-7 {
    --bs-gutter-y: 1.75rem;
  }
  .g-sm-8,
  .gx-sm-8 {
    --bs-gutter-x: 2rem;
  }
  .g-sm-8,
  .gy-sm-8 {
    --bs-gutter-y: 2rem;
  }
  .g-sm-9,
  .gx-sm-9 {
    --bs-gutter-x: 2.25rem;
  }
  .g-sm-9,
  .gy-sm-9 {
    --bs-gutter-y: 2.25rem;
  }
  .g-sm-10,
  .gx-sm-10 {
    --bs-gutter-x: 2.5rem;
  }
  .g-sm-10,
  .gy-sm-10 {
    --bs-gutter-y: 2.5rem;
  }
  .g-sm-11,
  .gx-sm-11 {
    --bs-gutter-x: 2.75rem;
  }
  .g-sm-11,
  .gy-sm-11 {
    --bs-gutter-y: 2.75rem;
  }
  .g-sm-12,
  .gx-sm-12 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-12,
  .gy-sm-12 {
    --bs-gutter-y: 3rem;
  }
}
@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,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-50,
  .gx-md-50 {
    --bs-gutter-x: 0.125rem;
  }
  .g-md-50,
  .gy-md-50 {
    --bs-gutter-y: 0.125rem;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-1_5,
  .gx-md-1_5 {
    --bs-gutter-x: 0.375rem;
  }
  .g-md-1_5,
  .gy-md-1_5 {
    --bs-gutter-y: 0.375rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 1.25rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 1.25rem;
  }
  .g-md-6,
  .gx-md-6 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-6,
  .gy-md-6 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-7,
  .gx-md-7 {
    --bs-gutter-x: 1.75rem;
  }
  .g-md-7,
  .gy-md-7 {
    --bs-gutter-y: 1.75rem;
  }
  .g-md-8,
  .gx-md-8 {
    --bs-gutter-x: 2rem;
  }
  .g-md-8,
  .gy-md-8 {
    --bs-gutter-y: 2rem;
  }
  .g-md-9,
  .gx-md-9 {
    --bs-gutter-x: 2.25rem;
  }
  .g-md-9,
  .gy-md-9 {
    --bs-gutter-y: 2.25rem;
  }
  .g-md-10,
  .gx-md-10 {
    --bs-gutter-x: 2.5rem;
  }
  .g-md-10,
  .gy-md-10 {
    --bs-gutter-y: 2.5rem;
  }
  .g-md-11,
  .gx-md-11 {
    --bs-gutter-x: 2.75rem;
  }
  .g-md-11,
  .gy-md-11 {
    --bs-gutter-y: 2.75rem;
  }
  .g-md-12,
  .gx-md-12 {
    --bs-gutter-x: 3rem;
  }
  .g-md-12,
  .gy-md-12 {
    --bs-gutter-y: 3rem;
  }
}
@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,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-50,
  .gx-lg-50 {
    --bs-gutter-x: 0.125rem;
  }
  .g-lg-50,
  .gy-lg-50 {
    --bs-gutter-y: 0.125rem;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-1_5,
  .gx-lg-1_5 {
    --bs-gutter-x: 0.375rem;
  }
  .g-lg-1_5,
  .gy-lg-1_5 {
    --bs-gutter-y: 0.375rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 1.25rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 1.25rem;
  }
  .g-lg-6,
  .gx-lg-6 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-6,
  .gy-lg-6 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-7,
  .gx-lg-7 {
    --bs-gutter-x: 1.75rem;
  }
  .g-lg-7,
  .gy-lg-7 {
    --bs-gutter-y: 1.75rem;
  }
  .g-lg-8,
  .gx-lg-8 {
    --bs-gutter-x: 2rem;
  }
  .g-lg-8,
  .gy-lg-8 {
    --bs-gutter-y: 2rem;
  }
  .g-lg-9,
  .gx-lg-9 {
    --bs-gutter-x: 2.25rem;
  }
  .g-lg-9,
  .gy-lg-9 {
    --bs-gutter-y: 2.25rem;
  }
  .g-lg-10,
  .gx-lg-10 {
    --bs-gutter-x: 2.5rem;
  }
  .g-lg-10,
  .gy-lg-10 {
    --bs-gutter-y: 2.5rem;
  }
  .g-lg-11,
  .gx-lg-11 {
    --bs-gutter-x: 2.75rem;
  }
  .g-lg-11,
  .gy-lg-11 {
    --bs-gutter-y: 2.75rem;
  }
  .g-lg-12,
  .gx-lg-12 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-12,
  .gy-lg-12 {
    --bs-gutter-y: 3rem;
  }
}
@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,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-50,
  .gx-xl-50 {
    --bs-gutter-x: 0.125rem;
  }
  .g-xl-50,
  .gy-xl-50 {
    --bs-gutter-y: 0.125rem;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-1_5,
  .gx-xl-1_5 {
    --bs-gutter-x: 0.375rem;
  }
  .g-xl-1_5,
  .gy-xl-1_5 {
    --bs-gutter-y: 0.375rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 1.25rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 1.25rem;
  }
  .g-xl-6,
  .gx-xl-6 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-6,
  .gy-xl-6 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-7,
  .gx-xl-7 {
    --bs-gutter-x: 1.75rem;
  }
  .g-xl-7,
  .gy-xl-7 {
    --bs-gutter-y: 1.75rem;
  }
  .g-xl-8,
  .gx-xl-8 {
    --bs-gutter-x: 2rem;
  }
  .g-xl-8,
  .gy-xl-8 {
    --bs-gutter-y: 2rem;
  }
  .g-xl-9,
  .gx-xl-9 {
    --bs-gutter-x: 2.25rem;
  }
  .g-xl-9,
  .gy-xl-9 {
    --bs-gutter-y: 2.25rem;
  }
  .g-xl-10,
  .gx-xl-10 {
    --bs-gutter-x: 2.5rem;
  }
  .g-xl-10,
  .gy-xl-10 {
    --bs-gutter-y: 2.5rem;
  }
  .g-xl-11,
  .gx-xl-11 {
    --bs-gutter-x: 2.75rem;
  }
  .g-xl-11,
  .gy-xl-11 {
    --bs-gutter-y: 2.75rem;
  }
  .g-xl-12,
  .gx-xl-12 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-12,
  .gy-xl-12 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-50,
  .gx-xxl-50 {
    --bs-gutter-x: 0.125rem;
  }
  .g-xxl-50,
  .gy-xxl-50 {
    --bs-gutter-y: 0.125rem;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-1_5,
  .gx-xxl-1_5 {
    --bs-gutter-x: 0.375rem;
  }
  .g-xxl-1_5,
  .gy-xxl-1_5 {
    --bs-gutter-y: 0.375rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 0.75rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 0.75rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 1.25rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 1.25rem;
  }
  .g-xxl-6,
  .gx-xxl-6 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-6,
  .gy-xxl-6 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-7,
  .gx-xxl-7 {
    --bs-gutter-x: 1.75rem;
  }
  .g-xxl-7,
  .gy-xxl-7 {
    --bs-gutter-y: 1.75rem;
  }
  .g-xxl-8,
  .gx-xxl-8 {
    --bs-gutter-x: 2rem;
  }
  .g-xxl-8,
  .gy-xxl-8 {
    --bs-gutter-y: 2rem;
  }
  .g-xxl-9,
  .gx-xxl-9 {
    --bs-gutter-x: 2.25rem;
  }
  .g-xxl-9,
  .gy-xxl-9 {
    --bs-gutter-y: 2.25rem;
  }
  .g-xxl-10,
  .gx-xxl-10 {
    --bs-gutter-x: 2.5rem;
  }
  .g-xxl-10,
  .gy-xxl-10 {
    --bs-gutter-y: 2.5rem;
  }
  .g-xxl-11,
  .gx-xxl-11 {
    --bs-gutter-x: 2.75rem;
  }
  .g-xxl-11,
  .gy-xxl-11 {
    --bs-gutter-y: 2.75rem;
  }
  .g-xxl-12,
  .gx-xxl-12 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-12,
  .gy-xxl-12 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: rgba(var(--bs-base-color-rgb), 0.06);
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: rgba(var(--bs-primary-rgb), 0.08);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(47, 43, 61, 0.06);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: middle;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.782rem 1.25rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid var(--bs-border-color);
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.594rem 1.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(even) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #e3e1fc;
  --bs-table-border-color: #c8c6de;
  --bs-table-striped-bg: #d5d4ed;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #d1cfe8;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d5d4ed;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e6e6e9;
  --bs-table-border-color: #cacacd;
  --bs-table-striped-bg: #d8d8db;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #d4d4d6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d8d8db;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d4f4e2;
  --bs-table-border-color: #bbd7c7;
  --bs-table-striped-bg: #c7e5d4;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #c3e0d0;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c7e5d4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #ccf1f6;
  --bs-table-border-color: #b4d4d8;
  --bs-table-striped-bg: #c0e3e7;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcdee2;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c0e3e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #ffecd9;
  --bs-table-border-color: #e0d0bf;
  --bs-table-striped-bg: #f0decc;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #ebd9c8;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #f0decc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #ffdbdc;
  --bs-table-border-color: #e0c1c2;
  --bs-table-striped-bg: #f0cecf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #ebc9ca;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #f0cecf;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #dfdfe3;
  --bs-table-border-color: #c4c4c8;
  --bs-table-striped-bg: #d2d2d5;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cdcdd1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d2d2d5;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #2f3349;
  --bs-table-border-color: #484b5f;
  --bs-table-striped-bg: #3b3f54;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #404358;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #3b3f54;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  color: var(--bs-heading-color);
}

.col-form-label {
  padding-top: calc(0.426rem + var(--bs-border-width));
  padding-bottom: calc(0.426rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.625;
  color: var(--bs-heading-color);
}

.col-form-label-lg {
  padding-top: calc(0.575rem + var(--bs-border-width));
  padding-bottom: calc(0.575rem + var(--bs-border-width));
  font-size: 1.0625rem;
}

.col-form-label-sm {
  padding-top: calc(0.215rem + var(--bs-border-width));
  padding-bottom: calc(0.215rem + var(--bs-border-width));
  font-size: 0.8125rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--bs-body-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.426rem 0.9375rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--bs-heading-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  background-clip: padding-box;
  border: var(--bs-border-width) solid color-mix(in sRGB, var(--bs-base-color) 22%, var(--bs-paper-bg));
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-heading-color);
  background-color: transparent;
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.625em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  color: var(--bs-secondary-color);
  background-color: var(--bs-gray-50);
  border-color: color-mix(in sRGB, var(--bs-base-color) 24%, var(--bs-paper-bg));
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.426rem 0.9375rem;
  margin: -0.426rem -0.9375rem;
  margin-inline-end: 0.9375rem;
  color: var(--bs-heading-color);
  background-color: transparent;
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: rgba(0, 0, 0, 0.05);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.426rem 0;
  margin-bottom: 0;
  line-height: 1.625;
  color: var(--bs-heading-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.625em + 0.43rem + calc(var(--bs-border-width) * 2));
  padding: 0.215rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.215rem 0.75rem;
  margin: -0.215rem -0.75rem;
  margin-inline-end: 0.75rem;
}

.form-control-lg {
  min-height: calc(1.625em + 1.15rem + calc(var(--bs-border-width) * 2));
  padding: 0.575rem 1rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.575rem 1rem;
  margin: -0.575rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.625em + 0.852rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.625em + 0.43rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.625em + 1.15rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.625em + 0.852rem + calc(var(--bs-border-width) * 2));
  padding: 0.426rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.625em + 0.43rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.625em + 1.15rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" fill="none"%3e%3cpath d="M10.9999 12.0743L15.5374 7.53676L16.8336 8.83292L10.9999 14.6666L5.16626 8.83292L6.46243 7.53676L10.9999 12.0743Z" fill="%232f2b3d" fill-opacity="0.9"/%3e%3c/svg%3e');
  display: block;
  width: 100%;
  padding: 0.426rem 2.625rem 0.426rem 0.9375rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--bs-heading-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.9375rem center;
  background-size: 22px 24px;
  border: var(--bs-border-width) solid color-mix(in sRGB, var(--bs-base-color) 22%, var(--bs-paper-bg));
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.9375rem;
  background-image: none;
}
.form-select:disabled {
  color: var(--bs-secondary-color);
  background-color: var(--bs-gray-50);
  border-color: color-mix(in sRGB, var(--bs-base-color) 24%, var(--bs-paper-bg));
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-heading-color);
}

.form-select-sm {
  padding-top: 0.215rem;
  padding-bottom: 0.215rem;
  padding-left: 0.75rem;
  font-size: 0.8125rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.575rem;
  padding-bottom: 0.575rem;
  padding-left: 1rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" fill="none"%3e%3cpath d="M10.9999 12.0743L15.5374 7.53676L16.8336 8.83292L10.9999 14.6666L5.16626 8.83292L6.46243 7.53676L10.9999 12.0743Z" fill="%23fff" fill-opacity="0.9"/%3e%3c/svg%3e');
}

.form-check {
  display: block;
  min-height: 1.3754296875rem;
  padding-left: 1.8em;
  margin-bottom: 0.5rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.8em;
}

.form-check-reverse {
  padding-right: 1.8em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.8em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: transparent;
  flex-shrink: 0;
  width: 1.2em;
  height: 1.2em;
  margin-top: 0.0875em;
  vertical-align: top;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 2px solid var(--bs-secondary-color);
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.267em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: var(--bs-body-color);
  outline: 0;
  box-shadow: none;
}
.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='17' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M3.41667 7L6.33333 9.91667L12.1667 4.08333' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='1.6' fill='%23fff'  /%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3e%3cpath d='M2.5 6H9.5' stroke='%23fff' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.45;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.45;
}

.form-check-label {
  color: var(--bs-heading-color);
  cursor: pointer;
}

.form-switch {
  padding-left: 2.667em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg filter='url%28%23a%29'%3e%3ccircle cx='12' cy='11' r='8.5' fill='%23fff'/%3e%3c/g%3e%3cdefs%3e%3cfilter id='a' x='0' y='0' width='22' height='22' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3e%3cfeFlood flood-opacity='0' result='BackgroundImageFix'/%3e%3cfeColorMatrix in='SourceAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3e%3cfeOffset dy='2'/%3e%3cfeGaussianBlur stdDeviation='2'/%3e%3cfeColorMatrix values='0 0 0 0 0.180392 0 0 0 0 0.14902 0 0 0 0 0.239216 0 0 0 0.16 0'/%3e%3cfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_6488_3264'/%3e%3cfeBlend in='SourceGraphic' in2='effect1_dropShadow_6488_3264' result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.667em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg filter='url%28%23a%29'%3e%3ccircle cx='12' cy='11' r='8.5' fill='%23fff'/%3e%3c/g%3e%3cdefs%3e%3cfilter id='a' x='0' y='0' width='22' height='22' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3e%3cfeFlood flood-opacity='0' result='BackgroundImageFix'/%3e%3cfeColorMatrix in='SourceAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3e%3cfeOffset dy='2'/%3e%3cfeGaussianBlur stdDeviation='2'/%3e%3cfeColorMatrix values='0 0 0 0 0.180392 0 0 0 0 0.14902 0 0 0 0 0.239216 0 0 0 0.16 0'/%3e%3cfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_6488_3264'/%3e%3cfeBlend in='SourceGraphic' in2='effect1_dropShadow_6488_3264' result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: 95% center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg filter='url%28%23a%29'%3e%3ccircle cx='12' cy='11' r='8.5' fill='%23fff'/%3e%3c/g%3e%3cdefs%3e%3cfilter id='a' x='0' y='0' width='22' height='22' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3e%3cfeFlood flood-opacity='0' result='BackgroundImageFix'/%3e%3cfeColorMatrix in='SourceAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3e%3cfeOffset dy='2'/%3e%3cfeGaussianBlur stdDeviation='2'/%3e%3cfeColorMatrix values='0 0 0 0 0.180392 0 0 0 0 0.14902 0 0 0 0 0.239216 0 0 0 0.16 0'/%3e%3cfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_6488_3264'/%3e%3cfeBlend in='SourceGraphic' in2='effect1_dropShadow_6488_3264' result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.667em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.667em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.45;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg filter='url%28%23a%29'%3e%3ccircle cx='12' cy='11' r='8.5' fill='%23fff'/%3e%3c/g%3e%3cdefs%3e%3cfilter id='a' x='0' y='0' width='22' height='22' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3e%3cfeFlood flood-opacity='0' result='BackgroundImageFix'/%3e%3cfeColorMatrix in='SourceAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3e%3cfeOffset dy='2'/%3e%3cfeGaussianBlur stdDeviation='2'/%3e%3cfeColorMatrix values='0 0 0 0 0.180392 0 0 0 0 0.14902 0 0 0 0 0.239216 0 0 0 0.16 0'/%3e%3cfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_6488_3264'/%3e%3cfeBlend in='SourceGraphic' in2='effect1_dropShadow_6488_3264' result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.475rem;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0.25rem 0.05rem color-mix(in sRGB, var(--bs-primary) 0.1, var(--bs-paper-bg));
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0.25rem 0.05rem color-mix(in sRGB, var(--bs-primary) 0.1, var(--bs-paper-bg));
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1.375rem;
  height: 1.375rem;
  margin-top: -0.5rem;
  -webkit-appearance: none;
          appearance: none;
  background-color: var(--bs-white);
  border: 0.25rem solid var(--bs-primary);
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: var(--bs-white);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.375rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-primary);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1.375rem;
  height: 1.375rem;
  -moz-appearance: none;
       appearance: none;
  background-color: var(--bs-white);
  border: 0.25rem solid var(--bs-primary);
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: var(--bs-white);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.375rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-primary);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-white);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-white);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.9375rem;
  overflow: hidden;
  color: rgba(var(--bs-body-color-rgb), 0.75);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.9375rem;
}
.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder), .form-floating > .form-control-plaintext:not(:-moz-placeholder) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  padding-left: 0.9375rem;
}
.form-floating > .form-control:not(:-moz-placeholder) ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:not(:-moz-placeholder) ~ label::after {
  position: absolute;
  inset: 1rem 0.46875rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: transparent;
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.46875rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: transparent;
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--bs-gray-50);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #82808b;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.426rem 0.9375rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--bs-heading-color);
  text-align: center;
  white-space: nowrap;
  background-color: transparent;
  border: var(--bs-border-width) solid color-mix(in sRGB, var(--bs-base-color) 22%, var(--bs-paper-bg));
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.575rem 1rem;
  font-size: 1.0625rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.215rem 0.75rem;
  font-size: 0.8125rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3.5625rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-end-end-radius: 0;
  border-start-end-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-end-end-radius: 0;
  border-start-end-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * var(--bs-border-width));
  border-end-start-radius: 0;
  border-start-start-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-end-start-radius: 0;
  border-start-start-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.8125rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--bs-success-rgb), 0.1);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--bs-success-rgb), 0.1);
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--bs-success-rgb), 0.1);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.8125rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--bs-danger-rgb), 0.1);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--bs-danger-rgb), 0.1);
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0.25rem 0.05rem rgba(var(--bs-danger-rgb), 0.1);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: 0.4812rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 0.9375rem;
  --bs-btn-font-weight: 500;
  --bs-btn-line-height: 1.375;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: none;
  --bs-btn-disabled-opacity: 0.45;
  --bs-btn-focus-box-shadow: 0 0 0 0.05rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #7367f0;
  --bs-btn-border-color: #7367f0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #685dd8;
  --bs-btn-hover-border-color: #5c52c0;
  --bs-btn-focus-shadow-rgb: 136, 126, 242;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #685dd8;
  --bs-btn-active-border-color: #564db4;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #7367f0;
  --bs-btn-disabled-border-color: #7367f0;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #808390;
  --bs-btn-border-color: #808390;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #737682;
  --bs-btn-hover-border-color: #666973;
  --bs-btn-focus-shadow-rgb: 147, 150, 161;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #737682;
  --bs-btn-active-border-color: #60626c;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #808390;
  --bs-btn-disabled-border-color: #808390;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #28c76f;
  --bs-btn-border-color: #28c76f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #24b364;
  --bs-btn-hover-border-color: #209f59;
  --bs-btn-focus-shadow-rgb: 72, 207, 133;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #24b364;
  --bs-btn-active-border-color: #1e9553;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #28c76f;
  --bs-btn-disabled-border-color: #28c76f;
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #00bad1;
  --bs-btn-border-color: #00bad1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #00a7bc;
  --bs-btn-hover-border-color: #0095a7;
  --bs-btn-focus-shadow-rgb: 38, 196, 216;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00a7bc;
  --bs-btn-active-border-color: #008c9d;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #00bad1;
  --bs-btn-disabled-border-color: #00bad1;
}

.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: #ff9f43;
  --bs-btn-border-color: #ff9f43;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e68f3c;
  --bs-btn-hover-border-color: #cc7f36;
  --bs-btn-focus-shadow-rgb: 255, 173, 95;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e68f3c;
  --bs-btn-active-border-color: #bf7732;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #ff9f43;
  --bs-btn-disabled-border-color: #ff9f43;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #ff4c51;
  --bs-btn-border-color: #ff4c51;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e64449;
  --bs-btn-hover-border-color: #cc3d41;
  --bs-btn-focus-shadow-rgb: 255, 103, 107;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e64449;
  --bs-btn-active-border-color: #bf393d;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #ff4c51;
  --bs-btn-disabled-border-color: #ff4c51;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #dfdfe3;
  --bs-btn-border-color: #dfdfe3;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #c9c9cc;
  --bs-btn-hover-border-color: #b2b2b6;
  --bs-btn-focus-shadow-rgb: 190, 190, 193;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c9c9cc;
  --bs-btn-active-border-color: #a7a7aa;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #dfdfe3;
  --bs-btn-disabled-border-color: #dfdfe3;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #2f3349;
  --bs-btn-border-color: #2f3349;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4e5264;
  --bs-btn-hover-border-color: #44475b;
  --bs-btn-focus-shadow-rgb: 78, 82, 100;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #595c6d;
  --bs-btn-active-border-color: #44475b;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #2f3349;
  --bs-btn-disabled-border-color: #2f3349;
}

.btn-gray {
  --bs-btn-color: #fff;
  --bs-btn-bg: #97959e;
  --bs-btn-border-color: #97959e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #88868e;
  --bs-btn-hover-border-color: #79777e;
  --bs-btn-focus-shadow-rgb: 167, 165, 173;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #88868e;
  --bs-btn-active-border-color: #717077;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #97959e;
  --bs-btn-disabled-border-color: #97959e;
}

.btn-outline-primary {
  --bs-btn-color: #7367f0;
  --bs-btn-border-color: #7367f0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #7367f0;
  --bs-btn-hover-border-color: #7367f0;
  --bs-btn-focus-shadow-rgb: 115, 103, 240;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #7367f0;
  --bs-btn-active-border-color: #7367f0;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #7367f0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #7367f0;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #808390;
  --bs-btn-border-color: #808390;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #808390;
  --bs-btn-hover-border-color: #808390;
  --bs-btn-focus-shadow-rgb: 128, 131, 144;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #808390;
  --bs-btn-active-border-color: #808390;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #808390;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #808390;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #28c76f;
  --bs-btn-border-color: #28c76f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #28c76f;
  --bs-btn-hover-border-color: #28c76f;
  --bs-btn-focus-shadow-rgb: 40, 199, 111;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #28c76f;
  --bs-btn-active-border-color: #28c76f;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #28c76f;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #28c76f;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #00bad1;
  --bs-btn-border-color: #00bad1;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #00bad1;
  --bs-btn-hover-border-color: #00bad1;
  --bs-btn-focus-shadow-rgb: 0, 186, 209;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00bad1;
  --bs-btn-active-border-color: #00bad1;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #00bad1;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #00bad1;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ff9f43;
  --bs-btn-border-color: #ff9f43;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ff9f43;
  --bs-btn-hover-border-color: #ff9f43;
  --bs-btn-focus-shadow-rgb: 255, 159, 67;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ff9f43;
  --bs-btn-active-border-color: #ff9f43;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #ff9f43;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ff9f43;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #ff4c51;
  --bs-btn-border-color: #ff4c51;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ff4c51;
  --bs-btn-hover-border-color: #ff4c51;
  --bs-btn-focus-shadow-rgb: 255, 76, 81;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ff4c51;
  --bs-btn-active-border-color: #ff4c51;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #ff4c51;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ff4c51;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #dfdfe3;
  --bs-btn-border-color: #dfdfe3;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #dfdfe3;
  --bs-btn-hover-border-color: #dfdfe3;
  --bs-btn-focus-shadow-rgb: 223, 223, 227;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #dfdfe3;
  --bs-btn-active-border-color: #dfdfe3;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #dfdfe3;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dfdfe3;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #2f3349;
  --bs-btn-border-color: #2f3349;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2f3349;
  --bs-btn-hover-border-color: #2f3349;
  --bs-btn-focus-shadow-rgb: 47, 51, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2f3349;
  --bs-btn-active-border-color: #2f3349;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #2f3349;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #2f3349;
  --bs-gradient: none;
}

.btn-outline-gray {
  --bs-btn-color: #97959e;
  --bs-btn-border-color: #97959e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #97959e;
  --bs-btn-hover-border-color: #97959e;
  --bs-btn-focus-shadow-rgb: 151, 149, 158;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #97959e;
  --bs-btn-active-border-color: #97959e;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #97959e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #97959e;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #82808b;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 136, 126, 242;
  text-decoration: none;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.708rem;
  --bs-btn-padding-x: 1.625rem;
  --bs-btn-font-size: 1.0625rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.317rem;
  --bs-btn-padding-x: 0.875rem;
  --bs-btn-font-size: 0.8125rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: middle;
  content: "";
  border: 2px solid;
  block-size: 0.55em;
  border-block-start: 0;
  border-inline-start: 0;
  inline-size: 0.55em;
  margin-block-start: -0.297em;
  margin-inline: 0.8em 0;
  transform: rotate(45deg);
}
:dir(rtl) .dropdown-toggle::after {
  transform: rotate(-45deg);
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0.5rem;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 0.9375rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-paper-bg);
  --bs-dropdown-border-color: var(--bs-border-color);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: 0;
  --bs-dropdown-inner-border-radius: 0px;
  --bs-dropdown-divider-bg: var(--bs-border-color);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow-lg);
  --bs-dropdown-link-color: var(--bs-heading-color);
  --bs-dropdown-link-hover-color: var(--bs-dropdown-link-color);
  --bs-dropdown-link-hover-bg: var(--bs-gray-50);
  --bs-dropdown-link-active-color: var(--bs-primary);
  --bs-dropdown-link-active-bg: rgba(var(--bs-primary-rgb), 0.16);
  --bs-dropdown-link-disabled-color: var(--bs-secondary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.543rem;
  --bs-dropdown-header-color: var(--bs-secondary-color);
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: middle;
  content: "";
  border: 2px solid;
  block-size: 0.55em;
  border-block-end: 0;
  border-inline-start: 0;
  inline-size: 0.55em;
  margin-block-start: 0.26675em;
  margin-inline: 0.8em 0;
  transform: rotate(-45deg);
}
:dir(rtl) .dropup .dropdown-toggle::after {
  transform: rotate(45deg);
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: middle;
  content: "";
  border: 2px solid;
  block-size: 0.55em;
  border-block-start: 0;
  border-inline-start: 0;
  inline-size: 0.55em;
  margin-block-start: 0;
  margin-inline: 0.5em 0;
  transform: rotate(-45deg);
}
:dir(rtl) .dropend .dropdown-toggle::after {
  transform: rotate(-315deg);
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: middle;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: middle;
  content: "";
  border: 2px solid;
  block-size: 0.55em;
  border-block-start: 0;
  border-inline-end: 0;
  inline-size: 0.55em;
  margin-block-start: 0;
  margin-inline: 0 0.5em;
  transform: rotate(45deg);
}
:dir(rtl) .dropstart .dropdown-toggle::before {
  transform: rotate(315deg);
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.8125rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #c1bfc5;
  --bs-dropdown-bg: #595564;
  --bs-dropdown-border-color: var(--bs-border-color);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #c1bfc5;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: var(--bs-primary);
  --bs-dropdown-link-active-bg: rgba(var(--bs-primary-rgb), 0.16);
  --bs-dropdown-link-disabled-color: #97959e;
  --bs-dropdown-header-color: #97959e;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(-1 * var(--bs-border-width));
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-end-end-radius: 0;
  border-start-end-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-end-start-radius: 0;
  border-start-start-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.65625rem;
  padding-left: 0.65625rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 1.21875rem;
  padding-left: 1.21875rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(-1 * var(--bs-border-width));
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --bs-nav-link-padding-x: 1.25rem;
  --bs-nav-link-padding-y: 0.5435rem;
  --bs-nav-link-font-size: 0.9375rem;
  --bs-nav-link-font-weight: 500;
  --bs-nav-link-color: var(--bs-heading-color);
  --bs-nav-link-hover-color: var(--bs-primary);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.15rem rgba(109, 107, 119, 0.75);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: 0;
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-primary);
  --bs-nav-tabs-link-active-bg: transparent;
  --bs-nav-tabs-link-active-border-color: var(--bs-primary);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: var(--bs-white);
  --bs-nav-pills-link-active-bg: var(--bs-primary);
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: var(--bs-heading-color);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: var(--bs-secondary-color);
  --bs-navbar-active-color: var(--bs-heading-color);
  --bs-navbar-brand-padding-y: 0.50053125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1rem;
  --bs-navbar-brand-color: var(--bs-heading-color);
  --bs-navbar-brand-hover-color: var(--bs-heading-color);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0;
  --bs-navbar-toggler-padding-x: 0;
  --bs-navbar-toggler-font-size: 1rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='var%28--bs-heading-color%29' d='M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z'/%3E%3C/svg%3E");
  --bs-navbar-toggler-border-color: transparent;
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5435rem;
  --bs-nav-link-font-size: 0.9375rem;
  --bs-nav-link-font-weight: 500;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5435rem;
  padding-bottom: 0.5435rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}

.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: #cfcde4;
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: transparent;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cfcde4' d='M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z'/%3E%3C/svg%3E");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cfcde4' d='M4 6h16v2H4zm0 5h16v2H4zm0 5h16v2H4z'/%3E%3C/svg%3E");
}

.card {
  --bs-card-spacer-y: 1.5rem;
  --bs-card-spacer-x: 1.5rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: var(--bs-heading-color);
  --bs-card-subtitle-color: color-mix(in sRGB, var(--bs-base-color) 55%, var(--bs-card-bg));
  --bs-card-border-width: 0;
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-border-radius: 0.375rem;
  --bs-card-box-shadow: var(--bs-box-shadow);
  --bs-card-inner-border-radius: 0.375rem;
  --bs-card-cap-padding-y: 1.5rem;
  --bs-card-cap-padding-x: 1.5rem;
  --bs-card-cap-bg: transparent;
  --bs-card-cap-color: var(--bs-heading-color);
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-paper-bg);
  --bs-card-img-overlay-padding: 1.5rem;
  --bs-card-group-margin: 1.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-end-end-radius: 0;
    border-start-end-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-top,
  .card-group > .card:not(:last-child) > .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-bottom,
  .card-group > .card:not(:last-child) > .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-end-start-radius: 0;
    border-start-start-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-top,
  .card-group > .card:not(:first-child) > .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-bottom,
  .card-group > .card:not(:first-child) > .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-paper-bg);
  --bs-accordion-transition: all 0.2s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-paper-bg);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.1875rem;
  --bs-accordion-btn-padding-y: 0.731rem;
  --bs-accordion-btn-color: #444050;
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23444050' stroke-opacity='0.9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(0deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23444050' stroke-opacity='0.9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-body-padding-x: 1.1875rem;
  --bs-accordion-body-padding-y: 1.1875rem;
  --bs-accordion-active-color: #444050;
  --bs-accordion-active-bg: var(--bs-paper-bg);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 0.9375rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg id='bx-chevron-down'%3e%3cpath id='Vector' d='M13.5775 7.74417L9.99997 11.3217L6.42247 7.74417L5.24414 8.9225L9.99997 13.6783L14.7558 8.9225L13.5775 7.74417Z' fill='%23cfcde4' fill-opacity='0.9'/%3e%3c/g%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg id='bx-chevron-down'%3e%3cpath id='Vector' d='M13.5775 7.74417L9.99997 11.3217L6.42247 7.74417L5.24414 8.9225L9.99997 13.6783L14.7558 8.9225L13.5775 7.74417Z' fill='%23cfcde4' fill-opacity='0.9'/%3e%3c/g%3e%3c/svg%3e");
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: transparent;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-body-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-heading-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "\\") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.4809rem;
  --bs-pagination-font-size: 0.9375rem;
  --bs-pagination-color: var(--bs-heading-color);
  --bs-pagination-bg: var(--bs-gray-75);
  --bs-pagination-border-width: 1px;
  --bs-pagination-border-color: rgba(47, 43, 61, 0.22);
  --bs-pagination-border-radius: 50%;
  --bs-pagination-hover-color: var(--bs-primary);
  --bs-pagination-hover-bg: var(--bs-primary-bg-subtle);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-primary);
  --bs-pagination-focus-bg: var(--bs-primary-bg-subtle);
  --bs-pagination-focus-box-shadow: none;
  --bs-pagination-active-color: var(--bs-white);
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-active-border-color: var(--bs-primary);
  --bs-pagination-disabled-color: var(--bs-heading-color);
  --bs-pagination-disabled-bg: var(--bs-gray-75);
  --bs-pagination-disabled-border-color: rgba(47, 43, 61, 0.22);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: 0.375rem;
}
.page-item .page-link {
  border-radius: var(--bs-pagination-border-radius);
}

.pagination-lg {
  --bs-pagination-padding-x: 0.9826rem;
  --bs-pagination-padding-y: 0.681rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-border-radius: 50%;
}

.pagination-sm {
  --bs-pagination-padding-x: 0.269rem;
  --bs-pagination-padding-y: 0.3165rem;
  --bs-pagination-font-size: 0.8125rem;
  --bs-pagination-border-radius: 50%;
}

.badge {
  --bs-badge-padding-x: 0.77em;
  --bs-badge-padding-y: 0.4235em;
  --bs-badge-font-size: 0.8667em;
  --bs-badge-font-weight: 500;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: 0.125rem;
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 0.9375rem;
  --bs-alert-padding-y: 0.68755rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 2.8125rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.8594375rem 0.9375rem;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

.alert-gray {
  --bs-alert-color: var(--bs-gray-text-emphasis);
  --bs-alert-bg: var(--bs-gray-bg-subtle);
  --bs-alert-border-color: var(--bs-gray-border-subtle);
  --bs-alert-link-color: var(--bs-gray-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--bs-progress-height);
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 0.375rem;
  --bs-progress-font-size: 0.8125rem;
  --bs-progress-bg: rgba(var(--bs-base-color-rgb), 0.08);
  --bs-progress-border-radius: 3.125rem;
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: var(--bs-white);
  --bs-progress-bar-bg: #7367f0;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--bs-progress-height) var(--bs-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  --bs-list-group-color: var(--bs-heading-color);
  --bs-list-group-bg: transparent;
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: 0.25rem;
  --bs-list-group-item-padding-x: 1.25rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-body-color);
  --bs-list-group-action-hover-bg: var(--bs-gray-50);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-gray-50);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: transparent;
  --bs-list-group-active-color: var(--bs-heading-color);
  --bs-list-group-active-bg: rgba(var(--bs-primary-rgb), 0.16);
  --bs-list-group-active-border-color: var(--bs-border-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}

.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:not(.active):active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-end-start-radius: var(--bs-list-group-border-radius);
  border-start-end-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-start-end-radius: var(--bs-list-group-border-radius);
  border-end-start-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--bs-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--bs-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--bs-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--bs-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--bs-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.list-group-item-gray {
  --bs-list-group-color: var(--bs-gray-text-emphasis);
  --bs-list-group-bg: var(--bs-gray-bg-subtle);
  --bs-list-group-border-color: var(--bs-gray-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-gray-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-gray-border-subtle);
  --bs-list-group-active-color: var(--bs-gray-bg-subtle);
  --bs-list-group-active-bg: var(--bs-gray-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-gray-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #2f2b3d;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232f2b3d'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: none;
  --bs-btn-close-focus-opacity: 0.75;
  --bs-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 0.65rem;
  height: 0.65rem;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/0.65rem auto no-repeat;
  filter: var(--bs-btn-close-filter);
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

:root,
[data-bs-theme=light] {
  --bs-btn-close-filter: ;
}

[data-bs-theme=dark] {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  --bs-toast-zindex: 1095;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.406rem;
  --bs-toast-spacing: 1rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: var(--bs-font-size-base);
  --bs-toast-color: var(--bs-body-color);
  --bs-toast-bg: rgba(var(--bs-paper-bg-rgb), 0.85);
  --bs-toast-border-width: 0px;
  --bs-toast-border-color: var(--bs-gray-100);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow-lg);
  --bs-toast-header-color: var(--bs-heading-color);
  --bs-toast-header-bg: var(--bs-paper-bg);
  --bs-toast-header-border-color: color-mix(in sRGB, var(--bs-border-color) 40%, var(--bs-paper-bg));
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1095;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1090;
  --bs-modal-width: 35rem;
  --bs-modal-padding: 1.5rem;
  --bs-modal-margin: 1.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-paper-bg);
  --bs-modal-border-color: var(--bs-border-color);
  --bs-modal-border-width: 0;
  --bs-modal-border-radius: 0.5rem;
  --bs-modal-box-shadow: var(--bs-box-shadow-lg);
  --bs-modal-inner-border-radius: 0.5rem;
  --bs-modal-header-padding-x: 0rem;
  --bs-modal-header-padding-y: 1.5rem;
  --bs-modal-header-padding: 1.5rem 1.5rem 0rem;
  --bs-modal-header-border-color: rgba(47, 43, 61, 0.075);
  --bs-modal-header-border-width: 0;
  --bs-modal-title-line-height: 1.375;
  --bs-modal-footer-gap: 1rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: rgba(47, 43, 61, 0.075);
  --bs-modal-footer-border-width: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translateY(-100px) scale(0.8);
  transition: transform 0.15s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: translateY(0) scale(1);
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1089;
  --bs-backdrop-bg: #97959e;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow-lg);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 22.5rem;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 50rem;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1099;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.8125rem;
  --bs-tooltip-color: var(--bs-paper-bg);
  --bs-tooltip-bg: var(--bs-black);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 1;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.375;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1091;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.9375rem;
  --bs-popover-bg: var(--bs-paper-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-gray-100);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow-lg);
  --bs-popover-header-padding-x: 1.125rem;
  --bs-popover-header-padding-y: 1rem;
  --bs-popover-header-font-size: 0.9375rem;
  --bs-popover-header-color: var(--bs-heading-color);
  --bs-popover-header-bg: var(--bs-paper-bg);
  --bs-popover-body-padding-x: 1.125rem;
  --bs-popover-body-padding-y: 1.125rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.375;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  filter: var(--bs-carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/;
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/;
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: var(--bs-carousel-indicator-active-bg);
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: var(--bs-carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --bs-carousel-indicator-active-bg: #2f2b3d;
  --bs-carousel-caption-color: #2f2b3d;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-bs-theme=light] {
  --bs-carousel-indicator-active-bg: #fff;
  --bs-carousel-caption-color: #fff;
  --bs-carousel-control-icon-filter: ;
}

[data-bs-theme=dark] {
  --bs-carousel-indicator-active-bg: #2f2b3d;
  --bs-carousel-caption-color: #2f2b3d;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1090;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1.5rem;
  --bs-offcanvas-padding-y: 1.5rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-paper-bg);
  --bs-offcanvas-border-width: 0;
  --bs-offcanvas-border-color: var(--bs-border-color);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
  --bs-offcanvas-transition: transform 0.25s ease-in-out;
  --bs-offcanvas-title-line-height: 1.375;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1089;
  width: 100vw;
  height: 100vh;
  background-color: #97959e;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-left: auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  -webkit-mask-image: linear-gradient(130deg, #2f2b3d 55%, rgba(0, 0, 0, 0.8) 75%, #2f2b3d 95%);
          mask-image: linear-gradient(130deg, #2f2b3d 55%, rgba(0, 0, 0, 0.8) 75%, #2f2b3d 95%);
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
            mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #fff !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #fff !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-gray {
  color: #fff !important;
  background-color: RGBA(var(--bs-gray-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(104, 93, 216, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(104, 93, 216, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(115, 118, 130, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(115, 118, 130, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(36, 179, 100, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(36, 179, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(0, 167, 188, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(0, 167, 188, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(230, 143, 60, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(230, 143, 60, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(230, 68, 73, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(230, 68, 73, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(226, 226, 230, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(226, 226, 230, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(42, 46, 66, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(42, 46, 66, var(--bs-link-underline-opacity, 1)) !important;
}

.link-gray {
  color: RGBA(var(--bs-gray-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-gray-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-gray:hover, .link-gray:focus {
  color: RGBA(136, 134, 142, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(136, 134, 142, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  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;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 1;
}

/* Custom colors
******************************************************************************* */
:root {
  --bs-facebook: #3b5998;
  --bs-facebook-rgb: 59, 89, 152;
  --bs-twitter: #1da1f2;
  --bs-twitter-rgb: 29, 161, 242;
  --bs-google-plus: #dd4b39;
  --bs-google-plus-rgb: 221, 75, 57;
  --bs-instagram: #e1306c;
  --bs-instagram-rgb: 225, 48, 108;
  --bs-linkedin: #0077b5;
  --bs-linkedin-rgb: 0, 119, 181;
  --bs-github: #444050;
  --bs-github-rgb: 68, 64, 80;
  --bs-dribbble: #ea4c89;
  --bs-dribbble-rgb: 234, 76, 137;
  --bs-pinterest: #cb2027;
  --bs-pinterest-rgb: 203, 32, 39;
  --bs-slack: #4a154b;
  --bs-slack-rgb: 74, 21, 75;
  --bs-reddit: #ff4500;
  --bs-reddit-rgb: 255, 69, 0;
  --bs-youtube: #f00;
  --bs-youtube-rgb: 255, 0, 0;
  --bs-vimeo: #1ab7ea;
  --bs-vimeo-rgb: 26, 183, 234;
}
:root .bg-gradient-primary {
  --bs-bg-gradient-color: var(--bs-primary);
  --bs-bg-gradient-color-rgb: var(--bs-primary-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-secondary {
  --bs-bg-gradient-color: var(--bs-secondary);
  --bs-bg-gradient-color-rgb: var(--bs-secondary-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-success {
  --bs-bg-gradient-color: var(--bs-success);
  --bs-bg-gradient-color-rgb: var(--bs-success-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-info {
  --bs-bg-gradient-color: var(--bs-info);
  --bs-bg-gradient-color-rgb: var(--bs-info-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-warning {
  --bs-bg-gradient-color: var(--bs-warning);
  --bs-bg-gradient-color-rgb: var(--bs-warning-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-danger {
  --bs-bg-gradient-color: var(--bs-danger);
  --bs-bg-gradient-color-rgb: var(--bs-danger-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-light {
  --bs-bg-gradient-color: var(--bs-light);
  --bs-bg-gradient-color-rgb: var(--bs-light-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-dark {
  --bs-bg-gradient-color: var(--bs-dark);
  --bs-bg-gradient-color-rgb: var(--bs-dark-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}
:root .bg-gradient-gray {
  --bs-bg-gradient-color: var(--bs-gray);
  --bs-bg-gradient-color-rgb: var(--bs-gray-rgb);
  background-image: linear-gradient(45deg, var(--bs-bg-gradient-color), rgba(var(--bs-bg-gradient-color-rgb), 0.5)) !important;
}

/* (C) */
/* Utilities
****************************************************************************** */
.row-bordered {
  overflow: hidden;
}
.row-bordered > .col,
.row-bordered > [class^=col-],
.row-bordered > [class*=" col-"],
.row-bordered > [class^="col "],
.row-bordered > [class*=" col "],
.row-bordered > [class$=" col"],
.row-bordered > [class=col] {
  position: relative;
  padding-block-start: 1px;
}
.row-bordered > .col::before,
.row-bordered > [class^=col-]::before,
.row-bordered > [class*=" col-"]::before,
.row-bordered > [class^="col "]::before,
.row-bordered > [class*=" col "]::before,
.row-bordered > [class$=" col"]::before,
.row-bordered > [class=col]::before {
  position: absolute;
  display: block;
  block-size: 0;
  border-block-start: 1px solid var(--bs-border-color);
  content: "";
  inset-block-end: -1px;
  inset-inline: 0;
}
.row-bordered > .col::after,
.row-bordered > [class^=col-]::after,
.row-bordered > [class*=" col-"]::after,
.row-bordered > [class^="col "]::after,
.row-bordered > [class*=" col "]::after,
.row-bordered > [class$=" col"]::after,
.row-bordered > [class=col]::after {
  position: absolute;
  display: block;
  border-inline-start: 1px solid var(--bs-border-color);
  content: "";
  inline-size: 0;
  inset-block: 0;
  inset-inline-start: -1px;
}
.row-bordered.row-border-light > .col::before, .row-bordered.row-border-light > .col::after,
.row-bordered.row-border-light > [class^=col-]::before,
.row-bordered.row-border-light > [class^=col-]::after,
.row-bordered.row-border-light > [class*=" col-"]::before,
.row-bordered.row-border-light > [class*=" col-"]::after,
.row-bordered.row-border-light > [class^="col "]::before,
.row-bordered.row-border-light > [class^="col "]::after,
.row-bordered.row-border-light > [class*=" col "]::before,
.row-bordered.row-border-light > [class*=" col "]::after,
.row-bordered.row-border-light > [class$=" col"]::before,
.row-bordered.row-border-light > [class$=" col"]::after,
.row-bordered.row-border-light > [class=col]::before,
.row-bordered.row-border-light > [class=col]::after {
  border-color: #eaeaec;
}

.text-body-secondary[href]:hover, .text-body-secondary[href]:focus {
  color: var(--bs-body-color) !important;
}

.text-light[href]:hover, .text-light[href]:focus {
  color: var(--bs-body-color) !important;
}

.text-lighter[href]:hover, .text-lighter[href]:focus {
  color: var(--bs-body-color) !important;
}

.text-lightest[href]:hover, .text-lightest[href]:focus {
  color: var(--bs-body-color) !important;
}

.text-paper {
  color: var(--bs-paper-bg) !important;
}
.text-paper[href]:hover, .text-paper[href]:focus {
  color: var(--bs-primary) !important;
}

.text-body[href]:hover,
.text-heading[href]:hover {
  color: var(--bs-primary) !important;
}

.container-p-x {
  padding-inline: 1rem !important;
}
@media (min-width: 992px) {
  .container-p-x {
    padding-inline: 1.5rem !important;
  }
}

.container-m-nx {
  margin-inline: -1rem !important;
}
@media (min-width: 992px) {
  .container-m-nx {
    margin-inline: -1.5rem !important;
  }
}

.container-p-y:not([class^=pt-], [class*=" pt-"]) {
  padding-block-start: 1.5rem !important;
}
.container-p-y:not([class^=pb-], [class*=" pb-"]) {
  padding-block-end: 1.5rem !important;
}

.container-m-ny:not([class^=mt-], [class*=" mt-"]) {
  margin-block-start: -1.5rem !important;
}
.container-m-ny:not([class^=mb-], [class*=" mb-"]) {
  margin-block-end: -1.5rem !important;
}

.icon-base {
  block-size: var(--bs-icon-size);
  font-size: var(--bs-icon-size);
  inline-size: var(--bs-icon-size);
  line-height: 1;
  vertical-align: middle;
}

.icon-6px, .icon-6px::before {
  block-size: 6px !important;
  font-size: 6px !important;
  inline-size: 6px !important;
}

.icon-8px, .icon-8px::before {
  block-size: 8px !important;
  font-size: 8px !important;
  inline-size: 8px !important;
}

.icon-10px, .icon-10px::before {
  block-size: 10px !important;
  font-size: 10px !important;
  inline-size: 10px !important;
}

.icon-12px, .icon-12px::before {
  block-size: 12px !important;
  font-size: 12px !important;
  inline-size: 12px !important;
}

.icon-14px, .icon-14px::before {
  block-size: 14px !important;
  font-size: 14px !important;
  inline-size: 14px !important;
}

.icon-16px, .icon-16px::before {
  block-size: 16px !important;
  font-size: 16px !important;
  inline-size: 16px !important;
}

.icon-18px, .icon-18px::before {
  block-size: 18px !important;
  font-size: 18px !important;
  inline-size: 18px !important;
}

.icon-20px, .icon-20px::before {
  block-size: 20px !important;
  font-size: 20px !important;
  inline-size: 20px !important;
}

.icon-22px, .icon-22px::before {
  block-size: 22px !important;
  font-size: 22px !important;
  inline-size: 22px !important;
}

.icon-24px, .icon-24px::before {
  block-size: 24px !important;
  font-size: 24px !important;
  inline-size: 24px !important;
}

.icon-26px, .icon-26px::before {
  block-size: 26px !important;
  font-size: 26px !important;
  inline-size: 26px !important;
}

.icon-28px, .icon-28px::before {
  block-size: 28px !important;
  font-size: 28px !important;
  inline-size: 28px !important;
}

.icon-30px, .icon-30px::before {
  block-size: 30px !important;
  font-size: 30px !important;
  inline-size: 30px !important;
}

.icon-32px, .icon-32px::before {
  block-size: 32px !important;
  font-size: 32px !important;
  inline-size: 32px !important;
}

.icon-36px, .icon-36px::before {
  block-size: 36px !important;
  font-size: 36px !important;
  inline-size: 36px !important;
}

.icon-40px, .icon-40px::before {
  block-size: 40px !important;
  font-size: 40px !important;
  inline-size: 40px !important;
}

.icon-42px, .icon-42px::before {
  block-size: 42px !important;
  font-size: 42px !important;
  inline-size: 42px !important;
}

.icon-46px, .icon-46px::before {
  block-size: 46px !important;
  font-size: 46px !important;
  inline-size: 46px !important;
}

.icon-48px, .icon-48px::before {
  block-size: 48px !important;
  font-size: 48px !important;
  inline-size: 48px !important;
}

.icon-50px, .icon-50px::before {
  block-size: 50px !important;
  font-size: 50px !important;
  inline-size: 50px !important;
}

.icon-xs, .icon-xs::before {
  block-size: var(--bs-icon-size-xs);
  font-size: var(--bs-icon-size-xs);
  inline-size: var(--bs-icon-size-xs);
}

.icon-sm, .icon-sm::before {
  block-size: var(--bs-icon-size-sm);
  font-size: var(--bs-icon-size-sm);
  inline-size: var(--bs-icon-size-sm);
}

.icon-md, .icon-md::before {
  block-size: var(--bs-icon-size-md);
  font-size: var(--bs-icon-size-md);
  inline-size: var(--bs-icon-size-md);
}

.icon-lg, .icon-lg::before {
  block-size: var(--bs-icon-size-lg);
  font-size: var(--bs-icon-size-lg);
  inline-size: var(--bs-icon-size-lg);
}

.icon-xl, .icon-xl::before {
  block-size: var(--bs-icon-size-xl);
  font-size: var(--bs-icon-size-xl);
  inline-size: var(--bs-icon-size-xl);
}

.cell-fit {
  inline-size: 0.1%;
  white-space: nowrap;
}

:dir(rtl) .scaleX-n1-rtl {
  transform: scaleX(-1) !important;
}
:dir(rtl) .translate-middle {
  transform: translate(50%, -50%) !important;
}
:dir(rtl) .translate-middle-x {
  transform: translateX(50%) !important;
}
:dir(rtl) .rotate {
  --bs-rotate-90: rotate(-90deg);
  --bs-rotate-270: rotate(-270deg);
  --bs-rotate-n90: rotate(90deg);
  --bs-rotate-n270: rotate(270deg);
}

/* The color-scheme CSS property https://web.dev/color-scheme/ */
:root {
  --prefix: bs-;
  --bs-pure-black: #000;
  --bs-pure-black-rgb: 0, 0, 0;
  --bs-icon-size: 1.25rem;
  --bs-icon-size-xs: 1rem;
  --bs-icon-size-sm: 1.125rem;
  --bs-icon-size-md: 1.375rem;
  --bs-icon-size-lg: 1.5rem;
  --bs-icon-size-xl: 2rem;
  --bs-primary-contrast: var(--bs-white);
  --bs-secondary-contrast: var(--bs-white);
  --bs-success-contrast: var(--bs-white);
  --bs-info-contrast: var(--bs-white);
  --bs-warning-contrast: var(--bs-white);
  --bs-danger-contrast: var(--bs-white);
  --bs-light-contrast: var(--bs-black);
  --bs-dark-contrast: var(--bs-white);
  --bs-gray-contrast: var(--bs-white);
  --bs-facebook-contrast: var(--bs-white);
  --bs-twitter-contrast: var(--bs-white);
  --bs-google-plus-contrast: var(--bs-white);
  --bs-instagram-contrast: var(--bs-white);
  --bs-linkedin-contrast: var(--bs-white);
  --bs-github-contrast: var(--bs-white);
  --bs-dribbble-contrast: var(--bs-white);
  --bs-pinterest-contrast: var(--bs-white);
  --bs-slack-contrast: var(--bs-white);
  --bs-reddit-contrast: var(--bs-white);
  --bs-youtube-contrast: var(--bs-white);
  --bs-vimeo-contrast: var(--bs-white);
}

:root,
[data-bs-theme=light] {
  --bs-bg-label-tint-amount: 84%;
  --bs-border-subtle-amount: 61%;
  --bs-base-color: #2f2b3d;
  --bs-base-color-rgb: 47, 43, 61;
  --bs-paper-bg: #fff;
  --bs-paper-bg-rgb: 255, 255, 255;
  --bs-min-contrast-ratio: 1.7;
  --bs-box-shadow: 0 0.1875rem 0.75rem 0 rgba(47, 43, 61, 0.14);
  --bs-box-shadow-xs: 0 0.0625rem 0.375rem 0 rgba(47, 43, 61, 0.1);
  --bs-box-shadow-sm: 0 0.125rem 0.5rem 0 rgba(47, 43, 61, 0.12);
  --bs-box-shadow-lg: 0 0.25rem 1.125rem 0 rgba(47, 43, 61, 0.16);
  --bs-box-shadow-xl: 0 0.3125rem 1.875rem 0 rgba(47, 43, 61, 0.18);
  --bs-floating-component-shadow: 0 0.31rem 1.25rem 0 #acaab1;
  --bs-custom-link-color: var(--bs-primary);
  --bs-navbar-bg: var(--bs-paper-bg);
  --bs-navbar-box-shadow: 0 0 10px var(--bs-border-color);
  --bs-navbar-border-width: 1px;
  --bs-navbar-border-color: var(--bs-paper-bg);
  --bs-menu-header-color: var(--bs-heading-color);
  --bs-nav-box-shadow: var(--bs-box-shadow);
  --bs-nav-border-color: var(--bs-paper-bg);
}

[data-bs-theme=dark] {
  --bs-primary-contrast: var(--bs-white);
  --bs-secondary-contrast: var(--bs-white);
  --bs-success-contrast: var(--bs-white);
  --bs-info-contrast: var(--bs-white);
  --bs-warning-contrast: var(--bs-white);
  --bs-danger-contrast: var(--bs-white);
  --bs-light-contrast: var(--bs-white);
  --bs-dark-contrast: var(--bs-white);
  --bs-gray-contrast: var(--bs-white);
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-gray-25: #33374d;
  --bs-gray-50: #3a3d53;
  --bs-gray-75: #3d4157;
  --bs-gray-100: #535876;
  --bs-gray-200: #44485e;
  --bs-gray-300: #64667d;
  --bs-gray-400: #76778e;
  --bs-gray-500: #9293ae;
  --bs-gray-600: #9a9ab0;
  --bs-gray-700: #acabc1;
  --bs-gray-800: #bdbcd3;
  --bs-gray-900: #cfcde4;
  --bs-primary: #7367f0;
  --bs-secondary: #808390;
  --bs-success: #28c76f;
  --bs-info: #00bad1;
  --bs-warning: #ff9f43;
  --bs-danger: #ff4c51;
  --bs-light: #494a5d;
  --bs-dark: #6b6c9d;
  --bs-gray: #9293ae;
  --bs-primary-rgb: 115, 103, 240;
  --bs-secondary-rgb: 128, 131, 144;
  --bs-success-rgb: 40, 199, 111;
  --bs-info-rgb: 0, 186, 209;
  --bs-warning-rgb: 255, 159, 67;
  --bs-danger-rgb: 255, 76, 81;
  --bs-light-rgb: 73, 74, 93;
  --bs-dark-rgb: 107, 108, 157;
  --bs-gray-rgb: 146, 147, 174;
  --bs-bg-label-tint-amount: 84%;
  --bs-border-subtle-amount: 61%;
  --bs-base-color: #e1def5;
  --bs-base-color-rgb: 225, 222, 245;
  --bs-paper-bg: #2f3349;
  --bs-paper-bg-rgb: 47, 51, 73;
  --bs-box-shadow: 0 0.1875rem 0.75rem 0 rgba(19, 17, 32, 0.2);
  --bs-box-shadow-xs: 0 0.0625rem 0.375rem 0 rgba(19, 17, 32, 0.16);
  --bs-box-shadow-sm: 0 0.125rem 0.5rem 0 rgba(19, 17, 32, 0.18);
  --bs-box-shadow-lg: 0 0.25rem 1.125rem 0 rgba(19, 17, 32, 0.22);
  --bs-box-shadow-xl: 0 0.3125rem 1.875rem 0 rgba(19, 17, 32, 0.24);
  --bs-floating-component-shadow: 0 0.31rem 1.25rem 0 rgba(47, 51, 73, 0.4);
}

/*
? styles specifically for apex-chart dark variant */
.apexcharts-theme-dark {
  --bs-primary: #7367f0;
  --bs-secondary: #808390;
  --bs-success: #28c76f;
  --bs-info: #00bad1;
  --bs-warning: #ff9f43;
  --bs-danger: #ff4c51;
  --bs-light: #494a5d;
  --bs-dark: #6b6c9d;
  --bs-gray: #9293ae;
  --bs-border-color: #44485e;
  --bs-box-shadow: 0 0.1875rem 0.75rem 0 rgba(19, 17, 32, 0.2);
  --bs-body-color: #acabc1;
  --bs-heading-color: #cfcde4;
  --bs-paper-bg: #2f3349;
  --bs-base-color: #e1def5;
  --bs-secondary-color: #76778e;
}

/* The color-scheme CSS property https://web.dev/color-scheme/ */
:root,
[data-bs-theme=light] {
  /* Bordered Skin Variables */
}
:root[data-skin=bordered],
[data-bs-theme=light][data-skin=bordered] {
  --bs-body-bg: var(--bs-paper-bg);
  --bs-navbar-bg: var(--bs-paper-bg);
  --bs-navbar-box-shadow: none;
  --bs-navbar-border-color: var(--bs-border-color);
  --bs-menu-box-shadow: 0 0 0 1px var(--bs-border-color);
  --bs-menu-horizontal-menu-box-shadow: 0 0 0 1px var(--bs-gray-200);
  --bs-menu-horizontal-menu-sub-box-shadow: 0 0 0 1px var(--bs-gray-200);
  --tagify-dropdown-box-shadow: none;
  --tagify-dropdown-border-width: 1px;
  --bs-nav-box-shadow: none;
  --bs-nav-border-color: var(--bs-border-color);
}
:root[data-skin=bordered] .layout-navbar.navbar-detached,
[data-bs-theme=light][data-skin=bordered] .layout-navbar.navbar-detached {
  box-shadow: 0 0 0 1px var(--bs-border-color);
}
:root[data-skin=bordered] .footer,
[data-bs-theme=light][data-skin=bordered] .footer {
  --bs-footer-border-width: 1px;
  --bs-footer-box-shadow: none;
}
:root[data-skin=bordered] .accordion,
[data-bs-theme=light][data-skin=bordered] .accordion {
  --bs-accordion-box-shadow: none;
  --bs-accordion-active-box-shadow: none;
  --bs-accordion-border-color: var(--bs-gray-200);
}
:root[data-skin=bordered] .btn,
[data-bs-theme=light][data-skin=bordered] .btn {
  --bs-btn-box-shadow: none;
  --bs-btn-focus-box-shadow: none;
  --bs-btn-active-shadow: none;
}
:root[data-skin=bordered] .dropdown-menu,
[data-bs-theme=light][data-skin=bordered] .dropdown-menu {
  --bs-dropdown-box-shadow: none;
  --bs-dropdown-border-width: 1px;
}
:root[data-skin=bordered] .modal:not(.modal-transparent) .modal-content,
[data-bs-theme=light][data-skin=bordered] .modal:not(.modal-transparent) .modal-content {
  --bs-modal-box-shadow: none;
  --bs-modal-border-width: 1px;
}
:root[data-skin=bordered] .offcanvas,
[data-bs-theme=light][data-skin=bordered] .offcanvas {
  --bs-offcanvas-box-shadow: none;
  --bs-offcanvas-border-width: 1px;
}
:root[data-skin=bordered] :dir(rtl) .offcanvas-start,
[data-bs-theme=light][data-skin=bordered] :dir(rtl) .offcanvas-start {
  border-inline-end: 1px solid var(--bs-offcanvas-border-color);
  border-inline-start: 0;
}
:root[data-skin=bordered] :dir(rtl) .offcanvas-end,
[data-bs-theme=light][data-skin=bordered] :dir(rtl) .offcanvas-end {
  border-inline-end: 0;
  border-inline-start: 1px solid var(--bs-offcanvas-border-color);
}
:root[data-skin=bordered] .toast,
:root[data-skin=bordered] .bs-toast.toast,
[data-bs-theme=light][data-skin=bordered] .toast,
[data-bs-theme=light][data-skin=bordered] .bs-toast.toast {
  --bs-toast-box-shadow: none;
  --bs-toast-border-width: 1px;
}
:root[data-skin=bordered] .notyf__toast.notyf__success, :root[data-skin=bordered] .notyf__toast.notyf__error, :root[data-skin=bordered] .notyf__toast.notyf__info, :root[data-skin=bordered] .notyf__toast.notyf__warning,
[data-bs-theme=light][data-skin=bordered] .notyf__toast.notyf__success,
[data-bs-theme=light][data-skin=bordered] .notyf__toast.notyf__error,
[data-bs-theme=light][data-skin=bordered] .notyf__toast.notyf__info,
[data-bs-theme=light][data-skin=bordered] .notyf__toast.notyf__warning {
  box-shadow: none;
}
:root[data-skin=bordered] .pagination,
[data-bs-theme=light][data-skin=bordered] .pagination {
  --bs-pagination-box-shadow-color: transparent;
}
:root[data-skin=bordered] .card,
[data-bs-theme=light][data-skin=bordered] .card {
  --bs-card-box-shadow: 0px 0px 0px var(--bs-border-width) var(--bs-card-border-color);
  --bs-card-hover-box-shadow: 0px 0px 0px var(--bs-border-width) var(--bs-card-border-color);
}
:root[data-skin=bordered] .card-group,
[data-bs-theme=light][data-skin=bordered] .card-group {
  --bs-card-box-shadow: none;
}
:root[data-skin=bordered] .card-group .card,
[data-bs-theme=light][data-skin=bordered] .card-group .card {
  --bs-card-border-width: 1px;
}
:root[data-skin=bordered] .popover:not(.custom-popover),
[data-bs-theme=light][data-skin=bordered] .popover:not(.custom-popover) {
  --bs-popover-box-shadow: none;
  --bs-popover-border-color: var(--bs-border-color);
}
:root[data-skin=bordered] .avatar,
[data-bs-theme=light][data-skin=bordered] .avatar {
  --bs-box-shadow: none;
}
:root[data-skin=bordered] .shepherd-element,
[data-bs-theme=light][data-skin=bordered] .shepherd-element {
  box-shadow: none;
}
:root[data-skin=bordered] .swal2-container .swal2-popup,
[data-bs-theme=light][data-skin=bordered] .swal2-container .swal2-popup {
  box-shadow: none;
}
:root[data-skin=bordered] .apexcharts-canvas .apexcharts-tooltip,
[data-bs-theme=light][data-skin=bordered] .apexcharts-canvas .apexcharts-tooltip {
  box-shadow: none;
}
:root[data-skin=bordered] .noUi-target .noUi-tooltip,
[data-bs-theme=light][data-skin=bordered] .noUi-target .noUi-tooltip {
  box-shadow: none;
}
:root[data-skin=bordered] .ql-toolbar .ql-picker-options,
:root[data-skin=bordered] .ql-snow .ql-tooltip,
:root[data-skin=bordered] .flatpickr-calendar,
:root[data-skin=bordered] .daterangepicker,
:root[data-skin=bordered] .ui-timepicker-wrapper,
:root[data-skin=bordered] .pcr-app,
:root[data-skin=bordered] .bs-stepper:not(.wizard-modern),
:root[data-skin=bordered] .bs-stepper.wizard-modern .bs-stepper-content,
[data-bs-theme=light][data-skin=bordered] .ql-toolbar .ql-picker-options,
[data-bs-theme=light][data-skin=bordered] .ql-snow .ql-tooltip,
[data-bs-theme=light][data-skin=bordered] .flatpickr-calendar,
[data-bs-theme=light][data-skin=bordered] .daterangepicker,
[data-bs-theme=light][data-skin=bordered] .ui-timepicker-wrapper,
[data-bs-theme=light][data-skin=bordered] .pcr-app,
[data-bs-theme=light][data-skin=bordered] .bs-stepper:not(.wizard-modern),
[data-bs-theme=light][data-skin=bordered] .bs-stepper.wizard-modern .bs-stepper-content {
  border-width: var(--bs-border-width);
  border-style: var(--bs-border-style);
  border-color: var(--bs-border-color);
  box-shadow: none;
}
:root[data-skin=bordered] .dz-preview,
[data-bs-theme=light][data-skin=bordered] .dz-preview {
  border-width: var(--bs-border-width);
  box-shadow: none;
}
:root[data-skin=bordered] .app-kanban .kanban-wrapper .kanban-board .kanban-item,
[data-bs-theme=light][data-skin=bordered] .app-kanban .kanban-wrapper .kanban-board .kanban-item {
  border: var(--bs-border-width) solid var(--bs-border-color);
  box-shadow: none;
}
:root[data-skin=bordered] .app-kanban .kanban-wrapper .kanban-board .kanban-item:hover,
[data-bs-theme=light][data-skin=bordered] .app-kanban .kanban-wrapper .kanban-board .kanban-item:hover {
  box-shadow: none;
}
:root[data-skin=bordered] .select2-container,
[data-bs-theme=light][data-skin=bordered] .select2-container {
  --bs-select-dropdown-border-width: 1px;
  --bs-select-dropdown-box-shadow: none;
}
:root[data-skin=bordered] .authentication-wrapper .authentication-bg,
[data-bs-theme=light][data-skin=bordered] .authentication-wrapper .authentication-bg {
  border-inline-start: 1px solid var(--bs-border-color);
}
:root[data-skin=bordered] .twitter-typeahead .tt-menu,
[data-bs-theme=light][data-skin=bordered] .twitter-typeahead .tt-menu {
  border-width: 1px;
  box-shadow: none;
}

/* Bordered Skin Variables */
[data-skin=bordered] [data-bs-theme=dark] {
  --bs-menu-horizontal-menu-box-shadow: 0 0 0 1px #44485e;
  --bs-menu-horizontal-menu-sub-box-shadow: 0 0 0 1px #44485e;
}

/* Reboot */
b,
strong {
  font-weight: 700;
}

caption {
  text-align: start;
}

dd {
  margin-inline-start: 0;
}

a {
  color: var(--bs-custom-link-color);
}
a:hover {
  color: color-mix(in sRGB, var(--bs-custom-link-color) 80%, var(--bs-base-color));
}
a:not([href]), a:not([href]):hover {
  color: inherit;
  text-decoration: none;
}

/* Autofill input bg and text color issue on different OS and browsers */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
input:-internal-autofill-selected {
  -webkit-background-clip: text !important;
          background-clip: text !important;
}

h1, .h1 {
  line-height: 4.25rem;
}

h2, .h2 {
  line-height: 3.5rem;
}

h3, .h3 {
  line-height: 2.625rem;
}

h4, .h4 {
  line-height: 2.375rem;
}

h5, .h5 {
  line-height: 1.75rem;
}

h6, .h6 {
  line-height: 1.375rem;
}

img[data-app-light-img][data-app-dark-img] {
  visibility: visible;
}

/* Type */
.list-inline,
.list-unstyled {
  padding-inline-start: 0;
}

.list-inline-item:not(:last-child) {
  margin-inline: 0 0.5rem;
}

[data-bs-theme=dark] {
  color-scheme: dark;
}
[data-bs-theme=dark] .blockquote-footer {
  color: #9a9ab0;
}

/* Tables
******************************************************************************** */
/* ios fix for drodown-menu being clipped off when used in tables */
.ios .table tr > td .dropdown {
  position: relative;
}

/* Firefox fix for table head border bottom */
.table > :not(caption) > * > * {
  background-clip: padding-box;
}
.table tr > td .dropdown {
  position: static;
}
.table .btn-icon,
.table .btn:not([class*=btn-]) {
  color: var(--bs-table-color);
}
.table th {
  color: var(--bs-heading-color);
  font-size: 0.8125rem;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}
.table:not(.table-borderless):not(.dataTable) thead th {
  border-block-start-width: var(--bs-border-width);
}
.table.table-flush-spacing thead tr > td:first-child,
.table.table-flush-spacing tbody tr > td:first-child {
  padding-inline-start: 0;
}
.table.table-flush-spacing thead tr > td:last-child,
.table.table-flush-spacing tbody tr > td:last-child {
  padding-inline-end: 0;
}
.card .table {
  margin-block-end: 0;
}
.table.table-dark th,
.table .table-dark th {
  --bs-heading-color: var(--bs-table-color);
  border-block-start: 1px solid var(--bs-border-color);
}
.table.table-light,
.table .table-light {
  border-color: var(--bs-gray-200);
}
.table.table-sm thead tr th {
  padding-block: 1.114rem;
}
.table thead tr th {
  padding-block: 1rem;
  padding-inline-end: 1rem;
}

/* class for to remove table border bottom */
.table-border-bottom-0 tr:last-child td,
.table-border-bottom-0 tr:last-child th {
  border-block-end-width: 0;
}

.table-primary {
  --bs-table-bg: rgba(var(--bs-primary-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
}

.table-secondary {
  --bs-table-bg: rgba(var(--bs-secondary-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
}

.table-success {
  --bs-table-bg: rgba(var(--bs-success-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
}

.table-info {
  --bs-table-bg: rgba(var(--bs-info-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
}

.table-warning {
  --bs-table-bg: rgba(var(--bs-warning-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
}

.table-danger {
  --bs-table-bg: rgba(var(--bs-danger-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
}

.table-light {
  --bs-table-bg: rgba(var(--bs-light-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
  --bs-table-bg: var(--bs-light);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-table-color) 3.5%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-table-color) 2.9%, var(--bs-table-bg));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-table-color) 4%, var(--bs-table-bg));
}

.table-dark {
  --bs-table-bg: rgba(var(--bs-dark-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
  --bs-table-bg: var(--bs-dark);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-table-color) 3.5%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-table-color) 2.9%, var(--bs-table-bg));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-table-color) 4%, var(--bs-table-bg));
}

.table-gray {
  --bs-table-bg: rgba(var(--bs-gray-rgb), .2);
  --bs-table-hover-bg: color-mix(in sRGB, var(--bs-body-bg) 46%, var(--bs-table-bg));
  --bs-table-striped-bg: color-mix(in sRGB, var(--bs-body-bg) 47%, var(--bs-table-bg));
  --bs-table-border-color: color-mix(in sRGB, var(--bs-table-bg) 88%, var(--bs-table-color));
  --bs-table-active-bg: color-mix(in sRGB, var(--bs-body-bg) 32.5%, var(--bs-table-bg));
}

[data-bs-theme=dark] .table {
  --bs-table-hover-bg: rgba(var(--bs-body-bg-rgb), 0.75);
  --bs-table-active-bg: rgba(var(--bs-body-bg-rgb), 0.75);
}
[data-bs-theme=dark] .table-primary {
  --bs-table-color: var(--bs-primary-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-secondary {
  --bs-table-color: var(--bs-secondary-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-success {
  --bs-table-color: var(--bs-success-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-info {
  --bs-table-color: var(--bs-info-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-warning {
  --bs-table-color: var(--bs-warning-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-danger {
  --bs-table-color: var(--bs-danger-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-light {
  --bs-table-color: var(--bs-light-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-dark {
  --bs-table-color: var(--bs-dark-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}
[data-bs-theme=dark] .table-gray {
  --bs-table-color: var(--bs-gray-contrast);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-active-color: var(--bs-table-color);
}

/* Labels
******************************************************************************* */
.form-label,
.col-form-label {
  color: var(--bs-heading-color);
}

.col-form-label {
  white-space: nowrap;
}

/* Default (vertical ) form label size */
.form-label-lg {
  font-size: 1.0625rem;
}

.form-label-sm {
  font-size: 0.8125rem;
}

/* Form Text
******************************************************************************* */
/* Form control
******************************************************************************* */
.form-control {
  /*
  ? Form control (all size) padding calc due to border increase on focus */
  padding-block: calc(0.426rem - var(--bs-border-width));
  padding-inline: calc(0.9375rem - var(--bs-border-width));
}
.form-control::-moz-placeholder, .form-control:focus::-moz-placeholder {
  -moz-transition: all ease 0.2s;
  transition: all ease 0.2s;
}
.form-control::placeholder, .form-control:focus::placeholder {
  transition: all ease 0.2s;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::-moz-placeholder, .form-control:focus::-moz-placeholder {
    -moz-transition: none;
    transition: none;
  }
  .form-control::placeholder, .form-control:focus::placeholder {
    transition: none;
  }
}
.form-control:hover:not(:focus):not(.tagify--focus) {
  border-color: var(--bs-gray-600);
}
.input-group .form-control[type=number] {
  line-height: 1.375rem;
  min-block-size: 2.375rem;
}
.input-group-lg .form-control[type=number] {
  line-height: 1.5rem;
  min-block-size: 3rem;
}
.input-group-sm .form-control[type=number] {
  min-block-size: 1.875rem;
}
.form-control:not([readonly]):focus::-moz-placeholder {
  transform: translateX(4px);
}
.form-control:not([readonly]):focus::placeholder {
  transform: translateX(4px);
}
:dir(rtl) .form-control:not([readonly]):focus::-moz-placeholder {
  transform: translateX(-4px);
}
:dir(rtl) .form-control:not([readonly]):focus::placeholder {
  transform: translateX(-4px);
}
.form-control:focus, .was-validated .form-control:invalid, .was-validated .form-control:valid, .form-control.is-invalid, .form-control.is-valid {
  border-width: 2px;
  padding-block: calc(0.426rem - 2px);
  padding-inline: calc(0.9375rem - 2px);
}
.form-control:focus::file-selector-button, .was-validated .form-control:invalid::file-selector-button, .was-validated .form-control:valid::file-selector-button, .form-control.is-invalid::file-selector-button, .form-control.is-valid::file-selector-button {
  box-shadow: var(--bs-border-width) 0 0 var(--bs-primary);
}
.form-control.form-control-lg {
  padding-block: calc(0.575rem - var(--bs-border-width));
  padding-inline: calc(1rem - var(--bs-border-width));
}
.form-control.form-control-lg:focus, .was-validated .form-control.form-control-lg:invalid, .was-validated .form-control.form-control-lg:valid, .form-control.form-control-lg.is-invalid, .form-control.form-control-lg.is-valid {
  padding-block: calc(0.575rem - 2px);
  padding-inline: calc(1rem - 2px);
}
.form-control.form-control-lg::file-selector-button {
  margin-block: -0.6375rem;
  padding-block: 0.6375rem;
}
.form-control.form-control-sm {
  padding-block: calc(0.215rem - var(--bs-border-width));
  padding-inline: calc(0.75rem - var(--bs-border-width));
}
.form-control.form-control-sm:focus, .was-validated .form-control.form-control-sm:invalid, .was-validated .form-control.form-control-sm:valid, .form-control.form-control-sm.is-invalid, .form-control.form-control-sm.is-valid {
  padding-block: calc(0.215rem - 2px);
  padding-inline: calc(0.75rem - 2px);
}
.form-control.form-control-sm::file-selector-button {
  margin-block: -0.2775rem;
  padding-block: 0.2775rem;
}
.form-control.autosize {
  field-sizing: content;
  min-block-size: 5.3125rem;
  overflow-x: hidden;
  resize: none;
}

/* RTL */
:dir(rtl) input[type=tel] {
  text-align: end;
}

/* Select
******************************************************************************* */
.form-select {
  background-clip: padding-box;
  padding-block: calc(0.426rem - var(--bs-border-width));
  padding-inline-end: calc(2.625rem - var(--bs-border-width));
  padding-inline-start: calc(0.9375rem - var(--bs-border-width));
}
.form-select optgroup,
.form-select option {
  background-color: var(--bs-paper-bg);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-inline-end: 0.9375rem;
}
.form-select:hover:not(:focus):not(:disabled) {
  border-color: var(--bs-gray-600);
}
.form-select:disabled {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" fill="none"%3e%3cpath d="M10.9999 12.0743L15.5374 7.53676L16.8336 8.83292L10.9999 14.6666L5.16626 8.83292L6.46243 7.53676L10.9999 12.0743Z" fill="%23acaab1" fill-opacity="0.9"/%3e%3c/svg%3e');
}
.form-select:focus, .form-select:focus-within, .was-validated .form-select:invalid, .was-validated .form-select:valid, .form-select.is-invalid, .form-select.is-valid {
  border-width: 2px;
  background-position: right calc(0.9375rem - 1px) center;
  padding-block: calc(0.426rem - 2px);
  padding-inline-end: calc(2.625rem - 2px);
  padding-inline-start: calc(0.9375rem - 2px);
}
.form-select.form-select-lg {
  background-size: 26px 26px;
  min-block-size: calc(1.625em + 1.15rem + calc(var(--bs-border-width) * 2));
  padding-block: calc(0.575rem - var(--bs-border-width));
  padding-inline-start: calc(1rem - var(--bs-border-width));
}
.form-select.form-select-lg:focus, .was-validated .form-select.form-select-lg:invalid, .was-validated .form-select.form-select-lg:valid, .form-select.form-select-lg.is-invalid, .form-select.form-select-lg.is-valid {
  padding-block: calc(0.575rem - 2px);
  padding-inline-start: calc(1rem - 2px);
}
.form-select.form-select-sm {
  background-size: 20px 20px;
  min-block-size: calc(1.625em + 0.43rem + calc(var(--bs-border-width) * 2));
  padding-block: calc(0.215rem - var(--bs-border-width));
  padding-inline-start: calc(0.75rem - var(--bs-border-width));
}
.form-select.form-select-sm:focus, .was-validated .form-select.form-select-sm:invalid, .was-validated .form-select.form-select-sm:valid, .form-select.form-select-sm.is-invalid, .form-select.form-select-sm.is-valid {
  padding-block: calc(0.215rem - 2px);
  padding-inline-start: calc(0.75rem - 2px);
}
.form-select[multiple]:focus {
  padding-inline-end: 0.875rem !important;
}

/* RTL */
:dir(rtl) .form-select {
  background-position: left 0.9375rem center;
}
:dir(rtl) .form-select:focus, .was-validated :dir(rtl) .form-select:invalid, .was-validated :dir(rtl) .form-select:valid, :dir(rtl) .form-select.is-invalid, :dir(rtl) .form-select.is-valid {
  background-position: left calc(0.9375rem - 1px) center;
}

/* Dark Theme */
[data-bs-theme=dark] .form-select:disabled {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" fill="none"%3e%3cpath d="M10.9999 12.0743L15.5374 7.53676L16.8336 8.83292L10.9999 14.6666L5.16626 8.83292L6.46243 7.53676L10.9999 12.0743Z" fill="%2376778e" fill-opacity="0.9"/%3e%3c/svg%3e');
}

/* Checkboxes and Radios
******************************************************************************* */
.form-check {
  position: relative;
  padding-inline: 1.8em 0;
}
.form-check .form-check-input {
  float: inline-start;
  margin-inline-start: -1.8em;
}
.form-check.form-check-reverse {
  padding-inline: 0 1.8em;
}
.form-check.form-check-reverse .form-check-input {
  float: inline-end;
  margin-inline-end: -1.8em;
}

.form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-primary);
  --bs-form-check-input-checked-border-color: var(--bs-primary);
  --bs-form-check-shadow-color: var(--bs-primary-rgb);
  --bs-form-check-box-shadow: 0 .125rem .375rem 0 rgba(var(--bs-form-check-shadow-color), .3);
  cursor: pointer;
}
.form-check-input:disabled {
  --bs-form-check-bg: var(--bs-gray-300);
  border-color: var(--bs-gray-300);
}
.form-check-input:checked {
  border-color: var(--bs-form-check-input-checked-border-color);
  background-color: var(--bs-form-check-input-checked-bg);
  box-shadow: var(--bs-form-check-box-shadow);
}
.form-check-input[type=checkbox]:indeterminate {
  border-color: var(--bs-form-check-input-checked-border-color);
  background-color: var(--bs-form-check-input-checked-bg);
  box-shadow: var(--bs-form-check-box-shadow);
}
.form-check-input:active {
  filter: none;
}

/* Only for checkbox and radio (not for bs default switch)
? .dt-checkboxes-cell class is used for DataTables checkboxes */
.form-check:not(.form-switch) .form-check-input[type=radio],
.dt-checkboxes-cell .form-check-input[type=radio] {
  background-size: 1.3125rem;
}
.form-check:not(.form-switch) .form-check-input[type=radio]:not(:checked),
.dt-checkboxes-cell .form-check-input[type=radio]:not(:checked) {
  background-size: 0.75rem;
}

.form-check-inline {
  margin-inline: 0 1rem;
}

.form-switch {
  padding-inline-start: 2.667em;
}
.form-switch .form-check-input {
  border: 0;
  margin-inline-start: -2.667em;
}
:dir(rtl) .form-switch .form-check-input {
  background-position: right center;
}
:dir(rtl) .form-switch .form-check-input:checked {
  background-position: 4% center;
}
.form-switch .form-check-input:not(:checked) {
  background-color: rgba(var(--bs-base-color-rgb), 0.1);
  box-shadow: 0 0 0.25rem 0 rgba(0, 0, 0, 0.16) inset;
}
.form-switch.form-check-reverse {
  padding-inline-end: 2.667em;
}
.form-switch.form-check-reverse .form-check-input {
  margin-inline-end: -2.667em;
}

/* Generate contextual modifier classes for colorizing the form check */
.form-check-primary .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-primary);
  --bs-form-check-input-checked-border-color: var(--bs-primary);
  --bs-form-check-shadow-color: var(--bs-primary-rgb);
}
.form-check-primary.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-primary);
}

.form-check-secondary .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-secondary);
  --bs-form-check-input-checked-border-color: var(--bs-secondary);
  --bs-form-check-shadow-color: var(--bs-secondary-rgb);
}
.form-check-secondary.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-secondary);
}

.form-check-success .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-success);
  --bs-form-check-input-checked-border-color: var(--bs-success);
  --bs-form-check-shadow-color: var(--bs-success-rgb);
}
.form-check-success.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-success);
}

.form-check-info .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-info);
  --bs-form-check-input-checked-border-color: var(--bs-info);
  --bs-form-check-shadow-color: var(--bs-info-rgb);
}
.form-check-info.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-info);
}

.form-check-warning .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-warning);
  --bs-form-check-input-checked-border-color: var(--bs-warning);
  --bs-form-check-shadow-color: var(--bs-warning-rgb);
}
.form-check-warning.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-warning);
}

.form-check-danger .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-danger);
  --bs-form-check-input-checked-border-color: var(--bs-danger);
  --bs-form-check-shadow-color: var(--bs-danger-rgb);
}
.form-check-danger.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-danger);
}

.form-check-light .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-light);
  --bs-form-check-input-checked-border-color: var(--bs-light);
  --bs-form-check-shadow-color: var(--bs-light-rgb);
}
.form-check-light.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-light);
}

.form-check-dark .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-dark);
  --bs-form-check-input-checked-border-color: var(--bs-dark);
  --bs-form-check-shadow-color: var(--bs-dark-rgb);
}
.form-check-dark.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-dark);
}

.form-check-gray .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-gray);
  --bs-form-check-input-checked-border-color: var(--bs-gray);
  --bs-form-check-shadow-color: var(--bs-gray-rgb);
}
.form-check-gray.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-gray);
}

.form-check-facebook .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-facebook);
  --bs-form-check-input-checked-border-color: var(--bs-facebook);
  --bs-form-check-shadow-color: var(--bs-facebook-rgb);
}
.form-check-facebook.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-facebook);
}

.form-check-twitter .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-twitter);
  --bs-form-check-input-checked-border-color: var(--bs-twitter);
  --bs-form-check-shadow-color: var(--bs-twitter-rgb);
}
.form-check-twitter.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-twitter);
}

.form-check-google-plus .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-google-plus);
  --bs-form-check-input-checked-border-color: var(--bs-google-plus);
  --bs-form-check-shadow-color: var(--bs-google-plus-rgb);
}
.form-check-google-plus.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-google-plus);
}

.form-check-instagram .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-instagram);
  --bs-form-check-input-checked-border-color: var(--bs-instagram);
  --bs-form-check-shadow-color: var(--bs-instagram-rgb);
}
.form-check-instagram.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-instagram);
}

.form-check-linkedin .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-linkedin);
  --bs-form-check-input-checked-border-color: var(--bs-linkedin);
  --bs-form-check-shadow-color: var(--bs-linkedin-rgb);
}
.form-check-linkedin.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-linkedin);
}

.form-check-github .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-github);
  --bs-form-check-input-checked-border-color: var(--bs-github);
  --bs-form-check-shadow-color: var(--bs-github-rgb);
}
.form-check-github.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-github);
}

.form-check-dribbble .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-dribbble);
  --bs-form-check-input-checked-border-color: var(--bs-dribbble);
  --bs-form-check-shadow-color: var(--bs-dribbble-rgb);
}
.form-check-dribbble.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-dribbble);
}

.form-check-pinterest .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-pinterest);
  --bs-form-check-input-checked-border-color: var(--bs-pinterest);
  --bs-form-check-shadow-color: var(--bs-pinterest-rgb);
}
.form-check-pinterest.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-pinterest);
}

.form-check-slack .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-slack);
  --bs-form-check-input-checked-border-color: var(--bs-slack);
  --bs-form-check-shadow-color: var(--bs-slack-rgb);
}
.form-check-slack.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-slack);
}

.form-check-reddit .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-reddit);
  --bs-form-check-input-checked-border-color: var(--bs-reddit);
  --bs-form-check-shadow-color: var(--bs-reddit-rgb);
}
.form-check-reddit.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-reddit);
}

.form-check-youtube .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-youtube);
  --bs-form-check-input-checked-border-color: var(--bs-youtube);
  --bs-form-check-shadow-color: var(--bs-youtube-rgb);
}
.form-check-youtube.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-youtube);
}

.form-check-vimeo .form-check-input {
  --bs-form-check-input-checked-bg: var(--bs-vimeo);
  --bs-form-check-input-checked-border-color: var(--bs-vimeo);
  --bs-form-check-shadow-color: var(--bs-vimeo-rgb);
}
.form-check-vimeo.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-vimeo);
}

/* Range select
******************************************************************************* */
.form-range::-webkit-slider-thumb {
  box-shadow: 0 0.112rem 0.375rem 0 rgba(var(--bs-base-color-rgb), 0.08);
  transform-origin: center;
  -webkit-transition: transform 0.2s, box-shadow 0.2s ease;
  transition: transform 0.2s, box-shadow 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 0.5rem rgba(var(--bs-primary-rgb), 0.16);
}
.form-range::-webkit-slider-thumb:active, .form-range::-webkit-slider-thumb:focus {
  box-shadow: 0 0 0 0.8125rem rgba(var(--bs-primary-rgb), 0.16);
}
.form-range::-moz-range-thumb {
  box-shadow: 0 0.112rem 0.375rem 0 rgba(var(--bs-base-color-rgb), 0.08);
  transform-origin: center;
  -moz-transition: transform 0.2s, box-shadow 0.2s ease;
  transition: transform 0.2s, box-shadow 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:hover {
  box-shadow: 0 0 0 0.5rem rgba(var(--bs-primary-rgb), 0.16);
}
.form-range::-moz-range-thumb:active, .form-range::-moz-range-thumb:focus {
  box-shadow: 0 0 0 0.8125rem rgba(var(--bs-primary-rgb), 0.16);
}
.form-range:disabled::-webkit-slider-runnable-track {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-track {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-webkit-slider-thumb {
  border-color: var(--bs-secondary-color);
  box-shadow: none;
}
.form-range:disabled::-moz-range-thumb {
  border-color: var(--bs-secondary-color);
  box-shadow: none;
}

/* Input groups
******************************************************************************* */
/* Using :focus-within to apply focus/validation border and shadow to default and merged input-group */
.input-group {
  --bs-input-group-addon-border-color: color-mix(in sRGB, var(--bs-base-color) 22%, var(--bs-paper-bg));
  --bs-input-group-disabled-border-color: color-mix(in sRGB, var(--bs-base-color) 24%, var(--bs-paper-bg));
  border-radius: var(--bs-border-radius);
  /*
  ? Info :focus-within to apply focus/validation border and shadow to default and merged input & input-group */
}
.input-group:has(.form-check-input):not(:has(.dropdown-toggle)) {
  z-index: 1;
}
.input-group:has(.form-check-input):not(:has(.dropdown-toggle))::before {
  z-index: -1;
}
.input-group .input-group-text {
  border-color: var(--bs-input-group-addon-border-color);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .input-group .input-group-text {
    transition: none;
  }
}
.input-group .flatpickr-wrapper {
  flex: 1 1 auto;
  inline-size: 1%;
  min-inline-size: 0;
}
.input-group > .flatpickr-wrapper:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) .flatpickr-input {
  border-end-start-radius: 0;
  border-start-start-radius: 0;
}
.input-group .form-control:focus, .input-group .form-control:focus-within,
.input-group .form-select:focus,
.input-group .form-select:focus-within,
.input-group .input-group-text:focus,
.input-group .input-group-text:focus-within {
  border-width: var(--bs-border-width);
}
.input-group .form-control, .input-group .form-control:focus, .input-group .form-control:focus-within, .was-validated .input-group .form-control:invalid, .was-validated .input-group .form-control:valid, .input-group .form-control.is-invalid, .input-group .form-control.is-valid,
.input-group .input-group-text,
.input-group .input-group-text:focus,
.input-group .input-group-text:focus-within,
.was-validated .input-group .input-group-text:invalid,
.was-validated .input-group .input-group-text:valid,
.input-group .input-group-text.is-invalid,
.input-group .input-group-text.is-valid, .was-validated .input-group:has(:invalid) .form-control, .was-validated .input-group:has(:invalid) .form-control:focus, .was-validated .input-group:has(:invalid) .form-control:focus-within, .was-validated .was-validated .input-group:has(:invalid) .form-control:invalid, .was-validated .was-validated .input-group:has(:invalid) .form-control:valid, .was-validated .input-group:has(:invalid) .form-control.is-invalid, .was-validated .input-group:has(:invalid) .form-control.is-valid,
.was-validated .input-group:has(:invalid) .input-group-text,
.was-validated .input-group:has(:invalid) .input-group-text:focus,
.was-validated .input-group:has(:invalid) .input-group-text:focus-within,
.was-validated .was-validated .input-group:has(:invalid) .input-group-text:invalid,
.was-validated .was-validated .input-group:has(:invalid) .input-group-text:valid,
.was-validated .input-group:has(:invalid) .input-group-text.is-invalid,
.was-validated .input-group:has(:invalid) .input-group-text.is-valid, .was-validated .input-group:has(:valid) .form-control, .was-validated .input-group:has(:valid) .form-control:focus, .was-validated .input-group:has(:valid) .form-control:focus-within, .was-validated .was-validated .input-group:has(:valid) .form-control:invalid, .was-validated .was-validated .input-group:has(:valid) .form-control:valid, .was-validated .input-group:has(:valid) .form-control.is-invalid, .was-validated .input-group:has(:valid) .form-control.is-valid,
.was-validated .input-group:has(:valid) .input-group-text,
.was-validated .input-group:has(:valid) .input-group-text:focus,
.was-validated .input-group:has(:valid) .input-group-text:focus-within,
.was-validated .was-validated .input-group:has(:valid) .input-group-text:invalid,
.was-validated .was-validated .input-group:has(:valid) .input-group-text:valid,
.was-validated .input-group:has(:valid) .input-group-text.is-invalid,
.was-validated .input-group:has(:valid) .input-group-text.is-valid {
  padding-block: calc(0.426rem - var(--bs-border-width));
  padding-inline: calc(0.9375rem - var(--bs-border-width));
}
.input-group .form-select, .input-group .form-select:focus, .input-group .form-select:focus-within, .was-validated .input-group .form-select:invalid, .was-validated .input-group .form-select:valid, .input-group .form-select.is-invalid, .input-group .form-select.is-valid, .was-validated .input-group:has(:invalid) .form-select, .was-validated .input-group:has(:invalid) .form-select:focus, .was-validated .input-group:has(:invalid) .form-select:focus-within, .was-validated .was-validated .input-group:has(:invalid) .form-select:invalid, .was-validated .was-validated .input-group:has(:invalid) .form-select:valid, .was-validated .input-group:has(:invalid) .form-select.is-invalid, .was-validated .input-group:has(:invalid) .form-select.is-valid, .was-validated .input-group:has(:valid) .form-select, .was-validated .input-group:has(:valid) .form-select:focus, .was-validated .input-group:has(:valid) .form-select:focus-within, .was-validated .was-validated .input-group:has(:valid) .form-select:invalid, .was-validated .was-validated .input-group:has(:valid) .form-select:valid, .was-validated .input-group:has(:valid) .form-select.is-invalid, .was-validated .input-group:has(:valid) .form-select.is-valid {
  background-position: right 0.9375rem center;
  padding-block: calc(0.426rem - var(--bs-border-width));
  padding-inline-end: calc(2.625rem - var(--bs-border-width));
  padding-inline-start: calc(0.9375rem - var(--bs-border-width));
}
:dir(rtl) .input-group .form-select, :dir(rtl) .input-group .form-select:focus, :dir(rtl) .input-group .form-select:focus-within, :dir(rtl) .was-validated .input-group .form-select:invalid, :dir(rtl) .was-validated .input-group .form-select:valid, :dir(rtl) .input-group .form-select.is-invalid, :dir(rtl) .input-group .form-select.is-valid, :dir(rtl) .was-validated .input-group:has(:invalid) .form-select, :dir(rtl) .was-validated .input-group:has(:invalid) .form-select:focus, :dir(rtl) .was-validated .input-group:has(:invalid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group:has(:invalid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group:has(:invalid) .form-select:valid, :dir(rtl) .was-validated .input-group:has(:invalid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group:has(:invalid) .form-select.is-valid, :dir(rtl) .was-validated .input-group:has(:valid) .form-select, :dir(rtl) .was-validated .input-group:has(:valid) .form-select:focus, :dir(rtl) .was-validated .input-group:has(:valid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group:has(:valid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group:has(:valid) .form-select:valid, :dir(rtl) .was-validated .input-group:has(:valid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group:has(:valid) .form-select.is-valid {
  background-position: left 0.9375rem center;
}
.input-group.input-group-sm .form-control, .input-group.input-group-sm .form-control:focus, .input-group.input-group-sm .form-control:focus-within, .was-validated .input-group.input-group-sm .form-control:invalid, .was-validated .input-group.input-group-sm .form-control:valid, .input-group.input-group-sm .form-control.is-invalid, .input-group.input-group-sm .form-control.is-valid,
.input-group.input-group-sm .input-group-text,
.input-group.input-group-sm .input-group-text:focus,
.input-group.input-group-sm .input-group-text:focus-within,
.was-validated .input-group.input-group-sm .input-group-text:invalid,
.was-validated .input-group.input-group-sm .input-group-text:valid,
.input-group.input-group-sm .input-group-text.is-invalid,
.input-group.input-group-sm .input-group-text.is-valid, .was-validated .input-group.input-group-sm:has(:invalid) .form-control, .was-validated .input-group.input-group-sm:has(:invalid) .form-control:focus, .was-validated .input-group.input-group-sm:has(:invalid) .form-control:focus-within, .was-validated .was-validated .input-group.input-group-sm:has(:invalid) .form-control:invalid, .was-validated .was-validated .input-group.input-group-sm:has(:invalid) .form-control:valid, .was-validated .input-group.input-group-sm:has(:invalid) .form-control.is-invalid, .was-validated .input-group.input-group-sm:has(:invalid) .form-control.is-valid,
.was-validated .input-group.input-group-sm:has(:invalid) .input-group-text,
.was-validated .input-group.input-group-sm:has(:invalid) .input-group-text:focus,
.was-validated .input-group.input-group-sm:has(:invalid) .input-group-text:focus-within,
.was-validated .was-validated .input-group.input-group-sm:has(:invalid) .input-group-text:invalid,
.was-validated .was-validated .input-group.input-group-sm:has(:invalid) .input-group-text:valid,
.was-validated .input-group.input-group-sm:has(:invalid) .input-group-text.is-invalid,
.was-validated .input-group.input-group-sm:has(:invalid) .input-group-text.is-valid, .was-validated .input-group.input-group-sm:has(:valid) .form-control, .was-validated .input-group.input-group-sm:has(:valid) .form-control:focus, .was-validated .input-group.input-group-sm:has(:valid) .form-control:focus-within, .was-validated .was-validated .input-group.input-group-sm:has(:valid) .form-control:invalid, .was-validated .was-validated .input-group.input-group-sm:has(:valid) .form-control:valid, .was-validated .input-group.input-group-sm:has(:valid) .form-control.is-invalid, .was-validated .input-group.input-group-sm:has(:valid) .form-control.is-valid,
.was-validated .input-group.input-group-sm:has(:valid) .input-group-text,
.was-validated .input-group.input-group-sm:has(:valid) .input-group-text:focus,
.was-validated .input-group.input-group-sm:has(:valid) .input-group-text:focus-within,
.was-validated .was-validated .input-group.input-group-sm:has(:valid) .input-group-text:invalid,
.was-validated .was-validated .input-group.input-group-sm:has(:valid) .input-group-text:valid,
.was-validated .input-group.input-group-sm:has(:valid) .input-group-text.is-invalid,
.was-validated .input-group.input-group-sm:has(:valid) .input-group-text.is-valid {
  padding-block: 0.215rem;
  padding-inline: calc(0.75rem - var(--bs-border-width));
}
.input-group.input-group-sm .form-select, .input-group.input-group-sm .form-select:focus, .input-group.input-group-sm .form-select:focus-within, .was-validated .input-group.input-group-sm .form-select:invalid, .was-validated .input-group.input-group-sm .form-select:valid, .input-group.input-group-sm .form-select.is-invalid, .input-group.input-group-sm .form-select.is-valid, .was-validated .input-group.input-group-sm:has(:invalid) .form-select, .was-validated .input-group.input-group-sm:has(:invalid) .form-select:focus, .was-validated .input-group.input-group-sm:has(:invalid) .form-select:focus-within, .was-validated .was-validated .input-group.input-group-sm:has(:invalid) .form-select:invalid, .was-validated .was-validated .input-group.input-group-sm:has(:invalid) .form-select:valid, .was-validated .input-group.input-group-sm:has(:invalid) .form-select.is-invalid, .was-validated .input-group.input-group-sm:has(:invalid) .form-select.is-valid, .was-validated .input-group.input-group-sm:has(:valid) .form-select, .was-validated .input-group.input-group-sm:has(:valid) .form-select:focus, .was-validated .input-group.input-group-sm:has(:valid) .form-select:focus-within, .was-validated .was-validated .input-group.input-group-sm:has(:valid) .form-select:invalid, .was-validated .was-validated .input-group.input-group-sm:has(:valid) .form-select:valid, .was-validated .input-group.input-group-sm:has(:valid) .form-select.is-invalid, .was-validated .input-group.input-group-sm:has(:valid) .form-select.is-valid {
  background-position: right 0.75rem center;
  padding-block: 0.215rem;
  padding-inline: 0.75rem;
  padding-inline-start: calc(0.75rem - var(--bs-border-width));
}
:dir(rtl) .input-group.input-group-sm .form-select, :dir(rtl) .input-group.input-group-sm .form-select:focus, :dir(rtl) .input-group.input-group-sm .form-select:focus-within, :dir(rtl) .was-validated .input-group.input-group-sm .form-select:invalid, :dir(rtl) .was-validated .input-group.input-group-sm .form-select:valid, :dir(rtl) .input-group.input-group-sm .form-select.is-invalid, :dir(rtl) .input-group.input-group-sm .form-select.is-valid, :dir(rtl) .was-validated .input-group.input-group-sm:has(:invalid) .form-select, :dir(rtl) .was-validated .input-group.input-group-sm:has(:invalid) .form-select:focus, :dir(rtl) .was-validated .input-group.input-group-sm:has(:invalid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm:has(:invalid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm:has(:invalid) .form-select:valid, :dir(rtl) .was-validated .input-group.input-group-sm:has(:invalid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group.input-group-sm:has(:invalid) .form-select.is-valid, :dir(rtl) .was-validated .input-group.input-group-sm:has(:valid) .form-select, :dir(rtl) .was-validated .input-group.input-group-sm:has(:valid) .form-select:focus, :dir(rtl) .was-validated .input-group.input-group-sm:has(:valid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm:has(:valid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm:has(:valid) .form-select:valid, :dir(rtl) .was-validated .input-group.input-group-sm:has(:valid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group.input-group-sm:has(:valid) .form-select.is-valid {
  background-position: left 0.75rem center;
}
.input-group.input-group-lg .form-control, .input-group.input-group-lg .form-control:focus, .input-group.input-group-lg .form-control:focus-within, .was-validated .input-group.input-group-lg .form-control:invalid, .was-validated .input-group.input-group-lg .form-control:valid, .input-group.input-group-lg .form-control.is-invalid, .input-group.input-group-lg .form-control.is-valid,
.input-group.input-group-lg .input-group-text,
.input-group.input-group-lg .input-group-text:focus,
.input-group.input-group-lg .input-group-text:focus-within,
.was-validated .input-group.input-group-lg .input-group-text:invalid,
.was-validated .input-group.input-group-lg .input-group-text:valid,
.input-group.input-group-lg .input-group-text.is-invalid,
.input-group.input-group-lg .input-group-text.is-valid, .was-validated .input-group.input-group-lg:has(:invalid) .form-control, .was-validated .input-group.input-group-lg:has(:invalid) .form-control:focus, .was-validated .input-group.input-group-lg:has(:invalid) .form-control:focus-within, .was-validated .was-validated .input-group.input-group-lg:has(:invalid) .form-control:invalid, .was-validated .was-validated .input-group.input-group-lg:has(:invalid) .form-control:valid, .was-validated .input-group.input-group-lg:has(:invalid) .form-control.is-invalid, .was-validated .input-group.input-group-lg:has(:invalid) .form-control.is-valid,
.was-validated .input-group.input-group-lg:has(:invalid) .input-group-text,
.was-validated .input-group.input-group-lg:has(:invalid) .input-group-text:focus,
.was-validated .input-group.input-group-lg:has(:invalid) .input-group-text:focus-within,
.was-validated .was-validated .input-group.input-group-lg:has(:invalid) .input-group-text:invalid,
.was-validated .was-validated .input-group.input-group-lg:has(:invalid) .input-group-text:valid,
.was-validated .input-group.input-group-lg:has(:invalid) .input-group-text.is-invalid,
.was-validated .input-group.input-group-lg:has(:invalid) .input-group-text.is-valid, .was-validated .input-group.input-group-lg:has(:valid) .form-control, .was-validated .input-group.input-group-lg:has(:valid) .form-control:focus, .was-validated .input-group.input-group-lg:has(:valid) .form-control:focus-within, .was-validated .was-validated .input-group.input-group-lg:has(:valid) .form-control:invalid, .was-validated .was-validated .input-group.input-group-lg:has(:valid) .form-control:valid, .was-validated .input-group.input-group-lg:has(:valid) .form-control.is-invalid, .was-validated .input-group.input-group-lg:has(:valid) .form-control.is-valid,
.was-validated .input-group.input-group-lg:has(:valid) .input-group-text,
.was-validated .input-group.input-group-lg:has(:valid) .input-group-text:focus,
.was-validated .input-group.input-group-lg:has(:valid) .input-group-text:focus-within,
.was-validated .was-validated .input-group.input-group-lg:has(:valid) .input-group-text:invalid,
.was-validated .was-validated .input-group.input-group-lg:has(:valid) .input-group-text:valid,
.was-validated .input-group.input-group-lg:has(:valid) .input-group-text.is-invalid,
.was-validated .input-group.input-group-lg:has(:valid) .input-group-text.is-valid {
  padding-block: 0.575rem;
  padding-inline: calc(1rem - var(--bs-border-width));
}
.input-group.input-group-lg .form-select, .input-group.input-group-lg .form-select:focus, .input-group.input-group-lg .form-select:focus-within, .was-validated .input-group.input-group-lg .form-select:invalid, .was-validated .input-group.input-group-lg .form-select:valid, .input-group.input-group-lg .form-select.is-invalid, .input-group.input-group-lg .form-select.is-valid, .was-validated .input-group.input-group-lg:has(:invalid) .form-select, .was-validated .input-group.input-group-lg:has(:invalid) .form-select:focus, .was-validated .input-group.input-group-lg:has(:invalid) .form-select:focus-within, .was-validated .was-validated .input-group.input-group-lg:has(:invalid) .form-select:invalid, .was-validated .was-validated .input-group.input-group-lg:has(:invalid) .form-select:valid, .was-validated .input-group.input-group-lg:has(:invalid) .form-select.is-invalid, .was-validated .input-group.input-group-lg:has(:invalid) .form-select.is-valid, .was-validated .input-group.input-group-lg:has(:valid) .form-select, .was-validated .input-group.input-group-lg:has(:valid) .form-select:focus, .was-validated .input-group.input-group-lg:has(:valid) .form-select:focus-within, .was-validated .was-validated .input-group.input-group-lg:has(:valid) .form-select:invalid, .was-validated .was-validated .input-group.input-group-lg:has(:valid) .form-select:valid, .was-validated .input-group.input-group-lg:has(:valid) .form-select.is-invalid, .was-validated .input-group.input-group-lg:has(:valid) .form-select.is-valid {
  background-position: right 1rem center;
  padding-block: 0.575rem;
  padding-inline: 1rem;
  padding-inline-start: calc(1rem - var(--bs-border-width));
}
:dir(rtl) .input-group.input-group-lg .form-select, :dir(rtl) .input-group.input-group-lg .form-select:focus, :dir(rtl) .input-group.input-group-lg .form-select:focus-within, :dir(rtl) .was-validated .input-group.input-group-lg .form-select:invalid, :dir(rtl) .was-validated .input-group.input-group-lg .form-select:valid, :dir(rtl) .input-group.input-group-lg .form-select.is-invalid, :dir(rtl) .input-group.input-group-lg .form-select.is-valid, :dir(rtl) .was-validated .input-group.input-group-lg:has(:invalid) .form-select, :dir(rtl) .was-validated .input-group.input-group-lg:has(:invalid) .form-select:focus, :dir(rtl) .was-validated .input-group.input-group-lg:has(:invalid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group.input-group-lg:has(:invalid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group.input-group-lg:has(:invalid) .form-select:valid, :dir(rtl) .was-validated .input-group.input-group-lg:has(:invalid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group.input-group-lg:has(:invalid) .form-select.is-valid, :dir(rtl) .was-validated .input-group.input-group-lg:has(:valid) .form-select, :dir(rtl) .was-validated .input-group.input-group-lg:has(:valid) .form-select:focus, :dir(rtl) .was-validated .input-group.input-group-lg:has(:valid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group.input-group-lg:has(:valid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group.input-group-lg:has(:valid) .form-select:valid, :dir(rtl) .was-validated .input-group.input-group-lg:has(:valid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group.input-group-lg:has(:valid) .form-select.is-valid {
  background-position: left 1rem center;
}
.input-group::before {
  position: absolute;
  display: block;
  block-size: 100%;
  content: "";
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 0;
  border-radius: var(--bs-border-radius);
}
.input-group.input-group-lg, .input-group.input-group-lg::before {
  border-radius: var(--bs-border-radius-lg);
}
.input-group.input-group-sm, .input-group.input-group-sm::before {
  border-radius: var(--bs-border-radius-sm);
}
.input-group.input-group-sm .form-control, .input-group.input-group-sm .form-control:focus, .input-group.input-group-sm .form-control:focus-within, .was-validated .input-group.input-group-sm .form-control:invalid, .was-validated .input-group.input-group-sm .form-control:valid, .input-group.input-group-sm .form-control.is-invalid, .input-group.input-group-sm .form-control.is-valid,
.input-group.input-group-sm .input-group-text,
.input-group.input-group-sm .input-group-text:focus,
.input-group.input-group-sm .input-group-text:focus-within,
.was-validated .input-group.input-group-sm .input-group-text:invalid,
.was-validated .input-group.input-group-sm .input-group-text:valid,
.input-group.input-group-sm .input-group-text.is-invalid,
.input-group.input-group-sm .input-group-text.is-valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-control, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-control:focus, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-control:focus-within, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-control:invalid, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-control:valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-control.is-invalid, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-control.is-valid,
.was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .input-group-text,
.was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .input-group-text:focus,
.was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .input-group-text:focus-within,
.was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .input-group-text:invalid,
.was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .input-group-text:valid,
.was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .input-group-text.is-invalid,
.was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .input-group-text.is-valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-control, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-control:focus, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-control:focus-within, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-control:invalid, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-control:valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-control.is-invalid, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-control.is-valid,
.was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .input-group-text,
.was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .input-group-text:focus,
.was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .input-group-text:focus-within,
.was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .input-group-text:invalid,
.was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .input-group-text:valid,
.was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .input-group-text.is-invalid,
.was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .input-group-text.is-valid {
  padding-block: 0.215rem;
  padding-inline: 0.75rem;
}
.input-group.input-group-sm .form-select, .input-group.input-group-sm .form-select:focus, .input-group.input-group-sm .form-select:focus-within, .was-validated .input-group.input-group-sm .form-select:invalid, .was-validated .input-group.input-group-sm .form-select:valid, .input-group.input-group-sm .form-select.is-invalid, .input-group.input-group-sm .form-select.is-valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:focus, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:focus-within, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:invalid, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select.is-invalid, .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select.is-valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:focus, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:focus-within, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:invalid, .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:valid, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select.is-invalid, .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select.is-valid {
  background-position: right 0.75rem center;
  padding-block: 0.215rem;
  padding-inline: 0.75rem;
  padding-inline-start: calc(0.75rem - var(--bs-border-width));
}
:dir(rtl) .input-group.input-group-sm .form-select, :dir(rtl) .input-group.input-group-sm .form-select:focus, :dir(rtl) .input-group.input-group-sm .form-select:focus-within, :dir(rtl) .was-validated .input-group.input-group-sm .form-select:invalid, :dir(rtl) .was-validated .input-group.input-group-sm .form-select:valid, :dir(rtl) .input-group.input-group-sm .form-select.is-invalid, :dir(rtl) .input-group.input-group-sm .form-select.is-valid, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:focus, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select:valid, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:invalid) .form-select.is-valid, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:focus, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:focus-within, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:invalid, :dir(rtl) .was-validated .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select:valid, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select.is-invalid, :dir(rtl) .was-validated .input-group.input-group-sm.input-group-sm:has(:valid) .form-select.is-valid {
  background-position: left 0.75rem center;
}
.input-group > :not(:first-child, .dropdown-toggle-split).dropdown-toggle:not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline-start: 0;
}
.input-group > .form-control + .btn:has(+ .btn.dropdown-toggle-split):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),
.input-group > .form-control ~ .btn:last-child:not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline-end: calc(-1 * var(--bs-border-width));
}
.input-group:hover .input-group-text,
.input-group:hover .form-control,
.input-group:hover .form-select {
  border-color: var(--bs-gray-600);
}
.input-group:focus-within, .input-group:focus {
  box-shadow: 0 0 0 var(--bs-border-width) var(--bs-primary);
}
.input-group:focus-within::before, .input-group:focus::before {
  box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
}
.input-group:focus-within:not(.input-group-merge) .form-control,
.input-group:focus-within:not(.input-group-merge) .form-select,
.input-group:focus-within:not(.input-group-merge) .input-group-text,
.input-group:focus-within:not(.input-group-merge) .btn,
.input-group:focus-within:not(.input-group-merge) .form-control::file-selector-button, .input-group:focus:not(.input-group-merge) .form-control,
.input-group:focus:not(.input-group-merge) .form-select,
.input-group:focus:not(.input-group-merge) .input-group-text,
.input-group:focus:not(.input-group-merge) .btn,
.input-group:focus:not(.input-group-merge) .form-control::file-selector-button {
  box-shadow: var(--bs-border-width) 0 0 var(--bs-primary);
}
.input-group:focus-within.has-validation:not(.input-group-merge) .form-control.is-invalid,
.input-group:focus-within.has-validation:not(.input-group-merge) .form-select.is-invalid,
.input-group:focus-within.has-validation:not(.input-group-merge) .input-group-text:has(~ .is-invalid),
.input-group:focus-within.has-validation:not(.input-group-merge) .btn,
.input-group:focus-within.has-validation:not(.input-group-merge) .form-control::file-selector-button, .input-group:focus.has-validation:not(.input-group-merge) .form-control.is-invalid,
.input-group:focus.has-validation:not(.input-group-merge) .form-select.is-invalid,
.input-group:focus.has-validation:not(.input-group-merge) .input-group-text:has(~ .is-invalid),
.input-group:focus.has-validation:not(.input-group-merge) .btn,
.input-group:focus.has-validation:not(.input-group-merge) .form-control::file-selector-button {
  box-shadow: var(--bs-border-width) 0 0 var(--bs-form-validation-border-color);
}
.input-group:focus-within .input-group-text,
.input-group:focus-within .form-control,
.input-group:focus-within .form-select, .input-group:focus .input-group-text,
.input-group:focus .form-control,
.input-group:focus .form-select {
  border-color: var(--bs-primary);
}
.input-group:focus-within .input-group-text:hover,
.input-group:focus-within .form-control:hover,
.input-group:focus-within .form-select:hover, .input-group:focus .input-group-text:hover,
.input-group:focus .form-control:hover,
.input-group:focus .form-select:hover {
  border-color: var(--bs-primary);
}
.input-group.input-group-merge > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline: 0;
}
.input-group.input-group-merge:not(.disabled) > :not(:first-child):not(.dropdown-menu):not(.btn):not(.dropdown-menu + .form-control):not(.btn + .form-control):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline-start: -2px;
}
.input-group.input-group-merge .input-group-text, .input-group.input-group-merge .input-group-text:focus, .input-group.input-group-merge .input-group-text:focus-within,
.input-group.input-group-merge .form-control,
.input-group.input-group-merge .form-control:focus,
.input-group.input-group-merge .form-control:focus-within,
.input-group.input-group-merge .form-select,
.input-group.input-group-merge .form-select:focus,
.input-group.input-group-merge .form-select:focus-within {
  box-shadow: none;
}
.input-group.input-group-merge .input-group-text:first-child,
.input-group.input-group-merge .form-control:first-child,
.input-group.input-group-merge .form-select:first-child {
  border-inline-end: 0;
}
.input-group.input-group-merge .input-group-text:last-child,
.input-group.input-group-merge .form-control:last-child,
.input-group.input-group-merge .form-select:last-child {
  border-inline-start: 0;
}
.input-group.input-group-merge .input-group-text:not(:first-child),
.input-group.input-group-merge .form-control:not(:first-child),
.input-group.input-group-merge .form-select:not(:first-child) {
  border-inline-start: 0;
  padding-inline-start: 0;
}
.input-group.input-group-merge .input-group-text:not(:last-child),
.input-group.input-group-merge .form-control:not(:last-child),
.input-group.input-group-merge .form-select:not(:last-child) {
  border-inline-end: 0;
}
.input-group.input-group-merge .flatpickr-wrapper .flatpickr-input {
  border: var(--bs-border-width) solid color-mix(in sRGB, var(--bs-base-color) 22%, var(--bs-paper-bg));
}
.input-group.input-group-merge .flatpickr-wrapper .flatpickr-input:hover:not(:focus):not(:disabled) {
  border-color: var(--bs-gray-600);
}
.input-group.input-group-merge .flatpickr-wrapper:first-child .flatpickr-input {
  border-inline-end: 0;
}
.input-group.input-group-merge .flatpickr-wrapper:last-child .flatpickr-input {
  border-inline-start: 0;
}
.input-group.input-group-merge .flatpickr-wrapper:not(:first-child):not(:last-child) .flatpickr-input {
  border-inline-end: 0;
  border-inline-start: 0;
}
.input-group.input-group-merge:focus-within .flatpickr-wrapper .flatpickr-input, .input-group.input-group-merge:focus .flatpickr-wrapper .flatpickr-input {
  border-color: var(--bs-primary);
}
.input-group.input-group-merge.disabled, .input-group.input-group-merge[disabled] {
  margin-inline: 0 !important;
}
.input-group.rounded-pill .input-group-text,
.input-group.rounded-pill .form-control,
.input-group.rounded-pill .form-select, .input-group.rounded-pill::before {
  border-radius: 50rem;
}
.input-group.disabled .input-group-text,
.input-group.disabled .form-control,
.input-group.disabled .form-select, .input-group[disabled] .input-group-text,
.input-group[disabled] .form-control,
.input-group[disabled] .form-select {
  border-color: var(--bs-input-group-disabled-border-color);
  background-color: var(--bs-gray-50);
  color: var(--bs-secondary-color);
  pointer-events: none;
}
.input-group.disabled .form-select, .input-group[disabled] .form-select {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" fill="none"%3e%3cpath d="M10.9999 12.0743L15.5374 7.53676L16.8336 8.83292L10.9999 14.6666L5.16626 8.83292L6.46243 7.53676L10.9999 12.0743Z" fill="%23acaab1" fill-opacity="0.9"/%3e%3c/svg%3e');
}
.input-group.has-validation > .input-group-text:first-child,
.input-group.has-validation > .form-control:first-child {
  border-end-end-radius: 0;
  border-start-end-radius: 0;
}
.input-group.has-validation > .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}

/* input-group-text icon size */
.input-group-text {
  background-clip: padding-box;
  /* Adding transition (On focus border color change) */
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .input-group-text {
    transition: none;
  }
}

.input-group-lg > .input-group-text .icon-base {
  block-size: 1.375rem;
  font-size: 1.375rem;
  inline-size: 1.375rem;
}

.input-group-sm > .input-group-text .icon-base {
  block-size: 1.125rem;
  font-size: 1.125rem;
  inline-size: 1.125rem;
}

/* RTL theme */
:dir(Rtl) .input-group > :not(:first-child, .dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline-end: 0;
}
:dir(Rtl) .input-group > .btn:has(+ .btn):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline-end: -1px;
}

/* Dark Theme */
[data-bs-theme=dark] .input-group {
  --bs-input-group-addon-border-color: color-mix(in srgb, #e1def5 22%, #2f3349);
  --bs-input-group-disabled-border-color: rgba(225, 222, 245, 0.23);
}
[data-bs-theme=dark] .input-group.disabled .form-select, [data-bs-theme=dark] .input-group[disabled] .form-select {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 22" fill="none"%3e%3cpath d="M10.9999 12.0743L15.5374 7.53676L16.8336 8.83292L10.9999 14.6666L5.16626 8.83292L6.46243 7.53676L10.9999 12.0743Z" fill="%2376778e" fill-opacity="0.9"/%3e%3c/svg%3e');
}

/* Floating Labels
******************************************************************************* */
/* Display placeholder on focus */
.form-floating > label {
  inset-inline-start: 0;
}
.form-floating > .form-control:focus::-moz-placeholder, .form-floating > .form-control:not(:placeholder-shown)::-moz-placeholder {
  color: var(--bs-secondary-color);
}
.form-floating > .form-control:not(:-moz-placeholder)::placeholder {
  color: var(--bs-secondary-color);
}
.form-floating > .form-control:focus::placeholder,
.form-floating > .form-control:not(:placeholder-shown)::placeholder {
  color: var(--bs-secondary-color);
}
.form-floating > .form-control:focus:not(:-moz-placeholder) ~ label, .form-floating > .form-select:focus:not(:-moz-placeholder) ~ label {
  color: var(--bs-primary);
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:focus:not(:placeholder-shown) ~ label,
.form-floating > .form-select:focus ~ label,
.form-floating > .form-select:focus:not(:placeholder-shown) ~ label {
  color: var(--bs-primary);
}

:dir(rtl) .form-floating > label {
  transform-origin: 100% 0;
}
:dir(rtl) .form-floating > .form-control:focus ~ label,
:dir(rtl) .form-floating > .form-control:not(:placeholder-shown) ~ label,
:dir(rtl) .form-floating > .form-select ~ label,
:dir(rtl) .form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem);
}

/* Validation states
******************************************************************************* */
/* Currently supported for form-validation and jq-validation */
form {
  --bs-form-validation-shadow: none;
  --bs-form-validation-border-color: var(--bs-form-invalid-border-color);
}
form .error:not(li):not(input) {
  color: #ff4c51;
  font-size: 85%;
  margin-block-start: 0.25rem;
}
form .form-label.invalid, form .form-label.is-invalid {
  border-width: 2px;
  border-color: #ff4c51;
  box-shadow: 0 0 0 2px rgba(255, 76, 81, 0.4);
}
form.was-validated :invalid,
form .is-invalid, form.was-validated select:invalid, form.was-validated select:invalid + .dropdown-toggle, form.was-validated select:invalid ~ .select2-container,
form select.is-invalid,
form select.is-invalid + .dropdown-toggle,
form select.is-invalid ~ .select2-container, form.was-validated .input-group:has(:invalid),
form .input-group:has(.is-invalid),
form .input-group .is-invalid, form.was-validated .tagify:has(+ :invalid),
form .tagify:has(+ .is-invalid) {
  --bs-form-validation-border-color: var(--bs-form-invalid-border-color);
}
form.was-validated :valid,
form .is-valid, form.was-validated select:valid, form.was-validated select:valid + .dropdown-toggle, form.was-validated select:valid ~ .select2-container,
form select.is-valid,
form select.is-valid + .dropdown-toggle,
form select.is-valid ~ .select2-container,
form .input-group:has(.is-valid), form.was-validated .input-group:has(:valid),
form .input-group .is-valid, form.was-validated .tagify:has(+ :valid),
form .tagify:has(+ .is-valid) {
  --bs-form-validation-border-color: var(--bs-form-valid-border-color);
}
form.was-validated .form-control:not(.input-group .form-control):invalid, form.was-validated .form-control:not(.input-group .form-control):valid,
form .form-control:not(.input-group .form-control).is-invalid,
form .form-control:not(.input-group .form-control).is-valid, form.was-validated .form-select:not(.input-group .form-select):invalid, form.was-validated .form-select:not(.input-group .form-select):valid,
form .form-select:not(.input-group .form-select).is-invalid,
form .form-select:not(.input-group .form-select).is-valid {
  border-width: 2px;
}
form.was-validated .form-control:not(.input-group .form-control):invalid, form.was-validated .form-control:not(.input-group .form-control):invalid:hover, form.was-validated .form-control:not(.input-group .form-control):invalid:focus, form.was-validated .form-control:not(.input-group .form-control):valid, form.was-validated .form-control:not(.input-group .form-control):valid:hover, form.was-validated .form-control:not(.input-group .form-control):valid:focus,
form .form-control:not(.input-group .form-control).is-invalid,
form .form-control:not(.input-group .form-control).is-invalid:hover,
form .form-control:not(.input-group .form-control).is-invalid:focus,
form .form-control:not(.input-group .form-control).is-valid,
form .form-control:not(.input-group .form-control).is-valid:hover,
form .form-control:not(.input-group .form-control).is-valid:focus, form.was-validated .form-select:not(.input-group .form-select):invalid, form.was-validated .form-select:not(.input-group .form-select):invalid:hover, form.was-validated .form-select:not(.input-group .form-select):invalid:focus, form.was-validated .form-select:not(.input-group .form-select):valid, form.was-validated .form-select:not(.input-group .form-select):valid:hover, form.was-validated .form-select:not(.input-group .form-select):valid:focus,
form .form-select:not(.input-group .form-select).is-invalid,
form .form-select:not(.input-group .form-select).is-invalid:hover,
form .form-select:not(.input-group .form-select).is-invalid:focus,
form .form-select:not(.input-group .form-select).is-valid,
form .form-select:not(.input-group .form-select).is-valid:hover,
form .form-select:not(.input-group .form-select).is-valid:focus {
  border-color: var(--bs-form-validation-border-color);
  box-shadow: var(--bs-form-validation-shadow);
}
form.was-validated .form-control:not(.input-group .form-control):invalid::file-selector-button, form.was-validated .form-control:not(.input-group .form-control):invalid:hover::file-selector-button, form.was-validated .form-control:not(.input-group .form-control):invalid:focus::file-selector-button, form.was-validated .form-control:not(.input-group .form-control):valid::file-selector-button, form.was-validated .form-control:not(.input-group .form-control):valid:hover::file-selector-button, form.was-validated .form-control:not(.input-group .form-control):valid:focus::file-selector-button,
form .form-control:not(.input-group .form-control).is-invalid::file-selector-button,
form .form-control:not(.input-group .form-control).is-invalid:hover::file-selector-button,
form .form-control:not(.input-group .form-control).is-invalid:focus::file-selector-button,
form .form-control:not(.input-group .form-control).is-valid::file-selector-button,
form .form-control:not(.input-group .form-control).is-valid:hover::file-selector-button,
form .form-control:not(.input-group .form-control).is-valid:focus::file-selector-button, form.was-validated .form-select:not(.input-group .form-select):invalid::file-selector-button, form.was-validated .form-select:not(.input-group .form-select):invalid:hover::file-selector-button, form.was-validated .form-select:not(.input-group .form-select):invalid:focus::file-selector-button, form.was-validated .form-select:not(.input-group .form-select):valid::file-selector-button, form.was-validated .form-select:not(.input-group .form-select):valid:hover::file-selector-button, form.was-validated .form-select:not(.input-group .form-select):valid:focus::file-selector-button,
form .form-select:not(.input-group .form-select).is-invalid::file-selector-button,
form .form-select:not(.input-group .form-select).is-invalid:hover::file-selector-button,
form .form-select:not(.input-group .form-select).is-invalid:focus::file-selector-button,
form .form-select:not(.input-group .form-select).is-valid::file-selector-button,
form .form-select:not(.input-group .form-select).is-valid:hover::file-selector-button,
form .form-select:not(.input-group .form-select).is-valid:focus::file-selector-button {
  box-shadow: var(--bs-border-width) 0 0 var(--bs-form-validation-border-color);
}
form.was-validated .form-check-input:invalid, form.was-validated .form-check-input:invalid:checked, form.was-validated .form-check-input:invalid:focus, form.was-validated .form-check-input:valid, form.was-validated .form-check-input:valid:checked, form.was-validated .form-check-input:valid:focus,
form .form-check-input.is-invalid,
form .form-check-input.is-invalid:checked,
form .form-check-input.is-invalid:focus,
form .form-check-input.is-valid,
form .form-check-input.is-valid:checked,
form .form-check-input.is-valid:focus {
  box-shadow: var(--bs-form-validation-shadow);
}
form.was-validated .form-switch .form-check-input:invalid:invalid, form.was-validated .form-switch .form-check-input:invalid:invalid:checked, form.was-validated .form-switch .form-check-input:invalid:invalid:focus, form.was-validated .form-switch .form-check-input:invalid.is-invalid, form.was-validated .form-switch .form-check-input:invalid.is-invalid:checked, form.was-validated .form-switch .form-check-input:invalid.is-invalid:focus, form.was-validated .form-switch .form-check-input:invalid:valid, form.was-validated .form-switch .form-check-input:invalid:valid:checked, form.was-validated .form-switch .form-check-input:invalid:valid:focus, form.was-validated .form-switch .form-check-input:invalid.is-valid, form.was-validated .form-switch .form-check-input:invalid.is-valid:checked, form.was-validated .form-switch .form-check-input:invalid.is-valid:focus, form.was-validated .form-switch .form-check-input:valid:invalid, form.was-validated .form-switch .form-check-input:valid:invalid:checked, form.was-validated .form-switch .form-check-input:valid:invalid:focus, form.was-validated .form-switch .form-check-input:valid.is-invalid, form.was-validated .form-switch .form-check-input:valid.is-invalid:checked, form.was-validated .form-switch .form-check-input:valid.is-invalid:focus, form.was-validated .form-switch .form-check-input:valid:valid, form.was-validated .form-switch .form-check-input:valid:valid:checked, form.was-validated .form-switch .form-check-input:valid:valid:focus, form.was-validated .form-switch .form-check-input:valid.is-valid, form.was-validated .form-switch .form-check-input:valid.is-valid:checked, form.was-validated .form-switch .form-check-input:valid.is-valid:focus,
form .form-switch .form-check-input.is-invalid:invalid,
form .form-switch .form-check-input.is-invalid:invalid:checked,
form .form-switch .form-check-input.is-invalid:invalid:focus,
form .form-switch .form-check-input.is-invalid.is-invalid,
form .form-switch .form-check-input.is-invalid.is-invalid:checked,
form .form-switch .form-check-input.is-invalid.is-invalid:focus,
form .form-switch .form-check-input.is-invalid:valid,
form .form-switch .form-check-input.is-invalid:valid:checked,
form .form-switch .form-check-input.is-invalid:valid:focus,
form .form-switch .form-check-input.is-invalid.is-valid,
form .form-switch .form-check-input.is-invalid.is-valid:checked,
form .form-switch .form-check-input.is-invalid.is-valid:focus,
form .form-switch .form-check-input.is-valid:invalid,
form .form-switch .form-check-input.is-valid:invalid:checked,
form .form-switch .form-check-input.is-valid:invalid:focus,
form .form-switch .form-check-input.is-valid.is-invalid,
form .form-switch .form-check-input.is-valid.is-invalid:checked,
form .form-switch .form-check-input.is-valid.is-invalid:focus,
form .form-switch .form-check-input.is-valid:valid,
form .form-switch .form-check-input.is-valid:valid:checked,
form .form-switch .form-check-input.is-valid:valid:focus,
form .form-switch .form-check-input.is-valid.is-valid,
form .form-switch .form-check-input.is-valid.is-valid:checked,
form .form-switch .form-check-input.is-valid.is-valid:focus {
  background-color: var(--bs-form-validation-border-color);
}
form.was-validated .input-group:has(:invalid),
form .input-group:has(.is-invalid), form.was-validated .input-group:has(:valid),
form .input-group:has(.is-valid) {
  box-shadow: 0 0 0 var(--bs-border-width) var(--bs-form-validation-border-color);
}
form.was-validated .input-group:has(:invalid) .input-group-text, form.was-validated .input-group:has(:invalid) .input-group-text:focus, form.was-validated .input-group:has(:invalid) .input-group-text:focus-within, form.was-validated .input-group:has(:invalid) .input-group-text.is-invalid, form.was-validated .input-group:has(:invalid) .input-group-text.is-valid,
form.was-validated .input-group:has(:invalid) .form-control ~ .input-group-text,
form.was-validated .input-group:has(:invalid) .form-control ~ .input-group-text:focus,
form.was-validated .input-group:has(:invalid) .form-control ~ .input-group-text:focus-within,
form.was-validated .input-group:has(:invalid) .form-control ~ .input-group-text.is-invalid,
form.was-validated .input-group:has(:invalid) .form-control ~ .input-group-text.is-valid,
form.was-validated .input-group:has(:invalid) .form-control,
form.was-validated .input-group:has(:invalid) .form-control:focus,
form.was-validated .input-group:has(:invalid) .form-control:focus-within,
form.was-validated .input-group:has(:invalid) .form-control.is-invalid,
form.was-validated .input-group:has(:invalid) .form-control.is-valid,
form.was-validated .input-group:has(:invalid) .form-control:hover,
form.was-validated .input-group:has(:invalid) .form-control:hover:focus,
form.was-validated .input-group:has(:invalid) .form-control:hover:focus-within,
form.was-validated .input-group:has(:invalid) .form-control:hover.is-invalid,
form.was-validated .input-group:has(:invalid) .form-control:hover.is-valid,
form.was-validated .input-group:has(:invalid) .form-select,
form.was-validated .input-group:has(:invalid) .form-select:focus,
form.was-validated .input-group:has(:invalid) .form-select:focus-within,
form.was-validated .input-group:has(:invalid) .form-select.is-invalid,
form.was-validated .input-group:has(:invalid) .form-select.is-valid,
form .input-group:has(.is-invalid) .input-group-text,
form .input-group:has(.is-invalid) .input-group-text:focus,
form .input-group:has(.is-invalid) .input-group-text:focus-within,
form .input-group:has(.is-invalid) .input-group-text.is-invalid,
form .input-group:has(.is-invalid) .input-group-text.is-valid,
form .input-group:has(.is-invalid) .form-control ~ .input-group-text,
form .input-group:has(.is-invalid) .form-control ~ .input-group-text:focus,
form .input-group:has(.is-invalid) .form-control ~ .input-group-text:focus-within,
form .input-group:has(.is-invalid) .form-control ~ .input-group-text.is-invalid,
form .input-group:has(.is-invalid) .form-control ~ .input-group-text.is-valid,
form .input-group:has(.is-invalid) .form-control,
form .input-group:has(.is-invalid) .form-control:focus,
form .input-group:has(.is-invalid) .form-control:focus-within,
form .input-group:has(.is-invalid) .form-control.is-invalid,
form .input-group:has(.is-invalid) .form-control.is-valid,
form .input-group:has(.is-invalid) .form-control:hover,
form .input-group:has(.is-invalid) .form-control:hover:focus,
form .input-group:has(.is-invalid) .form-control:hover:focus-within,
form .input-group:has(.is-invalid) .form-control:hover.is-invalid,
form .input-group:has(.is-invalid) .form-control:hover.is-valid,
form .input-group:has(.is-invalid) .form-select,
form .input-group:has(.is-invalid) .form-select:focus,
form .input-group:has(.is-invalid) .form-select:focus-within,
form .input-group:has(.is-invalid) .form-select.is-invalid,
form .input-group:has(.is-invalid) .form-select.is-valid, form.was-validated .input-group:has(:valid) .input-group-text, form.was-validated .input-group:has(:valid) .input-group-text:focus, form.was-validated .input-group:has(:valid) .input-group-text:focus-within, form.was-validated .input-group:has(:valid) .input-group-text.is-invalid, form.was-validated .input-group:has(:valid) .input-group-text.is-valid,
form.was-validated .input-group:has(:valid) .form-control ~ .input-group-text,
form.was-validated .input-group:has(:valid) .form-control ~ .input-group-text:focus,
form.was-validated .input-group:has(:valid) .form-control ~ .input-group-text:focus-within,
form.was-validated .input-group:has(:valid) .form-control ~ .input-group-text.is-invalid,
form.was-validated .input-group:has(:valid) .form-control ~ .input-group-text.is-valid,
form.was-validated .input-group:has(:valid) .form-control,
form.was-validated .input-group:has(:valid) .form-control:focus,
form.was-validated .input-group:has(:valid) .form-control:focus-within,
form.was-validated .input-group:has(:valid) .form-control.is-invalid,
form.was-validated .input-group:has(:valid) .form-control.is-valid,
form.was-validated .input-group:has(:valid) .form-control:hover,
form.was-validated .input-group:has(:valid) .form-control:hover:focus,
form.was-validated .input-group:has(:valid) .form-control:hover:focus-within,
form.was-validated .input-group:has(:valid) .form-control:hover.is-invalid,
form.was-validated .input-group:has(:valid) .form-control:hover.is-valid,
form.was-validated .input-group:has(:valid) .form-select,
form.was-validated .input-group:has(:valid) .form-select:focus,
form.was-validated .input-group:has(:valid) .form-select:focus-within,
form.was-validated .input-group:has(:valid) .form-select.is-invalid,
form.was-validated .input-group:has(:valid) .form-select.is-valid,
form .input-group:has(.is-valid) .input-group-text,
form .input-group:has(.is-valid) .input-group-text:focus,
form .input-group:has(.is-valid) .input-group-text:focus-within,
form .input-group:has(.is-valid) .input-group-text.is-invalid,
form .input-group:has(.is-valid) .input-group-text.is-valid,
form .input-group:has(.is-valid) .form-control ~ .input-group-text,
form .input-group:has(.is-valid) .form-control ~ .input-group-text:focus,
form .input-group:has(.is-valid) .form-control ~ .input-group-text:focus-within,
form .input-group:has(.is-valid) .form-control ~ .input-group-text.is-invalid,
form .input-group:has(.is-valid) .form-control ~ .input-group-text.is-valid,
form .input-group:has(.is-valid) .form-control,
form .input-group:has(.is-valid) .form-control:focus,
form .input-group:has(.is-valid) .form-control:focus-within,
form .input-group:has(.is-valid) .form-control.is-invalid,
form .input-group:has(.is-valid) .form-control.is-valid,
form .input-group:has(.is-valid) .form-control:hover,
form .input-group:has(.is-valid) .form-control:hover:focus,
form .input-group:has(.is-valid) .form-control:hover:focus-within,
form .input-group:has(.is-valid) .form-control:hover.is-invalid,
form .input-group:has(.is-valid) .form-control:hover.is-valid,
form .input-group:has(.is-valid) .form-select,
form .input-group:has(.is-valid) .form-select:focus,
form .input-group:has(.is-valid) .form-select:focus-within,
form .input-group:has(.is-valid) .form-select.is-invalid,
form .input-group:has(.is-valid) .form-select.is-valid {
  border-width: var(--bs-border-width);
  border-color: var(--bs-form-validation-border-color);
}
form.was-validated .input-group:has(:invalid)::before,
form .input-group:has(.is-invalid)::before, form.was-validated .input-group:has(:valid)::before,
form .input-group:has(.is-valid)::before {
  box-shadow: var(--bs-form-validation-shadow);
}
form.was-validated .input-group:has(:invalid) .flatpickr-wrapper .flatpickr-input, form.was-validated .input-group:has(:invalid) .flatpickr-wrapper .flatpickr-input:focus, form.was-validated .input-group:has(:invalid) .flatpickr-wrapper .flatpickr-input:focus-within, form.was-validated .input-group:has(:invalid) .flatpickr-wrapper .flatpickr-input.is-invalid, form.was-validated .input-group:has(:invalid) .flatpickr-wrapper .flatpickr-input.is-valid,
form .input-group:has(.is-invalid) .flatpickr-wrapper .flatpickr-input,
form .input-group:has(.is-invalid) .flatpickr-wrapper .flatpickr-input:focus,
form .input-group:has(.is-invalid) .flatpickr-wrapper .flatpickr-input:focus-within,
form .input-group:has(.is-invalid) .flatpickr-wrapper .flatpickr-input.is-invalid,
form .input-group:has(.is-invalid) .flatpickr-wrapper .flatpickr-input.is-valid, form.was-validated .input-group:has(:valid) .flatpickr-wrapper .flatpickr-input, form.was-validated .input-group:has(:valid) .flatpickr-wrapper .flatpickr-input:focus, form.was-validated .input-group:has(:valid) .flatpickr-wrapper .flatpickr-input:focus-within, form.was-validated .input-group:has(:valid) .flatpickr-wrapper .flatpickr-input.is-invalid, form.was-validated .input-group:has(:valid) .flatpickr-wrapper .flatpickr-input.is-valid,
form .input-group:has(.is-valid) .flatpickr-wrapper .flatpickr-input,
form .input-group:has(.is-valid) .flatpickr-wrapper .flatpickr-input:focus,
form .input-group:has(.is-valid) .flatpickr-wrapper .flatpickr-input:focus-within,
form .input-group:has(.is-valid) .flatpickr-wrapper .flatpickr-input.is-invalid,
form .input-group:has(.is-valid) .flatpickr-wrapper .flatpickr-input.is-valid {
  border-width: var(--bs-border-width);
  border-color: var(--bs-form-validation-border-color);
}
form.was-validated .input-group:has(:invalid) ~ .invalid-feedback,
form.was-validated .input-group:has(:invalid) ~ .invalid-tooltip,
form .input-group:has(.is-invalid) ~ .invalid-feedback,
form .input-group:has(.is-invalid) ~ .invalid-tooltip {
  display: block;
}
form.was-validated .input-group:has(:valid) ~ .valid-feedback,
form.was-validated .input-group:has(:valid) ~ .valid-tooltip,
form .input-group:has(.is-valid) ~ .valid-feedback,
form .input-group:has(.is-valid) ~ .valid-tooltip {
  display: block;
}
form.was-validated .tagify:has(+ input:invalid), form.was-validated .tagify:has(+ input:valid),
form .tagify:has(+ input.is-invalid),
form .tagify:has(+ input.valid) {
  padding: 0;
  border-width: 2px;
  box-shadow: var(--bs-form-validation-shadow);
}
form.was-validated .tagify:has(+ input:invalid), form.was-validated .tagify:has(+ input:invalid):hover, form.was-validated .tagify:has(+ input:invalid):focus, form.was-validated .tagify:has(+ input:valid), form.was-validated .tagify:has(+ input:valid):hover, form.was-validated .tagify:has(+ input:valid):focus,
form .tagify:has(+ input.is-invalid),
form .tagify:has(+ input.is-invalid):hover,
form .tagify:has(+ input.is-invalid):focus,
form .tagify:has(+ input.valid),
form .tagify:has(+ input.valid):hover,
form .tagify:has(+ input.valid):focus {
  border-color: var(--bs-form-validation-border-color) !important;
}
form .bootstrap-select .selectpicker.is-invalid + .dropdown-toggle, form.was-validated .bootstrap-select .selectpicker:invalid + .dropdown-toggle,
form .bootstrap-select .selectpicker.is-valid + .dropdown-toggle, form.was-validated .bootstrap-select .selectpicker:valid + .dropdown-toggle {
  border-width: 2px;
  border-color: var(--bs-form-validation-border-color);
  box-shadow: var(--bs-form-validation-shadow);
  padding-block: calc(0.426rem - 2px);
  padding-inline: calc(0.9375rem - var(--bs-border-width));
}
form .bootstrap-select .selectpicker.is-invalid + .dropdown-toggle::after, form.was-validated .bootstrap-select .selectpicker:invalid + .dropdown-toggle::after,
form .bootstrap-select .selectpicker.is-valid + .dropdown-toggle::after, form.was-validated .bootstrap-select .selectpicker:valid + .dropdown-toggle::after {
  inset-inline-end: calc(var(--bs-bootstrap-select-arrow-position) - var(--bs-border-width));
}
form .form-select.is-invalid ~ .select2-container.select2-container--default .select2-selection, form .form-select.is-invalid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection, form .form-select.is-invalid ~ .select2-container.select2-container--default.select2-container--open .select2-selection, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default .select2-selection, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default.select2-container--open .select2-selection,
form .form-select.is-valid ~ .select2-container.select2-container--default .select2-selection,
form .form-select.is-valid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection,
form .form-select.is-valid ~ .select2-container.select2-container--default.select2-container--open .select2-selection, form.was-validated .form-select:valid ~ .select2-container.select2-container--default .select2-selection, form.was-validated .form-select:valid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection, form.was-validated .form-select:valid ~ .select2-container.select2-container--default.select2-container--open .select2-selection {
  border-width: 2px;
  border-color: var(--bs-form-validation-border-color);
  box-shadow: var(--bs-form-validation-shadow);
}
form .form-select.is-invalid ~ .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered, form .form-select.is-invalid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--single .select2-selection__rendered, form .form-select.is-invalid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--single .select2-selection__rendered, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered,
form .form-select.is-valid ~ .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered,
form .form-select.is-valid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--single .select2-selection__rendered,
form .form-select.is-valid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered, form.was-validated .form-select:valid ~ .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered, form.was-validated .form-select:valid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--single .select2-selection__rendered, form.was-validated .form-select:valid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered {
  line-height: calc(var(--bs-select-height) - 4px);
  padding-inline-end: calc(2.625rem - var(--bs-select-border-width));
  padding-inline-start: calc(0.9375rem - var(--bs-select-border-width));
}
form .form-select.is-invalid ~ .select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered, form .form-select.is-invalid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--multiple .select2-selection__rendered, form .form-select.is-invalid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--multiple .select2-selection__rendered, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--multiple .select2-selection__rendered, form.was-validated .form-select:invalid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--multiple .select2-selection__rendered,
form .form-select.is-valid ~ .select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered,
form .form-select.is-valid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--multiple .select2-selection__rendered,
form .form-select.is-valid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--multiple .select2-selection__rendered, form.was-validated .form-select:valid ~ .select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered, form.was-validated .form-select:valid ~ .select2-container.select2-container--default.select2-container--focus .select2-selection--multiple .select2-selection__rendered, form.was-validated .form-select:valid ~ .select2-container.select2-container--default.select2-container--open .select2-selection--multiple .select2-selection__rendered {
  padding-block: calc(var(--bs-select-multiple-padding-y) - var(--bs-select-border-width));
  padding-inline-start: calc(var(--bs-select-multiple-padding-x) - var(--bs-select-border-width));
}

.btn {
  --bs-btn-box-shadow-rgb: transparent;
  --bs-btn-focus-shadow-rgb: transparent;
  --bs-btn-active-shadow-rgb: transparent;
  --bs-btn-box-shadow: 0 .125rem .375rem rgba(var(--bs-btn-box-shadow-rgb), .3);
  --bs-btn-focus-box-shadow: 0 .125rem .375rem rgba(var(--bs-btn-focus-shadow-rgb), .3);
  --bs-btn-active-border-color: transparent;
  --bs-btn-active-shadow: 0 .125rem .375rem rgba(var(--bs-btn-active-shadow-rgb), .3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--bs-btn-box-shadow);
  /* Table Action Dropdown fix */
  /* Buttons Variant */
  /* Label */
  /* Outline */
  /* Text */
}
.btn-group .btn, .input-group .btn {
  border-inline-end: var(--bs-border-width) solid var(--bs-btn-group-border-color);
  border-inline-start: var(--bs-border-width) solid var(--bs-btn-group-border-color);
}
.btn-group-vertical .btn {
  border-block-end: var(--bs-border-width) solid var(--bs-btn-group-border-color);
  border-block-start: var(--bs-border-width) solid var(--bs-btn-group-border-color);
}
.btn.waves-effect:not(.waves-light) .waves-ripple {
  background: radial-gradient(rgba(var(--bs-btn-waves-effect-color), 0.2) 0, rgba(var(--bs-btn-waves-effect-color), 0.3) 40%, rgba(var(--bs-btn-waves-effect-color), 0.4) 50%, rgba(var(--bs-btn-waves-effect-color), 0.5) 60%, rgba(var(--bs-white-rgb), 0) 70%);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active:not([class*=btn-label-]), .btn:first-child:active:not([class*=btn-label-]), .btn.active:not([class*=btn-label-]), .btn.show {
  box-shadow: var(--bs-btn-active-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  box-shadow: none;
}
.btn:focus {
  --bs-btn-color: var(--bs-btn-active-color);
  --bs-btn-bg: var(--bs-btn-active-bg);
}
.btn:not([class*=btn-]):active, .btn:not([class*=btn-]).active, .btn:not([class*=btn-]).show, .btn:not([class*=btn-]) {
  --bs-btn-border-width: 0;
}
.btn[class*=btn-label-] {
  --bs-btn-box-shadow: none;
}
.btn[class*=btn-label-]:focus {
  --bs-btn-color: var(--bs-btn-active-color);
  --bs-btn-bg: var(--bs-btn-active-bg);
}
.btn[class*=btn-label-]:focus-visible {
  --bs-btn-focus-box-shadow: none;
  --bs-btn-active-box-shadow: none;
}
.btn[class*=btn-label-].show {
  --bs-btn-active-shadow: none;
}
.btn[class*=btn-outline-] {
  --bs-btn-box-shadow: none;
  --bs-btn-focus-box-shadow: none;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-bg: transparent;
}
.btn[class*=btn-outline-]:not(:focus) {
  --bs-btn-bg: transparent;
}
.btn[class*=btn-outline-] .badge {
  --bs-badge-bg-color: var(--bs-btn-hover-bg);
  --bs-badge-color: var(--bs-btn-hover-color);
}
.btn[class*=btn-outline-]:hover .badge:not([class*=badge-outline]), .btn[class*=btn-outline-]:focus:hover .badge:not([class*=badge-outline]), .btn[class*=btn-outline-]:focus:not(:hover) .badge:not([class*=badge-outline]), .btn[class*=btn-outline-]:active .badge:not([class*=badge-outline]), .btn[class*=btn-outline-].active .badge:not([class*=badge-outline]), .show > .btn[class*=btn-outline-].dropdown-toggle .badge:not([class*=badge-outline]) {
  --bs-badge-bg-color: var(--bs-btn-hover-color);
  --bs-badge-color: var(--bs-btn-badge-color);
}
.btn.btn-white {
  --bs-btn-bg: var(--bs-white);
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: var(--bs-white);
  --bs-btn-hover-color: var(--bs-black);
  --bs-btn-hover-bg: var(--bs-btn-bg);
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--bs-btn-hover-bg);
  --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
  --bs-btn-box-shadow-rgb: var(--bs-white-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-btn-box-shadow-rgb);
}
.btn[class*=btn-text-] {
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-box-shadow: none;
  --bs-btn-focus-box-shadow: none;
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: transparent;
}
.btn[class*=btn-]:active:not([class*=btn-text]):not(.dropdown-toggle), .btn[class*=btn-].active:not([class*=btn-text]):not(.dropdown-toggle) {
  transform: scale(0.98);
  transition: all 0.135s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn[class*=btn-]:active:not([class*=btn-text]):not(.dropdown-toggle), .btn[class*=btn-].active:not([class*=btn-text]):not(.dropdown-toggle) {
    transition: none;
  }
}
.btn:not(.dropdown-toggle):not([class*=btn-text-]) {
  transform: scale(1.001);
  transition: all 0.135s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn:not(.dropdown-toggle):not([class*=btn-text-]) {
    transition: none;
  }
}

/* Badge within button */
.btn .badge {
  transition: all 0.2s ease-in-out;
  inset-block-start: 0;
}
@media (prefers-reduced-motion: reduce) {
  .btn .badge {
    transition: none;
  }
}

label.btn {
  margin-block-end: 0;
}

/* Button Sizes */
.btn-xl, .btn-group-xl > .btn {
  --bs-btn-padding-y: 0.809rem;
  --bs-btn-padding-x: 1.75rem;
  --bs-btn-font-size: 1.1875rem;
  --bs-btn-border-radius: 0.625rem;
}

.btn-sm, .btn-group-sm > .btn {
  line-height: 1.375;
}

.btn-xs, .btn-group-xs > .btn {
  --bs-btn-padding-y: 0.153rem;
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-font-size: 0.6875rem;
  --bs-btn-border-radius: 0.125rem;
}

/* Icon button */
.btn-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0;
  block-size: calc(2.2514625rem + calc(var(--bs-border-width) * 2));
  font-size: 1.2890625rem;
  inline-size: calc(2.2514625rem + calc(var(--bs-border-width) * 2));
}
.btn-icon .icon-base {
  block-size: 1.2890625rem;
  font-size: 1.2890625rem;
  inline-size: 1.2890625rem;
}
.btn-icon.btn-xl, .btn-group-xl > .btn-icon.btn {
  block-size: calc(3.2508125rem + calc(var(--bs-border-width) * 2));
  inline-size: calc(3.2508125rem + calc(var(--bs-border-width) * 2));
}
.btn-icon.btn-xl .icon-base, .btn-group-xl > .btn-icon.btn .icon-base {
  block-size: 1.6328125rem;
  font-size: 1.6328125rem;
  inline-size: 1.6328125rem;
}
.btn-icon.btn-lg, .btn-group-lg > .btn-icon.btn {
  block-size: calc(2.8769375rem + calc(var(--bs-border-width) * 2));
  font-size: 1.4609375rem;
  inline-size: calc(2.8769375rem + calc(var(--bs-border-width) * 2));
}
.btn-icon.btn-lg .icon-base, .btn-group-lg > .btn-icon.btn .icon-base {
  block-size: 1.4609375rem;
  font-size: 1.4609375rem;
  inline-size: 1.4609375rem;
}
.btn-icon.btn-sm, .btn-group-sm > .btn-icon.btn {
  block-size: calc(1.7511875rem + calc(var(--bs-border-width) * 2));
  font-size: 0.8125rem;
  inline-size: calc(1.7511875rem + calc(var(--bs-border-width) * 2));
}
.btn-icon.btn-sm .icon-base, .btn-group-sm > .btn-icon.btn .icon-base {
  block-size: 0.8125rem;
  font-size: 0.8125rem;
  inline-size: 0.8125rem;
}
.btn-icon.btn-xs, .btn-group-xs > .btn-icon.btn {
  block-size: calc(1.2513125rem + calc(var(--bs-border-width) * 2));
  font-size: 0.6875rem;
  inline-size: calc(1.2513125rem + calc(var(--bs-border-width) * 2));
}
.btn-icon.btn-xs .icon-base, .btn-group-xs > .btn-icon.btn .icon-base {
  block-size: 0.6875rem;
  font-size: 0.6875rem;
  inline-size: 0.6875rem;
}

/* Link buttons */
.btn.btn-link {
  font-size: inherit;
}

.btn-pinned {
  position: absolute;
  inset-block-start: 1.25rem;
  inset-inline-end: 1.23rem;
}

/* Button focus */
button:focus,
button:focus-visible {
  outline: 0;
}

/* Generate contextual modifier classes for colorizing the button */
/* The $custom-theme-colors variable is used to ensure that the colors for the social buttons
 come from a separate array. To achieve this, both the $custom-colors and $theme-colors
 arrays are merged in the _color.scss file. */
/* Default */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-color: var(--bs-primary-contrast);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-primary-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-primary-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-disabled-color: var(--bs-primary-contrast);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-primary));
  --bs-btn-waves-effect-color: var(--bs-primary-rgb);
}

/* Label */
.btn-label-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-primary);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-primary);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-primary));
  --bs-btn-waves-effect-color: var(--bs-primary-rgb);
}

/* Outline */
.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-badge-color: var(--bs-primary-contrast);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-primary);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-primary);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-btn-group-border-color: var(--bs-primary);
  --bs-btn-waves-effect-color: var(--bs-primary-rgb);
}

/* Text */
.btn-text-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-primary);
  --bs-btn-active-color: var(--bs-primary);
  --bs-btn-group-border-color: var(--bs-primary);
  --bs-btn-waves-effect-color: var(--bs-primary-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-primary);
}

/* Default */
.btn-secondary {
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-color: var(--bs-secondary-contrast);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: var(--bs-secondary-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-secondary-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-disabled-color: var(--bs-secondary-contrast);
  --bs-btn-disabled-bg: var(--bs-secondary);
  --bs-btn-disabled-border-color: var(--bs-secondary);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-secondary));
  --bs-btn-waves-effect-color: var(--bs-secondary-rgb);
}

/* Label */
.btn-label-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-secondary));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-secondary);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-secondary);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-secondary));
  --bs-btn-waves-effect-color: var(--bs-secondary-rgb);
}

/* Outline */
.btn-outline-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-badge-color: var(--bs-secondary-contrast);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: var(--bs-secondary);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-secondary);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-secondary);
  --bs-btn-disabled-border-color: var(--bs-secondary);
  --bs-btn-group-border-color: var(--bs-secondary);
  --bs-btn-waves-effect-color: var(--bs-secondary-rgb);
}

/* Text */
.btn-text-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-hover-color: var(--bs-secondary);
  --bs-btn-active-color: var(--bs-secondary);
  --bs-btn-group-border-color: var(--bs-secondary);
  --bs-btn-waves-effect-color: var(--bs-secondary-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-secondary);
}

/* Default */
.btn-success {
  --bs-btn-bg: var(--bs-success);
  --bs-btn-color: var(--bs-success-contrast);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: var(--bs-success-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-success-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-disabled-color: var(--bs-success-contrast);
  --bs-btn-disabled-bg: var(--bs-success);
  --bs-btn-disabled-border-color: var(--bs-success);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-success));
  --bs-btn-waves-effect-color: var(--bs-success-rgb);
}

/* Label */
.btn-label-success {
  --bs-btn-color: var(--bs-success);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-success));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-success);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-success);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-success));
  --bs-btn-waves-effect-color: var(--bs-success-rgb);
}

/* Outline */
.btn-outline-success {
  --bs-btn-color: var(--bs-success);
  --bs-btn-badge-color: var(--bs-success-contrast);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: var(--bs-success);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-success);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-success);
  --bs-btn-disabled-border-color: var(--bs-success);
  --bs-btn-group-border-color: var(--bs-success);
  --bs-btn-waves-effect-color: var(--bs-success-rgb);
}

/* Text */
.btn-text-success {
  --bs-btn-color: var(--bs-success);
  --bs-btn-hover-color: var(--bs-success);
  --bs-btn-active-color: var(--bs-success);
  --bs-btn-group-border-color: var(--bs-success);
  --bs-btn-waves-effect-color: var(--bs-success-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-success);
}

/* Default */
.btn-info {
  --bs-btn-bg: var(--bs-info);
  --bs-btn-color: var(--bs-info-contrast);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: var(--bs-info-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-info-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-disabled-color: var(--bs-info-contrast);
  --bs-btn-disabled-bg: var(--bs-info);
  --bs-btn-disabled-border-color: var(--bs-info);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-info));
  --bs-btn-waves-effect-color: var(--bs-info-rgb);
}

/* Label */
.btn-label-info {
  --bs-btn-color: var(--bs-info);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-info));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-info);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-info);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-info));
  --bs-btn-waves-effect-color: var(--bs-info-rgb);
}

/* Outline */
.btn-outline-info {
  --bs-btn-color: var(--bs-info);
  --bs-btn-badge-color: var(--bs-info-contrast);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: var(--bs-info);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-info);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-info);
  --bs-btn-disabled-border-color: var(--bs-info);
  --bs-btn-group-border-color: var(--bs-info);
  --bs-btn-waves-effect-color: var(--bs-info-rgb);
}

/* Text */
.btn-text-info {
  --bs-btn-color: var(--bs-info);
  --bs-btn-hover-color: var(--bs-info);
  --bs-btn-active-color: var(--bs-info);
  --bs-btn-group-border-color: var(--bs-info);
  --bs-btn-waves-effect-color: var(--bs-info-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-info);
}

/* Default */
.btn-warning {
  --bs-btn-bg: var(--bs-warning);
  --bs-btn-color: var(--bs-warning-contrast);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: var(--bs-warning-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-warning-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-disabled-color: var(--bs-warning-contrast);
  --bs-btn-disabled-bg: var(--bs-warning);
  --bs-btn-disabled-border-color: var(--bs-warning);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-warning));
  --bs-btn-waves-effect-color: var(--bs-warning-rgb);
}

/* Label */
.btn-label-warning {
  --bs-btn-color: var(--bs-warning);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-warning));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-warning);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-warning);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-warning));
  --bs-btn-waves-effect-color: var(--bs-warning-rgb);
}

/* Outline */
.btn-outline-warning {
  --bs-btn-color: var(--bs-warning);
  --bs-btn-badge-color: var(--bs-warning-contrast);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: var(--bs-warning);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-warning);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-warning);
  --bs-btn-disabled-border-color: var(--bs-warning);
  --bs-btn-group-border-color: var(--bs-warning);
  --bs-btn-waves-effect-color: var(--bs-warning-rgb);
}

/* Text */
.btn-text-warning {
  --bs-btn-color: var(--bs-warning);
  --bs-btn-hover-color: var(--bs-warning);
  --bs-btn-active-color: var(--bs-warning);
  --bs-btn-group-border-color: var(--bs-warning);
  --bs-btn-waves-effect-color: var(--bs-warning-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-warning);
}

/* Default */
.btn-danger {
  --bs-btn-bg: var(--bs-danger);
  --bs-btn-color: var(--bs-danger-contrast);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: var(--bs-danger-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-danger-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-disabled-color: var(--bs-danger-contrast);
  --bs-btn-disabled-bg: var(--bs-danger);
  --bs-btn-disabled-border-color: var(--bs-danger);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-danger));
  --bs-btn-waves-effect-color: var(--bs-danger-rgb);
}

/* Label */
.btn-label-danger {
  --bs-btn-color: var(--bs-danger);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-danger));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-danger);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-danger);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-danger));
  --bs-btn-waves-effect-color: var(--bs-danger-rgb);
}

/* Outline */
.btn-outline-danger {
  --bs-btn-color: var(--bs-danger);
  --bs-btn-badge-color: var(--bs-danger-contrast);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: var(--bs-danger);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-danger);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-danger);
  --bs-btn-disabled-border-color: var(--bs-danger);
  --bs-btn-group-border-color: var(--bs-danger);
  --bs-btn-waves-effect-color: var(--bs-danger-rgb);
}

/* Text */
.btn-text-danger {
  --bs-btn-color: var(--bs-danger);
  --bs-btn-hover-color: var(--bs-danger);
  --bs-btn-active-color: var(--bs-danger);
  --bs-btn-group-border-color: var(--bs-danger);
  --bs-btn-waves-effect-color: var(--bs-danger-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-danger);
}

/* Default */
.btn-light {
  --bs-btn-bg: var(--bs-light);
  --bs-btn-color: var(--bs-light-contrast);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-color: var(--bs-light-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-light));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-light-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-disabled-color: var(--bs-light-contrast);
  --bs-btn-disabled-bg: var(--bs-light);
  --bs-btn-disabled-border-color: var(--bs-light);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-light));
  --bs-btn-waves-effect-color: var(--bs-light-rgb);
}

/* Label */
.btn-label-light {
  --bs-btn-color: var(--bs-light);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-light));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-light);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-light));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-light);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-light));
  --bs-btn-waves-effect-color: var(--bs-light-rgb);
}

/* Outline */
.btn-outline-light {
  --bs-btn-color: var(--bs-light);
  --bs-btn-badge-color: var(--bs-light-contrast);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-color: var(--bs-light);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-light));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-light);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-light);
  --bs-btn-disabled-border-color: var(--bs-light);
  --bs-btn-group-border-color: var(--bs-light);
  --bs-btn-waves-effect-color: var(--bs-light-rgb);
}

/* Text */
.btn-text-light {
  --bs-btn-color: var(--bs-light);
  --bs-btn-hover-color: var(--bs-light);
  --bs-btn-active-color: var(--bs-light);
  --bs-btn-group-border-color: var(--bs-light);
  --bs-btn-waves-effect-color: var(--bs-light-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-light));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-light);
}

/* Default */
.btn-dark {
  --bs-btn-bg: var(--bs-dark);
  --bs-btn-color: var(--bs-dark-contrast);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-color: var(--bs-dark-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-dark-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-disabled-color: var(--bs-dark-contrast);
  --bs-btn-disabled-bg: var(--bs-dark);
  --bs-btn-disabled-border-color: var(--bs-dark);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-dark));
  --bs-btn-waves-effect-color: var(--bs-dark-rgb);
}

/* Label */
.btn-label-dark {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-dark));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-dark));
  --bs-btn-waves-effect-color: var(--bs-dark-rgb);
}

/* Outline */
.btn-outline-dark {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-badge-color: var(--bs-dark-contrast);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-dark);
  --bs-btn-disabled-border-color: var(--bs-dark);
  --bs-btn-group-border-color: var(--bs-dark);
  --bs-btn-waves-effect-color: var(--bs-dark-rgb);
}

/* Text */
.btn-text-dark {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-group-border-color: var(--bs-dark);
  --bs-btn-waves-effect-color: var(--bs-dark-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-dark);
}

/* Default */
.btn-gray {
  --bs-btn-bg: var(--bs-gray);
  --bs-btn-color: var(--bs-gray-contrast);
  --bs-btn-border-color: var(--bs-gray);
  --bs-btn-hover-color: var(--bs-gray-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-gray));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-gray-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-gray));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-gray-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-gray-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-gray-rgb);
  --bs-btn-disabled-color: var(--bs-gray-contrast);
  --bs-btn-disabled-bg: var(--bs-gray);
  --bs-btn-disabled-border-color: var(--bs-gray);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-gray));
  --bs-btn-waves-effect-color: var(--bs-gray-rgb);
}

/* Label */
.btn-label-gray {
  --bs-btn-color: var(--bs-gray);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-gray));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-gray);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-gray));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-gray);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-gray));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-gray-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-gray-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-gray));
  --bs-btn-waves-effect-color: var(--bs-gray-rgb);
}

/* Outline */
.btn-outline-gray {
  --bs-btn-color: var(--bs-gray);
  --bs-btn-badge-color: var(--bs-gray-contrast);
  --bs-btn-border-color: var(--bs-gray);
  --bs-btn-hover-color: var(--bs-gray);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-gray));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-gray);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-gray));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-gray);
  --bs-btn-disabled-border-color: var(--bs-gray);
  --bs-btn-group-border-color: var(--bs-gray);
  --bs-btn-waves-effect-color: var(--bs-gray-rgb);
}

/* Text */
.btn-text-gray {
  --bs-btn-color: var(--bs-gray);
  --bs-btn-hover-color: var(--bs-gray);
  --bs-btn-active-color: var(--bs-gray);
  --bs-btn-group-border-color: var(--bs-gray);
  --bs-btn-waves-effect-color: var(--bs-gray-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-gray));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-gray));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-gray);
}

/* Default */
.btn-facebook {
  --bs-btn-bg: var(--bs-facebook);
  --bs-btn-color: var(--bs-facebook-contrast);
  --bs-btn-border-color: var(--bs-facebook);
  --bs-btn-hover-color: var(--bs-facebook-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-facebook));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-facebook-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-facebook));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-facebook-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-facebook-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-facebook-rgb);
  --bs-btn-disabled-color: var(--bs-facebook-contrast);
  --bs-btn-disabled-bg: var(--bs-facebook);
  --bs-btn-disabled-border-color: var(--bs-facebook);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-facebook));
  --bs-btn-waves-effect-color: var(--bs-facebook-rgb);
}

/* Label */
.btn-label-facebook {
  --bs-btn-color: var(--bs-facebook);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-facebook));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-facebook);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-facebook));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-facebook);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-facebook));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-facebook-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-facebook-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-facebook));
  --bs-btn-waves-effect-color: var(--bs-facebook-rgb);
}

/* Outline */
.btn-outline-facebook {
  --bs-btn-color: var(--bs-facebook);
  --bs-btn-badge-color: var(--bs-facebook-contrast);
  --bs-btn-border-color: var(--bs-facebook);
  --bs-btn-hover-color: var(--bs-facebook);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-facebook));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-facebook);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-facebook));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-facebook);
  --bs-btn-disabled-border-color: var(--bs-facebook);
  --bs-btn-group-border-color: var(--bs-facebook);
  --bs-btn-waves-effect-color: var(--bs-facebook-rgb);
}

/* Text */
.btn-text-facebook {
  --bs-btn-color: var(--bs-facebook);
  --bs-btn-hover-color: var(--bs-facebook);
  --bs-btn-active-color: var(--bs-facebook);
  --bs-btn-group-border-color: var(--bs-facebook);
  --bs-btn-waves-effect-color: var(--bs-facebook-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-facebook));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-facebook));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-facebook);
}

/* Default */
.btn-twitter {
  --bs-btn-bg: var(--bs-twitter);
  --bs-btn-color: var(--bs-twitter-contrast);
  --bs-btn-border-color: var(--bs-twitter);
  --bs-btn-hover-color: var(--bs-twitter-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-twitter));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-twitter-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-twitter));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-twitter-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-twitter-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-twitter-rgb);
  --bs-btn-disabled-color: var(--bs-twitter-contrast);
  --bs-btn-disabled-bg: var(--bs-twitter);
  --bs-btn-disabled-border-color: var(--bs-twitter);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-twitter));
  --bs-btn-waves-effect-color: var(--bs-twitter-rgb);
}

/* Label */
.btn-label-twitter {
  --bs-btn-color: var(--bs-twitter);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-twitter));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-twitter);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-twitter));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-twitter);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-twitter));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-twitter-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-twitter-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-twitter));
  --bs-btn-waves-effect-color: var(--bs-twitter-rgb);
}

/* Outline */
.btn-outline-twitter {
  --bs-btn-color: var(--bs-twitter);
  --bs-btn-badge-color: var(--bs-twitter-contrast);
  --bs-btn-border-color: var(--bs-twitter);
  --bs-btn-hover-color: var(--bs-twitter);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-twitter));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-twitter);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-twitter));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-twitter);
  --bs-btn-disabled-border-color: var(--bs-twitter);
  --bs-btn-group-border-color: var(--bs-twitter);
  --bs-btn-waves-effect-color: var(--bs-twitter-rgb);
}

/* Text */
.btn-text-twitter {
  --bs-btn-color: var(--bs-twitter);
  --bs-btn-hover-color: var(--bs-twitter);
  --bs-btn-active-color: var(--bs-twitter);
  --bs-btn-group-border-color: var(--bs-twitter);
  --bs-btn-waves-effect-color: var(--bs-twitter-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-twitter));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-twitter));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-twitter);
}

/* Default */
.btn-google-plus {
  --bs-btn-bg: var(--bs-google-plus);
  --bs-btn-color: var(--bs-google-plus-contrast);
  --bs-btn-border-color: var(--bs-google-plus);
  --bs-btn-hover-color: var(--bs-google-plus-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-google-plus));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-google-plus-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-google-plus));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-google-plus-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-google-plus-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-google-plus-rgb);
  --bs-btn-disabled-color: var(--bs-google-plus-contrast);
  --bs-btn-disabled-bg: var(--bs-google-plus);
  --bs-btn-disabled-border-color: var(--bs-google-plus);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-google-plus));
  --bs-btn-waves-effect-color: var(--bs-google-plus-rgb);
}

/* Label */
.btn-label-google-plus {
  --bs-btn-color: var(--bs-google-plus);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-google-plus));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-google-plus);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-google-plus));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-google-plus);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-google-plus));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-google-plus-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-google-plus-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-google-plus));
  --bs-btn-waves-effect-color: var(--bs-google-plus-rgb);
}

/* Outline */
.btn-outline-google-plus {
  --bs-btn-color: var(--bs-google-plus);
  --bs-btn-badge-color: var(--bs-google-plus-contrast);
  --bs-btn-border-color: var(--bs-google-plus);
  --bs-btn-hover-color: var(--bs-google-plus);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-google-plus));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-google-plus);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-google-plus));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-google-plus);
  --bs-btn-disabled-border-color: var(--bs-google-plus);
  --bs-btn-group-border-color: var(--bs-google-plus);
  --bs-btn-waves-effect-color: var(--bs-google-plus-rgb);
}

/* Text */
.btn-text-google-plus {
  --bs-btn-color: var(--bs-google-plus);
  --bs-btn-hover-color: var(--bs-google-plus);
  --bs-btn-active-color: var(--bs-google-plus);
  --bs-btn-group-border-color: var(--bs-google-plus);
  --bs-btn-waves-effect-color: var(--bs-google-plus-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-google-plus));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-google-plus));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-google-plus);
}

/* Default */
.btn-instagram {
  --bs-btn-bg: var(--bs-instagram);
  --bs-btn-color: var(--bs-instagram-contrast);
  --bs-btn-border-color: var(--bs-instagram);
  --bs-btn-hover-color: var(--bs-instagram-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-instagram));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-instagram-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-instagram));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-instagram-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-instagram-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-instagram-rgb);
  --bs-btn-disabled-color: var(--bs-instagram-contrast);
  --bs-btn-disabled-bg: var(--bs-instagram);
  --bs-btn-disabled-border-color: var(--bs-instagram);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-instagram));
  --bs-btn-waves-effect-color: var(--bs-instagram-rgb);
}

/* Label */
.btn-label-instagram {
  --bs-btn-color: var(--bs-instagram);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-instagram));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-instagram);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-instagram));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-instagram);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-instagram));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-instagram-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-instagram-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-instagram));
  --bs-btn-waves-effect-color: var(--bs-instagram-rgb);
}

/* Outline */
.btn-outline-instagram {
  --bs-btn-color: var(--bs-instagram);
  --bs-btn-badge-color: var(--bs-instagram-contrast);
  --bs-btn-border-color: var(--bs-instagram);
  --bs-btn-hover-color: var(--bs-instagram);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-instagram));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-instagram);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-instagram));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-instagram);
  --bs-btn-disabled-border-color: var(--bs-instagram);
  --bs-btn-group-border-color: var(--bs-instagram);
  --bs-btn-waves-effect-color: var(--bs-instagram-rgb);
}

/* Text */
.btn-text-instagram {
  --bs-btn-color: var(--bs-instagram);
  --bs-btn-hover-color: var(--bs-instagram);
  --bs-btn-active-color: var(--bs-instagram);
  --bs-btn-group-border-color: var(--bs-instagram);
  --bs-btn-waves-effect-color: var(--bs-instagram-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-instagram));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-instagram));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-instagram);
}

/* Default */
.btn-linkedin {
  --bs-btn-bg: var(--bs-linkedin);
  --bs-btn-color: var(--bs-linkedin-contrast);
  --bs-btn-border-color: var(--bs-linkedin);
  --bs-btn-hover-color: var(--bs-linkedin-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-linkedin));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-linkedin-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-linkedin));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-linkedin-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-linkedin-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-linkedin-rgb);
  --bs-btn-disabled-color: var(--bs-linkedin-contrast);
  --bs-btn-disabled-bg: var(--bs-linkedin);
  --bs-btn-disabled-border-color: var(--bs-linkedin);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-linkedin));
  --bs-btn-waves-effect-color: var(--bs-linkedin-rgb);
}

/* Label */
.btn-label-linkedin {
  --bs-btn-color: var(--bs-linkedin);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-linkedin));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-linkedin);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-linkedin));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-linkedin);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-linkedin));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-linkedin-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-linkedin-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-linkedin));
  --bs-btn-waves-effect-color: var(--bs-linkedin-rgb);
}

/* Outline */
.btn-outline-linkedin {
  --bs-btn-color: var(--bs-linkedin);
  --bs-btn-badge-color: var(--bs-linkedin-contrast);
  --bs-btn-border-color: var(--bs-linkedin);
  --bs-btn-hover-color: var(--bs-linkedin);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-linkedin));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-linkedin);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-linkedin));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-linkedin);
  --bs-btn-disabled-border-color: var(--bs-linkedin);
  --bs-btn-group-border-color: var(--bs-linkedin);
  --bs-btn-waves-effect-color: var(--bs-linkedin-rgb);
}

/* Text */
.btn-text-linkedin {
  --bs-btn-color: var(--bs-linkedin);
  --bs-btn-hover-color: var(--bs-linkedin);
  --bs-btn-active-color: var(--bs-linkedin);
  --bs-btn-group-border-color: var(--bs-linkedin);
  --bs-btn-waves-effect-color: var(--bs-linkedin-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-linkedin));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-linkedin));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-linkedin);
}

/* Default */
.btn-github {
  --bs-btn-bg: var(--bs-github);
  --bs-btn-color: var(--bs-github-contrast);
  --bs-btn-border-color: var(--bs-github);
  --bs-btn-hover-color: var(--bs-github-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-github));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-github-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-github));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-github-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-github-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-github-rgb);
  --bs-btn-disabled-color: var(--bs-github-contrast);
  --bs-btn-disabled-bg: var(--bs-github);
  --bs-btn-disabled-border-color: var(--bs-github);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-github));
  --bs-btn-waves-effect-color: var(--bs-github-rgb);
}

/* Label */
.btn-label-github {
  --bs-btn-color: var(--bs-github);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-github));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-github);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-github));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-github);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-github));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-github-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-github-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-github));
  --bs-btn-waves-effect-color: var(--bs-github-rgb);
}

/* Outline */
.btn-outline-github {
  --bs-btn-color: var(--bs-github);
  --bs-btn-badge-color: var(--bs-github-contrast);
  --bs-btn-border-color: var(--bs-github);
  --bs-btn-hover-color: var(--bs-github);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-github));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-github);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-github));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-github);
  --bs-btn-disabled-border-color: var(--bs-github);
  --bs-btn-group-border-color: var(--bs-github);
  --bs-btn-waves-effect-color: var(--bs-github-rgb);
}

/* Text */
.btn-text-github {
  --bs-btn-color: var(--bs-github);
  --bs-btn-hover-color: var(--bs-github);
  --bs-btn-active-color: var(--bs-github);
  --bs-btn-group-border-color: var(--bs-github);
  --bs-btn-waves-effect-color: var(--bs-github-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-github));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-github));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-github);
}

/* Default */
.btn-dribbble {
  --bs-btn-bg: var(--bs-dribbble);
  --bs-btn-color: var(--bs-dribbble-contrast);
  --bs-btn-border-color: var(--bs-dribbble);
  --bs-btn-hover-color: var(--bs-dribbble-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-dribbble));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-dribbble-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-dribbble));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-dribbble-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-dribbble-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-dribbble-rgb);
  --bs-btn-disabled-color: var(--bs-dribbble-contrast);
  --bs-btn-disabled-bg: var(--bs-dribbble);
  --bs-btn-disabled-border-color: var(--bs-dribbble);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-dribbble));
  --bs-btn-waves-effect-color: var(--bs-dribbble-rgb);
}

/* Label */
.btn-label-dribbble {
  --bs-btn-color: var(--bs-dribbble);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-dribbble));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-dribbble);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-dribbble));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-dribbble);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-dribbble));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-dribbble-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-dribbble-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-dribbble));
  --bs-btn-waves-effect-color: var(--bs-dribbble-rgb);
}

/* Outline */
.btn-outline-dribbble {
  --bs-btn-color: var(--bs-dribbble);
  --bs-btn-badge-color: var(--bs-dribbble-contrast);
  --bs-btn-border-color: var(--bs-dribbble);
  --bs-btn-hover-color: var(--bs-dribbble);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dribbble));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-dribbble);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dribbble));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-dribbble);
  --bs-btn-disabled-border-color: var(--bs-dribbble);
  --bs-btn-group-border-color: var(--bs-dribbble);
  --bs-btn-waves-effect-color: var(--bs-dribbble-rgb);
}

/* Text */
.btn-text-dribbble {
  --bs-btn-color: var(--bs-dribbble);
  --bs-btn-hover-color: var(--bs-dribbble);
  --bs-btn-active-color: var(--bs-dribbble);
  --bs-btn-group-border-color: var(--bs-dribbble);
  --bs-btn-waves-effect-color: var(--bs-dribbble-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dribbble));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-dribbble));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-dribbble);
}

/* Default */
.btn-pinterest {
  --bs-btn-bg: var(--bs-pinterest);
  --bs-btn-color: var(--bs-pinterest-contrast);
  --bs-btn-border-color: var(--bs-pinterest);
  --bs-btn-hover-color: var(--bs-pinterest-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-pinterest));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-pinterest-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-pinterest));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-pinterest-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-pinterest-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-pinterest-rgb);
  --bs-btn-disabled-color: var(--bs-pinterest-contrast);
  --bs-btn-disabled-bg: var(--bs-pinterest);
  --bs-btn-disabled-border-color: var(--bs-pinterest);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-pinterest));
  --bs-btn-waves-effect-color: var(--bs-pinterest-rgb);
}

/* Label */
.btn-label-pinterest {
  --bs-btn-color: var(--bs-pinterest);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-pinterest));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-pinterest);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-pinterest));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-pinterest);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-pinterest));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-pinterest-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-pinterest-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-pinterest));
  --bs-btn-waves-effect-color: var(--bs-pinterest-rgb);
}

/* Outline */
.btn-outline-pinterest {
  --bs-btn-color: var(--bs-pinterest);
  --bs-btn-badge-color: var(--bs-pinterest-contrast);
  --bs-btn-border-color: var(--bs-pinterest);
  --bs-btn-hover-color: var(--bs-pinterest);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-pinterest));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-pinterest);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-pinterest));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-pinterest);
  --bs-btn-disabled-border-color: var(--bs-pinterest);
  --bs-btn-group-border-color: var(--bs-pinterest);
  --bs-btn-waves-effect-color: var(--bs-pinterest-rgb);
}

/* Text */
.btn-text-pinterest {
  --bs-btn-color: var(--bs-pinterest);
  --bs-btn-hover-color: var(--bs-pinterest);
  --bs-btn-active-color: var(--bs-pinterest);
  --bs-btn-group-border-color: var(--bs-pinterest);
  --bs-btn-waves-effect-color: var(--bs-pinterest-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-pinterest));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-pinterest));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-pinterest);
}

/* Default */
.btn-slack {
  --bs-btn-bg: var(--bs-slack);
  --bs-btn-color: var(--bs-slack-contrast);
  --bs-btn-border-color: var(--bs-slack);
  --bs-btn-hover-color: var(--bs-slack-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-slack));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-slack-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-slack));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-slack-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-slack-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-slack-rgb);
  --bs-btn-disabled-color: var(--bs-slack-contrast);
  --bs-btn-disabled-bg: var(--bs-slack);
  --bs-btn-disabled-border-color: var(--bs-slack);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-slack));
  --bs-btn-waves-effect-color: var(--bs-slack-rgb);
}

/* Label */
.btn-label-slack {
  --bs-btn-color: var(--bs-slack);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-slack));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-slack);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-slack));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-slack);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-slack));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-slack-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-slack-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-slack));
  --bs-btn-waves-effect-color: var(--bs-slack-rgb);
}

/* Outline */
.btn-outline-slack {
  --bs-btn-color: var(--bs-slack);
  --bs-btn-badge-color: var(--bs-slack-contrast);
  --bs-btn-border-color: var(--bs-slack);
  --bs-btn-hover-color: var(--bs-slack);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-slack));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-slack);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-slack));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-slack);
  --bs-btn-disabled-border-color: var(--bs-slack);
  --bs-btn-group-border-color: var(--bs-slack);
  --bs-btn-waves-effect-color: var(--bs-slack-rgb);
}

/* Text */
.btn-text-slack {
  --bs-btn-color: var(--bs-slack);
  --bs-btn-hover-color: var(--bs-slack);
  --bs-btn-active-color: var(--bs-slack);
  --bs-btn-group-border-color: var(--bs-slack);
  --bs-btn-waves-effect-color: var(--bs-slack-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-slack));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-slack));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-slack);
}

/* Default */
.btn-reddit {
  --bs-btn-bg: var(--bs-reddit);
  --bs-btn-color: var(--bs-reddit-contrast);
  --bs-btn-border-color: var(--bs-reddit);
  --bs-btn-hover-color: var(--bs-reddit-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-reddit));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-reddit-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-reddit));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-reddit-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-reddit-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-reddit-rgb);
  --bs-btn-disabled-color: var(--bs-reddit-contrast);
  --bs-btn-disabled-bg: var(--bs-reddit);
  --bs-btn-disabled-border-color: var(--bs-reddit);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-reddit));
  --bs-btn-waves-effect-color: var(--bs-reddit-rgb);
}

/* Label */
.btn-label-reddit {
  --bs-btn-color: var(--bs-reddit);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-reddit));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-reddit);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-reddit));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-reddit);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-reddit));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-reddit-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-reddit-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-reddit));
  --bs-btn-waves-effect-color: var(--bs-reddit-rgb);
}

/* Outline */
.btn-outline-reddit {
  --bs-btn-color: var(--bs-reddit);
  --bs-btn-badge-color: var(--bs-reddit-contrast);
  --bs-btn-border-color: var(--bs-reddit);
  --bs-btn-hover-color: var(--bs-reddit);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-reddit));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-reddit);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-reddit));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-reddit);
  --bs-btn-disabled-border-color: var(--bs-reddit);
  --bs-btn-group-border-color: var(--bs-reddit);
  --bs-btn-waves-effect-color: var(--bs-reddit-rgb);
}

/* Text */
.btn-text-reddit {
  --bs-btn-color: var(--bs-reddit);
  --bs-btn-hover-color: var(--bs-reddit);
  --bs-btn-active-color: var(--bs-reddit);
  --bs-btn-group-border-color: var(--bs-reddit);
  --bs-btn-waves-effect-color: var(--bs-reddit-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-reddit));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-reddit));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-reddit);
}

/* Default */
.btn-youtube {
  --bs-btn-bg: var(--bs-youtube);
  --bs-btn-color: var(--bs-youtube-contrast);
  --bs-btn-border-color: var(--bs-youtube);
  --bs-btn-hover-color: var(--bs-youtube-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-youtube));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-youtube-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-youtube));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-youtube-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-youtube-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-youtube-rgb);
  --bs-btn-disabled-color: var(--bs-youtube-contrast);
  --bs-btn-disabled-bg: var(--bs-youtube);
  --bs-btn-disabled-border-color: var(--bs-youtube);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-youtube));
  --bs-btn-waves-effect-color: var(--bs-youtube-rgb);
}

/* Label */
.btn-label-youtube {
  --bs-btn-color: var(--bs-youtube);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-youtube));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-youtube);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-youtube));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-youtube);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-youtube));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-youtube-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-youtube-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-youtube));
  --bs-btn-waves-effect-color: var(--bs-youtube-rgb);
}

/* Outline */
.btn-outline-youtube {
  --bs-btn-color: var(--bs-youtube);
  --bs-btn-badge-color: var(--bs-youtube-contrast);
  --bs-btn-border-color: var(--bs-youtube);
  --bs-btn-hover-color: var(--bs-youtube);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-youtube));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-youtube);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-youtube));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-youtube);
  --bs-btn-disabled-border-color: var(--bs-youtube);
  --bs-btn-group-border-color: var(--bs-youtube);
  --bs-btn-waves-effect-color: var(--bs-youtube-rgb);
}

/* Text */
.btn-text-youtube {
  --bs-btn-color: var(--bs-youtube);
  --bs-btn-hover-color: var(--bs-youtube);
  --bs-btn-active-color: var(--bs-youtube);
  --bs-btn-group-border-color: var(--bs-youtube);
  --bs-btn-waves-effect-color: var(--bs-youtube-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-youtube));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-youtube));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-youtube);
}

/* Default */
.btn-vimeo {
  --bs-btn-bg: var(--bs-vimeo);
  --bs-btn-color: var(--bs-vimeo-contrast);
  --bs-btn-border-color: var(--bs-vimeo);
  --bs-btn-hover-color: var(--bs-vimeo-contrast);
  --bs-btn-hover-bg: color-mix(in sRGB, #000 10%, var(--bs-vimeo));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-vimeo-contrast);
  --bs-btn-active-bg: color-mix(in sRGB, #000 10%, var(--bs-vimeo));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-box-shadow-rgb: var(--bs-vimeo-rgb);
  --bs-btn-focus-shadow-rgb: var(--bs-vimeo-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-vimeo-rgb);
  --bs-btn-disabled-color: var(--bs-vimeo-contrast);
  --bs-btn-disabled-bg: var(--bs-vimeo);
  --bs-btn-disabled-border-color: var(--bs-vimeo);
  --bs-btn-group-border-color: color-mix(in sRGB, #000 10%, var(--bs-vimeo));
  --bs-btn-waves-effect-color: var(--bs-vimeo-rgb);
}

/* Label */
.btn-label-vimeo {
  --bs-btn-color: var(--bs-vimeo);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-vimeo));
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-hover-color: var(--bs-vimeo);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-vimeo));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-color: var(--bs-vimeo);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-vimeo));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-focus-shadow-rgb: var(--bs-vimeo-rgb);
  --bs-btn-active-shadow-rgb: var(--bs-vimeo-rgb);
  --bs-btn-disabled-color: var(--bs-btn-color);
  --bs-btn-disabled-bg: var(--bs-btn-bg);
  --bs-btn-disabled-border-color: var(--bs-btn-border-color);
  --bs-btn-group-border-color: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-vimeo));
  --bs-btn-waves-effect-color: var(--bs-vimeo-rgb);
}

/* Outline */
.btn-outline-vimeo {
  --bs-btn-color: var(--bs-vimeo);
  --bs-btn-badge-color: var(--bs-vimeo-contrast);
  --bs-btn-border-color: var(--bs-vimeo);
  --bs-btn-hover-color: var(--bs-vimeo);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-vimeo));
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
  --bs-btn-active-color: var(--bs-vimeo);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-vimeo));
  --bs-btn-active-border-color: var(--bs-btn-border-color);
  --bs-btn-disabled-color: var(--bs-vimeo);
  --bs-btn-disabled-border-color: var(--bs-vimeo);
  --bs-btn-group-border-color: var(--bs-vimeo);
  --bs-btn-waves-effect-color: var(--bs-vimeo-rgb);
}

/* Text */
.btn-text-vimeo {
  --bs-btn-color: var(--bs-vimeo);
  --bs-btn-hover-color: var(--bs-vimeo);
  --bs-btn-active-color: var(--bs-vimeo);
  --bs-btn-group-border-color: var(--bs-vimeo);
  --bs-btn-waves-effect-color: var(--bs-vimeo-rgb);
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-vimeo));
  --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 92%, var(--bs-vimeo));
  --bs-btn-active-border-color: var(--bs-btn-active-bg);
  --bs-btn-disabled-color: var(--bs-vimeo);
}

/* Dark Theme */
[data-bs-theme=dark] .btn-text-primary {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-primary) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-primary) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-secondary {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-secondary) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-secondary) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-success {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-success) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-success) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-info {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-info) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-info) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-warning {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-warning) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-warning) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-danger {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-danger) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-danger) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-light {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-light) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-light) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-dark {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-dark) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-dark) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-gray {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-gray) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-gray) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-facebook {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-facebook) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-facebook) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-twitter {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-twitter) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-twitter) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-google-plus {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-google-plus) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-google-plus) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-instagram {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-instagram) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-instagram) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-linkedin {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-linkedin) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-linkedin) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-label-github {
  --bs-btn-color: var(--bs-github-contrast);
  --bs-btn-hover-color: var(--bs-github-contrast);
  --bs-btn-active-color: var(--bs-github-contrast);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-github));
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 40%, var(--bs-github));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 40%, var(--bs-github));
}
[data-bs-theme=dark] .btn-text-github {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-github) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-github) 8%, var(--bs-paper-bg));
  --bs-btn-color: var(--bs-github-contrast);
  --bs-btn-hover-color: var(--bs-github-contrast);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-github) 25%, var(--bs-paper-bg));
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-github) 50%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-github) 50%, var(--bs-paper-bg));
  --bs-btn-active-color: var(--bs-github-contrast);
  --bs-btn-group-border-color: var(--bs-github-contrast);
  --bs-btn-waves-effect-color: var(--bs-github-contrast-rgb);
}
[data-bs-theme=dark] .btn-text-dribbble {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-dribbble) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-dribbble) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-pinterest {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-pinterest) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-pinterest) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-label-slack {
  --bs-btn-color: var(--bs-slack-contrast);
  --bs-btn-hover-color: var(--bs-slack-contrast);
  --bs-btn-active-color: var(--bs-slack-contrast);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-paper-bg) 60%, var(--bs-slack));
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-paper-bg) 40%, var(--bs-slack));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 40%, var(--bs-slack));
}
[data-bs-theme=dark] .btn-text-slack {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-slack) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-slack) 8%, var(--bs-paper-bg));
  --bs-btn-color: var(--bs-slack-contrast);
  --bs-btn-hover-color: var(--bs-slack-contrast);
  --bs-btn-bg: color-mix(in sRGB, var(--bs-slack) 25%, var(--bs-paper-bg));
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-slack) 50%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-slack) 50%, var(--bs-paper-bg));
  --bs-btn-active-color: var(--bs-slack-contrast);
  --bs-btn-group-border-color: var(--bs-slack-contrast);
  --bs-btn-waves-effect-color: var(--bs-slack-contrast-rgb);
}
[data-bs-theme=dark] .btn-text-reddit {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-reddit) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-reddit) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-youtube {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-youtube) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-youtube) 8%, var(--bs-paper-bg));
}
[data-bs-theme=dark] .btn-text-vimeo {
  --bs-btn-hover-bg: color-mix(in sRGB, var(--bs-vimeo) 8%, var(--bs-paper-bg));
  --bs-btn-active-bg: color-mix(in sRGB, var(--bs-vimeo) 8%, var(--bs-paper-bg));
}

.dropdown-menu {
  box-shadow: var(--bs-dropdown-box-shadow);
  text-align: start;
  /* Mega dropdown inside the dropdown menu */
}
.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item).active,
.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
  background-color: var(--bs-dropdown-link-active-bg);
  color: var(--bs-dropdown-link-active-color);
}
.mega-dropdown > .dropdown-menu {
  inset-inline: 0;
}

.btn-xs.dropdown-toggle::after, .btn-group-xs > .dropdown-toggle.btn::after {
  border: 2px solid;
  block-size: 0.45em;
  border-block-start: 0;
  border-inline-start: 0;
  inline-size: 0.45em;
  margin-block-start: -0.243em;
  margin-inline: 0.8em 0;
  transform: rotate(45deg);
}
:dir(rtl) .btn-xs.dropdown-toggle::after, :dir(rtl) .btn-group-xs > .dropdown-toggle.btn::after {
  transform: rotate(-45deg);
}

/* Split dropdowns */
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-inline: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-inline: 0;
}

/* Dropdown item line height */
.dropdown-item {
  border-radius: var(--bs-dropdown-border-radius);
}
li:not(:first-child) .dropdown-item, .dropdown-menu .dropdown-item:not(:first-child) {
  margin-block-start: 2px;
}
.dropdown-item.waves-effect .waves-ripple {
  background: radial-gradient(rgba(var(--bs-primary-rgb), 0.2) 0, rgba(var(--bs-primary-rgb), 0.3) 40%, rgba(var(--bs-primary-rgb), 0.4) 50%, rgba(var(--bs-primary-rgb), 0.5) 60%, rgba(var(--bs-white-rgb), 0) 70%);
}
.dropdown-item.text-danger:active {
  color: var(--bs-primary) !important;
}

/* Hidden dropdown toggle arrow */
.dropdown-toggle.hide-arrow::before, .dropdown-toggle.hide-arrow::after,
.dropdown-toggle-hide-arrow > .dropdown-toggle::before,
.dropdown-toggle-hide-arrow > .dropdown-toggle::after {
  display: none;
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  inset-inline: 0 auto;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  inset-inline: auto 0;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    inset-inline: 0 auto;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    inset-inline: auto 0;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    inset-inline: 0 auto;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    inset-inline: auto 0;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    inset-inline: 0 auto;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    inset-inline: auto 0;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    inset-inline: 0 auto;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    inset-inline: auto 0;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    inset-inline: 0 auto;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    inset-inline: auto 0;
  }
}
.btn-group {
  --bs-btn-group-border-radius: var(--bs-border-radius);
}
.btn-group.btn-group-sm {
  --bs-btn-group-border-radius: var(--bs-border-radius-sm);
}
.btn-group.btn-group-xs {
  --bs-btn-group-border-radius: 0.125rem;
}
.btn-group.btn-group-lg {
  --bs-btn-group-border-radius: var(--bs-border-radius-lg);
}
.btn-group.btn-group-xl {
  --bs-btn-group-border-radius: 0.625rem;
}
.btn-group > :not(.btn-check:first-of-type) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin: 0;
  margin-inline-start: calc(var(--bs-border-width) * -1);
}
.btn-group:has(> .dropdown-toggle) .btn[class*=btn-label-] {
  margin-inline-end: calc(var(--bs-border-width) * -1);
}
.btn-group:not(.btn-group-vertical) > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group:not(.btn-group-vertical) > .btn.dropdown-toggle-split:first-child,
.btn-group:not(.btn-group-vertical) > .btn-group:not(:last-child) > .btn,
.btn-group:not(.btn-group-vertical) > .btn:nth-child(n+3),
.btn-group:not(.btn-group-vertical) > :not(.btn-check) + .btn,
.btn-group:not(.btn-group-vertical) > .btn-group:not(:first-child) > .btn {
  border-radius: var(--bs-btn-group-border-radius);
}
.btn-group:not(.btn-group-vertical) > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group:not(.btn-group-vertical) > .btn.dropdown-toggle-split:first-child,
.btn-group:not(.btn-group-vertical) > .btn-group:not(:last-child) > .btn {
  border-end-end-radius: 0 !important;
  border-start-end-radius: 0 !important;
}
.btn-group:not(.btn-group-vertical) > .btn:nth-child(n+3),
.btn-group:not(.btn-group-vertical) > :not(.btn-check) + .btn,
.btn-group:not(.btn-group-vertical) > .btn-group:not(:first-child) > .btn {
  border-end-start-radius: 0 !important;
  border-start-start-radius: 0 !important;
}
.btn-group.btn-group-vertical > :not(.btn-check:first-child) + .btn,
.btn-group.btn-group-vertical > .btn-group:not(:first-child) {
  margin: 0;
  margin-block-start: calc(var(--bs-border-width) * -1);
}
.btn-group.btn-group-vertical .btn:not([class*=btn-outline-]) {
  border-inline-color: var(--bs-btn-bg);
}
.btn-group.btn-group-vertical .btn:not([class*=btn-outline-]):hover {
  border-inline-color: var(--bs-btn-hover-bg);
}
.btn-group.btn-group-vertical > .btn:first-child,
.btn-group.btn-group-vertical > .btn.dropdown-toggle-split:first-child,
.btn-group.btn-group-vertical > .btn-group:first-child > .btn {
  border-top-left-radius: var(--bs-btn-group-border-radius);
  border-top-right-radius: var(--bs-btn-group-border-radius);
}
.btn-group.btn-group-vertical > .btn:last-child,
.btn-group.btn-group-vertical > .btn.dropdown-toggle-split:last-child,
.btn-group.btn-group-vertical > .btn-group:last-child > .btn {
  border-bottom-right-radius: var(--bs-btn-group-border-radius);
  border-bottom-left-radius: var(--bs-btn-group-border-radius);
}

.dropdown-toggle-split,
.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split,
.input-group-lg .btn + .dropdown-toggle-split,
.btn-xl + .dropdown-toggle-split,
.btn-group-xl > .btn + .dropdown-toggle-split {
  padding-inline: 0.92em;
}

.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split,
.input-group-sm .btn + .dropdown-toggle-split {
  padding-inline: 0.6em;
}

.btn-xs + .dropdown-toggle-split,
.btn-group-xs > .btn + .dropdown-toggle-split {
  padding-inline: 0.5em;
}

/* Button groups border */
.btn-group:not(.btn-group-vertical) > .btn-group:first-child > .btn:not([class*=btn-outline-]):first-child,
.input-group > .btn:not([class*=btn-outline-]):first-child,
:not(.btn-group, .input-group) > .btn-group:not(.btn-group-vertical) > .btn:not([class*=btn-outline-]):first-child,
.input-group > .btn-group:first-child > .btn:not([class*=btn-outline-]):first-child {
  border-inline-start-color: transparent;
}

.btn-group:not(.btn-group-vertical) > .btn-group:last-child > .btn:not([class*=btn-outline-]):last-of-type,
.input-group > .btn:not([class*=btn-outline-]):last-of-type,
:not(.btn-group, .input-group) > .btn-group:not(.btn-group-vertical) > .btn:not([class*=btn-outline-]):last-of-type,
.input-group > .btn-group:last-child > .btn:not([class*=btn-outline-]):last-of-type {
  border-inline-end-color: transparent;
}

.btn-group-vertical > .btn-group-vertical:first-child > .btn:not([class*=btn-outline-]):first-child,
:not(.btn-group-vertical, .input-group) > .btn-group-vertical > .btn:not([class*=btn-outline-]):first-child {
  border-block-start-color: transparent;
}

.btn-group-vertical > .btn-group-vertical:last-child > .btn:not([class*=btn-outline-]):last-of-type,
:not(.btn-group-vertical, .input-group) > .btn-group-vertical > .btn:not([class*=btn-outline-]):last-of-type {
  border-block-end-color: transparent;
}

/* Nav
******************************************************************************* */
.nav {
  flex-wrap: inherit;
  padding-inline-start: 0;
}
.nav .nav-item {
  white-space: nowrap;
}
.nav:not(.nav-pills) .nav-link:hover, .nav:not(.nav-pills) .nav-link:focus {
  color: var(--bs-primary);
}
.nav.nav-sm, .nav-sm > .nav {
  --bs-nav-link-padding-y: 0.376rem;
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-font-size: 0.8125rem;
  --bs-nav-link-line-height: 1.125;
}
.nav.nav-lg, .nav-lg > .nav {
  --bs-nav-link-padding-y: 0.6rem;
  --bs-nav-link-padding-x: 1.5rem;
  --bs-nav-link-font-size: 1rem;
  --bs-nav-link-line-height: 1.625;
}

/* nav tabs shadow */
.nav-tabs-shadow {
  border: 1px solid var(--bs-nav-border-color);
  box-shadow: var(--bs-nav-box-shadow);
}
.card .nav-tabs-shadow {
  box-shadow: none;
}

/* Tab and pills style */
.nav-tabs .nav-link,
.nav-pills .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: capitalize;
}
.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-link,
.nav-pills:not(.nav-fill):not(.nav-justified) .nav-link {
  inline-size: 100%;
  margin-inline-end: 0.25rem;
}

.tab-content:not(.doc-example-content) {
  z-index: 1;
  padding: 1.5rem;
}
.tab-content:not(.doc-example-content) .tab-pane {
  opacity: 0;
  transform: translateX(-30px);
  transition: all linear 0.1s;
}
@media (prefers-reduced-motion: reduce) {
  .tab-content:not(.doc-example-content) .tab-pane {
    transition: none;
  }
}
:dir(rtl) .tab-content:not(.doc-example-content) .tab-pane {
  transform: translateX(30px);
}
.tab-content:not(.doc-example-content) .tab-pane.show {
  opacity: 1;
  transform: unset !important;
  transition: all ease-out 0.2s 0.1s;
}
@media (prefers-reduced-motion: reduce) {
  .tab-content:not(.doc-example-content) .tab-pane.show {
    transition: none;
  }
}

/* For scrollable navs/tabs/pills */
.nav-scrollable {
  display: -webkit-inline-box;
  display: -moz-inline-box;
  overflow: auto;
  flex-wrap: nowrap;
  inline-size: 100%;
}

.nav-tabs {
  position: relative;
  /* Widget Tabs */
  /* Tab link */
}
.nav-tabs .tab-slider {
  position: absolute;
  block-size: 2px;
}
.nav-align-left .nav-tabs .tab-slider, .nav-align-right .nav-tabs .tab-slider {
  inline-size: 2px !important;
}
.nav-tabs.widget-nav-tabs {
  border: 0 !important;
  overflow-x: auto;
}
.nav-tabs.widget-nav-tabs .nav-link {
  border: 1px dashed var(--bs-border-color);
}
@media (min-width: 768px) {
  .nav-tabs.widget-nav-tabs .nav-link {
    block-size: 100px !important;
    inline-size: 110px !important;
    padding-block: 1rem;
    border-radius: 0.375rem;
  }
}
@media (max-width: 767.98px) {
  .nav-tabs.widget-nav-tabs .nav-link {
    padding: 0;
    border: 0 !important;
  }
}
.nav-tabs.widget-nav-tabs .nav-link.active {
  border: 1px solid var(--bs-border-color);
  border-color: var(--bs-primary);
  box-shadow: none !important;
}
.nav-tabs.widget-nav-tabs .nav-link.active .badge {
  background-color: rgba(var(--bs-primary-rgb), 0.16) !important;
  color: var(--bs-primary) !important;
}
@media (max-width: 767.98px) {
  .nav-tabs.widget-nav-tabs .nav-link .tab-widget-title {
    display: none;
  }
}
.nav-tabs .nav-link {
  border-radius: 0;
  background-clip: padding-box;
}
.nav-tabs .nav-link.waves-effect .waves-ripple {
  background: radial-gradient(rgba(var(--bs-primary-rgb), 0.2) 0, rgba(var(--bs-primary-rgb), 0.3) 40%, rgba(var(--bs-primary-rgb), 0.4) 50%, rgba(var(--bs-primary-rgb), 0.5) 60%, rgba(var(--bs-white-rgb), 0) 70%);
}
.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:hover, .nav-tabs .nav-link.active:focus,
.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-item.show .nav-link:hover,
.nav-tabs .nav-item.show .nav-link:focus {
  box-shadow: 0 -2px 0 var(--bs-primary) inset;
}
.nav-align-top .nav-tabs .nav-link.active, .nav-align-top .nav-tabs .nav-link.active:hover, .nav-align-top .nav-tabs .nav-link.active:focus,
.nav-align-top .nav-tabs .nav-item.show .nav-link,
.nav-align-top .nav-tabs .nav-item.show .nav-link:hover,
.nav-align-top .nav-tabs .nav-item.show .nav-link:focus {
  box-shadow: 0 -2px 0 var(--bs-primary) inset;
}
.nav-align-bottom .nav-tabs .nav-link.active, .nav-align-bottom .nav-tabs .nav-link.active:hover, .nav-align-bottom .nav-tabs .nav-link.active:focus,
.nav-align-bottom .nav-tabs .nav-item.show .nav-link,
.nav-align-bottom .nav-tabs .nav-item.show .nav-link:hover,
.nav-align-bottom .nav-tabs .nav-item.show .nav-link:focus {
  box-shadow: 0 2px 0 var(--bs-primary) inset;
}
.nav-align-left .nav-tabs .nav-link.active, .nav-align-left .nav-tabs .nav-link.active:hover, .nav-align-left .nav-tabs .nav-link.active:focus,
.nav-align-left .nav-tabs .nav-item.show .nav-link,
.nav-align-left .nav-tabs .nav-item.show .nav-link:hover,
.nav-align-left .nav-tabs .nav-item.show .nav-link:focus {
  box-shadow: -2px 0 0 var(--bs-primary) inset;
}
:dir(rtl) .nav-align-left .nav-tabs .nav-link.active, :dir(rtl) .nav-align-left .nav-tabs .nav-link.active:hover, :dir(rtl) .nav-align-left .nav-tabs .nav-link.active:focus,
:dir(rtl) .nav-align-left .nav-tabs .nav-item.show .nav-link,
:dir(rtl) .nav-align-left .nav-tabs .nav-item.show .nav-link:hover,
:dir(rtl) .nav-align-left .nav-tabs .nav-item.show .nav-link:focus {
  box-shadow: 2px 0 0 var(--bs-primary) inset;
}
.nav-align-right .nav-tabs .nav-link.active, .nav-align-right .nav-tabs .nav-link.active:hover, .nav-align-right .nav-tabs .nav-link.active:focus,
.nav-align-right .nav-tabs .nav-item.show .nav-link,
.nav-align-right .nav-tabs .nav-item.show .nav-link:hover,
.nav-align-right .nav-tabs .nav-item.show .nav-link:focus {
  box-shadow: 2px 0 0 var(--bs-primary) inset;
}
:dir(rtl) .nav-align-right .nav-tabs .nav-link.active, :dir(rtl) .nav-align-right .nav-tabs .nav-link.active:hover, :dir(rtl) .nav-align-right .nav-tabs .nav-link.active:focus,
:dir(rtl) .nav-align-right .nav-tabs .nav-item.show .nav-link,
:dir(rtl) .nav-align-right .nav-tabs .nav-item.show .nav-link:hover,
:dir(rtl) .nav-align-right .nav-tabs .nav-item.show .nav-link:focus {
  box-shadow: -2px 0 0 var(--bs-primary) inset;
}

.nav-pills .nav-link {
  padding-block: 0.5435rem;
  padding-inline: 1.25rem;
}
.nav-pills .nav-link:not(.active):hover.waves-effect .waves-ripple, .nav-pills .nav-link:not(.active):focus.waves-effect .waves-ripple {
  background: radial-gradient(rgba(var(--bs-primary-rgb), 0.2) 0, rgba(var(--bs-primary-rgb), 0.3) 40%, rgba(var(--bs-primary-rgb), 0.4) 50%, rgba(var(--bs-primary-rgb), 0.5) 60%, rgba(var(--bs-white-rgb), 0) 70%);
}
.nav-pills .nav-link.active {
  box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
}
.nav-pills .nav-item .nav-link:not(.active):hover {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary));
  border-block-end: none;
  padding-block-end: 0.5435rem;
}
.nav-pills ~ .tab-content {
  border: 1px solid var(--bs-nav-border-color);
  box-shadow: var(--bs-nav-box-shadow);
}

/* Top, Right, Bottom & Left Tabbed panels */
.nav-align-top,
.nav-align-right,
.nav-align-bottom,
.nav-align-left {
  display: flex;
}
.nav-align-top > .tab-content,
.nav-align-right > .tab-content,
.nav-align-bottom > .tab-content,
.nav-align-left > .tab-content {
  background: var(--bs-paper-bg);
}
.nav-align-top .nav-tabs,
.nav-align-right .nav-tabs,
.nav-align-bottom .nav-tabs,
.nav-align-left .nav-tabs {
  background: var(--bs-paper-bg);
}
.nav-align-top > .nav,
.nav-align-top > div > .nav,
.nav-align-right > .nav,
.nav-align-right > div > .nav,
.nav-align-bottom > .nav,
.nav-align-bottom > div > .nav,
.nav-align-left > .nav,
.nav-align-left > div > .nav {
  position: relative;
  z-index: 1;
}
.nav-align-top:has(.nav-tabs),
.nav-align-right:has(.nav-tabs),
.nav-align-bottom:has(.nav-tabs),
.nav-align-left:has(.nav-tabs) {
  border-radius: 0.375rem !important;
}

.nav-align-right,
.nav-align-left {
  align-items: stretch;
}
.nav-align-right > .nav,
.nav-align-right > div > .nav,
.nav-align-left > .nav,
.nav-align-left > div > .nav {
  flex-direction: column;
  flex-grow: 0;
  border-block-end-width: 0;
}
.nav-align-right > .nav.nav-pills .nav-item:not(:last-child),
.nav-align-right > div > .nav.nav-pills .nav-item:not(:last-child),
.nav-align-left > .nav.nav-pills .nav-item:not(:last-child),
.nav-align-left > div > .nav.nav-pills .nav-item:not(:last-child) {
  margin-block: 0 0.25rem !important;
  margin-inline: 0 !important;
}
.nav-align-right > .tab-content,
.nav-align-left > .tab-content {
  flex-grow: 1;
}
.nav-align-right > .tab-content .tab-pane,
.nav-align-left > .tab-content .tab-pane {
  transform: translateY(-30px);
}
.nav-align-right > .tab-content .tab-pane.show,
.nav-align-left > .tab-content .tab-pane.show {
  transform: translateY(0);
}

/* Top tabs */
.nav-align-top {
  flex-direction: column;
}
.nav-align-top .tab-content {
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.nav-align-top .nav-tabs {
  border-block-end: 1px solid var(--bs-nav-tabs-border-color);
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.nav-align-top .nav-tabs .nav-link:not(.active):hover {
  border-block-end: 2px solid color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary)) !important;
  padding-block-end: 0.4185rem;
}
.nav-align-top .nav-tabs.nav-lg .nav-link:not(.active):hover {
  padding-block-end: 0.475rem;
}
.nav-align-top .nav-tabs.nav-sm .nav-link:not(.active):hover {
  padding-block-end: 0.2635rem;
}
.nav-align-top .nav-pills ~ .tab-content {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}

.nav-align-top > .tab-content .tab-pane,
.nav-align-bottom > .tab-content .tab-pane,
.card > .tab-content .tab-pane {
  transform: translateX(-30px);
}
:dir(rtl) .nav-align-top > .tab-content .tab-pane,
:dir(rtl) .nav-align-bottom > .tab-content .tab-pane,
:dir(rtl) .card > .tab-content .tab-pane {
  transform: translateX(30px);
}
.nav-align-top > .tab-content .tab-pane.show,
.nav-align-bottom > .tab-content .tab-pane.show,
.card > .tab-content .tab-pane.show {
  transform: translateX(0) !important;
}
.nav-align-top > .nav.nav-pills .nav-item:not(:last-child),
.nav-align-bottom > .nav.nav-pills .nav-item:not(:last-child),
.card > .nav.nav-pills .nav-item:not(:last-child) {
  margin-inline-end: 0.25rem;
}

/* Right tabs */
.nav-align-right {
  flex-direction: row-reverse;
}
.nav-align-right .tab-content {
  border-end-start-radius: 0.375rem;
  border-start-start-radius: 0.375rem;
}
.nav-align-right .nav-tabs {
  position: relative;
  border-end-end-radius: 0.375rem;
  border-inline-start: 1px solid var(--bs-nav-tabs-border-color);
  border-start-end-radius: 0.375rem;
}
.nav-align-right .nav-tabs .tab-slider {
  inset-inline-start: 0;
}
.card .nav-align-right .nav-tabs ~ .tab-content {
  border-inline-end: 0 solid var(--bs-nav-tabs-border-color);
}
.nav-align-right .nav-tabs .nav-link:not(.active):hover {
  border-inline-start: 2px solid color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary)) !important;
  padding-inline-start: 1.125rem;
}
.nav-align-right .nav-tabs.nav-lg .nav-link:not(.active):hover {
  padding-inline-start: 1.375rem;
}
.nav-align-right .nav-tabs.nav-sm .nav-link:not(.active):hover {
  padding-inline-start: 0.875rem;
}
.nav-align-right > .nav .nav-item,
.nav-align-right > div > .nav .nav-item {
  margin-inline: 0;
}
.nav-align-right .nav-link {
  justify-content: end;
  text-align: end;
}
.nav-align-right .nav-pills ~ .tab-content {
  border-radius: 0.375rem;
}

/* Bottom tabs */
.nav-align-bottom {
  flex-direction: column-reverse;
}
.nav-align-bottom .tab-content {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.nav-align-bottom > .nav .nav-item,
.nav-align-bottom > div > .nav .nav-item {
  margin-block: 0;
}
.nav-align-bottom > .nav,
.nav-align-bottom > div > .nav {
  border-block-end-width: 0;
  border-block-start: 0 solid var(--bs-nav-tabs-border-color);
}
.nav-align-bottom .nav-tabs {
  border-block-start: 1px solid var(--bs-nav-tabs-border-color);
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}
.nav-align-bottom .nav-tabs .tab-slider {
  inset-block-end: inherit !important;
}
.nav-align-bottom .nav-tabs .nav-link:not(.active):hover {
  border-block-start: 2px solid color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary)) !important;
  padding-block-start: 0.4185rem;
}
.nav-align-bottom .nav-tabs.nav-lg .nav-link:not(.active):hover {
  padding-block-start: 0.475rem;
}
.nav-align-bottom .nav-tabs.nav-sm .nav-link:not(.active):hover {
  padding-block-start: 0.2635rem;
}
.nav-align-bottom .nav-pills ~ .tab-content {
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

/* Left tabs */
.nav-align-left .tab-content {
  border-end-end-radius: 0.375rem;
  border-start-end-radius: 0.375rem;
}
.nav-align-left .nav-tabs {
  position: relative;
  border-inline-end: 1px solid var(--bs-nav-tabs-border-color);
}
.card .nav-align-left .nav-tabs ~ .tab-content {
  border-inline-start: 0 solid var(--bs-nav-tabs-border-color);
}
.nav-align-left .nav-tabs .nav-link:not(.active):hover {
  border-inline-end: 2px solid color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary)) !important;
  padding-inline-end: 1.125rem;
}
.nav-align-left .nav-tabs.nav-lg .nav-link:not(.active):hover {
  padding-inline-end: 1.375rem;
}
.nav-align-left .nav-tabs.nav-sm .nav-link:not(.active):hover {
  padding-inline-end: 0.875rem;
}
.nav-align-left > .nav .nav-item,
.nav-align-left > div > .nav .nav-item {
  margin-inline: 0;
}
.nav-align-left .nav-link {
  justify-content: start;
  text-align: start;
}
.nav-align-left .nav-pills ~ .tab-content {
  border-end-start-radius: 0.375rem !important;
  border-start-start-radius: 0.375rem !important;
}
.nav-align-left:has(.nav-tabs) {
  overflow: hidden;
}

/* Navbar
******************************************************************************* */
.layout-navbar {
  background-color: var(--bs-body-bg);
}

.layout-navbar-fixed .window-scrolled .layout-navbar {
  background-color: var(--bs-navbar-bg);
}

/* Mega dropdown
****************************************************************************** */
.mega-dropdown .dropdown-toggle {
  box-shadow: none;
  outline: 0;
}
.mega-dropdown .dropdown-menu {
  inline-size: 100%;
}

.navbar.bg-body-tertiary {
  --bs-navbar-color: var(--bs-body-color);
  --bs-navbar-hover-color: var(--bs-heading-color);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-base-color) 40%, var(--bs-paper-bg));
  --bs-navbar-active-color: var(--bs-heading-color);
  --bs-navbar-brand-color: var(--bs-heading-color);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-base-color) 70%, var(--bs-paper-bg));
}
.navbar.bg-body-tertiary .form-control::-moz-placeholder {
  color: var(--bs-body-color);
}
.navbar.bg-body-tertiary .form-control::placeholder {
  color: var(--bs-body-color);
}
.navbar.bg-body-tertiary .input-group-text:not(:focus),
.navbar.bg-body-tertiary .form-control:not(:focus) {
  border-color: color-mix(in sRGB, var(--bs-base-color) 30%, var(--bs-paper-bg));
}
.navbar.bg-white {
  --bs-navbar-color: color-mix(in sRGB, var(--bs-pure-black) 84%, var(--bs-white));
  --bs-navbar-hover-color: var(--bs-pure-black);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-pure-black) 40%, var(--bs-white));
  --bs-navbar-active-color: var(--bs-pure-black);
  --bs-navbar-brand-color: var(--bs-pure-black);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-pure-black) 84%, var(--bs-white));
}
.navbar[class*=bg-]:not(.bg-body-tertiary, .bg-white) {
  background-color: var(--bs-navbar-bg) !important;
}

/* Generate contextual modifier classes for colorizing the navbar */
.navbar.bg-primary {
  --bs-navbar-bg: rgba(var(--bs-primary-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-primary-contrast) 84%, var(--bs-primary));
  --bs-navbar-hover-color: var(--bs-primary-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-primary-contrast) 60%, var(--bs-primary));
  --bs-navbar-active-color: var(--bs-primary-contrast);
  --bs-navbar-brand-color: var(--bs-primary-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-primary));
}

.navbar.bg-secondary {
  --bs-navbar-bg: rgba(var(--bs-secondary-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-secondary-contrast) 84%, var(--bs-secondary));
  --bs-navbar-hover-color: var(--bs-secondary-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-secondary-contrast) 60%, var(--bs-secondary));
  --bs-navbar-active-color: var(--bs-secondary-contrast);
  --bs-navbar-brand-color: var(--bs-secondary-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-secondary));
}

.navbar.bg-success {
  --bs-navbar-bg: rgba(var(--bs-success-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-success-contrast) 84%, var(--bs-success));
  --bs-navbar-hover-color: var(--bs-success-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-success-contrast) 60%, var(--bs-success));
  --bs-navbar-active-color: var(--bs-success-contrast);
  --bs-navbar-brand-color: var(--bs-success-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-success));
}

.navbar.bg-info {
  --bs-navbar-bg: rgba(var(--bs-info-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-info-contrast) 84%, var(--bs-info));
  --bs-navbar-hover-color: var(--bs-info-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-info-contrast) 60%, var(--bs-info));
  --bs-navbar-active-color: var(--bs-info-contrast);
  --bs-navbar-brand-color: var(--bs-info-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-info));
}

.navbar.bg-warning {
  --bs-navbar-bg: rgba(var(--bs-warning-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-warning-contrast) 84%, var(--bs-warning));
  --bs-navbar-hover-color: var(--bs-warning-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-warning-contrast) 60%, var(--bs-warning));
  --bs-navbar-active-color: var(--bs-warning-contrast);
  --bs-navbar-brand-color: var(--bs-warning-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-warning));
}

.navbar.bg-danger {
  --bs-navbar-bg: rgba(var(--bs-danger-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-danger-contrast) 84%, var(--bs-danger));
  --bs-navbar-hover-color: var(--bs-danger-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-danger-contrast) 60%, var(--bs-danger));
  --bs-navbar-active-color: var(--bs-danger-contrast);
  --bs-navbar-brand-color: var(--bs-danger-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-danger));
}

.navbar.bg-light {
  --bs-navbar-bg: rgba(var(--bs-light-rgb), .88);
  --bs-navbar-color: var(--bs-body-color);
  --bs-navbar-hover-color: var(--bs-heading-color);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-base-color) 40%, var(--bs-paper-bg));
  --bs-navbar-active-color: var(--bs-heading-color);
  --bs-navbar-brand-color: var(--bs-heading-color);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-base-color) 70%, var(--bs-paper-bg));
}

.navbar.bg-dark {
  --bs-navbar-bg: rgba(var(--bs-dark-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-dark-contrast) 84%, var(--bs-dark));
  --bs-navbar-hover-color: var(--bs-dark-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-dark-contrast) 60%, var(--bs-dark));
  --bs-navbar-active-color: var(--bs-dark-contrast);
  --bs-navbar-brand-color: var(--bs-dark-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-dark));
}

.navbar.bg-gray {
  --bs-navbar-bg: rgba(var(--bs-gray-rgb), .88);
  --bs-navbar-color: color-mix(in sRGB, var(--bs-gray-contrast) 84%, var(--bs-gray));
  --bs-navbar-hover-color: var(--bs-gray-contrast);
  --bs-navbar-disabled-color: color-mix(in sRGB, var(--bs-gray-contrast) 60%, var(--bs-gray));
  --bs-navbar-active-color: var(--bs-gray-contrast);
  --bs-navbar-brand-color: var(--bs-gray-contrast);
  --bs-navbar-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-gray));
}

.card {
  --bs-card-hover-box-shadow: 0 0.25rem 1.125rem 0 rgba(47, 43, 61, 0.16);
  --bs-card-border-bottom-color: var(--bs-border-color);
  --bs-card-hover-border-color: var(--bs-border-color);
  --bs-card-hover-border-bottom-color: var(--bs-border-color);
  box-shadow: var(--bs-card-box-shadow);
  /* Card Statistics specific separator */
  /* List groups */
  /* Card Widget Separator */
  /* color border bottom and shadow in card */
  /* card hover border color */
}
.card .card-header + .card-body,
.card .card-header + .card-content > .card-body:first-of-type,
.card .card-header + .card-footer,
.card .card-body + .card-footer {
  padding-block-start: 0;
}
.card .card-header,
.card .card-footer {
  --bs-card-border-width: 0;
}
.card .featured-date {
  background-color: var(--bs-card-bg);
}
.card .card-link + .card-link {
  margin-inline: 1.5rem 0;
}
.card hr {
  color: var(--bs-card-border-color);
}
.card .card-separator {
  border-inline-end: var(--bs-border-width) solid var(--bs-card-border-color);
}
@media (max-width: 767.98px) {
  .card .card-separator {
    border-block-end: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-inline-end-width: 0 !important;
    padding-block-end: 1.5rem;
  }
}
.card > .list-group {
  border-block-end-width: 1px;
  border-block-start-width: 1px;
}
.card > .list-group .list-group-item {
  padding-inline: 1.5rem;
}
@media (max-width: 991.98px) {
  .card .card-widget-separator-wrapper .card-widget-separator .card-widget-2.border-end {
    border-inline-end: none !important;
    border-inline-start: none !important;
  }
}
@media (max-width: 575.98px) {
  .card .card-widget-separator-wrapper .card-widget-separator .card-widget-1.border-end,
  .card .card-widget-separator-wrapper .card-widget-separator .card-widget-2.border-end,
  .card .card-widget-separator-wrapper .card-widget-separator .card-widget-3.border-end {
    border-block-end: 1px solid var(--bs-card-border-color);
    border-inline-end: none !important;
    border-inline-start: none !important;
  }
}
.card[class*=card-border-shadow-] {
  border-block-end: none;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .card[class*=card-border-shadow-] {
    transition: none;
  }
}
.card[class*=card-border-shadow-]::after {
  position: absolute;
  border-radius: 0.375rem;
  block-size: 1.5rem;
  border-block-end: 0.125rem solid var(--bs-card-border-bottom-color);
  content: "";
  inline-size: 100%;
  inset-block-end: 0;
  inset-inline-start: 0;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .card[class*=card-border-shadow-]::after {
    transition: none;
  }
}
.card[class*=card-border-shadow-]:hover {
  box-shadow: var(--bs-card-hover-box-shadow);
}
.card[class*=card-border-shadow-]:hover::after {
  border-color: var(--bs-card-hover-border-bottom-color);
  border-block-end-width: 0.1875rem;
}
.card[class*=card-hover-border-],
.card [class*=card-hover-border-] {
  border-width: 1px;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .card[class*=card-hover-border-],
  .card [class*=card-hover-border-] {
    transition: none;
  }
}
.card[class*=card-hover-border-]:hover,
.card [class*=card-hover-border-]:hover {
  border-color: var(--bs-card-hover-border-color);
}
.card .collapse > .card-body,
.card .collapsing > .card-body {
  padding-block-start: 0;
}

/* adding class with card background color */
.bg-card {
  background-color: var(--bs-card-bg);
}

/* Card header elements
******************************************************** */
.card-header.header-elements,
.card-title.header-elements {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  inline-size: 100%;
}

.card-header-elements,
.card-title-elements {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.card-header-elements + .card-header-elements,
.card-header-elements > * + *,
.card-header-elements + .card-title-elements,
.card-title-elements > * + *,
.card-title-elements + .card-header-elements,
.card-title-elements + .card-title-elements {
  margin-inline-start: 0.25rem;
}

.card-title:not(h1):not(.h1):not(h2):not(.h2):not(h3):not(.h3):not(h4):not(.h4):not(h5):not(.h5):not(h6):not(.h6) {
  color: var(--bs-body-color);
}

/* Horizontal card radius issue fix
******************************************************** */
.card-img-left,
.card-img-right {
  block-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card-img-left {
  border-end-start-radius: 0.375rem;
  border-start-start-radius: 0.375rem;
  border-end-end-radius: 0;
  border-start-end-radius: 0;
}
@media (max-width: 767.98px) {
  .card-img-left {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
}

.card-img-right {
  border-end-end-radius: 0.375rem;
  border-start-end-radius: 0.375rem;
  border-end-start-radius: 0;
  border-start-start-radius: 0;
}
@media (max-width: 767.98px) {
  .card-img-right {
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

.card-group {
  --bs-card-box-shadow: var(--bs-box-shadow);
  --bs-card-bg: var(--bs-paper-bg);
}
@media (min-width: 576px) {
  .card-group {
    border-radius: 0.375rem;
    background-color: var(--bs-card-bg);
    box-shadow: var(--bs-card-box-shadow);
  }
  .card-group .card {
    box-shadow: none;
  }
  .card-group .card + .card {
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-inline-start: 0;
    margin-inline: 0;
  }
  .card-group .card .card-img-top,
  .card-group .card .card-header,
  .card-group .card .card-img-bottom,
  .card-group .card .card-footer {
    border-radius: 0;
  }
  .card-group .card:is(:last-child) .card-img-top,
  .card-group .card:is(:last-child) .card-header {
    border-start-end-radius: 0.375rem;
  }
  .card-group .card:is(:last-child) .card-img-bottom,
  .card-group .card:is(:last-child) .card-footer {
    border-end-end-radius: 0.375rem;
  }
  .card-group .card:is(:first-child) .card-img-top,
  .card-group .card:is(:first-child) .card-header {
    border-start-start-radius: 0.375rem;
  }
  .card-group .card:is(:first-child) .card-img-bottom,
  .card-group .card:is(:first-child) .card-footer {
    border-end-start-radius: 0.375rem;
  }
}

/* Card action */
.card-action {
  /* Expand card(fullscreen) */
  /* Alert */
  /* Card header */
  /* Block UI loader */
}
.card-action.card-fullscreen {
  position: fixed;
  z-index: 9999;
  display: block;
  overflow: auto;
  border: 0;
  border-radius: 0;
  block-size: 100%;
  inline-size: 100%;
  inset: 0;
}
.card-action .card-alert {
  position: absolute;
  z-index: 999;
  inline-size: 100%;
}
.card-action .card-alert .alert {
  border-end-end-radius: 0;
  border-end-start-radius: 0;
}
.card-action .card-header {
  display: flex;
}
.card-action .card-header.collapsed {
  border-block-end: 0;
}
.card-action .card-header .card-action-title {
  flex-grow: 1;
  margin-inline-end: 0.5rem;
}
.card-action .card-header .card-action-element a {
  color: var(--bs-heading-color);
}
.card-action .notiflix-block h5, .card-action .notiflix-block .h5 {
  color: var(--bs-body-color);
  margin-block: 1rem 0;
}
.card-action .collapse > .card-body,
.card-action .collapsing > .card-body {
  padding-block-start: 0;
}

/* Generate contextual modifier classes for colorizing the border bottom and shadow in the card */
.card-border-shadow-primary {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-primary));
  --bs-card-hover-border-bottom-color: var(--bs-primary);
}

.card-hover-border-primary {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-primary));
}

.card-border-shadow-secondary {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-secondary));
  --bs-card-hover-border-bottom-color: var(--bs-secondary);
}

.card-hover-border-secondary {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-secondary));
}

.card-border-shadow-success {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-success));
  --bs-card-hover-border-bottom-color: var(--bs-success);
}

.card-hover-border-success {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-success));
}

.card-border-shadow-info {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-info));
  --bs-card-hover-border-bottom-color: var(--bs-info);
}

.card-hover-border-info {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-info));
}

.card-border-shadow-warning {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-warning));
  --bs-card-hover-border-bottom-color: var(--bs-warning);
}

.card-hover-border-warning {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-warning));
}

.card-border-shadow-danger {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-danger));
  --bs-card-hover-border-bottom-color: var(--bs-danger);
}

.card-hover-border-danger {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-danger));
}

.card-border-shadow-light {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-light));
  --bs-card-hover-border-bottom-color: var(--bs-light);
}

.card-hover-border-light {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-light));
}

.card-border-shadow-dark {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-dark));
  --bs-card-hover-border-bottom-color: var(--bs-dark);
}

.card-hover-border-dark {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-dark));
}

.card-border-shadow-gray {
  --bs-card-border-bottom-color: color-mix(in sRGB, var(--bs-card-bg) var(--bs-border-subtle-amount), var(--bs-gray));
  --bs-card-hover-border-bottom-color: var(--bs-gray);
}

.card-hover-border-gray {
  --bs-card-hover-border-color: color-mix(in sRGB, var(--bs-card-bg) 62%, var(--bs-gray));
}

.accordion {
  --bs-accordion-box-shadow: 0 0.0625rem 0.375rem 0 rgba(47, 43, 61, 0.1);
  --bs-accordion-active-box-shadow: 0 0.1875rem 0.75rem 0 rgba(47, 43, 61, 0.14);
  --bs-accordion-active-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-active-bg: var(--bs-accordion-active-bg);
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-btn-focus-shadow-width: 0;
}
.accordion .accordion-button {
  padding-inline-start: 1.4375rem;
}
.accordion .accordion-button::after {
  background: var(--bs-accordion-btn-color);
  -webkit-mask-image: var(--bs-accordion-btn-icon);
          mask-image: var(--bs-accordion-btn-icon);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
.accordion .accordion-button:not(.collapsed)::after {
  -webkit-mask-image: var(--bs-accordion-btn-active-icon);
          mask-image: var(--bs-accordion-btn-active-icon);
}
.accordion .accordion-body {
  padding-inline-start: 1.4375rem;
}
.accordion.accordion-without-arrow .accordion-button::after {
  background: none;
}
.accordion:not(.accordion-custom-button):not(.accordion-arrow-left) .accordion-item {
  border-radius: var(--bs-accordion-border-radius);
}
.accordion:not(.accordion-custom-button):not(.accordion-arrow-left) .accordion-item > .accordion-header .accordion-button {
  border-radius: var(--bs-accordion-inner-border-radius);
}
.accordion:not(.accordion-custom-button):not(.accordion-arrow-left) .accordion-item:not(:first-of-type) {
  border-block-start: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion:not(.accordion-custom-button):not(.accordion-arrow-left) .accordion-item:not(:last-of-type) {
  margin-block-end: 0.5rem;
}
.accordion[class*=accordion-outline-] {
  --bs-accordion-box-shadow: none;
  --bs-accordion-active-box-shadow: none;
  --bs-accordion-bg: transparent;
  --bs-accordion-active-bg: transparent;
  --bs-accordion-border-width: var(--bs-border-width);
}
.accordion[class*=border-background-] {
  --bs-accordion-box-shadow: none;
  --bs-accordion-active-box-shadow: none;
  --bs-accordion-border-width: var(--bs-border-width);
}
.accordion[class*=accordion-border-solid-] {
  --bs-accordion-box-shadow: none;
  --bs-accordion-active-box-shadow: none;
  --bs-accordion-border-width: var(--bs-border-width);
}
.accordion[class*=accordion-border-solid-] .accordion-button.collapsed::after {
  background-image: url("data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 7.5L10 12.5L15 7.5' stroke='CURRE' stroke-opacity='0.9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
}

.accordion-item {
  box-shadow: var(--bs-accordion-box-shadow);
}
.accordion-item.active {
  background-color: var(--bs-accordion-active-bg);
  box-shadow: var(--bs-accordion-active-box-shadow);
}

.accordion-header {
  line-height: 1.375;
}
.accordion-header + .accordion-collapse .accordion-body {
  padding-block-start: 0;
}

/* Accordion border radius */
.accordion-button {
  font-weight: inherit;
}
.accordion-button::after {
  margin-inline-end: initial;
  margin-inline-start: auto;
}
.accordion-button:not(.collapsed) {
  background-color: var(--bs-accordion-btn-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-btn-focus-shadow-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button.collapsed::after {
  transform: rotate(-90deg);
}
:dir(rtl) .accordion-button.collapsed::after {
  transform: rotate(90deg);
}

/* arrow left */
.accordion-arrow-left {
  --bs-accordion-box-shadow: none;
  --bs-accordion-active-box-shadow: none;
  --bs-accordion-btn-padding-y: calc(0.731rem + .0625rem);
  --bs-accordion-btn-padding-x: 0;
  --bs-accordion-body-padding-y: calc(1.1875rem + .0625rem);
}
.accordion-arrow-left .accordion-item:not(:first-of-type) {
  border-block-start: var(--bs-border-width) solid var(--bs-accordion-border-color);
}
.accordion-arrow-left .accordion-button {
  padding-inline: 0;
}
.accordion-arrow-left .accordion-button::after {
  display: none;
}
.accordion-arrow-left .accordion-button:not(.collapsed)::before {
  background: var(--bs-accordion-active-color);
  -webkit-mask-image: var(--bs-accordion-btn-active-icon);
          mask-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-arrow-left .accordion-button.collapsed::before {
  transform: rotate(-90deg);
}
.accordion-arrow-left .accordion-button::before {
  background: var(--bs-accordion-btn-color);
  block-size: var(--bs-accordion-btn-icon-width);
  content: "";
  inline-size: var(--bs-accordion-btn-icon-width);
  margin-inline: 0 0.9rem;
  -webkit-mask-image: var(--bs-accordion-btn-icon);
          mask-image: var(--bs-accordion-btn-icon);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-arrow-left .accordion-button::before {
    transition: none;
  }
}
.accordion-arrow-left .accordion-header + .accordion-collapse .accordion-body {
  padding-inline-start: calc(1.1875rem + 0.0625rem);
}

/* Accordion custom button */
.accordion-custom-button {
  --bs-accordion-box-shadow: none;
  --bs-accordion-active-box-shadow: none;
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-btn-bg: #fafafa;
  --bs-accordion-btn-active-bg: #fafafa;
  --bs-accordion-btn-padding-y: calc(0.731rem + .02rem);
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-btn-focus-shadow-width: var(--bs-border-width);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23444050' viewBox='0 0 24 24'%3E%3Cpath d='M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z'%3E%3C/path%3E%3C/svg%3E");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23444050' viewBox='0 0 24 24'%3E%3Cpath d='M5 11h14v2H5z'%3E%3C/path%3E%3C/svg%3E");
}
.accordion-custom-button .accordion-item .accordion-body {
  padding-block-start: 1.1875rem;
}

/* Generate contextual modifier classes for colorizing the alert */
.accordion-header-primary {
  --bs-accordion-active-color: var(--bs-primary);
}

.accordion-border-background-primary {
  --bs-accordion-color: var(--bs-primary);
  --bs-accordion-active-color: var(--bs-primary);
  --bs-accordion-border-color: var(--bs-primary);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary));
  --bs-accordion-btn-color: var(--bs-primary);
}

.accordion-outline-primary {
  --bs-accordion-border-color: var(--bs-primary);
}

.accordion-solid-primary {
  --bs-accordion-color: var(--bs-primary-contrast);
  --bs-accordion-active-color: var(--bs-primary-contrast);
  --bs-accordion-btn-color: var(--bs-primary-contrast);
  --bs-accordion-border-color: var(--bs-primary);
  --bs-accordion-bg: var(--bs-primary);
  --bs-accordion-active-bg: var(--bs-primary);
}

.accordion-border-solid-primary {
  --bs-accordion-btn-color: var(--bs-primary-contrast);
  --bs-accordion-border-color: var(--bs-primary);
  --bs-accordion-bg: var(--bs-primary);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary));
  --bs-accordion-active-color: var(--bs-primary);
}

.accordion-header-secondary {
  --bs-accordion-active-color: var(--bs-secondary);
}

.accordion-border-background-secondary {
  --bs-accordion-color: var(--bs-secondary);
  --bs-accordion-active-color: var(--bs-secondary);
  --bs-accordion-border-color: var(--bs-secondary);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-secondary));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-secondary));
  --bs-accordion-btn-color: var(--bs-secondary);
}

.accordion-outline-secondary {
  --bs-accordion-border-color: var(--bs-secondary);
}

.accordion-solid-secondary {
  --bs-accordion-color: var(--bs-secondary-contrast);
  --bs-accordion-active-color: var(--bs-secondary-contrast);
  --bs-accordion-btn-color: var(--bs-secondary-contrast);
  --bs-accordion-border-color: var(--bs-secondary);
  --bs-accordion-bg: var(--bs-secondary);
  --bs-accordion-active-bg: var(--bs-secondary);
}

.accordion-border-solid-secondary {
  --bs-accordion-btn-color: var(--bs-secondary-contrast);
  --bs-accordion-border-color: var(--bs-secondary);
  --bs-accordion-bg: var(--bs-secondary);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-secondary));
  --bs-accordion-active-color: var(--bs-secondary);
}

.accordion-header-success {
  --bs-accordion-active-color: var(--bs-success);
}

.accordion-border-background-success {
  --bs-accordion-color: var(--bs-success);
  --bs-accordion-active-color: var(--bs-success);
  --bs-accordion-border-color: var(--bs-success);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-success));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-success));
  --bs-accordion-btn-color: var(--bs-success);
}

.accordion-outline-success {
  --bs-accordion-border-color: var(--bs-success);
}

.accordion-solid-success {
  --bs-accordion-color: var(--bs-success-contrast);
  --bs-accordion-active-color: var(--bs-success-contrast);
  --bs-accordion-btn-color: var(--bs-success-contrast);
  --bs-accordion-border-color: var(--bs-success);
  --bs-accordion-bg: var(--bs-success);
  --bs-accordion-active-bg: var(--bs-success);
}

.accordion-border-solid-success {
  --bs-accordion-btn-color: var(--bs-success-contrast);
  --bs-accordion-border-color: var(--bs-success);
  --bs-accordion-bg: var(--bs-success);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-success));
  --bs-accordion-active-color: var(--bs-success);
}

.accordion-header-info {
  --bs-accordion-active-color: var(--bs-info);
}

.accordion-border-background-info {
  --bs-accordion-color: var(--bs-info);
  --bs-accordion-active-color: var(--bs-info);
  --bs-accordion-border-color: var(--bs-info);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-info));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-info));
  --bs-accordion-btn-color: var(--bs-info);
}

.accordion-outline-info {
  --bs-accordion-border-color: var(--bs-info);
}

.accordion-solid-info {
  --bs-accordion-color: var(--bs-info-contrast);
  --bs-accordion-active-color: var(--bs-info-contrast);
  --bs-accordion-btn-color: var(--bs-info-contrast);
  --bs-accordion-border-color: var(--bs-info);
  --bs-accordion-bg: var(--bs-info);
  --bs-accordion-active-bg: var(--bs-info);
}

.accordion-border-solid-info {
  --bs-accordion-btn-color: var(--bs-info-contrast);
  --bs-accordion-border-color: var(--bs-info);
  --bs-accordion-bg: var(--bs-info);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-info));
  --bs-accordion-active-color: var(--bs-info);
}

.accordion-header-warning {
  --bs-accordion-active-color: var(--bs-warning);
}

.accordion-border-background-warning {
  --bs-accordion-color: var(--bs-warning);
  --bs-accordion-active-color: var(--bs-warning);
  --bs-accordion-border-color: var(--bs-warning);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-warning));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-warning));
  --bs-accordion-btn-color: var(--bs-warning);
}

.accordion-outline-warning {
  --bs-accordion-border-color: var(--bs-warning);
}

.accordion-solid-warning {
  --bs-accordion-color: var(--bs-warning-contrast);
  --bs-accordion-active-color: var(--bs-warning-contrast);
  --bs-accordion-btn-color: var(--bs-warning-contrast);
  --bs-accordion-border-color: var(--bs-warning);
  --bs-accordion-bg: var(--bs-warning);
  --bs-accordion-active-bg: var(--bs-warning);
}

.accordion-border-solid-warning {
  --bs-accordion-btn-color: var(--bs-warning-contrast);
  --bs-accordion-border-color: var(--bs-warning);
  --bs-accordion-bg: var(--bs-warning);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-warning));
  --bs-accordion-active-color: var(--bs-warning);
}

.accordion-header-danger {
  --bs-accordion-active-color: var(--bs-danger);
}

.accordion-border-background-danger {
  --bs-accordion-color: var(--bs-danger);
  --bs-accordion-active-color: var(--bs-danger);
  --bs-accordion-border-color: var(--bs-danger);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-danger));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-danger));
  --bs-accordion-btn-color: var(--bs-danger);
}

.accordion-outline-danger {
  --bs-accordion-border-color: var(--bs-danger);
}

.accordion-solid-danger {
  --bs-accordion-color: var(--bs-danger-contrast);
  --bs-accordion-active-color: var(--bs-danger-contrast);
  --bs-accordion-btn-color: var(--bs-danger-contrast);
  --bs-accordion-border-color: var(--bs-danger);
  --bs-accordion-bg: var(--bs-danger);
  --bs-accordion-active-bg: var(--bs-danger);
}

.accordion-border-solid-danger {
  --bs-accordion-btn-color: var(--bs-danger-contrast);
  --bs-accordion-border-color: var(--bs-danger);
  --bs-accordion-bg: var(--bs-danger);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-danger));
  --bs-accordion-active-color: var(--bs-danger);
}

.accordion-header-light {
  --bs-accordion-active-color: var(--bs-light);
}

.accordion-border-background-light {
  --bs-accordion-color: var(--bs-light);
  --bs-accordion-active-color: var(--bs-light);
  --bs-accordion-border-color: var(--bs-light);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-light));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-light));
  --bs-accordion-btn-color: var(--bs-light);
}

.accordion-outline-light {
  --bs-accordion-border-color: var(--bs-light);
}

.accordion-solid-light {
  --bs-accordion-color: var(--bs-light-contrast);
  --bs-accordion-active-color: var(--bs-light-contrast);
  --bs-accordion-btn-color: var(--bs-light-contrast);
  --bs-accordion-border-color: var(--bs-light);
  --bs-accordion-bg: var(--bs-light);
  --bs-accordion-active-bg: var(--bs-light);
}

.accordion-border-solid-light {
  --bs-accordion-btn-color: var(--bs-light-contrast);
  --bs-accordion-border-color: var(--bs-light);
  --bs-accordion-bg: var(--bs-light);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-light));
  --bs-accordion-active-color: var(--bs-light);
}

.accordion-header-dark {
  --bs-accordion-active-color: var(--bs-dark);
}

.accordion-border-background-dark {
  --bs-accordion-color: var(--bs-dark);
  --bs-accordion-active-color: var(--bs-dark);
  --bs-accordion-border-color: var(--bs-dark);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-dark));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-dark));
  --bs-accordion-btn-color: var(--bs-dark);
}

.accordion-outline-dark {
  --bs-accordion-border-color: var(--bs-dark);
}

.accordion-solid-dark {
  --bs-accordion-color: var(--bs-dark-contrast);
  --bs-accordion-active-color: var(--bs-dark-contrast);
  --bs-accordion-btn-color: var(--bs-dark-contrast);
  --bs-accordion-border-color: var(--bs-dark);
  --bs-accordion-bg: var(--bs-dark);
  --bs-accordion-active-bg: var(--bs-dark);
}

.accordion-border-solid-dark {
  --bs-accordion-btn-color: var(--bs-dark-contrast);
  --bs-accordion-border-color: var(--bs-dark);
  --bs-accordion-bg: var(--bs-dark);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-dark));
  --bs-accordion-active-color: var(--bs-dark);
}

.accordion-header-gray {
  --bs-accordion-active-color: var(--bs-gray);
}

.accordion-border-background-gray {
  --bs-accordion-color: var(--bs-gray);
  --bs-accordion-active-color: var(--bs-gray);
  --bs-accordion-border-color: var(--bs-gray);
  --bs-accordion-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-gray));
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-gray));
  --bs-accordion-btn-color: var(--bs-gray);
}

.accordion-outline-gray {
  --bs-accordion-border-color: var(--bs-gray);
}

.accordion-solid-gray {
  --bs-accordion-color: var(--bs-gray-contrast);
  --bs-accordion-active-color: var(--bs-gray-contrast);
  --bs-accordion-btn-color: var(--bs-gray-contrast);
  --bs-accordion-border-color: var(--bs-gray);
  --bs-accordion-bg: var(--bs-gray);
  --bs-accordion-active-bg: var(--bs-gray);
}

.accordion-border-solid-gray {
  --bs-accordion-btn-color: var(--bs-gray-contrast);
  --bs-accordion-border-color: var(--bs-gray);
  --bs-accordion-bg: var(--bs-gray);
  --bs-accordion-active-bg: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-gray));
  --bs-accordion-active-color: var(--bs-gray);
}

/* Dark Theme */
[data-bs-theme=dark] .accordion:not([class*=accordion-border-background-], [class*=accordion-border-solid-], [class*=accordion-solid-]) {
  --bs-accordion-btn-color: #cfcde4;
}
[data-bs-theme=dark] .accordion:not([class*=accordion-header-], [class*=accordion-border-background-], [class*=accordion-border-solid-], [class*=accordion-solid-]) {
  --bs-accordion-active-color: #cfcde4;
}
[data-bs-theme=dark] .accordion-custom-button {
  --bs-accordion-btn-bg: #353a52;
  --bs-accordion-btn-active-bg: #353a52;
}
[data-bs-theme=dark] .accordion-custom-button .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23cfcde4' viewBox='0 0 24 24'%3E%3Cpath d='M19 11h-6V5h-2v6H5v2h6v6h2v-6h6z'%3E%3C/path%3E%3C/svg%3E");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23cfcde4' viewBox='0 0 24 24'%3E%3Cpath d='M5 11h14v2H5z'%3E%3C/path%3E%3C/svg%3E");
}

.breadcrumb {
  --bs-breadcrumb-color: var(--bs-primary);
}

.breadcrumb-item a {
  color: var(--bs-breadcrumb-color);
}
.breadcrumb-item a:hover, .breadcrumb-item a:focus {
  color: color-mix(in sRGB, var(--bs-white) 10%, var(--bs-primary));
}
.breadcrumb-item .icon-base.breadcrumb-icon {
  color: var(--bs-breadcrumb-divider-color);
}

.breadcrumb-item.active a, .breadcrumb-item.active a:hover, .breadcrumb-item.active a:focus, .breadcrumb-item.active a:active {
  color: inherit;
}

.breadcrumb-custom-icon .breadcrumb-item + .breadcrumb-item::before {
  content: none !important;
}

:dir(rtl) .breadcrumb-item + .breadcrumb-item {
  padding-inline: 0.5rem 0;
}
:dir(rtl) .breadcrumb-item + .breadcrumb-item::before {
  content: "\\";
  float: inline-start;
  padding-inline: 0 0.5rem;
}
:dir(rtl) .breadcrumb-item .icon-base.breadcrumb-icon {
  transform: scaleX(-1);
}

/* Pagination
******************************************************************************* */
.pagination {
  --bs-pagination-box-shadow-color: var(--bs-primary-rgb);
  --bs-pagination-waves-effect-color: var(--bs-primary-rgb);
}
.pagination[class*=pagination-outline-] .page-item.active .page-link {
  box-shadow: none;
}
.pagination[class*=pagination-outline-] .page-item.active .page-link.waves-effect .waves-ripple {
  background: radial-gradient(rgba(var(--bs-pagination-waves-effect-color), 0.2) 0, rgba(var(--bs-pagination-waves-effect-color), 0.3) 40%, rgba(var(--bs-pagination-waves-effect-color), 0.4) 50%, rgba(var(--bs-pagination-waves-effect-color), 0.5) 60%, rgba(47, 43, 61, 0) 70%);
}
.pagination[class*=pagination-outline-] .page-item:not(.active) .page-link, .pagination[class*=pagination-outline-] li > a:not(.page-link) {
  --bs-pagination-bg: transparent;
  --bs-pagination-hover-bg: #eaeaec;
  --bs-pagination-hover-color: var(--bs-pagination-color);
  --bs-pagination-hover-border-color: rgba(47, 43, 61, 0.22);
  --bs-pagination-focus-bg: #eaeaec;
  --bs-pagination-focus-color: var(--bs-pagination-color);
}
.pagination.pagination-lg {
  --bs-pagination-font-size: 1rem;
}
.pagination.pagination-sm {
  --bs-pagination-font-size: 0.8125rem;
}
.pagination .page-item:not(.disabled, .active) .page-link:focus, .pagination li > a:not(.page-link):focus {
  color: var(--bs-pagination-focus-color);
}
.pagination .page-item.active .page-link, .pagination li.active > a:not(.page-link) {
  box-shadow: 0 0.125rem 0.25rem 0 rgba(var(--bs-pagination-box-shadow-color), 0.4);
  color: var(--bs-pagination-active-color);
}
.pagination:not([class*=pagination-outline-]) .page-link {
  border-color: transparent;
}
.pagination:not([class*=pagination-outline-]) .page-item .page-link.waves-effect:not(.waves-light) .waves-ripple, .pagination:not([class*=pagination-outline-]) li > a:not(.page-link).waves-effect:not(.waves-light) .waves-ripple {
  background: radial-gradient(rgba(var(--bs-pagination-waves-effect-color), 0.2) 0, rgba(var(--bs-pagination-waves-effect-color), 0.3) 40%, rgba(var(--bs-pagination-waves-effect-color), 0.4) 50%, rgba(var(--bs-pagination-waves-effect-color), 0.5) 60%, rgba(47, 43, 61, 0) 70%);
}
.pagination.pagination-square .page-item a {
  border-radius: 0;
}
.pagination.pagination-round .page-item a {
  border-radius: 50%;
}
.pagination.pagination-rounded .page-item a {
  border-radius: 0.375rem;
}
.pagination.pagination-sm.pagination-rounded .page-item a {
  border-radius: 0.25rem;
}
.pagination.pagination-lg.pagination-rounded .page-item a {
  border-radius: 0.5rem;
}

/* Pagination disabled style */
.page-item.disabled .page-link, .page-item[disabled] .page-link {
  opacity: 0.45;
  pointer-events: none;
}

/* Pagination basic style */
.page-link,
.page-link > a {
  border-radius: 0.375rem;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-block-size: calc(2.2508625rem + calc(1px * 2));
  min-inline-size: calc(2.2505625rem + calc(1px * 2));
}

/* Sizing
******************************************************************************* */
/* Pagination Large */
.pagination-lg .page-link,
.pagination-lg > li > a:not(.page-link) {
  min-block-size: calc(2.8757925rem + calc(1px * 2));
  min-inline-size: calc(2.8759615rem + calc(1px * 2));
}

.pagination-lg > .page-item.first .page-link, .pagination-lg > .page-item.last .page-link, .pagination-lg > .page-item.next .page-link, .pagination-lg > .page-item.prev .page-link, .pagination-lg > .page-item.previous .page-link {
  padding-inline: 0.5965rem;
}

/* Pagination Small */
.pagination-sm .page-link,
.pagination-sm > li > a:not(.page-link) {
  min-block-size: calc(1.7501875rem + calc(1px * 2));
  min-inline-size: calc(1.7509515rem + calc(1px * 2));
}

.pagination-sm > .page-item.first .page-link, .pagination-sm > .page-item.last .page-link, .pagination-sm > .page-item.next .page-link, .pagination-sm > .page-item.prev .page-link, .pagination-sm > .page-item.previous .page-link {
  padding-block: 0.211rem;
  padding-inline: 0.211rem;
}

/* Add spacing between pagination items */
.pagination-sm .page-item + .page-item .page-link,
.pagination-sm .pagination li + li > a:not(.page-link) {
  margin-inline-start: 0.25rem;
}
.pagination-lg .page-item + .page-item .page-link,
.pagination-lg .pagination li + li > a:not(.page-link) {
  margin-inline-start: 0.5rem;
}

/* RTL pagination
******************************************************************************* */
/* Add spacing between pagination items */
:dir(rtl) .pagination {
  padding-inline-end: 0;
}
:dir(rtl) .page-item .page-link,
:dir(rtl) .pagination li > a:not(.page-link) {
  margin-inline: 0 0.375rem;
}
:dir(rtl) .page-item.first .page-link .icon-base, :dir(rtl) .page-item.last .page-link .icon-base, :dir(rtl) .page-item.next .page-link .icon-base, :dir(rtl) .page-item.prev .page-link .icon-base, :dir(rtl) .page-item.previous .page-link .icon-base {
  transform: rotate(180deg);
}

/* Dark theme
******************************************************************************* */
[data-bs-theme=dark] .pagination {
  --bs-pagination-color: #cfcde4;
  --bs-pagination-bg: #3d4157;
  --bs-pagination-disabled-color: var(--bs-pagination-color);
}
[data-bs-theme=dark] .pagination[class*=pagination-outline-] .page-item:not(.active) .page-link, [data-bs-theme=dark] .pagination[class*=pagination-outline-] li > a:not(.page-link) {
  --bs-pagination-border-color: rgba(255, 255, 255, 0.22);
  --bs-pagination-hover-bg: #3d4157;
  --bs-pagination-hover-border-color: var(--bs-pagination-border-color);
  --bs-pagination-focus-bg: var(--bs-pagination-hover-bg);
  --bs-pagination-disabled-border-color: var(--bs-pagination-border-color);
}

.pagination.pagination-primary {
  --bs-pagination-hover-bg: var(--bs-primary-bg-subtle);
  --bs-pagination-hover-color: var(--bs-primary);
  --bs-pagination-focus-bg: var(--bs-primary-bg-subtle);
  --bs-pagination-focus-color: var(--bs-primary);
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-box-shadow-color: var(--bs-primary-rgb);
  --bs-pagination-waves-effect-color: var(--bs-primary-rgb);
}
.pagination.pagination-outline-primary {
  --bs-pagination-active-bg: var(--bs-primary-bg-subtle);
  --bs-pagination-active-color: var(--bs-primary);
  --bs-pagination-active-border-color: var(--bs-primary);
  --bs-pagination-waves-effect-color: var(--bs-primary-rgb);
}

.pagination.pagination-secondary {
  --bs-pagination-hover-bg: var(--bs-secondary-bg-subtle);
  --bs-pagination-hover-color: var(--bs-secondary);
  --bs-pagination-focus-bg: var(--bs-secondary-bg-subtle);
  --bs-pagination-focus-color: var(--bs-secondary);
  --bs-pagination-active-bg: var(--bs-secondary);
  --bs-pagination-box-shadow-color: var(--bs-secondary-rgb);
  --bs-pagination-waves-effect-color: var(--bs-secondary-rgb);
}
.pagination.pagination-outline-secondary {
  --bs-pagination-active-bg: var(--bs-secondary-bg-subtle);
  --bs-pagination-active-color: var(--bs-secondary);
  --bs-pagination-active-border-color: var(--bs-secondary);
  --bs-pagination-waves-effect-color: var(--bs-secondary-rgb);
}

.pagination.pagination-success {
  --bs-pagination-hover-bg: var(--bs-success-bg-subtle);
  --bs-pagination-hover-color: var(--bs-success);
  --bs-pagination-focus-bg: var(--bs-success-bg-subtle);
  --bs-pagination-focus-color: var(--bs-success);
  --bs-pagination-active-bg: var(--bs-success);
  --bs-pagination-box-shadow-color: var(--bs-success-rgb);
  --bs-pagination-waves-effect-color: var(--bs-success-rgb);
}
.pagination.pagination-outline-success {
  --bs-pagination-active-bg: var(--bs-success-bg-subtle);
  --bs-pagination-active-color: var(--bs-success);
  --bs-pagination-active-border-color: var(--bs-success);
  --bs-pagination-waves-effect-color: var(--bs-success-rgb);
}

.pagination.pagination-info {
  --bs-pagination-hover-bg: var(--bs-info-bg-subtle);
  --bs-pagination-hover-color: var(--bs-info);
  --bs-pagination-focus-bg: var(--bs-info-bg-subtle);
  --bs-pagination-focus-color: var(--bs-info);
  --bs-pagination-active-bg: var(--bs-info);
  --bs-pagination-box-shadow-color: var(--bs-info-rgb);
  --bs-pagination-waves-effect-color: var(--bs-info-rgb);
}
.pagination.pagination-outline-info {
  --bs-pagination-active-bg: var(--bs-info-bg-subtle);
  --bs-pagination-active-color: var(--bs-info);
  --bs-pagination-active-border-color: var(--bs-info);
  --bs-pagination-waves-effect-color: var(--bs-info-rgb);
}

.pagination.pagination-warning {
  --bs-pagination-hover-bg: var(--bs-warning-bg-subtle);
  --bs-pagination-hover-color: var(--bs-warning);
  --bs-pagination-focus-bg: var(--bs-warning-bg-subtle);
  --bs-pagination-focus-color: var(--bs-warning);
  --bs-pagination-active-bg: var(--bs-warning);
  --bs-pagination-box-shadow-color: var(--bs-warning-rgb);
  --bs-pagination-waves-effect-color: var(--bs-warning-rgb);
}
.pagination.pagination-outline-warning {
  --bs-pagination-active-bg: var(--bs-warning-bg-subtle);
  --bs-pagination-active-color: var(--bs-warning);
  --bs-pagination-active-border-color: var(--bs-warning);
  --bs-pagination-waves-effect-color: var(--bs-warning-rgb);
}

.pagination.pagination-danger {
  --bs-pagination-hover-bg: var(--bs-danger-bg-subtle);
  --bs-pagination-hover-color: var(--bs-danger);
  --bs-pagination-focus-bg: var(--bs-danger-bg-subtle);
  --bs-pagination-focus-color: var(--bs-danger);
  --bs-pagination-active-bg: var(--bs-danger);
  --bs-pagination-box-shadow-color: var(--bs-danger-rgb);
  --bs-pagination-waves-effect-color: var(--bs-danger-rgb);
}
.pagination.pagination-outline-danger {
  --bs-pagination-active-bg: var(--bs-danger-bg-subtle);
  --bs-pagination-active-color: var(--bs-danger);
  --bs-pagination-active-border-color: var(--bs-danger);
  --bs-pagination-waves-effect-color: var(--bs-danger-rgb);
}

.pagination.pagination-light {
  --bs-pagination-hover-bg: var(--bs-light-bg-subtle);
  --bs-pagination-hover-color: var(--bs-light);
  --bs-pagination-focus-bg: var(--bs-light-bg-subtle);
  --bs-pagination-focus-color: var(--bs-light);
  --bs-pagination-active-bg: var(--bs-light);
  --bs-pagination-box-shadow-color: var(--bs-light-rgb);
  --bs-pagination-waves-effect-color: var(--bs-light-rgb);
}
.pagination.pagination-outline-light {
  --bs-pagination-active-bg: var(--bs-light-bg-subtle);
  --bs-pagination-active-color: var(--bs-light);
  --bs-pagination-active-border-color: var(--bs-light);
  --bs-pagination-waves-effect-color: var(--bs-light-rgb);
}

.pagination.pagination-dark {
  --bs-pagination-hover-bg: var(--bs-dark-bg-subtle);
  --bs-pagination-hover-color: var(--bs-dark);
  --bs-pagination-focus-bg: var(--bs-dark-bg-subtle);
  --bs-pagination-focus-color: var(--bs-dark);
  --bs-pagination-active-bg: var(--bs-dark);
  --bs-pagination-box-shadow-color: var(--bs-dark-rgb);
  --bs-pagination-waves-effect-color: var(--bs-dark-rgb);
}
.pagination.pagination-outline-dark {
  --bs-pagination-active-bg: var(--bs-dark-bg-subtle);
  --bs-pagination-active-color: var(--bs-dark);
  --bs-pagination-active-border-color: var(--bs-dark);
  --bs-pagination-waves-effect-color: var(--bs-dark-rgb);
}

.pagination.pagination-gray {
  --bs-pagination-hover-bg: var(--bs-gray-bg-subtle);
  --bs-pagination-hover-color: var(--bs-gray);
  --bs-pagination-focus-bg: var(--bs-gray-bg-subtle);
  --bs-pagination-focus-color: var(--bs-gray);
  --bs-pagination-active-bg: var(--bs-gray);
  --bs-pagination-box-shadow-color: var(--bs-gray-rgb);
  --bs-pagination-waves-effect-color: var(--bs-gray-rgb);
}
.pagination.pagination-outline-gray {
  --bs-pagination-active-bg: var(--bs-gray-bg-subtle);
  --bs-pagination-active-color: var(--bs-gray);
  --bs-pagination-active-border-color: var(--bs-gray);
  --bs-pagination-waves-effect-color: var(--bs-gray-rgb);
}

.badge {
  --bs-badge-border-width: 0;
  --bs-badge-border-color: var(--bs-primary);
  --bs-badge-bg-color: var(--bs-primary);
  border: var(--bs-badge-border-width) var(--bs-border-style) var(--bs-badge-border-color);
  background-color: var(--bs-badge-bg-color);
  --bs-badge-border-radius: 0.25rem;
  --bs-badge-glow-shadow-color: var(--bs-primary-rgb);
}
.badge[class*=badge-outline] {
  --bs-badge-border-width: 1px;
  background-color: transparent;
  --bs-badge-padding-x: calc(0.77em - 0.0625rem);
  --bs-badge-padding-y: calc(0.4235em - 0.0625rem);
}
.badge.bg-glow[class*=bg-] {
  box-shadow: 0 0.125rem 0.188rem 0 rgba(var(--bs-badge-glow-shadow-color), 0.3);
}

/* Badge Center Style */
.badge-center {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
  block-size: 1.5rem;
  inline-size: 1.5rem;
  line-height: 1.375;
  --bs-badge-font-size: 0.8125rem;
}
.badge-center .icon-base {
  block-size: 0.875rem;
  font-size: 0.875rem;
  inline-size: 0.875rem;
}

/* Dots Style */
.badge.badge-dot {
  display: inline-block;
  padding: 0;
  border-radius: 50%;
  margin: 0;
  block-size: 0.5rem;
  inline-size: 0.5rem;
}

/* Notifications */
.badge.badge-notifications {
  position: absolute;
  margin: 0;
  inset-block-start: auto;
  transform: translate(-50%, -30%);
}
:dir(rtl) .badge.badge-notifications {
  transform: translate(50%, -30%);
}
.badge.badge-notifications:not(.badge-center) {
  font-size: 0.582rem;
  line-height: 0.75rem;
  padding-block: 0.05rem;
  padding-inline: 0.2rem;
}
.btn[class*=btn-] .badge.badge-notifications {
  transform: translate(-50%, -50%);
}
:dir(rtl) .btn[class*=btn-] .badge.badge-notifications {
  transform: translate(50%, -50%);
}

.badge-outline-primary,
.btn[class*=-outline] .badge-outline-primary {
  --bs-badge-color: var(--bs-primary);
  --bs-badge-border-color: var(--bs-primary);
}

.bg-primary.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-primary-rgb);
}

.badge-outline-secondary,
.btn[class*=-outline] .badge-outline-secondary {
  --bs-badge-color: var(--bs-secondary);
  --bs-badge-border-color: var(--bs-secondary);
}

.bg-secondary.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-secondary-rgb);
}

.badge-outline-success,
.btn[class*=-outline] .badge-outline-success {
  --bs-badge-color: var(--bs-success);
  --bs-badge-border-color: var(--bs-success);
}

.bg-success.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-success-rgb);
}

.badge-outline-info,
.btn[class*=-outline] .badge-outline-info {
  --bs-badge-color: var(--bs-info);
  --bs-badge-border-color: var(--bs-info);
}

.bg-info.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-info-rgb);
}

.badge-outline-warning,
.btn[class*=-outline] .badge-outline-warning {
  --bs-badge-color: var(--bs-warning);
  --bs-badge-border-color: var(--bs-warning);
}

.bg-warning.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-warning-rgb);
}

.badge-outline-danger,
.btn[class*=-outline] .badge-outline-danger {
  --bs-badge-color: var(--bs-danger);
  --bs-badge-border-color: var(--bs-danger);
}

.bg-danger.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-danger-rgb);
}

.badge-outline-light,
.btn[class*=-outline] .badge-outline-light {
  --bs-badge-color: var(--bs-light);
  --bs-badge-border-color: var(--bs-light);
}

.bg-light.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-light-rgb);
}

.badge-outline-dark,
.btn[class*=-outline] .badge-outline-dark {
  --bs-badge-color: var(--bs-dark);
  --bs-badge-border-color: var(--bs-dark);
}

.bg-dark.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-dark-rgb);
}

.badge-outline-gray,
.btn[class*=-outline] .badge-outline-gray {
  --bs-badge-color: var(--bs-gray);
  --bs-badge-border-color: var(--bs-gray);
}

.bg-gray.bg-glow {
  --bs-badge-glow-shadow-color: var(--bs-gray-rgb);
}

/* Alert icon styles */
.alert {
  --bs-alert-link-hover-color: var(--bs-primary);
  --bs-alert-hr: var(--bs-black);
  --bs-alert-icon-color: var(--bs-white);
  --bs-alert-icon-bg: var(--bs-black);
  --bs-alert-close-icon: var(--bs-black);
  line-height: 1.375rem;
}
.alert[class*=alert-] hr {
  background-color: var(--bs-alert-hr);
  color: var(--bs-alert-hr);
}
.alert .alert-link:hover {
  color: var(--bs-alert-link-hover-color);
}
.alert .alert-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bs-alert-icon-bg);
  block-size: 1.875rem;
  color: var(--bs-alert-icon-color);
  inline-size: 1.875rem;
  margin-inline-end: 1rem;
}
.alert[class*=alert-solid-] {
  --bs-alert-link-color: var(--bs-white);
  --bs-alert-link-hover-color: var(--bs-white);
  --bs-alert-hr: var(--bs-white);
  --bs-alert-icon-bg: var(--bs-white);
  --bs-alert-close-icon: var(--bs-white);
}
.alert[class*=alert-solid-] .alert-icon {
  box-shadow: 0 0.0625rem 0.375rem 0 rgba(47, 43, 61, 0.1);
}

/* Adjust close link position */
.alert-dismissible {
  padding-inline-end: 2.8125rem;
  padding-inline-start: 0.9375rem;
}
.alert-dismissible .btn-close {
  padding: 0;
  background: var(--bs-alert-close-icon);
  block-size: 0.8125rem;
  filter: none;
  inline-size: 0.8125rem;
  inset-inline: auto 0;
  margin-block: calc(0.68755rem * 1.35);
  margin-inline: calc(0.9375rem * 1.15);
  -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>");
          mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary);
  --bs-alert-close-icon: var(--bs-primary);
  --bs-alert-link-color: var(--bs-primary);
  --bs-alert-link-hover-color: var(--bs-primary);
  --bs-alert-hr: var(--bs-primary);
  --bs-alert-icon-bg: var(--bs-primary);
  --bs-alert-border-color: var(--bs-primary-bg-subtle);
}

.alert-solid-primary {
  --bs-alert-color: var(--bs-primary-contrast);
  --bs-alert-bg: var(--bs-primary);
  --bs-alert-border-color: var(--bs-primary);
  --bs-alert-icon-color: var(--bs-primary);
}

.alert-outline-primary {
  --bs-alert-color: var(--bs-primary);
  --bs-alert-close-icon: var(--bs-primary);
  --bs-alert-link-color: var(--bs-primary);
  --bs-alert-link-hover-color: var(--bs-primary);
  --bs-alert-border-color: var(--bs-primary);
  --bs-alert-hr: var(--bs-primary);
  --bs-alert-icon-color: var(--bs-primary);
  --bs-alert-icon-bg: var(--bs-primary-bg-subtle);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary);
  --bs-alert-close-icon: var(--bs-secondary);
  --bs-alert-link-color: var(--bs-secondary);
  --bs-alert-link-hover-color: var(--bs-secondary);
  --bs-alert-hr: var(--bs-secondary);
  --bs-alert-icon-bg: var(--bs-secondary);
  --bs-alert-border-color: var(--bs-secondary-bg-subtle);
}

.alert-solid-secondary {
  --bs-alert-color: var(--bs-secondary-contrast);
  --bs-alert-bg: var(--bs-secondary);
  --bs-alert-border-color: var(--bs-secondary);
  --bs-alert-icon-color: var(--bs-secondary);
}

.alert-outline-secondary {
  --bs-alert-color: var(--bs-secondary);
  --bs-alert-close-icon: var(--bs-secondary);
  --bs-alert-link-color: var(--bs-secondary);
  --bs-alert-link-hover-color: var(--bs-secondary);
  --bs-alert-border-color: var(--bs-secondary);
  --bs-alert-hr: var(--bs-secondary);
  --bs-alert-icon-color: var(--bs-secondary);
  --bs-alert-icon-bg: var(--bs-secondary-bg-subtle);
}

.alert-success {
  --bs-alert-color: var(--bs-success);
  --bs-alert-close-icon: var(--bs-success);
  --bs-alert-link-color: var(--bs-success);
  --bs-alert-link-hover-color: var(--bs-success);
  --bs-alert-hr: var(--bs-success);
  --bs-alert-icon-bg: var(--bs-success);
  --bs-alert-border-color: var(--bs-success-bg-subtle);
}

.alert-solid-success {
  --bs-alert-color: var(--bs-success-contrast);
  --bs-alert-bg: var(--bs-success);
  --bs-alert-border-color: var(--bs-success);
  --bs-alert-icon-color: var(--bs-success);
}

.alert-outline-success {
  --bs-alert-color: var(--bs-success);
  --bs-alert-close-icon: var(--bs-success);
  --bs-alert-link-color: var(--bs-success);
  --bs-alert-link-hover-color: var(--bs-success);
  --bs-alert-border-color: var(--bs-success);
  --bs-alert-hr: var(--bs-success);
  --bs-alert-icon-color: var(--bs-success);
  --bs-alert-icon-bg: var(--bs-success-bg-subtle);
}

.alert-info {
  --bs-alert-color: var(--bs-info);
  --bs-alert-close-icon: var(--bs-info);
  --bs-alert-link-color: var(--bs-info);
  --bs-alert-link-hover-color: var(--bs-info);
  --bs-alert-hr: var(--bs-info);
  --bs-alert-icon-bg: var(--bs-info);
  --bs-alert-border-color: var(--bs-info-bg-subtle);
}

.alert-solid-info {
  --bs-alert-color: var(--bs-info-contrast);
  --bs-alert-bg: var(--bs-info);
  --bs-alert-border-color: var(--bs-info);
  --bs-alert-icon-color: var(--bs-info);
}

.alert-outline-info {
  --bs-alert-color: var(--bs-info);
  --bs-alert-close-icon: var(--bs-info);
  --bs-alert-link-color: var(--bs-info);
  --bs-alert-link-hover-color: var(--bs-info);
  --bs-alert-border-color: var(--bs-info);
  --bs-alert-hr: var(--bs-info);
  --bs-alert-icon-color: var(--bs-info);
  --bs-alert-icon-bg: var(--bs-info-bg-subtle);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning);
  --bs-alert-close-icon: var(--bs-warning);
  --bs-alert-link-color: var(--bs-warning);
  --bs-alert-link-hover-color: var(--bs-warning);
  --bs-alert-hr: var(--bs-warning);
  --bs-alert-icon-bg: var(--bs-warning);
  --bs-alert-border-color: var(--bs-warning-bg-subtle);
}

.alert-solid-warning {
  --bs-alert-color: var(--bs-warning-contrast);
  --bs-alert-bg: var(--bs-warning);
  --bs-alert-border-color: var(--bs-warning);
  --bs-alert-icon-color: var(--bs-warning);
}

.alert-outline-warning {
  --bs-alert-color: var(--bs-warning);
  --bs-alert-close-icon: var(--bs-warning);
  --bs-alert-link-color: var(--bs-warning);
  --bs-alert-link-hover-color: var(--bs-warning);
  --bs-alert-border-color: var(--bs-warning);
  --bs-alert-hr: var(--bs-warning);
  --bs-alert-icon-color: var(--bs-warning);
  --bs-alert-icon-bg: var(--bs-warning-bg-subtle);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger);
  --bs-alert-close-icon: var(--bs-danger);
  --bs-alert-link-color: var(--bs-danger);
  --bs-alert-link-hover-color: var(--bs-danger);
  --bs-alert-hr: var(--bs-danger);
  --bs-alert-icon-bg: var(--bs-danger);
  --bs-alert-border-color: var(--bs-danger-bg-subtle);
}

.alert-solid-danger {
  --bs-alert-color: var(--bs-danger-contrast);
  --bs-alert-bg: var(--bs-danger);
  --bs-alert-border-color: var(--bs-danger);
  --bs-alert-icon-color: var(--bs-danger);
}

.alert-outline-danger {
  --bs-alert-color: var(--bs-danger);
  --bs-alert-close-icon: var(--bs-danger);
  --bs-alert-link-color: var(--bs-danger);
  --bs-alert-link-hover-color: var(--bs-danger);
  --bs-alert-border-color: var(--bs-danger);
  --bs-alert-hr: var(--bs-danger);
  --bs-alert-icon-color: var(--bs-danger);
  --bs-alert-icon-bg: var(--bs-danger-bg-subtle);
}

.alert-light {
  --bs-alert-color: var(--bs-light);
  --bs-alert-close-icon: var(--bs-light);
  --bs-alert-link-color: var(--bs-light);
  --bs-alert-link-hover-color: var(--bs-light);
  --bs-alert-hr: var(--bs-light);
  --bs-alert-icon-bg: var(--bs-light);
  --bs-alert-border-color: var(--bs-light-bg-subtle);
}

.alert-solid-light {
  --bs-alert-color: var(--bs-light-contrast);
  --bs-alert-bg: var(--bs-light);
  --bs-alert-border-color: var(--bs-light);
  --bs-alert-icon-color: var(--bs-light);
}

.alert-outline-light {
  --bs-alert-color: var(--bs-light);
  --bs-alert-close-icon: var(--bs-light);
  --bs-alert-link-color: var(--bs-light);
  --bs-alert-link-hover-color: var(--bs-light);
  --bs-alert-border-color: var(--bs-light);
  --bs-alert-hr: var(--bs-light);
  --bs-alert-icon-color: var(--bs-light);
  --bs-alert-icon-bg: var(--bs-light-bg-subtle);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark);
  --bs-alert-close-icon: var(--bs-dark);
  --bs-alert-link-color: var(--bs-dark);
  --bs-alert-link-hover-color: var(--bs-dark);
  --bs-alert-hr: var(--bs-dark);
  --bs-alert-icon-bg: var(--bs-dark);
  --bs-alert-border-color: var(--bs-dark-bg-subtle);
}

.alert-solid-dark {
  --bs-alert-color: var(--bs-dark-contrast);
  --bs-alert-bg: var(--bs-dark);
  --bs-alert-border-color: var(--bs-dark);
  --bs-alert-icon-color: var(--bs-dark);
}

.alert-outline-dark {
  --bs-alert-color: var(--bs-dark);
  --bs-alert-close-icon: var(--bs-dark);
  --bs-alert-link-color: var(--bs-dark);
  --bs-alert-link-hover-color: var(--bs-dark);
  --bs-alert-border-color: var(--bs-dark);
  --bs-alert-hr: var(--bs-dark);
  --bs-alert-icon-color: var(--bs-dark);
  --bs-alert-icon-bg: var(--bs-dark-bg-subtle);
}

.alert-gray {
  --bs-alert-color: var(--bs-gray);
  --bs-alert-close-icon: var(--bs-gray);
  --bs-alert-link-color: var(--bs-gray);
  --bs-alert-link-hover-color: var(--bs-gray);
  --bs-alert-hr: var(--bs-gray);
  --bs-alert-icon-bg: var(--bs-gray);
  --bs-alert-border-color: var(--bs-gray-bg-subtle);
}

.alert-solid-gray {
  --bs-alert-color: var(--bs-gray-contrast);
  --bs-alert-bg: var(--bs-gray);
  --bs-alert-border-color: var(--bs-gray);
  --bs-alert-icon-color: var(--bs-gray);
}

.alert-outline-gray {
  --bs-alert-color: var(--bs-gray);
  --bs-alert-close-icon: var(--bs-gray);
  --bs-alert-link-color: var(--bs-gray);
  --bs-alert-link-hover-color: var(--bs-gray);
  --bs-alert-border-color: var(--bs-gray);
  --bs-alert-hr: var(--bs-gray);
  --bs-alert-icon-color: var(--bs-gray);
  --bs-alert-icon-bg: var(--bs-gray-bg-subtle);
}

/* Progress
******************************************************************************* */
.progress {
  --bs-progress-bar-shadow-color: rgba(var(--bs-primary-rgb), 0.3);
}
.progress .progress-bar {
  background-color: var(--bs-primary);
  box-shadow: 0 2px 4px 0 var(--bs-progress-bar-shadow-color);
  color: var(--bs-white);
}
.progress:has(:only-child) {
  overflow: visible;
}
.progress .progress-bar:first-child {
  border-end-start-radius: 3.125rem;
  border-start-start-radius: 3.125rem;
}
.progress .progress-bar:last-child {
  border-end-end-radius: 3.125rem;
  border-start-end-radius: 3.125rem;
}

/* RTL
******************************************************************************* */
:dir(rtl) .progress-bar-striped {
  background-image: linear-gradient(-45deg, rgba(var(--bs-white-rgb), 0.15) 25%, transparent 25%, transparent 50%, rgba(var(--bs-white-rgb), 0.15) 50%, rgba(var(--bs-white-rgb), 0.15) 75%, transparent 75%, transparent);
}
:dir(rtl) .progress-bar-animated {
  animation-direction: reverse;
}

.progress-bar.bg-primary {
  --bs-progress-bar-shadow-color: rgba(var(--bs-primary-rgb), .3);
}

.progress-bar.bg-secondary {
  --bs-progress-bar-shadow-color: rgba(var(--bs-secondary-rgb), .3);
}

.progress-bar.bg-success {
  --bs-progress-bar-shadow-color: rgba(var(--bs-success-rgb), .3);
}

.progress-bar.bg-info {
  --bs-progress-bar-shadow-color: rgba(var(--bs-info-rgb), .3);
}

.progress-bar.bg-warning {
  --bs-progress-bar-shadow-color: rgba(var(--bs-warning-rgb), .3);
}

.progress-bar.bg-danger {
  --bs-progress-bar-shadow-color: rgba(var(--bs-danger-rgb), .3);
}

.progress-bar.bg-light {
  --bs-progress-bar-shadow-color: rgba(var(--bs-light-rgb), .3);
}

.progress-bar.bg-dark {
  --bs-progress-bar-shadow-color: rgba(var(--bs-dark-rgb), .3);
}

.progress-bar.bg-gray {
  --bs-progress-bar-shadow-color: rgba(var(--bs-gray-rgb), .3);
}

/* List groups
******************************************************************************* */
/* List Group Mixin */
.list-group {
  --bs-list-group-timeline-bg: var(--bs-primary);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-active-border-color: var(--bs-border-color);
  --bs-list-group-action-hover-color: var(--bs-body-color);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-active-bg: var(--bs-primary-bg-subtle);
}
.list-group .list-group-item {
  line-height: 1.375rem;
  padding-block-end: calc(0.5rem - 1px);
}
.list-group:not([class*=list-group-flush]) .list-group-item:first-of-type {
  padding-block-start: calc(0.5rem - 1px);
}
.list-group[class*=list-group-flush] .list-group-item:last-of-type {
  padding-block-end: 0.5rem;
}
.list-group[class*=list-group-horizontal-md] .list-group-item {
  word-wrap: normal;
}
@media (min-width: 768px) {
  .list-group[class*=list-group-horizontal-md] .list-group-item {
    padding-block-start: calc(0.5rem - 1px);
  }
}
.list-group.list-group-timeline {
  position: relative;
}
.list-group.list-group-timeline::before {
  position: absolute;
  background-color: var(--bs-border-color);
  block-size: 100%;
  content: "";
  inline-size: 1px;
  inset-block: 0;
  inset-inline-start: 0.2rem;
}
.list-group.list-group-timeline .list-group-item {
  border: 0;
  padding-inline-start: 1.25rem;
}
.list-group.list-group-timeline .list-group-item::before {
  position: absolute;
  background-color: var(--bs-list-group-timeline-bg);
  block-size: 7px;
  content: "";
  inline-size: 7px;
  inset-block-start: 50%;
  inset-inline-start: 0;
  margin-block-start: -3.5px;
  border-radius: 100%;
}
.list-group .list-group-item.active {
  color: var(--bs-primary);
}
.list-group .list-group-item.active h1,
.list-group .list-group-item.active .h1,
.list-group .list-group-item.active h2,
.list-group .list-group-item.active .h2,
.list-group .list-group-item.active h3,
.list-group .list-group-item.active .h3,
.list-group .list-group-item.active h4,
.list-group .list-group-item.active .h4,
.list-group .list-group-item.active h5,
.list-group .list-group-item.active .h5,
.list-group .list-group-item.active h6,
.list-group .list-group-item.active .h6 {
  color: var(--bs-primary);
}
.list-group .list-group-item.active, .list-group .list-group-item.active:hover, .list-group .list-group-item.active:focus {
  --bs-list-group-color: var(--bs-primary);
}
.list-group .list-group-item-action {
  --bs-list-group-action-color: var(--bs-heading-color);
}

/* RTL
******************************************************************************* */
:dir(rtl) .list-group {
  padding-inline-start: 0;
}
:dir(rtl) .list-group.list-group-horizontal .list-group-item:first-child {
  border-radius: var(--bs-list-group-border-radius);
  border-end-start-radius: 0;
  border-start-start-radius: 0;
}
:dir(rtl) .list-group.list-group-horizontal .list-group-item:last-child {
  border-radius: var(--bs-list-group-border-radius);
  border-inline-end-width: 1px;
  border-end-end-radius: 0;
  border-start-end-radius: 0;
}
@media (min-width: 576px) {
  :dir(rtl) .list-group.list-group-horizontal-sm .list-group-item:first-child {
    border-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
    border-start-start-radius: 0;
  }
  :dir(rtl) .list-group.list-group-horizontal-sm .list-group-item:last-child {
    border-radius: var(--bs-list-group-border-radius);
    border-inline-end-width: 1px;
    border-end-end-radius: 0;
    border-start-end-radius: 0;
  }
}
@media (min-width: 768px) {
  :dir(rtl) .list-group.list-group-horizontal-md .list-group-item:first-child {
    border-radius: 0;
    border-end-start-radius: var(--bs-list-group-border-radius);
    border-start-start-radius: var(--bs-list-group-border-radius);
  }
  :dir(rtl) .list-group.list-group-horizontal-md .list-group-item:last-child {
    border-radius: 0;
    border-inline-end-width: 1px;
    border-end-end-radius: var(--bs-list-group-border-radius);
    border-start-end-radius: var(--bs-list-group-border-radius);
  }
}
@media (min-width: 992px) {
  :dir(rtl) .list-group.list-group-horizontal-lg .list-group-item:first-child {
    border-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
    border-start-start-radius: 0;
  }
  :dir(rtl) .list-group.list-group-horizontal-lg .list-group-item:last-child {
    border-radius: var(--bs-list-group-border-radius);
    border-inline-end-width: 1px;
    border-end-end-radius: 0;
    border-start-end-radius: 0;
  }
}
@media (min-width: 1200px) {
  :dir(rtl) .list-group.list-group-horizontal-xl .list-group-item:first-child {
    border-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
    border-start-start-radius: 0;
  }
  :dir(rtl) .list-group.list-group-horizontal-xl .list-group-item:last-child {
    border-radius: var(--bs-list-group-border-radius);
    border-inline-end-width: 1px;
    border-end-end-radius: 0;
    border-start-end-radius: 0;
  }
}
@media (min-width: 1400px) {
  :dir(rtl) .list-group.list-group-horizontal-xxl .list-group-item:first-child {
    border-radius: var(--bs-list-group-border-radius);
    border-end-start-radius: 0;
    border-start-start-radius: 0;
  }
  :dir(rtl) .list-group.list-group-horizontal-xxl .list-group-item:last-child {
    border-radius: var(--bs-list-group-border-radius);
    border-inline-end-width: 1px;
    border-end-end-radius: 0;
    border-start-end-radius: 0;
  }
}

[data-bs-theme=dark] .list-group {
  --bs-list-group-color: #cfcde4;
}

.list-group-item-primary {
  --bs-list-group-border-color: var(--bs-primary);
  --bs-list-group-active-border-color: var(--bs-primary);
  --bs-list-group-active-bg: var(--bs-primary);
  --bs-list-group-color: var(--bs-primary-text-emphasis);
}

.list-group-timeline-primary {
  --bs-list-group-timeline-bg: var(--bs-primary);
}

.list-group-item-secondary {
  --bs-list-group-border-color: var(--bs-secondary);
  --bs-list-group-active-border-color: var(--bs-secondary);
  --bs-list-group-active-bg: var(--bs-secondary);
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
}

.list-group-timeline-secondary {
  --bs-list-group-timeline-bg: var(--bs-secondary);
}

.list-group-item-success {
  --bs-list-group-border-color: var(--bs-success);
  --bs-list-group-active-border-color: var(--bs-success);
  --bs-list-group-active-bg: var(--bs-success);
  --bs-list-group-color: var(--bs-success-text-emphasis);
}

.list-group-timeline-success {
  --bs-list-group-timeline-bg: var(--bs-success);
}

.list-group-item-info {
  --bs-list-group-border-color: var(--bs-info);
  --bs-list-group-active-border-color: var(--bs-info);
  --bs-list-group-active-bg: var(--bs-info);
  --bs-list-group-color: var(--bs-info-text-emphasis);
}

.list-group-timeline-info {
  --bs-list-group-timeline-bg: var(--bs-info);
}

.list-group-item-warning {
  --bs-list-group-border-color: var(--bs-warning);
  --bs-list-group-active-border-color: var(--bs-warning);
  --bs-list-group-active-bg: var(--bs-warning);
  --bs-list-group-color: var(--bs-warning-text-emphasis);
}

.list-group-timeline-warning {
  --bs-list-group-timeline-bg: var(--bs-warning);
}

.list-group-item-danger {
  --bs-list-group-border-color: var(--bs-danger);
  --bs-list-group-active-border-color: var(--bs-danger);
  --bs-list-group-active-bg: var(--bs-danger);
  --bs-list-group-color: var(--bs-danger-text-emphasis);
}

.list-group-timeline-danger {
  --bs-list-group-timeline-bg: var(--bs-danger);
}

.list-group-item-light {
  --bs-list-group-border-color: var(--bs-light);
  --bs-list-group-active-border-color: var(--bs-light);
  --bs-list-group-active-bg: var(--bs-light);
  --bs-list-group-color: var(--bs-light-text-emphasis);
}

.list-group-timeline-light {
  --bs-list-group-timeline-bg: var(--bs-light);
}

.list-group-item-dark {
  --bs-list-group-border-color: var(--bs-dark);
  --bs-list-group-active-border-color: var(--bs-dark);
  --bs-list-group-active-bg: var(--bs-dark);
  --bs-list-group-color: var(--bs-dark-text-emphasis);
}

.list-group-timeline-dark {
  --bs-list-group-timeline-bg: var(--bs-dark);
}

.list-group-item-gray {
  --bs-list-group-border-color: var(--bs-gray);
  --bs-list-group-active-border-color: var(--bs-gray);
  --bs-list-group-active-bg: var(--bs-gray);
  --bs-list-group-color: var(--bs-gray-text-emphasis);
}

.list-group-timeline-gray {
  --bs-list-group-timeline-bg: var(--bs-gray);
}

/* Toasts
******************************************************************************* */
.bs-toast[class^=bg-],
.bs-toast[class*=" bg-"] {
  --bs-toast-header-color: var(--bs-white);
  --bs-toast-color: var(--bs-white);
}

.toast {
  --bs-toast-font-size: 0.9375rem;
}

.toast-body {
  font-size: 0.8125rem;
}

.toast.bs-toast {
  z-index: 1095;
  background-color: var(--bs-toast-bg) !important;
}

.toast-container {
  --bs-toast-zindex: 8;
}

.toast-header {
  --bs-toast-border-width: 1px;
}
.toast-header .btn-close {
  margin-inline: 0.75rem -0.375rem;
}

/* Bootstrap Toasts Example */
.toast-ex {
  position: fixed;
  inset-block-start: 4.1rem;
  inset-inline: auto 0.5rem;
}

/* Placement Toast example */
.toast-placement-ex {
  position: fixed;
}

[data-bs-theme=dark] {
  color-scheme: dark;
}
[data-bs-theme=dark] .toast:not([class*=bg-]) .btn-close {
  --bs-btn-close-white-filter: grayscale(1);
}

/* Generate contextual modifier classes for colorizing the alert */
.bs-toast.bg-primary {
  --bs-toast-bg: rgba(var(--bs-primary-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-primary-rgb), .4);
}

.bs-toast.bg-secondary {
  --bs-toast-bg: rgba(var(--bs-secondary-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-secondary-rgb), .4);
}

.bs-toast.bg-success {
  --bs-toast-bg: rgba(var(--bs-success-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-success-rgb), .4);
}

.bs-toast.bg-info {
  --bs-toast-bg: rgba(var(--bs-info-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-info-rgb), .4);
}

.bs-toast.bg-warning {
  --bs-toast-bg: rgba(var(--bs-warning-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-warning-rgb), .4);
}

.bs-toast.bg-danger {
  --bs-toast-bg: rgba(var(--bs-danger-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-danger-rgb), .4);
}

.bs-toast.bg-light {
  --bs-toast-bg: rgba(var(--bs-light-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-light-rgb), .4);
}

.bs-toast.bg-dark {
  --bs-toast-bg: rgba(var(--bs-dark-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-dark-rgb), .4);
}

.bs-toast.bg-gray {
  --bs-toast-bg: rgba(var(--bs-gray-rgb), .85);
  --bs-toast-box-shadow: 0 .25rem 1rem rgba(var(--bs-gray-rgb), .4);
}

/* Modals
******************************************************************************* */
/* Modal Shadow */
.modal-content {
  box-shadow: var(--bs-modal-box-shadow);
}

.modal {
  /* modal footer */
  /*
  ! remove close button animation & shadow for .modal-dialog-scrollable, .modal-fullscreen, .modal-top modal */
}
.modal .btn-close {
  padding: 0.614rem;
  background-color: var(--bs-paper-bg);
  background-image: none;
  box-shadow: var(--bs-box-shadow-xs);
  filter: none;
  opacity: 1;
  transform: translate(23px, -25px);
  border-radius: 0.25rem;
  transition: all 0.23s ease 0.1s;
  /* For hover effect of close btn */
}
@media (prefers-reduced-motion: reduce) {
  .modal .btn-close {
    transition: none;
  }
}
.modal .btn-close:hover, .modal .btn-close:focus, .modal .btn-close:active {
  opacity: 1;
  outline: 0;
  transform: translate(20px, -20px);
}
:dir(rtl) .modal .btn-close:hover, :dir(rtl) .modal .btn-close:focus, :dir(rtl) .modal .btn-close:active {
  transform: translate(26px, -20px);
}
.modal .btn-close::before {
  display: block;
  background-color: var(--bs-secondary-color);
  block-size: 0.6875rem;
  content: "";
  inline-size: 0.6875rem;
  -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>");
          mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
.modal .modal-header {
  position: relative;
}
.modal .modal-header .btn-close {
  position: absolute;
  inset-block-start: 1.5rem;
  inset-inline-end: 0.8125rem;
}
.modal .modal-footer {
  padding: 0rem 1.5rem 1.5rem;
}
.modal .modal-footer > * {
  margin-block: 0;
}
.modal .modal-footer > *:last-child {
  margin-inline-end: 0;
}
.modal .modal-footer > *:first-child {
  margin-inline-start: 0;
}
.modal .modal-dialog-scrollable .btn-close,
.modal .modal-fullscreen .btn-close, .modal.modal-top .btn-close {
  box-shadow: none;
  transform: translate(0, 0);
}
.modal .modal-dialog-scrollable .btn-close:hover,
.modal .modal-fullscreen .btn-close:hover, .modal.modal-top .btn-close:hover {
  transform: translate(0, 0);
}

.carousel-control-prev,
.carousel-control-next {
  color: var(--bs-primary);
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: var(--bs-primary);
}

/* Onboarding Modals
******************************************************************************* */
.modal-onboarding .close-label {
  position: absolute;
  font-size: 0.8rem;
  inset-block-start: 0.85rem;
  opacity: 0.5;
}
.modal-onboarding .close-label:hover {
  opacity: 0.75;
}
.modal-onboarding .onboarding-content {
  margin: 2rem;
}
.modal-onboarding form {
  margin-block-start: 2rem;
  text-align: start;
}
.modal-onboarding .carousel .carousel-indicators {
  inset-block-end: -10px;
}
.modal-onboarding .carousel .carousel-indicators [data-bs-target] {
  background-color: var(--bs-primary);
}
.modal-onboarding .carousel-control-prev,
.modal-onboarding .carousel-control-next {
  inset-block: auto 0.75rem;
  opacity: 1;
}
:dir(rtl) .modal-onboarding .carousel-control-prev,
:dir(rtl) .modal-onboarding .carousel-control-next {
  flex-direction: row-reverse;
}
.modal-onboarding .carousel-control-prev {
  inset-inline-start: 1rem;
}
:dir(rtl) .modal-onboarding .carousel-control-prev {
  inset-inline-end: 1rem;
  inset-inline-start: auto;
}
.modal-onboarding .carousel-control-next {
  inset-inline-end: 0;
}
:dir(rtl) .modal-onboarding .carousel-control-next {
  inset-inline-end: auto;
  inset-inline-start: 0;
}
.modal-onboarding .onboarding-horizontal {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.modal-onboarding .onboarding-horizontal .onboarding-media {
  margin: 2rem;
  margin-block-start: 0;
}

/* Top modals
******************************************************************************* */
.modal-top .modal-dialog {
  margin-block-start: 0;
}
.modal-top .modal-content {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* Transparent modals
****************************************************************************** */
.modal-transparent .modal-dialog {
  display: flex;
  margin-block: 0;
  margin-inline: auto;
  min-block-size: 100vh;
}
.modal-transparent .modal-content {
  border: 0;
  margin: auto;
  background: transparent;
  box-shadow: none;
  inline-size: 100%;
}
.modal-transparent .btn-close {
  position: absolute;
  background-color: transparent;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>");
  box-shadow: none;
  inset-block-start: 0;
  inset-inline-end: 1.5rem;
  opacity: 1;
  padding-block: 0.25em;
  padding-inline: 0.25em;
}
:dir(rtl) .modal-transparent .btn-close {
  inset-inline-end: -3rem;
}
.modal-transparent .btn-close::before {
  content: none;
}

/* Modal Simple (Modal Examples)
****************************************************************************** */
.modal-simple .modal-content {
  padding: 3rem;
}
@media (max-width: 767.98px) {
  .modal-simple .modal-content {
    padding: 1.5rem;
  }
}
.modal-simple .btn-close {
  position: absolute;
  inset-block-start: -2rem;
  inset-inline-end: -2rem;
}
:dir(rtl) .modal-simple .btn-close {
  inset-inline-end: -5rem;
}
@media (max-width: 767.98px) {
  .modal-simple .btn-close {
    inset-block-start: -0.75rem;
    inset-inline-end: -0.75rem;
  }
  :dir(rtl) .modal-simple .btn-close {
    inset-inline-end: -4rem;
  }
}

/* Refer & Earn Modal Example */
.modal-refer-and-earn .modal-refer-and-earn-step {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  block-size: 88px;
  inline-size: 88px;
}
.modal-refer-and-earn .modal-refer-and-earn-step .icon-base {
  block-size: 2.5rem;
  font-size: 2.5rem;
  inline-size: 2.5rem;
}

/* Add new address modal */
.modal-add-new-address .custom-option-icon:not(.checked) svg {
  stroke: var(--bs-heading-color);
}
.modal-add-new-address .custom-option-icon.checked svg {
  stroke: var(--bs-primary);
}

/* Share project modal */
@media (max-width: 575.98px) {
  .modal-share-project .dropdown-toggle::after {
    margin-inline: 0;
  }
}

/* Modal Animations
****************************************************************************** */
/* Slide from Top */
.modal-top.fade .modal-dialog,
.modal-top .modal.fade .modal-dialog {
  transform: translateY(-100%);
}

.modal-top.show .modal-dialog,
.modal-top .modal.show .modal-dialog {
  transform: translateY(0);
}

/* Transparent */
.modal-transparent.fade .modal-dialog,
.modal-transparent .modal.fade .modal-dialog {
  transform: scale(0.5, 0.5);
}

.modal-transparent.show .modal-dialog,
.modal-transparent .modal.show .modal-dialog {
  transform: scale(1, 1);
}

/* Responsive
******************************************************************************* */
@media (max-width: 991.98px) {
  .modal-onboarding .onboarding-horizontal {
    flex-direction: column;
  }
}
@media (max-width: 767.98px) {
  .modal .modal-dialog:not(.modal-fullscreen) {
    padding-block: 0;
    padding-inline: 0.75rem;
  }
  .modal .carousel-control-prev,
  .modal .carousel-control-next {
    display: none;
  }
}
@media (min-width: 576px) {
  .modal-content {
    box-shadow: var(--bs-modal-box-shadow);
  }
  .modal-dialog.modal-sm {
    max-inline-size: 22.5rem;
  }
}
@media (min-width: 1200px) {
  .modal-xl .modal-dialog {
    max-inline-size: 1140px;
  }
}
/* Dark theme
******************************************************************************* */
[data-bs-theme=dark] .modal-backdrop {
  --bs-backdrop-bg: #171925;
  --bs-backdrop-opacity: 0.6;
}

/* RTL mode
******************************************************************************* */
:dir(rtl) .modal:not(.modal-top) .modal-header .btn-close {
  inset-inline-end: -2.05rem;
}

/* Tooltips
******************************************************************************* */
/* Open modal tooltip z-index */
.modal-open .tooltip {
  z-index: 1092;
}

.tooltip-inner {
  box-shadow: none;
  font-weight: 500;
}

[class^=tooltip-].bs-tooltip-auto[data-popper-placement=top] .tooltip-arrow::before,
[class^=tooltip-] > .tooltip.bs-tooltip-auto[data-popper-placement=top] .tooltip-arrow::before {
  border-block-start-color: var(--bs-tooltip-arrow-bg);
}
[class^=tooltip-].bs-tooltip-auto[data-popper-placement=left] .tooltip-arrow::before,
[class^=tooltip-] > .tooltip.bs-tooltip-auto[data-popper-placement=left] .tooltip-arrow::before {
  border-inline-start-color: var(--bs-tooltip-arrow-bg);
}
[class^=tooltip-].bs-tooltip-auto[data-popper-placement=bottom] .tooltip-arrow::before,
[class^=tooltip-] > .tooltip.bs-tooltip-auto[data-popper-placement=bottom] .tooltip-arrow::before {
  border-block-end-color: var(--bs-tooltip-arrow-bg);
}
[class^=tooltip-].bs-tooltip-auto[data-popper-placement=right] .tooltip-arrow::before,
[class^=tooltip-] > .tooltip.bs-tooltip-auto[data-popper-placement=right] .tooltip-arrow::before {
  border-inline-end-color: var(--bs-tooltip-arrow-bg);
}

/* Dark theme
******************************************************************************* */
[data-bs-theme=dark] .tooltip {
  --bs-tooltip-bg: #f7f4ff;
}

/* RTL
******************************************************************************* */
:dir(rtl) .bs-tooltip-auto[data-popper-placement=right] .tooltip-arrow::before {
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-inline-start-color: var(--bs-tooltip-arrow-bg);
  inset-inline-start: -1px;
}
:dir(rtl) .bs-tooltip-auto[data-popper-placement=left] .tooltip-arrow::before {
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-inline-end-color: var(--bs-tooltip-arrow-bg);
  inset-inline-end: -1px;
}

.tooltip.tooltip-primary, .tooltip-primary > .tooltip {
  --bs-tooltip-bg: var(--bs-primary);
  --bs-tooltip-color: var(--bs-primary-contrast);
}

.tooltip.tooltip-secondary, .tooltip-secondary > .tooltip {
  --bs-tooltip-bg: var(--bs-secondary);
  --bs-tooltip-color: var(--bs-secondary-contrast);
}

.tooltip.tooltip-success, .tooltip-success > .tooltip {
  --bs-tooltip-bg: var(--bs-success);
  --bs-tooltip-color: var(--bs-success-contrast);
}

.tooltip.tooltip-info, .tooltip-info > .tooltip {
  --bs-tooltip-bg: var(--bs-info);
  --bs-tooltip-color: var(--bs-info-contrast);
}

.tooltip.tooltip-warning, .tooltip-warning > .tooltip {
  --bs-tooltip-bg: var(--bs-warning);
  --bs-tooltip-color: var(--bs-warning-contrast);
}

.tooltip.tooltip-danger, .tooltip-danger > .tooltip {
  --bs-tooltip-bg: var(--bs-danger);
  --bs-tooltip-color: var(--bs-danger-contrast);
}

.tooltip.tooltip-light, .tooltip-light > .tooltip {
  --bs-tooltip-bg: var(--bs-light);
  --bs-tooltip-color: var(--bs-light-contrast);
}

.tooltip.tooltip-dark, .tooltip-dark > .tooltip {
  --bs-tooltip-bg: var(--bs-dark);
  --bs-tooltip-color: var(--bs-dark-contrast);
}

.tooltip.tooltip-gray, .tooltip-gray > .tooltip {
  --bs-tooltip-bg: var(--bs-gray);
  --bs-tooltip-color: var(--bs-gray-contrast);
}

/* Popovers
******************************************************************************* */
.modal-open .popover {
  z-index: 1091;
}

.popover:not(.custom-popover) {
  --bs-popover-header-bg: transparent;
}
.popover:not(.custom-popover) .popover-header {
  --bs-popover-border-width: 0;
  padding-block-end: 0;
}
.popover:not(.custom-popover) .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-popover-bg);
}

.popover:has([class^=popover-]):not(.custom-popover) {
  --bs-popover-border-color: transparent;
  --bs-popover-header-bg: transparent;
}
.popover:has([class^=popover-]):not(.custom-popover) .popover-body {
  background-color: transparent;
}

.popover:has([class^=popover-header-]) {
  --bs-popover-border-color: var(--bs-gray-100);
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-header-bg: var(--bs-primary);
}

.popover {
  box-shadow: var(--bs-popover-box-shadow);
}
.popover .popover-header {
  font-size: 1.125rem;
  padding-block-end: 0;
}
.popover .popover-body {
  padding-block-start: 1rem;
}
.popover .popover-arrow {
  z-index: 1;
}
.popover:not(.custom-popover).bs-popover-auto > .popover-arrow::before {
  --bs-popover-bg: rgba(var(--bs-white-rgb), 0.1);
}
.popover:not(.custom-popover).bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  border-block-end-color: var(--bs-popover-arrow-border);
  inset-block-start: 1px;
}
.popover:not(.custom-popover).bs-popover-auto[data-popper-placement=bottom] > .popover-header::before {
  --bs-popover-border-width: 0;
}
[data-bs-theme=light] .popover.popover-dark {
  --bs-popover-bg: color-mix(in sRGB, var(--bs-base-color) 90%, var(--bs-paper-bg));
}

/* custom popover
******************************************************************************* */
.custom-popover {
  --bs-popover-max-width: 200px;
  --bs-popover-header-color: var(--bs-white);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: .5rem;
}
.custom-popover .popover-header {
  --bs-popover-header-bg: var(--bs-primary);
}

/* Dark
******************************************************************************* */
[data-bs-theme=dark] .popover:not(.custom-popover) .popover-arrow::before {
  --bs-popover-arrow-border: rgba(var(--bs-white-rgb), 0.05);
}

.popover.popover-primary {
  --bs-popover-bg: var(--bs-primary);
  --bs-popover-header-bg: var(--bs-primary);
  --bs-popover-header-color: var(--bs-primary-contrast);
  --bs-popover-body-color: var(--bs-primary-contrast);
}
.popover.popover-primary > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-primary);
}
.popover.popover-header-primary .popover-header, .popover.popover-header-primary.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-primary);
  --bs-popover-header-color: var(--bs-primary-contrast);
}
.popover.popover-header-primary > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-primary);
}

.popover.popover-secondary {
  --bs-popover-bg: var(--bs-secondary);
  --bs-popover-header-bg: var(--bs-secondary);
  --bs-popover-header-color: var(--bs-secondary-contrast);
  --bs-popover-body-color: var(--bs-secondary-contrast);
}
.popover.popover-secondary > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-secondary);
}
.popover.popover-header-secondary .popover-header, .popover.popover-header-secondary.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-secondary);
  --bs-popover-header-color: var(--bs-secondary-contrast);
}
.popover.popover-header-secondary > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-secondary);
}

.popover.popover-success {
  --bs-popover-bg: var(--bs-success);
  --bs-popover-header-bg: var(--bs-success);
  --bs-popover-header-color: var(--bs-success-contrast);
  --bs-popover-body-color: var(--bs-success-contrast);
}
.popover.popover-success > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-success);
}
.popover.popover-header-success .popover-header, .popover.popover-header-success.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-success);
  --bs-popover-header-color: var(--bs-success-contrast);
}
.popover.popover-header-success > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-success);
}

.popover.popover-info {
  --bs-popover-bg: var(--bs-info);
  --bs-popover-header-bg: var(--bs-info);
  --bs-popover-header-color: var(--bs-info-contrast);
  --bs-popover-body-color: var(--bs-info-contrast);
}
.popover.popover-info > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-info);
}
.popover.popover-header-info .popover-header, .popover.popover-header-info.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-info);
  --bs-popover-header-color: var(--bs-info-contrast);
}
.popover.popover-header-info > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-info);
}

.popover.popover-warning {
  --bs-popover-bg: var(--bs-warning);
  --bs-popover-header-bg: var(--bs-warning);
  --bs-popover-header-color: var(--bs-warning-contrast);
  --bs-popover-body-color: var(--bs-warning-contrast);
}
.popover.popover-warning > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-warning);
}
.popover.popover-header-warning .popover-header, .popover.popover-header-warning.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-warning);
  --bs-popover-header-color: var(--bs-warning-contrast);
}
.popover.popover-header-warning > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-warning);
}

.popover.popover-danger {
  --bs-popover-bg: var(--bs-danger);
  --bs-popover-header-bg: var(--bs-danger);
  --bs-popover-header-color: var(--bs-danger-contrast);
  --bs-popover-body-color: var(--bs-danger-contrast);
}
.popover.popover-danger > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-danger);
}
.popover.popover-header-danger .popover-header, .popover.popover-header-danger.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-danger);
  --bs-popover-header-color: var(--bs-danger-contrast);
}
.popover.popover-header-danger > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-danger);
}

.popover.popover-light {
  --bs-popover-bg: var(--bs-light);
  --bs-popover-header-bg: var(--bs-light);
  --bs-popover-header-color: var(--bs-light-contrast);
  --bs-popover-body-color: var(--bs-light-contrast);
}
.popover.popover-light > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-light);
}
.popover.popover-header-light .popover-header, .popover.popover-header-light.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-light);
  --bs-popover-header-color: var(--bs-light-contrast);
}
.popover.popover-header-light > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-light);
}

.popover.popover-dark {
  --bs-popover-bg: var(--bs-dark);
  --bs-popover-header-bg: var(--bs-dark);
  --bs-popover-header-color: var(--bs-dark-contrast);
  --bs-popover-body-color: var(--bs-dark-contrast);
}
.popover.popover-dark > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-dark);
}
.popover.popover-header-dark .popover-header, .popover.popover-header-dark.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-dark);
  --bs-popover-header-color: var(--bs-dark-contrast);
}
.popover.popover-header-dark > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-dark);
}

.popover.popover-gray {
  --bs-popover-bg: var(--bs-gray);
  --bs-popover-header-bg: var(--bs-gray);
  --bs-popover-header-color: var(--bs-gray-contrast);
  --bs-popover-body-color: var(--bs-gray-contrast);
}
.popover.popover-gray > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-gray);
}
.popover.popover-header-gray .popover-header, .popover.popover-header-gray.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  --bs-popover-header-bg: var(--bs-gray);
  --bs-popover-header-color: var(--bs-gray-contrast);
}
.popover.popover-header-gray > .popover-arrow::after {
  --bs-popover-arrow-border: var(--bs-gray);
}

.carousel .carousel-item.active h1,
.carousel .carousel-item.active .h1,
.carousel .carousel-item.active h2,
.carousel .carousel-item.active .h2,
.carousel .carousel-item.active h3,
.carousel .carousel-item.active .h3,
.carousel .carousel-item.active h4,
.carousel .carousel-item.active .h4,
.carousel .carousel-item.active h5,
.carousel .carousel-item.active .h5,
.carousel .carousel-item.active h6,
.carousel .carousel-item.active .h6,
.carousel .carousel-item.carousel-item-start h1,
.carousel .carousel-item.carousel-item-start .h1,
.carousel .carousel-item.carousel-item-start h2,
.carousel .carousel-item.carousel-item-start .h2,
.carousel .carousel-item.carousel-item-start h3,
.carousel .carousel-item.carousel-item-start .h3,
.carousel .carousel-item.carousel-item-start h4,
.carousel .carousel-item.carousel-item-start .h4,
.carousel .carousel-item.carousel-item-start h5,
.carousel .carousel-item.carousel-item-start .h5,
.carousel .carousel-item.carousel-item-start h6,
.carousel .carousel-item.carousel-item-start .h6 {
  color: #fff;
}

.carousel.carousel-dark .carousel-item h1,
.carousel.carousel-dark .carousel-item .h1,
.carousel.carousel-dark .carousel-item h2,
.carousel.carousel-dark .carousel-item .h2,
.carousel.carousel-dark .carousel-item h3,
.carousel.carousel-dark .carousel-item .h3,
.carousel.carousel-dark .carousel-item h4,
.carousel.carousel-dark .carousel-item .h4,
.carousel.carousel-dark .carousel-item h5,
.carousel.carousel-dark .carousel-item .h5,
.carousel.carousel-dark .carousel-item h6,
.carousel.carousel-dark .carousel-item .h6,
.carousel.carousel-dark .carousel-item.active h1,
.carousel.carousel-dark .carousel-item.active .h1,
.carousel.carousel-dark .carousel-item.active h2,
.carousel.carousel-dark .carousel-item.active .h2,
.carousel.carousel-dark .carousel-item.active h3,
.carousel.carousel-dark .carousel-item.active .h3,
.carousel.carousel-dark .carousel-item.active h4,
.carousel.carousel-dark .carousel-item.active .h4,
.carousel.carousel-dark .carousel-item.active h5,
.carousel.carousel-dark .carousel-item.active .h5,
.carousel.carousel-dark .carousel-item.active h6,
.carousel.carousel-dark .carousel-item.active .h6,
.carousel.carousel-dark .carousel-item.carousel-item-start h1,
.carousel.carousel-dark .carousel-item.carousel-item-start .h1,
.carousel.carousel-dark .carousel-item.carousel-item-start h2,
.carousel.carousel-dark .carousel-item.carousel-item-start .h2,
.carousel.carousel-dark .carousel-item.carousel-item-start h3,
.carousel.carousel-dark .carousel-item.carousel-item-start .h3,
.carousel.carousel-dark .carousel-item.carousel-item-start h4,
.carousel.carousel-dark .carousel-item.carousel-item-start .h4,
.carousel.carousel-dark .carousel-item.carousel-item-start h5,
.carousel.carousel-dark .carousel-item.carousel-item-start .h5,
.carousel.carousel-dark .carousel-item.carousel-item-start h6,
.carousel.carousel-dark .carousel-item.carousel-item-start .h6 {
  color: #2f2b3d;
}

[data-bs-theme=dark] .carousel:not(.carousel-dark) .carousel-caption, [data-bs-theme=dark].carousel:not(.carousel-dark) .carousel-caption {
  color: #fff;
}

/* Spinners */
/* Large size */
.spinner-border-lg,
.spinner-grow-lg {
  --bs-spinner-border-width: 0.3em;
  --bs-spinner-height: 3rem;
  --bs-spinner-width: 3rem;
}

/* Within button
******************************************************************************* */
.btn .spinner-border,
.btn .spinner-grow {
  --bs-spinner-height: 1em;
  --bs-spinner-width: 1em;
  inset-block-start: -0.0625rem;
}
.btn .spinner-border {
  --bs-spinner-border-width: .15em;
}

@keyframes spinner-border-rtl {
  to {
    transform: rotate(-360deg);
  }
}
/* RTL */
:dir(rtl) .spinner-border {
  animation-name: spinner-border-rtl;
}

/* Offcanvas
******************************************************************************* */
.offcanvas {
  box-shadow: var(--bs-offcanvas-box-shadow);
}
.offcanvas .offcanvas-header .btn-close {
  padding: 0.44rem;
  background-size: 0.875rem;
  margin-block: -0.75rem -0.75rem;
  margin-inline: auto 0.2505rem;
}
.offcanvas.offcanvas-start {
  inset-inline: 0 auto;
}
.offcanvas.offcanvas-end {
  inset-inline: auto 0;
}

:dir(rtl) .offcanvas-start {
  transform: translateX(100%);
}
:dir(rtl) .offcanvas-end {
  transform: translateX(-100%);
}

[data-bs-theme=dark] .offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1089;
  width: 100vw;
  height: 100vh;
  background-color: #171925;
}
[data-bs-theme=dark] .offcanvas-backdrop.fade {
  opacity: 0;
}
[data-bs-theme=dark] .offcanvas-backdrop.show {
  opacity: 0.6;
}

.bg-label-primary {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary)) !important;
  color: var(--bs-primary) !important;
}
.bg-label-primary.bg-label-hover:hover {
  background-color: var(--bs-primary) !important;
  color: var(--bs-primary-contrast) !important;
}

.bg-label-secondary {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-secondary)) !important;
  color: var(--bs-secondary) !important;
}
.bg-label-secondary.bg-label-hover:hover {
  background-color: var(--bs-secondary) !important;
  color: var(--bs-secondary-contrast) !important;
}

.bg-label-success {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-success)) !important;
  color: var(--bs-success) !important;
}
.bg-label-success.bg-label-hover:hover {
  background-color: var(--bs-success) !important;
  color: var(--bs-success-contrast) !important;
}

.bg-label-info {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-info)) !important;
  color: var(--bs-info) !important;
}
.bg-label-info.bg-label-hover:hover {
  background-color: var(--bs-info) !important;
  color: var(--bs-info-contrast) !important;
}

.bg-label-warning {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-warning)) !important;
  color: var(--bs-warning) !important;
}
.bg-label-warning.bg-label-hover:hover {
  background-color: var(--bs-warning) !important;
  color: var(--bs-warning-contrast) !important;
}

.bg-label-danger {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-danger)) !important;
  color: var(--bs-danger) !important;
}
.bg-label-danger.bg-label-hover:hover {
  background-color: var(--bs-danger) !important;
  color: var(--bs-danger-contrast) !important;
}

.bg-label-light {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-light)) !important;
  color: RGBA(#000, var(--bs-bg-label-tint-amount)) !important;
}
.bg-label-light.bg-label-hover:hover {
  background-color: var(--bs-light) !important;
  color: var(--bs-light-contrast) !important;
}

.bg-label-dark {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-dark)) !important;
  color: var(--bs-dark) !important;
}
.bg-label-dark.bg-label-hover:hover {
  background-color: var(--bs-dark) !important;
  color: var(--bs-dark-contrast) !important;
}

.bg-label-gray {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-gray)) !important;
  color: var(--bs-gray) !important;
}
.bg-label-gray.bg-label-hover:hover {
  background-color: var(--bs-gray) !important;
  color: var(--bs-gray-contrast) !important;
}

.bg-label-facebook {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-facebook)) !important;
  color: var(--bs-facebook) !important;
}
.bg-label-facebook.bg-label-hover:hover {
  background-color: var(--bs-facebook) !important;
  color: var(--bs-facebook-contrast) !important;
}

.bg-label-twitter {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-twitter)) !important;
  color: var(--bs-twitter) !important;
}
.bg-label-twitter.bg-label-hover:hover {
  background-color: var(--bs-twitter) !important;
  color: var(--bs-twitter-contrast) !important;
}

.bg-label-google-plus {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-google-plus)) !important;
  color: var(--bs-google-plus) !important;
}
.bg-label-google-plus.bg-label-hover:hover {
  background-color: var(--bs-google-plus) !important;
  color: var(--bs-google-plus-contrast) !important;
}

.bg-label-instagram {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-instagram)) !important;
  color: var(--bs-instagram) !important;
}
.bg-label-instagram.bg-label-hover:hover {
  background-color: var(--bs-instagram) !important;
  color: var(--bs-instagram-contrast) !important;
}

.bg-label-linkedin {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-linkedin)) !important;
  color: var(--bs-linkedin) !important;
}
.bg-label-linkedin.bg-label-hover:hover {
  background-color: var(--bs-linkedin) !important;
  color: var(--bs-linkedin-contrast) !important;
}

.bg-label-github {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-github)) !important;
  color: var(--bs-github) !important;
}
.bg-label-github.bg-label-hover:hover {
  background-color: var(--bs-github) !important;
  color: var(--bs-github-contrast) !important;
}

.bg-label-dribbble {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-dribbble)) !important;
  color: var(--bs-dribbble) !important;
}
.bg-label-dribbble.bg-label-hover:hover {
  background-color: var(--bs-dribbble) !important;
  color: var(--bs-dribbble-contrast) !important;
}

.bg-label-pinterest {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-pinterest)) !important;
  color: var(--bs-pinterest) !important;
}
.bg-label-pinterest.bg-label-hover:hover {
  background-color: var(--bs-pinterest) !important;
  color: var(--bs-pinterest-contrast) !important;
}

.bg-label-slack {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-slack)) !important;
  color: var(--bs-slack) !important;
}
.bg-label-slack.bg-label-hover:hover {
  background-color: var(--bs-slack) !important;
  color: var(--bs-slack-contrast) !important;
}

.bg-label-reddit {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-reddit)) !important;
  color: var(--bs-reddit) !important;
}
.bg-label-reddit.bg-label-hover:hover {
  background-color: var(--bs-reddit) !important;
  color: var(--bs-reddit-contrast) !important;
}

.bg-label-youtube {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-youtube)) !important;
  color: var(--bs-youtube) !important;
}
.bg-label-youtube.bg-label-hover:hover {
  background-color: var(--bs-youtube) !important;
  color: var(--bs-youtube-contrast) !important;
}

.bg-label-vimeo {
  background-color: color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-vimeo)) !important;
  color: var(--bs-vimeo) !important;
}
.bg-label-vimeo.bg-label-hover:hover {
  background-color: var(--bs-vimeo) !important;
  color: var(--bs-vimeo-contrast) !important;
}

[data-bs-theme=dark] .bg-label-dark {
  color: RGBA(#fff, var(--bs-bg-label-tint-amount)) !important;
}
.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: inline-start !important;
}

.float-end {
  float: inline-end !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.object-fit-cover {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.object-fit-fill {
  -o-object-fit: fill !important;
     object-fit: fill !important;
}

.object-fit-scale {
  -o-object-fit: scale-down !important;
     object-fit: scale-down !important;
}

.object-fit-none {
  -o-object-fit: none !important;
     object-fit: none !important;
}

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

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

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

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

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

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

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

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

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

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

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

.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.top-0 {
  inset-block-start: 0 !important;
}

.top-50 {
  inset-block-start: 50% !important;
}

.top-100 {
  inset-block-start: 100% !important;
}

.bottom-0 {
  inset-block-end: 0 !important;
}

.bottom-50 {
  inset-block-end: 50% !important;
}

.bottom-100 {
  inset-block-end: 100% !important;
}

.start-0 {
  inset-inline-start: 0 !important;
}

.start-50 {
  inset-inline-start: 50% !important;
}

.start-100 {
  inset-inline-start: 100% !important;
}

.end-0 {
  inset-inline-end: 0 !important;
}

.end-50 {
  inset-inline-end: 50% !important;
}

.end-100 {
  inset-inline-end: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

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

.border-solid {
  border-style: solid !important;
}

.border-dashed {
  border-style: dashed !important;
}

.border-none {
  border-style: none !important;
}

.border-top {
  border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-block-start: 0 !important;
}

.border-end {
  border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-inline-end: 0 !important;
}

.border-bottom {
  border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-block-end: 0 !important;
}

.border-start {
  border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-inline-start: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-gray {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-gray-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-transparent {
  --bs-border-opacity: 1;
  border-color: transparent !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.w-px-14 {
  width: 14px !important;
}

.w-px-18 {
  width: 18px !important;
}

.w-px-20 {
  width: 20px !important;
}

.w-px-30 {
  width: 30px !important;
}

.w-px-40 {
  width: 40px !important;
}

.w-px-44 {
  width: 44px !important;
}

.w-px-50 {
  width: 50px !important;
}

.w-px-52 {
  width: 52px !important;
}

.w-px-75 {
  width: 75px !important;
}

.w-px-80 {
  width: 80px !important;
}

.w-px-100 {
  width: 100px !important;
}

.w-px-120 {
  width: 120px !important;
}

.w-px-130 {
  width: 130px !important;
}

.w-px-150 {
  width: 150px !important;
}

.w-px-160 {
  width: 160px !important;
}

.w-px-200 {
  width: 200px !important;
}

.w-px-250 {
  width: 250px !important;
}

.w-px-300 {
  width: 300px !important;
}

.w-px-350 {
  width: 350px !important;
}

.w-px-400 {
  width: 400px !important;
}

.w-px-500 {
  width: 500px !important;
}

.w-px-600 {
  width: 600px !important;
}

.w-px-700 {
  width: 700px !important;
}

.w-px-800 {
  width: 800px !important;
}

.w-auto {
  width: auto !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-60 {
  width: 60% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-px-14 {
  height: 14px !important;
}

.h-px-18 {
  height: 18px !important;
}

.h-px-20 {
  height: 20px !important;
}

.h-px-30 {
  height: 30px !important;
}

.h-px-40 {
  height: 40px !important;
}

.h-px-44 {
  height: 44px !important;
}

.h-px-50 {
  height: 50px !important;
}

.h-px-52 {
  height: 52px !important;
}

.h-px-75 {
  height: 75px !important;
}

.h-px-80 {
  height: 80px !important;
}

.h-px-100 {
  height: 100px !important;
}

.h-px-120 {
  height: 120px !important;
}

.h-px-130 {
  height: 130px !important;
}

.h-px-150 {
  height: 150px !important;
}

.h-px-160 {
  height: 160px !important;
}

.h-px-200 {
  height: 200px !important;
}

.h-px-250 {
  height: 250px !important;
}

.h-px-300 {
  height: 300px !important;
}

.h-px-350 {
  height: 350px !important;
}

.h-px-400 {
  height: 400px !important;
}

.h-px-500 {
  height: 500px !important;
}

.h-px-600 {
  height: 600px !important;
}

.h-px-700 {
  height: 700px !important;
}

.h-px-800 {
  height: 800px !important;
}

.h-auto {
  height: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

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

.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;
}

.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;
}

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

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

.flex-wrap-reverse {
  flex-wrap: wrap-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;
}

.align-self-auto {
  align-self: auto !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-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-last {
  order: 6 !important;
}

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

.m-50 {
  margin: 0.125rem !important;
}

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

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

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

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

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

.m-5 {
  margin: 1.25rem !important;
}

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

.m-7 {
  margin: 1.75rem !important;
}

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

.m-9 {
  margin: 2.25rem !important;
}

.m-10 {
  margin: 2.5rem !important;
}

.m-11 {
  margin: 2.75rem !important;
}

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

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

.mx-0 {
  margin-inline-end: 0 !important;
  margin-inline-start: 0 !important;
}

.mx-50 {
  margin-inline-end: 0.125rem !important;
  margin-inline-start: 0.125rem !important;
}

.mx-1 {
  margin-inline-end: 0.25rem !important;
  margin-inline-start: 0.25rem !important;
}

.mx-1_5 {
  margin-inline-end: 0.375rem !important;
  margin-inline-start: 0.375rem !important;
}

.mx-2 {
  margin-inline-end: 0.5rem !important;
  margin-inline-start: 0.5rem !important;
}

.mx-3 {
  margin-inline-end: 0.75rem !important;
  margin-inline-start: 0.75rem !important;
}

.mx-4 {
  margin-inline-end: 1rem !important;
  margin-inline-start: 1rem !important;
}

.mx-5 {
  margin-inline-end: 1.25rem !important;
  margin-inline-start: 1.25rem !important;
}

.mx-6 {
  margin-inline-end: 1.5rem !important;
  margin-inline-start: 1.5rem !important;
}

.mx-7 {
  margin-inline-end: 1.75rem !important;
  margin-inline-start: 1.75rem !important;
}

.mx-8 {
  margin-inline-end: 2rem !important;
  margin-inline-start: 2rem !important;
}

.mx-9 {
  margin-inline-end: 2.25rem !important;
  margin-inline-start: 2.25rem !important;
}

.mx-10 {
  margin-inline-end: 2.5rem !important;
  margin-inline-start: 2.5rem !important;
}

.mx-11 {
  margin-inline-end: 2.75rem !important;
  margin-inline-start: 2.75rem !important;
}

.mx-12 {
  margin-inline-end: 3rem !important;
  margin-inline-start: 3rem !important;
}

.mx-auto {
  margin-inline-end: auto !important;
  margin-inline-start: auto !important;
}

.my-0 {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.my-50 {
  margin-block-start: 0.125rem !important;
  margin-block-end: 0.125rem !important;
}

.my-1 {
  margin-block-start: 0.25rem !important;
  margin-block-end: 0.25rem !important;
}

.my-1_5 {
  margin-block-start: 0.375rem !important;
  margin-block-end: 0.375rem !important;
}

.my-2 {
  margin-block-start: 0.5rem !important;
  margin-block-end: 0.5rem !important;
}

.my-3 {
  margin-block-start: 0.75rem !important;
  margin-block-end: 0.75rem !important;
}

.my-4 {
  margin-block-start: 1rem !important;
  margin-block-end: 1rem !important;
}

.my-5 {
  margin-block-start: 1.25rem !important;
  margin-block-end: 1.25rem !important;
}

.my-6 {
  margin-block-start: 1.5rem !important;
  margin-block-end: 1.5rem !important;
}

.my-7 {
  margin-block-start: 1.75rem !important;
  margin-block-end: 1.75rem !important;
}

.my-8 {
  margin-block-start: 2rem !important;
  margin-block-end: 2rem !important;
}

.my-9 {
  margin-block-start: 2.25rem !important;
  margin-block-end: 2.25rem !important;
}

.my-10 {
  margin-block-start: 2.5rem !important;
  margin-block-end: 2.5rem !important;
}

.my-11 {
  margin-block-start: 2.75rem !important;
  margin-block-end: 2.75rem !important;
}

.my-12 {
  margin-block-start: 3rem !important;
  margin-block-end: 3rem !important;
}

.my-auto {
  margin-block-start: auto !important;
  margin-block-end: auto !important;
}

.mt-0 {
  margin-block-start: 0 !important;
}

.mt-50 {
  margin-block-start: 0.125rem !important;
}

.mt-1 {
  margin-block-start: 0.25rem !important;
}

.mt-1_5 {
  margin-block-start: 0.375rem !important;
}

.mt-2 {
  margin-block-start: 0.5rem !important;
}

.mt-3 {
  margin-block-start: 0.75rem !important;
}

.mt-4 {
  margin-block-start: 1rem !important;
}

.mt-5 {
  margin-block-start: 1.25rem !important;
}

.mt-6 {
  margin-block-start: 1.5rem !important;
}

.mt-7 {
  margin-block-start: 1.75rem !important;
}

.mt-8 {
  margin-block-start: 2rem !important;
}

.mt-9 {
  margin-block-start: 2.25rem !important;
}

.mt-10 {
  margin-block-start: 2.5rem !important;
}

.mt-11 {
  margin-block-start: 2.75rem !important;
}

.mt-12 {
  margin-block-start: 3rem !important;
}

.mt-auto {
  margin-block-start: auto !important;
}

.me-0 {
  margin-inline-end: 0 !important;
}

.me-50 {
  margin-inline-end: 0.125rem !important;
}

.me-1 {
  margin-inline-end: 0.25rem !important;
}

.me-1_5 {
  margin-inline-end: 0.375rem !important;
}

.me-2 {
  margin-inline-end: 0.5rem !important;
}

.me-3 {
  margin-inline-end: 0.75rem !important;
}

.me-4 {
  margin-inline-end: 1rem !important;
}

.me-5 {
  margin-inline-end: 1.25rem !important;
}

.me-6 {
  margin-inline-end: 1.5rem !important;
}

.me-7 {
  margin-inline-end: 1.75rem !important;
}

.me-8 {
  margin-inline-end: 2rem !important;
}

.me-9 {
  margin-inline-end: 2.25rem !important;
}

.me-10 {
  margin-inline-end: 2.5rem !important;
}

.me-11 {
  margin-inline-end: 2.75rem !important;
}

.me-12 {
  margin-inline-end: 3rem !important;
}

.me-auto {
  margin-inline-end: auto !important;
}

.mb-0 {
  margin-block-end: 0 !important;
}

.mb-50 {
  margin-block-end: 0.125rem !important;
}

.mb-1 {
  margin-block-end: 0.25rem !important;
}

.mb-1_5 {
  margin-block-end: 0.375rem !important;
}

.mb-2 {
  margin-block-end: 0.5rem !important;
}

.mb-3 {
  margin-block-end: 0.75rem !important;
}

.mb-4 {
  margin-block-end: 1rem !important;
}

.mb-5 {
  margin-block-end: 1.25rem !important;
}

.mb-6 {
  margin-block-end: 1.5rem !important;
}

.mb-7 {
  margin-block-end: 1.75rem !important;
}

.mb-8 {
  margin-block-end: 2rem !important;
}

.mb-9 {
  margin-block-end: 2.25rem !important;
}

.mb-10 {
  margin-block-end: 2.5rem !important;
}

.mb-11 {
  margin-block-end: 2.75rem !important;
}

.mb-12 {
  margin-block-end: 3rem !important;
}

.mb-auto {
  margin-block-end: auto !important;
}

.ms-0 {
  margin-inline-start: 0 !important;
}

.ms-50 {
  margin-inline-start: 0.125rem !important;
}

.ms-1 {
  margin-inline-start: 0.25rem !important;
}

.ms-1_5 {
  margin-inline-start: 0.375rem !important;
}

.ms-2 {
  margin-inline-start: 0.5rem !important;
}

.ms-3 {
  margin-inline-start: 0.75rem !important;
}

.ms-4 {
  margin-inline-start: 1rem !important;
}

.ms-5 {
  margin-inline-start: 1.25rem !important;
}

.ms-6 {
  margin-inline-start: 1.5rem !important;
}

.ms-7 {
  margin-inline-start: 1.75rem !important;
}

.ms-8 {
  margin-inline-start: 2rem !important;
}

.ms-9 {
  margin-inline-start: 2.25rem !important;
}

.ms-10 {
  margin-inline-start: 2.5rem !important;
}

.ms-11 {
  margin-inline-start: 2.75rem !important;
}

.ms-12 {
  margin-inline-start: 3rem !important;
}

.ms-auto {
  margin-inline-start: auto !important;
}

.m-n50 {
  margin: -0.125rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.m-n1_5 {
  margin: -0.375rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.m-n3 {
  margin: -0.75rem !important;
}

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

.m-n5 {
  margin: -1.25rem !important;
}

.m-n6 {
  margin: -1.5rem !important;
}

.m-n7 {
  margin: -1.75rem !important;
}

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

.m-n9 {
  margin: -2.25rem !important;
}

.m-n10 {
  margin: -2.5rem !important;
}

.m-n11 {
  margin: -2.75rem !important;
}

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

.mx-n50 {
  margin-inline-end: -0.125rem !important;
  margin-inline-start: -0.125rem !important;
}

.mx-n1 {
  margin-inline-end: -0.25rem !important;
  margin-inline-start: -0.25rem !important;
}

.mx-n1_5 {
  margin-inline-end: -0.375rem !important;
  margin-inline-start: -0.375rem !important;
}

.mx-n2 {
  margin-inline-end: -0.5rem !important;
  margin-inline-start: -0.5rem !important;
}

.mx-n3 {
  margin-inline-end: -0.75rem !important;
  margin-inline-start: -0.75rem !important;
}

.mx-n4 {
  margin-inline-end: -1rem !important;
  margin-inline-start: -1rem !important;
}

.mx-n5 {
  margin-inline-end: -1.25rem !important;
  margin-inline-start: -1.25rem !important;
}

.mx-n6 {
  margin-inline-end: -1.5rem !important;
  margin-inline-start: -1.5rem !important;
}

.mx-n7 {
  margin-inline-end: -1.75rem !important;
  margin-inline-start: -1.75rem !important;
}

.mx-n8 {
  margin-inline-end: -2rem !important;
  margin-inline-start: -2rem !important;
}

.mx-n9 {
  margin-inline-end: -2.25rem !important;
  margin-inline-start: -2.25rem !important;
}

.mx-n10 {
  margin-inline-end: -2.5rem !important;
  margin-inline-start: -2.5rem !important;
}

.mx-n11 {
  margin-inline-end: -2.75rem !important;
  margin-inline-start: -2.75rem !important;
}

.mx-n12 {
  margin-inline-end: -3rem !important;
  margin-inline-start: -3rem !important;
}

.my-n50 {
  margin-block-start: -0.125rem !important;
  margin-block-end: -0.125rem !important;
}

.my-n1 {
  margin-block-start: -0.25rem !important;
  margin-block-end: -0.25rem !important;
}

.my-n1_5 {
  margin-block-start: -0.375rem !important;
  margin-block-end: -0.375rem !important;
}

.my-n2 {
  margin-block-start: -0.5rem !important;
  margin-block-end: -0.5rem !important;
}

.my-n3 {
  margin-block-start: -0.75rem !important;
  margin-block-end: -0.75rem !important;
}

.my-n4 {
  margin-block-start: -1rem !important;
  margin-block-end: -1rem !important;
}

.my-n5 {
  margin-block-start: -1.25rem !important;
  margin-block-end: -1.25rem !important;
}

.my-n6 {
  margin-block-start: -1.5rem !important;
  margin-block-end: -1.5rem !important;
}

.my-n7 {
  margin-block-start: -1.75rem !important;
  margin-block-end: -1.75rem !important;
}

.my-n8 {
  margin-block-start: -2rem !important;
  margin-block-end: -2rem !important;
}

.my-n9 {
  margin-block-start: -2.25rem !important;
  margin-block-end: -2.25rem !important;
}

.my-n10 {
  margin-block-start: -2.5rem !important;
  margin-block-end: -2.5rem !important;
}

.my-n11 {
  margin-block-start: -2.75rem !important;
  margin-block-end: -2.75rem !important;
}

.my-n12 {
  margin-block-start: -3rem !important;
  margin-block-end: -3rem !important;
}

.mt-n50 {
  margin-block-start: -0.125rem !important;
}

.mt-n1 {
  margin-block-start: -0.25rem !important;
}

.mt-n1_5 {
  margin-block-start: -0.375rem !important;
}

.mt-n2 {
  margin-block-start: -0.5rem !important;
}

.mt-n3 {
  margin-block-start: -0.75rem !important;
}

.mt-n4 {
  margin-block-start: -1rem !important;
}

.mt-n5 {
  margin-block-start: -1.25rem !important;
}

.mt-n6 {
  margin-block-start: -1.5rem !important;
}

.mt-n7 {
  margin-block-start: -1.75rem !important;
}

.mt-n8 {
  margin-block-start: -2rem !important;
}

.mt-n9 {
  margin-block-start: -2.25rem !important;
}

.mt-n10 {
  margin-block-start: -2.5rem !important;
}

.mt-n11 {
  margin-block-start: -2.75rem !important;
}

.mt-n12 {
  margin-block-start: -3rem !important;
}

.me-n50 {
  margin-inline-end: -0.125rem !important;
}

.me-n1 {
  margin-inline-end: -0.25rem !important;
}

.me-n1_5 {
  margin-inline-end: -0.375rem !important;
}

.me-n2 {
  margin-inline-end: -0.5rem !important;
}

.me-n3 {
  margin-inline-end: -0.75rem !important;
}

.me-n4 {
  margin-inline-end: -1rem !important;
}

.me-n5 {
  margin-inline-end: -1.25rem !important;
}

.me-n6 {
  margin-inline-end: -1.5rem !important;
}

.me-n7 {
  margin-inline-end: -1.75rem !important;
}

.me-n8 {
  margin-inline-end: -2rem !important;
}

.me-n9 {
  margin-inline-end: -2.25rem !important;
}

.me-n10 {
  margin-inline-end: -2.5rem !important;
}

.me-n11 {
  margin-inline-end: -2.75rem !important;
}

.me-n12 {
  margin-inline-end: -3rem !important;
}

.mb-n50 {
  margin-block-end: -0.125rem !important;
}

.mb-n1 {
  margin-block-end: -0.25rem !important;
}

.mb-n1_5 {
  margin-block-end: -0.375rem !important;
}

.mb-n2 {
  margin-block-end: -0.5rem !important;
}

.mb-n3 {
  margin-block-end: -0.75rem !important;
}

.mb-n4 {
  margin-block-end: -1rem !important;
}

.mb-n5 {
  margin-block-end: -1.25rem !important;
}

.mb-n6 {
  margin-block-end: -1.5rem !important;
}

.mb-n7 {
  margin-block-end: -1.75rem !important;
}

.mb-n8 {
  margin-block-end: -2rem !important;
}

.mb-n9 {
  margin-block-end: -2.25rem !important;
}

.mb-n10 {
  margin-block-end: -2.5rem !important;
}

.mb-n11 {
  margin-block-end: -2.75rem !important;
}

.mb-n12 {
  margin-block-end: -3rem !important;
}

.ms-n50 {
  margin-inline-start: -0.125rem !important;
}

.ms-n1 {
  margin-inline-start: -0.25rem !important;
}

.ms-n1_5 {
  margin-inline-start: -0.375rem !important;
}

.ms-n2 {
  margin-inline-start: -0.5rem !important;
}

.ms-n3 {
  margin-inline-start: -0.75rem !important;
}

.ms-n4 {
  margin-inline-start: -1rem !important;
}

.ms-n5 {
  margin-inline-start: -1.25rem !important;
}

.ms-n6 {
  margin-inline-start: -1.5rem !important;
}

.ms-n7 {
  margin-inline-start: -1.75rem !important;
}

.ms-n8 {
  margin-inline-start: -2rem !important;
}

.ms-n9 {
  margin-inline-start: -2.25rem !important;
}

.ms-n10 {
  margin-inline-start: -2.5rem !important;
}

.ms-n11 {
  margin-inline-start: -2.75rem !important;
}

.ms-n12 {
  margin-inline-start: -3rem !important;
}

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

.p-50 {
  padding: 0.125rem !important;
}

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

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

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

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

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

.p-5 {
  padding: 1.25rem !important;
}

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

.p-7 {
  padding: 1.75rem !important;
}

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

.p-9 {
  padding: 2.25rem !important;
}

.p-10 {
  padding: 2.5rem !important;
}

.p-11 {
  padding: 2.75rem !important;
}

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

.px-0 {
  padding-inline-end: 0 !important;
  padding-inline-start: 0 !important;
}

.px-50 {
  padding-inline-end: 0.125rem !important;
  padding-inline-start: 0.125rem !important;
}

.px-1 {
  padding-inline-end: 0.25rem !important;
  padding-inline-start: 0.25rem !important;
}

.px-1_5 {
  padding-inline-end: 0.375rem !important;
  padding-inline-start: 0.375rem !important;
}

.px-2 {
  padding-inline-end: 0.5rem !important;
  padding-inline-start: 0.5rem !important;
}

.px-3 {
  padding-inline-end: 0.75rem !important;
  padding-inline-start: 0.75rem !important;
}

.px-4 {
  padding-inline-end: 1rem !important;
  padding-inline-start: 1rem !important;
}

.px-5 {
  padding-inline-end: 1.25rem !important;
  padding-inline-start: 1.25rem !important;
}

.px-6 {
  padding-inline-end: 1.5rem !important;
  padding-inline-start: 1.5rem !important;
}

.px-7 {
  padding-inline-end: 1.75rem !important;
  padding-inline-start: 1.75rem !important;
}

.px-8 {
  padding-inline-end: 2rem !important;
  padding-inline-start: 2rem !important;
}

.px-9 {
  padding-inline-end: 2.25rem !important;
  padding-inline-start: 2.25rem !important;
}

.px-10 {
  padding-inline-end: 2.5rem !important;
  padding-inline-start: 2.5rem !important;
}

.px-11 {
  padding-inline-end: 2.75rem !important;
  padding-inline-start: 2.75rem !important;
}

.px-12 {
  padding-inline-end: 3rem !important;
  padding-inline-start: 3rem !important;
}

.py-0 {
  padding-block-start: 0 !important;
  padding-block-end: 0 !important;
}

.py-50 {
  padding-block-start: 0.125rem !important;
  padding-block-end: 0.125rem !important;
}

.py-1 {
  padding-block-start: 0.25rem !important;
  padding-block-end: 0.25rem !important;
}

.py-1_5 {
  padding-block-start: 0.375rem !important;
  padding-block-end: 0.375rem !important;
}

.py-2 {
  padding-block-start: 0.5rem !important;
  padding-block-end: 0.5rem !important;
}

.py-3 {
  padding-block-start: 0.75rem !important;
  padding-block-end: 0.75rem !important;
}

.py-4 {
  padding-block-start: 1rem !important;
  padding-block-end: 1rem !important;
}

.py-5 {
  padding-block-start: 1.25rem !important;
  padding-block-end: 1.25rem !important;
}

.py-6 {
  padding-block-start: 1.5rem !important;
  padding-block-end: 1.5rem !important;
}

.py-7 {
  padding-block-start: 1.75rem !important;
  padding-block-end: 1.75rem !important;
}

.py-8 {
  padding-block-start: 2rem !important;
  padding-block-end: 2rem !important;
}

.py-9 {
  padding-block-start: 2.25rem !important;
  padding-block-end: 2.25rem !important;
}

.py-10 {
  padding-block-start: 2.5rem !important;
  padding-block-end: 2.5rem !important;
}

.py-11 {
  padding-block-start: 2.75rem !important;
  padding-block-end: 2.75rem !important;
}

.py-12 {
  padding-block-start: 3rem !important;
  padding-block-end: 3rem !important;
}

.pt-0 {
  padding-block-start: 0 !important;
}

.pt-50 {
  padding-block-start: 0.125rem !important;
}

.pt-1 {
  padding-block-start: 0.25rem !important;
}

.pt-1_5 {
  padding-block-start: 0.375rem !important;
}

.pt-2 {
  padding-block-start: 0.5rem !important;
}

.pt-3 {
  padding-block-start: 0.75rem !important;
}

.pt-4 {
  padding-block-start: 1rem !important;
}

.pt-5 {
  padding-block-start: 1.25rem !important;
}

.pt-6 {
  padding-block-start: 1.5rem !important;
}

.pt-7 {
  padding-block-start: 1.75rem !important;
}

.pt-8 {
  padding-block-start: 2rem !important;
}

.pt-9 {
  padding-block-start: 2.25rem !important;
}

.pt-10 {
  padding-block-start: 2.5rem !important;
}

.pt-11 {
  padding-block-start: 2.75rem !important;
}

.pt-12 {
  padding-block-start: 3rem !important;
}

.pe-0 {
  padding-inline-end: 0 !important;
}

.pe-50 {
  padding-inline-end: 0.125rem !important;
}

.pe-1 {
  padding-inline-end: 0.25rem !important;
}

.pe-1_5 {
  padding-inline-end: 0.375rem !important;
}

.pe-2 {
  padding-inline-end: 0.5rem !important;
}

.pe-3 {
  padding-inline-end: 0.75rem !important;
}

.pe-4 {
  padding-inline-end: 1rem !important;
}

.pe-5 {
  padding-inline-end: 1.25rem !important;
}

.pe-6 {
  padding-inline-end: 1.5rem !important;
}

.pe-7 {
  padding-inline-end: 1.75rem !important;
}

.pe-8 {
  padding-inline-end: 2rem !important;
}

.pe-9 {
  padding-inline-end: 2.25rem !important;
}

.pe-10 {
  padding-inline-end: 2.5rem !important;
}

.pe-11 {
  padding-inline-end: 2.75rem !important;
}

.pe-12 {
  padding-inline-end: 3rem !important;
}

.pb-0 {
  padding-block-end: 0 !important;
}

.pb-50 {
  padding-block-end: 0.125rem !important;
}

.pb-1 {
  padding-block-end: 0.25rem !important;
}

.pb-1_5 {
  padding-block-end: 0.375rem !important;
}

.pb-2 {
  padding-block-end: 0.5rem !important;
}

.pb-3 {
  padding-block-end: 0.75rem !important;
}

.pb-4 {
  padding-block-end: 1rem !important;
}

.pb-5 {
  padding-block-end: 1.25rem !important;
}

.pb-6 {
  padding-block-end: 1.5rem !important;
}

.pb-7 {
  padding-block-end: 1.75rem !important;
}

.pb-8 {
  padding-block-end: 2rem !important;
}

.pb-9 {
  padding-block-end: 2.25rem !important;
}

.pb-10 {
  padding-block-end: 2.5rem !important;
}

.pb-11 {
  padding-block-end: 2.75rem !important;
}

.pb-12 {
  padding-block-end: 3rem !important;
}

.ps-0 {
  padding-inline-start: 0 !important;
}

.ps-50 {
  padding-inline-start: 0.125rem !important;
}

.ps-1 {
  padding-inline-start: 0.25rem !important;
}

.ps-1_5 {
  padding-inline-start: 0.375rem !important;
}

.ps-2 {
  padding-inline-start: 0.5rem !important;
}

.ps-3 {
  padding-inline-start: 0.75rem !important;
}

.ps-4 {
  padding-inline-start: 1rem !important;
}

.ps-5 {
  padding-inline-start: 1.25rem !important;
}

.ps-6 {
  padding-inline-start: 1.5rem !important;
}

.ps-7 {
  padding-inline-start: 1.75rem !important;
}

.ps-8 {
  padding-inline-start: 2rem !important;
}

.ps-9 {
  padding-inline-start: 2.25rem !important;
}

.ps-10 {
  padding-inline-start: 2.5rem !important;
}

.ps-11 {
  padding-inline-start: 2.75rem !important;
}

.ps-12 {
  padding-inline-start: 3rem !important;
}

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

.gap-50 {
  gap: 0.125rem !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-1_5 {
  gap: 0.375rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 0.75rem !important;
}

.gap-4 {
  gap: 1rem !important;
}

.gap-5 {
  gap: 1.25rem !important;
}

.gap-6 {
  gap: 1.5rem !important;
}

.gap-7 {
  gap: 1.75rem !important;
}

.gap-8 {
  gap: 2rem !important;
}

.gap-9 {
  gap: 2.25rem !important;
}

.gap-10 {
  gap: 2.5rem !important;
}

.gap-11 {
  gap: 2.75rem !important;
}

.gap-12 {
  gap: 3rem !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-50 {
  row-gap: 0.125rem !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-1_5 {
  row-gap: 0.375rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 0.75rem !important;
}

.row-gap-4 {
  row-gap: 1rem !important;
}

.row-gap-5 {
  row-gap: 1.25rem !important;
}

.row-gap-6 {
  row-gap: 1.5rem !important;
}

.row-gap-7 {
  row-gap: 1.75rem !important;
}

.row-gap-8 {
  row-gap: 2rem !important;
}

.row-gap-9 {
  row-gap: 2.25rem !important;
}

.row-gap-10 {
  row-gap: 2.5rem !important;
}

.row-gap-11 {
  row-gap: 2.75rem !important;
}

.row-gap-12 {
  row-gap: 3rem !important;
}

.column-gap-0 {
  -moz-column-gap: 0 !important;
       column-gap: 0 !important;
}

.column-gap-50 {
  -moz-column-gap: 0.125rem !important;
       column-gap: 0.125rem !important;
}

.column-gap-1 {
  -moz-column-gap: 0.25rem !important;
       column-gap: 0.25rem !important;
}

.column-gap-1_5 {
  -moz-column-gap: 0.375rem !important;
       column-gap: 0.375rem !important;
}

.column-gap-2 {
  -moz-column-gap: 0.5rem !important;
       column-gap: 0.5rem !important;
}

.column-gap-3 {
  -moz-column-gap: 0.75rem !important;
       column-gap: 0.75rem !important;
}

.column-gap-4 {
  -moz-column-gap: 1rem !important;
       column-gap: 1rem !important;
}

.column-gap-5 {
  -moz-column-gap: 1.25rem !important;
       column-gap: 1.25rem !important;
}

.column-gap-6 {
  -moz-column-gap: 1.5rem !important;
       column-gap: 1.5rem !important;
}

.column-gap-7 {
  -moz-column-gap: 1.75rem !important;
       column-gap: 1.75rem !important;
}

.column-gap-8 {
  -moz-column-gap: 2rem !important;
       column-gap: 2rem !important;
}

.column-gap-9 {
  -moz-column-gap: 2.25rem !important;
       column-gap: 2.25rem !important;
}

.column-gap-10 {
  -moz-column-gap: 2.5rem !important;
       column-gap: 2.5rem !important;
}

.column-gap-11 {
  -moz-column-gap: 2.75rem !important;
       column-gap: 2.75rem !important;
}

.column-gap-12 {
  -moz-column-gap: 3rem !important;
       column-gap: 3rem !important;
}

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.4125rem + 1.95vw) !important;
}

.fs-2 {
  font-size: calc(1.3625rem + 1.35vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.125rem !important;
}

.fs-6 {
  font-size: 0.9375rem !important;
}

.fs-tiny {
  font-size: 70% !important;
}

.fs-big {
  font-size: 112% !important;
}

.fs-large {
  font-size: 150% !important;
}

.fs-xlarge {
  font-size: 170% !important;
}

.fs-xxlarge {
  font-size: calc(1.725rem + 5.7vw) !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-extrabold {
  font-weight: 800 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-inherit {
  line-height: inherit !important;
}

.lh-sm {
  line-height: 1.125 !important;
}

.lh-base {
  line-height: 1.375 !important;
}

.lh-lg {
  line-height: 1.625 !important;
}

.text-start {
  text-align: start !important;
}

.text-end {
  text-align: end !important;
}

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

.text-decoration-none {
  text-decoration: none !important;
}

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

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-none {
  text-transform: none !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: #acaab1 !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-gray {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-gray-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: var(--bs-white) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: var(--bs-body-color) !important;
}

.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}

.text-lighter {
  --bs-text-opacity: 1;
  color: #c1bfc5 !important;
}

.text-lightest {
  --bs-text-opacity: 1;
  color: #e6e6e8 !important;
}

.text-heading {
  --bs-text-opacity: 1;
  color: var(--bs-heading-color) !important;
}

.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

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

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

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

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-gray {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-gray-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-gray {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-gray-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: var(--bs-white) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: var(--bs-body-bg) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-lighter {
  --bs-bg-opacity: 1;
  background-color: color-mix(in sRGB, var(--bs-base-color) 6%, var(--bs-paper-bg)) !important;
}

.bg-lightest {
  --bs-bg-opacity: 1;
  background-color: color-mix(in sRGB, var(--bs-base-color) 1.5%, var(--bs-paper-bg)) !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

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

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

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

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
          user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
          user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-start-start-radius: var(--bs-border-radius) !important;
  border-start-end-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-start-start-radius: 0 !important;
  border-start-end-radius: 0 !important;
}

.rounded-top-1 {
  border-start-start-radius: var(--bs-border-radius-sm) !important;
  border-start-end-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-start-start-radius: var(--bs-border-radius) !important;
  border-start-end-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-start-start-radius: var(--bs-border-radius-lg) !important;
  border-start-end-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-start-start-radius: var(--bs-border-radius-xl) !important;
  border-start-end-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-start-start-radius: var(--bs-border-radius-xxl) !important;
  border-start-end-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-start-start-radius: 50% !important;
  border-start-end-radius: 50% !important;
}

.rounded-top-pill {
  border-start-start-radius: var(--bs-border-radius-pill) !important;
  border-start-end-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-start-end-radius: var(--bs-border-radius) !important;
  border-end-end-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

.rounded-end-1 {
  border-start-end-radius: var(--bs-border-radius-sm) !important;
  border-end-end-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-start-end-radius: var(--bs-border-radius) !important;
  border-end-end-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-start-end-radius: var(--bs-border-radius-lg) !important;
  border-end-end-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-start-end-radius: var(--bs-border-radius-xl) !important;
  border-end-end-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-start-end-radius: var(--bs-border-radius-xxl) !important;
  border-end-end-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-start-end-radius: 50% !important;
  border-end-end-radius: 50% !important;
}

.rounded-end-pill {
  border-start-end-radius: var(--bs-border-radius-pill) !important;
  border-end-end-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-end-end-radius: var(--bs-border-radius) !important;
  border-end-start-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-end-end-radius: 0 !important;
  border-end-start-radius: 0 !important;
}

.rounded-bottom-1 {
  border-end-end-radius: var(--bs-border-radius-sm) !important;
  border-end-start-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-end-end-radius: var(--bs-border-radius) !important;
  border-end-start-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-end-end-radius: var(--bs-border-radius-lg) !important;
  border-end-start-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-end-end-radius: var(--bs-border-radius-xl) !important;
  border-end-start-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-end-end-radius: var(--bs-border-radius-xxl) !important;
  border-end-start-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-end-end-radius: 50% !important;
  border-end-start-radius: 50% !important;
}

.rounded-bottom-pill {
  border-end-end-radius: var(--bs-border-radius-pill) !important;
  border-end-start-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-end-start-radius: var(--bs-border-radius) !important;
  border-start-start-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-end-start-radius: 0 !important;
  border-start-start-radius: 0 !important;
}

.rounded-start-1 {
  border-end-start-radius: var(--bs-border-radius-sm) !important;
  border-start-start-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-end-start-radius: var(--bs-border-radius) !important;
  border-start-start-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-end-start-radius: var(--bs-border-radius-lg) !important;
  border-start-start-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-end-start-radius: var(--bs-border-radius-xl) !important;
  border-start-start-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-end-start-radius: var(--bs-border-radius-xxl) !important;
  border-start-start-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-end-start-radius: 50% !important;
  border-start-start-radius: 50% !important;
}

.rounded-start-pill {
  border-end-start-radius: var(--bs-border-radius-pill) !important;
  border-start-start-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start-top {
  border-start-start-radius: 0.375rem !important;
}

.rounded-start-bottom {
  border-end-start-radius: 0.375rem !important;
}

.rounded-end-top {
  border-start-end-radius: 0.375rem !important;
}

.rounded-end-bottom {
  border-end-end-radius: 0.375rem !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

.z-4 {
  z-index: 4 !important;
}

.z-5 {
  z-index: 5 !important;
}

.rotate-0 {
  transform: var(--bs-rotate-0, rotate(0deg)) !important;
}

.rotate-90 {
  transform: var(--bs-rotate-90, rotate(90deg)) !important;
}

.rotate-180 {
  transform: var(--bs-rotate-180, rotate(180deg)) !important;
}

.rotate-270 {
  transform: var(--bs-rotate-270, rotate(270deg)) !important;
}

.rotate-n90 {
  transform: var(--bs-rotate-n90, rotate(-90deg)) !important;
}

.rotate-n180 {
  transform: var(--bs-rotate-n180, rotate(-180deg)) !important;
}

.rotate-n270 {
  transform: var(--bs-rotate-n270, rotate(-270deg)) !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.cursor-move {
  cursor: move !important;
}

.cursor-grab {
  cursor: grab !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: inline-start !important;
  }
  .float-sm-end {
    float: inline-end !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-sm-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-sm-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-sm-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .border-sm-solid {
    border-style: solid !important;
  }
  .border-sm-dashed {
    border-style: dashed !important;
  }
  .border-sm-none {
    border-style: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .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;
  }
  .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;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-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;
  }
  .align-self-sm-auto {
    align-self: auto !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-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-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-50 {
    margin: 0.125rem !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-1_5 {
    margin: 0.375rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 0.75rem !important;
  }
  .m-sm-4 {
    margin: 1rem !important;
  }
  .m-sm-5 {
    margin: 1.25rem !important;
  }
  .m-sm-6 {
    margin: 1.5rem !important;
  }
  .m-sm-7 {
    margin: 1.75rem !important;
  }
  .m-sm-8 {
    margin: 2rem !important;
  }
  .m-sm-9 {
    margin: 2.25rem !important;
  }
  .m-sm-10 {
    margin: 2.5rem !important;
  }
  .m-sm-11 {
    margin: 2.75rem !important;
  }
  .m-sm-12 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-inline-end: 0 !important;
    margin-inline-start: 0 !important;
  }
  .mx-sm-50 {
    margin-inline-end: 0.125rem !important;
    margin-inline-start: 0.125rem !important;
  }
  .mx-sm-1 {
    margin-inline-end: 0.25rem !important;
    margin-inline-start: 0.25rem !important;
  }
  .mx-sm-1_5 {
    margin-inline-end: 0.375rem !important;
    margin-inline-start: 0.375rem !important;
  }
  .mx-sm-2 {
    margin-inline-end: 0.5rem !important;
    margin-inline-start: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-inline-end: 0.75rem !important;
    margin-inline-start: 0.75rem !important;
  }
  .mx-sm-4 {
    margin-inline-end: 1rem !important;
    margin-inline-start: 1rem !important;
  }
  .mx-sm-5 {
    margin-inline-end: 1.25rem !important;
    margin-inline-start: 1.25rem !important;
  }
  .mx-sm-6 {
    margin-inline-end: 1.5rem !important;
    margin-inline-start: 1.5rem !important;
  }
  .mx-sm-7 {
    margin-inline-end: 1.75rem !important;
    margin-inline-start: 1.75rem !important;
  }
  .mx-sm-8 {
    margin-inline-end: 2rem !important;
    margin-inline-start: 2rem !important;
  }
  .mx-sm-9 {
    margin-inline-end: 2.25rem !important;
    margin-inline-start: 2.25rem !important;
  }
  .mx-sm-10 {
    margin-inline-end: 2.5rem !important;
    margin-inline-start: 2.5rem !important;
  }
  .mx-sm-11 {
    margin-inline-end: 2.75rem !important;
    margin-inline-start: 2.75rem !important;
  }
  .mx-sm-12 {
    margin-inline-end: 3rem !important;
    margin-inline-start: 3rem !important;
  }
  .mx-sm-auto {
    margin-inline-end: auto !important;
    margin-inline-start: auto !important;
  }
  .my-sm-0 {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
  .my-sm-50 {
    margin-block-start: 0.125rem !important;
    margin-block-end: 0.125rem !important;
  }
  .my-sm-1 {
    margin-block-start: 0.25rem !important;
    margin-block-end: 0.25rem !important;
  }
  .my-sm-1_5 {
    margin-block-start: 0.375rem !important;
    margin-block-end: 0.375rem !important;
  }
  .my-sm-2 {
    margin-block-start: 0.5rem !important;
    margin-block-end: 0.5rem !important;
  }
  .my-sm-3 {
    margin-block-start: 0.75rem !important;
    margin-block-end: 0.75rem !important;
  }
  .my-sm-4 {
    margin-block-start: 1rem !important;
    margin-block-end: 1rem !important;
  }
  .my-sm-5 {
    margin-block-start: 1.25rem !important;
    margin-block-end: 1.25rem !important;
  }
  .my-sm-6 {
    margin-block-start: 1.5rem !important;
    margin-block-end: 1.5rem !important;
  }
  .my-sm-7 {
    margin-block-start: 1.75rem !important;
    margin-block-end: 1.75rem !important;
  }
  .my-sm-8 {
    margin-block-start: 2rem !important;
    margin-block-end: 2rem !important;
  }
  .my-sm-9 {
    margin-block-start: 2.25rem !important;
    margin-block-end: 2.25rem !important;
  }
  .my-sm-10 {
    margin-block-start: 2.5rem !important;
    margin-block-end: 2.5rem !important;
  }
  .my-sm-11 {
    margin-block-start: 2.75rem !important;
    margin-block-end: 2.75rem !important;
  }
  .my-sm-12 {
    margin-block-start: 3rem !important;
    margin-block-end: 3rem !important;
  }
  .my-sm-auto {
    margin-block-start: auto !important;
    margin-block-end: auto !important;
  }
  .mt-sm-0 {
    margin-block-start: 0 !important;
  }
  .mt-sm-50 {
    margin-block-start: 0.125rem !important;
  }
  .mt-sm-1 {
    margin-block-start: 0.25rem !important;
  }
  .mt-sm-1_5 {
    margin-block-start: 0.375rem !important;
  }
  .mt-sm-2 {
    margin-block-start: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-block-start: 0.75rem !important;
  }
  .mt-sm-4 {
    margin-block-start: 1rem !important;
  }
  .mt-sm-5 {
    margin-block-start: 1.25rem !important;
  }
  .mt-sm-6 {
    margin-block-start: 1.5rem !important;
  }
  .mt-sm-7 {
    margin-block-start: 1.75rem !important;
  }
  .mt-sm-8 {
    margin-block-start: 2rem !important;
  }
  .mt-sm-9 {
    margin-block-start: 2.25rem !important;
  }
  .mt-sm-10 {
    margin-block-start: 2.5rem !important;
  }
  .mt-sm-11 {
    margin-block-start: 2.75rem !important;
  }
  .mt-sm-12 {
    margin-block-start: 3rem !important;
  }
  .mt-sm-auto {
    margin-block-start: auto !important;
  }
  .me-sm-0 {
    margin-inline-end: 0 !important;
  }
  .me-sm-50 {
    margin-inline-end: 0.125rem !important;
  }
  .me-sm-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-sm-1_5 {
    margin-inline-end: 0.375rem !important;
  }
  .me-sm-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-sm-3 {
    margin-inline-end: 0.75rem !important;
  }
  .me-sm-4 {
    margin-inline-end: 1rem !important;
  }
  .me-sm-5 {
    margin-inline-end: 1.25rem !important;
  }
  .me-sm-6 {
    margin-inline-end: 1.5rem !important;
  }
  .me-sm-7 {
    margin-inline-end: 1.75rem !important;
  }
  .me-sm-8 {
    margin-inline-end: 2rem !important;
  }
  .me-sm-9 {
    margin-inline-end: 2.25rem !important;
  }
  .me-sm-10 {
    margin-inline-end: 2.5rem !important;
  }
  .me-sm-11 {
    margin-inline-end: 2.75rem !important;
  }
  .me-sm-12 {
    margin-inline-end: 3rem !important;
  }
  .me-sm-auto {
    margin-inline-end: auto !important;
  }
  .mb-sm-0 {
    margin-block-end: 0 !important;
  }
  .mb-sm-50 {
    margin-block-end: 0.125rem !important;
  }
  .mb-sm-1 {
    margin-block-end: 0.25rem !important;
  }
  .mb-sm-1_5 {
    margin-block-end: 0.375rem !important;
  }
  .mb-sm-2 {
    margin-block-end: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-block-end: 0.75rem !important;
  }
  .mb-sm-4 {
    margin-block-end: 1rem !important;
  }
  .mb-sm-5 {
    margin-block-end: 1.25rem !important;
  }
  .mb-sm-6 {
    margin-block-end: 1.5rem !important;
  }
  .mb-sm-7 {
    margin-block-end: 1.75rem !important;
  }
  .mb-sm-8 {
    margin-block-end: 2rem !important;
  }
  .mb-sm-9 {
    margin-block-end: 2.25rem !important;
  }
  .mb-sm-10 {
    margin-block-end: 2.5rem !important;
  }
  .mb-sm-11 {
    margin-block-end: 2.75rem !important;
  }
  .mb-sm-12 {
    margin-block-end: 3rem !important;
  }
  .mb-sm-auto {
    margin-block-end: auto !important;
  }
  .ms-sm-0 {
    margin-inline-start: 0 !important;
  }
  .ms-sm-50 {
    margin-inline-start: 0.125rem !important;
  }
  .ms-sm-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-sm-1_5 {
    margin-inline-start: 0.375rem !important;
  }
  .ms-sm-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-inline-start: 0.75rem !important;
  }
  .ms-sm-4 {
    margin-inline-start: 1rem !important;
  }
  .ms-sm-5 {
    margin-inline-start: 1.25rem !important;
  }
  .ms-sm-6 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-sm-7 {
    margin-inline-start: 1.75rem !important;
  }
  .ms-sm-8 {
    margin-inline-start: 2rem !important;
  }
  .ms-sm-9 {
    margin-inline-start: 2.25rem !important;
  }
  .ms-sm-10 {
    margin-inline-start: 2.5rem !important;
  }
  .ms-sm-11 {
    margin-inline-start: 2.75rem !important;
  }
  .ms-sm-12 {
    margin-inline-start: 3rem !important;
  }
  .ms-sm-auto {
    margin-inline-start: auto !important;
  }
  .m-sm-n50 {
    margin: -0.125rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .m-sm-n1_5 {
    margin: -0.375rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -0.75rem !important;
  }
  .m-sm-n4 {
    margin: -1rem !important;
  }
  .m-sm-n5 {
    margin: -1.25rem !important;
  }
  .m-sm-n6 {
    margin: -1.5rem !important;
  }
  .m-sm-n7 {
    margin: -1.75rem !important;
  }
  .m-sm-n8 {
    margin: -2rem !important;
  }
  .m-sm-n9 {
    margin: -2.25rem !important;
  }
  .m-sm-n10 {
    margin: -2.5rem !important;
  }
  .m-sm-n11 {
    margin: -2.75rem !important;
  }
  .m-sm-n12 {
    margin: -3rem !important;
  }
  .mx-sm-n50 {
    margin-inline-end: -0.125rem !important;
    margin-inline-start: -0.125rem !important;
  }
  .mx-sm-n1 {
    margin-inline-end: -0.25rem !important;
    margin-inline-start: -0.25rem !important;
  }
  .mx-sm-n1_5 {
    margin-inline-end: -0.375rem !important;
    margin-inline-start: -0.375rem !important;
  }
  .mx-sm-n2 {
    margin-inline-end: -0.5rem !important;
    margin-inline-start: -0.5rem !important;
  }
  .mx-sm-n3 {
    margin-inline-end: -0.75rem !important;
    margin-inline-start: -0.75rem !important;
  }
  .mx-sm-n4 {
    margin-inline-end: -1rem !important;
    margin-inline-start: -1rem !important;
  }
  .mx-sm-n5 {
    margin-inline-end: -1.25rem !important;
    margin-inline-start: -1.25rem !important;
  }
  .mx-sm-n6 {
    margin-inline-end: -1.5rem !important;
    margin-inline-start: -1.5rem !important;
  }
  .mx-sm-n7 {
    margin-inline-end: -1.75rem !important;
    margin-inline-start: -1.75rem !important;
  }
  .mx-sm-n8 {
    margin-inline-end: -2rem !important;
    margin-inline-start: -2rem !important;
  }
  .mx-sm-n9 {
    margin-inline-end: -2.25rem !important;
    margin-inline-start: -2.25rem !important;
  }
  .mx-sm-n10 {
    margin-inline-end: -2.5rem !important;
    margin-inline-start: -2.5rem !important;
  }
  .mx-sm-n11 {
    margin-inline-end: -2.75rem !important;
    margin-inline-start: -2.75rem !important;
  }
  .mx-sm-n12 {
    margin-inline-end: -3rem !important;
    margin-inline-start: -3rem !important;
  }
  .my-sm-n50 {
    margin-block-start: -0.125rem !important;
    margin-block-end: -0.125rem !important;
  }
  .my-sm-n1 {
    margin-block-start: -0.25rem !important;
    margin-block-end: -0.25rem !important;
  }
  .my-sm-n1_5 {
    margin-block-start: -0.375rem !important;
    margin-block-end: -0.375rem !important;
  }
  .my-sm-n2 {
    margin-block-start: -0.5rem !important;
    margin-block-end: -0.5rem !important;
  }
  .my-sm-n3 {
    margin-block-start: -0.75rem !important;
    margin-block-end: -0.75rem !important;
  }
  .my-sm-n4 {
    margin-block-start: -1rem !important;
    margin-block-end: -1rem !important;
  }
  .my-sm-n5 {
    margin-block-start: -1.25rem !important;
    margin-block-end: -1.25rem !important;
  }
  .my-sm-n6 {
    margin-block-start: -1.5rem !important;
    margin-block-end: -1.5rem !important;
  }
  .my-sm-n7 {
    margin-block-start: -1.75rem !important;
    margin-block-end: -1.75rem !important;
  }
  .my-sm-n8 {
    margin-block-start: -2rem !important;
    margin-block-end: -2rem !important;
  }
  .my-sm-n9 {
    margin-block-start: -2.25rem !important;
    margin-block-end: -2.25rem !important;
  }
  .my-sm-n10 {
    margin-block-start: -2.5rem !important;
    margin-block-end: -2.5rem !important;
  }
  .my-sm-n11 {
    margin-block-start: -2.75rem !important;
    margin-block-end: -2.75rem !important;
  }
  .my-sm-n12 {
    margin-block-start: -3rem !important;
    margin-block-end: -3rem !important;
  }
  .mt-sm-n50 {
    margin-block-start: -0.125rem !important;
  }
  .mt-sm-n1 {
    margin-block-start: -0.25rem !important;
  }
  .mt-sm-n1_5 {
    margin-block-start: -0.375rem !important;
  }
  .mt-sm-n2 {
    margin-block-start: -0.5rem !important;
  }
  .mt-sm-n3 {
    margin-block-start: -0.75rem !important;
  }
  .mt-sm-n4 {
    margin-block-start: -1rem !important;
  }
  .mt-sm-n5 {
    margin-block-start: -1.25rem !important;
  }
  .mt-sm-n6 {
    margin-block-start: -1.5rem !important;
  }
  .mt-sm-n7 {
    margin-block-start: -1.75rem !important;
  }
  .mt-sm-n8 {
    margin-block-start: -2rem !important;
  }
  .mt-sm-n9 {
    margin-block-start: -2.25rem !important;
  }
  .mt-sm-n10 {
    margin-block-start: -2.5rem !important;
  }
  .mt-sm-n11 {
    margin-block-start: -2.75rem !important;
  }
  .mt-sm-n12 {
    margin-block-start: -3rem !important;
  }
  .me-sm-n50 {
    margin-inline-end: -0.125rem !important;
  }
  .me-sm-n1 {
    margin-inline-end: -0.25rem !important;
  }
  .me-sm-n1_5 {
    margin-inline-end: -0.375rem !important;
  }
  .me-sm-n2 {
    margin-inline-end: -0.5rem !important;
  }
  .me-sm-n3 {
    margin-inline-end: -0.75rem !important;
  }
  .me-sm-n4 {
    margin-inline-end: -1rem !important;
  }
  .me-sm-n5 {
    margin-inline-end: -1.25rem !important;
  }
  .me-sm-n6 {
    margin-inline-end: -1.5rem !important;
  }
  .me-sm-n7 {
    margin-inline-end: -1.75rem !important;
  }
  .me-sm-n8 {
    margin-inline-end: -2rem !important;
  }
  .me-sm-n9 {
    margin-inline-end: -2.25rem !important;
  }
  .me-sm-n10 {
    margin-inline-end: -2.5rem !important;
  }
  .me-sm-n11 {
    margin-inline-end: -2.75rem !important;
  }
  .me-sm-n12 {
    margin-inline-end: -3rem !important;
  }
  .mb-sm-n50 {
    margin-block-end: -0.125rem !important;
  }
  .mb-sm-n1 {
    margin-block-end: -0.25rem !important;
  }
  .mb-sm-n1_5 {
    margin-block-end: -0.375rem !important;
  }
  .mb-sm-n2 {
    margin-block-end: -0.5rem !important;
  }
  .mb-sm-n3 {
    margin-block-end: -0.75rem !important;
  }
  .mb-sm-n4 {
    margin-block-end: -1rem !important;
  }
  .mb-sm-n5 {
    margin-block-end: -1.25rem !important;
  }
  .mb-sm-n6 {
    margin-block-end: -1.5rem !important;
  }
  .mb-sm-n7 {
    margin-block-end: -1.75rem !important;
  }
  .mb-sm-n8 {
    margin-block-end: -2rem !important;
  }
  .mb-sm-n9 {
    margin-block-end: -2.25rem !important;
  }
  .mb-sm-n10 {
    margin-block-end: -2.5rem !important;
  }
  .mb-sm-n11 {
    margin-block-end: -2.75rem !important;
  }
  .mb-sm-n12 {
    margin-block-end: -3rem !important;
  }
  .ms-sm-n50 {
    margin-inline-start: -0.125rem !important;
  }
  .ms-sm-n1 {
    margin-inline-start: -0.25rem !important;
  }
  .ms-sm-n1_5 {
    margin-inline-start: -0.375rem !important;
  }
  .ms-sm-n2 {
    margin-inline-start: -0.5rem !important;
  }
  .ms-sm-n3 {
    margin-inline-start: -0.75rem !important;
  }
  .ms-sm-n4 {
    margin-inline-start: -1rem !important;
  }
  .ms-sm-n5 {
    margin-inline-start: -1.25rem !important;
  }
  .ms-sm-n6 {
    margin-inline-start: -1.5rem !important;
  }
  .ms-sm-n7 {
    margin-inline-start: -1.75rem !important;
  }
  .ms-sm-n8 {
    margin-inline-start: -2rem !important;
  }
  .ms-sm-n9 {
    margin-inline-start: -2.25rem !important;
  }
  .ms-sm-n10 {
    margin-inline-start: -2.5rem !important;
  }
  .ms-sm-n11 {
    margin-inline-start: -2.75rem !important;
  }
  .ms-sm-n12 {
    margin-inline-start: -3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-50 {
    padding: 0.125rem !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-1_5 {
    padding: 0.375rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 0.75rem !important;
  }
  .p-sm-4 {
    padding: 1rem !important;
  }
  .p-sm-5 {
    padding: 1.25rem !important;
  }
  .p-sm-6 {
    padding: 1.5rem !important;
  }
  .p-sm-7 {
    padding: 1.75rem !important;
  }
  .p-sm-8 {
    padding: 2rem !important;
  }
  .p-sm-9 {
    padding: 2.25rem !important;
  }
  .p-sm-10 {
    padding: 2.5rem !important;
  }
  .p-sm-11 {
    padding: 2.75rem !important;
  }
  .p-sm-12 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-inline-end: 0 !important;
    padding-inline-start: 0 !important;
  }
  .px-sm-50 {
    padding-inline-end: 0.125rem !important;
    padding-inline-start: 0.125rem !important;
  }
  .px-sm-1 {
    padding-inline-end: 0.25rem !important;
    padding-inline-start: 0.25rem !important;
  }
  .px-sm-1_5 {
    padding-inline-end: 0.375rem !important;
    padding-inline-start: 0.375rem !important;
  }
  .px-sm-2 {
    padding-inline-end: 0.5rem !important;
    padding-inline-start: 0.5rem !important;
  }
  .px-sm-3 {
    padding-inline-end: 0.75rem !important;
    padding-inline-start: 0.75rem !important;
  }
  .px-sm-4 {
    padding-inline-end: 1rem !important;
    padding-inline-start: 1rem !important;
  }
  .px-sm-5 {
    padding-inline-end: 1.25rem !important;
    padding-inline-start: 1.25rem !important;
  }
  .px-sm-6 {
    padding-inline-end: 1.5rem !important;
    padding-inline-start: 1.5rem !important;
  }
  .px-sm-7 {
    padding-inline-end: 1.75rem !important;
    padding-inline-start: 1.75rem !important;
  }
  .px-sm-8 {
    padding-inline-end: 2rem !important;
    padding-inline-start: 2rem !important;
  }
  .px-sm-9 {
    padding-inline-end: 2.25rem !important;
    padding-inline-start: 2.25rem !important;
  }
  .px-sm-10 {
    padding-inline-end: 2.5rem !important;
    padding-inline-start: 2.5rem !important;
  }
  .px-sm-11 {
    padding-inline-end: 2.75rem !important;
    padding-inline-start: 2.75rem !important;
  }
  .px-sm-12 {
    padding-inline-end: 3rem !important;
    padding-inline-start: 3rem !important;
  }
  .py-sm-0 {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }
  .py-sm-50 {
    padding-block-start: 0.125rem !important;
    padding-block-end: 0.125rem !important;
  }
  .py-sm-1 {
    padding-block-start: 0.25rem !important;
    padding-block-end: 0.25rem !important;
  }
  .py-sm-1_5 {
    padding-block-start: 0.375rem !important;
    padding-block-end: 0.375rem !important;
  }
  .py-sm-2 {
    padding-block-start: 0.5rem !important;
    padding-block-end: 0.5rem !important;
  }
  .py-sm-3 {
    padding-block-start: 0.75rem !important;
    padding-block-end: 0.75rem !important;
  }
  .py-sm-4 {
    padding-block-start: 1rem !important;
    padding-block-end: 1rem !important;
  }
  .py-sm-5 {
    padding-block-start: 1.25rem !important;
    padding-block-end: 1.25rem !important;
  }
  .py-sm-6 {
    padding-block-start: 1.5rem !important;
    padding-block-end: 1.5rem !important;
  }
  .py-sm-7 {
    padding-block-start: 1.75rem !important;
    padding-block-end: 1.75rem !important;
  }
  .py-sm-8 {
    padding-block-start: 2rem !important;
    padding-block-end: 2rem !important;
  }
  .py-sm-9 {
    padding-block-start: 2.25rem !important;
    padding-block-end: 2.25rem !important;
  }
  .py-sm-10 {
    padding-block-start: 2.5rem !important;
    padding-block-end: 2.5rem !important;
  }
  .py-sm-11 {
    padding-block-start: 2.75rem !important;
    padding-block-end: 2.75rem !important;
  }
  .py-sm-12 {
    padding-block-start: 3rem !important;
    padding-block-end: 3rem !important;
  }
  .pt-sm-0 {
    padding-block-start: 0 !important;
  }
  .pt-sm-50 {
    padding-block-start: 0.125rem !important;
  }
  .pt-sm-1 {
    padding-block-start: 0.25rem !important;
  }
  .pt-sm-1_5 {
    padding-block-start: 0.375rem !important;
  }
  .pt-sm-2 {
    padding-block-start: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-block-start: 0.75rem !important;
  }
  .pt-sm-4 {
    padding-block-start: 1rem !important;
  }
  .pt-sm-5 {
    padding-block-start: 1.25rem !important;
  }
  .pt-sm-6 {
    padding-block-start: 1.5rem !important;
  }
  .pt-sm-7 {
    padding-block-start: 1.75rem !important;
  }
  .pt-sm-8 {
    padding-block-start: 2rem !important;
  }
  .pt-sm-9 {
    padding-block-start: 2.25rem !important;
  }
  .pt-sm-10 {
    padding-block-start: 2.5rem !important;
  }
  .pt-sm-11 {
    padding-block-start: 2.75rem !important;
  }
  .pt-sm-12 {
    padding-block-start: 3rem !important;
  }
  .pe-sm-0 {
    padding-inline-end: 0 !important;
  }
  .pe-sm-50 {
    padding-inline-end: 0.125rem !important;
  }
  .pe-sm-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-sm-1_5 {
    padding-inline-end: 0.375rem !important;
  }
  .pe-sm-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-inline-end: 0.75rem !important;
  }
  .pe-sm-4 {
    padding-inline-end: 1rem !important;
  }
  .pe-sm-5 {
    padding-inline-end: 1.25rem !important;
  }
  .pe-sm-6 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-sm-7 {
    padding-inline-end: 1.75rem !important;
  }
  .pe-sm-8 {
    padding-inline-end: 2rem !important;
  }
  .pe-sm-9 {
    padding-inline-end: 2.25rem !important;
  }
  .pe-sm-10 {
    padding-inline-end: 2.5rem !important;
  }
  .pe-sm-11 {
    padding-inline-end: 2.75rem !important;
  }
  .pe-sm-12 {
    padding-inline-end: 3rem !important;
  }
  .pb-sm-0 {
    padding-block-end: 0 !important;
  }
  .pb-sm-50 {
    padding-block-end: 0.125rem !important;
  }
  .pb-sm-1 {
    padding-block-end: 0.25rem !important;
  }
  .pb-sm-1_5 {
    padding-block-end: 0.375rem !important;
  }
  .pb-sm-2 {
    padding-block-end: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-block-end: 0.75rem !important;
  }
  .pb-sm-4 {
    padding-block-end: 1rem !important;
  }
  .pb-sm-5 {
    padding-block-end: 1.25rem !important;
  }
  .pb-sm-6 {
    padding-block-end: 1.5rem !important;
  }
  .pb-sm-7 {
    padding-block-end: 1.75rem !important;
  }
  .pb-sm-8 {
    padding-block-end: 2rem !important;
  }
  .pb-sm-9 {
    padding-block-end: 2.25rem !important;
  }
  .pb-sm-10 {
    padding-block-end: 2.5rem !important;
  }
  .pb-sm-11 {
    padding-block-end: 2.75rem !important;
  }
  .pb-sm-12 {
    padding-block-end: 3rem !important;
  }
  .ps-sm-0 {
    padding-inline-start: 0 !important;
  }
  .ps-sm-50 {
    padding-inline-start: 0.125rem !important;
  }
  .ps-sm-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-sm-1_5 {
    padding-inline-start: 0.375rem !important;
  }
  .ps-sm-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-inline-start: 0.75rem !important;
  }
  .ps-sm-4 {
    padding-inline-start: 1rem !important;
  }
  .ps-sm-5 {
    padding-inline-start: 1.25rem !important;
  }
  .ps-sm-6 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-sm-7 {
    padding-inline-start: 1.75rem !important;
  }
  .ps-sm-8 {
    padding-inline-start: 2rem !important;
  }
  .ps-sm-9 {
    padding-inline-start: 2.25rem !important;
  }
  .ps-sm-10 {
    padding-inline-start: 2.5rem !important;
  }
  .ps-sm-11 {
    padding-inline-start: 2.75rem !important;
  }
  .ps-sm-12 {
    padding-inline-start: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-50 {
    gap: 0.125rem !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-1_5 {
    gap: 0.375rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 0.75rem !important;
  }
  .gap-sm-4 {
    gap: 1rem !important;
  }
  .gap-sm-5 {
    gap: 1.25rem !important;
  }
  .gap-sm-6 {
    gap: 1.5rem !important;
  }
  .gap-sm-7 {
    gap: 1.75rem !important;
  }
  .gap-sm-8 {
    gap: 2rem !important;
  }
  .gap-sm-9 {
    gap: 2.25rem !important;
  }
  .gap-sm-10 {
    gap: 2.5rem !important;
  }
  .gap-sm-11 {
    gap: 2.75rem !important;
  }
  .gap-sm-12 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-50 {
    row-gap: 0.125rem !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-1_5 {
    row-gap: 0.375rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 1.25rem !important;
  }
  .row-gap-sm-6 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-7 {
    row-gap: 1.75rem !important;
  }
  .row-gap-sm-8 {
    row-gap: 2rem !important;
  }
  .row-gap-sm-9 {
    row-gap: 2.25rem !important;
  }
  .row-gap-sm-10 {
    row-gap: 2.5rem !important;
  }
  .row-gap-sm-11 {
    row-gap: 2.75rem !important;
  }
  .row-gap-sm-12 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-sm-50 {
    -moz-column-gap: 0.125rem !important;
         column-gap: 0.125rem !important;
  }
  .column-gap-sm-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-sm-1_5 {
    -moz-column-gap: 0.375rem !important;
         column-gap: 0.375rem !important;
  }
  .column-gap-sm-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    -moz-column-gap: 0.75rem !important;
         column-gap: 0.75rem !important;
  }
  .column-gap-sm-4 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-sm-5 {
    -moz-column-gap: 1.25rem !important;
         column-gap: 1.25rem !important;
  }
  .column-gap-sm-6 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-sm-7 {
    -moz-column-gap: 1.75rem !important;
         column-gap: 1.75rem !important;
  }
  .column-gap-sm-8 {
    -moz-column-gap: 2rem !important;
         column-gap: 2rem !important;
  }
  .column-gap-sm-9 {
    -moz-column-gap: 2.25rem !important;
         column-gap: 2.25rem !important;
  }
  .column-gap-sm-10 {
    -moz-column-gap: 2.5rem !important;
         column-gap: 2.5rem !important;
  }
  .column-gap-sm-11 {
    -moz-column-gap: 2.75rem !important;
         column-gap: 2.75rem !important;
  }
  .column-gap-sm-12 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: start !important;
  }
  .text-sm-end {
    text-align: end !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: inline-start !important;
  }
  .float-md-end {
    float: inline-end !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-md-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-md-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-md-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-md-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .border-md-solid {
    border-style: solid !important;
  }
  .border-md-dashed {
    border-style: dashed !important;
  }
  .border-md-none {
    border-style: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .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;
  }
  .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;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-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;
  }
  .align-self-md-auto {
    align-self: auto !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-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-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-50 {
    margin: 0.125rem !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-1_5 {
    margin: 0.375rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 0.75rem !important;
  }
  .m-md-4 {
    margin: 1rem !important;
  }
  .m-md-5 {
    margin: 1.25rem !important;
  }
  .m-md-6 {
    margin: 1.5rem !important;
  }
  .m-md-7 {
    margin: 1.75rem !important;
  }
  .m-md-8 {
    margin: 2rem !important;
  }
  .m-md-9 {
    margin: 2.25rem !important;
  }
  .m-md-10 {
    margin: 2.5rem !important;
  }
  .m-md-11 {
    margin: 2.75rem !important;
  }
  .m-md-12 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-inline-end: 0 !important;
    margin-inline-start: 0 !important;
  }
  .mx-md-50 {
    margin-inline-end: 0.125rem !important;
    margin-inline-start: 0.125rem !important;
  }
  .mx-md-1 {
    margin-inline-end: 0.25rem !important;
    margin-inline-start: 0.25rem !important;
  }
  .mx-md-1_5 {
    margin-inline-end: 0.375rem !important;
    margin-inline-start: 0.375rem !important;
  }
  .mx-md-2 {
    margin-inline-end: 0.5rem !important;
    margin-inline-start: 0.5rem !important;
  }
  .mx-md-3 {
    margin-inline-end: 0.75rem !important;
    margin-inline-start: 0.75rem !important;
  }
  .mx-md-4 {
    margin-inline-end: 1rem !important;
    margin-inline-start: 1rem !important;
  }
  .mx-md-5 {
    margin-inline-end: 1.25rem !important;
    margin-inline-start: 1.25rem !important;
  }
  .mx-md-6 {
    margin-inline-end: 1.5rem !important;
    margin-inline-start: 1.5rem !important;
  }
  .mx-md-7 {
    margin-inline-end: 1.75rem !important;
    margin-inline-start: 1.75rem !important;
  }
  .mx-md-8 {
    margin-inline-end: 2rem !important;
    margin-inline-start: 2rem !important;
  }
  .mx-md-9 {
    margin-inline-end: 2.25rem !important;
    margin-inline-start: 2.25rem !important;
  }
  .mx-md-10 {
    margin-inline-end: 2.5rem !important;
    margin-inline-start: 2.5rem !important;
  }
  .mx-md-11 {
    margin-inline-end: 2.75rem !important;
    margin-inline-start: 2.75rem !important;
  }
  .mx-md-12 {
    margin-inline-end: 3rem !important;
    margin-inline-start: 3rem !important;
  }
  .mx-md-auto {
    margin-inline-end: auto !important;
    margin-inline-start: auto !important;
  }
  .my-md-0 {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
  .my-md-50 {
    margin-block-start: 0.125rem !important;
    margin-block-end: 0.125rem !important;
  }
  .my-md-1 {
    margin-block-start: 0.25rem !important;
    margin-block-end: 0.25rem !important;
  }
  .my-md-1_5 {
    margin-block-start: 0.375rem !important;
    margin-block-end: 0.375rem !important;
  }
  .my-md-2 {
    margin-block-start: 0.5rem !important;
    margin-block-end: 0.5rem !important;
  }
  .my-md-3 {
    margin-block-start: 0.75rem !important;
    margin-block-end: 0.75rem !important;
  }
  .my-md-4 {
    margin-block-start: 1rem !important;
    margin-block-end: 1rem !important;
  }
  .my-md-5 {
    margin-block-start: 1.25rem !important;
    margin-block-end: 1.25rem !important;
  }
  .my-md-6 {
    margin-block-start: 1.5rem !important;
    margin-block-end: 1.5rem !important;
  }
  .my-md-7 {
    margin-block-start: 1.75rem !important;
    margin-block-end: 1.75rem !important;
  }
  .my-md-8 {
    margin-block-start: 2rem !important;
    margin-block-end: 2rem !important;
  }
  .my-md-9 {
    margin-block-start: 2.25rem !important;
    margin-block-end: 2.25rem !important;
  }
  .my-md-10 {
    margin-block-start: 2.5rem !important;
    margin-block-end: 2.5rem !important;
  }
  .my-md-11 {
    margin-block-start: 2.75rem !important;
    margin-block-end: 2.75rem !important;
  }
  .my-md-12 {
    margin-block-start: 3rem !important;
    margin-block-end: 3rem !important;
  }
  .my-md-auto {
    margin-block-start: auto !important;
    margin-block-end: auto !important;
  }
  .mt-md-0 {
    margin-block-start: 0 !important;
  }
  .mt-md-50 {
    margin-block-start: 0.125rem !important;
  }
  .mt-md-1 {
    margin-block-start: 0.25rem !important;
  }
  .mt-md-1_5 {
    margin-block-start: 0.375rem !important;
  }
  .mt-md-2 {
    margin-block-start: 0.5rem !important;
  }
  .mt-md-3 {
    margin-block-start: 0.75rem !important;
  }
  .mt-md-4 {
    margin-block-start: 1rem !important;
  }
  .mt-md-5 {
    margin-block-start: 1.25rem !important;
  }
  .mt-md-6 {
    margin-block-start: 1.5rem !important;
  }
  .mt-md-7 {
    margin-block-start: 1.75rem !important;
  }
  .mt-md-8 {
    margin-block-start: 2rem !important;
  }
  .mt-md-9 {
    margin-block-start: 2.25rem !important;
  }
  .mt-md-10 {
    margin-block-start: 2.5rem !important;
  }
  .mt-md-11 {
    margin-block-start: 2.75rem !important;
  }
  .mt-md-12 {
    margin-block-start: 3rem !important;
  }
  .mt-md-auto {
    margin-block-start: auto !important;
  }
  .me-md-0 {
    margin-inline-end: 0 !important;
  }
  .me-md-50 {
    margin-inline-end: 0.125rem !important;
  }
  .me-md-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-md-1_5 {
    margin-inline-end: 0.375rem !important;
  }
  .me-md-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-md-3 {
    margin-inline-end: 0.75rem !important;
  }
  .me-md-4 {
    margin-inline-end: 1rem !important;
  }
  .me-md-5 {
    margin-inline-end: 1.25rem !important;
  }
  .me-md-6 {
    margin-inline-end: 1.5rem !important;
  }
  .me-md-7 {
    margin-inline-end: 1.75rem !important;
  }
  .me-md-8 {
    margin-inline-end: 2rem !important;
  }
  .me-md-9 {
    margin-inline-end: 2.25rem !important;
  }
  .me-md-10 {
    margin-inline-end: 2.5rem !important;
  }
  .me-md-11 {
    margin-inline-end: 2.75rem !important;
  }
  .me-md-12 {
    margin-inline-end: 3rem !important;
  }
  .me-md-auto {
    margin-inline-end: auto !important;
  }
  .mb-md-0 {
    margin-block-end: 0 !important;
  }
  .mb-md-50 {
    margin-block-end: 0.125rem !important;
  }
  .mb-md-1 {
    margin-block-end: 0.25rem !important;
  }
  .mb-md-1_5 {
    margin-block-end: 0.375rem !important;
  }
  .mb-md-2 {
    margin-block-end: 0.5rem !important;
  }
  .mb-md-3 {
    margin-block-end: 0.75rem !important;
  }
  .mb-md-4 {
    margin-block-end: 1rem !important;
  }
  .mb-md-5 {
    margin-block-end: 1.25rem !important;
  }
  .mb-md-6 {
    margin-block-end: 1.5rem !important;
  }
  .mb-md-7 {
    margin-block-end: 1.75rem !important;
  }
  .mb-md-8 {
    margin-block-end: 2rem !important;
  }
  .mb-md-9 {
    margin-block-end: 2.25rem !important;
  }
  .mb-md-10 {
    margin-block-end: 2.5rem !important;
  }
  .mb-md-11 {
    margin-block-end: 2.75rem !important;
  }
  .mb-md-12 {
    margin-block-end: 3rem !important;
  }
  .mb-md-auto {
    margin-block-end: auto !important;
  }
  .ms-md-0 {
    margin-inline-start: 0 !important;
  }
  .ms-md-50 {
    margin-inline-start: 0.125rem !important;
  }
  .ms-md-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-md-1_5 {
    margin-inline-start: 0.375rem !important;
  }
  .ms-md-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-md-3 {
    margin-inline-start: 0.75rem !important;
  }
  .ms-md-4 {
    margin-inline-start: 1rem !important;
  }
  .ms-md-5 {
    margin-inline-start: 1.25rem !important;
  }
  .ms-md-6 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-md-7 {
    margin-inline-start: 1.75rem !important;
  }
  .ms-md-8 {
    margin-inline-start: 2rem !important;
  }
  .ms-md-9 {
    margin-inline-start: 2.25rem !important;
  }
  .ms-md-10 {
    margin-inline-start: 2.5rem !important;
  }
  .ms-md-11 {
    margin-inline-start: 2.75rem !important;
  }
  .ms-md-12 {
    margin-inline-start: 3rem !important;
  }
  .ms-md-auto {
    margin-inline-start: auto !important;
  }
  .m-md-n50 {
    margin: -0.125rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .m-md-n1_5 {
    margin: -0.375rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -0.75rem !important;
  }
  .m-md-n4 {
    margin: -1rem !important;
  }
  .m-md-n5 {
    margin: -1.25rem !important;
  }
  .m-md-n6 {
    margin: -1.5rem !important;
  }
  .m-md-n7 {
    margin: -1.75rem !important;
  }
  .m-md-n8 {
    margin: -2rem !important;
  }
  .m-md-n9 {
    margin: -2.25rem !important;
  }
  .m-md-n10 {
    margin: -2.5rem !important;
  }
  .m-md-n11 {
    margin: -2.75rem !important;
  }
  .m-md-n12 {
    margin: -3rem !important;
  }
  .mx-md-n50 {
    margin-inline-end: -0.125rem !important;
    margin-inline-start: -0.125rem !important;
  }
  .mx-md-n1 {
    margin-inline-end: -0.25rem !important;
    margin-inline-start: -0.25rem !important;
  }
  .mx-md-n1_5 {
    margin-inline-end: -0.375rem !important;
    margin-inline-start: -0.375rem !important;
  }
  .mx-md-n2 {
    margin-inline-end: -0.5rem !important;
    margin-inline-start: -0.5rem !important;
  }
  .mx-md-n3 {
    margin-inline-end: -0.75rem !important;
    margin-inline-start: -0.75rem !important;
  }
  .mx-md-n4 {
    margin-inline-end: -1rem !important;
    margin-inline-start: -1rem !important;
  }
  .mx-md-n5 {
    margin-inline-end: -1.25rem !important;
    margin-inline-start: -1.25rem !important;
  }
  .mx-md-n6 {
    margin-inline-end: -1.5rem !important;
    margin-inline-start: -1.5rem !important;
  }
  .mx-md-n7 {
    margin-inline-end: -1.75rem !important;
    margin-inline-start: -1.75rem !important;
  }
  .mx-md-n8 {
    margin-inline-end: -2rem !important;
    margin-inline-start: -2rem !important;
  }
  .mx-md-n9 {
    margin-inline-end: -2.25rem !important;
    margin-inline-start: -2.25rem !important;
  }
  .mx-md-n10 {
    margin-inline-end: -2.5rem !important;
    margin-inline-start: -2.5rem !important;
  }
  .mx-md-n11 {
    margin-inline-end: -2.75rem !important;
    margin-inline-start: -2.75rem !important;
  }
  .mx-md-n12 {
    margin-inline-end: -3rem !important;
    margin-inline-start: -3rem !important;
  }
  .my-md-n50 {
    margin-block-start: -0.125rem !important;
    margin-block-end: -0.125rem !important;
  }
  .my-md-n1 {
    margin-block-start: -0.25rem !important;
    margin-block-end: -0.25rem !important;
  }
  .my-md-n1_5 {
    margin-block-start: -0.375rem !important;
    margin-block-end: -0.375rem !important;
  }
  .my-md-n2 {
    margin-block-start: -0.5rem !important;
    margin-block-end: -0.5rem !important;
  }
  .my-md-n3 {
    margin-block-start: -0.75rem !important;
    margin-block-end: -0.75rem !important;
  }
  .my-md-n4 {
    margin-block-start: -1rem !important;
    margin-block-end: -1rem !important;
  }
  .my-md-n5 {
    margin-block-start: -1.25rem !important;
    margin-block-end: -1.25rem !important;
  }
  .my-md-n6 {
    margin-block-start: -1.5rem !important;
    margin-block-end: -1.5rem !important;
  }
  .my-md-n7 {
    margin-block-start: -1.75rem !important;
    margin-block-end: -1.75rem !important;
  }
  .my-md-n8 {
    margin-block-start: -2rem !important;
    margin-block-end: -2rem !important;
  }
  .my-md-n9 {
    margin-block-start: -2.25rem !important;
    margin-block-end: -2.25rem !important;
  }
  .my-md-n10 {
    margin-block-start: -2.5rem !important;
    margin-block-end: -2.5rem !important;
  }
  .my-md-n11 {
    margin-block-start: -2.75rem !important;
    margin-block-end: -2.75rem !important;
  }
  .my-md-n12 {
    margin-block-start: -3rem !important;
    margin-block-end: -3rem !important;
  }
  .mt-md-n50 {
    margin-block-start: -0.125rem !important;
  }
  .mt-md-n1 {
    margin-block-start: -0.25rem !important;
  }
  .mt-md-n1_5 {
    margin-block-start: -0.375rem !important;
  }
  .mt-md-n2 {
    margin-block-start: -0.5rem !important;
  }
  .mt-md-n3 {
    margin-block-start: -0.75rem !important;
  }
  .mt-md-n4 {
    margin-block-start: -1rem !important;
  }
  .mt-md-n5 {
    margin-block-start: -1.25rem !important;
  }
  .mt-md-n6 {
    margin-block-start: -1.5rem !important;
  }
  .mt-md-n7 {
    margin-block-start: -1.75rem !important;
  }
  .mt-md-n8 {
    margin-block-start: -2rem !important;
  }
  .mt-md-n9 {
    margin-block-start: -2.25rem !important;
  }
  .mt-md-n10 {
    margin-block-start: -2.5rem !important;
  }
  .mt-md-n11 {
    margin-block-start: -2.75rem !important;
  }
  .mt-md-n12 {
    margin-block-start: -3rem !important;
  }
  .me-md-n50 {
    margin-inline-end: -0.125rem !important;
  }
  .me-md-n1 {
    margin-inline-end: -0.25rem !important;
  }
  .me-md-n1_5 {
    margin-inline-end: -0.375rem !important;
  }
  .me-md-n2 {
    margin-inline-end: -0.5rem !important;
  }
  .me-md-n3 {
    margin-inline-end: -0.75rem !important;
  }
  .me-md-n4 {
    margin-inline-end: -1rem !important;
  }
  .me-md-n5 {
    margin-inline-end: -1.25rem !important;
  }
  .me-md-n6 {
    margin-inline-end: -1.5rem !important;
  }
  .me-md-n7 {
    margin-inline-end: -1.75rem !important;
  }
  .me-md-n8 {
    margin-inline-end: -2rem !important;
  }
  .me-md-n9 {
    margin-inline-end: -2.25rem !important;
  }
  .me-md-n10 {
    margin-inline-end: -2.5rem !important;
  }
  .me-md-n11 {
    margin-inline-end: -2.75rem !important;
  }
  .me-md-n12 {
    margin-inline-end: -3rem !important;
  }
  .mb-md-n50 {
    margin-block-end: -0.125rem !important;
  }
  .mb-md-n1 {
    margin-block-end: -0.25rem !important;
  }
  .mb-md-n1_5 {
    margin-block-end: -0.375rem !important;
  }
  .mb-md-n2 {
    margin-block-end: -0.5rem !important;
  }
  .mb-md-n3 {
    margin-block-end: -0.75rem !important;
  }
  .mb-md-n4 {
    margin-block-end: -1rem !important;
  }
  .mb-md-n5 {
    margin-block-end: -1.25rem !important;
  }
  .mb-md-n6 {
    margin-block-end: -1.5rem !important;
  }
  .mb-md-n7 {
    margin-block-end: -1.75rem !important;
  }
  .mb-md-n8 {
    margin-block-end: -2rem !important;
  }
  .mb-md-n9 {
    margin-block-end: -2.25rem !important;
  }
  .mb-md-n10 {
    margin-block-end: -2.5rem !important;
  }
  .mb-md-n11 {
    margin-block-end: -2.75rem !important;
  }
  .mb-md-n12 {
    margin-block-end: -3rem !important;
  }
  .ms-md-n50 {
    margin-inline-start: -0.125rem !important;
  }
  .ms-md-n1 {
    margin-inline-start: -0.25rem !important;
  }
  .ms-md-n1_5 {
    margin-inline-start: -0.375rem !important;
  }
  .ms-md-n2 {
    margin-inline-start: -0.5rem !important;
  }
  .ms-md-n3 {
    margin-inline-start: -0.75rem !important;
  }
  .ms-md-n4 {
    margin-inline-start: -1rem !important;
  }
  .ms-md-n5 {
    margin-inline-start: -1.25rem !important;
  }
  .ms-md-n6 {
    margin-inline-start: -1.5rem !important;
  }
  .ms-md-n7 {
    margin-inline-start: -1.75rem !important;
  }
  .ms-md-n8 {
    margin-inline-start: -2rem !important;
  }
  .ms-md-n9 {
    margin-inline-start: -2.25rem !important;
  }
  .ms-md-n10 {
    margin-inline-start: -2.5rem !important;
  }
  .ms-md-n11 {
    margin-inline-start: -2.75rem !important;
  }
  .ms-md-n12 {
    margin-inline-start: -3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-50 {
    padding: 0.125rem !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-1_5 {
    padding: 0.375rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 0.75rem !important;
  }
  .p-md-4 {
    padding: 1rem !important;
  }
  .p-md-5 {
    padding: 1.25rem !important;
  }
  .p-md-6 {
    padding: 1.5rem !important;
  }
  .p-md-7 {
    padding: 1.75rem !important;
  }
  .p-md-8 {
    padding: 2rem !important;
  }
  .p-md-9 {
    padding: 2.25rem !important;
  }
  .p-md-10 {
    padding: 2.5rem !important;
  }
  .p-md-11 {
    padding: 2.75rem !important;
  }
  .p-md-12 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-inline-end: 0 !important;
    padding-inline-start: 0 !important;
  }
  .px-md-50 {
    padding-inline-end: 0.125rem !important;
    padding-inline-start: 0.125rem !important;
  }
  .px-md-1 {
    padding-inline-end: 0.25rem !important;
    padding-inline-start: 0.25rem !important;
  }
  .px-md-1_5 {
    padding-inline-end: 0.375rem !important;
    padding-inline-start: 0.375rem !important;
  }
  .px-md-2 {
    padding-inline-end: 0.5rem !important;
    padding-inline-start: 0.5rem !important;
  }
  .px-md-3 {
    padding-inline-end: 0.75rem !important;
    padding-inline-start: 0.75rem !important;
  }
  .px-md-4 {
    padding-inline-end: 1rem !important;
    padding-inline-start: 1rem !important;
  }
  .px-md-5 {
    padding-inline-end: 1.25rem !important;
    padding-inline-start: 1.25rem !important;
  }
  .px-md-6 {
    padding-inline-end: 1.5rem !important;
    padding-inline-start: 1.5rem !important;
  }
  .px-md-7 {
    padding-inline-end: 1.75rem !important;
    padding-inline-start: 1.75rem !important;
  }
  .px-md-8 {
    padding-inline-end: 2rem !important;
    padding-inline-start: 2rem !important;
  }
  .px-md-9 {
    padding-inline-end: 2.25rem !important;
    padding-inline-start: 2.25rem !important;
  }
  .px-md-10 {
    padding-inline-end: 2.5rem !important;
    padding-inline-start: 2.5rem !important;
  }
  .px-md-11 {
    padding-inline-end: 2.75rem !important;
    padding-inline-start: 2.75rem !important;
  }
  .px-md-12 {
    padding-inline-end: 3rem !important;
    padding-inline-start: 3rem !important;
  }
  .py-md-0 {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }
  .py-md-50 {
    padding-block-start: 0.125rem !important;
    padding-block-end: 0.125rem !important;
  }
  .py-md-1 {
    padding-block-start: 0.25rem !important;
    padding-block-end: 0.25rem !important;
  }
  .py-md-1_5 {
    padding-block-start: 0.375rem !important;
    padding-block-end: 0.375rem !important;
  }
  .py-md-2 {
    padding-block-start: 0.5rem !important;
    padding-block-end: 0.5rem !important;
  }
  .py-md-3 {
    padding-block-start: 0.75rem !important;
    padding-block-end: 0.75rem !important;
  }
  .py-md-4 {
    padding-block-start: 1rem !important;
    padding-block-end: 1rem !important;
  }
  .py-md-5 {
    padding-block-start: 1.25rem !important;
    padding-block-end: 1.25rem !important;
  }
  .py-md-6 {
    padding-block-start: 1.5rem !important;
    padding-block-end: 1.5rem !important;
  }
  .py-md-7 {
    padding-block-start: 1.75rem !important;
    padding-block-end: 1.75rem !important;
  }
  .py-md-8 {
    padding-block-start: 2rem !important;
    padding-block-end: 2rem !important;
  }
  .py-md-9 {
    padding-block-start: 2.25rem !important;
    padding-block-end: 2.25rem !important;
  }
  .py-md-10 {
    padding-block-start: 2.5rem !important;
    padding-block-end: 2.5rem !important;
  }
  .py-md-11 {
    padding-block-start: 2.75rem !important;
    padding-block-end: 2.75rem !important;
  }
  .py-md-12 {
    padding-block-start: 3rem !important;
    padding-block-end: 3rem !important;
  }
  .pt-md-0 {
    padding-block-start: 0 !important;
  }
  .pt-md-50 {
    padding-block-start: 0.125rem !important;
  }
  .pt-md-1 {
    padding-block-start: 0.25rem !important;
  }
  .pt-md-1_5 {
    padding-block-start: 0.375rem !important;
  }
  .pt-md-2 {
    padding-block-start: 0.5rem !important;
  }
  .pt-md-3 {
    padding-block-start: 0.75rem !important;
  }
  .pt-md-4 {
    padding-block-start: 1rem !important;
  }
  .pt-md-5 {
    padding-block-start: 1.25rem !important;
  }
  .pt-md-6 {
    padding-block-start: 1.5rem !important;
  }
  .pt-md-7 {
    padding-block-start: 1.75rem !important;
  }
  .pt-md-8 {
    padding-block-start: 2rem !important;
  }
  .pt-md-9 {
    padding-block-start: 2.25rem !important;
  }
  .pt-md-10 {
    padding-block-start: 2.5rem !important;
  }
  .pt-md-11 {
    padding-block-start: 2.75rem !important;
  }
  .pt-md-12 {
    padding-block-start: 3rem !important;
  }
  .pe-md-0 {
    padding-inline-end: 0 !important;
  }
  .pe-md-50 {
    padding-inline-end: 0.125rem !important;
  }
  .pe-md-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-md-1_5 {
    padding-inline-end: 0.375rem !important;
  }
  .pe-md-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-md-3 {
    padding-inline-end: 0.75rem !important;
  }
  .pe-md-4 {
    padding-inline-end: 1rem !important;
  }
  .pe-md-5 {
    padding-inline-end: 1.25rem !important;
  }
  .pe-md-6 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-md-7 {
    padding-inline-end: 1.75rem !important;
  }
  .pe-md-8 {
    padding-inline-end: 2rem !important;
  }
  .pe-md-9 {
    padding-inline-end: 2.25rem !important;
  }
  .pe-md-10 {
    padding-inline-end: 2.5rem !important;
  }
  .pe-md-11 {
    padding-inline-end: 2.75rem !important;
  }
  .pe-md-12 {
    padding-inline-end: 3rem !important;
  }
  .pb-md-0 {
    padding-block-end: 0 !important;
  }
  .pb-md-50 {
    padding-block-end: 0.125rem !important;
  }
  .pb-md-1 {
    padding-block-end: 0.25rem !important;
  }
  .pb-md-1_5 {
    padding-block-end: 0.375rem !important;
  }
  .pb-md-2 {
    padding-block-end: 0.5rem !important;
  }
  .pb-md-3 {
    padding-block-end: 0.75rem !important;
  }
  .pb-md-4 {
    padding-block-end: 1rem !important;
  }
  .pb-md-5 {
    padding-block-end: 1.25rem !important;
  }
  .pb-md-6 {
    padding-block-end: 1.5rem !important;
  }
  .pb-md-7 {
    padding-block-end: 1.75rem !important;
  }
  .pb-md-8 {
    padding-block-end: 2rem !important;
  }
  .pb-md-9 {
    padding-block-end: 2.25rem !important;
  }
  .pb-md-10 {
    padding-block-end: 2.5rem !important;
  }
  .pb-md-11 {
    padding-block-end: 2.75rem !important;
  }
  .pb-md-12 {
    padding-block-end: 3rem !important;
  }
  .ps-md-0 {
    padding-inline-start: 0 !important;
  }
  .ps-md-50 {
    padding-inline-start: 0.125rem !important;
  }
  .ps-md-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-md-1_5 {
    padding-inline-start: 0.375rem !important;
  }
  .ps-md-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-md-3 {
    padding-inline-start: 0.75rem !important;
  }
  .ps-md-4 {
    padding-inline-start: 1rem !important;
  }
  .ps-md-5 {
    padding-inline-start: 1.25rem !important;
  }
  .ps-md-6 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-md-7 {
    padding-inline-start: 1.75rem !important;
  }
  .ps-md-8 {
    padding-inline-start: 2rem !important;
  }
  .ps-md-9 {
    padding-inline-start: 2.25rem !important;
  }
  .ps-md-10 {
    padding-inline-start: 2.5rem !important;
  }
  .ps-md-11 {
    padding-inline-start: 2.75rem !important;
  }
  .ps-md-12 {
    padding-inline-start: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-50 {
    gap: 0.125rem !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-1_5 {
    gap: 0.375rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 0.75rem !important;
  }
  .gap-md-4 {
    gap: 1rem !important;
  }
  .gap-md-5 {
    gap: 1.25rem !important;
  }
  .gap-md-6 {
    gap: 1.5rem !important;
  }
  .gap-md-7 {
    gap: 1.75rem !important;
  }
  .gap-md-8 {
    gap: 2rem !important;
  }
  .gap-md-9 {
    gap: 2.25rem !important;
  }
  .gap-md-10 {
    gap: 2.5rem !important;
  }
  .gap-md-11 {
    gap: 2.75rem !important;
  }
  .gap-md-12 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-50 {
    row-gap: 0.125rem !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-1_5 {
    row-gap: 0.375rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1rem !important;
  }
  .row-gap-md-5 {
    row-gap: 1.25rem !important;
  }
  .row-gap-md-6 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-7 {
    row-gap: 1.75rem !important;
  }
  .row-gap-md-8 {
    row-gap: 2rem !important;
  }
  .row-gap-md-9 {
    row-gap: 2.25rem !important;
  }
  .row-gap-md-10 {
    row-gap: 2.5rem !important;
  }
  .row-gap-md-11 {
    row-gap: 2.75rem !important;
  }
  .row-gap-md-12 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-md-50 {
    -moz-column-gap: 0.125rem !important;
         column-gap: 0.125rem !important;
  }
  .column-gap-md-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-md-1_5 {
    -moz-column-gap: 0.375rem !important;
         column-gap: 0.375rem !important;
  }
  .column-gap-md-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    -moz-column-gap: 0.75rem !important;
         column-gap: 0.75rem !important;
  }
  .column-gap-md-4 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-md-5 {
    -moz-column-gap: 1.25rem !important;
         column-gap: 1.25rem !important;
  }
  .column-gap-md-6 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-md-7 {
    -moz-column-gap: 1.75rem !important;
         column-gap: 1.75rem !important;
  }
  .column-gap-md-8 {
    -moz-column-gap: 2rem !important;
         column-gap: 2rem !important;
  }
  .column-gap-md-9 {
    -moz-column-gap: 2.25rem !important;
         column-gap: 2.25rem !important;
  }
  .column-gap-md-10 {
    -moz-column-gap: 2.5rem !important;
         column-gap: 2.5rem !important;
  }
  .column-gap-md-11 {
    -moz-column-gap: 2.75rem !important;
         column-gap: 2.75rem !important;
  }
  .column-gap-md-12 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: start !important;
  }
  .text-md-end {
    text-align: end !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: inline-start !important;
  }
  .float-lg-end {
    float: inline-end !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-lg-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-lg-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-lg-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .border-lg-solid {
    border-style: solid !important;
  }
  .border-lg-dashed {
    border-style: dashed !important;
  }
  .border-lg-none {
    border-style: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .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;
  }
  .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;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-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;
  }
  .align-self-lg-auto {
    align-self: auto !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-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-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-50 {
    margin: 0.125rem !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-1_5 {
    margin: 0.375rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 0.75rem !important;
  }
  .m-lg-4 {
    margin: 1rem !important;
  }
  .m-lg-5 {
    margin: 1.25rem !important;
  }
  .m-lg-6 {
    margin: 1.5rem !important;
  }
  .m-lg-7 {
    margin: 1.75rem !important;
  }
  .m-lg-8 {
    margin: 2rem !important;
  }
  .m-lg-9 {
    margin: 2.25rem !important;
  }
  .m-lg-10 {
    margin: 2.5rem !important;
  }
  .m-lg-11 {
    margin: 2.75rem !important;
  }
  .m-lg-12 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-inline-end: 0 !important;
    margin-inline-start: 0 !important;
  }
  .mx-lg-50 {
    margin-inline-end: 0.125rem !important;
    margin-inline-start: 0.125rem !important;
  }
  .mx-lg-1 {
    margin-inline-end: 0.25rem !important;
    margin-inline-start: 0.25rem !important;
  }
  .mx-lg-1_5 {
    margin-inline-end: 0.375rem !important;
    margin-inline-start: 0.375rem !important;
  }
  .mx-lg-2 {
    margin-inline-end: 0.5rem !important;
    margin-inline-start: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-inline-end: 0.75rem !important;
    margin-inline-start: 0.75rem !important;
  }
  .mx-lg-4 {
    margin-inline-end: 1rem !important;
    margin-inline-start: 1rem !important;
  }
  .mx-lg-5 {
    margin-inline-end: 1.25rem !important;
    margin-inline-start: 1.25rem !important;
  }
  .mx-lg-6 {
    margin-inline-end: 1.5rem !important;
    margin-inline-start: 1.5rem !important;
  }
  .mx-lg-7 {
    margin-inline-end: 1.75rem !important;
    margin-inline-start: 1.75rem !important;
  }
  .mx-lg-8 {
    margin-inline-end: 2rem !important;
    margin-inline-start: 2rem !important;
  }
  .mx-lg-9 {
    margin-inline-end: 2.25rem !important;
    margin-inline-start: 2.25rem !important;
  }
  .mx-lg-10 {
    margin-inline-end: 2.5rem !important;
    margin-inline-start: 2.5rem !important;
  }
  .mx-lg-11 {
    margin-inline-end: 2.75rem !important;
    margin-inline-start: 2.75rem !important;
  }
  .mx-lg-12 {
    margin-inline-end: 3rem !important;
    margin-inline-start: 3rem !important;
  }
  .mx-lg-auto {
    margin-inline-end: auto !important;
    margin-inline-start: auto !important;
  }
  .my-lg-0 {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
  .my-lg-50 {
    margin-block-start: 0.125rem !important;
    margin-block-end: 0.125rem !important;
  }
  .my-lg-1 {
    margin-block-start: 0.25rem !important;
    margin-block-end: 0.25rem !important;
  }
  .my-lg-1_5 {
    margin-block-start: 0.375rem !important;
    margin-block-end: 0.375rem !important;
  }
  .my-lg-2 {
    margin-block-start: 0.5rem !important;
    margin-block-end: 0.5rem !important;
  }
  .my-lg-3 {
    margin-block-start: 0.75rem !important;
    margin-block-end: 0.75rem !important;
  }
  .my-lg-4 {
    margin-block-start: 1rem !important;
    margin-block-end: 1rem !important;
  }
  .my-lg-5 {
    margin-block-start: 1.25rem !important;
    margin-block-end: 1.25rem !important;
  }
  .my-lg-6 {
    margin-block-start: 1.5rem !important;
    margin-block-end: 1.5rem !important;
  }
  .my-lg-7 {
    margin-block-start: 1.75rem !important;
    margin-block-end: 1.75rem !important;
  }
  .my-lg-8 {
    margin-block-start: 2rem !important;
    margin-block-end: 2rem !important;
  }
  .my-lg-9 {
    margin-block-start: 2.25rem !important;
    margin-block-end: 2.25rem !important;
  }
  .my-lg-10 {
    margin-block-start: 2.5rem !important;
    margin-block-end: 2.5rem !important;
  }
  .my-lg-11 {
    margin-block-start: 2.75rem !important;
    margin-block-end: 2.75rem !important;
  }
  .my-lg-12 {
    margin-block-start: 3rem !important;
    margin-block-end: 3rem !important;
  }
  .my-lg-auto {
    margin-block-start: auto !important;
    margin-block-end: auto !important;
  }
  .mt-lg-0 {
    margin-block-start: 0 !important;
  }
  .mt-lg-50 {
    margin-block-start: 0.125rem !important;
  }
  .mt-lg-1 {
    margin-block-start: 0.25rem !important;
  }
  .mt-lg-1_5 {
    margin-block-start: 0.375rem !important;
  }
  .mt-lg-2 {
    margin-block-start: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-block-start: 0.75rem !important;
  }
  .mt-lg-4 {
    margin-block-start: 1rem !important;
  }
  .mt-lg-5 {
    margin-block-start: 1.25rem !important;
  }
  .mt-lg-6 {
    margin-block-start: 1.5rem !important;
  }
  .mt-lg-7 {
    margin-block-start: 1.75rem !important;
  }
  .mt-lg-8 {
    margin-block-start: 2rem !important;
  }
  .mt-lg-9 {
    margin-block-start: 2.25rem !important;
  }
  .mt-lg-10 {
    margin-block-start: 2.5rem !important;
  }
  .mt-lg-11 {
    margin-block-start: 2.75rem !important;
  }
  .mt-lg-12 {
    margin-block-start: 3rem !important;
  }
  .mt-lg-auto {
    margin-block-start: auto !important;
  }
  .me-lg-0 {
    margin-inline-end: 0 !important;
  }
  .me-lg-50 {
    margin-inline-end: 0.125rem !important;
  }
  .me-lg-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-lg-1_5 {
    margin-inline-end: 0.375rem !important;
  }
  .me-lg-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-lg-3 {
    margin-inline-end: 0.75rem !important;
  }
  .me-lg-4 {
    margin-inline-end: 1rem !important;
  }
  .me-lg-5 {
    margin-inline-end: 1.25rem !important;
  }
  .me-lg-6 {
    margin-inline-end: 1.5rem !important;
  }
  .me-lg-7 {
    margin-inline-end: 1.75rem !important;
  }
  .me-lg-8 {
    margin-inline-end: 2rem !important;
  }
  .me-lg-9 {
    margin-inline-end: 2.25rem !important;
  }
  .me-lg-10 {
    margin-inline-end: 2.5rem !important;
  }
  .me-lg-11 {
    margin-inline-end: 2.75rem !important;
  }
  .me-lg-12 {
    margin-inline-end: 3rem !important;
  }
  .me-lg-auto {
    margin-inline-end: auto !important;
  }
  .mb-lg-0 {
    margin-block-end: 0 !important;
  }
  .mb-lg-50 {
    margin-block-end: 0.125rem !important;
  }
  .mb-lg-1 {
    margin-block-end: 0.25rem !important;
  }
  .mb-lg-1_5 {
    margin-block-end: 0.375rem !important;
  }
  .mb-lg-2 {
    margin-block-end: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-block-end: 0.75rem !important;
  }
  .mb-lg-4 {
    margin-block-end: 1rem !important;
  }
  .mb-lg-5 {
    margin-block-end: 1.25rem !important;
  }
  .mb-lg-6 {
    margin-block-end: 1.5rem !important;
  }
  .mb-lg-7 {
    margin-block-end: 1.75rem !important;
  }
  .mb-lg-8 {
    margin-block-end: 2rem !important;
  }
  .mb-lg-9 {
    margin-block-end: 2.25rem !important;
  }
  .mb-lg-10 {
    margin-block-end: 2.5rem !important;
  }
  .mb-lg-11 {
    margin-block-end: 2.75rem !important;
  }
  .mb-lg-12 {
    margin-block-end: 3rem !important;
  }
  .mb-lg-auto {
    margin-block-end: auto !important;
  }
  .ms-lg-0 {
    margin-inline-start: 0 !important;
  }
  .ms-lg-50 {
    margin-inline-start: 0.125rem !important;
  }
  .ms-lg-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-lg-1_5 {
    margin-inline-start: 0.375rem !important;
  }
  .ms-lg-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-inline-start: 0.75rem !important;
  }
  .ms-lg-4 {
    margin-inline-start: 1rem !important;
  }
  .ms-lg-5 {
    margin-inline-start: 1.25rem !important;
  }
  .ms-lg-6 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-lg-7 {
    margin-inline-start: 1.75rem !important;
  }
  .ms-lg-8 {
    margin-inline-start: 2rem !important;
  }
  .ms-lg-9 {
    margin-inline-start: 2.25rem !important;
  }
  .ms-lg-10 {
    margin-inline-start: 2.5rem !important;
  }
  .ms-lg-11 {
    margin-inline-start: 2.75rem !important;
  }
  .ms-lg-12 {
    margin-inline-start: 3rem !important;
  }
  .ms-lg-auto {
    margin-inline-start: auto !important;
  }
  .m-lg-n50 {
    margin: -0.125rem !important;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .m-lg-n1_5 {
    margin: -0.375rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -0.75rem !important;
  }
  .m-lg-n4 {
    margin: -1rem !important;
  }
  .m-lg-n5 {
    margin: -1.25rem !important;
  }
  .m-lg-n6 {
    margin: -1.5rem !important;
  }
  .m-lg-n7 {
    margin: -1.75rem !important;
  }
  .m-lg-n8 {
    margin: -2rem !important;
  }
  .m-lg-n9 {
    margin: -2.25rem !important;
  }
  .m-lg-n10 {
    margin: -2.5rem !important;
  }
  .m-lg-n11 {
    margin: -2.75rem !important;
  }
  .m-lg-n12 {
    margin: -3rem !important;
  }
  .mx-lg-n50 {
    margin-inline-end: -0.125rem !important;
    margin-inline-start: -0.125rem !important;
  }
  .mx-lg-n1 {
    margin-inline-end: -0.25rem !important;
    margin-inline-start: -0.25rem !important;
  }
  .mx-lg-n1_5 {
    margin-inline-end: -0.375rem !important;
    margin-inline-start: -0.375rem !important;
  }
  .mx-lg-n2 {
    margin-inline-end: -0.5rem !important;
    margin-inline-start: -0.5rem !important;
  }
  .mx-lg-n3 {
    margin-inline-end: -0.75rem !important;
    margin-inline-start: -0.75rem !important;
  }
  .mx-lg-n4 {
    margin-inline-end: -1rem !important;
    margin-inline-start: -1rem !important;
  }
  .mx-lg-n5 {
    margin-inline-end: -1.25rem !important;
    margin-inline-start: -1.25rem !important;
  }
  .mx-lg-n6 {
    margin-inline-end: -1.5rem !important;
    margin-inline-start: -1.5rem !important;
  }
  .mx-lg-n7 {
    margin-inline-end: -1.75rem !important;
    margin-inline-start: -1.75rem !important;
  }
  .mx-lg-n8 {
    margin-inline-end: -2rem !important;
    margin-inline-start: -2rem !important;
  }
  .mx-lg-n9 {
    margin-inline-end: -2.25rem !important;
    margin-inline-start: -2.25rem !important;
  }
  .mx-lg-n10 {
    margin-inline-end: -2.5rem !important;
    margin-inline-start: -2.5rem !important;
  }
  .mx-lg-n11 {
    margin-inline-end: -2.75rem !important;
    margin-inline-start: -2.75rem !important;
  }
  .mx-lg-n12 {
    margin-inline-end: -3rem !important;
    margin-inline-start: -3rem !important;
  }
  .my-lg-n50 {
    margin-block-start: -0.125rem !important;
    margin-block-end: -0.125rem !important;
  }
  .my-lg-n1 {
    margin-block-start: -0.25rem !important;
    margin-block-end: -0.25rem !important;
  }
  .my-lg-n1_5 {
    margin-block-start: -0.375rem !important;
    margin-block-end: -0.375rem !important;
  }
  .my-lg-n2 {
    margin-block-start: -0.5rem !important;
    margin-block-end: -0.5rem !important;
  }
  .my-lg-n3 {
    margin-block-start: -0.75rem !important;
    margin-block-end: -0.75rem !important;
  }
  .my-lg-n4 {
    margin-block-start: -1rem !important;
    margin-block-end: -1rem !important;
  }
  .my-lg-n5 {
    margin-block-start: -1.25rem !important;
    margin-block-end: -1.25rem !important;
  }
  .my-lg-n6 {
    margin-block-start: -1.5rem !important;
    margin-block-end: -1.5rem !important;
  }
  .my-lg-n7 {
    margin-block-start: -1.75rem !important;
    margin-block-end: -1.75rem !important;
  }
  .my-lg-n8 {
    margin-block-start: -2rem !important;
    margin-block-end: -2rem !important;
  }
  .my-lg-n9 {
    margin-block-start: -2.25rem !important;
    margin-block-end: -2.25rem !important;
  }
  .my-lg-n10 {
    margin-block-start: -2.5rem !important;
    margin-block-end: -2.5rem !important;
  }
  .my-lg-n11 {
    margin-block-start: -2.75rem !important;
    margin-block-end: -2.75rem !important;
  }
  .my-lg-n12 {
    margin-block-start: -3rem !important;
    margin-block-end: -3rem !important;
  }
  .mt-lg-n50 {
    margin-block-start: -0.125rem !important;
  }
  .mt-lg-n1 {
    margin-block-start: -0.25rem !important;
  }
  .mt-lg-n1_5 {
    margin-block-start: -0.375rem !important;
  }
  .mt-lg-n2 {
    margin-block-start: -0.5rem !important;
  }
  .mt-lg-n3 {
    margin-block-start: -0.75rem !important;
  }
  .mt-lg-n4 {
    margin-block-start: -1rem !important;
  }
  .mt-lg-n5 {
    margin-block-start: -1.25rem !important;
  }
  .mt-lg-n6 {
    margin-block-start: -1.5rem !important;
  }
  .mt-lg-n7 {
    margin-block-start: -1.75rem !important;
  }
  .mt-lg-n8 {
    margin-block-start: -2rem !important;
  }
  .mt-lg-n9 {
    margin-block-start: -2.25rem !important;
  }
  .mt-lg-n10 {
    margin-block-start: -2.5rem !important;
  }
  .mt-lg-n11 {
    margin-block-start: -2.75rem !important;
  }
  .mt-lg-n12 {
    margin-block-start: -3rem !important;
  }
  .me-lg-n50 {
    margin-inline-end: -0.125rem !important;
  }
  .me-lg-n1 {
    margin-inline-end: -0.25rem !important;
  }
  .me-lg-n1_5 {
    margin-inline-end: -0.375rem !important;
  }
  .me-lg-n2 {
    margin-inline-end: -0.5rem !important;
  }
  .me-lg-n3 {
    margin-inline-end: -0.75rem !important;
  }
  .me-lg-n4 {
    margin-inline-end: -1rem !important;
  }
  .me-lg-n5 {
    margin-inline-end: -1.25rem !important;
  }
  .me-lg-n6 {
    margin-inline-end: -1.5rem !important;
  }
  .me-lg-n7 {
    margin-inline-end: -1.75rem !important;
  }
  .me-lg-n8 {
    margin-inline-end: -2rem !important;
  }
  .me-lg-n9 {
    margin-inline-end: -2.25rem !important;
  }
  .me-lg-n10 {
    margin-inline-end: -2.5rem !important;
  }
  .me-lg-n11 {
    margin-inline-end: -2.75rem !important;
  }
  .me-lg-n12 {
    margin-inline-end: -3rem !important;
  }
  .mb-lg-n50 {
    margin-block-end: -0.125rem !important;
  }
  .mb-lg-n1 {
    margin-block-end: -0.25rem !important;
  }
  .mb-lg-n1_5 {
    margin-block-end: -0.375rem !important;
  }
  .mb-lg-n2 {
    margin-block-end: -0.5rem !important;
  }
  .mb-lg-n3 {
    margin-block-end: -0.75rem !important;
  }
  .mb-lg-n4 {
    margin-block-end: -1rem !important;
  }
  .mb-lg-n5 {
    margin-block-end: -1.25rem !important;
  }
  .mb-lg-n6 {
    margin-block-end: -1.5rem !important;
  }
  .mb-lg-n7 {
    margin-block-end: -1.75rem !important;
  }
  .mb-lg-n8 {
    margin-block-end: -2rem !important;
  }
  .mb-lg-n9 {
    margin-block-end: -2.25rem !important;
  }
  .mb-lg-n10 {
    margin-block-end: -2.5rem !important;
  }
  .mb-lg-n11 {
    margin-block-end: -2.75rem !important;
  }
  .mb-lg-n12 {
    margin-block-end: -3rem !important;
  }
  .ms-lg-n50 {
    margin-inline-start: -0.125rem !important;
  }
  .ms-lg-n1 {
    margin-inline-start: -0.25rem !important;
  }
  .ms-lg-n1_5 {
    margin-inline-start: -0.375rem !important;
  }
  .ms-lg-n2 {
    margin-inline-start: -0.5rem !important;
  }
  .ms-lg-n3 {
    margin-inline-start: -0.75rem !important;
  }
  .ms-lg-n4 {
    margin-inline-start: -1rem !important;
  }
  .ms-lg-n5 {
    margin-inline-start: -1.25rem !important;
  }
  .ms-lg-n6 {
    margin-inline-start: -1.5rem !important;
  }
  .ms-lg-n7 {
    margin-inline-start: -1.75rem !important;
  }
  .ms-lg-n8 {
    margin-inline-start: -2rem !important;
  }
  .ms-lg-n9 {
    margin-inline-start: -2.25rem !important;
  }
  .ms-lg-n10 {
    margin-inline-start: -2.5rem !important;
  }
  .ms-lg-n11 {
    margin-inline-start: -2.75rem !important;
  }
  .ms-lg-n12 {
    margin-inline-start: -3rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-50 {
    padding: 0.125rem !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-1_5 {
    padding: 0.375rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 0.75rem !important;
  }
  .p-lg-4 {
    padding: 1rem !important;
  }
  .p-lg-5 {
    padding: 1.25rem !important;
  }
  .p-lg-6 {
    padding: 1.5rem !important;
  }
  .p-lg-7 {
    padding: 1.75rem !important;
  }
  .p-lg-8 {
    padding: 2rem !important;
  }
  .p-lg-9 {
    padding: 2.25rem !important;
  }
  .p-lg-10 {
    padding: 2.5rem !important;
  }
  .p-lg-11 {
    padding: 2.75rem !important;
  }
  .p-lg-12 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-inline-end: 0 !important;
    padding-inline-start: 0 !important;
  }
  .px-lg-50 {
    padding-inline-end: 0.125rem !important;
    padding-inline-start: 0.125rem !important;
  }
  .px-lg-1 {
    padding-inline-end: 0.25rem !important;
    padding-inline-start: 0.25rem !important;
  }
  .px-lg-1_5 {
    padding-inline-end: 0.375rem !important;
    padding-inline-start: 0.375rem !important;
  }
  .px-lg-2 {
    padding-inline-end: 0.5rem !important;
    padding-inline-start: 0.5rem !important;
  }
  .px-lg-3 {
    padding-inline-end: 0.75rem !important;
    padding-inline-start: 0.75rem !important;
  }
  .px-lg-4 {
    padding-inline-end: 1rem !important;
    padding-inline-start: 1rem !important;
  }
  .px-lg-5 {
    padding-inline-end: 1.25rem !important;
    padding-inline-start: 1.25rem !important;
  }
  .px-lg-6 {
    padding-inline-end: 1.5rem !important;
    padding-inline-start: 1.5rem !important;
  }
  .px-lg-7 {
    padding-inline-end: 1.75rem !important;
    padding-inline-start: 1.75rem !important;
  }
  .px-lg-8 {
    padding-inline-end: 2rem !important;
    padding-inline-start: 2rem !important;
  }
  .px-lg-9 {
    padding-inline-end: 2.25rem !important;
    padding-inline-start: 2.25rem !important;
  }
  .px-lg-10 {
    padding-inline-end: 2.5rem !important;
    padding-inline-start: 2.5rem !important;
  }
  .px-lg-11 {
    padding-inline-end: 2.75rem !important;
    padding-inline-start: 2.75rem !important;
  }
  .px-lg-12 {
    padding-inline-end: 3rem !important;
    padding-inline-start: 3rem !important;
  }
  .py-lg-0 {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }
  .py-lg-50 {
    padding-block-start: 0.125rem !important;
    padding-block-end: 0.125rem !important;
  }
  .py-lg-1 {
    padding-block-start: 0.25rem !important;
    padding-block-end: 0.25rem !important;
  }
  .py-lg-1_5 {
    padding-block-start: 0.375rem !important;
    padding-block-end: 0.375rem !important;
  }
  .py-lg-2 {
    padding-block-start: 0.5rem !important;
    padding-block-end: 0.5rem !important;
  }
  .py-lg-3 {
    padding-block-start: 0.75rem !important;
    padding-block-end: 0.75rem !important;
  }
  .py-lg-4 {
    padding-block-start: 1rem !important;
    padding-block-end: 1rem !important;
  }
  .py-lg-5 {
    padding-block-start: 1.25rem !important;
    padding-block-end: 1.25rem !important;
  }
  .py-lg-6 {
    padding-block-start: 1.5rem !important;
    padding-block-end: 1.5rem !important;
  }
  .py-lg-7 {
    padding-block-start: 1.75rem !important;
    padding-block-end: 1.75rem !important;
  }
  .py-lg-8 {
    padding-block-start: 2rem !important;
    padding-block-end: 2rem !important;
  }
  .py-lg-9 {
    padding-block-start: 2.25rem !important;
    padding-block-end: 2.25rem !important;
  }
  .py-lg-10 {
    padding-block-start: 2.5rem !important;
    padding-block-end: 2.5rem !important;
  }
  .py-lg-11 {
    padding-block-start: 2.75rem !important;
    padding-block-end: 2.75rem !important;
  }
  .py-lg-12 {
    padding-block-start: 3rem !important;
    padding-block-end: 3rem !important;
  }
  .pt-lg-0 {
    padding-block-start: 0 !important;
  }
  .pt-lg-50 {
    padding-block-start: 0.125rem !important;
  }
  .pt-lg-1 {
    padding-block-start: 0.25rem !important;
  }
  .pt-lg-1_5 {
    padding-block-start: 0.375rem !important;
  }
  .pt-lg-2 {
    padding-block-start: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-block-start: 0.75rem !important;
  }
  .pt-lg-4 {
    padding-block-start: 1rem !important;
  }
  .pt-lg-5 {
    padding-block-start: 1.25rem !important;
  }
  .pt-lg-6 {
    padding-block-start: 1.5rem !important;
  }
  .pt-lg-7 {
    padding-block-start: 1.75rem !important;
  }
  .pt-lg-8 {
    padding-block-start: 2rem !important;
  }
  .pt-lg-9 {
    padding-block-start: 2.25rem !important;
  }
  .pt-lg-10 {
    padding-block-start: 2.5rem !important;
  }
  .pt-lg-11 {
    padding-block-start: 2.75rem !important;
  }
  .pt-lg-12 {
    padding-block-start: 3rem !important;
  }
  .pe-lg-0 {
    padding-inline-end: 0 !important;
  }
  .pe-lg-50 {
    padding-inline-end: 0.125rem !important;
  }
  .pe-lg-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-lg-1_5 {
    padding-inline-end: 0.375rem !important;
  }
  .pe-lg-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-inline-end: 0.75rem !important;
  }
  .pe-lg-4 {
    padding-inline-end: 1rem !important;
  }
  .pe-lg-5 {
    padding-inline-end: 1.25rem !important;
  }
  .pe-lg-6 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-lg-7 {
    padding-inline-end: 1.75rem !important;
  }
  .pe-lg-8 {
    padding-inline-end: 2rem !important;
  }
  .pe-lg-9 {
    padding-inline-end: 2.25rem !important;
  }
  .pe-lg-10 {
    padding-inline-end: 2.5rem !important;
  }
  .pe-lg-11 {
    padding-inline-end: 2.75rem !important;
  }
  .pe-lg-12 {
    padding-inline-end: 3rem !important;
  }
  .pb-lg-0 {
    padding-block-end: 0 !important;
  }
  .pb-lg-50 {
    padding-block-end: 0.125rem !important;
  }
  .pb-lg-1 {
    padding-block-end: 0.25rem !important;
  }
  .pb-lg-1_5 {
    padding-block-end: 0.375rem !important;
  }
  .pb-lg-2 {
    padding-block-end: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-block-end: 0.75rem !important;
  }
  .pb-lg-4 {
    padding-block-end: 1rem !important;
  }
  .pb-lg-5 {
    padding-block-end: 1.25rem !important;
  }
  .pb-lg-6 {
    padding-block-end: 1.5rem !important;
  }
  .pb-lg-7 {
    padding-block-end: 1.75rem !important;
  }
  .pb-lg-8 {
    padding-block-end: 2rem !important;
  }
  .pb-lg-9 {
    padding-block-end: 2.25rem !important;
  }
  .pb-lg-10 {
    padding-block-end: 2.5rem !important;
  }
  .pb-lg-11 {
    padding-block-end: 2.75rem !important;
  }
  .pb-lg-12 {
    padding-block-end: 3rem !important;
  }
  .ps-lg-0 {
    padding-inline-start: 0 !important;
  }
  .ps-lg-50 {
    padding-inline-start: 0.125rem !important;
  }
  .ps-lg-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-lg-1_5 {
    padding-inline-start: 0.375rem !important;
  }
  .ps-lg-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-inline-start: 0.75rem !important;
  }
  .ps-lg-4 {
    padding-inline-start: 1rem !important;
  }
  .ps-lg-5 {
    padding-inline-start: 1.25rem !important;
  }
  .ps-lg-6 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-lg-7 {
    padding-inline-start: 1.75rem !important;
  }
  .ps-lg-8 {
    padding-inline-start: 2rem !important;
  }
  .ps-lg-9 {
    padding-inline-start: 2.25rem !important;
  }
  .ps-lg-10 {
    padding-inline-start: 2.5rem !important;
  }
  .ps-lg-11 {
    padding-inline-start: 2.75rem !important;
  }
  .ps-lg-12 {
    padding-inline-start: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-50 {
    gap: 0.125rem !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-1_5 {
    gap: 0.375rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 0.75rem !important;
  }
  .gap-lg-4 {
    gap: 1rem !important;
  }
  .gap-lg-5 {
    gap: 1.25rem !important;
  }
  .gap-lg-6 {
    gap: 1.5rem !important;
  }
  .gap-lg-7 {
    gap: 1.75rem !important;
  }
  .gap-lg-8 {
    gap: 2rem !important;
  }
  .gap-lg-9 {
    gap: 2.25rem !important;
  }
  .gap-lg-10 {
    gap: 2.5rem !important;
  }
  .gap-lg-11 {
    gap: 2.75rem !important;
  }
  .gap-lg-12 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-50 {
    row-gap: 0.125rem !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-1_5 {
    row-gap: 0.375rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 1.25rem !important;
  }
  .row-gap-lg-6 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-7 {
    row-gap: 1.75rem !important;
  }
  .row-gap-lg-8 {
    row-gap: 2rem !important;
  }
  .row-gap-lg-9 {
    row-gap: 2.25rem !important;
  }
  .row-gap-lg-10 {
    row-gap: 2.5rem !important;
  }
  .row-gap-lg-11 {
    row-gap: 2.75rem !important;
  }
  .row-gap-lg-12 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-lg-50 {
    -moz-column-gap: 0.125rem !important;
         column-gap: 0.125rem !important;
  }
  .column-gap-lg-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-lg-1_5 {
    -moz-column-gap: 0.375rem !important;
         column-gap: 0.375rem !important;
  }
  .column-gap-lg-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    -moz-column-gap: 0.75rem !important;
         column-gap: 0.75rem !important;
  }
  .column-gap-lg-4 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-lg-5 {
    -moz-column-gap: 1.25rem !important;
         column-gap: 1.25rem !important;
  }
  .column-gap-lg-6 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-lg-7 {
    -moz-column-gap: 1.75rem !important;
         column-gap: 1.75rem !important;
  }
  .column-gap-lg-8 {
    -moz-column-gap: 2rem !important;
         column-gap: 2rem !important;
  }
  .column-gap-lg-9 {
    -moz-column-gap: 2.25rem !important;
         column-gap: 2.25rem !important;
  }
  .column-gap-lg-10 {
    -moz-column-gap: 2.5rem !important;
         column-gap: 2.5rem !important;
  }
  .column-gap-lg-11 {
    -moz-column-gap: 2.75rem !important;
         column-gap: 2.75rem !important;
  }
  .column-gap-lg-12 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: start !important;
  }
  .text-lg-end {
    text-align: end !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: inline-start !important;
  }
  .float-xl-end {
    float: inline-end !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .border-xl-solid {
    border-style: solid !important;
  }
  .border-xl-dashed {
    border-style: dashed !important;
  }
  .border-xl-none {
    border-style: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .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;
  }
  .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;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-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;
  }
  .align-self-xl-auto {
    align-self: auto !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-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-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-50 {
    margin: 0.125rem !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-1_5 {
    margin: 0.375rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 0.75rem !important;
  }
  .m-xl-4 {
    margin: 1rem !important;
  }
  .m-xl-5 {
    margin: 1.25rem !important;
  }
  .m-xl-6 {
    margin: 1.5rem !important;
  }
  .m-xl-7 {
    margin: 1.75rem !important;
  }
  .m-xl-8 {
    margin: 2rem !important;
  }
  .m-xl-9 {
    margin: 2.25rem !important;
  }
  .m-xl-10 {
    margin: 2.5rem !important;
  }
  .m-xl-11 {
    margin: 2.75rem !important;
  }
  .m-xl-12 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-inline-end: 0 !important;
    margin-inline-start: 0 !important;
  }
  .mx-xl-50 {
    margin-inline-end: 0.125rem !important;
    margin-inline-start: 0.125rem !important;
  }
  .mx-xl-1 {
    margin-inline-end: 0.25rem !important;
    margin-inline-start: 0.25rem !important;
  }
  .mx-xl-1_5 {
    margin-inline-end: 0.375rem !important;
    margin-inline-start: 0.375rem !important;
  }
  .mx-xl-2 {
    margin-inline-end: 0.5rem !important;
    margin-inline-start: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-inline-end: 0.75rem !important;
    margin-inline-start: 0.75rem !important;
  }
  .mx-xl-4 {
    margin-inline-end: 1rem !important;
    margin-inline-start: 1rem !important;
  }
  .mx-xl-5 {
    margin-inline-end: 1.25rem !important;
    margin-inline-start: 1.25rem !important;
  }
  .mx-xl-6 {
    margin-inline-end: 1.5rem !important;
    margin-inline-start: 1.5rem !important;
  }
  .mx-xl-7 {
    margin-inline-end: 1.75rem !important;
    margin-inline-start: 1.75rem !important;
  }
  .mx-xl-8 {
    margin-inline-end: 2rem !important;
    margin-inline-start: 2rem !important;
  }
  .mx-xl-9 {
    margin-inline-end: 2.25rem !important;
    margin-inline-start: 2.25rem !important;
  }
  .mx-xl-10 {
    margin-inline-end: 2.5rem !important;
    margin-inline-start: 2.5rem !important;
  }
  .mx-xl-11 {
    margin-inline-end: 2.75rem !important;
    margin-inline-start: 2.75rem !important;
  }
  .mx-xl-12 {
    margin-inline-end: 3rem !important;
    margin-inline-start: 3rem !important;
  }
  .mx-xl-auto {
    margin-inline-end: auto !important;
    margin-inline-start: auto !important;
  }
  .my-xl-0 {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
  .my-xl-50 {
    margin-block-start: 0.125rem !important;
    margin-block-end: 0.125rem !important;
  }
  .my-xl-1 {
    margin-block-start: 0.25rem !important;
    margin-block-end: 0.25rem !important;
  }
  .my-xl-1_5 {
    margin-block-start: 0.375rem !important;
    margin-block-end: 0.375rem !important;
  }
  .my-xl-2 {
    margin-block-start: 0.5rem !important;
    margin-block-end: 0.5rem !important;
  }
  .my-xl-3 {
    margin-block-start: 0.75rem !important;
    margin-block-end: 0.75rem !important;
  }
  .my-xl-4 {
    margin-block-start: 1rem !important;
    margin-block-end: 1rem !important;
  }
  .my-xl-5 {
    margin-block-start: 1.25rem !important;
    margin-block-end: 1.25rem !important;
  }
  .my-xl-6 {
    margin-block-start: 1.5rem !important;
    margin-block-end: 1.5rem !important;
  }
  .my-xl-7 {
    margin-block-start: 1.75rem !important;
    margin-block-end: 1.75rem !important;
  }
  .my-xl-8 {
    margin-block-start: 2rem !important;
    margin-block-end: 2rem !important;
  }
  .my-xl-9 {
    margin-block-start: 2.25rem !important;
    margin-block-end: 2.25rem !important;
  }
  .my-xl-10 {
    margin-block-start: 2.5rem !important;
    margin-block-end: 2.5rem !important;
  }
  .my-xl-11 {
    margin-block-start: 2.75rem !important;
    margin-block-end: 2.75rem !important;
  }
  .my-xl-12 {
    margin-block-start: 3rem !important;
    margin-block-end: 3rem !important;
  }
  .my-xl-auto {
    margin-block-start: auto !important;
    margin-block-end: auto !important;
  }
  .mt-xl-0 {
    margin-block-start: 0 !important;
  }
  .mt-xl-50 {
    margin-block-start: 0.125rem !important;
  }
  .mt-xl-1 {
    margin-block-start: 0.25rem !important;
  }
  .mt-xl-1_5 {
    margin-block-start: 0.375rem !important;
  }
  .mt-xl-2 {
    margin-block-start: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-block-start: 0.75rem !important;
  }
  .mt-xl-4 {
    margin-block-start: 1rem !important;
  }
  .mt-xl-5 {
    margin-block-start: 1.25rem !important;
  }
  .mt-xl-6 {
    margin-block-start: 1.5rem !important;
  }
  .mt-xl-7 {
    margin-block-start: 1.75rem !important;
  }
  .mt-xl-8 {
    margin-block-start: 2rem !important;
  }
  .mt-xl-9 {
    margin-block-start: 2.25rem !important;
  }
  .mt-xl-10 {
    margin-block-start: 2.5rem !important;
  }
  .mt-xl-11 {
    margin-block-start: 2.75rem !important;
  }
  .mt-xl-12 {
    margin-block-start: 3rem !important;
  }
  .mt-xl-auto {
    margin-block-start: auto !important;
  }
  .me-xl-0 {
    margin-inline-end: 0 !important;
  }
  .me-xl-50 {
    margin-inline-end: 0.125rem !important;
  }
  .me-xl-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-xl-1_5 {
    margin-inline-end: 0.375rem !important;
  }
  .me-xl-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-xl-3 {
    margin-inline-end: 0.75rem !important;
  }
  .me-xl-4 {
    margin-inline-end: 1rem !important;
  }
  .me-xl-5 {
    margin-inline-end: 1.25rem !important;
  }
  .me-xl-6 {
    margin-inline-end: 1.5rem !important;
  }
  .me-xl-7 {
    margin-inline-end: 1.75rem !important;
  }
  .me-xl-8 {
    margin-inline-end: 2rem !important;
  }
  .me-xl-9 {
    margin-inline-end: 2.25rem !important;
  }
  .me-xl-10 {
    margin-inline-end: 2.5rem !important;
  }
  .me-xl-11 {
    margin-inline-end: 2.75rem !important;
  }
  .me-xl-12 {
    margin-inline-end: 3rem !important;
  }
  .me-xl-auto {
    margin-inline-end: auto !important;
  }
  .mb-xl-0 {
    margin-block-end: 0 !important;
  }
  .mb-xl-50 {
    margin-block-end: 0.125rem !important;
  }
  .mb-xl-1 {
    margin-block-end: 0.25rem !important;
  }
  .mb-xl-1_5 {
    margin-block-end: 0.375rem !important;
  }
  .mb-xl-2 {
    margin-block-end: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-block-end: 0.75rem !important;
  }
  .mb-xl-4 {
    margin-block-end: 1rem !important;
  }
  .mb-xl-5 {
    margin-block-end: 1.25rem !important;
  }
  .mb-xl-6 {
    margin-block-end: 1.5rem !important;
  }
  .mb-xl-7 {
    margin-block-end: 1.75rem !important;
  }
  .mb-xl-8 {
    margin-block-end: 2rem !important;
  }
  .mb-xl-9 {
    margin-block-end: 2.25rem !important;
  }
  .mb-xl-10 {
    margin-block-end: 2.5rem !important;
  }
  .mb-xl-11 {
    margin-block-end: 2.75rem !important;
  }
  .mb-xl-12 {
    margin-block-end: 3rem !important;
  }
  .mb-xl-auto {
    margin-block-end: auto !important;
  }
  .ms-xl-0 {
    margin-inline-start: 0 !important;
  }
  .ms-xl-50 {
    margin-inline-start: 0.125rem !important;
  }
  .ms-xl-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-xl-1_5 {
    margin-inline-start: 0.375rem !important;
  }
  .ms-xl-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-inline-start: 0.75rem !important;
  }
  .ms-xl-4 {
    margin-inline-start: 1rem !important;
  }
  .ms-xl-5 {
    margin-inline-start: 1.25rem !important;
  }
  .ms-xl-6 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-xl-7 {
    margin-inline-start: 1.75rem !important;
  }
  .ms-xl-8 {
    margin-inline-start: 2rem !important;
  }
  .ms-xl-9 {
    margin-inline-start: 2.25rem !important;
  }
  .ms-xl-10 {
    margin-inline-start: 2.5rem !important;
  }
  .ms-xl-11 {
    margin-inline-start: 2.75rem !important;
  }
  .ms-xl-12 {
    margin-inline-start: 3rem !important;
  }
  .ms-xl-auto {
    margin-inline-start: auto !important;
  }
  .m-xl-n50 {
    margin: -0.125rem !important;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .m-xl-n1_5 {
    margin: -0.375rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -0.75rem !important;
  }
  .m-xl-n4 {
    margin: -1rem !important;
  }
  .m-xl-n5 {
    margin: -1.25rem !important;
  }
  .m-xl-n6 {
    margin: -1.5rem !important;
  }
  .m-xl-n7 {
    margin: -1.75rem !important;
  }
  .m-xl-n8 {
    margin: -2rem !important;
  }
  .m-xl-n9 {
    margin: -2.25rem !important;
  }
  .m-xl-n10 {
    margin: -2.5rem !important;
  }
  .m-xl-n11 {
    margin: -2.75rem !important;
  }
  .m-xl-n12 {
    margin: -3rem !important;
  }
  .mx-xl-n50 {
    margin-inline-end: -0.125rem !important;
    margin-inline-start: -0.125rem !important;
  }
  .mx-xl-n1 {
    margin-inline-end: -0.25rem !important;
    margin-inline-start: -0.25rem !important;
  }
  .mx-xl-n1_5 {
    margin-inline-end: -0.375rem !important;
    margin-inline-start: -0.375rem !important;
  }
  .mx-xl-n2 {
    margin-inline-end: -0.5rem !important;
    margin-inline-start: -0.5rem !important;
  }
  .mx-xl-n3 {
    margin-inline-end: -0.75rem !important;
    margin-inline-start: -0.75rem !important;
  }
  .mx-xl-n4 {
    margin-inline-end: -1rem !important;
    margin-inline-start: -1rem !important;
  }
  .mx-xl-n5 {
    margin-inline-end: -1.25rem !important;
    margin-inline-start: -1.25rem !important;
  }
  .mx-xl-n6 {
    margin-inline-end: -1.5rem !important;
    margin-inline-start: -1.5rem !important;
  }
  .mx-xl-n7 {
    margin-inline-end: -1.75rem !important;
    margin-inline-start: -1.75rem !important;
  }
  .mx-xl-n8 {
    margin-inline-end: -2rem !important;
    margin-inline-start: -2rem !important;
  }
  .mx-xl-n9 {
    margin-inline-end: -2.25rem !important;
    margin-inline-start: -2.25rem !important;
  }
  .mx-xl-n10 {
    margin-inline-end: -2.5rem !important;
    margin-inline-start: -2.5rem !important;
  }
  .mx-xl-n11 {
    margin-inline-end: -2.75rem !important;
    margin-inline-start: -2.75rem !important;
  }
  .mx-xl-n12 {
    margin-inline-end: -3rem !important;
    margin-inline-start: -3rem !important;
  }
  .my-xl-n50 {
    margin-block-start: -0.125rem !important;
    margin-block-end: -0.125rem !important;
  }
  .my-xl-n1 {
    margin-block-start: -0.25rem !important;
    margin-block-end: -0.25rem !important;
  }
  .my-xl-n1_5 {
    margin-block-start: -0.375rem !important;
    margin-block-end: -0.375rem !important;
  }
  .my-xl-n2 {
    margin-block-start: -0.5rem !important;
    margin-block-end: -0.5rem !important;
  }
  .my-xl-n3 {
    margin-block-start: -0.75rem !important;
    margin-block-end: -0.75rem !important;
  }
  .my-xl-n4 {
    margin-block-start: -1rem !important;
    margin-block-end: -1rem !important;
  }
  .my-xl-n5 {
    margin-block-start: -1.25rem !important;
    margin-block-end: -1.25rem !important;
  }
  .my-xl-n6 {
    margin-block-start: -1.5rem !important;
    margin-block-end: -1.5rem !important;
  }
  .my-xl-n7 {
    margin-block-start: -1.75rem !important;
    margin-block-end: -1.75rem !important;
  }
  .my-xl-n8 {
    margin-block-start: -2rem !important;
    margin-block-end: -2rem !important;
  }
  .my-xl-n9 {
    margin-block-start: -2.25rem !important;
    margin-block-end: -2.25rem !important;
  }
  .my-xl-n10 {
    margin-block-start: -2.5rem !important;
    margin-block-end: -2.5rem !important;
  }
  .my-xl-n11 {
    margin-block-start: -2.75rem !important;
    margin-block-end: -2.75rem !important;
  }
  .my-xl-n12 {
    margin-block-start: -3rem !important;
    margin-block-end: -3rem !important;
  }
  .mt-xl-n50 {
    margin-block-start: -0.125rem !important;
  }
  .mt-xl-n1 {
    margin-block-start: -0.25rem !important;
  }
  .mt-xl-n1_5 {
    margin-block-start: -0.375rem !important;
  }
  .mt-xl-n2 {
    margin-block-start: -0.5rem !important;
  }
  .mt-xl-n3 {
    margin-block-start: -0.75rem !important;
  }
  .mt-xl-n4 {
    margin-block-start: -1rem !important;
  }
  .mt-xl-n5 {
    margin-block-start: -1.25rem !important;
  }
  .mt-xl-n6 {
    margin-block-start: -1.5rem !important;
  }
  .mt-xl-n7 {
    margin-block-start: -1.75rem !important;
  }
  .mt-xl-n8 {
    margin-block-start: -2rem !important;
  }
  .mt-xl-n9 {
    margin-block-start: -2.25rem !important;
  }
  .mt-xl-n10 {
    margin-block-start: -2.5rem !important;
  }
  .mt-xl-n11 {
    margin-block-start: -2.75rem !important;
  }
  .mt-xl-n12 {
    margin-block-start: -3rem !important;
  }
  .me-xl-n50 {
    margin-inline-end: -0.125rem !important;
  }
  .me-xl-n1 {
    margin-inline-end: -0.25rem !important;
  }
  .me-xl-n1_5 {
    margin-inline-end: -0.375rem !important;
  }
  .me-xl-n2 {
    margin-inline-end: -0.5rem !important;
  }
  .me-xl-n3 {
    margin-inline-end: -0.75rem !important;
  }
  .me-xl-n4 {
    margin-inline-end: -1rem !important;
  }
  .me-xl-n5 {
    margin-inline-end: -1.25rem !important;
  }
  .me-xl-n6 {
    margin-inline-end: -1.5rem !important;
  }
  .me-xl-n7 {
    margin-inline-end: -1.75rem !important;
  }
  .me-xl-n8 {
    margin-inline-end: -2rem !important;
  }
  .me-xl-n9 {
    margin-inline-end: -2.25rem !important;
  }
  .me-xl-n10 {
    margin-inline-end: -2.5rem !important;
  }
  .me-xl-n11 {
    margin-inline-end: -2.75rem !important;
  }
  .me-xl-n12 {
    margin-inline-end: -3rem !important;
  }
  .mb-xl-n50 {
    margin-block-end: -0.125rem !important;
  }
  .mb-xl-n1 {
    margin-block-end: -0.25rem !important;
  }
  .mb-xl-n1_5 {
    margin-block-end: -0.375rem !important;
  }
  .mb-xl-n2 {
    margin-block-end: -0.5rem !important;
  }
  .mb-xl-n3 {
    margin-block-end: -0.75rem !important;
  }
  .mb-xl-n4 {
    margin-block-end: -1rem !important;
  }
  .mb-xl-n5 {
    margin-block-end: -1.25rem !important;
  }
  .mb-xl-n6 {
    margin-block-end: -1.5rem !important;
  }
  .mb-xl-n7 {
    margin-block-end: -1.75rem !important;
  }
  .mb-xl-n8 {
    margin-block-end: -2rem !important;
  }
  .mb-xl-n9 {
    margin-block-end: -2.25rem !important;
  }
  .mb-xl-n10 {
    margin-block-end: -2.5rem !important;
  }
  .mb-xl-n11 {
    margin-block-end: -2.75rem !important;
  }
  .mb-xl-n12 {
    margin-block-end: -3rem !important;
  }
  .ms-xl-n50 {
    margin-inline-start: -0.125rem !important;
  }
  .ms-xl-n1 {
    margin-inline-start: -0.25rem !important;
  }
  .ms-xl-n1_5 {
    margin-inline-start: -0.375rem !important;
  }
  .ms-xl-n2 {
    margin-inline-start: -0.5rem !important;
  }
  .ms-xl-n3 {
    margin-inline-start: -0.75rem !important;
  }
  .ms-xl-n4 {
    margin-inline-start: -1rem !important;
  }
  .ms-xl-n5 {
    margin-inline-start: -1.25rem !important;
  }
  .ms-xl-n6 {
    margin-inline-start: -1.5rem !important;
  }
  .ms-xl-n7 {
    margin-inline-start: -1.75rem !important;
  }
  .ms-xl-n8 {
    margin-inline-start: -2rem !important;
  }
  .ms-xl-n9 {
    margin-inline-start: -2.25rem !important;
  }
  .ms-xl-n10 {
    margin-inline-start: -2.5rem !important;
  }
  .ms-xl-n11 {
    margin-inline-start: -2.75rem !important;
  }
  .ms-xl-n12 {
    margin-inline-start: -3rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-50 {
    padding: 0.125rem !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-1_5 {
    padding: 0.375rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 0.75rem !important;
  }
  .p-xl-4 {
    padding: 1rem !important;
  }
  .p-xl-5 {
    padding: 1.25rem !important;
  }
  .p-xl-6 {
    padding: 1.5rem !important;
  }
  .p-xl-7 {
    padding: 1.75rem !important;
  }
  .p-xl-8 {
    padding: 2rem !important;
  }
  .p-xl-9 {
    padding: 2.25rem !important;
  }
  .p-xl-10 {
    padding: 2.5rem !important;
  }
  .p-xl-11 {
    padding: 2.75rem !important;
  }
  .p-xl-12 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-inline-end: 0 !important;
    padding-inline-start: 0 !important;
  }
  .px-xl-50 {
    padding-inline-end: 0.125rem !important;
    padding-inline-start: 0.125rem !important;
  }
  .px-xl-1 {
    padding-inline-end: 0.25rem !important;
    padding-inline-start: 0.25rem !important;
  }
  .px-xl-1_5 {
    padding-inline-end: 0.375rem !important;
    padding-inline-start: 0.375rem !important;
  }
  .px-xl-2 {
    padding-inline-end: 0.5rem !important;
    padding-inline-start: 0.5rem !important;
  }
  .px-xl-3 {
    padding-inline-end: 0.75rem !important;
    padding-inline-start: 0.75rem !important;
  }
  .px-xl-4 {
    padding-inline-end: 1rem !important;
    padding-inline-start: 1rem !important;
  }
  .px-xl-5 {
    padding-inline-end: 1.25rem !important;
    padding-inline-start: 1.25rem !important;
  }
  .px-xl-6 {
    padding-inline-end: 1.5rem !important;
    padding-inline-start: 1.5rem !important;
  }
  .px-xl-7 {
    padding-inline-end: 1.75rem !important;
    padding-inline-start: 1.75rem !important;
  }
  .px-xl-8 {
    padding-inline-end: 2rem !important;
    padding-inline-start: 2rem !important;
  }
  .px-xl-9 {
    padding-inline-end: 2.25rem !important;
    padding-inline-start: 2.25rem !important;
  }
  .px-xl-10 {
    padding-inline-end: 2.5rem !important;
    padding-inline-start: 2.5rem !important;
  }
  .px-xl-11 {
    padding-inline-end: 2.75rem !important;
    padding-inline-start: 2.75rem !important;
  }
  .px-xl-12 {
    padding-inline-end: 3rem !important;
    padding-inline-start: 3rem !important;
  }
  .py-xl-0 {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }
  .py-xl-50 {
    padding-block-start: 0.125rem !important;
    padding-block-end: 0.125rem !important;
  }
  .py-xl-1 {
    padding-block-start: 0.25rem !important;
    padding-block-end: 0.25rem !important;
  }
  .py-xl-1_5 {
    padding-block-start: 0.375rem !important;
    padding-block-end: 0.375rem !important;
  }
  .py-xl-2 {
    padding-block-start: 0.5rem !important;
    padding-block-end: 0.5rem !important;
  }
  .py-xl-3 {
    padding-block-start: 0.75rem !important;
    padding-block-end: 0.75rem !important;
  }
  .py-xl-4 {
    padding-block-start: 1rem !important;
    padding-block-end: 1rem !important;
  }
  .py-xl-5 {
    padding-block-start: 1.25rem !important;
    padding-block-end: 1.25rem !important;
  }
  .py-xl-6 {
    padding-block-start: 1.5rem !important;
    padding-block-end: 1.5rem !important;
  }
  .py-xl-7 {
    padding-block-start: 1.75rem !important;
    padding-block-end: 1.75rem !important;
  }
  .py-xl-8 {
    padding-block-start: 2rem !important;
    padding-block-end: 2rem !important;
  }
  .py-xl-9 {
    padding-block-start: 2.25rem !important;
    padding-block-end: 2.25rem !important;
  }
  .py-xl-10 {
    padding-block-start: 2.5rem !important;
    padding-block-end: 2.5rem !important;
  }
  .py-xl-11 {
    padding-block-start: 2.75rem !important;
    padding-block-end: 2.75rem !important;
  }
  .py-xl-12 {
    padding-block-start: 3rem !important;
    padding-block-end: 3rem !important;
  }
  .pt-xl-0 {
    padding-block-start: 0 !important;
  }
  .pt-xl-50 {
    padding-block-start: 0.125rem !important;
  }
  .pt-xl-1 {
    padding-block-start: 0.25rem !important;
  }
  .pt-xl-1_5 {
    padding-block-start: 0.375rem !important;
  }
  .pt-xl-2 {
    padding-block-start: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-block-start: 0.75rem !important;
  }
  .pt-xl-4 {
    padding-block-start: 1rem !important;
  }
  .pt-xl-5 {
    padding-block-start: 1.25rem !important;
  }
  .pt-xl-6 {
    padding-block-start: 1.5rem !important;
  }
  .pt-xl-7 {
    padding-block-start: 1.75rem !important;
  }
  .pt-xl-8 {
    padding-block-start: 2rem !important;
  }
  .pt-xl-9 {
    padding-block-start: 2.25rem !important;
  }
  .pt-xl-10 {
    padding-block-start: 2.5rem !important;
  }
  .pt-xl-11 {
    padding-block-start: 2.75rem !important;
  }
  .pt-xl-12 {
    padding-block-start: 3rem !important;
  }
  .pe-xl-0 {
    padding-inline-end: 0 !important;
  }
  .pe-xl-50 {
    padding-inline-end: 0.125rem !important;
  }
  .pe-xl-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-xl-1_5 {
    padding-inline-end: 0.375rem !important;
  }
  .pe-xl-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-inline-end: 0.75rem !important;
  }
  .pe-xl-4 {
    padding-inline-end: 1rem !important;
  }
  .pe-xl-5 {
    padding-inline-end: 1.25rem !important;
  }
  .pe-xl-6 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-xl-7 {
    padding-inline-end: 1.75rem !important;
  }
  .pe-xl-8 {
    padding-inline-end: 2rem !important;
  }
  .pe-xl-9 {
    padding-inline-end: 2.25rem !important;
  }
  .pe-xl-10 {
    padding-inline-end: 2.5rem !important;
  }
  .pe-xl-11 {
    padding-inline-end: 2.75rem !important;
  }
  .pe-xl-12 {
    padding-inline-end: 3rem !important;
  }
  .pb-xl-0 {
    padding-block-end: 0 !important;
  }
  .pb-xl-50 {
    padding-block-end: 0.125rem !important;
  }
  .pb-xl-1 {
    padding-block-end: 0.25rem !important;
  }
  .pb-xl-1_5 {
    padding-block-end: 0.375rem !important;
  }
  .pb-xl-2 {
    padding-block-end: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-block-end: 0.75rem !important;
  }
  .pb-xl-4 {
    padding-block-end: 1rem !important;
  }
  .pb-xl-5 {
    padding-block-end: 1.25rem !important;
  }
  .pb-xl-6 {
    padding-block-end: 1.5rem !important;
  }
  .pb-xl-7 {
    padding-block-end: 1.75rem !important;
  }
  .pb-xl-8 {
    padding-block-end: 2rem !important;
  }
  .pb-xl-9 {
    padding-block-end: 2.25rem !important;
  }
  .pb-xl-10 {
    padding-block-end: 2.5rem !important;
  }
  .pb-xl-11 {
    padding-block-end: 2.75rem !important;
  }
  .pb-xl-12 {
    padding-block-end: 3rem !important;
  }
  .ps-xl-0 {
    padding-inline-start: 0 !important;
  }
  .ps-xl-50 {
    padding-inline-start: 0.125rem !important;
  }
  .ps-xl-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-xl-1_5 {
    padding-inline-start: 0.375rem !important;
  }
  .ps-xl-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-inline-start: 0.75rem !important;
  }
  .ps-xl-4 {
    padding-inline-start: 1rem !important;
  }
  .ps-xl-5 {
    padding-inline-start: 1.25rem !important;
  }
  .ps-xl-6 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-xl-7 {
    padding-inline-start: 1.75rem !important;
  }
  .ps-xl-8 {
    padding-inline-start: 2rem !important;
  }
  .ps-xl-9 {
    padding-inline-start: 2.25rem !important;
  }
  .ps-xl-10 {
    padding-inline-start: 2.5rem !important;
  }
  .ps-xl-11 {
    padding-inline-start: 2.75rem !important;
  }
  .ps-xl-12 {
    padding-inline-start: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-50 {
    gap: 0.125rem !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-1_5 {
    gap: 0.375rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 0.75rem !important;
  }
  .gap-xl-4 {
    gap: 1rem !important;
  }
  .gap-xl-5 {
    gap: 1.25rem !important;
  }
  .gap-xl-6 {
    gap: 1.5rem !important;
  }
  .gap-xl-7 {
    gap: 1.75rem !important;
  }
  .gap-xl-8 {
    gap: 2rem !important;
  }
  .gap-xl-9 {
    gap: 2.25rem !important;
  }
  .gap-xl-10 {
    gap: 2.5rem !important;
  }
  .gap-xl-11 {
    gap: 2.75rem !important;
  }
  .gap-xl-12 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-50 {
    row-gap: 0.125rem !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-1_5 {
    row-gap: 0.375rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 1.25rem !important;
  }
  .row-gap-xl-6 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-7 {
    row-gap: 1.75rem !important;
  }
  .row-gap-xl-8 {
    row-gap: 2rem !important;
  }
  .row-gap-xl-9 {
    row-gap: 2.25rem !important;
  }
  .row-gap-xl-10 {
    row-gap: 2.5rem !important;
  }
  .row-gap-xl-11 {
    row-gap: 2.75rem !important;
  }
  .row-gap-xl-12 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xl-50 {
    -moz-column-gap: 0.125rem !important;
         column-gap: 0.125rem !important;
  }
  .column-gap-xl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xl-1_5 {
    -moz-column-gap: 0.375rem !important;
         column-gap: 0.375rem !important;
  }
  .column-gap-xl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    -moz-column-gap: 0.75rem !important;
         column-gap: 0.75rem !important;
  }
  .column-gap-xl-4 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xl-5 {
    -moz-column-gap: 1.25rem !important;
         column-gap: 1.25rem !important;
  }
  .column-gap-xl-6 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xl-7 {
    -moz-column-gap: 1.75rem !important;
         column-gap: 1.75rem !important;
  }
  .column-gap-xl-8 {
    -moz-column-gap: 2rem !important;
         column-gap: 2rem !important;
  }
  .column-gap-xl-9 {
    -moz-column-gap: 2.25rem !important;
         column-gap: 2.25rem !important;
  }
  .column-gap-xl-10 {
    -moz-column-gap: 2.5rem !important;
         column-gap: 2.5rem !important;
  }
  .column-gap-xl-11 {
    -moz-column-gap: 2.75rem !important;
         column-gap: 2.75rem !important;
  }
  .column-gap-xl-12 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: start !important;
  }
  .text-xl-end {
    text-align: end !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: inline-start !important;
  }
  .float-xxl-end {
    float: inline-end !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .border-xxl-solid {
    border-style: solid !important;
  }
  .border-xxl-dashed {
    border-style: dashed !important;
  }
  .border-xxl-none {
    border-style: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-50 {
    margin: 0.125rem !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-1_5 {
    margin: 0.375rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 0.75rem !important;
  }
  .m-xxl-4 {
    margin: 1rem !important;
  }
  .m-xxl-5 {
    margin: 1.25rem !important;
  }
  .m-xxl-6 {
    margin: 1.5rem !important;
  }
  .m-xxl-7 {
    margin: 1.75rem !important;
  }
  .m-xxl-8 {
    margin: 2rem !important;
  }
  .m-xxl-9 {
    margin: 2.25rem !important;
  }
  .m-xxl-10 {
    margin: 2.5rem !important;
  }
  .m-xxl-11 {
    margin: 2.75rem !important;
  }
  .m-xxl-12 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-inline-end: 0 !important;
    margin-inline-start: 0 !important;
  }
  .mx-xxl-50 {
    margin-inline-end: 0.125rem !important;
    margin-inline-start: 0.125rem !important;
  }
  .mx-xxl-1 {
    margin-inline-end: 0.25rem !important;
    margin-inline-start: 0.25rem !important;
  }
  .mx-xxl-1_5 {
    margin-inline-end: 0.375rem !important;
    margin-inline-start: 0.375rem !important;
  }
  .mx-xxl-2 {
    margin-inline-end: 0.5rem !important;
    margin-inline-start: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-inline-end: 0.75rem !important;
    margin-inline-start: 0.75rem !important;
  }
  .mx-xxl-4 {
    margin-inline-end: 1rem !important;
    margin-inline-start: 1rem !important;
  }
  .mx-xxl-5 {
    margin-inline-end: 1.25rem !important;
    margin-inline-start: 1.25rem !important;
  }
  .mx-xxl-6 {
    margin-inline-end: 1.5rem !important;
    margin-inline-start: 1.5rem !important;
  }
  .mx-xxl-7 {
    margin-inline-end: 1.75rem !important;
    margin-inline-start: 1.75rem !important;
  }
  .mx-xxl-8 {
    margin-inline-end: 2rem !important;
    margin-inline-start: 2rem !important;
  }
  .mx-xxl-9 {
    margin-inline-end: 2.25rem !important;
    margin-inline-start: 2.25rem !important;
  }
  .mx-xxl-10 {
    margin-inline-end: 2.5rem !important;
    margin-inline-start: 2.5rem !important;
  }
  .mx-xxl-11 {
    margin-inline-end: 2.75rem !important;
    margin-inline-start: 2.75rem !important;
  }
  .mx-xxl-12 {
    margin-inline-end: 3rem !important;
    margin-inline-start: 3rem !important;
  }
  .mx-xxl-auto {
    margin-inline-end: auto !important;
    margin-inline-start: auto !important;
  }
  .my-xxl-0 {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
  .my-xxl-50 {
    margin-block-start: 0.125rem !important;
    margin-block-end: 0.125rem !important;
  }
  .my-xxl-1 {
    margin-block-start: 0.25rem !important;
    margin-block-end: 0.25rem !important;
  }
  .my-xxl-1_5 {
    margin-block-start: 0.375rem !important;
    margin-block-end: 0.375rem !important;
  }
  .my-xxl-2 {
    margin-block-start: 0.5rem !important;
    margin-block-end: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-block-start: 0.75rem !important;
    margin-block-end: 0.75rem !important;
  }
  .my-xxl-4 {
    margin-block-start: 1rem !important;
    margin-block-end: 1rem !important;
  }
  .my-xxl-5 {
    margin-block-start: 1.25rem !important;
    margin-block-end: 1.25rem !important;
  }
  .my-xxl-6 {
    margin-block-start: 1.5rem !important;
    margin-block-end: 1.5rem !important;
  }
  .my-xxl-7 {
    margin-block-start: 1.75rem !important;
    margin-block-end: 1.75rem !important;
  }
  .my-xxl-8 {
    margin-block-start: 2rem !important;
    margin-block-end: 2rem !important;
  }
  .my-xxl-9 {
    margin-block-start: 2.25rem !important;
    margin-block-end: 2.25rem !important;
  }
  .my-xxl-10 {
    margin-block-start: 2.5rem !important;
    margin-block-end: 2.5rem !important;
  }
  .my-xxl-11 {
    margin-block-start: 2.75rem !important;
    margin-block-end: 2.75rem !important;
  }
  .my-xxl-12 {
    margin-block-start: 3rem !important;
    margin-block-end: 3rem !important;
  }
  .my-xxl-auto {
    margin-block-start: auto !important;
    margin-block-end: auto !important;
  }
  .mt-xxl-0 {
    margin-block-start: 0 !important;
  }
  .mt-xxl-50 {
    margin-block-start: 0.125rem !important;
  }
  .mt-xxl-1 {
    margin-block-start: 0.25rem !important;
  }
  .mt-xxl-1_5 {
    margin-block-start: 0.375rem !important;
  }
  .mt-xxl-2 {
    margin-block-start: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-block-start: 0.75rem !important;
  }
  .mt-xxl-4 {
    margin-block-start: 1rem !important;
  }
  .mt-xxl-5 {
    margin-block-start: 1.25rem !important;
  }
  .mt-xxl-6 {
    margin-block-start: 1.5rem !important;
  }
  .mt-xxl-7 {
    margin-block-start: 1.75rem !important;
  }
  .mt-xxl-8 {
    margin-block-start: 2rem !important;
  }
  .mt-xxl-9 {
    margin-block-start: 2.25rem !important;
  }
  .mt-xxl-10 {
    margin-block-start: 2.5rem !important;
  }
  .mt-xxl-11 {
    margin-block-start: 2.75rem !important;
  }
  .mt-xxl-12 {
    margin-block-start: 3rem !important;
  }
  .mt-xxl-auto {
    margin-block-start: auto !important;
  }
  .me-xxl-0 {
    margin-inline-end: 0 !important;
  }
  .me-xxl-50 {
    margin-inline-end: 0.125rem !important;
  }
  .me-xxl-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-xxl-1_5 {
    margin-inline-end: 0.375rem !important;
  }
  .me-xxl-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-inline-end: 0.75rem !important;
  }
  .me-xxl-4 {
    margin-inline-end: 1rem !important;
  }
  .me-xxl-5 {
    margin-inline-end: 1.25rem !important;
  }
  .me-xxl-6 {
    margin-inline-end: 1.5rem !important;
  }
  .me-xxl-7 {
    margin-inline-end: 1.75rem !important;
  }
  .me-xxl-8 {
    margin-inline-end: 2rem !important;
  }
  .me-xxl-9 {
    margin-inline-end: 2.25rem !important;
  }
  .me-xxl-10 {
    margin-inline-end: 2.5rem !important;
  }
  .me-xxl-11 {
    margin-inline-end: 2.75rem !important;
  }
  .me-xxl-12 {
    margin-inline-end: 3rem !important;
  }
  .me-xxl-auto {
    margin-inline-end: auto !important;
  }
  .mb-xxl-0 {
    margin-block-end: 0 !important;
  }
  .mb-xxl-50 {
    margin-block-end: 0.125rem !important;
  }
  .mb-xxl-1 {
    margin-block-end: 0.25rem !important;
  }
  .mb-xxl-1_5 {
    margin-block-end: 0.375rem !important;
  }
  .mb-xxl-2 {
    margin-block-end: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-block-end: 0.75rem !important;
  }
  .mb-xxl-4 {
    margin-block-end: 1rem !important;
  }
  .mb-xxl-5 {
    margin-block-end: 1.25rem !important;
  }
  .mb-xxl-6 {
    margin-block-end: 1.5rem !important;
  }
  .mb-xxl-7 {
    margin-block-end: 1.75rem !important;
  }
  .mb-xxl-8 {
    margin-block-end: 2rem !important;
  }
  .mb-xxl-9 {
    margin-block-end: 2.25rem !important;
  }
  .mb-xxl-10 {
    margin-block-end: 2.5rem !important;
  }
  .mb-xxl-11 {
    margin-block-end: 2.75rem !important;
  }
  .mb-xxl-12 {
    margin-block-end: 3rem !important;
  }
  .mb-xxl-auto {
    margin-block-end: auto !important;
  }
  .ms-xxl-0 {
    margin-inline-start: 0 !important;
  }
  .ms-xxl-50 {
    margin-inline-start: 0.125rem !important;
  }
  .ms-xxl-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-xxl-1_5 {
    margin-inline-start: 0.375rem !important;
  }
  .ms-xxl-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-inline-start: 0.75rem !important;
  }
  .ms-xxl-4 {
    margin-inline-start: 1rem !important;
  }
  .ms-xxl-5 {
    margin-inline-start: 1.25rem !important;
  }
  .ms-xxl-6 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-xxl-7 {
    margin-inline-start: 1.75rem !important;
  }
  .ms-xxl-8 {
    margin-inline-start: 2rem !important;
  }
  .ms-xxl-9 {
    margin-inline-start: 2.25rem !important;
  }
  .ms-xxl-10 {
    margin-inline-start: 2.5rem !important;
  }
  .ms-xxl-11 {
    margin-inline-start: 2.75rem !important;
  }
  .ms-xxl-12 {
    margin-inline-start: 3rem !important;
  }
  .ms-xxl-auto {
    margin-inline-start: auto !important;
  }
  .m-xxl-n50 {
    margin: -0.125rem !important;
  }
  .m-xxl-n1 {
    margin: -0.25rem !important;
  }
  .m-xxl-n1_5 {
    margin: -0.375rem !important;
  }
  .m-xxl-n2 {
    margin: -0.5rem !important;
  }
  .m-xxl-n3 {
    margin: -0.75rem !important;
  }
  .m-xxl-n4 {
    margin: -1rem !important;
  }
  .m-xxl-n5 {
    margin: -1.25rem !important;
  }
  .m-xxl-n6 {
    margin: -1.5rem !important;
  }
  .m-xxl-n7 {
    margin: -1.75rem !important;
  }
  .m-xxl-n8 {
    margin: -2rem !important;
  }
  .m-xxl-n9 {
    margin: -2.25rem !important;
  }
  .m-xxl-n10 {
    margin: -2.5rem !important;
  }
  .m-xxl-n11 {
    margin: -2.75rem !important;
  }
  .m-xxl-n12 {
    margin: -3rem !important;
  }
  .mx-xxl-n50 {
    margin-inline-end: -0.125rem !important;
    margin-inline-start: -0.125rem !important;
  }
  .mx-xxl-n1 {
    margin-inline-end: -0.25rem !important;
    margin-inline-start: -0.25rem !important;
  }
  .mx-xxl-n1_5 {
    margin-inline-end: -0.375rem !important;
    margin-inline-start: -0.375rem !important;
  }
  .mx-xxl-n2 {
    margin-inline-end: -0.5rem !important;
    margin-inline-start: -0.5rem !important;
  }
  .mx-xxl-n3 {
    margin-inline-end: -0.75rem !important;
    margin-inline-start: -0.75rem !important;
  }
  .mx-xxl-n4 {
    margin-inline-end: -1rem !important;
    margin-inline-start: -1rem !important;
  }
  .mx-xxl-n5 {
    margin-inline-end: -1.25rem !important;
    margin-inline-start: -1.25rem !important;
  }
  .mx-xxl-n6 {
    margin-inline-end: -1.5rem !important;
    margin-inline-start: -1.5rem !important;
  }
  .mx-xxl-n7 {
    margin-inline-end: -1.75rem !important;
    margin-inline-start: -1.75rem !important;
  }
  .mx-xxl-n8 {
    margin-inline-end: -2rem !important;
    margin-inline-start: -2rem !important;
  }
  .mx-xxl-n9 {
    margin-inline-end: -2.25rem !important;
    margin-inline-start: -2.25rem !important;
  }
  .mx-xxl-n10 {
    margin-inline-end: -2.5rem !important;
    margin-inline-start: -2.5rem !important;
  }
  .mx-xxl-n11 {
    margin-inline-end: -2.75rem !important;
    margin-inline-start: -2.75rem !important;
  }
  .mx-xxl-n12 {
    margin-inline-end: -3rem !important;
    margin-inline-start: -3rem !important;
  }
  .my-xxl-n50 {
    margin-block-start: -0.125rem !important;
    margin-block-end: -0.125rem !important;
  }
  .my-xxl-n1 {
    margin-block-start: -0.25rem !important;
    margin-block-end: -0.25rem !important;
  }
  .my-xxl-n1_5 {
    margin-block-start: -0.375rem !important;
    margin-block-end: -0.375rem !important;
  }
  .my-xxl-n2 {
    margin-block-start: -0.5rem !important;
    margin-block-end: -0.5rem !important;
  }
  .my-xxl-n3 {
    margin-block-start: -0.75rem !important;
    margin-block-end: -0.75rem !important;
  }
  .my-xxl-n4 {
    margin-block-start: -1rem !important;
    margin-block-end: -1rem !important;
  }
  .my-xxl-n5 {
    margin-block-start: -1.25rem !important;
    margin-block-end: -1.25rem !important;
  }
  .my-xxl-n6 {
    margin-block-start: -1.5rem !important;
    margin-block-end: -1.5rem !important;
  }
  .my-xxl-n7 {
    margin-block-start: -1.75rem !important;
    margin-block-end: -1.75rem !important;
  }
  .my-xxl-n8 {
    margin-block-start: -2rem !important;
    margin-block-end: -2rem !important;
  }
  .my-xxl-n9 {
    margin-block-start: -2.25rem !important;
    margin-block-end: -2.25rem !important;
  }
  .my-xxl-n10 {
    margin-block-start: -2.5rem !important;
    margin-block-end: -2.5rem !important;
  }
  .my-xxl-n11 {
    margin-block-start: -2.75rem !important;
    margin-block-end: -2.75rem !important;
  }
  .my-xxl-n12 {
    margin-block-start: -3rem !important;
    margin-block-end: -3rem !important;
  }
  .mt-xxl-n50 {
    margin-block-start: -0.125rem !important;
  }
  .mt-xxl-n1 {
    margin-block-start: -0.25rem !important;
  }
  .mt-xxl-n1_5 {
    margin-block-start: -0.375rem !important;
  }
  .mt-xxl-n2 {
    margin-block-start: -0.5rem !important;
  }
  .mt-xxl-n3 {
    margin-block-start: -0.75rem !important;
  }
  .mt-xxl-n4 {
    margin-block-start: -1rem !important;
  }
  .mt-xxl-n5 {
    margin-block-start: -1.25rem !important;
  }
  .mt-xxl-n6 {
    margin-block-start: -1.5rem !important;
  }
  .mt-xxl-n7 {
    margin-block-start: -1.75rem !important;
  }
  .mt-xxl-n8 {
    margin-block-start: -2rem !important;
  }
  .mt-xxl-n9 {
    margin-block-start: -2.25rem !important;
  }
  .mt-xxl-n10 {
    margin-block-start: -2.5rem !important;
  }
  .mt-xxl-n11 {
    margin-block-start: -2.75rem !important;
  }
  .mt-xxl-n12 {
    margin-block-start: -3rem !important;
  }
  .me-xxl-n50 {
    margin-inline-end: -0.125rem !important;
  }
  .me-xxl-n1 {
    margin-inline-end: -0.25rem !important;
  }
  .me-xxl-n1_5 {
    margin-inline-end: -0.375rem !important;
  }
  .me-xxl-n2 {
    margin-inline-end: -0.5rem !important;
  }
  .me-xxl-n3 {
    margin-inline-end: -0.75rem !important;
  }
  .me-xxl-n4 {
    margin-inline-end: -1rem !important;
  }
  .me-xxl-n5 {
    margin-inline-end: -1.25rem !important;
  }
  .me-xxl-n6 {
    margin-inline-end: -1.5rem !important;
  }
  .me-xxl-n7 {
    margin-inline-end: -1.75rem !important;
  }
  .me-xxl-n8 {
    margin-inline-end: -2rem !important;
  }
  .me-xxl-n9 {
    margin-inline-end: -2.25rem !important;
  }
  .me-xxl-n10 {
    margin-inline-end: -2.5rem !important;
  }
  .me-xxl-n11 {
    margin-inline-end: -2.75rem !important;
  }
  .me-xxl-n12 {
    margin-inline-end: -3rem !important;
  }
  .mb-xxl-n50 {
    margin-block-end: -0.125rem !important;
  }
  .mb-xxl-n1 {
    margin-block-end: -0.25rem !important;
  }
  .mb-xxl-n1_5 {
    margin-block-end: -0.375rem !important;
  }
  .mb-xxl-n2 {
    margin-block-end: -0.5rem !important;
  }
  .mb-xxl-n3 {
    margin-block-end: -0.75rem !important;
  }
  .mb-xxl-n4 {
    margin-block-end: -1rem !important;
  }
  .mb-xxl-n5 {
    margin-block-end: -1.25rem !important;
  }
  .mb-xxl-n6 {
    margin-block-end: -1.5rem !important;
  }
  .mb-xxl-n7 {
    margin-block-end: -1.75rem !important;
  }
  .mb-xxl-n8 {
    margin-block-end: -2rem !important;
  }
  .mb-xxl-n9 {
    margin-block-end: -2.25rem !important;
  }
  .mb-xxl-n10 {
    margin-block-end: -2.5rem !important;
  }
  .mb-xxl-n11 {
    margin-block-end: -2.75rem !important;
  }
  .mb-xxl-n12 {
    margin-block-end: -3rem !important;
  }
  .ms-xxl-n50 {
    margin-inline-start: -0.125rem !important;
  }
  .ms-xxl-n1 {
    margin-inline-start: -0.25rem !important;
  }
  .ms-xxl-n1_5 {
    margin-inline-start: -0.375rem !important;
  }
  .ms-xxl-n2 {
    margin-inline-start: -0.5rem !important;
  }
  .ms-xxl-n3 {
    margin-inline-start: -0.75rem !important;
  }
  .ms-xxl-n4 {
    margin-inline-start: -1rem !important;
  }
  .ms-xxl-n5 {
    margin-inline-start: -1.25rem !important;
  }
  .ms-xxl-n6 {
    margin-inline-start: -1.5rem !important;
  }
  .ms-xxl-n7 {
    margin-inline-start: -1.75rem !important;
  }
  .ms-xxl-n8 {
    margin-inline-start: -2rem !important;
  }
  .ms-xxl-n9 {
    margin-inline-start: -2.25rem !important;
  }
  .ms-xxl-n10 {
    margin-inline-start: -2.5rem !important;
  }
  .ms-xxl-n11 {
    margin-inline-start: -2.75rem !important;
  }
  .ms-xxl-n12 {
    margin-inline-start: -3rem !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-50 {
    padding: 0.125rem !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-1_5 {
    padding: 0.375rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 0.75rem !important;
  }
  .p-xxl-4 {
    padding: 1rem !important;
  }
  .p-xxl-5 {
    padding: 1.25rem !important;
  }
  .p-xxl-6 {
    padding: 1.5rem !important;
  }
  .p-xxl-7 {
    padding: 1.75rem !important;
  }
  .p-xxl-8 {
    padding: 2rem !important;
  }
  .p-xxl-9 {
    padding: 2.25rem !important;
  }
  .p-xxl-10 {
    padding: 2.5rem !important;
  }
  .p-xxl-11 {
    padding: 2.75rem !important;
  }
  .p-xxl-12 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-inline-end: 0 !important;
    padding-inline-start: 0 !important;
  }
  .px-xxl-50 {
    padding-inline-end: 0.125rem !important;
    padding-inline-start: 0.125rem !important;
  }
  .px-xxl-1 {
    padding-inline-end: 0.25rem !important;
    padding-inline-start: 0.25rem !important;
  }
  .px-xxl-1_5 {
    padding-inline-end: 0.375rem !important;
    padding-inline-start: 0.375rem !important;
  }
  .px-xxl-2 {
    padding-inline-end: 0.5rem !important;
    padding-inline-start: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-inline-end: 0.75rem !important;
    padding-inline-start: 0.75rem !important;
  }
  .px-xxl-4 {
    padding-inline-end: 1rem !important;
    padding-inline-start: 1rem !important;
  }
  .px-xxl-5 {
    padding-inline-end: 1.25rem !important;
    padding-inline-start: 1.25rem !important;
  }
  .px-xxl-6 {
    padding-inline-end: 1.5rem !important;
    padding-inline-start: 1.5rem !important;
  }
  .px-xxl-7 {
    padding-inline-end: 1.75rem !important;
    padding-inline-start: 1.75rem !important;
  }
  .px-xxl-8 {
    padding-inline-end: 2rem !important;
    padding-inline-start: 2rem !important;
  }
  .px-xxl-9 {
    padding-inline-end: 2.25rem !important;
    padding-inline-start: 2.25rem !important;
  }
  .px-xxl-10 {
    padding-inline-end: 2.5rem !important;
    padding-inline-start: 2.5rem !important;
  }
  .px-xxl-11 {
    padding-inline-end: 2.75rem !important;
    padding-inline-start: 2.75rem !important;
  }
  .px-xxl-12 {
    padding-inline-end: 3rem !important;
    padding-inline-start: 3rem !important;
  }
  .py-xxl-0 {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
  }
  .py-xxl-50 {
    padding-block-start: 0.125rem !important;
    padding-block-end: 0.125rem !important;
  }
  .py-xxl-1 {
    padding-block-start: 0.25rem !important;
    padding-block-end: 0.25rem !important;
  }
  .py-xxl-1_5 {
    padding-block-start: 0.375rem !important;
    padding-block-end: 0.375rem !important;
  }
  .py-xxl-2 {
    padding-block-start: 0.5rem !important;
    padding-block-end: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-block-start: 0.75rem !important;
    padding-block-end: 0.75rem !important;
  }
  .py-xxl-4 {
    padding-block-start: 1rem !important;
    padding-block-end: 1rem !important;
  }
  .py-xxl-5 {
    padding-block-start: 1.25rem !important;
    padding-block-end: 1.25rem !important;
  }
  .py-xxl-6 {
    padding-block-start: 1.5rem !important;
    padding-block-end: 1.5rem !important;
  }
  .py-xxl-7 {
    padding-block-start: 1.75rem !important;
    padding-block-end: 1.75rem !important;
  }
  .py-xxl-8 {
    padding-block-start: 2rem !important;
    padding-block-end: 2rem !important;
  }
  .py-xxl-9 {
    padding-block-start: 2.25rem !important;
    padding-block-end: 2.25rem !important;
  }
  .py-xxl-10 {
    padding-block-start: 2.5rem !important;
    padding-block-end: 2.5rem !important;
  }
  .py-xxl-11 {
    padding-block-start: 2.75rem !important;
    padding-block-end: 2.75rem !important;
  }
  .py-xxl-12 {
    padding-block-start: 3rem !important;
    padding-block-end: 3rem !important;
  }
  .pt-xxl-0 {
    padding-block-start: 0 !important;
  }
  .pt-xxl-50 {
    padding-block-start: 0.125rem !important;
  }
  .pt-xxl-1 {
    padding-block-start: 0.25rem !important;
  }
  .pt-xxl-1_5 {
    padding-block-start: 0.375rem !important;
  }
  .pt-xxl-2 {
    padding-block-start: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-block-start: 0.75rem !important;
  }
  .pt-xxl-4 {
    padding-block-start: 1rem !important;
  }
  .pt-xxl-5 {
    padding-block-start: 1.25rem !important;
  }
  .pt-xxl-6 {
    padding-block-start: 1.5rem !important;
  }
  .pt-xxl-7 {
    padding-block-start: 1.75rem !important;
  }
  .pt-xxl-8 {
    padding-block-start: 2rem !important;
  }
  .pt-xxl-9 {
    padding-block-start: 2.25rem !important;
  }
  .pt-xxl-10 {
    padding-block-start: 2.5rem !important;
  }
  .pt-xxl-11 {
    padding-block-start: 2.75rem !important;
  }
  .pt-xxl-12 {
    padding-block-start: 3rem !important;
  }
  .pe-xxl-0 {
    padding-inline-end: 0 !important;
  }
  .pe-xxl-50 {
    padding-inline-end: 0.125rem !important;
  }
  .pe-xxl-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-xxl-1_5 {
    padding-inline-end: 0.375rem !important;
  }
  .pe-xxl-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-inline-end: 0.75rem !important;
  }
  .pe-xxl-4 {
    padding-inline-end: 1rem !important;
  }
  .pe-xxl-5 {
    padding-inline-end: 1.25rem !important;
  }
  .pe-xxl-6 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-xxl-7 {
    padding-inline-end: 1.75rem !important;
  }
  .pe-xxl-8 {
    padding-inline-end: 2rem !important;
  }
  .pe-xxl-9 {
    padding-inline-end: 2.25rem !important;
  }
  .pe-xxl-10 {
    padding-inline-end: 2.5rem !important;
  }
  .pe-xxl-11 {
    padding-inline-end: 2.75rem !important;
  }
  .pe-xxl-12 {
    padding-inline-end: 3rem !important;
  }
  .pb-xxl-0 {
    padding-block-end: 0 !important;
  }
  .pb-xxl-50 {
    padding-block-end: 0.125rem !important;
  }
  .pb-xxl-1 {
    padding-block-end: 0.25rem !important;
  }
  .pb-xxl-1_5 {
    padding-block-end: 0.375rem !important;
  }
  .pb-xxl-2 {
    padding-block-end: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-block-end: 0.75rem !important;
  }
  .pb-xxl-4 {
    padding-block-end: 1rem !important;
  }
  .pb-xxl-5 {
    padding-block-end: 1.25rem !important;
  }
  .pb-xxl-6 {
    padding-block-end: 1.5rem !important;
  }
  .pb-xxl-7 {
    padding-block-end: 1.75rem !important;
  }
  .pb-xxl-8 {
    padding-block-end: 2rem !important;
  }
  .pb-xxl-9 {
    padding-block-end: 2.25rem !important;
  }
  .pb-xxl-10 {
    padding-block-end: 2.5rem !important;
  }
  .pb-xxl-11 {
    padding-block-end: 2.75rem !important;
  }
  .pb-xxl-12 {
    padding-block-end: 3rem !important;
  }
  .ps-xxl-0 {
    padding-inline-start: 0 !important;
  }
  .ps-xxl-50 {
    padding-inline-start: 0.125rem !important;
  }
  .ps-xxl-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-xxl-1_5 {
    padding-inline-start: 0.375rem !important;
  }
  .ps-xxl-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-inline-start: 0.75rem !important;
  }
  .ps-xxl-4 {
    padding-inline-start: 1rem !important;
  }
  .ps-xxl-5 {
    padding-inline-start: 1.25rem !important;
  }
  .ps-xxl-6 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-xxl-7 {
    padding-inline-start: 1.75rem !important;
  }
  .ps-xxl-8 {
    padding-inline-start: 2rem !important;
  }
  .ps-xxl-9 {
    padding-inline-start: 2.25rem !important;
  }
  .ps-xxl-10 {
    padding-inline-start: 2.5rem !important;
  }
  .ps-xxl-11 {
    padding-inline-start: 2.75rem !important;
  }
  .ps-xxl-12 {
    padding-inline-start: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-50 {
    gap: 0.125rem !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-1_5 {
    gap: 0.375rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 0.75rem !important;
  }
  .gap-xxl-4 {
    gap: 1rem !important;
  }
  .gap-xxl-5 {
    gap: 1.25rem !important;
  }
  .gap-xxl-6 {
    gap: 1.5rem !important;
  }
  .gap-xxl-7 {
    gap: 1.75rem !important;
  }
  .gap-xxl-8 {
    gap: 2rem !important;
  }
  .gap-xxl-9 {
    gap: 2.25rem !important;
  }
  .gap-xxl-10 {
    gap: 2.5rem !important;
  }
  .gap-xxl-11 {
    gap: 2.75rem !important;
  }
  .gap-xxl-12 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-50 {
    row-gap: 0.125rem !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-1_5 {
    row-gap: 0.375rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 0.75rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 1.25rem !important;
  }
  .row-gap-xxl-6 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-7 {
    row-gap: 1.75rem !important;
  }
  .row-gap-xxl-8 {
    row-gap: 2rem !important;
  }
  .row-gap-xxl-9 {
    row-gap: 2.25rem !important;
  }
  .row-gap-xxl-10 {
    row-gap: 2.5rem !important;
  }
  .row-gap-xxl-11 {
    row-gap: 2.75rem !important;
  }
  .row-gap-xxl-12 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xxl-50 {
    -moz-column-gap: 0.125rem !important;
         column-gap: 0.125rem !important;
  }
  .column-gap-xxl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xxl-1_5 {
    -moz-column-gap: 0.375rem !important;
         column-gap: 0.375rem !important;
  }
  .column-gap-xxl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    -moz-column-gap: 0.75rem !important;
         column-gap: 0.75rem !important;
  }
  .column-gap-xxl-4 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xxl-5 {
    -moz-column-gap: 1.25rem !important;
         column-gap: 1.25rem !important;
  }
  .column-gap-xxl-6 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xxl-7 {
    -moz-column-gap: 1.75rem !important;
         column-gap: 1.75rem !important;
  }
  .column-gap-xxl-8 {
    -moz-column-gap: 2rem !important;
         column-gap: 2rem !important;
  }
  .column-gap-xxl-9 {
    -moz-column-gap: 2.25rem !important;
         column-gap: 2.25rem !important;
  }
  .column-gap-xxl-10 {
    -moz-column-gap: 2.5rem !important;
         column-gap: 2.5rem !important;
  }
  .column-gap-xxl-11 {
    -moz-column-gap: 2.75rem !important;
         column-gap: 2.75rem !important;
  }
  .column-gap-xxl-12 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: start !important;
  }
  .text-xxl-end {
    text-align: end !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.875rem !important;
  }
  .fs-2 {
    font-size: 2.375rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
  .fs-xxlarge {
    font-size: 6rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
/* (C) */
/* Default */
:root,
[data-bs-theme=light] {
  --bs-navbar-search-shadow: 0 0.25rem 0.5rem -0.25rem rgba(47, 43, 61, 0.42);
  /* Menu */
  --bs-menu-bg: var(--bs-paper-bg);
  --bs-menu-bg-rgb: var(--bs-paper-bg-rgb);
  --bs-menu-color: #444050;
  --bs-menu-color-rgb: 68, 64, 80;
  --bs-menu-hover-bg: color-mix(in sRGB, var(--bs-base-color) 6%, var(--bs-menu-bg));
  --bs-menu-hover-color: #444050;
  --bs-menu-sub-active-bg: color-mix(in sRGB, var(--bs-base-color) 8%, var(--bs-menu-bg));
  --bs-menu-sub-active-color: #444050;
  --bs-menu-active-color: var(--bs-primary-contrast);
  --bs-menu-active-bg: var(--bs-primary);
  --bs-menu-horizontal-active-bg: var(--bs-primary-bg-subtle);
  --bs-menu-box-shadow: 0 0.125rem 0.5rem 0 rgba(47, 43, 61, 0.12);
  --bs-menu-divider-color: var(--bs-white);
  --bs-menu-width: 16.25rem;
  --bs-menu-collapsed-width: 4.375rem;
  --bs-menu-item-spacer: 0.375rem;
  --bs-menu-vertical-link-padding-y: 0.5rem;
  --bs-menu-vertical-link-padding-x: 0.75rem;
  --bs-menu-vertical-menu-link-padding-y: 0.5rem;
  --bs-menu-vertical-menu-level-spacer: 0.5rem;
  --bs-menu-horizontal-menu-box-shadow: 0 0.0625rem 0.25rem 0 rgba(47, 43, 61, 0.1);
  --bs-menu-horizontal-menu-sub-box-shadow: var(--bs-box-shadow-lg);
}

[data-semidark-menu=true],
[data-bs-theme=dark] {
  --bs-menu-bg: #2f3349;
  --bs-menu-bg-rgb: var(--bs-paper-bg-rgb);
  --bs-menu-active-bg: var(--bs-primary);
  --bs-menu-horizontal-active-bg: #3a3b64;
  --bs-menu-color: #cfcde4;
  --bs-menu-color-rgb: 207, 205, 228;
  --bs-menu-hover-bg: color-mix(in sRGB, var(--bs-base-color) 6%, var(--bs-menu-bg));
  --bs-menu-hover-color: #cfcde4;
  --bs-menu-sub-active-bg: color-mix(in sRGB, var(--bs-base-color) 8%, var(--bs-menu-bg));
  --bs-menu-sub-active-color: #cfcde4;
  --bs-menu-box-shadow: 0 0.125rem 0.5rem 0 rgba(19, 17, 32, 0.18);
  --bs-menu-divider-color: transparent;
}

/* App Overlay
******************************************************************************* */
.app-overlay {
  position: absolute;
  z-index: 3;
  background-color: transparent;
  background-color: rgba(47, 43, 61, 0.5);
  inset: 0;
  transition: all 0.25s ease-in-out;
  visibility: hidden;
}
.app-overlay.show {
  background-color: rgba(47, 43, 61, 0.5);
  visibility: visible;
}
.app-overlay [data-bs-theme=dark] {
  background-color: rgba(151, 149, 158, 0.6);
}

/* IE Fixes
******************************************************************************* */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* Fix IE parent container height bug when containing image with fluid width */
  .card,
  .card-body,
  .media,
  .flex-column,
  .tab-content {
    min-block-size: 1px;
  }
  img {
    block-size: auto;
    min-block-size: 1px;
  }
}
/* Containers
******************************************************************************* */
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  padding-inline: 1rem;
}
@media (min-width: 992px) {
  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    padding-inline: 1.5rem;
  }
}

/* Buy now section
******************************************************************************* */
.buy-now .btn-buy-now {
  position: fixed;
  z-index: 1080;
  box-shadow: 0 1px 20px 1px #ff4c51;
  inset-block-end: 3rem;
  inset-inline-end: 1.5rem;
}
.buy-now .btn-buy-now:hover {
  box-shadow: none;
}

/* Common
******************************************************************************* */
/* (C) */
/* Line Clamp with ellipsis
******************************************************************************* */
.line-clamp-1 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.line-clamp-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.line-clamp-3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* Background
******************************************************************************* */
.ui-bg-cover {
  background-color: rgba(0, 0, 0, 0);
  background-position: center center;
  background-size: cover;
}

.ui-bg-overlay-container,
.ui-bg-video-container {
  position: relative;
}
.ui-bg-overlay-container > *,
.ui-bg-video-container > * {
  position: relative;
}

.ui-bg-overlay-container .ui-bg-overlay {
  position: absolute;
  display: block;
  inset: 0;
}

/* Menu
******************************************************************************* */
.menu {
  display: flex;
  background-color: var(--bs-menu-bg);
  /* Perfect Scrollbar */
}
@media (min-width: 1200px) {
  .menu {
    box-shadow: var(--bs-menu-box-shadow);
  }
}
.menu .app-brand {
  inline-size: 100%;
  padding-inline: calc(var(--bs-menu-vertical-link-padding-x) * 2 - 0.25rem);
}
.menu .app-brand .app-brand-text {
  color: var(--bs-heading-color);
}
.menu .menu-sub > .menu-item > .menu-link::before {
  position: absolute;
  background-color: var(--bs-menu-color);
  content: "";
  inset-inline-start: 1.1rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  border-radius: 50%;
  block-size: 0.75rem;
  font-size: 0.75rem;
  inline-size: 0.75rem;
}
.layout-horizontal .menu .menu-sub > .menu-item > .menu-link::before {
  inset-inline-start: 1.1rem;
}
.menu.menu-horizontal .menu-inner > .menu-item > .menu-sub > .menu-item > .menu-link {
  padding-inline-start: 1rem;
}
.menu.menu-horizontal .menu-inner > .menu-item > .menu-sub > .menu-item > .menu-link::before {
  display: none;
}
.menu.menu-horizontal .menu-sub .menu-item .menu-link {
  min-block-size: 2.375rem;
  padding-inline-start: 2.75rem;
}
.menu .ps__thumb-y,
.menu .ps__rail-y {
  inline-size: 0.125rem !important;
}
.menu .ps__rail-y:hover,
.menu .ps__rail-y:focus,
.menu .ps__rail-y.ps--clicking,
.menu .ps__rail-y:hover > .ps__thumb-y,
.menu .ps__rail-y:focus > .ps__thumb-y,
.menu .ps__rail-y.ps--clicking > .ps__thumb-y {
  inline-size: 0.375rem !important;
}
.menu .ps.ps--active-y > .ps__rail-y {
  background: none;
}
.menu .ps__rail-y {
  inset-inline: auto 0.25rem !important;
}
.menu .ps__thumb-y,
.menu .ps__rail-y.ps--clicking > .ps__thumb-y {
  opacity: 0.3;
}

.menu-inner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
  block-size: 100%;
}
.menu-inner > .menu-item.menu-item-closing .menu-item.open .menu-sub,
.menu-inner > .menu-item.menu-item-closing .menu-item.open .menu-toggle {
  background-color: transparent;
  color: var(--bs-menu-color);
}
.menu-inner > .menu-header::before {
  background-color: rgba(var(--bs-menu-color-rgb), 0.5);
}

.menu-inner-shadow {
  position: absolute;
  z-index: 2;
  display: none;
  background: linear-gradient(var(--bs-menu-bg) 41%, rgba(var(--bs-menu-bg-rgb), 0.11) 95%, rgba(var(--bs-menu-bg-rgb), 0));
  block-size: 3rem;
  inline-size: 100%;
  inset-block-start: 3.25rem;
  pointer-events: none;
}
.layout-navbar-full .menu-inner-shadow {
  inset-block-start: 0;
}

/* Menu item */
.menu-item {
  align-items: flex-start;
  justify-content: flex-start;
}
.menu-item.menu-item-animating {
  transition: block-size 0.3s ease-in-out;
}
.menu-item.active > .menu-link:not(.menu-toggle) {
  background: linear-gradient(270deg, rgba(var(--bs-primary-rgb), 0.7) 0%, var(--bs-primary) 100%);
  box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
  color: var(--bs-menu-active-color);
}
:dir(rtl) .menu-item.active > .menu-link:not(.menu-toggle) {
  background: linear-gradient(-270deg, rgba(var(--bs-primary-rgb), 0.7) 0%, var(--bs-primary) 100%);
}

/* Horizontal Menu
****************************************************************************** */
.menu.menu-horizontal .menu-inner > .menu-item > .menu-link {
  border-radius: 0.375rem;
}
.menu.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle {
  background: linear-gradient(270deg, rgba(var(--bs-primary-rgb), 0.7) 0%, var(--bs-primary) 100%);
  box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
  color: var(--bs-menu-active-color);
}
:dir(rtl) .menu.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle {
  background: linear-gradient(-270deg, rgba(var(--bs-primary-rgb), 0.7) 0%, var(--bs-primary) 100%);
}
.menu.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle::after {
  background-color: var(--bs-menu-active-color);
}
.menu.menu-horizontal .menu-inner > .menu-item {
  margin-block: 0.5rem;
  margin-inline: 0;
}
.menu.menu-horizontal .menu-inner > .menu-item:not(:first-child) {
  margin-inline-start: 0.1875rem;
}
.menu.menu-horizontal .menu-inner > .menu-item:not(:last-child) {
  margin-inline-end: 0.1875rem;
}
.menu.menu-horizontal .menu-inner > .menu-item .menu-sub {
  z-index: 1;
  box-shadow: var(--bs-menu-horizontal-menu-sub-box-shadow);
}

.menu-item,
.menu-header,
.menu-divider,
.menu-block {
  flex: 0 0 auto;
  flex-direction: column;
  padding: 0;
  margin: 0;
  list-style: none;
}

.menu-header {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.menu-header .menu-header-text {
  color: var(--bs-secondary-color);
  letter-spacing: 0.4px;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Menu Icon */
.menu-icon {
  flex-grow: 0;
  flex-shrink: 0;
  block-size: 1.375rem;
  font-size: 1.375rem;
  inline-size: 1.375rem;
  margin-inline-end: 0.5rem;
}
.menu:not(.menu-no-animation) .menu-icon {
  transition: margin-inline-end 0.3s ease;
}
.menu-icon .menu-link {
  transition-duration: 0.3s;
}
.menu-icon .menu-toggle::after {
  transition-duration: 0.3s;
  transition-property: transform;
}

/* Menu link */
.menu-link {
  position: relative;
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  margin: 0;
}
.menu-item.disabled .menu-link {
  cursor: not-allowed;
}
.menu-link > :not(.menu-icon) {
  flex: 0 1 auto;
  opacity: 1;
}

.menu-link,
.menu-horizontal-prev,
.menu-horizontal-next {
  color: var(--bs-menu-color);
}
.menu-link:hover, .menu-link:focus,
.menu-horizontal-prev:hover,
.menu-horizontal-prev:focus,
.menu-horizontal-next:hover,
.menu-horizontal-next:focus {
  color: var(--bs-menu-hover-color);
}

.menu-item.disabled .menu-link,
.menu-horizontal-prev.disabled,
.menu-horizontal-next.disabled {
  opacity: 0.6;
}

/* Sub menu */
.menu-sub {
  display: none;
  flex-direction: column;
  padding: 0;
  margin: 0;
}
.menu-item.open > .menu-sub {
  display: flex;
}

/* Menu toggle open/close arrow */
.menu-toggle::after {
  position: absolute;
  display: block;
  background-color: var(--bs-menu-color);
  content: "";
  inset-block-start: 50%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 6l6 6l-6 6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 6l6 6l-6 6'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  transform: translateY(-50%);
  block-size: 1.375rem;
  font-size: 1.375rem;
  inline-size: 1.375rem;
}
:dir(rtl) .menu-toggle::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 6l-6 6l6 6'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 6l-6 6l6 6'/%3E%3C/svg%3E");
}

/* Menu divider */
.menu-divider {
  border: 0;
  border-block-start: 1px solid;
  border-block-start-color: var(--bs-menu-divider-color);
  inline-size: 100%;
}

/* Vertical Menu
****************************************************************************** */
.menu-vertical {
  overflow: hidden;
  flex-direction: column;
}
.menu-vertical:not(.menu-no-animation) {
  transition: inline-size 0.3s;
}
.menu-vertical,
.menu-vertical .menu-block,
.menu-vertical .menu-inner > .menu-item,
.menu-vertical .menu-inner > .menu-header {
  inline-size: var(--bs-menu-width);
}
.menu-vertical .menu-inner {
  flex: 1 1 auto;
  flex-direction: column;
}
.menu-vertical .menu-inner > .menu-item {
  margin-block: var(--bs-menu-item-spacer) 0;
  margin-inline: 0;
  /* menu-link spacing */
}
.menu-vertical .menu-inner > .menu-item .menu-link {
  border-radius: 0.375rem;
  margin-block: 0;
  margin-inline: 0.75rem;
}
.menu-vertical .menu-item .menu-link,
.menu-vertical .menu-block {
  padding-block: var(--bs-menu-vertical-link-padding-y);
  padding-inline: var(--bs-menu-vertical-link-padding-x);
}
.menu-vertical .menu-header {
  padding-block: 1.25rem 0.375rem;
  padding-inline: 1.5rem;
}
.menu-vertical .menu-item .menu-link {
  font-size: 0.9375rem;
  min-block-size: 38px;
}
.menu-vertical .menu-item .menu-link > div:not(.badge) {
  overflow: hidden;
  line-height: 1.467;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu-vertical .menu-item .menu-toggle {
  padding-inline-end: calc(var(--bs-menu-vertical-link-padding-x) + 1.76em);
}
.menu-vertical .menu-item .menu-toggle::after {
  inset-inline-end: var(--bs-menu-vertical-link-padding-x);
  transition: transform 0.3s;
}
.menu-vertical .menu-item:not(.active):not(.open) .menu-link:hover {
  background-color: var(--bs-menu-hover-bg);
}
.menu-vertical .menu-item.active > .menu-toggle {
  background-color: var(--bs-menu-sub-active-bg);
}
.menu-vertical .menu-item.active:not(.open) > .menu-link:not(.menu-toggle)::before {
  background-color: var(--bs-menu-active-color);
}
.menu-vertical .menu-item.open:not(.menu-item-closing) > .menu-link::after {
  transform: translateY(-50%) rotate(90deg);
}
:dir(rtl) .menu-vertical .menu-item.open:not(.menu-item-closing) > .menu-link::after {
  transform: translateY(-50%) rotate(-90deg);
}
.menu-vertical .menu-divider {
  padding: 0;
  margin-block: 0.5rem;
}
.menu-vertical .menu-sub .menu-item {
  margin-block: 0.375rem 0;
  margin-inline: 0;
}
@media (max-width: 1199.98px) {
  .layout-horizontal .menu-vertical .menu-sub .menu-icon {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .layout-horizontal .menu-vertical {
    box-shadow: none;
  }
}
.layout-horizontal .menu-vertical .menu-item {
  margin-block: 0.375rem 0;
  margin-inline: 0;
}
.menu-vertical .menu-icon {
  inline-size: 1.375rem;
}
.menu-vertical .menu-horizontal-wrapper {
  flex: none;
}
.menu-vertical ~ .menu-mobile-toggler {
  display: none;
}
.layout-navbar-hidden .menu-vertical ~ .menu-mobile-toggler {
  position: fixed;
  z-index: 1067;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bs-secondary);
  inset-block-end: calc(1.5rem * 2);
  inset-inline-start: 1.5rem;
}
.menu-vertical .menu-sub .menu-link {
  padding-inline-start: 2.625rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-link {
  padding-inline-start: 3.4rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-link::before {
  inset-inline-start: 1.75rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-sub .menu-link {
  padding-inline-start: 3.9rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-sub .menu-link::before {
  inset-inline-start: 2.25rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-sub .menu-sub .menu-link {
  padding-inline-start: 4.4rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-sub .menu-sub .menu-link::before {
  inset-inline-start: 2.75rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-sub .menu-sub .menu-sub .menu-link {
  padding-inline-start: 4.9rem;
}
.layout-wrapper:not(.layout-horizontal) .menu-vertical .menu-inner > .menu-item .menu-sub .menu-sub .menu-sub .menu-sub .menu-sub .menu-link::before {
  inset-inline-start: 3.25rem;
}

/* Vertical Menu Collapsed
******************************************************************************* */
/* Only for menu example */
.menu-collapsed:not(:hover) {
  inline-size: var(--bs-menu-collapsed-width);
}
.menu-collapsed:not(:hover) .menu-inner > .menu-item {
  inline-size: var(--bs-menu-collapsed-width);
}
.menu-collapsed:not(:hover) .menu-inner > .menu-header,
.menu-collapsed:not(:hover) .menu-block {
  position: relative;
  inline-size: var(--bs-menu-width);
  margin-inline-start: var(--bs-menu-collapsed-width);
  padding-inline: 0.5rem calc(var(--bs-menu-vertical-link-padding-x) * 2 - 0.5rem);
  text-indent: -9999px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu-collapsed:not(:hover) .menu-inner > .menu-header .menu-header-text,
.menu-collapsed:not(:hover) .menu-block .menu-header-text {
  overflow: hidden;
  opacity: 0;
}
.menu-collapsed:not(:hover) .menu-inner > .menu-header::before,
.menu-collapsed:not(:hover) .menu-block::before {
  position: absolute;
  background-color: var(--bs-border-color);
  block-size: 1px;
  content: "";
  inline-size: 1.375rem;
  inset-block-start: 50%;
  inset-inline-start: calc(-1 * var(--bs-menu-collapsed-width) * 0.66);
}
.menu-collapsed:not(:hover) .app-brand {
  padding-inline-start: calc(0.75rem + 0.38rem);
  transition: padding 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .menu-collapsed:not(:hover) .app-brand {
    transition: none;
  }
}
.menu-collapsed:not(:hover) .menu-inner > .menu-header::before {
  block-size: 0.0625rem;
}
.menu-collapsed:not(:hover) .menu-inner > .menu-item div:not(.menu-block) {
  overflow: hidden;
  opacity: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu-collapsed:not(:hover) .menu-inner > .menu-item > .menu-sub,
.menu-collapsed:not(:hover) .menu-inner > .menu-item.open > .menu-sub {
  display: none;
}
.menu-collapsed:not(:hover) .menu-inner > .menu-item > .menu-toggle::after {
  display: none;
}
.menu-collapsed:not(:hover):not(.layout-menu-hover) .menu-inner > .menu-item > .menu-link,
.menu-collapsed:not(:hover):not(.layout-menu-hover) .menu-inner > .menu-block,
.menu-collapsed:not(:hover):not(.layout-menu-hover) .menu-inner > .menu-header {
  padding-inline-end: calc(0.75rem + 0.66em);
}
.menu-collapsed:not(:hover) .menu-inner > .menu-item > .menu-link .menu-icon {
  margin-inline-end: 0;
  text-align: center;
}

/* Horizontal
******************************************************************************* */
.menu-horizontal {
  flex-direction: row;
  inline-size: 100%;
}
.menu-horizontal .menu-inner {
  overflow: hidden;
  flex: 0 1 100%;
  flex-direction: row;
}
.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle {
  font-weight: 500;
}
.menu-horizontal .menu-inner .menu-item.active > .menu-link:not(.menu-toggle) {
  font-weight: 500;
}
.menu-horizontal .menu-inner .menu-item:not(.menu-item-closing) > .menu-sub, .menu-horizontal .menu-inner .menu-item.open > .menu-toggle {
  background-color: var(--bs-menu-bg);
}
.menu-horizontal .menu-inner .menu-item.active > .menu-link.menu-toggle {
  background-color: var(--bs-menu-sub-active-bg);
  color: var(--bs-menu-sub-active-color);
}
.menu-horizontal .menu-inner .menu-item:hover > .menu-link {
  background-color: var(--bs-menu-hover-bg);
  color: var(--bs-menu-hover-color);
}
.menu-horizontal .menu-item .menu-link {
  padding-block: 0.5rem;
  padding-inline: 1rem;
}
.menu-horizontal .menu-item.active > .menu-link:not(.menu-toggle) {
  background: var(--bs-menu-horizontal-active-bg);
  box-shadow: none;
  color: var(--bs-primary);
}
.menu-horizontal .menu-item.active > .menu-link:not(.menu-toggle)::before {
  background-color: var(--bs-primary);
}
.menu-horizontal .menu-item .menu-toggle {
  padding-inline-end: calc(1rem + 1.65em);
}
.menu-horizontal .menu-item .menu-toggle::after {
  inset-inline-end: calc(1rem - 0.2rem);
}
.menu-horizontal .menu-inner > .menu-item > .menu-toggle::after {
  transform: translateY(-50%) rotate(90deg);
}
:dir(rtl) .menu-horizontal .menu-inner > .menu-item > .menu-toggle::after {
  transform: translateY(-50%) rotate(-90deg);
}
.menu-horizontal .menu-inner > .menu-item > .menu-toggle::before {
  position: absolute;
  z-index: 2;
  block-size: 0.5rem;
  content: "";
  inline-size: 100%;
  inset-block-start: 100%;
  inset-inline-start: 0;
  pointer-events: auto;
}
.menu-horizontal .menu-inner > .menu-item:not(.menu-item-closing).open .menu-item.open {
  position: relative;
}
.menu-horizontal .menu-sub {
  position: absolute;
  box-shadow: 0 0.25rem 1.125rem 0 rgba(47, 43, 61, 0.16);
  inline-size: 16.25rem;
  padding-block: 0.625rem;
  padding-inline: 0;
}
.menu-horizontal .menu-sub .menu-item {
  padding-block: 1px;
  padding-inline: 0.5rem;
}
.menu-horizontal .menu-sub .menu-item.open .menu-link > div::after {
  position: absolute;
  z-index: 2;
  block-size: 100%;
  content: "";
  inline-size: 1.0625rem;
  inset-inline-end: -1.0625rem;
  pointer-events: auto;
}
.menu-horizontal .menu-sub .menu-sub {
  position: absolute;
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 100%;
}
.menu-horizontal .menu-sub .menu-link {
  border-radius: 0.375rem;
  padding-block: 0.5rem;
}
.menu-horizontal .menu-inner > .menu-item .menu-sub {
  border-radius: 0.375rem;
}
.menu-horizontal .menu-inner > .menu-item > .menu-sub {
  margin-block-start: 0.5rem;
}
.menu-horizontal .menu-inner > .menu-item > .menu-sub .menu-sub {
  margin-block: 0;
  margin-inline: 0.375rem;
}
.menu-horizontal:not(.menu-no-animation) .menu-inner .menu-item.open .menu-sub {
  animation: menuDropdownShow 0.3s ease-in-out;
}
@media (max-width: 991.98px) {
  .menu-horizontal {
    display: none;
  }
}

.menu-horizontal-wrapper {
  overflow: hidden;
  flex: 0 1 100%;
  inline-size: 0;
}
.menu:not(.menu-no-animation) .menu-horizontal-wrapper .menu-inner {
  transition: margin 0.3s;
}

.menu-horizontal-prev,
.menu-horizontal-next {
  position: relative;
  display: block;
  flex: 0 0 auto;
  inline-size: 2.25rem;
}
.menu-horizontal-prev::after,
.menu-horizontal-next::after {
  position: absolute;
  display: block;
  border: 1px solid;
  block-size: 0.5rem;
  border-block-start: 0;
  content: "";
  inline-size: 0.5rem;
  inset-block-start: 50%;
  inset-inline-start: 50%;
}
.menu-horizontal-prev.disabled,
.menu-horizontal-next.disabled {
  cursor: not-allowed;
}

.menu-horizontal-prev::after {
  border-inline-end: 0;
  transform: translate(0, -50%) rotate(45deg);
}
:dir(rtl) .menu-horizontal-prev::after {
  transform: translate(0, -50%) rotate(-45deg);
}

.menu-horizontal-next::after {
  border-inline-start: 0;
  transform: translate(50%, -50%) rotate(315deg);
}
:dir(rtl) .menu-horizontal-next::after {
  transform: translate(-50%, -50%) rotate(-315deg);
}

@keyframes menuDropdownShow {
  0% {
    opacity: 0;
    transform: translateY(-0.5rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Layouts
******************************************************************************* */
.layout-container {
  min-block-size: 100vh;
}

.layout-wrapper,
.layout-container {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  inline-size: 100%;
}

.layout-menu-offcanvas .layout-wrapper,
.layout-menu-fixed-offcanvas .layout-wrapper {
  overflow: hidden;
}

/* Display menu toggle on navbar for .layout-menu-offcanvas, .layout-menu-fixed-offcanvas */
.layout-menu-offcanvas .layout-navbar .layout-menu-toggle,
.layout-menu-fixed-offcanvas .layout-navbar .layout-menu-toggle {
  display: block !important;
}

/* Hide menu close icon from large screen for .layout-menu-offcanvas, .layout-menu-fixed-offcanvas */
@media (min-width: 1200px) {
  .layout-menu-offcanvas .layout-menu .layout-menu-toggle,
  .layout-menu-fixed-offcanvas .layout-menu .layout-menu-toggle {
    display: none;
  }
  .layout-horizontal .layout-page .menu-horizontal {
    box-shadow: var(--bs-menu-horizontal-menu-box-shadow);
  }
}
.layout-page,
.content-wrapper,
.content-wrapper > *,
.layout-menu {
  min-block-size: 1px;
}

.layout-navbar,
.content-footer {
  flex: 0 0 auto;
}

.layout-page {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  padding: 0;
}
.layout-without-menu .layout-page {
  padding-inline: 0 !important;
}

.content-wrapper {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
}

/* Content backdrop */
.content-backdrop {
  /* z-index: 1 (layout static) */
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  background-color: #97959e;
}
.content-backdrop.fade {
  opacity: 0;
}
.content-backdrop.show {
  opacity: 0.5;
}
.layout-menu-fixed .content-backdrop {
  z-index: 10;
}
.layout-horizontal .content-backdrop:not(.fade) {
  z-index: 9;
  /* Horizontal fix for search background with opacity */
  inset-block-start: 3.5rem !important;
}
.content-backdrop.fade {
  z-index: -1;
}

/* Layout Navbar
******************************************************************************* */
.sticky-element {
  position: sticky;
  z-index: 8;
  margin-inline-end: -1px;
}
.window-scrolled .sticky-element {
  inset-block-start: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.layout-navbar-fixed .sticky-element {
  inset-block-start: 4.125rem;
}
.layout-menu-fixed .layout-horizontal .sticky-element {
  inset-block-start: 6.75rem;
}
.layout-menu-fixed.layout-navbar-fixed .layout-horizontal .sticky-element {
  inset-block-start: 3.5rem;
}

.layout-navbar {
  position: relative;
  z-index: 2;
  flex-wrap: nowrap;
  block-size: 3.5rem;
  color: var(--bs-body-color);
  padding-block: 0.5rem;
}
.layout-navbar .navbar {
  transform: translate3d(0, 0, 0);
}
.layout-navbar .navbar-nav-right {
  flex-basis: 100%;
}
.layout-navbar.navbar-detached {
  /* Container layout max-width */
  border-radius: 0.375rem;
  box-shadow: var(--bs-box-shadow-sm);
  /* Navbar static */
  inline-size: calc(100% - 1.5rem * 2);
  margin-block: 1rem 0;
  padding-block: 0;
  padding-inline: 1.5rem;
}
.layout-navbar.navbar-detached.container-xxl {
  max-inline-size: calc(1440px - 1.5rem * 2);
}
.layout-navbar-fixed .layout-navbar.navbar-detached {
  inline-size: calc(100% - 1.5rem * 2 - var(--bs-menu-width));
}
@media (max-width: 1199.98px) {
  .layout-navbar-fixed .layout-navbar.navbar-detached {
    inline-size: calc(100% - 1.5rem * 2) !important;
  }
}
@media (max-width: 991.98px) {
  .layout-navbar-fixed .layout-navbar.navbar-detached {
    inline-size: calc(100% - 1rem * 2) !important;
  }
}
.layout-navbar-fixed .modal-open .layout-navbar.navbar-detached, .layout-navbar-fixed.swal2-shown .layout-navbar.navbar-detached {
  inline-size: calc(100% - 1.5rem * 2 - calc(16.25rem + var(--bs-scrollbar-width)));
}
.layout-navbar-fixed.layout-menu-collapsed .layout-navbar.navbar-detached {
  inline-size: calc(100% - 1.5rem * 2 - var(--bs-menu-collapsed-width));
}
.layout-menu-collapsed .layout-navbar.navbar-detached, .layout-without-menu .layout-navbar.navbar-detached {
  inline-size: calc(100% - 1.5rem * 2);
}
.layout-navbar.navbar-detached.bg-navbar-theme {
  background-color: rgba(var(--bs-paper-bg-rgb), 0.88);
  color: var(--bs-heading-color);
}
.layout-wrapper:not(.layout-horizontal) .layout-navbar .dropdown-menu[data-bs-popper] {
  inset-block-start: 147%;
}
@media (max-width: 767.98px) {
  .layout-wrapper:not(.layout-horizontal) .layout-navbar .dropdown-menu[data-bs-popper] {
    inset-block-start: 110%;
  }
}
.layout-navbar .navbar-dropdown .badge-notifications {
  inset-block-start: 7px;
  inset-inline-end: -3px;
}
.layout-navbar .navbar-dropdown .dropdown-menu {
  overflow: hidden;
  min-inline-size: 22rem;
}
.layout-navbar .navbar-dropdown .dropdown-menu .dropdown-item {
  min-block-size: 2.375rem;
  padding-block: 0.5rem;
}
.layout-navbar .navbar-dropdown .dropdown-menu .last-login {
  white-space: normal;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list {
  max-block-size: 24.08rem;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item {
  cursor: pointer;
  padding-block: 0.75rem;
  padding-inline: 1rem;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-actions {
  text-align: center;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-actions > a {
  display: block;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-archive i,
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item .dropdown-notifications-archive span {
  color: var(--bs-heading-color);
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item.marked-as-read .dropdown-notifications-read,
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item.marked-as-read .dropdown-notifications-archive {
  visibility: hidden;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item.marked-as-read .dropdown-notifications-read span {
  background-color: var(--bs-secondary);
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:not(.marked-as-read) .dropdown-notifications-archive {
  visibility: hidden;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:hover.marked-as-read .dropdown-notifications-read,
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:hover.marked-as-read .dropdown-notifications-archive {
  visibility: visible;
}
.layout-navbar .navbar-dropdown.dropdown-notifications .dropdown-notifications-list .dropdown-notifications-item:hover:not(.marked-as-read) .dropdown-notifications-archive {
  visibility: visible;
}
.layout-navbar .navbar-dropdown.dropdown-shortcuts .dropdown-shortcuts-list {
  max-block-size: 24.08rem;
}
.layout-navbar .navbar-dropdown.dropdown-shortcuts .dropdown-shortcuts-item {
  padding: 1.5rem;
  text-align: center;
}
.layout-navbar .navbar-dropdown.dropdown-shortcuts .dropdown-shortcuts-item:hover {
  background-color: color-mix(in sRGB, var(--bs-base-color) 6%, var(--bs-paper-bg));
}
.layout-navbar .navbar-dropdown.dropdown-shortcuts .dropdown-shortcuts-item .dropdown-shortcuts-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: color-mix(in sRGB, var(--bs-base-color) 8%, var(--bs-paper-bg));
  block-size: 3.125rem;
  color: var(--bs-heading-color);
  inline-size: 3.125rem;
  margin-inline: auto;
}
.layout-navbar .navbar-dropdown.dropdown-shortcuts .dropdown-shortcuts-item a,
.layout-navbar .navbar-dropdown.dropdown-shortcuts .dropdown-shortcuts-item a:hover {
  display: block;
  color: var(--bs-heading-color) !important;
  font-weight: 500;
  margin-block-end: 0;
}
.layout-navbar .navbar-dropdown.dropdown-user .dropdown-menu {
  min-inline-size: 14rem;
}
.layout-navbar[class*=bg-]:not(.bg-navbar-theme) .nav-item .input-group-text,
.layout-navbar[class*=bg-]:not(.bg-navbar-theme) .nav-item .dropdown-toggle {
  color: var(--bs-white);
}
@media (max-width: 1199.98px) {
  .layout-navbar .navbar-nav .nav-item.dropdown .dropdown-menu {
    position: absolute;
  }
  .layout-navbar .navbar-nav .nav-item.dropdown .dropdown-menu .last-login {
    white-space: nowrap;
  }
}
@media (max-width: 767.98px) {
  .layout-navbar .navbar-nav {
    padding-inline: 0;
  }
  .layout-navbar .navbar-nav .nav-item.dropdown {
    position: static;
    float: inline-start;
  }
  .layout-navbar .navbar-nav .nav-item.dropdown .dropdown-menu {
    position: absolute;
    inline-size: 92%;
    inset-inline-start: 0.9rem;
    min-inline-size: auto;
  }
}
.layout-navbar .search-toggler .aa-DetachedSearchButton {
  padding-inline: 0;
}
.layout-navbar .nav-item .nav-link {
  padding-block: 0.497rem;
}

.navbar-nav .nav-link:focus-visible {
  box-shadow: none;
}

/* Navbar require high z-index as we use z-index for menu slide-out for below large screen */
@media (max-width: 1199.98px) {
  .layout-navbar {
    z-index: 1080;
  }
}
/* Layout Menu
******************************************************************************* */
.layout-menu {
  position: relative;
  flex: 1 0 auto;
}
.layout-menu a:focus-visible {
  outline: none;
}
.layout-menu .menu {
  transform: translate3d(0, 0, 0);
}
.layout-menu.menu-vertical ~ .layout-page.window-scrolled .layout-navbar {
  backdrop-filter: saturate(200%) blur(6px);
  background-color: rgba(var(--bs-paper-bg-rgb), 0.88);
}

/* Layout Content navbar
******************************************************************************* */
.layout-content-navbar .layout-page {
  flex-basis: 100%;
  flex-direction: column;
  inline-size: 0;
  max-inline-size: 100%;
  min-inline-size: 0;
}
.layout-content-navbar .content-wrapper {
  inline-size: 100%;
}

/* Layout Navbar full
******************************************************************************* */
.layout-navbar-full .layout-container {
  flex-direction: column;
}
@media (min-width: 1200px) {
  .layout-navbar-full:not(.layout-horizontal) .menu-inner {
    margin-block-start: 0.75rem;
  }
}
.layout-navbar-full .content-wrapper {
  flex-basis: 100%;
  inline-size: 0;
  max-inline-size: 100%;
  min-inline-size: 0;
}
.layout-navbar-full.layout-horizontal .layout-navbar {
  background-color: var(--bs-navbar-bg);
  box-shadow: 0 1px 0 var(--bs-border-color);
}
.layout-navbar-full.layout-horizontal .layout-navbar .aa-DetachedSearchButtonPlaceholder {
  display: none;
}
.layout-navbar-full.layout-horizontal .layout-navbar .search-toggler .aa-DetachedSearchButton {
  display: block;
}
.layout-navbar-full .content-backdrop.show {
  z-index: 9;
}
.layout-menu-fixed .layout-navbar-full .content-backdrop.show, .layout-menu-fixed-offcanvas .layout-navbar-full .content-backdrop.show {
  z-index: 1076;
}

/* Toggle
******************************************************************************* */
.layout-menu-toggle .menu-toggle-icon {
  block-size: 1.25rem;
  content: "";
  inline-size: 1.25rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/g%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
.layout-menu-collapsed .layout-menu-toggle .menu-toggle-icon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/svg%3E");
}

/* Collapsed layout (Default static and static off-canvas menu)
******************************************************************************* */
@media (min-width: 1200px) {
  /* Menu style */
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical {
    inline-size: var(--bs-menu-collapsed-width);
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-item,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-item {
    inline-size: var(--bs-menu-collapsed-width);
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-header,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-block,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-header,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-block {
    position: relative;
    inline-size: var(--bs-menu-width);
    margin-inline-start: var(--bs-menu-collapsed-width);
    padding-inline: 0.5rem calc(var(--bs-menu-vertical-link-padding-x) * 2 - 0.5rem);
    text-indent: -9999px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-header .menu-header-text,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-block .menu-header-text,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-header .menu-header-text,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-block .menu-header-text {
    overflow: hidden;
    opacity: 0;
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-header::before,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-block::before,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-header::before,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-block::before {
    position: absolute;
    background-color: var(--bs-border-color);
    block-size: 1px;
    content: "";
    inline-size: 1.375rem;
    inset-block-start: 50%;
    inset-inline-start: calc(-1 * var(--bs-menu-collapsed-width) * 0.66);
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .app-brand,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .app-brand {
    padding-inline-start: calc(0.75rem + 0.38rem);
    transition: padding 0.3s ease-in-out;
  }
  /* Menu position */
}
@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .app-brand,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .app-brand {
    transition: none;
  }
}
@media (min-width: 1200px) {
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-header::before,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-header::before {
    block-size: 0.0625rem;
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-item div:not(.menu-block),
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-item div:not(.menu-block) {
    overflow: hidden;
    opacity: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-item > .menu-sub,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-item.open > .menu-sub,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-item > .menu-sub,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-item.open > .menu-sub {
    display: none;
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-item > .menu-toggle::after,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-item > .menu-toggle::after {
    display: none;
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical:not(.layout-menu-hover) .menu-inner > .menu-item > .menu-link,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical:not(.layout-menu-hover) .menu-inner > .menu-block,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical:not(.layout-menu-hover) .menu-inner > .menu-header,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical:not(.layout-menu-hover) .menu-inner > .menu-item > .menu-link,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical:not(.layout-menu-hover) .menu-inner > .menu-block,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical:not(.layout-menu-hover) .menu-inner > .menu-header {
    padding-inline-end: calc(0.75rem + 0.66em);
  }
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .menu-vertical .menu-inner > .menu-item > .menu-link .menu-icon,
  .layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu.menu-vertical .menu-inner > .menu-item > .menu-link .menu-icon {
    margin-inline-end: 0;
    text-align: center;
  }
  .layout-menu-hover.layout-menu-collapsed .layout-menu {
    margin-inline-end: -calc(var(--bs-menu-width)var(--bs-menu-collapsed-width));
  }
  .layout-menu-hover.layout-menu-collapsed .layout-menu .layout-menu-toggle .icon-base {
    transform: rotate(180deg);
    transition-duration: 0.3s;
    transition-property: transform;
  }
  :dir(rtl) .layout-menu-hover.layout-menu-collapsed .layout-menu .layout-menu-toggle .icon-base {
    transform: rotate(0deg);
  }
}
/* Off-canvas layout (Layout Collapsed)
******************************************************************************* */
@media (min-width: 1200px) {
  .layout-menu-collapsed.layout-menu-offcanvas .layout-menu {
    margin-inline-end: calc(var(--bs-menu-width) * -1);
    transform: translateX(-100%);
  }
}
/* Fixed off-canvas layout (Layout Fixed)
******************************************************************************* */
@media (min-width: 1200px) {
  /* Menu and Fixed off-canvas */
  .layout-menu-fixed .layout-menu,
  .layout-menu-fixed-offcanvas .layout-menu {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    margin-inline: 0 !important;
  }
  /* Menu collapsed */
  .layout-menu-fixed-offcanvas.layout-menu-collapsed .layout-menu {
    transform: translateX(-100%);
  }
  /* Menu expanded */
  .layout-menu-fixed:not(.layout-menu-collapsed) .layout-page,
  .layout-menu-fixed-offcanvas:not(.layout-menu-collapsed) .layout-page {
    padding-inline-start: var(--bs-menu-width);
  }
  /* Menu collapsed */
  .layout-menu-fixed.layout-menu-collapsed .layout-page {
    padding-inline-start: var(--bs-menu-collapsed-width);
  }
}
/* Reset paddings (for non fixed entities) */
html:not(.layout-navbar-fixed, .layout-menu-fixed, .layout-menu-fixed-offcanvas) .layout-page,
html:not(.layout-navbar-fixed) .layout-content-navbar .layout-page {
  padding-block-start: 0 !important;
}

html:not(.layout-footer-fixed) .content-wrapper {
  padding-block-end: 0 !important;
}

@media (max-width: 1199.98px) {
  .layout-menu-fixed .layout-wrapper.layout-navbar-full .layout-menu,
  .layout-menu-fixed-offcanvas .layout-wrapper.layout-navbar-full .layout-menu {
    inset-block-start: 0 !important;
  }
  html:not(.layout-navbar-fixed) .layout-navbar-full .layout-page {
    padding-block-start: 0 !important;
  }
}
/* Hidden navbar layout
******************************************************************************* */
.layout-navbar-hidden .layout-navbar {
  display: none;
}

/* Fixed navbar layout
******************************************************************************* */
.layout-navbar-fixed .layout-navbar {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
}
.layout-navbar-fixed .container-p-y:not([class^=pt-]):not([class*=" pt-"]) {
  padding-block-start: 1.5rem !important;
}

.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal) .layout-page::before {
  position: fixed;
  z-index: 1001;
  backdrop-filter: saturate(200%) blur(10px);
  background: linear-gradient(180deg, rgba(var(--bs-body-bg-rgb), 70%) 44%, rgba(var(--bs-body-bg-rgb), 43%) 73%, rgba(var(--bs-body-bg-rgb), 0%));
  block-size: 4.75rem;
  content: "";
  inline-size: 100%;
  inset-block-start: 0;
  -webkit-mask: linear-gradient(var(--bs-body-bg), var(--bs-body-bg) 18%, transparent 100%);
          mask: linear-gradient(var(--bs-body-bg), var(--bs-body-bg) 18%, transparent 100%);
}

@media (min-width: 1200px) {
  /* Fix navbar within Navbar Full layout in fixed mode */
  .layout-menu-fixed .layout-navbar-full .layout-navbar,
  .layout-menu-fixed-offcanvas .layout-navbar-full .layout-navbar {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
  }
  /* Fix navbar within Content Navbar layout in fixed mode - Menu expanded */
  .layout-navbar-fixed:not(.layout-menu-collapsed) .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed:not(.layout-menu-collapsed) .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed-offcanvas.layout-navbar-fixed:not(.layout-menu-collapsed) .layout-content-navbar:not(.layout-without-menu) .layout-navbar {
    inset-inline-start: var(--bs-menu-width);
  }
  .layout-navbar-fixed:not(.layout-menu-collapsed).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar, .layout-navbar-fixed:not(.layout-menu-collapsed) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed:not(.layout-menu-collapsed).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed:not(.layout-menu-collapsed) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed-offcanvas.layout-navbar-fixed:not(.layout-menu-collapsed).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed-offcanvas.layout-navbar-fixed:not(.layout-menu-collapsed) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar {
    inset-inline-start: calc(16.25rem - var(--bs-scrollbar-width));
  }
  .layout-navbar-fixed:not(.layout-menu-collapsed):dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar, .layout-navbar-fixed:not(.layout-menu-collapsed):dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed:not(.layout-menu-collapsed):dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed:not(.layout-menu-collapsed):dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed-offcanvas.layout-navbar-fixed:not(.layout-menu-collapsed):dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed-offcanvas.layout-navbar-fixed:not(.layout-menu-collapsed):dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar {
    inset-inline-start: calc(16.25rem + var(--bs-scrollbar-width));
  }
  /* Horizontal Layout when menu fixed */
  .layout-menu-fixed.swal2-shown .layout-horizontal .layout-navbar,
  .layout-menu-fixed.swal2-shown .layout-horizontal .layout-menu-horizontal,
  .layout-menu-fixed .modal-open .layout-horizontal .layout-navbar,
  .layout-menu-fixed .modal-open .layout-horizontal .layout-menu-horizontal {
    inline-size: calc(100% - var(--bs-scrollbar-width));
  }
  :dir(rtl).layout-menu-fixed.swal2-shown .layout-horizontal .layout-navbar,
  :dir(rtl).layout-menu-fixed .modal-open .layout-horizontal .layout-navbar {
    inline-size: calc(100% + var(--bs-scrollbar-width));
  }
  .layout-menu-fixed:not(.layout-navbar-hidden) .layout-horizontal .layout-page .menu-horizontal,
  .layout-menu-fixed-offcanvas:not(.layout-navbar-hidden) .layout-horizontal .layout-page .menu-horizontal {
    position: fixed;
    inset-block-start: 3.5rem;
  }
  .layout-menu-fixed:not(.layout-navbar-hidden) .layout-horizontal .layout-page .menu-horizontal + [class*=container-],
  .layout-menu-fixed-offcanvas:not(.layout-navbar-hidden) .layout-horizontal .layout-page .menu-horizontal + [class*=container-] {
    padding-block-start: 5.3rem !important;
  }
  /* Layout fixed not off-canvas - Menu collapsed */
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-content-navbar .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed .layout-content-navbar .layout-navbar {
    inset-inline-start: var(--bs-menu-collapsed-width);
  }
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl),
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl), .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl),
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed.swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed.swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl) {
    inset-inline-start: calc(var(--bs-menu-collapsed-width) - var(--bs-scrollbar-width));
  }
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl), .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed.swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl) {
    inline-size: calc(100% - 1.5rem * 2 - var(--bs-menu-collapsed-width) - var(--bs-scrollbar-width));
  }
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl), .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed:dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed:dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-xxl) {
    inset-inline-start: calc(var(--bs-menu-collapsed-width) + var(--bs-scrollbar-width));
  }
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar, .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed:dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar,
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed:dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar {
    inline-size: calc(100% - 1.5rem * 2 - var(--bs-menu-collapsed-width) - var(--bs-scrollbar-width));
  }
  .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl), .layout-navbar-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed:dir(rtl).swal2-shown .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl),
  .layout-menu-fixed.layout-navbar-fixed.layout-menu-collapsed:dir(rtl) .modal-open .layout-content-navbar:not(.layout-without-menu) .layout-navbar:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl) {
    inset-inline-start: calc(var(--bs-menu-collapsed-width) + var(--bs-scrollbar-width));
  }
}
/* Fixed footer
******************************************************************************* */
.layout-footer-fixed .content-footer {
  position: fixed;
  z-index: 9;
  inset-block-end: 0;
  inset-inline: 0;
}

.layout-footer-fixed .layout-wrapper:not(.layout-horizontal) .content-footer .footer-container,
.layout-footer-fixed .layout-wrapper.layout-horizontal .content-footer {
  background-color: var(--bs-footer-bg);
  box-shadow: var(--bs-footer-box-shadow);
}

.layout-footer-fixed .layout-wrapper:not(.layout-horizontal) .content-footer .footer-container {
  border: var(--bs-footer-border-width) solid var(--bs-footer-border-color);
  padding-inline: 1.5rem;
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}

@media (min-width: 1200px) {
  /* Fixed footer - Menu expanded */
  .layout-footer-fixed:not(.layout-menu-collapsed) .layout-wrapper:not(.layout-without-menu) .content-footer {
    inset-inline-start: var(--bs-menu-width);
  }
  .layout-footer-fixed:not(.layout-menu-collapsed).swal2-shown .layout-wrapper .content-footer:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl), .layout-footer-fixed:not(.layout-menu-collapsed) .modal-open .layout-wrapper .content-footer:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl) {
    inline-size: calc(100% - 16.25rem - var(--bs-scrollbar-width));
  }
  .layout-footer-fixed:not(.layout-menu-collapsed):dir(rtl).swal2-shown .layout-wrapper:not(.layout-without-menu) .content-footer:has(.container-xxl), .layout-footer-fixed:not(.layout-menu-collapsed):dir(rtl) .modal-open .layout-wrapper:not(.layout-without-menu) .content-footer:has(.container-xxl) {
    inset-inline-start: calc(16.25rem + var(--bs-scrollbar-width));
  }
  .layout-footer-fixed:not(.layout-menu-collapsed):dir(rtl).swal2-shown .layout-wrapper .content-footer:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl), .layout-footer-fixed:not(.layout-menu-collapsed):dir(rtl) .modal-open .layout-wrapper .content-footer:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl) {
    inset-inline-start: calc(var(--bs-menu-width) + var(--bs-scrollbar-width));
  }
  /* Fixed footer - Menu collapsed */
  .layout-footer-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-wrapper:not(.layout-without-menu) .content-footer {
    inset-inline-start: var(--bs-menu-collapsed-width);
  }
  .layout-footer-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas).swal2-shown .layout-wrapper:not(.layout-without-menu) .content-footer:has(.container-xxl), .layout-footer-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .modal-open .layout-wrapper:not(.layout-without-menu) .content-footer:has(.container-xxl) {
    inset-inline-start: calc(4.375rem - var(--bs-scrollbar-width));
  }
  .layout-footer-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas).swal2-shown .layout-wrapper:not(.layout-without-menu) .content-footer:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl), .layout-footer-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .modal-open .layout-wrapper:not(.layout-without-menu) .content-footer:has(.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl) {
    inline-size: calc(100% - 4.375rem - var(--bs-scrollbar-width));
    inset-inline-start: 4.375rem;
  }
  .layout-footer-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl).swal2-shown .layout-wrapper:not(.layout-without-menu) .content-footer, .layout-footer-fixed.layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas):dir(rtl) .modal-open .layout-wrapper:not(.layout-without-menu) .content-footer {
    inset-inline-start: calc(4.375rem + var(--bs-scrollbar-width));
  }
}
/* Small screens layout
******************************************************************************* */
@media (max-width: 1199.98px) {
  .layout-menu {
    position: fixed !important;
    block-size: 100% !important;
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
    margin-inline: 0 !important;
    transform: translate3d(-100%, 0, 0);
    will-change: transform, -webkit-transform;
  }
  :dir(rtl) .layout-menu {
    transform: translate3d(100%, 0, 0);
  }
  .layout-menu-expanded .layout-menu {
    transform: translate3d(0, 0, 0) !important;
  }
  .layout-menu-expanded body {
    overflow: hidden;
  }
  .layout-overlay {
    position: fixed;
    display: none;
    background: #97959e;
    block-size: 100% !important;
    cursor: pointer;
    inset-block-start: 0;
    inset-inline: 0;
    opacity: 0.5;
  }
  .layout-menu-expanded .layout-overlay {
    display: block;
  }
  .layout-menu-100vh .layout-menu,
  .layout-menu-100vh .layout-overlay {
    block-size: 100dvh !important;
  }
  .drag-target {
    position: fixed;
    z-index: 1036;
    block-size: 100%;
    inline-size: 40px;
    inset-block-start: 0;
    inset-inline-start: 0;
  }
}
/* Z-Indexes
******************************************************************************* */
/* Navbar (fixed) */
body:not(.modal-open) .layout-navbar-full .layout-navbar {
  z-index: 1080;
}
body:not(.modal-open) .layout-content-navbar .layout-navbar {
  z-index: 1075;
}

/* Menu horizontal */
.layout-menu-horizontal {
  z-index: 9;
}

@media (max-width: 1199.98px) {
  .layout-menu {
    z-index: 1100;
  }
  .layout-overlay {
    z-index: 1099;
  }
}
@media (min-width: 1200px) {
  /* Navbar full layout */
  .layout-navbar-full .layout-navbar {
    z-index: 10;
  }
  .layout-navbar-full .layout-menu {
    z-index: 9;
  }
  /* Content Navbar layout */
  .layout-content-navbar .layout-navbar {
    z-index: 9;
  }
  .layout-content-navbar .layout-menu {
    z-index: 11;
  }
  /* Collapsed */
  .layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas).layout-menu-hover .layout-navbar-full .layout-menu {
    z-index: 1075 !important;
  }
  .layout-menu-collapsed:not(.layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-content-navbar .layout-menu {
    z-index: 1085 !important;
  }
  /* Navbar full layout */
  .layout-menu-fixed body:not(.modal-open) .layout-navbar-full .layout-menu,
  .layout-menu-fixed-offcanvas body:not(.modal-open) .layout-navbar-full .layout-menu {
    z-index: 1075;
  }
  /* Content Navbar layout */
  .layout-navbar-fixed body:not(.modal-open) .layout-content-navbar .layout-menu,
  .layout-menu-fixed body:not(.modal-open) .layout-content-navbar .layout-menu,
  .layout-menu-fixed-offcanvas body:not(.modal-open) .layout-content-navbar .layout-menu {
    z-index: 1080;
  }
}
/* Transitions and animations
******************************************************************************* */
/* Disable navbar link hover transition */
.layout-menu-link-no-transition .layout-menu .menu-link,
.layout-menu-link-no-transition .layout-menu-horizontal .menu-link {
  animation: none !important;
  transition: none !important;
}

/* Disable navbar link hover transition */
.layout-no-transition .layout-menu, .layout-no-transition .layout-menu .menu, .layout-no-transition .layout-menu .menu-item,
.layout-no-transition .layout-menu-horizontal,
.layout-no-transition .layout-menu-horizontal .menu,
.layout-no-transition .layout-menu-horizontal .menu-item {
  animation: none !important;
  transition: none !important;
}

@media (max-width: 1199.98px) {
  .layout-transitioning .layout-overlay {
    animation: menuAnimation 0.3s;
  }
  .layout-transitioning .layout-menu {
    transition-duration: 0.3s;
    transition-property: transform;
  }
}
@media (min-width: 1200px) {
  .layout-menu-collapsed:not(.layout-transitioning, .layout-menu-offcanvas, .layout-menu-fixed, .layout-menu-fixed-offcanvas) .layout-menu {
    transition-duration: 0.3s;
    transition-property: margin-inline-start, margin-inline-end, inline-size;
  }
  .layout-transitioning.layout-menu-offcanvas .layout-menu {
    transition-duration: 0.3s;
    transition-property: margin-inline-start, margin-inline-end, transform;
  }
  .layout-transitioning.layout-menu-fixed .layout-page, .layout-transitioning.layout-menu-fixed-offcanvas .layout-page {
    transition-duration: 0.3s;
    transition-property: padding-inline-start, padding-inline-end;
  }
  .layout-transitioning.layout-menu-fixed .layout-menu {
    transition: inline-size 0.3s;
  }
  .layout-transitioning.layout-menu-fixed-offcanvas .layout-menu {
    transition-duration: 0.3s;
    transition-property: transform;
  }
  .layout-transitioning.layout-navbar-fixed .layout-content-navbar .layout-navbar, .layout-transitioning.layout-footer-fixed .content-footer {
    transition-duration: 0.3s;
    transition-property: inset-inline-start, inset-inline-end;
  }
  .layout-transitioning:not(.layout-menu-offcanvas, .layout-menu-fixed, .layout-menu-fixed-offcanvas) .layout-menu {
    transition-duration: 0.3s;
    transition-property: margin-inline-start, margin-inline-end, inline-size;
  }
}
/* Disable transitions/animations in IE 10-11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .menu,
  .layout-menu,
  .layout-page,
  .layout-navbar,
  .content-footer {
    transition: none !important;
    transition-duration: 0s !important;
  }
  .layout-overlay {
    animation: none !important;
  }
}
@keyframes menuAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.5;
  }
}
/* Dark theme
******************************************************************************* */
[data-bs-theme=dark] .layout-overlay {
  background: #171925;
}

.aa-DetachedSearchButton {
  display: flex;
  align-items: center;
  border: none;
  background: transparent;
  gap: 1rem;
}
.aa-DetachedSearchButton .aa-DetachedSearchButtonPlaceholder {
  color: var(--bs-secondary-color);
}
@media (max-width: 767.98px) {
  .aa-DetachedSearchButton .aa-DetachedSearchButtonPlaceholder {
    display: none;
  }
}

.aa-InputWrapper ::-moz-placeholder {
  color: var(--bs-secondary-color);
}

.aa-InputWrapper ::placeholder {
  color: var(--bs-secondary-color);
}

.aa-DetachedSearchButtonIcon,
.aa-SubmitButton {
  color: var(--bs-body-color);
}
.aa-DetachedSearchButtonIcon::before,
.aa-SubmitButton::before {
  display: block;
  background-color: currentcolor;
  content: "";
  margin-block-end: -3px;
  -webkit-mask-image: var(--svg);
          mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M10 18a7.95 7.95 0 0 0 4.897-1.688l4.396 4.396l1.414-1.414l-4.396-4.396A7.95 7.95 0 0 0 18 10c0-4.411-3.589-8-8-8s-8 3.589-8 8s3.589 8 8 8m0-14c3.309 0 6 2.691 6 6s-2.691 6-6 6s-6-2.691-6-6s2.691-6 6-6'/%3E%3C/svg%3E");
}
.aa-DetachedSearchButtonIcon .aa-SubmitIcon,
.aa-SubmitButton .aa-SubmitIcon {
  display: none;
}

.aa-DetachedSearchButtonIcon::before {
  block-size: 24px;
  inline-size: 24px;
}

.aa-SubmitButton::before {
  block-size: 24px;
  inline-size: 24px;
}

.aa-DetachedSearchButtonQuery {
  display: none;
}

.layout-wrapper:not(.layout-horizontal) .aa-DetachedSearchButtonPlaceholder[hidden] {
  display: block !important;
}

/* Search Headings */
.search-headings {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 0.75rem;
  letter-spacing: 0.8px;
  line-height: 0.875rem;
  margin-block: 1rem 0.5rem;
  margin-inline: 0;
  padding-block: 0;
  padding-inline: 1rem;
  text-transform: uppercase;
}
.suggestion-section .search-headings {
  line-height: 14px;
  margin-block: 0.5rem;
}

/* Suggestion Items */
.suggestion-items .suggestion-item {
  color: var(--bs-heading-color);
  gap: 0.5rem;
  padding-block: 0.543rem;
  padding-inline: 1rem;
  text-decoration: none;
  transition: all 0.2s ease;
  border-radius: var(--bs-border-radius);
}
.suggestion-items .suggestion-item:hover, .suggestion-items .suggestion-item[aria-selected=true], .suggestion-items .suggestion-item.suggestion-item-focused {
  color: var(--bs-primary);
}
.suggestion-items .suggestion-item:focus, .suggestion-items .suggestion-item:focus-visible {
  background-color: var(--bs-primary-bg-subtle);
  color: var(--bs-primary);
}

/* Detached Overlay */
.aa-DetachedOverlay {
  position: fixed;
  z-index: 999999;
  backdrop-filter: blur(3px);
  background: rgba(0, 0, 0, 0.35);
  block-size: 100vh;
  inset-block-start: 0;
  inset-inline-end: 0;
  inset-inline-start: 0;
}
.aa-DetachedOverlay .aa-DetachedContainer {
  position: fixed;
  overflow: hidden;
  background: var(--bs-paper-bg);
  box-shadow: var(--bs-box-shadow-lg);
  inset-block-start: 4rem;
  max-block-size: 32.9375rem;
  border-radius: 0.5rem;
  inline-size: 600px;
  inset-inline-start: calc(50% - 300px);
}
@media (max-width: 767.98px) {
  .aa-DetachedOverlay .aa-DetachedContainer {
    inline-size: 450px;
    inset-inline-start: calc(50% - 225px);
  }
}
@media (max-width: 575.98px) {
  .aa-DetachedOverlay .aa-DetachedContainer {
    inline-size: 90%;
    inset-inline-start: 50%;
    transform: translateX(-50%);
  }
}
.aa-DetachedOverlay .search-control {
  background: transparent;
  inline-size: 100%;
}
.aa-DetachedOverlay .search-control:focus, .aa-DetachedOverlay .search-control:focus-visible {
  outline: none;
}
.aa-DetachedOverlay .search-control::-webkit-search-cancel-button, .aa-DetachedOverlay .search-control::-webkit-search-decoration {
  display: none;
  -webkit-appearance: none;
          appearance: none;
}
.aa-DetachedOverlay .search-control::-ms-clear {
  display: none;
}
.aa-DetachedOverlay .aa-List {
  padding-inline: 0;
}
.aa-DetachedOverlay .aa-InputWrapperPrefix {
  position: absolute;
}
.aa-DetachedOverlay .aa-SubmitButton {
  border: 0;
  background: none;
  padding-inline-start: 0.7rem;
}
.aa-DetachedOverlay #autocomplete-0-input {
  padding-inline-start: 2.5rem;
}
.aa-DetachedOverlay .aa-Form,
.aa-DetachedOverlay .aa-InputWrapper {
  inline-size: 100%;
}
.aa-DetachedOverlay .aa-Form {
  padding-block: 1.2rem;
  padding-inline-start: 0.7rem;
}
.aa-DetachedOverlay .aa-DetachedCancelButton.btn-search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: none;
  gap: 1rem;
  inline-size: 8rem;
  inset-inline-end: 1.5rem;
  padding-inline-end: 1.5rem;
}
.aa-DetachedOverlay .aa-SourceHeader {
  margin-block-end: 0.5rem;
}
.aa-DetachedOverlay .aa-Source:last-child .aa-List {
  margin-block-end: 0;
  padding-block-end: 0.5rem;
}
.aa-DetachedOverlay .aa-Item {
  display: flex;
  align-items: center;
  border-radius: var(--bs-border-radius);
  margin-inline: 0.5rem;
}
.aa-DetachedOverlay .aa-Item > a:active {
  background-color: var(--bs-primary-bg-subtle);
  color: var(--bs-primary);
}
.aa-DetachedOverlay .aa-Item > a:active svg {
  color: var(--bs-primary);
}
.aa-DetachedOverlay .aa-Item > a:active h6, .aa-DetachedOverlay .aa-Item > a:active .h6 {
  color: var(--bs-primary) !important;
}
.aa-DetachedOverlay .aa-Item .item-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.aa-DetachedOverlay .aa-Item svg {
  color: var(--bs-heading-color);
  font-size: 1rem;
  opacity: 0;
}
:dir(rtl) .aa-DetachedOverlay .aa-Item svg {
  transform: scaleX(-1);
}
.aa-DetachedOverlay .aa-Item:hover, .aa-DetachedOverlay .aa-Item[aria-selected=true] {
  background: var(--bs-gray-50);
}
.aa-DetachedOverlay .aa-Item:hover svg, .aa-DetachedOverlay .aa-Item[aria-selected=true] svg {
  opacity: 1;
}
.aa-DetachedOverlay .aa-Item a {
  border-radius: var(--bs-border-radius);
  color: var(--bs-heading-color);
  font-size: var(--bs-body-font-size);
  gap: 0.5rem;
  padding-block: 0.543rem;
  padding-inline: 1.25rem;
}

.search-no-results-wrapper {
  block-size: 28.75rem;
}

/* App Brand
******************************************************************************* */
.app-brand {
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  align-items: center;
  line-height: 1;
}
.app-brand .app-brand-text {
  margin-inline-start: 0.75rem;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.app-brand .layout-menu-toggle {
  display: block;
}
.app-brand .app-brand-img {
  display: block;
}
.app-brand .app-brand-img-collapsed {
  display: none;
}

.auth-cover-brand {
  position: absolute;
  z-index: 1;
  inset-block-start: 2.5rem;
  inset-inline-start: 1.5rem;
}

.app-brand-link {
  display: flex;
  align-items: center;
}

.menu-vertical .app-brand {
  padding-inline: 1.375rem 1rem;
}

/* App brand with vertical menu */
.menu-horizontal .app-brand,
.menu-horizontal .app-brand + .menu-divider {
  display: none !important;
}

@media (min-width: 1200px) {
  .layout-menu-collapsed:not(.layout-menu-hover) .layout-menu .app-brand-logo ~ .app-brand-text,
  .menu-collapsed:not(:hover) .app-brand .app-brand-logo ~ .app-brand-text {
    opacity: 0;
  }
  .layout-menu-collapsed:not(.layout-menu-hover) .layout-menu .app-brand-img,
  .menu-collapsed:not(:hover) .app-brand .app-brand-img {
    display: none;
  }
  .layout-menu-collapsed:not(.layout-menu-hover) .layout-menu .app-brand-img-collapsed,
  .menu-collapsed:not(:hover) .app-brand .app-brand-img-collapsed {
    display: block;
  }
}
/* Custom Options
******************************************************************************* */
/* Custom option */
.custom-option {
  --bs-custom-option-border-color: var(--bs-border-color);
  border: var(--bs-border-width) solid var(--bs-custom-option-border-color);
  border-radius: 0.375rem;
  padding-inline-start: 0;
}
.custom-option:hover:not(.checked) {
  border-color: var(--bs-gray-600);
}
.custom-option:not(.custom-option-image) {
  margin: calc(2px - (var(--bs-border-width)));
}
.custom-option.checked {
  --bs-custom-option-border-color: var(--bs-primary);
  border-width: 2px;
  margin: 0;
}
.custom-option.checked .custom-option-header .icon-base {
  color: var(--bs-primary);
}
.custom-option.custom-option-image {
  overflow: hidden;
  border-width: 2px;
  margin-block-end: 0;
}
.custom-option.custom-option-image .custom-option-body img {
  block-size: 100%;
  inline-size: 100%;
}
.custom-option.custom-option-image.custom-option-image-radio .form-check-input {
  display: none;
}
.custom-option.custom-option-image.custom-option-image-check .form-check-input {
  position: absolute;
  border: 1px solid transparent;
  margin: 0;
  inset-block-start: 1rem;
  inset-inline-end: 1rem;
}
.custom-option.custom-option-image.custom-option-image-check:hover .form-check-input {
  border-width: 1px;
  border-color: var(--bs-body-color);
}
.custom-option.custom-option-image.custom-option-image-check:hover .form-check-input:checked {
  border-color: var(--bs-primary);
}
.custom-option .custom-option-content {
  inline-size: 100%;
}
.custom-option .form-check-input {
  margin-inline-start: -2.016em;
}
.custom-option.custom-option-basic .custom-option-content {
  padding: 1.067em;
  padding-inline-start: 3.517em;
}
.custom-option.custom-option-basic .custom-option-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block-end: 0.4375rem;
}
.custom-option .custom-option-body {
  color: var(--bs-body-color);
}
.custom-option.custom-option-icon {
  overflow: hidden;
}
.custom-option.custom-option-icon.checked .icon-base,
.custom-option.custom-option-icon.checked svg {
  color: var(--bs-primary);
}
.custom-option.custom-option-icon .icon-base,
.custom-option.custom-option-icon svg {
  color: var(--bs-heading-color);
}
.custom-option.custom-option-icon .custom-option-content {
  padding: 1.067em;
  text-align: center;
}
.custom-option.custom-option-icon .custom-option-body {
  display: block;
  margin-block-end: 0.5rem;
}
.custom-option.custom-option-icon .custom-option-body .icon-base {
  block-size: 1.75rem;
  font-size: 1.75rem;
  inline-size: 1.75rem;
  display: block;
  margin-block-end: 0.5rem;
  margin-inline: auto;
}
.custom-option.custom-option-icon .custom-option-body svg {
  block-size: 1.75rem;
  inline-size: 1.75rem;
  margin-block-end: 0.5rem;
}
.custom-option.custom-option-icon .custom-option-body .custom-option-title {
  display: block;
  color: var(--bs-heading-color);
  font-size: 0.9375rem;
  font-weight: 500;
  margin-block-end: 0.5rem;
}
.custom-option.custom-option-icon .form-check-input {
  margin: 0;
  float: none;
}
.custom-option.custom-option-label.checked {
  background-color: rgba(var(--bs-primary-rgb), 0.12);
  color: var(--bs-primary);
}
.custom-option.custom-option-label.checked .custom-option-header span,
.custom-option.custom-option-label.checked .custom-option-title {
  color: var(--bs-primary);
}

.switch {
  --bs-switch-bg: color-mix(in sRGB, var(--bs-base-color) 6%, var(--bs-paper-bg));
  --bs-switch-color: color-mix(in sRGB, var(--bs-base-color) 60%, var(--bs-paper-bg));
  --bs-switch-border-color: color-mix(in sRGB, var(--bs-base-color) 6%, var(--bs-paper-bg));
  --bs-switch-box-shadow: 0 0 0.25rem 0 rgba(0, 0, 0, 0.16) inset;
  --bs-switch-holder-bg: var(--bs-white);
  --bs-switch-holder-shadow: var(--bs-box-shadow-xs);
  --bs-switch-box-shadow-color: var(--bs-primary-rgb);
  /* Checked state */
  position: relative;
  display: inline-block;
  border-radius: 30rem;
  cursor: pointer;
  margin-inline-end: 0.75rem;
  vertical-align: middle;
  font-size: 0.9375rem;
  line-height: 1.4;
  min-block-size: 1.35rem;
}
.switch .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-primary);
  --bs-switch-color: var(--bs-primary-contrast);
  --bs-switch-border-color: var(--bs-primary);
  --bs-switch-box-shadow: 0 .125rem .375rem 0 rgba(var(--bs-switch-box-shadow-color), .3);
}
.switch[class*=switch-outline-], .switch.switch-outline {
  --bs-switch-bg: transparent;
  --bs-switch-box-shadow: none;
  --bs-switch-holder-bg: color-mix(in sRGB, var(--bs-base-color) 6%, var(--bs-paper-bg));
  --bs-switch-holder-shadow: none;
}
.switch[class*=switch-outline-] .switch-input:checked ~ .switch-toggle-slider, .switch.switch-outline .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: transparent;
  --bs-switch-box-shadow: none;
}
.switch.switch-outline .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-primary);
  --bs-switch-border-color: var(--bs-primary);
  --bs-switch-holder-bg: var(--bs-primary);
}
.switch:has(.switch-input:disabled) {
  cursor: not-allowed;
}
.switch .switch-input ~ .switch-label {
  padding-inline-start: 3rem;
}
.switch .switch-toggle-slider {
  block-size: 1.35rem;
  inline-size: 2.5rem;
  line-height: 1.35rem;
}
.switch .switch-toggle-slider .icon-base {
  position: relative;
  block-size: 0.9375rem;
  font-size: 0.9375rem;
  inline-size: 0.9375rem;
  inset-block-start: -1.9px;
}
.switch .switch-label {
  inset-block-start: 0.01875rem;
}
.switch .switch-toggle-slider::after {
  block-size: 14px;
  inline-size: 14px;
}
.switch .switch-on {
  padding-inline: 0.125rem 1.1rem;
}
.switch .switch-off {
  padding-inline-start: 1.1rem;
}
.switch .switch-input.is-invalid ~ .switch-label, .was-validated .switch .switch-input:invalid ~ .switch-label {
  color: var(--bs-form-invalid-border-color);
}
.switch .switch-input.is-valid ~ .switch-label, .was-validated .switch .switch-input:valid ~ .switch-label {
  color: var(--bs-form-valid-border-color);
}
.switch .switch-input.is-invalid ~ .switch-toggle-slider, .was-validated .switch .switch-input:invalid ~ .switch-toggle-slider {
  --bs-switch-border-color: var(--bs-form-invalid-border-color);
}
.switch .switch-input.is-valid ~ .switch-toggle-slider, .was-validated .switch .switch-input:valid ~ .switch-toggle-slider {
  --bs-switch-border-color: var(--bs-form-valid-border-color);
}
.switch .switch-input.is-invalid:checked ~ .switch-toggle-slider, .was-validated .switch .switch-input:invalid:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-form-invalid-color);
  --bs-switch-box-shadow: none;
}
.switch .switch-input.is-valid:checked ~ .switch-toggle-slider, .was-validated .switch .switch-input:valid:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-form-valid-color);
  --bs-switch-box-shadow: none;
}

/* Input
******************************************************************************* */
.switch-input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.was-validated .switch-input:invalid ~ .valid-feedback, .was-validated .switch-input:invalid ~ .valid-tooltip, .switch-input.is-invalid ~ .valid-feedback, .switch-input.is-invalid ~ .valid-tooltip, .was-validated .switch-input:valid ~ .valid-feedback, .was-validated .switch-input:valid ~ .valid-tooltip, .switch-input.is-valid ~ .valid-feedback, .switch-input.is-valid ~ .valid-tooltip {
  display: block;
}

/* Toggle slider
******************************************************************************* */
.switch-toggle-slider {
  position: absolute;
  overflow: hidden;
  border: 1px solid var(--bs-switch-border-color);
  border-radius: 30rem;
  background: var(--bs-switch-bg);
  box-shadow: var(--bs-switch-box-shadow);
  color: var(--bs-switch-color);
  font-size: 0.625rem;
  inset-block-start: 50%;
  transform: translateY(-50%);
  transition-duration: 0.2s;
  transition-property: inset-inline-start, inset-inline-end, background, box-shadow;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.switch-toggle-slider::after {
  position: absolute;
  display: block;
  border-radius: 50%;
  background: var(--bs-switch-holder-bg);
  box-shadow: var(--bs-switch-holder-shadow);
  content: "";
  inset-block-start: 50%;
  inset-inline: 8% auto;
  transform: translateY(-50%);
  transition-duration: 0.2s;
  transition-property: inset-inline-start, inset-inline-end, background;
}

/* Label switch
******************************************************************************* */
.switch-label {
  position: relative;
  display: inline-block;
  color: var(--bs-heading-color);
  font-weight: 400;
}
.switch-label:first-child {
  padding-inline-end: 0.5rem;
}

/* Checked / Unchecked states */
.switch-off,
.switch-on {
  position: absolute;
  block-size: 100%;
  inline-size: 100%;
  inset-block-start: 0;
  text-align: center;
  transition-duration: 0.2s;
  transition-property: inset-inline-start, inset-inline-end;
}

.switch-on {
  inset-inline-start: -100%;
}
.switch-input:not(:checked) ~ .switch-toggle-slider .switch-on {
  color: transparent;
}

.switch-off {
  inset-inline-start: 0;
}

/* Checked state */
.switch-input:checked ~ .switch-toggle-slider::after {
  inset-inline: 95% auto;
  transform: translate(-100%, -50%);
}
:dir(rtl) .switch-input:checked ~ .switch-toggle-slider::after {
  inset-inline: 94% auto;
  transform: translate(100%, -50%);
}
.switch-input:checked ~ .switch-toggle-slider .switch-on {
  inset-inline-start: 0;
}
.switch-input:checked ~ .switch-toggle-slider .switch-off {
  color: transparent;
  inset-inline-start: 100%;
}

/* Stacked switches
******************************************************************************* */
.switches-stacked::after {
  display: block;
  clear: both;
  content: "";
}
.switches-stacked .switch {
  display: block;
  margin-inline: 0;
}
.switches-stacked .switch:not(:last-child) {
  margin-block-end: 0.75rem;
}

/* Square
******************************************************************************* */
.switch-square,
.switch-square .switch-toggle-slider {
  border-radius: 0.375rem;
}

.switch-square .switch-toggle-slider::after {
  border-radius: calc(0.375rem - 2px);
}

/* Disabled
******************************************************************************* */
.switch-input:disabled ~ .switch-toggle-slider {
  opacity: 0.45;
}
.switch-input:disabled ~ .switch-label {
  color: var(--bs-secondary-color);
}

/* Switch Sizes
******************************************************************************* */
.switch-sm {
  font-size: 0.6875rem;
  line-height: 1.6;
  min-block-size: 1.125rem;
}
.switch-sm .switch-input ~ .switch-label {
  padding-inline-start: 2.375rem;
}
.switch-sm .switch-toggle-slider {
  block-size: 1.125rem;
  inline-size: 1.875rem;
  line-height: 1.125rem;
}
.switch-sm .switch-toggle-slider .icon-base {
  position: relative;
  block-size: 0.6875rem;
  font-size: 0.6875rem;
  inline-size: 0.6875rem;
  inset-block-start: -2px;
}
.switch-sm .switch-label {
  inset-block-start: 0.0125rem;
}
.switch-sm .switch-toggle-slider::after {
  block-size: 13px;
  inline-size: 13px;
}
.switch-sm .switch-on {
  padding-inline: 0.085rem 0.955rem;
}
.switch-sm .switch-off {
  padding-inline-start: 0.955rem;
}

.switch-lg {
  font-size: 1rem;
  line-height: 1.47;
  min-block-size: 1.75rem;
}
.switch-lg .switch-input ~ .switch-label {
  padding-inline-start: 3.75rem;
}
.switch-lg .switch-toggle-slider {
  block-size: 1.75rem;
  inline-size: 3.25rem;
  line-height: 1.75rem;
}
.switch-lg .switch-toggle-slider .icon-base {
  position: relative;
  block-size: 1rem;
  font-size: 1rem;
  inline-size: 1rem;
  inset-block-start: -2px;
}
.switch-lg .switch-label {
  inset-block-start: 0.14rem;
}
.switch-lg .switch-toggle-slider::after {
  block-size: 21px;
  inline-size: 21px;
}
.switch-lg .switch-on {
  padding-inline: 0.125rem 1.5rem;
}
.switch-lg .switch-off {
  padding-inline-start: 1.5rem;
}

/* Validation states
******************************************************************************* */
.switch .valid-feedback,
.switch .invalid-feedback {
  padding-inline-start: 0.5rem;
}

/* Generate contextual modifier classes for colorizing the alert */
.switch-primary .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-primary);
  --bs-switch-border-color: var(--bs-primary);
  --bs-switch-color: var(--bs-primary-contrast);
  --bs-switch-box-shadow-color: var(--bs-primary-rgb);
}

.switch-outline-primary .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-primary);
  --bs-switch-border-color: var(--bs-primary);
  --bs-switch-holder-bg: var(--bs-primary);
}

.switch-secondary .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-secondary);
  --bs-switch-border-color: var(--bs-secondary);
  --bs-switch-color: var(--bs-secondary-contrast);
  --bs-switch-box-shadow-color: var(--bs-secondary-rgb);
}

.switch-outline-secondary .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-secondary);
  --bs-switch-border-color: var(--bs-secondary);
  --bs-switch-holder-bg: var(--bs-secondary);
}

.switch-success .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-success);
  --bs-switch-border-color: var(--bs-success);
  --bs-switch-color: var(--bs-success-contrast);
  --bs-switch-box-shadow-color: var(--bs-success-rgb);
}

.switch-outline-success .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-success);
  --bs-switch-border-color: var(--bs-success);
  --bs-switch-holder-bg: var(--bs-success);
}

.switch-info .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-info);
  --bs-switch-border-color: var(--bs-info);
  --bs-switch-color: var(--bs-info-contrast);
  --bs-switch-box-shadow-color: var(--bs-info-rgb);
}

.switch-outline-info .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-info);
  --bs-switch-border-color: var(--bs-info);
  --bs-switch-holder-bg: var(--bs-info);
}

.switch-warning .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-warning);
  --bs-switch-border-color: var(--bs-warning);
  --bs-switch-color: var(--bs-warning-contrast);
  --bs-switch-box-shadow-color: var(--bs-warning-rgb);
}

.switch-outline-warning .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-warning);
  --bs-switch-border-color: var(--bs-warning);
  --bs-switch-holder-bg: var(--bs-warning);
}

.switch-danger .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-danger);
  --bs-switch-border-color: var(--bs-danger);
  --bs-switch-color: var(--bs-danger-contrast);
  --bs-switch-box-shadow-color: var(--bs-danger-rgb);
}

.switch-outline-danger .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-danger);
  --bs-switch-border-color: var(--bs-danger);
  --bs-switch-holder-bg: var(--bs-danger);
}

.switch-light .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-light);
  --bs-switch-border-color: var(--bs-light);
  --bs-switch-color: var(--bs-light-contrast);
  --bs-switch-box-shadow-color: var(--bs-light-rgb);
}

.switch-outline-light .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-light);
  --bs-switch-border-color: var(--bs-light);
  --bs-switch-holder-bg: var(--bs-light);
}

.switch-dark .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-dark);
  --bs-switch-border-color: var(--bs-dark);
  --bs-switch-color: var(--bs-dark-contrast);
  --bs-switch-box-shadow-color: var(--bs-dark-rgb);
}

.switch-outline-dark .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-dark);
  --bs-switch-border-color: var(--bs-dark);
  --bs-switch-holder-bg: var(--bs-dark);
}

.switch-gray .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-bg: var(--bs-gray);
  --bs-switch-border-color: var(--bs-gray);
  --bs-switch-color: var(--bs-gray-contrast);
  --bs-switch-box-shadow-color: var(--bs-gray-rgb);
}

.switch-outline-gray .switch-input:checked ~ .switch-toggle-slider {
  --bs-switch-color: var(--bs-gray);
  --bs-switch-border-color: var(--bs-gray);
  --bs-switch-holder-bg: var(--bs-gray);
}

/* Avatar
******************************************************************************* */
/* Avatar Styles */
.avatar {
  --bs-avatar-size: 2.5rem;
  --bs-avatar-group-border: var(--bs-paper-bg);
  --bs-avatar-initial-inline: 3px;
  --bs-avatar-initial-bg: #eeedf0;
  position: relative;
  block-size: var(--bs-avatar-size);
  cursor: pointer;
  inline-size: var(--bs-avatar-size);
}
.avatar .avatar-initial {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bs-avatar-initial-bg);
  color: var(--bs-white);
  font-size: var(--bs-avatar-initial);
  font-weight: 500;
  inset: 0;
  text-transform: uppercase;
}
.avatar.avatar-online::after, .avatar.avatar-offline::after, .avatar.avatar-away::after, .avatar.avatar-busy::after {
  position: absolute;
  border-radius: 100%;
  block-size: calc(var(--bs-avatar-size) * 0.2);
  box-shadow: 0 0 0 2px var(--bs-white);
  content: "";
  inline-size: calc(var(--bs-avatar-size) * 0.2);
  inset-block-end: 0;
  inset-inline-end: var(--bs-avatar-initial-inline);
}
.avatar img {
  block-size: 100%;
  inline-size: 100%;
}
.avatar.avatar-online::after {
  background-color: var(--bs-success);
}
.avatar.avatar-offline::after {
  background-color: var(--bs-secondary);
}
.avatar.avatar-away::after {
  background-color: var(--bs-warning);
}
.avatar.avatar-busy::after {
  background-color: var(--bs-danger);
}

/* Pull up avatar style */
.pull-up {
  transition: all 0.25s ease;
}
.pull-up:hover {
  z-index: 30;
  border-radius: 50%;
  box-shadow: var(--bs-box-shadow);
  transform: translateY(-4px) scale(1.02);
}

.avatar-xs {
  --bs-avatar-size: 1.5rem;
  --bs-avatar-initial: 0.625rem;
  --bs-avatar-initial-inline: 1px;
}

.avatar-sm {
  --bs-avatar-size: 2rem;
  --bs-avatar-initial: 0.8125rem;
  --bs-avatar-initial-inline: 2px;
}

.avatar-md {
  --bs-avatar-size: 3rem;
  --bs-avatar-initial: 1.125rem;
  --bs-avatar-initial-inline: 3px;
}

.avatar-lg {
  --bs-avatar-size: 3.5rem;
  --bs-avatar-initial: 1.5rem;
  --bs-avatar-initial-inline: 4px;
}

.avatar-xl {
  --bs-avatar-size: 4rem;
  --bs-avatar-initial: 1.875rem;
  --bs-avatar-initial-inline: 5px;
}

/* Avatar Group SCSS */
.avatar-group .avatar {
  margin-inline-start: -0.8rem;
  transition: all 0.25s ease;
}
.avatar-group .avatar:first-child {
  margin-inline-start: 0;
}
.avatar-group .avatar img,
.avatar-group .avatar .avatar-initial {
  border: 2px solid var(--bs-avatar-group-border);
  color: var(--bs-heading-color);
}
.avatar-group .avatar:hover {
  z-index: 30;
  transition: all 0.25s ease;
}
.avatar-group .avatar-xs {
  margin-inline-start: -0.65rem;
}
.avatar-group .avatar-sm {
  margin-inline-start: -0.75rem;
}
.avatar-group .avatar-md {
  margin-inline-start: -0.9rem;
}
.avatar-group .avatar-lg {
  margin-inline-start: -1.5rem;
}
.avatar-group .avatar-xl {
  margin-inline-start: -1.75rem;
}

/* Avatar dark css */
[data-bs-theme=dark] {
  /* Avatar Status indication */
}
[data-bs-theme=dark] .avatar {
  --bs-avatar-initial-bg: #373b50;
}
[data-bs-theme=dark] .avatar.avatar-online::after, [data-bs-theme=dark] .avatar.avatar-offline::after, [data-bs-theme=dark] .avatar.avatar-away::after, [data-bs-theme=dark] .avatar.avatar-busy::after {
  box-shadow: 0 0 0 2px var(--bs-body-bg);
}

/* Timeline
******************************************************************************* */
.timeline {
  --bs-timeline-point-indicator-color: var(--bs-primary);
  --bs-timeline-point-indicator-bg: var(--bs-primary-bg-subtle);
  --bs-timeline-event-time-color: var(--bs-secondary-color);
  position: relative;
  padding: 0;
  block-size: 100%;
  inline-size: 100%;
  list-style: none;
}
.timeline:not(.timeline-center) {
  padding-inline-start: 0.5rem;
}
.timeline .timeline-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.timeline .timeline-header > *:first-child {
  margin-inline-end: 0.5rem;
}
.timeline .timeline-item {
  position: relative;
  border: 0;
  border-inline-start: 1px solid var(--bs-border-color);
  padding-inline-start: 1.4rem;
}
.timeline .timeline-item .timeline-event {
  position: relative;
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-paper-bg);
  inline-size: 100%;
  min-block-size: 4rem;
  padding-block: 0.5rem 0.3375rem;
  padding-inline: 0rem;
}
.timeline .timeline-item .timeline-event .timeline-event-time {
  position: absolute;
  color: var(--bs-timeline-event-time-color);
  font-size: 0.85rem;
  inset-block-start: 1.1rem;
}
.timeline .timeline-item .timeline-indicator,
.timeline .timeline-item .timeline-indicator-advanced {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background-color: var(--bs-timeline-point-indicator-bg);
  block-size: 2rem;
  box-shadow: 0 0 0 10px var(--bs-body-bg);
  inline-size: 2rem;
  inset-block-start: 0;
  inset-inline-start: -1rem;
}
.timeline .timeline-item .timeline-indicator .icon-base,
.timeline .timeline-item .timeline-indicator-advanced .icon-base {
  color: var(--bs-timeline-point-indicator-color);
}
.timeline .timeline-item [class*=timeline-indicator-] {
  border-color: var(--bs-timeline-point-indicator-color);
}
.timeline .timeline-item .timeline-indicator-advanced {
  background-color: var(--bs-paper-bg);
  box-shadow: 0 0 0 4px var(--bs-paper-bg);
}
.timeline .timeline-item .timeline-point {
  position: absolute;
  z-index: 2;
  display: block;
  background-color: var(--bs-timeline-point-indicator-color);
  block-size: 0.75rem;
  box-shadow: 0 0 0 10px var(--bs-paper-bg);
  inline-size: 0.75rem;
  inset-block-start: 0;
  inset-inline-start: -0.38rem;
  outline: 3px solid var(--bs-timeline-point-indicator-bg);
  border-radius: 50%;
}
.timeline .timeline-item.timeline-item-transparent .timeline-event {
  background-color: transparent;
  inset-block-start: -0.9rem;
  padding-inline: 0;
}
.timeline.timeline-outline .timeline-item .timeline-point {
  border: 2px solid var(--bs-timeline-point-indicator-color);
  background-color: var(--bs-paper-bg);
  outline: unset;
}
.timeline.timeline-center .timeline-item {
  clear: both;
  inline-size: 50%;
}
.timeline.timeline-center .timeline-item.timeline-item-left, .timeline.timeline-center .timeline-item:nth-of-type(odd):not(.timeline-item-left, .timeline-item-right) {
  border-inline-end: 1px solid var(--bs-border-color);
  border-inline-start: 0;
  float: inline-start;
  padding-block-end: 2.5rem;
  padding-block-start: 0;
  padding-inline: 0 2.25rem;
}
.timeline.timeline-center .timeline-item.timeline-item-left .timeline-event .timeline-event-time, .timeline.timeline-center .timeline-item:nth-of-type(odd):not(.timeline-item-left, .timeline-item-right) .timeline-event .timeline-event-time {
  inset-inline-end: -10.2rem;
}
.timeline.timeline-center .timeline-item.timeline-item-left .timeline-point, .timeline.timeline-center .timeline-item:nth-of-type(odd):not(.timeline-item-left, .timeline-item-right) .timeline-point {
  inset-inline-start: 100%;
  margin-inline-start: -0.3rem;
}
.timeline.timeline-center .timeline-item.timeline-item-right, .timeline.timeline-center .timeline-item:nth-of-type(even):not(.timeline-item-left, .timeline-item-right) {
  border-inline-start: 1px solid var(--bs-border-color);
  float: inline-end;
  inset-inline-end: 2px;
  padding-block-end: 2.5rem;
  padding-inline-start: 2.25rem;
}
.timeline.timeline-center .timeline-item.timeline-item-right .timeline-event-time, .timeline.timeline-center .timeline-item:nth-of-type(even):not(.timeline-item-left, .timeline-item-right) .timeline-event-time {
  inset-inline-start: -10.2rem;
}

@media (min-width: 768px) {
  .timeline.timeline-center .timeline-item.timeline-item-left .timeline-indicator, .timeline.timeline-center .timeline-item:nth-of-type(odd):not(.timeline-item-left, .timeline-item-right) .timeline-indicator {
    inset-inline-start: calc(100% - 2rem / 2);
  }
}
/* To Change Timeline Center's Alignment om small Screen */
@media (max-width: 767.98px) {
  .timeline.timeline-center .timeline-end-indicator {
    inset-inline-start: -2px;
  }
  .timeline.timeline-center .timeline-item {
    border-inline-end: 0 !important;
    float: inline-start !important;
    inline-size: 100%;
    inset-inline-start: 1rem;
    padding-inline: 3.5rem 1.5rem !important;
  }
  .timeline.timeline-center .timeline-item:not(:last-child) {
    border-inline-start: 1px solid var(--bs-border-color) !important;
  }
  .timeline.timeline-center .timeline-item .timeline-event .timeline-event-time {
    inset-block-start: -1.4rem;
    inset-inline: 0 auto !important;
  }
}
@media (max-width: 575.98px) {
  .timeline .timeline-header {
    flex-direction: column;
    align-items: flex-start;
  }
}
.timeline .timeline-point-primary, .timeline .timeline-indicator-primary {
  --bs-timeline-point-indicator-color: var(--bs-primary);
  --bs-timeline-point-indicator-bg: var(--bs-primary-bg-subtle);
}

.timeline .timeline-point-secondary, .timeline .timeline-indicator-secondary {
  --bs-timeline-point-indicator-color: var(--bs-secondary);
  --bs-timeline-point-indicator-bg: var(--bs-secondary-bg-subtle);
}

.timeline .timeline-point-success, .timeline .timeline-indicator-success {
  --bs-timeline-point-indicator-color: var(--bs-success);
  --bs-timeline-point-indicator-bg: var(--bs-success-bg-subtle);
}

.timeline .timeline-point-info, .timeline .timeline-indicator-info {
  --bs-timeline-point-indicator-color: var(--bs-info);
  --bs-timeline-point-indicator-bg: var(--bs-info-bg-subtle);
}

.timeline .timeline-point-warning, .timeline .timeline-indicator-warning {
  --bs-timeline-point-indicator-color: var(--bs-warning);
  --bs-timeline-point-indicator-bg: var(--bs-warning-bg-subtle);
}

.timeline .timeline-point-danger, .timeline .timeline-indicator-danger {
  --bs-timeline-point-indicator-color: var(--bs-danger);
  --bs-timeline-point-indicator-bg: var(--bs-danger-bg-subtle);
}

.timeline .timeline-point-light, .timeline .timeline-indicator-light {
  --bs-timeline-point-indicator-color: var(--bs-light);
  --bs-timeline-point-indicator-bg: var(--bs-light-bg-subtle);
}

.timeline .timeline-point-dark, .timeline .timeline-indicator-dark {
  --bs-timeline-point-indicator-color: var(--bs-dark);
  --bs-timeline-point-indicator-bg: var(--bs-dark-bg-subtle);
}

.timeline .timeline-point-gray, .timeline .timeline-indicator-gray {
  --bs-timeline-point-indicator-color: var(--bs-gray);
  --bs-timeline-point-indicator-bg: var(--bs-gray-bg-subtle);
}

/* Divider
******************************************************************************* */
.divider {
  --bs-divider-color: var(--bs-gray-200);
  display: block;
  overflow: hidden;
  margin-block: 1rem;
  margin-inline: 0;
  text-align: center;
  white-space: nowrap;
}
.divider .divider-text {
  position: relative;
  display: inline-block;
  font-size: 0.9375rem;
  padding-block: 0;
  padding-inline: 1rem;
}
.divider .divider-text .icon-base {
  block-size: 1.25rem;
  font-size: 1.25rem;
  inline-size: 1.25rem;
}
.divider .divider-text::before, .divider .divider-text::after {
  position: absolute;
  border-block-start: 1px solid var(--bs-divider-color);
  content: "";
  inline-size: 100vw;
  inset-block-start: 50%;
}
.divider .divider-text::before {
  inset-inline-end: 100%;
}
.divider .divider-text::after {
  inset-inline-start: 100%;
}
.divider.text-start .divider-text {
  padding-inline-start: 0;
}
.divider.text-end .divider-text {
  padding-inline-end: 0;
}
.divider.text-start-center .divider-text {
  inset-inline-start: -25%;
}
.divider.text-end-center .divider-text {
  inset-inline-end: -25%;
}
.divider.divider-dotted .divider-text::before, .divider.divider-dotted .divider-text::after, .divider.divider-dotted::before, .divider.divider-dotted::after {
  border-width: 0 1px 1px;
  border-style: dotted;
  border-color: var(--bs-divider-color);
}
.divider.divider-dashed .divider-text::before, .divider.divider-dashed .divider-text::after, .divider.divider-dashed::before, .divider.divider-dashed::after {
  border-width: 0 1px 1px;
  border-style: dashed;
  border-color: var(--bs-divider-color);
}
.divider.divider-vertical {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: unset;
  block-size: 100%;
}
.divider.divider-vertical::before, .divider.divider-vertical::after {
  position: absolute;
  border-inline-start: 1px solid var(--bs-divider-color);
  content: "";
  inset-inline-start: 50%;
}
.divider.divider-vertical::before {
  inset-block: 0 50%;
}
.divider.divider-vertical::after {
  inset-block: 50% 0;
}
.divider.divider-vertical.divider-dashed::before, .divider.divider-vertical.divider-dashed::after {
  border-width: 1px 1px 1px 0;
  border-style: dashed;
}
.divider.divider-vertical.divider-dotted::before, .divider.divider-vertical.divider-dotted::after {
  border-width: 1px 1px 1px 0;
  border-style: dotted;
}
.divider.divider-vertical:has(.badge-divider-bg)::after, .divider.divider-vertical:has(.badge-divider-bg)::before {
  inset-inline-start: 49%;
}
.divider.divider-vertical .divider-text {
  z-index: 1;
  padding: 0.5125rem;
  background-color: var(--bs-paper-bg);
}
.divider.divider-vertical .divider-text::before, .divider.divider-vertical .divider-text::after {
  content: unset;
}
.divider.divider-vertical .divider-text .badge-divider-bg {
  border-radius: 50%;
  background-color: var(--bs-gray-50);
  color: var(--bs-secondary-color);
  font-size: 0.75rem;
  padding-block: 0.313rem;
  padding-inline: 0.252rem;
}

.divider-primary {
  --bs-divider-color: var(--bs-primary);
}

.divider-secondary {
  --bs-divider-color: var(--bs-secondary);
}

.divider-success {
  --bs-divider-color: var(--bs-success);
}

.divider-info {
  --bs-divider-color: var(--bs-info);
}

.divider-warning {
  --bs-divider-color: var(--bs-warning);
}

.divider-danger {
  --bs-divider-color: var(--bs-danger);
}

.divider-light {
  --bs-divider-color: var(--bs-light);
}

.divider-dark {
  --bs-divider-color: var(--bs-dark);
}

.divider-gray {
  --bs-divider-color: var(--bs-gray);
}

/* Footer
******************************************************************************* */
.footer {
  --bs-footer-color: var(--bs-body-color);
  --bs-footer-bg: var(--bs-paper-bg);
  --bs-footer-border-width: 0;
  --bs-footer-border-color: var(--bs-border-color);
  --bs-footer-text-color: var(--bs-heading-color);
  --bs-footer-link-color: var(--bs-primary);
  --bs-footer-link-hover-color: var(--bs-primary);
  --bs-footer-link-disabled-color: color-mix(in sRGB, var(--bs-base-color) 40%, var(--bs-paper-bg));
  --bs-footer-link-active-color: var(--bs-primary);
  --bs-footer-brand-color: var(--bs-primary);
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-primary) 84%, var(--bs-paper-bg));
  --bs-footer-box-shadow: var(--bs-box-shadow-xl);
  color: var(--bs-footer-color);
}
.footer .footer-brand {
  color: var(--bs-footer-brand-color);
}
.footer .footer-brand:hover, .footer .footer-brand:focus {
  color: var(--bs-footer-brand-hover-color);
}
.footer.content-footer .footer-container {
  block-size: 54px;
}
.footer .footer-text {
  color: var(--bs-footer-text-color);
}
.footer .footer-link {
  display: inline-block;
  color: var(--bs-footer-link-color);
}
.footer .footer-link:hover, .footer .footer-link:focus {
  color: var(--bs-footer-link-hover-color);
}
.footer .footer-link.disabled {
  color: var(--bs-footer-link-disabled-color) !important;
}
.footer .footer-link:active, .footer .footer-link.active {
  color: var(--bs-footer-link-active-color);
}
.footer.bg-footer-theme {
  --bs-footer-brand-color: var(--bs-body-color);
}
.footer.bg-white {
  --bs-footer-color: #6d6b77;
  --bs-footer-text-color: #444050;
  --bs-footer-link-color: #6d6b77;
  --bs-footer-link-hover-color: #444050;
  --bs-footer-link-active-color: #444050;
  --bs-footer-brand-color: #444050;
}

/* Generate contextual modifier classes for colorizing the footer */
.footer.bg-primary {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-primary));
  --bs-footer-link-active-color: var(--bs-primary-contrast);
  --bs-footer-link-hover-color: var(--bs-primary-contrast);
  --bs-footer-color: var(--bs-primary-contrast);
  --bs-footer-text-color: var(--bs-primary-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-primary-contrast) 84%, var(--bs-primary));
  --bs-footer-brand-color: var(--bs-primary-contrast);
}

.footer.bg-secondary {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-secondary));
  --bs-footer-link-active-color: var(--bs-secondary-contrast);
  --bs-footer-link-hover-color: var(--bs-secondary-contrast);
  --bs-footer-color: var(--bs-secondary-contrast);
  --bs-footer-text-color: var(--bs-secondary-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-secondary-contrast) 84%, var(--bs-secondary));
  --bs-footer-brand-color: var(--bs-secondary-contrast);
}

.footer.bg-success {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-success));
  --bs-footer-link-active-color: var(--bs-success-contrast);
  --bs-footer-link-hover-color: var(--bs-success-contrast);
  --bs-footer-color: var(--bs-success-contrast);
  --bs-footer-text-color: var(--bs-success-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-success-contrast) 84%, var(--bs-success));
  --bs-footer-brand-color: var(--bs-success-contrast);
}

.footer.bg-info {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-info));
  --bs-footer-link-active-color: var(--bs-info-contrast);
  --bs-footer-link-hover-color: var(--bs-info-contrast);
  --bs-footer-color: var(--bs-info-contrast);
  --bs-footer-text-color: var(--bs-info-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-info-contrast) 84%, var(--bs-info));
  --bs-footer-brand-color: var(--bs-info-contrast);
}

.footer.bg-warning {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-warning));
  --bs-footer-link-active-color: var(--bs-warning-contrast);
  --bs-footer-link-hover-color: var(--bs-warning-contrast);
  --bs-footer-color: var(--bs-warning-contrast);
  --bs-footer-text-color: var(--bs-warning-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-warning-contrast) 84%, var(--bs-warning));
  --bs-footer-brand-color: var(--bs-warning-contrast);
}

.footer.bg-danger {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-danger));
  --bs-footer-link-active-color: var(--bs-danger-contrast);
  --bs-footer-link-hover-color: var(--bs-danger-contrast);
  --bs-footer-color: var(--bs-danger-contrast);
  --bs-footer-text-color: var(--bs-danger-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-danger-contrast) 84%, var(--bs-danger));
  --bs-footer-brand-color: var(--bs-danger-contrast);
}

.footer.bg-light {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-base-color) 70%, var(--bs-paper-bg));
  --bs-footer-link-hover-color: var(--bs-heading-color);
  --bs-footer-link-active-color: var(--bs-heading-color);
  --bs-footer-color: var(--bs-body-color);
  --bs-footer-link-color: var(--bs-body-color);
  --bs-footer-brand-color: var(--bs-heading-color);
}

.footer.bg-dark {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-dark));
  --bs-footer-link-active-color: var(--bs-dark-contrast);
  --bs-footer-link-hover-color: var(--bs-dark-contrast);
  --bs-footer-color: var(--bs-dark-contrast);
  --bs-footer-text-color: var(--bs-dark-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-dark-contrast) 84%, var(--bs-dark));
  --bs-footer-brand-color: var(--bs-dark-contrast);
}

.footer.bg-gray {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-paper-bg) 84%, var(--bs-gray));
  --bs-footer-link-active-color: var(--bs-gray-contrast);
  --bs-footer-link-hover-color: var(--bs-gray-contrast);
  --bs-footer-color: var(--bs-gray-contrast);
  --bs-footer-text-color: var(--bs-gray-contrast);
  --bs-footer-link-color: color-mix(in sRGB, var(--bs-gray-contrast) 84%, var(--bs-gray));
  --bs-footer-brand-color: var(--bs-gray-contrast);
}

/* Dark Theme */
[data-bs-theme=dark] .footer.bg-dark {
  --bs-footer-brand-hover-color: color-mix(in sRGB, var(--bs-pure-black) 84%, var(--bs-dark-contrast));
  --bs-footer-link-hover-color: color-mix(in sRGB, var(--bs-pure-black) 84%, var(--bs-dark-contrast));
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Jhbm5lci5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29udGFpbmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tcmFuZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FjY29yZGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BsYWNlaG9sZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yLWJnLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19pY29uLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19yYXRpby5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RhY2tzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3RleHQtdHJ1bmNhdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3ZyLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fY29sb3JzLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL191dGlsaXRpZXMuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19taXNjLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19yb290LnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19za2luLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19yZWJvb3Quc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvX3R5cGUuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvX3ZhcmlhYmxlcy1kYXJrLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL190YWJsZXMuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvZm9ybXMvX2xhYmVscy5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Zvcm1zL19mb3JtLXJhbmdlLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Zvcm1zL192YWxpZGF0aW9uLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19idXR0b25zLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19kcm9wZG93bi5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19uYXYuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvX25hdmJhci5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9fY2FyZC5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9fYWNjb3JkaW9uLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19icmVhZGNydW1iLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19wYWdpbmF0aW9uLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19iYWRnZS5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9fYWxlcnQuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvX3Byb2dyZXNzLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19saXN0LWdyb3VwLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL190b2FzdHMuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvX21vZGFsLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL190b29sdGlwLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19wb3BvdmVyLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL19jYXJvdXNlbC5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9fc3Bpbm5lcnMuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvX29mZmNhbnZhcy5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdXRpbGl0aWVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hcGkuc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL192YXJpYWJsZXMuc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL19yb290LnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fY29tcG9uZW50cy9fYmFzZS5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvX2NvbW1vbi5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvX21lbnUuc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL19sYXlvdXQuc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL19zZWFyY2guc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL19hcHAtYnJhbmQuc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL19jdXN0b20tb3B0aW9ucy5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvbWl4aW5zL19zd2l0Y2guc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL19hdmF0YXIuc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL190aW1lbGluZS5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvX3RleHQtZGl2aWRlci5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDc3hCaUg7QUN2eEJuSDtBQUFBO0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFLRTtFQUVGO0VDMk9JLHFCQUxJO0VEcE9SO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7OztBRWhIRTtFRnNIQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFHRjtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUd4S0o7QUFBQTtBQUFBO0VBR0U7OztBQVNGO0VGb1FNLFdBTEk7O0FFelBOO0VBTko7SUFPTTs7OztBQWNOO0VBQ0U7RUFDQTtFRjZPSSxXQUxJO0VFdE9SO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFTRjtFQUNFO0VBQ0EsT0ptV1M7RUlsV1Q7RUFDQTtFQUNBLFNKaVdXOzs7QUl2VmI7RUFDRTtFQUNBLGVKeURPO0VJdERQLGFKa1JtQjtFSWpSbkIsYUpnVHFCO0VJL1NyQjs7O0FBR0Y7RUZ1TVE7O0FBNUpKO0VFM0NKO0lGOE1ROzs7O0FFek1SO0VGa01ROztBQTVKSjtFRXRDSjtJRnlNUTs7OztBRXBNUjtFRjZMUTs7QUE1Sko7RUVqQ0o7SUZvTVE7Ozs7QUUvTFI7RUZ3TFE7O0FBNUpKO0VFNUJKO0lGK0xROzs7O0FFMUxSO0VGK0tNLFdBTEk7OztBRXJLVjtFRjBLTSxXQUxJOzs7QUUxSlY7RUFDRTtFQUNBLGVKcUh3Qjs7O0FJM0cxQjtFQUNFO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7OztBQU1GO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRSxhSnVMbUI7OztBSWxMckI7RUFDRTtFQUNBOzs7QUFNRjtFQUNFOzs7QUFRRjtBQUFBO0VBRUUsYUptS21COzs7QUkzSnJCO0VGNkVNLFdBTEk7OztBRWpFVjtFQUNFLFNDcWY0QjtFRHBmNUI7RUFDQTs7O0FBU0Y7QUFBQTtFQUVFO0VGd0RJLFdBTEk7RUVqRFI7RUFDQTs7O0FBR0Y7RUFBTTs7O0FBQ047RUFBTTs7O0FBS047RUFDRTtFQUNBLGlCSlBnQjs7QUlTaEI7RUFDRTs7O0FBV0Y7RUFFRTtFQUNBOzs7QUFPSjtBQUFBO0FBQUE7QUFBQTtFQUlFLGFKMkVpQjtFRTdEYixXQUxJOzs7QUVEVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VGRUksV0FMSTs7QUVRUjtFRkhJLFdBTEk7RUVVTjtFQUNBOzs7QUFJSjtFRlZNLFdBTEk7RUVpQlI7RUFDQTs7QUFHQTtFQUNFOzs7QUFJSjtFQUNFO0VGdEJJLFdBTEk7RUU2QlIsT0MyNUNrQztFRDE1Q2xDLGtCQzI1Q2tDO0VDaHNEaEM7O0FGd1NGO0VBQ0U7RUY3QkUsV0FMSTs7O0FFNkNWO0VBQ0U7OztBQU1GO0FBQUE7RUFFRTs7O0FBUUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFLGFKbUhxQjtFSWxIckIsZ0JKa0hxQjtFSWpIckIsT0pnSm9CO0VJL0lwQjs7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FO0VBQ0E7RUFDQTs7O0FBUUY7RUFDRTs7O0FBTUY7RUFFRTs7O0FBUUY7RUFDRTs7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUY1SEksV0FMSTtFRW1JUjs7O0FBSUY7QUFBQTtFQUVFOzs7QUFLRjtFQUNFOzs7QUFHRjtFQUdFOztBQUdBO0VBQ0U7OztBQU9KO0VBQ0U7OztBQVFGO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBR0U7QUFBQTtBQUFBO0FBQUE7RUFDRTs7O0FBT047RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFVRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVDbU40QjtFRGpONUI7RUZuTk07O0FBNUpKO0VFeVdKO0lGdE1ROzs7QUUrTU47RUFDRTs7O0FBT0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPRTs7O0FBR0Y7RUFDRTs7O0FBU0Y7RUFDRTtFQUNBOzs7QUFRRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQVFGO0VBQ0U7OztBQVFGO0VBQ0U7OztBR3JrQkY7RUxtUU0sV0FMSTtFSzVQUixhRndvQjRCOzs7QUVub0I1QjtFQUdFLGFQaVhrQjtFT2hYbEIsYVBpV21CO0VFckdmOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBS3ZRTjtFQUdFLGFQaVhrQjtFT2hYbEIsYVBpV21CO0VFckdmOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBS3ZRTjtFQUdFLGFQaVhrQjtFT2hYbEIsYVBpV21CO0VFckdmOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBS3ZRTjtFQUdFLGFQaVhrQjtFT2hYbEIsYVBpV21CO0VFckdmOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBS3ZRTjtFQUdFLGFQaVhrQjtFT2hYbEIsYVBpV21CO0VFckdmOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBS3ZRTjtFQUdFLGFQaVhrQjtFT2hYbEIsYVBpV21CO0VFckdmOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBSy9PUjtFQ3ZERTtFQUNBOzs7QUQyREY7RUM1REU7RUFDQTs7O0FEOERGO0VBQ0U7O0FBRUE7RUFDRSxjRnNvQjBCOzs7QUU1bkI5QjtFTDhNTSxXQUxJO0VLdk1SOzs7QUFJRjtFQUNFLGVQcURPO0VFa0pILFdBTEk7O0FLL0xSO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQSxlUDJDTztFRWtKSCxXQUxJO0VLdExSLE9QMUVTOztBTzRFVDtFQUNFOzs7QUVoR0o7RUNJRTtFQUdBOzs7QURERjtFQUNFLFNUeWhDa0I7RVN4aENsQixrQlR5aENhO0VTeGhDYjtFSEdFO0VJUkY7RUFHQTs7O0FEY0Y7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFUHlQTSxXQUxJO0VPbFBSLE9UaEJTOzs7QVdsQlQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUNIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDc0RFO0VGNUNFO0lBQ0UsV1gyT2U7OztBYWhNbkI7RUY1Q0U7SUFDRSxXWDJPZTs7O0FhaE1uQjtFRjVDRTtJQUNFLFdYMk9lOzs7QWFoTW5CO0VGNUNFO0lBQ0UsV1gyT2U7OztBYWhNbkI7RUY1Q0U7SUFDRSxXWDJPZTs7O0FjM1B2QjtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7O0FBS0Y7RUNOQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QURFRTtFQ09GO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBK0NJO0VBQ0U7OztBQUdGO0VBcENKO0VBQ0E7OztBQWNBO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQStCRTtFQWhESjtFQUNBOzs7QUFxRFE7RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUF1RVE7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBbUVNO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBQ3JIVjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBLGVoQnNITztFZ0JySFAsZ0JoQjhiMEI7RWdCN2IxQjs7QUFPQTtFQUNFO0VBRUE7RUFDQTtFQUNBLHFCWCtzQjBCO0VXOXNCMUI7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFOzs7QUFPRjtFQUNFOzs7QUFVQTtFQUNFOzs7QUFlRjtFQUNFOztBQUdBO0VBQ0U7OztBQU9KO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBVUY7RUFDRTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7OztBQVFKO0VBQ0U7RUFDQTs7O0FBUUE7RUFDRTtFQUNBOzs7QUM1SUY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFsQkY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFsQkY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFsQkY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFsQkY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFsQkY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFsQkY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFsQkY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QURpSkE7RUFDRTtFQUNBOzs7QUgzRkY7RUd5RkE7SUFDRTtJQUNBOzs7QUgzRkY7RUd5RkE7SUFDRTtJQUNBOzs7QUgzRkY7RUd5RkE7SUFDRTtJQUNBOzs7QUgzRkY7RUd5RkE7SUFDRTtJQUNBOzs7QUgzRkY7RUd5RkE7SUFDRTtJQUNBOzs7QUVuS047RUFDRSxlbEIya0J5QjtFRWpUckIsV0FMSTtFZ0JqUlIsT2xCeWtCaUI7OztBa0Jwa0JuQjtFQUNFO0VBQ0E7RUFDQTtFaEI4UUksV0FMSTtFZ0JyUVIsYWxCNlZlO0VrQjVWZixPbEI0akJpQjs7O0FrQnpqQm5CO0VBQ0U7RUFDQTtFaEJvUUksV0FMSTs7O0FnQjNQVjtFQUNFO0VBQ0E7RWhCOFBJLFdBTEk7OztBaUJ0UlY7RUFDRSxZZCsxQnNDO0VIcmtCbEMsV0FMSTtFaUJqUlIsT25Ca2tCZ0I7OztBb0J2a0JsQjtFQUNFO0VBQ0E7RUFDQTtFbEJ3UkksV0FMSTtFa0JoUlIsYXBCOFZtQjtFb0I3Vm5CLGFwQnVXZTtFb0J0V2YsT3BCNGxCWTtFb0IzbEJaO0VBQ0Esa0JwQnFsQlM7RW9CcGxCVDtFQUNBO0VkR0U7RWVIRSxZRE1KOztBQ0ZJO0VEaEJOO0lDaUJROzs7QURHTjtFQUNFOztBQUVBO0VBQ0U7O0FBS0o7RUFDRSxPcEJza0JVO0VvQnJrQlYsa0JwQmdrQk87RW9CL2pCUCxjcEI4UWtCO0VvQjdRbEI7RUFLRSxZcEJva0JtQjs7QW9CaGtCdkI7RUFNRTtFQU1BO0VBS0E7O0FBS0Y7RUFDRTtFQUNBOztBQUlGO0VBQ0UsT2Y0MEJvQztFZTEwQnBDOztBQVFGO0VBQ0UsT3BCOGdCbUI7RW9CN2dCbkIsa0JwQjhnQmdCO0VvQjdnQmhCLGNwQjhnQjBCO0VvQjVnQjFCOztBQUlGO0VBQ0U7RUFDQTtFQUNBLG1CcEJ1ZmM7RW9CdGZkLE9wQnNnQlU7RXNCcG1CWixrQnRCK2xCUztFb0IvZlA7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmZnc0IwQjtFZS9yQjFCO0VDekZFLFlEMEZGOztBQ3RGRTtFRDBFSjtJQ3pFTTs7O0FEd0ZOO0VBQ0Usa0JwQmltQndCOzs7QW9CeGxCNUI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFwQnNQZTtFb0JyUGYsT3BCbWZzQjtFb0JsZnRCO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBRUU7RUFDQTs7O0FBV0o7RUFDRSxZZjR3QnNDO0VlM3dCdEM7RWxCeUlJLFdBTEk7RUl2UU47O0FjdUlGO0VBQ0U7RUFDQTtFQUNBLG1CcEJnY2lCOzs7QW9CNWJyQjtFQUNFLFlmZ3dCc0M7RWUvdkJ0QztFbEI0SEksV0FMSTtFSXZRTjs7QWNvSkY7RUFDRTtFQUNBO0VBQ0EsbUJwQjdCSzs7O0FvQnFDUDtFQUNFLFlmNnVCb0M7O0FlMXVCdEM7RUFDRSxZZjB1Qm9DOztBZXZ1QnRDO0VBQ0UsWWZ1dUJvQzs7O0FlbHVCeEM7RUFDRSxPZnF1QnNDO0VlcHVCdEMsUWY4dEJzQztFZTd0QnRDLFNwQm9aZ0I7O0FvQmxaaEI7RUFDRTs7QUFHRjtFQUNFO0VkdkxBOztBYzJMRjtFQUNFO0VkNUxBOztBY2dNRjtFQUFvQixRZjhzQmtCOztBZTdzQnRDO0VBQW9CLFFmOHNCa0I7OztBa0I3NUJ4QztFQUNFO0VBRUE7RUFDQTtFQUNBO0VyQnFSSSxXQUxJO0VxQjdRUixhdkIyVm1CO0V1QjFWbkIsYXZCb1dlO0V1Qm5XZixPdkJ5bEJZO0V1QnhsQlo7RUFDQSxrQnZCa2xCUztFdUJqbEJUO0VBQ0E7RUFDQSxxQmxCKzlCa0M7RWtCOTlCbEMsaUJ2QndwQm9CO0V1QnZwQnBCO0VqQkhFO0VlSEUsWUVTSjs7QUZMSTtFRWZOO0lGZ0JROzs7QUVNTjtFQUNFLGN2QnNSa0I7RXVCclJsQjtFQUtFLFl2QjRrQm1COztBdUJ4a0J2QjtFQUVFLGV2QmdqQmM7RXVCL2lCZDs7QUFHRjtFQUNFLE92QjhuQnlCO0V1QjduQnpCLGtCdkJ1akJnQjtFdUJ0akJoQixjdkJ1akIwQjs7QXVCbmpCNUI7RUFDRTtFQUNBOzs7QUFJSjtFQUNFLGF2QmtpQm1CO0V1QmppQm5CLGdCdkJpaUJtQjtFdUJoaUJuQixjdkJpaUJtQjtFRTlUZixXQUxJO0VJdlFOOzs7QWlCOENKO0VBQ0UsYXZCNmhCbUI7RXVCNWhCbkIsZ0J2QjRoQm1CO0V1QjNoQm5CLGN2QnlFTztFRWtKSCxXQUxJO0VJdlFOOzs7QWlCd0RBO0VBQ0U7OztBQ3hFTjtFQUNFO0VBQ0EsWXhCb25Cc0I7RXdCbm5CdEIsY3hCb25CeUI7RXdCbm5CekIsZXhCb25CeUI7O0F3QmxuQnpCO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRSxleEIwbUJ5QjtFd0J6bUJ6QjtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBRUE7RUFDQSxPeEJ3bEJ1QjtFd0J2bEJ2QixReEJ1bEJ1QjtFd0J0bEJ2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUXhCbWxCd0I7RXdCbGxCeEI7O0FBR0E7RWxCM0JFOztBa0IrQkY7RUFFRSxlbkJtNEJzQzs7QW1CaDRCeEM7RUFDRSxRbkIwM0JzQzs7QW1CdjNCeEM7RUFDRSxjeEJ3a0I0QjtFd0J2a0I1QjtFQUNBLFl4QmlrQmdDOztBd0I5akJsQztFQUNFLGtCeEJnUGtCO0V3Qi9PbEIsY3hCK09rQjs7QXdCN09sQjtFQUlJOztBQUlKO0VBSUk7O0FBS047RUFDRSxrQnhCMk5rQjtFd0IxTmxCLGN4QjBOa0I7RXdCck5oQjs7QUFJSjtFQUNFO0VBQ0E7RUFDQSxTeEJ3aUJnQzs7QXdCamlCaEM7RUFDRTtFQUNBLFN4QitoQjhCOzs7QXdCMWhCcEM7RUFDRSxPeEIyZ0J1QjtFd0IxZ0J2QixReEI2Z0J3Qjs7O0F3QnRnQjFCO0VBQ0UsY3hCd2hCMEI7O0F3QnRoQjFCO0VBQ0U7RUFFQSxPeEJraEJnQjtFd0JqaEJoQjtFQUNBO0VBQ0E7RWxCakhBO0VlSEUsWUdzSEY7O0FIbEhFO0VHMEdKO0lIekdNOzs7QUdtSEo7RUFDRTs7QUFHRjtFQUNFLHFCeEI0Z0I0QjtFd0J2Z0IxQjs7QUFLTjtFQUNFLGV4QjRmd0I7RXdCM2Z4Qjs7QUFFQTtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQSxjbkJzeUJnQzs7O0FtQm55QmxDO0VBQ0U7RUFDQTtFQUNBOztBQUlFO0VBQ0U7RUFDQTtFQUNBLFN4QitYaUI7OztBd0J4WG5CO0VBQ0U7OztBQ25MTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJQTtFQUEwQixZekI0ZUQ7O0F5QjNlekI7RUFBMEIsWXpCMmVEOztBeUJ4ZTNCO0VBQ0U7O0FBR0Y7RUFDRSxPekJ1cUJxQjtFeUJ0cUJyQixRekJzcUJxQjtFeUJycUJyQjtFQUNBO0VIMUJGLGtCdEJnc0JvQjtFeUJwcUJsQixRekJxcUJzQjtFTWxyQnRCO0VlSEUsWUltQkY7O0FKZkU7RUlNSjtJSkxNOzs7QUlnQko7RUhqQ0Ysa0J0Qm9zQjJCOztBeUI5cEIzQjtFQUNFLE9wQncrQjhCO0VvQnYrQjlCLFF6QmdwQnNCO0V5Qi9vQnRCO0VBQ0EsUXBCdStCOEI7RW9CdCtCOUIsa0J6QjhvQmtCO0V5QjdvQmxCO0VuQjdCQTs7QW1Ca0NGO0VBQ0UsT3pCNG9CcUI7RXlCM29CckIsUXpCMm9CcUI7RXlCMW9CckI7RUhwREYsa0J0QmdzQm9CO0V5QjFvQmxCLFF6QjJvQnNCO0VNbHJCdEI7RWVIRSxZSTZDRjs7QUp6Q0U7RUlpQ0o7SUpoQ007OztBSTBDSjtFSDNERixrQnRCb3NCMkI7O0F5QnBvQjNCO0VBQ0UsT3BCODhCOEI7RW9CNzhCOUIsUXpCc25Cc0I7RXlCcm5CdEI7RUFDQSxRcEI2OEI4QjtFb0I1OEI5QixrQnpCb25Ca0I7RXlCbm5CbEI7RW5CdkRBOztBbUI0REY7RUFDRTs7QUFFQTtFQUNFLGtCekJpbkJnQjs7QXlCOW1CbEI7RUFDRSxrQnpCNm1CZ0I7OztBMEJwc0J0QjtFQUNFOztBQUVBO0FBQUE7QUFBQTtFQUdFLFFyQndpQ29DO0VxQnZpQ3BDLFlyQnVpQ29DO0VxQnRpQ3BDLGFyQnVpQ29DOztBcUJwaUN0QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFTFZFLFlLV0Y7O0FMUEU7RUtUSjtJTFVNOzs7QUtTTjtBQUFBO0VBRUU7O0FBRUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUVFLGFyQjBnQ2tDO0VxQnpnQ2xDLGdCckIwZ0NrQzs7QXFCdmdDcEM7QUFBQTtFQUNFLGFyQnFnQ2tDO0VxQnBnQ2xDLGdCckJxZ0NrQzs7QXFCamdDdEM7RUFDRSxhckIrL0JvQztFcUI5L0JwQyxnQnJCKy9Cb0M7RXFCOS9CcEMsYzFCbWlCYzs7QTBCNWhCZDtBQUFBO0FBQUE7QUFBQTtFQUNFLFdyQnkvQmtDOztBcUJwL0JwQztFQUNFLFdyQm0vQmtDOztBcUI5K0JwQztBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsUXJCdytCa0M7RXFCditCbEM7RUFDQSxrQjFCcWhCSztFTWhsQlA7O0FvQitERjtFQUNFLGtCMUJraEJnQjs7QTBCOWdCaEI7RUFDRTs7QUFJSjtBQUFBO0VBRUUsTzFCcEVPOzs7QTJCdEJYO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0FBQUE7RUFHRTs7QUFNRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7O0FBV047RUFDRTtFQUNBO0VBQ0E7RXpCOE9JLFdBTEk7RXlCdk9SLGEzQnFUbUI7RTJCcFRuQixhM0I4VGU7RTJCN1RmLE8zQm1qQlk7RTJCbGpCWjtFQUNBO0VBQ0Esa0IzQjJpQlM7RTJCMWlCVDtFckJ0Q0U7OztBcUJnREo7QUFBQTtBQUFBO0FBQUE7RUFJRTtFekJ3TkksV0FMSTtFSXZRTjs7O0FxQnlESjtBQUFBO0FBQUE7QUFBQTtFQUlFO0V6QitNSSxXQUxJO0VJdlFOOzs7QXFCa0VKO0FBQUE7RUFFRTs7O0FBYUU7QUFBQTtBQUFBO0FBQUE7RUM5RkE7RUFDQTs7QURzR0E7QUFBQTtBQUFBO0FBQUE7RUN2R0E7RUFDQTs7QURtSEY7RUFDRTtFQzlHQTtFQUNBOztBRGlIRjtBQUFBO0VDbEhFO0VBQ0E7OztBQ1lGO0VBQ0U7RUFDQTtFQUNBLFl4QnUwQm9DO0VIcmtCbEMsV0FMSTtFMkIxUE4sT3hCa2pDcUI7OztBd0IvaUN2QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQnFQRSxXQUxJO0UyQjdPTixPeEJxaUNxQjtFd0JwaUNyQixrQnhCb2lDcUI7RUMvakNyQjs7O0F1QmdDQTtBQUFBO0FBQUE7QUFBQTtFQUVFOzs7QUEvQ0Y7RUFxREUsY3hCdWhDbUI7O0F3QjdnQ25CO0VBQ0UsY3hCNGdDaUI7RXdCdmdDZixZeEJ1Z0NlOzs7QXdCNWtDckI7RUF1RkUsY3hCcS9CbUI7O0F3QnorQm5CO0VBQ0UsY3hCdytCaUI7RXdCbitCZixZeEJtK0JlOzs7QXdCNWtDckI7RUF5SEUsY3hCbTlCbUI7O0F3Qmo5Qm5CO0VBQ0Usa0J4Qmc5QmlCOztBd0I3OEJuQjtFQUNFLFl4QjQ4QmlCOztBd0J6OEJuQjtFQUNFLE94Qnc4QmlCOzs7QXdCbjhCckI7RUFDRTs7O0FBMUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFvSk07OztBQWhJUjtFQUNFO0VBQ0E7RUFDQSxZeEJ1MEJvQztFSHJrQmxDLFdBTEk7RTJCMVBOLE94QmtqQ3FCOzs7QXdCL2lDdkI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0JxUEUsV0FMSTtFMkI3T04sT3hCcWlDcUI7RXdCcGlDckIsa0J4Qm9pQ3FCO0VDL2pDckI7OztBdUJnQ0E7QUFBQTtBQUFBO0FBQUE7RUFFRTs7O0FBL0NGO0VBcURFLGN4QnVoQ21COztBd0I3Z0NuQjtFQUNFLGN4QjRnQ2lCO0V3QnZnQ2YsWXhCdWdDZTs7O0F3QjVrQ3JCO0VBdUZFLGN4QnEvQm1COztBd0J6K0JuQjtFQUNFLGN4QncrQmlCO0V3Qm4rQmYsWXhCbStCZTs7O0F3QjVrQ3JCO0VBeUhFLGN4Qm05Qm1COztBd0JqOUJuQjtFQUNFLGtCeEJnOUJpQjs7QXdCNzhCbkI7RUFDRSxZeEI0OEJpQjs7QXdCejhCbkI7RUFDRSxPeEJ3OEJpQjs7O0F3Qm44QnJCO0VBQ0U7OztBQTFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBc0pNOzs7QUN4SlY7RUFFRTtFQUNBO0VBQ0E7RTVCdVJJLG9CQUxJO0U0QmhSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0U1QnNRSSxXQUxJO0U0Qi9QUjtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0V4QmpCRTtFZ0JmRixrQlFrQ3FCO0VUdEJqQixZU3dCSjs7QVRwQkk7RVNoQk47SVRpQlE7OztBU3FCTjtFQUNFO0VBRUE7RUFDQTs7QUFHRjtFQUVFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VSckRGLGtCUXNEdUI7RUFDckI7RUFDQTtFQUtFOztBQUlKO0VBQ0U7RUFDQTtFQUtFOztBQUlKO0VBS0U7RUFDQTtFQUdBOztBQUdBO0VBS0k7O0FBS047RUFLSTs7QUFJSjtFQUdFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQVlGO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEa0dBO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEa0dBO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FENEhBO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1HQTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEbUdBO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1HQTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEbUdBO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1HQTtFQ2hIQTtFQUNBO0VBQ0E7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QUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0E3Q25DTjtFNkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lyQzVCQSxZcUM4QkE7OztBckMxQkE7RXFDWUo7SXJDWE07OztBUnVESjtFNkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0E3QzVCSjtFNkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0E3Q25DTjtFNkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lyQzVCQSxZcUM4QkE7OztBckMxQkE7RXFDWUo7SXJDWE07OztBUnVESjtFNkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0E3QzVCSjtFNkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0E3Q25DTjtFNkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lyQzVCQSxZcUM4QkE7OztBckMxQkE7RXFDWUo7SXJDWE07OztBUnVESjtFNkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0E3QzVCSjtFNkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0E3Q25DTjtFNkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lyQzVCQSxZcUM4QkE7OztBckMxQkE7RXFDWUo7SXJDWE07OztBUnVESjtFNkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0E3QzVCSjtFNkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0FBL0VSO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckM1QkEsWXFDOEJBOztBckMxQkE7RXFDWUo7SXJDWE07OztBcUMyQkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBRUU7O0FBR0Y7RUFHRTs7O0FBMkJSO0VQcEhFO0VBQ0E7RUFDQTtFQUNBLFNuRGdiMEI7RW1EL2ExQjtFQUNBO0VBQ0Esa0JuRHU5QmtCOztBbURwOUJsQjtFQUFTOztBQUNUO0VBQVMsU25EbzlCYzs7O0EwRHQyQnpCO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FDakpGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFN0RGd6Q2tDOztBc0Q5eUNsQztFQUNFO0VBQ0E7OztBQUtKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUtBO0VBQ0U7OztBQUlKO0VBQ0U7SUFDRSxTdERteENnQzs7O0FzRC93Q3BDO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7OztBSDlDRjtFQUNFO0VBQ0E7RUFDQTs7O0FJSEY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FDRkY7RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBT1I7RUFDRTtFQUNBOztBQUdFO0VBRUU7RUFDQTs7O0FDMUJOO0VBQ0U7RUFFQTs7O0FDSEY7RUFDRTtFQUNBLEsxRDZjNEI7RTBENWM1QjtFQUNBO0VBQ0EsdUIxRDJjNEI7RTBEMWM1Qjs7QUFFQTtFQUNFO0VBQ0EsTzFEdWMwQjtFMER0YzFCLFExRHNjMEI7RTBEcmMxQjtFMUNJRSxZMENIRjs7QTFDT0U7RTBDWko7STFDYU07Ozs7QTBDREo7RUFDRTs7O0FDbkJOO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ3JCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUzVEdW1Da0M7OztBNERwbUNwQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUzVEK2xDa0M7OztBNER2bENoQztFQUNFO0VBQ0E7RUFDQSxTNURtbEM4Qjs7O0E0RGhsQ2hDO0VBQ0U7RUFDQTtFQUNBLFM1RDZrQzhCOzs7QVE5aUNoQztFb0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzVEbWxDOEI7O0U0RGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFM1RDZrQzhCOzs7QVE5aUNoQztFb0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzVEbWxDOEI7O0U0RGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFM1RDZrQzhCOzs7QVE5aUNoQztFb0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzVEbWxDOEI7O0U0RGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFM1RDZrQzhCOzs7QVE5aUNoQztFb0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzVEbWxDOEI7O0U0RGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFM1RDZrQzhCOzs7QVE5aUNoQztFb0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzVEbWxDOEI7O0U0RGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFM1RDZrQzhCOzs7QTZENW1DcEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDUkY7QUFBQTtFQ0lFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7QUFBQTtFQUNFOztBQUlGO0FBQUE7RUFDRTs7O0FDbkJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFNoRWdjc0M7RWdFL2J0Qzs7O0FDUko7RUNBRTtFQUNBO0VBQ0E7OztBQ05GO0VBQ0U7RUFDQTtFQUNBLE9uRWlzQjRCO0VtRWhzQjVCO0VBQ0E7RUFDQSxTeEVtYVc7OztBeUV6YWI7QUFBQTtBQThCQTtFQUVJO0VBQ0E7RUFEQTtFQUNBO0VBREE7RUFDQTtFQURBO0VBQ0E7RUFEQTtFQUNBO0VBREE7RUFDQTtFQURBO0VBQ0E7RUFEQTtFQUNBO0VBREE7RUFDQTtFQURBO0VBQ0E7RUFEQTtFQUNBO0VBREE7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7QUFIRjtFQUNFO0VBQ0E7RUFDQTs7O0F6RSt1QjZHO0EwRXZ4Qm5IO0FBQUE7QUF3N0JBO0VBQ0U7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFLGMxRS84Qkc7OztBMEVzOUJUO0VBRUU7OztBQU1BO0VBRUU7OztBQU9GO0VBRUU7OztBQU9GO0VBRUU7OztBQUtOO0VBQ0U7O0FBR0U7RUFFRTs7O0FBUUo7QUFBQTtFQUNFOzs7QUFRSjtFQUNFOztBN0RyK0JFO0U2RG8rQko7SUFJSTs7OztBQUlKO0VBQ0U7O0E3RDcrQkU7RTZENCtCSjtJQUlJOzs7O0FBS0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0VDMWpDRSxZQURzQjtFQUV0QixXQUZzQjtFQUd0QixhQUhzQjtFRDZqQ3RCO0VBQ0E7OztBQU1FO0VDbmtDRixZRHFrQ3VCO0VDcGtDdkIsV0Rva0N1QjtFQ25rQ3ZCLGFEbWtDdUI7OztBQUZyQjtFQ25rQ0YsWURxa0N1QjtFQ3BrQ3ZCLFdEb2tDdUI7RUNua0N2QixhRG1rQ3VCOzs7QUFGckI7RUNua0NGLFlEcWtDdUI7RUNwa0N2QixXRG9rQ3VCO0VDbmtDdkIsYURta0N1Qjs7O0FBRnJCO0VDbmtDRixZRHFrQ3VCO0VDcGtDdkIsV0Rva0N1QjtFQ25rQ3ZCLGFEbWtDdUI7OztBQUZyQjtFQ25rQ0YsWURxa0N1QjtFQ3BrQ3ZCLFdEb2tDdUI7RUNua0N2QixhRG1rQ3VCOzs7QUFGckI7RUNua0NGLFlEcWtDdUI7RUNwa0N2QixXRG9rQ3VCO0VDbmtDdkIsYURta0N1Qjs7O0FBRnJCO0VDbmtDRixZRHFrQ3VCO0VDcGtDdkIsV0Rva0N1QjtFQ25rQ3ZCLGFEbWtDdUI7OztBQUZyQjtFQ25rQ0YsWURxa0N1QjtFQ3BrQ3ZCLFdEb2tDdUI7RUNua0N2QixhRG1rQ3VCOzs7QUFGckI7RUNua0NGLFlEcWtDdUI7RUNwa0N2QixXRG9rQ3VCO0VDbmtDdkIsYURta0N1Qjs7O0FBRnJCO0VDbmtDRixZRHFrQ3VCO0VDcGtDdkIsV0Rva0N1QjtFQ25rQ3ZCLGFEbWtDdUI7OztBQUZyQjtFQ25rQ0YsWURxa0N1QjtFQ3BrQ3ZCLFdEb2tDdUI7RUNua0N2QixhRG1rQ3VCOzs7QUFGckI7RUNua0NGLFlEcWtDdUI7RUNwa0N2QixXRG9rQ3VCO0VDbmtDdkIsYURta0N1Qjs7O0FBRnJCO0VDbmtDRixZRHFrQ3VCO0VDcGtDdkIsV0Rva0N1QjtFQ25rQ3ZCLGFEbWtDdUI7OztBQUZyQjtFQ25rQ0YsWURxa0N1QjtFQ3BrQ3ZCLFdEb2tDdUI7RUNua0N2QixhRG1rQ3VCOzs7QUFGckI7RUNua0NGLFlEcWtDdUI7RUNwa0N2QixXRG9rQ3VCO0VDbmtDdkIsYURta0N1Qjs7O0FBRnJCO0VDbmtDRixZRHFrQ3VCO0VDcGtDdkIsV0Rva0N1QjtFQ25rQ3ZCLGFEbWtDdUI7OztBQUZyQjtFQ25rQ0YsWURxa0N1QjtFQ3BrQ3ZCLFdEb2tDdUI7RUNua0N2QixhRG1rQ3VCOzs7QUFGckI7RUNua0NGLFlEcWtDdUI7RUNwa0N2QixXRG9rQ3VCO0VDbmtDdkIsYURta0N1Qjs7O0FBRnJCO0VDbmtDRixZRHFrQ3VCO0VDcGtDdkIsV0Rva0N1QjtFQ25rQ3ZCLGFEbWtDdUI7OztBQUZyQjtFQ25rQ0YsWURxa0N1QjtFQ3BrQ3ZCLFdEb2tDdUI7RUNua0N2QixhRG1rQ3VCOzs7QUFNdkI7RUFFRTtFQUNBO0VBQ0E7OztBQUtGO0VBRUU7RUFDQTtFQUNBOzs7QUFLRjtFQUVFO0VBQ0E7RUFDQTs7O0FBS0Y7RUFFRTtFQUNBO0VBQ0E7OztBQUtGO0VBRUU7RUFDQTtFQUNBOzs7QUFNSjtFQUNFO0VBQ0E7OztBQUlBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBRTNwQ0o7QUFDQTtFQUVFO0VBRUE7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU9FO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7O0FBSUo7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBR0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBSUE7RUFDQTs7O0FBSUY7RUFLSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBekV2REE7RXlFNkRBO0VBR0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOzs7QUFJSjtBQUFBO0FBRUE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFFRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDekhGO0FBRUE7QUFBQTtBQUdJOztBQUNBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFtRUE7RUFDQTs7QUFsRUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBOztBQUlGO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0VBQ0U7RUFDQTs7QUFJRjtBQUFBO0VBQ0U7RUFDQTs7QUFJRjtBQUFBO0VBQ0U7RUFDQTs7QUFHQTtBQUFBO0VBQ0U7RUFDQTs7QUFFRjtBQUFBO0VBQ0U7RUFDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlFOztBQVNKO0FBQUE7RUFDRTs7QUFJRjtBQUFBO0VBQ0U7RUFDQTs7QUFFRjtBQUFBO0VBQ0U7O0FBQ0E7QUFBQTtFQUNFOztBQUtKO0FBQUE7RUFDRTtFQUNBOztBQUlGO0FBQUE7RUFDRTs7QUFJRjtBQUFBO0VBQ0U7O0FBSUY7QUFBQTtFQUNFOztBQUlGO0FBQUE7RUFDRTs7QUFJRjtBQUFBO0VBQ0U7O0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFRRTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0VBQ0U7RUFDQTs7QUFJRjtBQUFBO0VBQ0U7RUFDQTs7QUFDQTtB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R0Y7QUFDQTtBQUFBO0VBRUU7OztBQUdGO0FBRUE7QUFBQTtBQUFBO0FBSUU7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXJFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBckVGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFyRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXJFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBckVGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFyRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXJFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBckVGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFyRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXJFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBckVGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFyRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXJFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBckVGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFyRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXJFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBckVGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFyRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXJFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBckVGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtBQWVNO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBRkY7RUFDRTtFQUNBOztBQUZGO0VBQ0U7RUFDQTs7QUFGRjtFQUNFO0VBQ0E7O0FBWkY7RUFFSTtFQUNBO0VBQ0E7RUFD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Q0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBM0JGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUEzQkY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQTNCRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBM0JGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUEzQkY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQTNCRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBM0JGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7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O0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXZCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXZCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXZCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXZCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXZCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXZCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzNGSjtBQUFBO0FBR0E7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0UxRUZFO0VBQ0E7O0EwRUlGO0UxRVpFO0VBQ0E7OztBMEVnQko7QUFBQTtBQUlFO0VoRmlCQTs7QWdGYkE7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FDdENKO0FBQUE7QUFHQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFFRjtFQUNFOztBQUVGO0VBQ0UsbUJ2RzIvQndCOztBdUd6L0IxQjtFQUNFOztBMUZ3Q0E7RTBGekNGO0lBR0k7OztBQUtKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqR3BDSjs7QWlHMENGO0VBQ0U7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBWUU7O0FBRUY7RUFHRTs7QUFHSjtFQUNFOzs7QUFJSjtBQUFBO0FBSUU7RUFDRTs7QUFPSTtFakdqRko7RXNCTkE7RUFDQTs7QTJFMkZJO0VqR3RGSjtFaUd3Rk07RTNFckdOO0VBQ0E7O0Fmd0RBO0UwRnFETTtJakdqR047SXNCTkE7SUFDQTs7RTJFMkdNO0lqR3RHTjtJaUd3R1E7STNFckhSO0lBQ0E7OztBZndEQTtFMEZzRU07SWpHbEhOO0lzQk5BO0lBQ0E7O0UyRTRITTtJakd2SE47SWlHeUhRO0kzRXRJUjtJQUNBOzs7QWZ3REE7RTBGdUZNO0lqR25JTjtJc0JOQTtJQUNBOztFMkU2SU07SWpHeElOO0lpRzBJUTtJM0V2SlI7SUFDQTs7O0Fmd0RBO0UwRndHTTtJakdwSk47SXNCTkE7SUFDQTs7RTJFOEpNO0lqR3pKTjtJaUcySlE7STNFeEtSO0lBQ0E7OztBZndEQTtFMEZ5SE07SWpHcktOO0lzQk5BO0lBQ0E7O0UyRStLTTtJakcxS047SWlHNEtRO0kzRXpMUjtJQUNBOzs7O0EyRW1NQTtFQUNFOzs7QUFRSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFQRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUMxTko7QUFBQTtBQUdBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFLFd4R29WYTs7O0F3R2pWZjtFQUNFLFN4R3dhYTtFd0d2YWI7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7O0FBQ0E7RUFDRTs7O0FBSUo7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFOzs7QXJHM0JFO0VxR2dDQTs7QUFHSTtFQUNFOzs7QUFPVjtBQUdJO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQy9ETjtBQUFBO0FBR0E7QUFDQTtFQUNFOzs7QUFHRjtBQTJDRTtBQWNBO0FBQUE7O0FBeERBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW5HR0E7RWVIRSxZb0ZFRjtBQUVBOztBcEZBRTtFb0ZYSjtJcEZZTTs7O0FvRkFKO0VBR0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBLG1CekdvNkJnQjtFeUduNkJoQjs7QUFLSjtFQUNFLFN6R2s3Qm1COztBeUdqN0JuQjtFQUNFOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7QUFVSjtBQUFBO0VBQ0U7RUFDQTs7QUFDQTtBQUFBO0VBQ0U7OztBQUtSO0FBQUE7RUFFRTs7QUFFQTtBQUFBO0FBQUE7RUFFRTs7O0FBSUo7QUFBQTtBQUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsU3BHOGtEeUI7O0FvRzVrRHpCO0VBQ0UsU3BHNGtEdUI7O0FvR3prRDNCO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlGO0VBQ0U7O0FBQ0E7RUFDRTs7QUFJSjtBQUFBO0VBRUU7RUFDQTs7QUFDQTtBQUFBO0VBQ0U7O0FBSUo7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7O0FBR0o7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFNTjtBQUFBO0FBSUU7RUFDRTs7QUFHRjtFbkd6SUU7RUFDQTs7O0FtRzZJSjtBQUFBO0FBSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0Esa0JBQ0U7RUFLRjtFQUNBO0VBQ0Esa0J6RzB3QmtCO0V5R3R3QmxCO0VBQ0EsZXBHNjlDeUI7RW9HNTlDekIsZ0JwRzQ5Q3lCOztBb0dqK0N6QjtFQUNFOztBQUtGO0VBQ0U7OztBQUtOO0FBQUE7QUFJRTtFQUNFLFN6R3l4Qm1COztBYXY2Qm5CO0U0RjZJRjtJQUdJOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFOztBNUZ6SkY7RTRGb0pGO0lBVUk7SUFDQTs7RUFDQTtJQUNFOzs7O0FBTVI7QUFFRTtFQUNFO0VBQ0E7RUFDQTtFbkdyT0E7RW1HdU9BO0VBQ0E7O0FBRUE7RTlCaFBGLFk4QmlQdUI7RTlCaFB2QixXOEJnUHVCO0U5Qi9PdkIsYThCK091Qjs7O0FBS3pCO0FBRUU7RUFDRTs7QUFFRjtFQUNFOzs7QUFJSjtBNUZqTUk7RTRGb01BO0lBQ0U7Ozs7QUFLTjtBQUFBO0FBR0E7QUFDQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFDQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBNUZuT0k7RTRGdU9GO0lBQ0U7OztBNUZ4T0E7RTRGOE9BO0lBQ0U7SUFDQTs7RUFHRjtBQUFBO0lBRUU7OztBNUZsUUY7RTRGd1FGO0lBQ0U7O0VBR0Y7SUFDRSxpQnpHK3BCTzs7O0FhNTZCUDtFNEZrUkY7SUFDRSxpQnBHNHFDZ0M7OztBb0d4cUNwQztBQUFBO0FBSUk7RUFDRTtFQUNBOzs7QUFLTjtBQUFBO0FBSUU7RUFDRTs7O0FDdFdKO0FBQUE7QUFJQTtBQUNBO0VBQ0U7OztBQUdGO0VBQ0UsWTFHKzRCbUI7RTBHOTRCbkIsYTFHOFZtQjs7O0EwR3hWakI7QUFBQTtFQUNFOztBQUVGO0FBQUE7RUFDRTs7QUFFRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOzs7QUFLTjtBQUFBO0FBSUk7RUFDRTs7O0FBS047QUFBQTtBQVFRO0VBQ0U7RUFDQTtFQUNBOztBQU9GO0VBQ0U7RUFDQTtFQUNBOzs7QUFVUjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUM1RUo7QUFBQTtBQUdBO0VBQ0U7OztBQUVGO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBOztBQUVGO0VBQ0U7OztBQUdKO0VBQ0U7RUFDQTs7QUFDQTtFQUNFOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7QUFHQTtFQUNFLFczR3VWVztFMkd0Vlg7O0FBS0Y7RUFDRSxxQjNHb0dLOztBMkdsR1A7RUFDRTs7QUFJQTtFQUNFOztBQUlFO0VBQ0U7RUFDQTs7QUFHSjtFQUNFOztBQUtKO0VBQ0U7OztBQUtOO0FBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7OztBQUlKO0FBQUE7QUFLSTtFQUNFOzs7QUFTRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQWhCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBSUY7RUFFRTtFQUNBOztBQUVGO0VBQ0U7OztBQzNHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFZRSxPNUdWRTs7O0E0R21CSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFZRSxPNUc5QkU7OztBNEdvQ047RUFFRSxPNUd2Q0k7OztBNkdSUjtBQUVBO0FBQ0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUlFO0FBQUE7RUFFRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtJQUNFOzs7QUFJSjtBQUVFO0VBQ0U7OztBQ25DSjtBQUFBO0FBR0E7RUFDRTs7QUFFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0U7O0FBRUY7RUFDRTs7O0FBT0Y7RUFDRTs7QUFFRjtFQUNFOzs7QUFRQTtFM0RsQ0Y7RUFDQTtFQUNBO0VBQ0EsU25EZ2IwQjtFbUQvYTFCO0VBQ0E7RUFDQSxrQjZCZ051Qjs7QTdCN012QjtFQUFTOztBQUNUO0VBQVMsUzZCNk1tQjs7O0ErQnRONUI7RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUVFOztBQU1BO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBWE47RUFDRTtFQUlFOztBQUlBO0VBQ0U7RUFDQTs7O0FBU0Y7RUFFSTs7QUN5Q0Y7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQXJCSjtBQWNBO0VBT0k7RUFBQTs7O0FBbUJKO0FBMUJBO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQWpCSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFJSjtFQU9JOzs7QUFLRjtFQU9JOzs7QUFuQk47RUFPSTs7O0FBS0Y7RUFPSTs7O0FBbkJOO0VBT0k7OztBQUtGO0VBT0k7OztBQW5CTjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQWpCSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFJSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBbkdWUjtFbUdHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QW5HVlI7RW1HR0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0FuR1ZSO0VtR0dJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBbkdWUjtFbUdHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QW5HVlI7RW1HR0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0FDdERaO0VEK0NRO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0FDbkNaO0VENEJRO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBaEg4c0J1RztBa0hub0JwRjtBQ3BKL0I7QUFBQTtFQUVFO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDMUNGO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNB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RTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFDQTtFQUVFOztBQUVGO0VBQ0U7O0FBRUY7RUFFRTs7QUFHSjtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtBQUVFO0VBVUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQWhCSjtFQVVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFoQko7RUFVSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBaEJKO0VBVUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQWhCSjtFQVVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFoQko7RUFVSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBaEJKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFQSjtFQVVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFoQko7RUFVSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTU47QUFLTTtFQUVJO0VBQ0EiLCJmaWxlIjoidmVuZG9yL3Njc3MvY29yZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWl4aW4gYnNCYW5uZXIoJGZpbGUpIHtcbiAgLyohXG4gICAqIEJvb3RzdHJhcCAjeyRmaWxlfSB2NS4zLjcgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gICAqIENvcHlyaWdodCAyMDExLTIwMjUgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICAgKi9cbn1cbiIsIi8vIFZhcmlhYmxlcyAtIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG4vLyAoQykgQ3VzdG9tIHZhcmlhYmxlcyBmb3IgZXh0ZW5kZWQgY29tcG9uZW50cyBvZiBib290c3RyYXAgb25seVxuXG4vLyBDb2xvciBzeXN0ZW1cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogIzJmMmIzZCAhZGVmYXVsdDtcbiRwdXJlLWJsYWNrOiAjMDAwICFkZWZhdWx0OyAgLy8gKEMpXG4kcHVyZS1ibGFjay1yZ2I6ICN7dG8tcmdiKCRwdXJlLWJsYWNrKX0gIWRlZmF1bHQ7ICAvLyAoQylcblxuLy8gSW5zdGVhZCBvZiB1c2luZyBhIGNhcmQgYmcsIHVzZSBhIHBhcGVyIGJnLlxuJHBhcGVyLWJnOiAjZmZmICFkZWZhdWx0OyAvLyAoQylcbiRwYXBlci1iZy1yZ2I6ICN7dG8tcmdiKCRwYXBlci1iZyl9ICFkZWZhdWx0OyAvLyAoQylcbiRiYXNlLXJnYjogI3t0by1yZ2IoJGJsYWNrKX0gIWRlZmF1bHQ7IC8vIChDKVxuXG4kZ3JheS0yNTogI2ZjZmNmYyAhZGVmYXVsdDsgLy8gKEMpXG4kZ3JheS01MDogI2YzZjJmMyAhZGVmYXVsdDsgLy8gKEMpXG4kZ3JheS03NTogI2VlZWVlZiAhZGVmYXVsdDsgLy8gKEMpXG4kZ3JheS0xMDA6ICNlYWVhZWMgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlNmU2ZTggIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNjMWJmYzUgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNhY2FhYjEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICM5Nzk1OWUgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM4MjgwOGIgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM2ZDZiNzcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICM1OTU1NjQgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICM0NDQwNTAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gIFwiMjVcIjogJGdyYXktMjUsXG4gIFwiNTBcIjogJGdyYXktNTAsXG4gIFwiNzVcIjogJGdyYXktNzUsXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICM3MzY3ZjAgIWRlZmF1bHQ7XG4kcGluazogI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICNmZjRjNTEgIWRlZmF1bHQ7XG4kb3JhbmdlOiAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmOWY0MyAhZGVmYXVsdDtcbiRncmVlbjogIzI4Yzc2ZiAhZGVmYXVsdDtcbiR0ZWFsOiAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICMwMGJhZDEgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLyN2aXN1YWwtYXVkaW8tY29udHJhc3QtY29udHJhc3RcblxuJG1pbi1jb250cmFzdC1yYXRpbzogMS43ICFkZWZhdWx0O1xuXG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1kYXJrOiAkcHVyZS1ibGFjayAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAjODA4MzkwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogI2RmZGZlMyAhZGVmYXVsdDtcbiRkYXJrOiAjMmYzMzQ5ICFkZWZhdWx0O1xuJGdyYXk6ICRncmF5LTUwMCAhZGVmYXVsdDsgLy8gKEMpXG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICRpbmZvLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICRkYW5nZXIsXG4gIFwibGlnaHRcIjogJGxpZ2h0LFxuICBcImRhcmtcIjogJGRhcmssXG4gIFwiZ3JheVwiOiAkZ3JheVxuKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbiRiZy1sYWJlbC10aW50LWFtb3VudDogODQlICFkZWZhdWx0OyAvLyAoQylcbiRib3JkZXItc3VidGxlLWFtb3VudDogNjElICFkZWZhdWx0OyAvLyAoQylcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogdGludC1jb2xvcigkcHJpbWFyeSwgJGJnLWxhYmVsLXRpbnQtYW1vdW50KSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksICRiZy1sYWJlbC10aW50LWFtb3VudCkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6IHRpbnQtY29sb3IoJHN1Y2Nlc3MsICRiZy1sYWJlbC10aW50LWFtb3VudCkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6IHRpbnQtY29sb3IoJGluZm8sICRiZy1sYWJlbC10aW50LWFtb3VudCkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6IHRpbnQtY29sb3IoJHdhcm5pbmcsICRiZy1sYWJlbC10aW50LWFtb3VudCkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogdGludC1jb2xvcigkZGFuZ2VyLCAkYmctbGFiZWwtdGludC1hbW91bnQpICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlOiB0aW50LWNvbG9yKCRkYXJrLCAkYmctbGFiZWwtdGludC1hbW91bnQpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRwcmltYXJ5LCAkYm9yZGVyLXN1YnRsZS1hbW91bnQpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksICRib3JkZXItc3VidGxlLWFtb3VudCkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzdWNjZXNzLCAkYm9yZGVyLXN1YnRsZS1hbW91bnQpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkaW5mbywgJGJvcmRlci1zdWJ0bGUtYW1vdW50KSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJvcmRlci1zdWJ0bGU6IHRpbnQtY29sb3IoJHdhcm5pbmcsICRib3JkZXItc3VidGxlLWFtb3VudCkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6IHRpbnQtY29sb3IoJGRhbmdlciwgJGJvcmRlci1zdWJ0bGUtYW1vdW50KSAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6IHRpbnQtY29sb3IoJGRhcmssICRib3JkZXItc3VidGxlLWFtb3VudCkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKChcIjxcIiwgXCIlM2NcIiksIChcIj5cIiwgXCIlM2VcIiksIChcIiNcIiwgXCIlMjNcIiksIChcIihcIiwgXCIlMjhcIiksIChcIilcIiwgXCIlMjlcIikpICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtbmVnYXRpdmUtbWFyZ2luczogdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuJHByZWZpeDogYnMtICFkZWZhdWx0O1xuXG4vLyBTcGFjaW5nXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gIDA6IDAsXG4gIDUwOiAkc3BhY2VyICogLjEyNSxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMV81OiAkc3BhY2VyICogLjM3NSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyICogLjc1LFxuICA0OiAkc3BhY2VyLFxuICA1OiAkc3BhY2VyICogMS4yNSxcbiAgNjogJHNwYWNlciAqIDEuNSxcbiAgNzogJHNwYWNlciAqIDEuNzUsXG4gIDg6ICRzcGFjZXIgKiAyLFxuICA5OiAkc3BhY2VyICogMi4yNSxcbiAgMTA6ICRzcGFjZXIgKiAyLjUsXG4gIDExOiAkc3BhY2VyICogMi43NSxcbiAgMTI6ICRzcGFjZXIgKiAzXG4pICFkZWZhdWx0O1xuJHNpemVzLXB4OiAoXG4gIHB4LTE0OiAxNHB4LFxuICBweC0xODogMThweCxcbiAgcHgtMjA6IDIwcHgsXG4gIHB4LTMwOiAzMHB4LFxuICBweC00MDogNDBweCxcbiAgcHgtNDQ6IDQ0cHgsXG4gIHB4LTUwOiA1MHB4LFxuICBweC01MjogNTJweCxcbiAgcHgtNzU6IDc1cHgsXG4gIHB4LTgwOiA4MHB4LFxuICBweC0xMDA6IDEwMHB4LFxuICBweC0xMjA6IDEyMHB4LFxuICBweC0xMzA6IDEzMHB4LFxuICBweC0xNTA6IDE1MHB4LFxuICBweC0xNjA6IDE2MHB4LFxuICBweC0yMDA6IDIwMHB4LFxuICBweC0yNTA6IDI1MHB4LFxuICBweC0zMDA6IDMwMHB4LFxuICBweC0zNTA6IDM1MHB4LFxuICBweC00MDA6IDQwMHB4LFxuICBweC01MDA6IDUwMHB4LFxuICBweC02MDA6IDYwMHB4LFxuICBweC03MDA6IDcwMHB4LFxuICBweC04MDA6IDgwMHB4LFxuICBhdXRvOiBhdXRvXG4pICFkZWZhdWx0OyAvLyAoQylcbiRpY29uLXNpemVzOiAoXG4gIDZweDogNnB4LFxuICA4cHg6IDhweCxcbiAgMTBweDogMTBweCxcbiAgMTJweDogMTJweCxcbiAgMTRweDogMTRweCxcbiAgMTZweDogMTZweCxcbiAgMThweDogMThweCxcbiAgMjBweDogMjBweCxcbiAgMjJweDogMjJweCxcbiAgMjRweDogMjRweCxcbiAgMjZweDogMjZweCxcbiAgMjhweDogMjhweCxcbiAgMzBweDogMzBweCxcbiAgMzJweDogMzJweCxcbiAgMzZweDogMzZweCxcbiAgNDBweDogNDBweCxcbiAgNDJweDogNDJweCxcbiAgNDZweDogNDZweCxcbiAgNDhweDogNDhweCxcbiAgNTBweDogNTBweFxuKSAhZGVmYXVsdDsgLy8gKEMpXG5cblxuLy8gSWNvbiBzaXppbmdcbiRpY29uLXNpemUteHM6IDFyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGljb24tc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaWNvbi1zaXplLXNtOiAxLjEyNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaWNvbi1zaXplLW1kOiAxLjM3NXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaWNvbi1zaXplLWxnOiAxLjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGljb24tc2l6ZS14bDogMnJlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIEJvZHlcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYm9keS1jb2xvcjogJGdyYXktNzAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICNmOGY3ZmEgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICRncmF5LTQwMCAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1jb2xvci1ob3ZlcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0OyAvLyAoQylcblxuJGJvZHktdGVydGlhcnktY29sb3I6IHJnYmEoJGJvZHktY29sb3IsIC41KSAhZGVmYXVsdDtcbiRib2R5LXRlcnRpYXJ5LWJnOiAkbGlnaHQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxpZ2h0OiAkZ3JheS00MDAgIWRlZmF1bHQ7IC8vIChDKVxuJHRleHQtbGlnaHRlcjogJGdyYXktMzAwICFkZWZhdWx0OyAvLyAoQylcbiR0ZXh0LWxpZ2h0ZXN0OiAkZ3JheS0yMDAgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBMaW5rc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIFRPRE86IENoZWNrSW5CUzYgKC0tI3skcHJlZml4fWN1c3RvbS1saW5rLWNvbG9yKSBBIENTUyB2YXJpYWJsZSB3YXMgbm90IGJlaW5nIHVzZWQsIGJ1dCBpbnN0ZWFkLCBhIGNvbWJpbmF0aW9uIG9mIEJvb3RzdHJhcCdzIHRvLXJnYiBhbmQgb3RoZXIgZnVuY3Rpb25zIHdlcmUgYXBwbGllZC4gVG8gYWRkcmVzcyB0aGlzLCBhIG5ldyB2YXJpYWJsZSB3YXMgY3JlYXRlZCB3aGVyZXZlciBpdCB3YXMgdXNlZC5cbiRsaW5rLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAxMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbnVsbCAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIFN0eWxlIHAgZWxlbWVudC5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8gR3JpZFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29udGFpbmVyLW1heC13aWR0aHNcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4LFxuICB4eGw6IDE0NDBweCAvLyBDdXN0b20geHhsIHNpemVcbikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgY29udGFpbmVyLW1heC13aWR0aHNcblxuLy8gR3JpZCBjb2x1bW5zIC0gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBDb250YWluZXIgcGFkZGluZ1xuXG4kY29udGFpbmVyLXBhZGRpbmcteDogMS41cmVtICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLXgtc206IDFyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGNvbnRhaW5lci1wYWRkaW5nLXk6IDEuNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIENvbXBvbmVudHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWdyYXktMjAwKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6IC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14czogLjEyNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kYm9yZGVyLXJhZGl1cy1zbTogLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6IC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6IC42MjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6IDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1waWxsOiA1MHJlbSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAwIC4xODc1cmVtIC43NXJlbSAwIHJnYmEoJGJsYWNrLCAuMTQpICFkZWZhdWx0O1xuJGJveC1zaGFkb3cteHM6IDAgLjA2MjVyZW0gLjM3NXJlbSAwIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogMCAuMTI1cmVtIC41cmVtIDAgcmdiYSgkYmxhY2ssIC4xMikgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogMCAuMjVyZW0gMS4xMjVyZW0gMCByZ2JhKCRibGFjaywgLjE2KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXhsOiAwIC4zMTI1cmVtIDEuODc1cmVtIDAgcmdiYSgkYmxhY2ssIC4xOCkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH13aGl0ZSkgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7IC8vIChDKVxuJGNvbXBvbmVudC1ob3Zlci1iZzogcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMTYpICFkZWZhdWx0OyAvLyAoQylcblxuJGNvbXBvbmVudC1saW5lLWhlaWdodDogMS41NCAhZGVmYXVsdDsgLy8gKEMpXG4kY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aDogMnB4ICFkZWZhdWx0OyAvLyAoQylcblxuJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0OyAvLyAoQylcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAwIC4zMXJlbSAxLjI1cmVtIDAgJGdyYXktNDAwICFkZWZhdWx0OyAvLyAoQykgdXNlZCBmb3IgbW9kYWwgYW5kIHJhbmdlXG5cbiRmb2N1cy1yaW5nLXdpZHRoOiAuMTVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAuNzUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogcmdiYSgkZ3JheS03MDAsICRmb2N1cy1yaW5nLW9wYWNpdHkpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6IC41NWVtICFkZWZhdWx0O1xuJGNhcmV0LWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0OyAvLyAoQylcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6IC41ZW0gIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbi8vIFR5cG9ncmFwaHlcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOlxuICBcIlB1YmxpYyBTYW5zXCIsXG4gIC1hcHBsZS1zeXN0ZW0sXG4gIGJsaW5rbWFjc3lzdGVtZm9udCxcbiAgXCJTZWdvZSBVSVwiLFxuICBcIk94eWdlblwiLFxuICBcIlVidW50dVwiLFxuICBcIkNhbnRhcmVsbFwiLFxuICBcIkZpcmEgU2Fuc1wiLFxuICBcIkRyb2lkIFNhbnNcIixcbiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLFxuICBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBnZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZiAhZGVmYXVsdDsgLy8gKEMpXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBcIlNGTW9uby1SZWd1bGFyXCIsIG1lbmxvLCBtb25hY28sIGNvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgZWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MgYW5kIG1hcmdpbnMgJGZvbnQtc2l6ZS1iYXNlIGVmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6IDE2cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6IC45Mzc1cmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUteHM6IC42ODc1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRmb250LXNpemUtc206IC44MTI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogMXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteGw6IDEuMTg3NXJlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRmb250LXdlaWdodC1saWdodGVyOiBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbWVkaXVtOiA1MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtZXh0cmFib2xkOiA4MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiBib2xkZXIgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjM3NSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14czogMSAhZGVmYXVsdDsgLy8gKEMpXG4kbGluZS1oZWlnaHQtc206IDEuMTI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAxLjYyNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14bDogMS43NSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRoMS1mb250LXNpemU6IDIuODc1cmVtICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMi4zNzVyZW0gIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjc1cmVtICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMS4xMjVyZW0gIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoMS1saW5lLWhlaWdodDogNC4yNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaDItbGluZS1oZWlnaHQ6IDMuNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaDMtbGluZS1oZWlnaHQ6IDIuNjI1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRoNC1saW5lLWhlaWdodDogMi4zNzVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGg1LWxpbmUtaGVpZ2h0OiAxLjc1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRoNi1saW5lLWhlaWdodDogMS4zNzVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAkc3BhY2VyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjM3ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDQuNzVyZW0sXG4gIDI6IDQuMzc1cmVtLFxuICAzOiAzLjg3NXJlbSxcbiAgNDogMy4zNzVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNjI1cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG5cbiRsZWFkLWZvbnQtc2l6ZTogJHNwYWNlciAqIDEuMTI1ICFkZWZhdWx0O1xuXG4kdGlueS1mb250LXNpemU6IDcwJSAhZGVmYXVsdDsgLy8gKEMpXG4kc21hbGwtZm9udC1zaXplOiAuODEyNXJlbSAhZGVmYXVsdDtcbiRiaWctZm9udC1zaXplOiAxMTIlICFkZWZhdWx0OyAvLyAoQylcbiRsYXJnZS1mb250LXNpemU6IDE1MCUgIWRlZmF1bHQ7IC8vIChDKVxuJHhsYXJnZS1mb250LXNpemU6IDE3MCUgIWRlZmF1bHQ7IC8vIChDKVxuJHh4bGFyZ2UtZm9udC1zaXplOiA2cmVtICFkZWZhdWx0OyAvLyAoQykgVGhpcyBzaXplIGlzIHVzZWQgZm9yIG1pc2MgcGFnZXNcblxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogMSAhZGVmYXVsdDtcbiRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yOiAkaHItY29sb3IgIWRlZmF1bHQ7IC8vIChDKVxuXG4kZHQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW0gIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgdHlwZS12YXJpYWJsZXNcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiR6aW5kZXgtbWVudS1maXhlZDogMTA4MCAhZGVmYXVsdDsgLy8gKEMpXG4kemluZGV4LW9mZmNhbnZhczogMTA5MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAkemluZGV4LW9mZmNhbnZhcyAtIDEgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAxMDkwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogJHppbmRleC1tb2RhbCAtIDEgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6IDEwOTEgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6IDEwOTkgIWRlZmF1bHQ7XG4kemluZGV4LXRvYXN0OiAxMDk1ICFkZWZhdWx0O1xuJHppbmRleC1sYXlvdXQtbW9iaWxlOiAxMTAwICFkZWZhdWx0OyAvLyAoQylcbiR6aW5kZXgtbm90aWZpY2F0aW9uOiA5OTk5OTkgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogMyxcbiAgNDogNCxcbiAgNTogNVxuKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG4vLyBUYWJsZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtaGVhZC1wYWRkaW5nLXk6IDEuMTYxcmVtICFkZWZhdWx0OyAvLyAoQylcbiR0YWJsZS1oZWFkLXBhZGRpbmcteS1zbTogMS4xMTRyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAuNzgycmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAxLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAuNTk0cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAkdGFibGUtY2VsbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1jb2xvcjogJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0OyAvLyAoQylcbiR0YWJsZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1iZy1mYWN0b3I6IC4wNiAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3Rvci1hbW91bnQ6IDQ3JSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiByZ2JhKHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAuMDggIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnLWZhY3Rvci1hbW91bnQ6IDMyLjUlICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6IC4wNiAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3ItYW1vdW50OiA0NiUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6IHJnYmEoJGJsYWNrLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6IC4xMiAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItZmFjdG9yLWFtb3VudDogODglICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogZXZlbiAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6IC42cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6IC4wNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogLjEgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6IC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhzOiAuMTc1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1idG4tcGFkZGluZy14LXhzOiAuNzVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGlucHV0LWJ0bi1mb250LXNpemUteHM6ICRmb250LXNpemUteHMgIWRlZmF1bHQ7IC8vIChDKVxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC14czogJGxpbmUtaGVpZ2h0LXhzICFkZWZhdWx0OyAvLyAoQylcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206IC40MXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAuODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206IC44MTI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0OyAvLyAoQylcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6IC44NHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAxLjYyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAxLjA2MjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7IC8vIChDKVxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS14bDogLjg3NXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLXBhZGRpbmcteC14bDogMS43NXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS14bDogJGZvbnQtc2l6ZS14bCAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsOiAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBCdXR0b25zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGJ0bi1wYWRkaW5nLXk6IC40ODEycmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAuMzE3cmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206IC44NzVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAuNzA4cmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6IDEuNjI1cmVtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS14czogLjE1M3JlbSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLXBhZGRpbmcteC14czogJGlucHV0LWJ0bi1wYWRkaW5nLXgteHMgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1mb250LXNpemUteHM6ICRpbnB1dC1idG4tZm9udC1zaXplLXhzICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi1wYWRkaW5nLXkteGw6IC44MDlyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1wYWRkaW5nLXgteGw6IDEuNzVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1mb250LXNpemUteGw6ICRmb250LXNpemUteGwgIWRlZmF1bHQ7IC8vIChDKVxuXG4kYnRuLWxpbmUtaGVpZ2h0LXhzOiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxpbmUtaGVpZ2h0LXhsOiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRidG4tZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogLjQ1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItcmFkaXVzLXhzOiAkYm9yZGVyLXJhZGl1cy14cyAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWJvcmRlci1yYWRpdXMteGw6ICRib3JkZXItcmFkaXVzLXhsICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogMTAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50OiAxMCUgIWRlZmF1bHQ7XG5cbiRidG4tbGFiZWwtdGludC1hbW91bnQ6IHZhcigtLSN7JHByZWZpeH1iZy1sYWJlbC10aW50LWFtb3VudCkgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1sYWJlbC1hY3RpdmUtc2hhZGUtYW1vdW50OiA3NiUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1sYWJlbC1ib3JkZXItdGludC1hbW91bnQ6IDYwJSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRidG4tb3V0bGluZS10aW50LWFtb3VudDogOTIlICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi10ZXh0LWhvdmVyLXNoYWRlLWFtb3VudDogOCUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi10ZXh0LWhvdmVyLXRpbnQtYW1vdW50OiA5MiUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi10ZXh0LWFjdGl2ZS1zaGFkZS1hbW91bnQ6IDglICFkZWZhdWx0OyAvLyAoQylcbiRidG4tdGV4dC1hY3RpdmUtdGludC1hbW91bnQ6IDkyJSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIEZvcm1zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTogLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAuNDI2cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogLjkzNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAuMjE1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogLjc1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAuNTc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogJHNwYWNlciAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6IDEuMDYyNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6IHZhcigtLSN7JHByZWZpeH1ncmF5LTUwKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9YmFzZS1jb2xvcikgMjQlLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpKSAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDIyJSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Z3JheS02MDApICFkZWZhdWx0OyAvLyAoQylcblxuJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6IDAgLjEyNXJlbSAuMzc1cmVtIDAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcblxuXG4kYXV0b3ppc2UtbWluLWhlaWdodDogNS4zMTI1cmVtICFkZWZhdWx0OyAvLyAoQylcblxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAxLjJlbSAhZGVmYXVsdDtcbiRmb3JtLWRhdGF0YWJsZXMtY2hlY2staW5wdXQtc2l6ZTogMS4xMjVyZW0gIWRlZmF1bHQ7IC8vIChDKSBGb3IgZGF0YXRhYmxlcyB3aXRoIGNoZWNrYm94LSB1cGRhdGUgYWNjb3JkaW5nIHRvICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoXG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAqIDEuMDY3ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAuMjY3ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTUnIGhlaWdodD0nMTcnIHZpZXdCb3g9JzAgMCAxNSAxNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00zLjQxNjY3IDdMNi4zMzMzMyA5LjkxNjY3TDEyLjE2NjcgNC4wODMzMycgc3Ryb2tlPScjeyR3aGl0ZX0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPScxLjYnIGZpbGw9JyN7JHdoaXRlfScgIC8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNkg5LjUnIHN0cm9rZT0nI3skd2hpdGV9JyBzdHJva2Utd2lkdGg9JzEuMycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAuNDUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1iZzogdmFyKC0tI3skcHJlZml4fWdyYXktMzAwKSAhZGVmYXVsdDsgLy8gKEMpXG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC13aWR0aDogMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICRmb3JtLXN3aXRjaC13aWR0aCArIC42NjdlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB3aWR0aD0nMjInIGhlaWdodD0nMjInIHZpZXdCb3g9JzAgMCAyMiAyMicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2cgZmlsdGVyPSd1cmwoJTIzYSknJTNlJTNjY2lyY2xlIGN4PScxMicgY3k9JzExJyByPSc4LjUnIGZpbGw9JyN7JHdoaXRlfScvJTNlJTNjL2clM2UlM2NkZWZzJTNlJTNjZmlsdGVyIGlkPSdhJyB4PScwJyB5PScwJyB3aWR0aD0nMjInIGhlaWdodD0nMjInIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZScgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSdzUkdCJyUzZSUzY2ZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0nMCcgcmVzdWx0PSdCYWNrZ3JvdW5kSW1hZ2VGaXgnLyUzZSUzY2ZlQ29sb3JNYXRyaXggaW49J1NvdXJjZUFscGhhJyB2YWx1ZXM9JzAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwJyByZXN1bHQ9J2hhcmRBbHBoYScvJTNlJTNjZmVPZmZzZXQgZHk9JzInLyUzZSUzY2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0nMicvJTNlJTNjZmVDb2xvck1hdHJpeCB2YWx1ZXM9JzAgMCAwIDAgMC4xODAzOTIgMCAwIDAgMCAwLjE0OTAyIDAgMCAwIDAgMC4yMzkyMTYgMCAwIDAgMC4xNiAwJy8lM2UlM2NmZUJsZW5kIGluMj0nQmFja2dyb3VuZEltYWdlRml4JyByZXN1bHQ9J2VmZmVjdDFfZHJvcFNoYWRvd182NDg4XzMyNjQnLyUzZSUzY2ZlQmxlbmQgaW49J1NvdXJjZUdyYXBoaWMnIGluMj0nZWZmZWN0MV9kcm9wU2hhZG93XzY0ODhfMzI2NCcgcmVzdWx0PSdzaGFwZScvJTNlJTNjL2ZpbHRlciUzZSUzYy9kZWZzJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgdmlld0JveD0nMCAwIDIyIDIyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjZyBmaWx0ZXI9J3VybCglMjNhKSclM2UlM2NjaXJjbGUgY3g9JzEyJyBjeT0nMTEnIHI9JzguNScgZmlsbD0nI3skd2hpdGV9Jy8lM2UlM2MvZyUzZSUzY2RlZnMlM2UlM2NmaWx0ZXIgaWQ9J2EnIHg9JzAnIHk9JzAnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgZmlsdGVyVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InJTNlJTNjZmVGbG9vZCBmbG9vZC1vcGFjaXR5PScwJyByZXN1bHQ9J0JhY2tncm91bmRJbWFnZUZpeCcvJTNlJTNjZmVDb2xvck1hdHJpeCBpbj0nU291cmNlQWxwaGEnIHZhbHVlcz0nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAnIHJlc3VsdD0naGFyZEFscGhhJy8lM2UlM2NmZU9mZnNldCBkeT0nMicvJTNlJTNjZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPScyJy8lM2UlM2NmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwLjE4MDM5MiAwIDAgMCAwIDAuMTQ5MDIgMCAwIDAgMCAwLjIzOTIxNiAwIDAgMCAwLjE2IDAnLyUzZSUzY2ZlQmxlbmQgaW4yPSdCYWNrZ3JvdW5kSW1hZ2VGaXgnIHJlc3VsdD0nZWZmZWN0MV9kcm9wU2hhZG93XzY0ODhfMzI2NCcvJTNlJTNjZmVCbGVuZCBpbj0nU291cmNlR3JhcGhpYycgaW4yPSdlZmZlY3QxX2Ryb3BTaGFkb3dfNjQ4OF8zMjY0JyByZXN1bHQ9J3NoYXBlJy8lM2UlM2MvZmlsdGVyJTNlJTNjL2RlZnMlM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyB2aWV3Qm94PScwIDAgMjIgMjInIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NnIGZpbHRlcj0ndXJsKCUyM2EpJyUzZSUzY2NpcmNsZSBjeD0nMTInIGN5PScxMScgcj0nOC41JyBmaWxsPScjeyR3aGl0ZX0nLyUzZSUzYy9nJTNlJTNjZGVmcyUzZSUzY2ZpbHRlciBpZD0nYScgeD0nMCcgeT0nMCcgd2lkdGg9JzIyJyBoZWlnaHQ9JzIyJyBmaWx0ZXJVbml0cz0ndXNlclNwYWNlT25Vc2UnIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0nc1JHQiclM2UlM2NmZUZsb29kIGZsb29kLW9wYWNpdHk9JzAnIHJlc3VsdD0nQmFja2dyb3VuZEltYWdlRml4Jy8lM2UlM2NmZUNvbG9yTWF0cml4IGluPSdTb3VyY2VBbHBoYScgdmFsdWVzPScwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCcgcmVzdWx0PSdoYXJkQWxwaGEnLyUzZSUzY2ZlT2Zmc2V0IGR5PScyJy8lM2UlM2NmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249JzInLyUzZSUzY2ZlQ29sb3JNYXRyaXggdmFsdWVzPScwIDAgMCAwIDAuMTgwMzkyIDAgMCAwIDAgMC4xNDkwMiAwIDAgMCAwIDAuMjM5MjE2IDAgMCAwIDAuMTYgMCcvJTNlJTNjZmVCbGVuZCBpbjI9J0JhY2tncm91bmRJbWFnZUZpeCcgcmVzdWx0PSdlZmZlY3QxX2Ryb3BTaGFkb3dfNjQ4OF8zMjY0Jy8lM2UlM2NmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J2VmZmVjdDFfZHJvcFNoYWRvd182NDg4XzMyNjQnIHJlc3VsdD0nc2hhcGUnLyUzZSUzYy9maWx0ZXIlM2UlM2MvZGVmcyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogOTUlIGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uLXJ0bDogNCUgY2VudGVyICFkZWZhdWx0OyAvLyAoQylcbiRmb3JtLXN3aXRjaC1iZzogcmdiYSh2YXIoLS0jeyRwcmVmaXh9YmFzZS1jb2xvci1yZ2IpLCAuMSkgIWRlZmF1bHQ7IC8vIChDKVxuJGZvcm0tc3dpdGNoLWJveC1zaGFkb3c6IDAgMCAuMjVyZW0gMCByZ2JhKCRwdXJlLWJsYWNrLCAuMTYpIGluc2V0ICFkZWZhdWx0OyAvLyAoQylcblxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXk6ICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14OiAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi44ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXNpemU6IDIycHggMjRweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAgMjJcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGQ9XCJNMTAuOTk5OSAxMi4wNzQzTDE1LjUzNzQgNy41MzY3NkwxNi44MzM2IDguODMyOTJMMTAuOTk5OSAxNC42NjY2TDUuMTY2MjYgOC44MzI5Mkw2LjQ2MjQzIDcuNTM2NzZMMTAuOTk5OSAxMi4wNzQzWlwiIGZpbGw9XCIjeyRibGFja31cIiBmaWxsLW9wYWNpdHk9XCIwLjlcIi8+PC9zdmc+JykgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaW5kaWNhdG9yOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDIwIDIyXCIgZmlsbD1cIm5vbmVcIj48cGF0aCBkPVwiTTEwLjk5OTkgMTIuMDc0M0wxNS41Mzc0IDcuNTM2NzZMMTYuODMzNiA4LjgzMjkyTDEwLjk5OTkgMTQuNjY2Nkw1LjE2NjI2IDguODMyOTJMNi40NjI0MyA3LjUzNjc2TDEwLjk5OTkgMTIuMDc0M1pcIiBmaWxsPVwiI3skYm9keS1zZWNvbmRhcnktY29sb3J9XCIgZmlsbC1vcGFjaXR5PVwiMC45XCIvPjwvc3ZnPicpICFkZWZhdWx0OyAvLyAoQylcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTogJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZzogJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAuMzc1cmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1kaXNhYmxlZC1iZzogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7IC8vIChDKVxuJGZvcm0tcmFuZ2UtdHJhY2stZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRmb3JtLXJhbmdlLXRodW1iLXdpZHRoOiAxLjM3NXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogdmFyKC0tI3skcHJlZml4fXdoaXRlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogLjI1cmVtIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6IDAgLjExMnJlbSAuMzc1cmVtIDAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9YmFzZS1jb2xvci1yZ2IpLCAuMDgpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICRmb3JtLXJhbmdlLXRodW1iLWJnICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tcmFuZ2UtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZpbGUtdmFyaWFibGVzXG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6IHNoYWRlLWNvbG9yKCRmb3JtLWZpbGUtYnV0dG9uLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6IC43NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246XG4gIG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LFxuICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtLXJ0bDogc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCgtLjE1cmVtKSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gTmF2c1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRuYXYtc3BhY2VyOiAuMjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuXG4kbmF2LWxpbmstcGFkZGluZy15OiAuNTQzNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtbGluay1wYWRkaW5nLXktbGc6IC42cmVtICFkZWZhdWx0OyAvLyAoQylcbiRuYXYtbGluay1wYWRkaW5nLXgtbGc6IDEuNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtbGc6ICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtbGluay1wYWRkaW5nLXktc206IC4zNzZyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJG5hdi1saW5rLXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1iZzogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLXBhZGRpbmcteTogJG5hdi1saW5rLXBhZGRpbmcteSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LXBpbGxzLXBhZGRpbmcteDogJG5hdi1saW5rLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LXBpbGxzLWxpbmstaG92ZXItYmc6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpIHZhcigtLSN7JHByZWZpeH1iZy1sYWJlbC10aW50LWFtb3VudCksICRjb21wb25lbnQtYWN0aXZlLWJnKSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH13aGl0ZSkgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1ib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7IC8vIChDKVxuJG5hdi1ib3JkZXItY29sb3I6ICRuYXYtdGFicy1iZyAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIE5hdmJhclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIEZvciBtYWluIG5hdmJhclxuJG5hdmJhci1ib3gtc2hhZG93OiAwIDAgMTBweCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXZiYXItYmc6IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgIWRlZmF1bHQ7IC8vIChDKVxuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAwICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogMCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6IDAgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogJG5hdmJhci1saWdodC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nI3skbmF2YmFyLWxpZ2h0LWljb24tY29sb3J9JyBkPSdNNCA2aDE2djJINHptMCA1aDE2djJINHptMCA1aDE2djJINHonLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1ob3Zlci1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yKSA2JSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSkgIWRlZmF1bHQ7IC8qIChDKSAqL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICRoZWFkaW5ncy1jb2xvci1kYXJrICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWljb24tY29sb3I6ICRuYXZiYXItZGFyay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgZD0nTTQgNmgxNnYySDR6bTAgNWgxNnYySDR6bTAgNWgxNnYySDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuLy8gRHJvcGRvd25zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGRyb3Bkb3duLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6IHZhcigtLSN7JHByZWZpeH1ncmF5LTUwKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMTYpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogLjU0M3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6IC40ODA5cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogLjMxNjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206IC4yNjlyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6IC42ODFyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6IC45ODI2cmVtICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDsgLy8gKGMpXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogdmFyKC0tI3skcHJlZml4fWdyYXktNzUpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0OiAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjIyKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJveC1zaGFkb3ctY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYikgIWRlZmF1bHQ7IC8vIChjKVxuXG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0OyAvLyAoYylcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbi8vIENhcmRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGNhcmQtc3BhY2VyLXk6ICRzcGFjZXIgKiAxLjUgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogJHNwYWNlciAqIDEuNSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kY2FyZC1zdWJ0aXRsZS1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yKSA1NSUsIHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKSkgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteC1zbTogJHNwYWNlciAhZGVmYXVsdDsgLy8gKEMpXG4kY2FyZC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRjYXJkLWJnOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyAoQylcbiRjYXJkLWhvdmVyLWJvcmRlci1zY2FsZTogNjIlICFkZWZhdWx0OyAvLyAoQylcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBBY2NvcmRpb25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYWNjb3JkaW9uLXBhZGRpbmcteTogLjczMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAxLjE4NzVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogJGFjY29yZGlvbi1iZyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGQ9J001IDcuNUwxMCAxMi41TDE1IDcuNScgc3Ryb2tlPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3J9JyBzdHJva2Utb3BhY2l0eT0nMC45JyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb246ICRhY2NvcmRpb24tYnV0dG9uLWljb24gIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY3VzdG9tLWJ1dHRvbi1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTE5IDExaC02VjVoLTJ2Nkg1djJoNnY2aDJ2LTZoNnonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0OyAvLyAoQylcbiRhY2NvcmRpb24tY3VzdG9tLWJ1dHRvbi1hY3RpdmUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J001IDExaDE0djJINXonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0OyAvLyAoQylcblxuLy8gVG9vbHRpcHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kdG9vbHRpcC1iZzogdmFyKC0tI3skcHJlZml4fWJsYWNrKSAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogMSAhZGVmYXVsdDtcbiR0b29sdGlwLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7IC8vIChDKVxuJHRvb2x0aXAtYXJyb3ctYmc6ICR0b29sdGlwLWJnICFkZWZhdWx0OyAvLyAoQylcblxuLy8gUG9wb3ZlcnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kcG9wb3Zlci1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Z3JheS0xMDApICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGcpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogMS4xMjVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAxLjEyNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAxLjEyNXJlbSAhZGVmYXVsdDtcblxuLy8gVG9hc3RzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fXBhcGVyLWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Z3JheS0xMDApICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogLjQwNnJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6IHZhcigtLSN7JHByZWZpeH1mb250LXNpemUtYmFzZSkgIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZykgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSA0MCUsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpICFkZWZhdWx0O1xuXG4vLyBCYWRnZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYmFkZ2UtZm9udC1zaXplOiAuODY2N2VtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogLjQyMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6IC43N2VtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IC4xMjVyZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6IC41ODNlbSAhZGVmYXVsdDsgLy8gKEMpXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAxMHJlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRiYWRnZS1oZWlnaHQ6IDEuNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kYmFkZ2Utd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kYmFkZ2UtY2VudGVyLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDsgLy8gKEMpXG4kYmFkZ2UtYmctY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0OyAvLyAoQylcblxuLy8gTW9kYWxzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJG1vZGFsLWlubmVyLXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6IHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6IHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnKSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAjOTc5NTllICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAxLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogMHJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWlubmVyLXBhZGRpbmcgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICRtb2RhbC1pbm5lci1wYWRkaW5nICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0OyAvLyAoQylcblxuJG1vZGFsLWxnOiA1MHJlbSAhZGVmYXVsdDtcbiRtb2RhbC1tZDogMzVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtc206IDIyLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpIHNjYWxlKC44KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKSAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb246IC4xNXMgIWRlZmF1bHQ7IC8vIChDKVxuJG1vZGFsLXRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dCAhZGVmYXVsdDtcblxuJG1vZGFsLXNpbXBsZS1wYWRkaW5nOiAzcmVtICFkZWZhdWx0OyAvLyAoQylcbiRtb2RhbC1zaW1wbGUtY2xvc2UtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBBbGVydHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYWxlcnQtcGFkZGluZy15OiAuNjg3NTVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAuOTM3NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1pY29uLXNpemU6IDEuODc1cmVtICFkZWZhdWx0OyAvLyAoYylcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IC4zNzVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAuODEyNXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogcmdiYSh2YXIoLS0jeyRwcmVmaXh9YmFzZS1jb2xvci1yZ2IpLCAuMDgpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDMuMTI1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItc2hhZG93LWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC4zKSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIExpc3QgZ3JvdXBcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogLjI1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlOiAtODQlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZTogMCUgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9Z3JheS01MCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICRsaXN0LWdyb3VwLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC4xNikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9Z3JheS01MCkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiR0aHVtYm5haWwtcGFkZGluZzogMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vIEZpZ3VyZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICRib2R5LXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8gQnJlYWRjcnVtYnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6IDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogLjVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogXCJcXFxcXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH13aGl0ZSkgMTAlLCB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkpICFkZWZhdWx0OyAvLyAoQylcblxuLy8gU3Bpbm5lcnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kc3Bpbm5lci13aWR0aC1sZzogM3JlbSAhZGVmYXVsdDsgLy8gKEMpXG4kc3Bpbm5lci1oZWlnaHQtbGc6ICRzcGlubmVyLXdpZHRoLWxnICFkZWZhdWx0OyAvLyAoQylcbiRzcGlubmVyLWJvcmRlci13aWR0aC1sZzogLjNlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIENsb3NlXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGJ0bi1jbG9zZS13aWR0aDogLjY1cmVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6IC43NSAhZGVmYXVsdDtcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBPZmZjYW52YXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tZHVyYXRpb246IC4yNXMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJnLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBVdGlsaXRpZXNcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiwgc2Nyb2xsLCB2aXNpYmxlICFkZWZhdWx0O1xuXG4vLyBDb25maWdcbiRydGwtc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XG4kYm9yZGVyZWQtc3R5bGU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFVwbG9hZCBJY29uXG4kdXBsb2FkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGQ9J000IDE3VjE5QzQgMjAuMTA0NiA0Ljg5NTQzIDIxIDYgMjFIMThDMTkuMTA0NiAyMSAyMCAyMC4xMDQ2IDIwIDE5VjE3JyBzdHJva2U9JyUyMzgwODM5MCcgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNlJTNjcGF0aCBkPSdNNyA5TDEyIDRMMTcgOScgc3Ryb2tlPSclMjM4MDgzOTAnIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzZSUzY3BhdGggZD0nTTEyIDRWMTYnIHN0cm9rZT0nJTIzODA4MzkwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuIiwiOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLy8gTm90ZTogQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG5cbiAgLy8gQ29sb3JzXG4gIC8vXG4gIC8vIEdlbmVyYXRlIHBhbGV0dGVzIGZvciBmdWxsIGNvbG9ycywgZ3JheXMsIGFuZCB0aGVtZSBjb2xvcnMuXG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ3JheXMge1xuICAgIC0tI3skcHJlZml4fWdyYXktI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtcmdiIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9d2hpdGUtcmdiOiAje3RvLXJnYigkd2hpdGUpfTtcbiAgLS0jeyRwcmVmaXh9YmxhY2stcmdiOiAje3RvLXJnYigkYmxhY2spfTtcblxuICAvLyBGb250c1xuXG4gIC8vIE5vdGU6IFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6ICN7JGdyYWRpZW50fTtcblxuICAvLyBSb290IGFuZCBib2R5XG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvZHktdmFyaWFibGVzXG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemU6ICN7JGZvbnQtc2l6ZS1yb290fTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5OiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LWJhc2UpfTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUtYmFzZSwgLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1iYXNlfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodDogI3skbGluZS1oZWlnaHQtYmFzZX07XG4gIEBpZiAkYm9keS10ZXh0LWFsaWduICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbjogI3skYm9keS10ZXh0LWFsaWdufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZ307XG4gIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvcil9O1xuXG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZ307XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZ307XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvZHktdmFyaWFibGVzXG5cbiAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3J9O1xuXG4gIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9bGluay1kZWNvcmF0aW9uOiAjeyRsaW5rLWRlY29yYXRpb259O1xuXG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3IpfTtcblxuICBAaWYgJGxpbmstaG92ZXItZGVjb3JhdGlvbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWRlY29yYXRpb246ICN7JGxpbmstaG92ZXItZGVjb3JhdGlvbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yOiAjeyRtYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnfTtcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib3JkZXItdmFyXG4gIC0tI3skcHJlZml4fWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlOiAjeyRib3JkZXItc3R5bGV9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50fTtcblxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbTogI3skYm9yZGVyLXJhZGl1cy1zbX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGc6ICN7JGJvcmRlci1yYWRpdXMtbGd9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXhsOiAjeyRib3JkZXItcmFkaXVzLXhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGw6ICN7JGJvcmRlci1yYWRpdXMteHhsfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy0yeGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCk7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wIGZvciBjb25zaXN0ZW5jeVxuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGw6ICN7JGJvcmRlci1yYWRpdXMtcGlsbH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib3JkZXItdmFyXG5cbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdzogI3skYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctc206ICN7JGJveC1zaGFkb3ctc219O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnOiAjeyRib3gtc2hhZG93LWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldDogI3skYm94LXNoYWRvdy1pbnNldH07XG5cbiAgLy8gRm9jdXMgc3R5bGVzXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvY3VzLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoOiAjeyRmb2N1cy1yaW5nLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1vcGFjaXR5OiAjeyRmb2N1cy1yaW5nLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yOiAjeyRmb2N1cy1yaW5nLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvY3VzLXZhcmlhYmxlc1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcblxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWRhcmstbW9kZS12YXJzXG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmctZGFyayl9O1xuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0LWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yOiAjeyRtYXJrLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZy1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50LWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kaW1lbnNpb24tbm8tbm9uLW51bWVyaWMtdmFsdWVzXG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYWluL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIGRpdmlkZSgxLCAkcmZzLXJlbS12YWx1ZSkpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIGRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZS1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJHZhbHVlLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgY2FsYyhcIiArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCBcIiAtIFwiLCBcIiArIFwiKSArICR2YXJpYWJsZS13aWR0aCArIFwiKVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZC12YWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWQtdmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWQtdmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkLXZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLW1vZGUtbWl4aW5cbkBtaXhpbiBjb2xvci1tb2RlKCRtb2RlOiBsaWdodCwgJHJvb3Q6IGZhbHNlKSB7XG4gIEBpZiAkY29sb3ItbW9kZS10eXBlID09IFwibWVkaWEtcXVlcnlcIiB7XG4gICAgQGlmICRyb290ID09IHRydWUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgOnJvb3Qge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIFtkYXRhLWJzLXRoZW1lPVwiI3skbW9kZX1cIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLW1vZGUtbWl4aW5cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vLyBSb290XG4vL1xuLy8gQWJpbGl0eSB0byB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgZm9udCBzaXplcywgYWZmZWN0aW5nIHRoZSB2YWx1ZSBvZiBgcmVtYC5cbi8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuOnJvb3Qge1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cm9vdC1mb250LXNpemUpKTtcbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXNtb290aC1zY3JvbGwge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IHZhcigtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAzXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA0XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG5cbmhyIHtcbiAgbWFyZ2luOiAkaHItbWFyZ2luLXkgMDtcbiAgY29sb3I6ICRoci1jb2xvcjsgLy8gMVxuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG5cblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIDEuIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vLyAgICBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gICAgbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuXG4laGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtc3R5bGU6ICRoZWFkaW5ncy1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xufVxuXG5oMSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbn1cblxuaDIge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG59XG5cbmgzIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xufVxuXG5oNCB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbn1cblxuaDUge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG59XG5cbmg2IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xufVxuXG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMi4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gMy4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAxXG4gIGN1cnNvcjogaGVscDsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDNcbn1cblxuXG4vLyBBZGRyZXNzXG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpc3RzXG5cbm9sLFxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG4vLyAxLiBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gMVxufVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gU3Ryb25nXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cblxuLy8gU21hbGxcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbn1cblxuXG4vLyBNYXJrXG5cbm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtYmcpO1xufVxuXG5cbi8vIFN1YiBhbmQgU3VwXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzdWItc3VwLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gICYsXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIENvZGVcblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWNvZGU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbi8vIDEuIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuLy8gMi4gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbi8vIDMuIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAxcmVtOyAvLyAyXG4gIG92ZXJmbG93OiBhdXRvOyAvLyAzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jb2RlLWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICB9XG59XG5cblxuLy8gRmlndXJlc1xuLy9cbi8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcblxuaW1nLFxuc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG5cbnRhYmxlIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZy15O1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG50aGVhZCxcbnRib2R5LFxudGZvb3QsXG50cixcbnRkLFxudGgge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuXG4vLyBGb3Jtc1xuLy9cbi8vIDEuIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5cbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuc2VsZWN0IHtcbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuICB3b3JkLXdyYXA6IG5vcm1hbDtcblxuICAvLyBVbmRvIHRoZSBvcGFjaXR5IGNoYW5nZSBmcm9tIENocm9tZVxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIFJlbW92ZSB0aGUgZHJvcGRvd24gYXJyb3cgb25seSBmcm9tIHRleHQgdHlwZSBpbnB1dHMgYnVpbHQgd2l0aCBkYXRhbGlzdHMgaW4gQ2hyb21lLlxuLy8gU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81NDk5NzExOFxuXG5bbGlzdF06bm90KFt0eXBlPVwiZGF0ZVwiXSk6bm90KFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0pOm5vdChbdHlwZT1cIm1vbnRoXCJdKTpub3QoW3R5cGU9XCJ3ZWVrXCJdKTpub3QoW3R5cGU9XCJ0aW1lXCJdKTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAzLiBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcblxuICBAaWYgJGVuYWJsZS1idXR0b24tcG9pbnRlcnMge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vLyAxLiBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLy8gMVxufVxuXG4vLyAxLiBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuLy8gICAgdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4vLyAgICBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuLy8gICAgYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuLy8gMi4gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAyXG4gIGJvcmRlcjogMDsgLy8gMlxufVxuXG4vLyAxLiBCeSB1c2luZyBgZmxvYXQ6IGxlZnRgLCB0aGUgbGVnZW5kIHdpbGwgYmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50LlxuLy8gICAgVGhpcyB3YXkgdGhlIGJvcmRlciBvZiBhIGZpZWxkc2V0IHdyYXBzIGFyb3VuZCB0aGUgbGVnZW5kIGlmIHByZXNlbnQuXG4vLyAyLiBGaXggd3JhcHBpbmcgYnVnLlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjk3MTJcblxubGVnZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IC8vIDFcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsZWdlbmQtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuXG4gICsgKiB7XG4gICAgY2xlYXI6IGxlZnQ7IC8vIDJcbiAgfVxufVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICBwYWRkaW5nOiAwO1xufVxuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIDEuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbi8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG59XG5cbi8vIDEuIEEgZmV3IGlucHV0IHR5cGVzIHNob3VsZCBzdGF5IExUUlxuLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcbi8vIDIuIFJUTCBvbmx5IG91dHB1dFxuLy8gU2VlIGh0dHBzOi8vcnRsY3NzLmNvbS9sZWFybi91c2FnZS1ndWlkZS9jb250cm9sLWRpcmVjdGl2ZXMvI3Jhd1xuXG4vKiBydGw6cmF3OlxuW3R5cGU9XCJ0ZWxcIl0sXG5bdHlwZT1cInVybFwiXSxcblt0eXBlPVwiZW1haWxcIl0sXG5bdHlwZT1cIm51bWJlclwiXSB7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuKi9cblxuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFJlbW92ZSBwYWRkaW5nIGFyb3VuZCBjb2xvciBwaWNrZXJzIGluIHdlYmtpdCBicm93c2Vyc1xuXG46Oi13ZWJraXQtY29sb3Itc3dhdGNoLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG5cbi8vIDEuIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAxXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIFJlbW92ZSBib3JkZXIgZnJvbSBpZnJhbWVcblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBTdW1tYXJ5XG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIDFcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIFByb2dyZXNzXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblxuLy8gSGlkZGVuIGF0dHJpYnV0ZVxuLy9cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUuXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5czogKFxuICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgXCIzMDBcIjogJGdyYXktMzAwLFxuICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgXCI2MDBcIjogJGdyYXktNjAwLFxuICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgXCI5MDBcIjogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9ycy1tYXBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAgICAjMGQ2ZWZkICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZDYzMzg0ICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMxOTg3NTQgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMGRjYWYwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwiYmxhY2tcIjogICAgICAkYmxhY2ssXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9ycy1tYXBcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjIgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRy8jY29udHJhc3QtbWluaW11bVxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtdmFyaWFibGVzXG4kcHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLXRleHQtZW1waGFzaXM6ICAgICAgc2hhZGUtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci10ZXh0LWVtcGhhc2lzOiAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzOiAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiAgICAgdGludC1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA4MCUpICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDgwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlOiAgICAgICAgIG1peCgkZ3JheS0xMDAsICR3aGl0ZSkgIWRlZmF1bHQ7XG4kZGFyay1iZy1zdWJ0bGU6ICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogICAgICB0aW50LWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRjb2xvci1tb2RlLXR5cGU6ICAgICAgICAgICAgIGRhdGEgIWRlZmF1bHQ7IC8vIGBkYXRhYCBvciBgbWVkaWEtcXVlcnlgXG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuLy8gZnVzdi1kaXNhYmxlXG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy14eGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuJGZvY3VzLXJpbmctd2lkdGg6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgcmdiYSgkcHJpbWFyeSwgJGZvY3VzLXJpbmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ibHVyOiAgICAgICAwICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYm94LXNoYWRvdzogMCAwICRmb2N1cy1yaW5nLWJsdXIgJGZvY3VzLXJpbmctd2lkdGggJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvY3VzLXJpbmctdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06ICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcjogICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItZmFjdG9yOiAgICAgICAgIC4yICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogY3VycmVudGNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS1sb29wXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWxvb3BcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWJ0bi12YXJpYWJsZXNcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgJGZvY3VzLXJpbmctd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6ICRmb2N1cy1yaW5nLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAkZm9jdXMtcmluZy1ibHVyICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2I6ICAgdG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkbGluay1jb2xvciksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAyKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoLTEgKiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjNcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tdmFyaWFibGVzXG5cbi8vIFRvb2x0aXBzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLXZhcmlhYmxlc1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFRPRE86IHJlbW92ZSB0aGlzIGluIHY2XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4vLyBmdXN2LWVuYWJsZVxuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcblxuXG4vLyBQb3BvdmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci12YXJpYWJsZXNcbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBjYWxjKCN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cblxuLy8gVG9hc3RzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC12YXJpYWJsZXNcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkdG9hc3QtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJhZGdlLXZhcmlhYmxlc1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtdmFyaWFibGVzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyOiAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDAnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9Jz48cGF0aCBkPSdNNC42NDYgMS42NDZhLjUuNSAwIDAgMSAuNzA4IDBsNiA2YS41LjUgMCAwIDEgMCAuNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4LS43MDhMMTAuMjkzIDggNC42NDYgMi4zNTRhLjUuNSAwIDAgMSAwLS43MDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuNFxuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy40XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZpbHRlcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCBcInZhcmlhYmxlcy1kYXJrXCI7IC8vIFRPRE86IGNhbiBiZSByZW1vdmVkIHNhZmVseSBpbiB2Niwgb25seSBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXMgaW4gdjUuM1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiLy9cbi8vIEhlYWRpbmdzXG4vL1xuLmgxIHtcbiAgQGV4dGVuZCBoMTtcbn1cblxuLmgyIHtcbiAgQGV4dGVuZCBoMjtcbn1cblxuLmgzIHtcbiAgQGV4dGVuZCBoMztcbn1cblxuLmg0IHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLmg1IHtcbiAgQGV4dGVuZCBoNTtcbn1cblxuLmg2IHtcbiAgQGV4dGVuZCBoNjtcbn1cblxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG5AZWFjaCAkZGlzcGxheSwgJGZvbnQtc2l6ZSBpbiAkZGlzcGxheS1mb250LXNpemVzIHtcbiAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZGlzcGxheS1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkZGlzcGxheS1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICB9XG59XG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cbi5zbWFsbCB7XG4gIEBleHRlbmQgc21hbGw7XG59XG5cbi5tYXJrIHtcbiAgQGV4dGVuZCBtYXJrO1xufVxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbml0aWFsaXNtLWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IC0kYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtY29udGFpbmVyLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG46cm9vdCB7XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tI3skcHJlZml4fWJyZWFrcG9pbnQtI3skbmFtZX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlciBvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRjb3VudCkpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIH1cblxuICAgICAgLnJvdy1jb2xzI3skaW5maXh9LWF1dG8gPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICAvL1xuICAgICAgLy8gTWFrZSB1c2Ugb2YgYC5nLSpgLCBgLmd4LSpgIG9yIGAuZ3ktKmAgdXRpbGl0aWVzIHRvIGNoYW5nZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNzc2dyaWQoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmctY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB3aXRoIGAxYCBiZWNhdXNlIGAwYCBpcyBhbiBpbnZhbGlkIHZhbHVlLlxuICAgICAgICAvLyBFbmRzIHdpdGggYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlLlxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICAuZy1zdGFydCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICAvLyBSZXNldCBuZWVkZWQgZm9yIG5lc3RpbmcgdGFibGVzXG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogaW5pdGlhbDtcbiAgLy8gRW5kIG9mIHJlc2V0XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyR0YWJsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyR0YWJsZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB2ZXJ0aWNhbC1hbGlnbjogJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ247XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG5cbiAgLy8gVGFyZ2V0IHRoICYgdGRcbiAgLy8gV2UgbmVlZCB0aGUgY2hpbGQgY29tYmluYXRvciB0byBwcmV2ZW50IHN0eWxlcyBsZWFraW5nIHRvIG5lc3RlZCB0YWJsZXMgd2hpY2ggZG9lc24ndCBoYXZlIGEgYC50YWJsZWAgY2xhc3MuXG4gIC8vIFdlIHVzZSB0aGUgdW5pdmVyc2FsIHNlbGVjdG9ycyBoZXJlIHRvIHNpbXBsaWZ5IHRoZSBzZWxlY3RvciAoZWxzZSB3ZSB3b3VsZCBuZWVkIDYgZGlmZmVyZW50IHNlbGVjdG9ycykuXG4gIC8vIEFub3RoZXIgYWR2YW50YWdlIGlzIHRoYXQgdGhpcyBnZW5lcmF0ZXMgbGVzcyBjb2RlIGFuZCBtYWtlcyB0aGUgc2VsZWN0b3IgbGVzcyBzcGVjaWZpYyBtYWtpbmcgaXQgZWFzaWVyIHRvIG92ZXJyaWRlLlxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15ICR0YWJsZS1jZWxsLXBhZGRpbmcteDtcbiAgICAvLyBGb2xsb3dpbmcgdGhlIHByZWNlcHQgb2YgY2FzY2FkZXM6IGh0dHBzOi8vY29kZXBlbi5pby9taXJpYW1zdXphbm5lL2Z1bGwvdllOZ29kYlxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDk5OTlweCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWNjZW50LWJnKSkpO1xuICB9XG5cbiAgPiB0Ym9keSB7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIH1cblxuICA+IHRoZWFkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cbi50YWJsZS1ncm91cC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogY2FsYygjeyR0YWJsZS1ib3JkZXItd2lkdGh9ICogMikgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy9cbi8vIENoYW5nZSBwbGFjZW1lbnQgb2YgY2FwdGlvbnMgd2l0aCBhIGNsYXNzXG4vL1xuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbSAkdGFibGUtY2VsbC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuLy9cbi8vIFdoZW4gYm9yZGVycyBhcmUgYWRkZWQgb24gYWxsIHNpZGVzIG9mIHRoZSBjZWxscywgdGhlIGNvcm5lcnMgY2FuIHJlbmRlciBvZGQgd2hlblxuLy8gdGhlc2UgYm9yZGVycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBjb2xvciBvciBpZiB0aGV5IGFyZSBzZW1pLXRyYW5zcGFyZW50LlxuLy8gVGhlcmVmb3JlIHdlIGFkZCB0b3AgYW5kIGJvcmRlciBib3R0b21zIHRvIHRoZSBgdHJgcyBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVyc1xuLy8gdG8gdGhlIGB0ZGBzIG9yIGB0aGBzXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICAgIGJvcmRlci13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aCAwO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgICA+ICoge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi8vIEZvciByb3dzXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEZvciBjb2x1bW5zXG4udGFibGUtc3RyaXBlZC1jb2x1bW5zIHtcbiAgPiA6bm90KGNhcHRpb24pID4gdHIgPiA6bnRoLWNoaWxkKCN7JHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcn0pIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICB9XG59XG5cbi8vIEFjdGl2ZSB0YWJsZVxuLy9cbi8vIFRoZSBgLnRhYmxlLWFjdGl2ZWAgY2xhc3MgY2FuIGJlIGFkZGVkIHRvIGhpZ2hsaWdodCByb3dzIG9yIGNlbGxzXG5cbi50YWJsZS1hY3RpdmUge1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcik7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnKTtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIHZhcmlhbnRzXG4vL1xuLy8gVGFibGUgdmFyaWFudHMgc2V0IHRoZSB0YWJsZSBjZWxsIGJhY2tncm91bmRzLCBib3JkZXIgY29sb3JzXG4vLyBhbmQgdGhlIGNvbG9ycyBvZiB0aGUgc3RyaXBlZCwgaG92ZXJlZCAmIGFjdGl2ZSB0YWJsZXNcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRhYmxlLXZhcmlhbnRzIHtcbiAgQGluY2x1ZGUgdGFibGUtdmFyaWFudCgkY29sb3IsICR2YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUjeyRpbmZpeH0ge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICR0YWJsZS1ib3JkZXItY29sb3I6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ib3JkZXItZmFjdG9yKSk7XG5cbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcbiIsIi8vXG4vLyBMYWJlbHNcbi8vXG5cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWxhYmVsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xufVxuIiwiLy9cbi8vIEZvcm0gdGV4dFxuLy9cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXRleHQtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tdGV4dC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tdGV4dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG59XG4iLCIvL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE9uIEFuZHJvaWQgQ2hyb21lLCBmb3JtLWNvbnRyb2wncyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICAvL1xuICAgIC8vIE9uIGlPUyBTYWZhcmksIGZvcm0tY29udHJvbCdzIFwiYXBwZWFyYW5jZTogbm9uZVwiICsgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgaU9TIDE2LjIgLyBTYWZhcmkgMTYuMlxuICAgIG1pbi13aWR0aDogODVweDsgLy8gU2VlbXMgdG8gYmUgYSBnb29kIG1pbmltdW0gc2FmZSB3aWR0aFxuXG4gICAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTkgaXMgcmVzb2x2ZWRcbiAgICAvLyBNdWx0aXBseSBsaW5lLWhlaWdodCBieSAxZW0gaWYgaXQgaGFzIG5vIHVuaXRcbiAgICBoZWlnaHQ6IGlmKHVuaXQoJGlucHV0LWxpbmUtaGVpZ2h0KSA9PSBcIlwiLCAkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1saW5lLWhlaWdodCk7XG5cbiAgICAvLyBBbmRyb2lkIENocm9tZSB0eXBlPVwiZGF0ZVwiIGlzIHRhbGxlciB0aGFuIHRoZSBvdGhlciBpbnB1dHNcbiAgICAvLyBiZWNhdXNlIG9mIFwibWFyZ2luOiAxcHggMjRweCAxcHggNHB4XCIgaW5zaWRlIHRoZSBzaGFkb3cgRE9NXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFByZXZlbnQgZXhjZXNzaXZlIGRhdGUgaW5wdXQgaGVpZ2h0IGluIFdlYmtpdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzM0NDMzXG4gICY6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRmlsZSBpbnB1dCBidXR0b25zIHRoZW1pbmdcbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteSkgKC0kaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogJGZvcm0tZmlsZS1idXR0b24tY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tZmlsZS1idXR0b24tYmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc7XG4gIH1cbn1cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktc20pICgtJGlucHV0LXBhZGRpbmcteC1zbSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LWxnKSAoLSRpbnB1dC1wYWRkaW5nLXgtbGcpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LWxnO1xuICB9XG59XG5cbi8vIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgZG9uJ3Qgc2hyaW5rIHRvbyBtdWNoIHdoZW4gcmVzaXplZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjkxMjRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxudGV4dGFyZWEge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogJGZvcm0tY29sb3Itd2lkdGg7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20geyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207IH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcgeyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLCIvLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuXG4uZm9ybS1zZWxlY3Qge1xuICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yKX07XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb24sIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb247XG4gIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc2VsZWN0LXRyYW5zaXRpb24pO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uZm9ybS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tc2VsZWN0LWxnIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDaGVjay9yYWRpb1xuLy9cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvcm0tY2hlY2stbWluLWhlaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tO1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnOiAjeyRmb3JtLWNoZWNrLWlucHV0LWJnfTtcblxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoO1xuICBoZWlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoO1xuICBtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LWJhc2UgLSAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCkgKiAuNTsgLy8gbGluZS1oZWlnaHQgbWludXMgY2hlY2sgaGVpZ2h0XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2UpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYm9yZGVyOiAkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI7XG4gIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tY2hlY2stdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgZmlsdGVyOiAkZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I7XG5cbiAgICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcblxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgb3BhY2l0eTogJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxuXG4gIC8vIFVzZSBkaXNhYmxlZCBhdHRyaWJ1dGUgaW4gYWRkaXRpb24gb2YgOmRpc2FibGVkIHBzZXVkby1jbGFzc1xuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogJGZvcm0tY2hlY2stbGFiZWwtY29sb3I7XG4gIGN1cnNvcjogJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yO1xufVxuXG4vL1xuLy8gU3dpdGNoXG4vL1xuXG4uZm9ybS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZSl9O1xuXG4gICAgd2lkdGg6ICRmb3JtLXN3aXRjaC13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXMsIDApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc3dpdGNoLXRyYW5zaXRpb24pO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZSl9O1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjtcblxuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDtcbn1cblxuLmJ0bi1jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgICsgLmJ0biB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZS1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIvLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5mb3JtLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCwgJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQgLSAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93IHRleHRhcmVhc1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gUmVxdWlyZWQgZm9yIGFsaWduaW5nIGxhYmVsJ3MgdGV4dCB3aXRoIHRoZSBpbnB1dCBhcyBpdCBhZmZlY3RzIGlubmVyIGJveCBtb2RlbFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gICAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuICA+IHRleHRhcmVhOmZvY3VzLFxuICA+IHRleHRhcmVhOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICB+IGxhYmVsOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICgkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXggKiAuNSk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICA+IHRleHRhcmVhOmRpc2FibGVkIH4gbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG5cbiAgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbiAgPiAuZm9ybS1jb250cm9sOmRpc2FibGVkIH4gbGFiZWwgeyAvLyBSZXF1aXJlZCBmb3IgYC5mb3JtLWNvbnRyb2xgcyBiZWNhdXNlIG9mIHNwZWNpZmljaXR5XG4gICAgY29sb3I6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcbiAgJHN0YXRlLFxuICAkY29sb3IsXG4gICRpY29uLFxuICAkdG9vbHRpcC1jb2xvcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJHRvb2x0aXAtYmctY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpLFxuICAkZm9jdXMtYm94LXNoYWRvdzogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICRib3JkZXItY29sb3I6ICRjb2xvclxuKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBmb250LXN0eWxlOiAkZm9ybS1mZWVkYmFjay1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uOiAje2VzY2FwZS1zdmcoJGljb24pfTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgd2lkdGg6IGFkZCgkZm9ybS1jb2xvci13aWR0aCwgJGlucHV0LWhlaWdodC1pbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG5cbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICAgIEBpZiAkc3RhdGUgPT0gXCJ2YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9IEBlbHNlIGlmICRzdGF0ZSA9PSBcImludmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JGJ0bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRidG4tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5OiAjeyRidG4tZm9udC1mYW1pbHl9O1xuICBAaW5jbHVkZSByZnMoJGJ0bi1mb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGJ0bi1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodDogI3skYnRuLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoOiAjeyRidG4tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogI3skYnRuLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWRpc2FibGVkLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgI3skYnRuLWZvY3VzLXdpZHRofSByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYiksIC41KTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBidG4tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLWJ1dHRvbi1wb2ludGVycywgcG9pbnRlciwgbnVsbCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4tYmcpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5idG4tY2hlY2sgKyAmOmhvdmVyIHtcbiAgICAvLyBvdmVycmlkZSBmb3IgdGhlIGNoZWNrYm94L3JhZGlvIGJ1dHRvbnNcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIDpub3QoLmJ0bi1jaGVjaykgKyAmOmFjdGl2ZSxcbiAgJjpmaXJzdC1jaGlsZDphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLnNob3cge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXQ6ZGlzYWJsZWQgJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1sb29wc1xuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaWYgJGNvbG9yID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkY29sb3IgPT0gXCJkYXJrXCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYmctdGludC1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1sb29wc1xuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LW5vcm1hbH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRidG4tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRidG4tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogMCAwIDAgIzAwMDsgLy8gQ2FuJ3QgdXNlIGBub25lYCBhcyBrZXl3b3JkIG5lZ2F0ZXMgYWxsIHZhbHVlcyB3aGVuIHVzZWQgd2l0aCBtdWx0aXBsZSBzaGFkb3dzXG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAjeyRidG4tbGluay1mb2N1cy1zaGFkb3ctcmdifTtcblxuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQsXG4gICRib3JkZXIsXG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLFxuICAkaG92ZXItYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpLFxuICAkaG92ZXItYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCksXG4gICRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCxcbiAgJGRpc2FibGVkLWJvcmRlcjogJGJvcmRlcixcbiAgJGRpc2FibGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkZGlzYWJsZWQtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGhvdmVyLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYihtaXgoJGNvbG9yLCAkYm9yZGVyLCAxNSUpKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRkaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogI3skZGlzYWJsZWQtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGRpc2FibGVkLWJvcmRlcn07XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudChcbiAgJGNvbG9yLFxuICAkY29sb3ItaG92ZXI6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLFxuICAkYWN0aXZlLWJvcmRlcjogJGNvbG9yLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRjb2xvci1ob3Zlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKCRjb2xvcil9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiBub25lO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tc2l6ZS1taXhpblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tc2l6ZS1taXhpblxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtY2xhc3Nlc1xuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLmNvbGxhcHNlLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS1jbGFzc2VzXG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcGVuZCxcbi5kcm9wZG93bixcbi5kcm9wc3RhcnQsXG4uZHJvcHVwLWNlbnRlcixcbi5kcm9wZG93bi1jZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXg6ICN7JHppbmRleC1kcm9wZG93bn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aDogI3skZHJvcGRvd24tbWluLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14OiAjeyRkcm9wZG93bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcjogI3skZHJvcGRvd24tc3BhY2VyfTtcbiAgQGluY2x1ZGUgcmZzKCRkcm9wZG93bi1mb250LXNpemUsIC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aDogI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAjeyRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteDogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIG1pbi13aWR0aDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXgpO1xuICBtYXJnaW46IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgbWFyZ2luIG9mIHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdykpO1xuXG4gICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgID4gLmRyb3Bkb3duLWl0ZW06Zmlyc3QtY2hpbGQsXG4gICAgPiBsaTpmaXJzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgICA+IC5kcm9wZG93bi1pdGVtOmxhc3QtY2hpbGQsXG4gICAgPiBsaTpsYXN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcbi8vIFdlIGRlbGliZXJhdGVseSBoYXJkY29kZSB0aGUgYGJzLWAgcHJlZml4IGJlY2F1c2Ugd2UgY2hlY2tcbi8vIHRoaXMgY3VzdG9tIHByb3BlcnR5IGluIEpTIHRvIGRldGVybWluZSBQb3BwZXIncyBwb3NpdGlvbmluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1zdGFydCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBzdGFydDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1lbmQge1xuICAgICAgLS1icy1wb3NpdGlvbjogZW5kO1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wZW5kIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGVuZCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wc3RhcnQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHN0YXJ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15KSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmcpO1xuICBvcGFjaXR5OiAxOyAvLyBSZXZpc2l0IGluIHY2IHRvIGRlLWR1cGUgc3R5bGVzIHRoYXQgY29uZmxpY3Qgd2l0aCA8aHI+IGVsZW1lbnRcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14KTtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLWJvcmRlci1yYWRpdXMsIDApKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnKSk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmcpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xufVxuXG4vLyBEYXJrIGRyb3Bkb3duc1xuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWRhcmstYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tZGFyay1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC1taXhpbnNcbkBtaXhpbiBjYXJldC1kb3duKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtZW5kKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1zdGFydCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldChcbiAgJGRpcmVjdGlvbjogZG93bixcbiAgJHdpZHRoOiAkY2FyZXQtd2lkdGgsXG4gICRzcGFjaW5nOiAkY2FyZXQtc3BhY2luZyxcbiAgJHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ25cbikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBlbmQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1lbmQoJHdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBzdGFydCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtc3RhcnQoJHdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtbWl4aW5zXG4iLCIvLyBDYXJldHMgLSBmb3IgZHJvcGRvd24gYXJyb3dzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiBjYXJldC11cCgkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyOiAkY2FyZXQtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBibG9jay1zaXplOiAkY2FyZXQtd2lkdGg7XG4gIGJvcmRlci1ibG9jay1lbmQ6IDA7XG4gIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDA7XG4gIGlubGluZS1zaXplOiAkY2FyZXQtd2lkdGg7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogLjk3ICogZGl2aWRlKCRjYXJldC13aWR0aCwgMik7XG4gIG1hcmdpbi1pbmxpbmU6IC44ZW0gMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgOmRpcihydGwpICYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuXG5AbWl4aW4gY2FyZXQtZG93bigkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyOiAkY2FyZXQtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBibG9jay1zaXplOiAkY2FyZXQtd2lkdGg7XG4gIGJvcmRlci1ibG9jay1zdGFydDogMDtcbiAgYm9yZGVyLWlubGluZS1zdGFydDogMDtcbiAgaW5saW5lLXNpemU6ICRjYXJldC13aWR0aDtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAtMS4wOCAqIGRpdmlkZSgkY2FyZXQtd2lkdGgsIDIpO1xuICBtYXJnaW4taW5saW5lOiAuOGVtIDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgOmRpcihydGwpICYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCRjYXJldC13aWR0aCkge1xuICBib3JkZXI6ICRjYXJldC1ib3JkZXItd2lkdGggc29saWQ7XG4gIGJsb2NrLXNpemU6ICRjYXJldC13aWR0aDtcbiAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAwO1xuICBib3JkZXItaW5saW5lLWVuZDogMDtcbiAgaW5saW5lLXNpemU6ICRjYXJldC13aWR0aDtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICBtYXJnaW4taW5saW5lOiAwICRjYXJldC1zcGFjaW5nO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIDpkaXIocnRsKSAmIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICB9XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlcjogJGNhcmV0LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgYmxvY2stc2l6ZTogJGNhcmV0LXdpZHRoO1xuICBib3JkZXItYmxvY2stc3RhcnQ6IDA7XG4gIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDA7XG4gIGlubGluZS1zaXplOiAkY2FyZXQtd2lkdGg7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgbWFyZ2luLWlubGluZTogJGNhcmV0LXNwYWNpbmcgMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgOmRpcihydGwpICYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMTVkZWcpO1xuICB9XG59XG4iLCIvLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICA+IC5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4sXG4gID4gLmJ0bi1jaGVjazpmb2N1cyArIC5idG4sXG4gID4gLmJ0bjpob3ZlcixcbiAgPiAuYnRuOmZvY3VzLFxuICA+IC5idG46YWN0aXZlLFxuICA+IC5idG4uYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gOm5vdCguYnRuLWNoZWNrOmZpcnN0LWNoaWxkKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRidG4tYm9yZGVyLXdpZHRofSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OmZpcnN0LWNoaWxkLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gVGhlIGxlZnQgcmFkaXVzIHNob3VsZCBiZSAwIGlmIHRoZSBidXR0b24gaXM6XG4gIC8vIC0gdGhlIFwidGhpcmQgb3IgbW9yZVwiIGNoaWxkXG4gIC8vIC0gdGhlIHNlY29uZCBjaGlsZCBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgaXNuJ3QgYC5idG4tY2hlY2tgIChtYWtpbmcgaXQgdGhlIGZpcnN0IGNoaWxkIHZpc3VhbGx5KVxuICAvLyAtIHBhcnQgb2YgYSBidG4tZ3JvdXAgd2hpY2ggaXNuJ3QgdGhlIGZpcnN0IGNoaWxkXG4gID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcGVuZCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcHN0YXJ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAjeyRidG4tYm9yZGVyLXdpZHRofSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gVGhlIHRvcCByYWRpdXMgc2hvdWxkIGJlIDAgaWYgdGhlIGJ1dHRvbiBpczpcbiAgLy8gLSB0aGUgXCJ0aGlyZCBvciBtb3JlXCIgY2hpbGRcbiAgLy8gLSB0aGUgc2Vjb25kIGNoaWxkIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCBpc24ndCBgLmJ0bi1jaGVja2AgKG1ha2luZyBpdCB0aGUgZmlyc3QgY2hpbGQgdmlzdWFsbHkpXG4gIC8vIC0gcGFydCBvZiBhIGJ0bi1ncm91cCB3aGljaCBpc24ndCB0aGUgZmlyc3QgY2hpbGRcbiAgPiAuYnRuOm50aC1jaGlsZChuICsgMyksXG4gID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogI3skbmF2LWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skbmF2LWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogI3skbmF2LWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJG5hdi1saW5rLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdGFicy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGg6ICN7JG5hdi10YWJzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1czogI3skbmF2LXRhYnMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdGFicy1jc3MtdmFyc1xuXG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3IpO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUHJldmVudHMgYWN0aXZlIC5uYXYtbGluayB0YWIgb3ZlcmxhcHBpbmcgZm9jdXMgb3V0bGluZSBvZiBwcmV2aW91cy9uZXh0IC5uYXYtbGlua1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtcGlsbHMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1waWxscy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXBpbGxzLWNzcy12YXJzXG5cbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1cykpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVW5kZXJsaW5lXG4vL1xuXG4ubmF2LXVuZGVybGluZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwOiAjeyRuYXYtdW5kZXJsaW5lLWdhcH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcblxuICBnYXA6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcCk7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtZmlsbCxcbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIE1ha2Ugc3VyZSBidXR0b24gd2lsbCBncm93XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteDogI3tpZigkbmF2YmFyLXBhZGRpbmcteCA9PSBudWxsLCAwLCAkbmF2YmFyLXBhZGRpbmcteCl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15OiAjeyRuYXZiYXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICN7JG5hdmJhci1icmFuZC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogI3skbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplOiAjeyRuYXZiYXItYnJhbmQtZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAjeyRuYXZiYXItdG9nZ2xlci1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAjeyRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICN7JG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAvLyBUaGUgYGZsZXgtd3JhcGAgcHJvcGVydHkgaXMgaW5oZXJpdGVkIHRvIHNpbXBsaWZ5IHRoZSBleHBhbmRlZCBuYXZiYXJzXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogMDtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcblxuICBhLFxuICBhOmhvdmVyLFxuICBhOmZvY3VzICB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcik7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb24pKTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGgpO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogdmFyKC0tI3skcHJlZml4fXNjcm9sbC1oZWlnaHQsIDc1dmgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWV4cGFuZC1sb29wXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby11bmlvbi1jbGFzcy1uYW1lXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMge1xuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obm9uZSk7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWV4cGFuZC1sb29wXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi5uYXZiYXItbGlnaHQge1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgLm5hdmJhci1saWdodGBcIiwgXCJ2NS4yLjBcIiwgXCJ2Ni4wLjBcIiwgdHJ1ZSk7XG59XG5cbi5uYXZiYXItZGFyayxcbi5uYXZiYXJbZGF0YS1icy10aGVtZT1cImRhcmtcIl0ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay1jc3MtdmFyc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgPiAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgPiAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcblxuICAgICAgICAgID4gLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgPiAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb24pKTtcblxuICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY29yZGlvbiBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNldCBhIGJvcmRlci1yYWRpdXMgb24gdGhlIGxhc3QgaXRlbSBpZiB0aGUgYWNjb3JkaW9uIGlzIGNvbGxhcHNlZFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14KTtcbn1cblxuXG4vLyBGbHVzaCBhY2NvcmRpb24gaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGFjY29yZGlvbiBpdGVtcyBlZGdlLXRvLWVkZ2UuXG5cbi5hY2NvcmRpb24tZmx1c2gge1xuICA+IC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1jbGFzc1xuICAgID4gLmFjY29yZGlvbi1jb2xsYXBzZSxcbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uLFxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LWNsYXNzXG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyayl9O1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHBhZ2luYXRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmcpO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgLmFjdGl2ZSA+ICYge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCA+ICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSBjYWxjKC0xICogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9KSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tbWl4aW5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLW1peGluXG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14OiAjeyRiYWRnZS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXk6ICN7JGJhZGdlLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkYmFkZ2UtZm9udC1zaXplLCAtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodDogI3skYmFkZ2UtZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1jb2xvcjogI3skYmFkZ2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzOiAjeyRiYWRnZS1ib3JkZXItcmFkaXVzfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXg6ICN7JGFsZXJ0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteTogI3skYWxlcnQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbTogI3skYWxlcnQtbWFyZ2luLWJvdHRvbX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yOiBpbmhlcml0O1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXI6ICN7JGFsZXJ0LWJvcmRlci13aWR0aH0gc29saWQgdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXM6ICN7JGFsZXJ0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiBpbmhlcml0O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1cykpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcik7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleCArIDE7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAqIDEuMjUgJGFsZXJ0LXBhZGRpbmcteDtcbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1tb2RpZmllcnNcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnRcbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5hbGVydC0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtbW9kaWZpZXJzXG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWtleWZyYW1lc1xuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7IH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1rZXlmcmFtZXNcblxuLnByb2dyZXNzLFxuLnByb2dyZXNzLXN0YWNrZWQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0OiAjeyRwcm9ncmVzcy1oZWlnaHR9O1xuICBAaW5jbHVkZSByZnMoJHByb2dyZXNzLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmc6ICN7JHByb2dyZXNzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogI3skcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3c6ICN7JHByb2dyZXNzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3I6ICN7JHByb2dyZXNzLWJhci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZzogI3skcHJvZ3Jlc3MtYmFyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICN7JHByb2dyZXNzLWJhci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3cpKTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uKSk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3MgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogI3skbGlzdC1ncm91cC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAjeyRsaXN0LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogI3skbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogI3skbGlzdC1ncm91cC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZzogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtOjpiZWZvcmUge1xuICAgIC8vIEluY3JlbWVudHMgb25seSB0aGlzIGluc3RhbmNlIG9mIHRoZSBzZWN0aW9uIGNvdW50ZXJcbiAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLCBcIi5cIikgXCIuIFwiO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICB9XG59XG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnKTtcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgJjpub3QoLmFjdGl2ZSkge1xuICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1tb2RpZmllcnNcbi8vIExpc3QgZ3JvdXAgY29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuIiwiLy8gVHJhbnNwYXJlbnQgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHByb3BlcnRpZXMgaW5jbHVkZWQgZm9yIGJ1dHRvbiB2ZXJzaW9uLlxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4uYnRuLWNsb3NlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcjogI3skYnRuLWNsb3NlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnOiAjeyBlc2NhcGUtc3ZnKCRidG4tY2xvc2UtYmcpIH07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5OiAjeyRidG4tY2xvc2Utb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5OiAjeyRidG4tY2xvc2UtaG92ZXItb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICN7JGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogI3skYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNsb3NlLWNzcy12YXJzXG5cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkYnRuLWNsb3NlLXdpZHRoO1xuICBoZWlnaHQ6ICRidG4tY2xvc2UtaGVpZ2h0O1xuICBwYWRkaW5nOiAkYnRuLWNsb3NlLXBhZGRpbmcteSAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZpbHRlcik7XG4gIGJvcmRlcjogMDsgLy8gZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG4gIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eSk7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdyk7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1jbG9zZS13aGl0ZSgpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZpbHRlcjogI3skYnRuLWNsb3NlLWZpbHRlci1kYXJrfTtcbn1cblxuLmJ0bi1jbG9zZS13aGl0ZSB7XG4gIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xufVxuXG46cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZmlsdGVyOiAjeyRidG4tY2xvc2UtZmlsdGVyfTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgYnRuLWNsb3NlLXdoaXRlKCk7XG4gIH1cbn1cbiIsIi50b2FzdCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteDogI3skdG9hc3QtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15OiAjeyR0b2FzdC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nOiAjeyR0b2FzdC1zcGFjaW5nfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoOiAjeyR0b2FzdC1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHRvYXN0LWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtY29sb3I6ICN7JHRvYXN0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYmc6ICN7JHRvYXN0LWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGg6ICN7JHRvYXN0LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcjogI3skdG9hc3QtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1czogI3skdG9hc3QtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3c6ICN7JHRvYXN0LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZzogI3skdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC1jc3MtdmFyc1xuXG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykpO1xuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY29udGFpbmVyIHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZyk7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGNhbGModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgfVxufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4OiAjeyR6aW5kZXgtbW9kYWx9O1xuICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbWR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nOiAjeyRtb2RhbC1pbm5lci1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1iZzogI3skbW9kYWwtY29udGVudC1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcjogI3skbW9kYWwtY29udGVudC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteDogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZzogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmd9OyAvLyBUb2RvIGluIHY2OiBTcGxpdCB0aGlzIHBhZGRpbmcgaW50byB4IGFuZCB5XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcDogI3skbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnOiAjeyRtb2RhbC1mb290ZXItYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbik7XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdykpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4OiAjeyR6aW5kZXgtbW9kYWwtYmFja2Ryb3B9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1iZzogI3skbW9kYWwtYmFja2Ryb3AtYmd9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5OiAjeyRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuXG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AodmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleCksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1iZyksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5KSk7XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgLy8gU3BsaXQgcHJvcGVydGllcyB0byBhdm9pZCBpbnZhbGlkIGNhbGMoKSBmdW5jdGlvbiBpZiB2YWx1ZSBpcyAwXG4gICAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteCkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjVcIiwgXCJ2NS54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igb3ZlcmZsb3ctd3JhcCAvIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXg6ICN7JHppbmRleC1wb3BvdmVyfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGg6ICN7JHBvcG92ZXItbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJnOiAjeyRwb3BvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGg6ICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3I6ICN7JHBvcG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdzogI3skcG9wb3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1oZWFkZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcjogI3skcG9wb3Zlci1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogI3skcG9wb3Zlci1oZWFkZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteTogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcjogI3skcG9wb3Zlci1ib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aDogI3skcG9wb3Zlci1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0OiAjeyRwb3BvdmVyLWFycm93LWhlaWdodH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGgpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3cpKTtcblxuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItZW5kIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItc3RhcnQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICByaWdodDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1zdGFydDtcbiAgfVxufVxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3IpO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tc3RhcnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tZW5kKSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGZpbHRlcjogdmFyKC0tI3skcHJlZml4fWNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXIpO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpICN7XCIvKnJ0bDpcIiArIGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKSArIFwiKi9cIn07XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZykgI3tcIi8qcnRsOlwiICsgZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpICsgXCIqL1wifTtcbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHMvY29udHJvbHNcbi8vXG4vLyBBZGQgYSBjb250YWluZXIgKHN1Y2ggYXMgYSBsaXN0KSB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhbiBpdGVtIChpZGVhbGx5IGEgZm9jdXNhYmxlIGNvbnRyb2wsXG4vLyBsaWtlIGEgYnV0dG9uKSB3aXRoIGRhdGEtYnMtdGFyZ2V0IGZvciBlYWNoIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcblxuICBbZGF0YS1icy10YXJnZXRdIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmcpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5O1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyO1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBwYWRkaW5nLXRvcDogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcm91c2VsLWNhcHRpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIERhcmsgbW9kZSBjYXJvdXNlbFxuXG5AbWl4aW4gY2Fyb3VzZWwtZGFyaygpIHtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogI3skY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZy1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogI3skY2Fyb3VzZWwtY2FwdGlvbi1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcjogI3skY2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlci1kYXJrfTtcbn1cblxuLmNhcm91c2VsLWRhcmsge1xuICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG59XG5cbjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICN7JGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAjeyRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcjogI3skY2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcn07XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaywgdHJ1ZSkge1xuICAgIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNsZWFyZml4XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG4uc3Bpbm5lci1ncm93LFxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodCk7XG4gIHZlcnRpY2FsLWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbik7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZCkgbGluZWFyIGluZmluaXRlIHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lKTtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSAje1wiLyogcnRsOmlnbm9yZSAqL1wifTsgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ib3JkZXI7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcblxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aCkgc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aC1zbX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcblxuLnNwaW5uZXItZ3JvdyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWdyb3c7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG5cbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG59XG5cbkBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWQgKiAyfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4lb2ZmY2FudmFzLWNzcy12YXJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtemluZGV4OiAjeyR6aW5kZXgtb2ZmY2FudmFzfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoOiAjeyRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQ6ICN7JG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14OiAjeyRvZmZjYW52YXMtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteTogI3skb2ZmY2FudmFzLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcjogI3skb2ZmY2FudmFzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnOiAjeyRvZmZjYW52YXMtYmctY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAjeyRvZmZjYW52YXMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcjogI3skb2ZmY2FudmFzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93OiAjeyRvZmZjYW52YXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uOiAje3RyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLWNzcy12YXJzXG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGV4dGVuZCAlb2ZmY2FudmFzLWNzcy12YXJzO1xuICB9XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0KSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYmcpO1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdykpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRyYW5zaXRpb24pKTtcblxuICAgICAgJi5vZmZjYW52YXMtc3RhcnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy1lbmQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy1ib3R0b20ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zaG93aW5nLFxuICAgICAgJi5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5zaG93aW5nLFxuICAgICAgJi5oaWRpbmcsXG4gICAgICAmLnNob3cge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQ6IGF1dG87XG4gICAgICAgIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICAvLyBSZXNldCBgYmFja2dyb3VuZC1jb2xvcmAgaW4gY2FzZSBgLmJnLSpgIGNsYXNzZXMgYXJlIHVzZWQgaW4gb2ZmY2FudmFzXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub2ZmY2FudmFzLWJhY2tkcm9wIHtcbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LW9mZmNhbnZhcy1iYWNrZHJvcCwgJG9mZmNhbnZhcy1iYWNrZHJvcC1iZywgJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5KTtcbn1cblxuLm9mZmNhbnZhcy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIC8vIFNwbGl0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW52YWxpZCBjYWxjKCkgZnVuY3Rpb24gaWYgdmFsdWUgaXMgMFxuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuIiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC50ZXh0LWJnLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWJnLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmxpbmstI3skY29sb3J9IHtcbiAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAkaG92ZXItY29sb3I6IGlmKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpLCB0aW50LWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkpO1xuICAgICAgICBjb2xvcjogUkdCQSgje3RvLXJnYigkaG92ZXItY29sb3IpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh0by1yZ2IoJGhvdmVyLWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbmUtb2ZmIHNwZWNpYWwgbGluayBoZWxwZXIgYXMgYSBicmlkZ2UgdW50aWwgdjZcbi5saW5rLWJvZHktZW1waGFzaXMge1xuICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIC43NSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCIuZm9jdXMtcmluZzpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIC8vIEJ5IGRlZmF1bHQsIHRoZXJlIGlzIG5vIGAtLWJzLWZvY3VzLXJpbmcteGAsIGAtLWJzLWZvY3VzLXJpbmcteWAsIG9yIGAtLWJzLWZvY3VzLXJpbmctYmx1cmAsIGJ1dCB3ZSBwcm92aWRlIENTUyB2YXJpYWJsZXMgd2l0aCBmYWxsYmFja3MgdG8gaW5pdGlhbCBgMGAgdmFsdWVzXG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXgsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXksIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWJsdXIsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcik7XG59XG4iLCIuaWNvbi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogJGljb24tbGluay1nYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNSkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gID4gLmJpIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbik7XG4gIH1cbn1cblxuLmljb24tbGluay1ob3ZlciB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgPiAuYmkge1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1saW5rLXRyYW5zZm9ybSwgJGljb24tbGluay1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBlYWNoICRrZXksICRyYXRpbyBpbiAkYXNwZWN0LXJhdGlvcyB7XG4gIC5yYXRpby0jeyRrZXl9IHtcbiAgICAtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgfVxufVxuIiwiLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgc3RpY2t5IHRvcCBhbmQgYm90dG9tXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuXG4gICAgLnN0aWNreSN7JGluZml4fS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHN0YWNrc1xuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG4iLCIvL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBGaXggdG8gcHJldmVudCBvdmVyZmxvd2luZyBjaGlsZHJlbiB0byBiZWNvbWUgZm9jdXNhYmxlXG4gICoge1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjIvVGVjaG5pcXVlcy9nZW5lcmFsL0cxLmh0bWxcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjojeyRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6ICR2ci1ib3JkZXItd2lkdGg7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cbiIsIi8qIEN1c3RvbSBjb2xvcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuJGZhY2Vib29rOiAjM2I1OTk4ICFkZWZhdWx0O1xuJHR3aXR0ZXI6ICMxZGExZjIgIWRlZmF1bHQ7XG4kZ29vZ2xlLXBsdXM6ICNkZDRiMzkgIWRlZmF1bHQ7XG4kaW5zdGFncmFtOiAjZTEzMDZjICFkZWZhdWx0O1xuJGxpbmtlZGluOiAjMDA3N2I1ICFkZWZhdWx0O1xuJGdpdGh1YjogIzQ0NDA1MCAhZGVmYXVsdDtcbiRkcmliYmJsZTogI2VhNGM4OSAhZGVmYXVsdDtcbiRwaW50ZXJlc3Q6ICNjYjIwMjcgIWRlZmF1bHQ7XG4kc2xhY2s6ICM0YTE1NGIgIWRlZmF1bHQ7XG4kcmVkZGl0OiAjZmY0NTAwICFkZWZhdWx0O1xuJHlvdXR1YmU6ICNmMDAgIWRlZmF1bHQ7XG4kdmltZW86ICMxYWI3ZWEgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbG9yczogKFxuICBcImZhY2Vib29rXCI6ICRmYWNlYm9vayxcbiAgXCJ0d2l0dGVyXCI6ICR0d2l0dGVyLFxuICBcImdvb2dsZS1wbHVzXCI6ICRnb29nbGUtcGx1cyxcbiAgXCJpbnN0YWdyYW1cIjogJGluc3RhZ3JhbSxcbiAgXCJsaW5rZWRpblwiOiAkbGlua2VkaW4sXG4gIFwiZ2l0aHViXCI6ICRnaXRodWIsXG4gIFwiZHJpYmJibGVcIjogJGRyaWJiYmxlLFxuICBcInBpbnRlcmVzdFwiOiAkcGludGVyZXN0LFxuICBcInNsYWNrXCI6ICRzbGFjayxcbiAgXCJyZWRkaXRcIjogJHJlZGRpdCxcbiAgXCJ5b3V0dWJlXCI6ICR5b3V0dWJlLFxuICBcInZpbWVvXCI6ICR2aW1lb1xuKSAhZGVmYXVsdDtcblxuOnJvb3Qge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY3VzdG9tLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3tyZWQoJHZhbHVlKX0sICN7Z3JlZW4oJHZhbHVlKX0sICN7Ymx1ZSgkdmFsdWUpfTtcbiAgfVxuXG4gIEBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gICAgLmJnLWdyYWRpZW50LSN7JHN0YXRlfSB7XG4gICAgICAtLSN7JHByZWZpeH1iZy1ncmFkaWVudC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgICAtLSN7JHByZWZpeH1iZy1ncmFkaWVudC1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdmFyKC0tI3skcHJlZml4fWJnLWdyYWRpZW50LWNvbG9yKSwgcmdiYSh2YXIoLS0jeyRwcmVmaXh9YmctZ3JhZGllbnQtY29sb3ItcmdiKSwgLjUpKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBIG5ldyB2YXJpYWJsZSAkY3VzdG9tLXRoZW1lLWNvbG9ycyB3YXMgY3JlYXRlZCBieSBtZXJnaW5nIHRoZSAkdGhlbWUtY29sb3JzIGFuZCAkY3VzdG9tLWNvbG9ycyBhcnJheXMuIFRoaXMgd2FzIG5lY2Vzc2FyeSB0byBlbmFibGUgdGhlIHVzZSBvZiBib3RoIHRoZW1lIGFuZCBjdXN0b20gY29sb3JzIGZvciBidXR0b25zIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIGNvbmZpZ3VyYXRpb25zLlxuXG4kY3VzdG9tLXRoZW1lLWNvbG9yczogbWFwLW1lcmdlKCR0aGVtZS1jb2xvcnMsICRjdXN0b20tY29sb3JzKSAhZGVmYXVsdDtcbiIsIi8qIFV0aWxpdGllc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBAc3R5bGlzdGljL251bWJlci1sZWFkaW5nLXplcm9cblxuLy8gVXRpbGl0aWVzXG5cbiR1dGlsaXRpZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR1dGlsaXRpZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy12ZXJ0aWNhbC1hbGlnblxuICAgIFwiYWxpZ25cIjpcbiAgICAoXG4gICAgICBwcm9wZXJ0eTogdmVydGljYWwtYWxpZ24sXG4gICAgICBjbGFzczogYWxpZ24sXG4gICAgICB2YWx1ZXM6IGJhc2VsaW5lIHRvcCBtaWRkbGUgYm90dG9tIHRleHQtYm90dG9tIHRleHQtdG9wXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXZlcnRpY2FsLWFsaWduXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLWZsb2F0XG4gICAgXCJmbG9hdFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGZsb2F0LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIHN0YXJ0OiBpbmxpbmUtc3RhcnQsXG4gICAgICAgIGVuZDogaW5saW5lLWVuZCxcbiAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtZmxvYXRcbiAgICAvLyBPYmplY3QgRml0IHV0aWxpdGllc1xuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1vYmplY3QtZml0XG4gICAgXCJvYmplY3QtZml0XCI6XG4gICAgKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBvYmplY3QtZml0LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIGNvbnRhaW46IGNvbnRhaW4sXG4gICAgICAgIGNvdmVyOiBjb3ZlcixcbiAgICAgICAgZmlsbDogZmlsbCxcbiAgICAgICAgc2NhbGU6IHNjYWxlLWRvd24sXG4gICAgICAgIG5vbmU6IG5vbmVcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtb2JqZWN0LWZpdFxuICAgIC8vIE9wYWNpdHkgdXRpbGl0aWVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLW9wYWNpdHlcbiAgICBcIm9wYWNpdHlcIjogKFxuICAgICAgcHJvcGVydHk6IG9wYWNpdHksXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMDogMCxcbiAgICAgICAgMjU6IDAuMjUsXG4gICAgICAgIDUwOiAwLjUsXG4gICAgICAgIDc1OiAwLjc1LFxuICAgICAgICAxMDA6IDFcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtb3BhY2l0eVxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1vdmVyZmxvd1xuICAgIFwib3ZlcmZsb3dcIjogKFxuICAgICAgcHJvcGVydHk6IG92ZXJmbG93LFxuICAgICAgdmFsdWVzOiBhdXRvIGhpZGRlbiB2aXNpYmxlIHNjcm9sbFxuICAgICksXG4gICAgXCJvdmVyZmxvdy14XCI6IChcbiAgICAgIHByb3BlcnR5OiBvdmVyZmxvdy14LFxuICAgICAgdmFsdWVzOiBhdXRvIGhpZGRlbiB2aXNpYmxlIHNjcm9sbCxcbiAgICApLFxuICAgIFwib3ZlcmZsb3cteVwiOiAoXG4gICAgICBwcm9wZXJ0eTogb3ZlcmZsb3cteSxcbiAgICAgIHZhbHVlczogYXV0byBoaWRkZW4gdmlzaWJsZSBzY3JvbGwsXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLW92ZXJmbG93XG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLWRpc3BsYXlcbiAgICBcImRpc3BsYXlcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByaW50OiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGRpc3BsYXksXG4gICAgICBjbGFzczogZCxcbiAgICAgIHZhbHVlczogaW5saW5lIGlubGluZS1ibG9jayBibG9jayBncmlkIHRhYmxlIHRhYmxlLXJvdyB0YWJsZS1jZWxsIGZsZXggaW5saW5lLWZsZXggbm9uZVxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1kaXNwbGF5XG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXNoYWRvd1xuICAgIFwic2hhZG93XCI6IChcbiAgICAgIHByb3BlcnR5OiBib3gtc2hhZG93LFxuICAgICAgY2xhc3M6IHNoYWRvdyxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdyksXG4gICAgICAgIHNtOiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSksXG4gICAgICAgIGxnOiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZyksXG4gICAgICAgIG5vbmU6IG5vbmVcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtc2hhZG93XG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXBvc2l0aW9uXG4gICAgXCJwb3NpdGlvblwiOiAoXG4gICAgICBwcm9wZXJ0eTogcG9zaXRpb24sXG4gICAgICB2YWx1ZXM6IHN0YXRpYyByZWxhdGl2ZSBhYnNvbHV0ZSBmaXhlZCBzdGlja3lcbiAgICApLFxuICAgIFwidG9wXCI6IChcbiAgICAgIHByb3BlcnR5OiBpbnNldC1ibG9jay1zdGFydCxcbiAgICAgIGNsYXNzOiB0b3AsXG4gICAgICB2YWx1ZXM6ICRwb3NpdGlvbi12YWx1ZXNcbiAgICApLFxuICAgIFwiYm90dG9tXCI6IChcbiAgICAgIHByb3BlcnR5OiBpbnNldC1ibG9jay1lbmQsXG4gICAgICBjbGFzczogYm90dG9tLFxuICAgICAgdmFsdWVzOiAkcG9zaXRpb24tdmFsdWVzXG4gICAgKSxcbiAgICBcInN0YXJ0XCI6IChcbiAgICAgIHByb3BlcnR5OiBpbnNldC1pbmxpbmUtc3RhcnQsXG4gICAgICBjbGFzczogc3RhcnQsXG4gICAgICB2YWx1ZXM6ICRwb3NpdGlvbi12YWx1ZXNcbiAgICApLFxuICAgIFwiZW5kXCI6IChcbiAgICAgIHByb3BlcnR5OiBpbnNldC1pbmxpbmUtZW5kLFxuICAgICAgY2xhc3M6IGVuZCxcbiAgICAgIHZhbHVlczogJHBvc2l0aW9uLXZhbHVlc1xuICAgICksXG4gICAgXCJ0cmFuc2xhdGUtbWlkZGxlXCI6IChcbiAgICAgIHByb3BlcnR5OiB0cmFuc2Zvcm0sXG4gICAgICBjbGFzczogdHJhbnNsYXRlLW1pZGRsZSxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSksXG4gICAgICAgIHg6IHRyYW5zbGF0ZVgoLTUwJSksXG4gICAgICAgIHk6IHRyYW5zbGF0ZVkoLTUwJSksXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXBvc2l0aW9uXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLWJvcmRlcnNcbiAgICBcImJvcmRlclwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3R5bGUpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpLFxuICAgICAgICAwOiAwXG4gICAgICApXG4gICAgKSxcbiAgICBcImJvcmRlci1zdHlsZVwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXN0eWxlLFxuICAgICAgY2xhc3M6IGJvcmRlcixcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgc29saWQ6IHNvbGlkLFxuICAgICAgICBkYXNoZWQ6IGRhc2hlZCxcbiAgICAgICAgbm9uZTogbm9uZVxuICAgICAgKVxuICAgICksXG4gICAgXCJib3JkZXItdG9wXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItYmxvY2stc3RhcnQsXG4gICAgICBjbGFzczogYm9yZGVyLXRvcCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSxcbiAgICAgICAgMDogMCxcbiAgICAgIClcbiAgICApLFxuICAgIFwiYm9yZGVyLWVuZFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLWlubGluZS1lbmQsXG4gICAgICBjbGFzczogYm9yZGVyLWVuZCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSxcbiAgICAgICAgMDogMCxcbiAgICAgIClcbiAgICApLFxuICAgIFwiYm9yZGVyLWJvdHRvbVwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLWJsb2NrLWVuZCxcbiAgICAgIGNsYXNzOiBib3JkZXItYm90dG9tLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3R5bGUpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpLFxuICAgICAgICAwOiAwLFxuICAgICAgKVxuICAgICksXG4gICAgXCJib3JkZXItc3RhcnRcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1pbmxpbmUtc3RhcnQsXG4gICAgICBjbGFzczogYm9yZGVyLXN0YXJ0LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3R5bGUpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpLFxuICAgICAgICAwOiAwLFxuICAgICAgKVxuICAgICksXG4gICAgXCJib3JkZXItY29sb3JcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1jb2xvcixcbiAgICAgIGNsYXNzOiBib3JkZXIsXG4gICAgICBsb2NhbC12YXJzOiAoXG4gICAgICAgIFwiYm9yZGVyLW9wYWNpdHlcIjogMVxuICAgICAgKSxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKFxuICAgICAgICAkdXRpbGl0aWVzLWJvcmRlci1jb2xvcnMsXG4gICAgICAgIChcbiAgICAgICAgICBcInRyYW5zcGFyZW50XCI6IHRyYW5zcGFyZW50IC8vIChDKVxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICAvLz8gY2xhc3MgZm9yIHRoaXMgdXRpbGl0eSBpcyBib3JkZXItY29sb3Itc3VidGxlXG4gICAgXCJzdWJ0bGUtYm9yZGVyLWNvbG9yXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItY29sb3IsXG4gICAgICBjbGFzczogYm9yZGVyLFxuICAgICAgdmFsdWVzOiAkdXRpbGl0aWVzLWJvcmRlci1zdWJ0bGVcbiAgICApLFxuICAgIFwiYm9yZGVyLXdpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItd2lkdGgsXG4gICAgICBjbGFzczogYm9yZGVyLFxuICAgICAgdmFsdWVzOiAkYm9yZGVyLXdpZHRoc1xuICAgICksXG4gICAgXCJib3JkZXItb3BhY2l0eVwiOiAoXG4gICAgICBjc3MtdmFyOiB0cnVlLFxuICAgICAgY2xhc3M6IGJvcmRlci1vcGFjaXR5LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDEwOiAwLjEsXG4gICAgICAgIDI1OiAwLjI1LFxuICAgICAgICA1MDogMC41LFxuICAgICAgICA3NTogMC43NSxcbiAgICAgICAgMTAwOiAxXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWJvcmRlcnNcbiAgICAvLyBTaXppbmcgdXRpbGl0aWVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXNpemluZ1xuICAgIFwid2lkdGhcIjogKFxuICAgICAgcHJvcGVydHk6IHdpZHRoLFxuICAgICAgY2xhc3M6IHcsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgJHNpemVzLXB4LFxuICAgICAgICAoXG4gICAgICAgICAgMjA6IDIwJSxcbiAgICAgICAgICAyNTogMjUlLFxuICAgICAgICAgIDUwOiA1MCUsXG4gICAgICAgICAgNjA6IDYwJSxcbiAgICAgICAgICA3NTogNzUlLFxuICAgICAgICAgIDEwMDogMTAwJSxcbiAgICAgICAgICBhdXRvOiBhdXRvXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIFwibWF4LXdpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiBtYXgtd2lkdGgsXG4gICAgICBjbGFzczogbXcsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMTAwOiAxMDAlXG4gICAgICApXG4gICAgKSxcbiAgICBcInZpZXdwb3J0LXdpZHRoXCI6IChcbiAgICAgIHByb3BlcnR5OiB3aWR0aCxcbiAgICAgIGNsYXNzOiB2dyxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxMDA6IDEwMHZ3XG4gICAgICApXG4gICAgKSxcbiAgICBcIm1pbi12aWV3cG9ydC13aWR0aFwiOiAoXG4gICAgICBwcm9wZXJ0eTogbWluLXdpZHRoLFxuICAgICAgY2xhc3M6IG1pbi12dyxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxMDA6IDEwMHZ3XG4gICAgICApXG4gICAgKSxcbiAgICBcImhlaWdodFwiOiAoXG4gICAgICBwcm9wZXJ0eTogaGVpZ2h0LFxuICAgICAgY2xhc3M6IGgsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgJHNpemVzLXB4LFxuICAgICAgICAoXG4gICAgICAgICAgMjU6IDI1JSxcbiAgICAgICAgICA1MDogNTAlLFxuICAgICAgICAgIDc1OiA3NSUsXG4gICAgICAgICAgMTAwOiAxMDAlLFxuICAgICAgICAgIGF1dG86IGF1dG9cbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgXCJtYXgtaGVpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBtYXgtaGVpZ2h0LFxuICAgICAgY2xhc3M6IG1oLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDEwMDogMTAwJVxuICAgICAgKVxuICAgICksXG4gICAgXCJ2aWV3cG9ydC1oZWlnaHRcIjogKFxuICAgICAgcHJvcGVydHk6IGhlaWdodCxcbiAgICAgIGNsYXNzOiB2aCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxMDA6IDEwMHZoXG4gICAgICApXG4gICAgKSxcbiAgICBcIm1pbi12aWV3cG9ydC1oZWlnaHRcIjogKFxuICAgICAgcHJvcGVydHk6IG1pbi1oZWlnaHQsXG4gICAgICBjbGFzczogbWluLXZoLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDEwMDogMTAwdmhcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtc2l6aW5nXG4gICAgLy8gRmxleCB1dGlsaXRpZXNcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtZmxleFxuICAgIFwiZmxleFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGZsZXgsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgZmlsbDogMSAxIGF1dG9cbiAgICAgIClcbiAgICApLFxuICAgIFwiZmxleC1kaXJlY3Rpb25cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBmbGV4LWRpcmVjdGlvbixcbiAgICAgIGNsYXNzOiBmbGV4LFxuICAgICAgdmFsdWVzOiByb3cgY29sdW1uIHJvdy1yZXZlcnNlIGNvbHVtbi1yZXZlcnNlXG4gICAgKSxcbiAgICBcImZsZXgtZ3Jvd1wiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGZsZXgtZ3JvdyxcbiAgICAgIGNsYXNzOiBmbGV4LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIGdyb3ctMDogMCxcbiAgICAgICAgZ3Jvdy0xOiAxXG4gICAgICApXG4gICAgKSxcbiAgICBcImZsZXgtc2hyaW5rXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxleC1zaHJpbmssXG4gICAgICBjbGFzczogZmxleCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzaHJpbmstMDogMCxcbiAgICAgICAgc2hyaW5rLTE6IDFcbiAgICAgIClcbiAgICApLFxuICAgIFwiZmxleC13cmFwXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogZmxleC13cmFwLFxuICAgICAgY2xhc3M6IGZsZXgsXG4gICAgICB2YWx1ZXM6IHdyYXAgbm93cmFwIHdyYXAtcmV2ZXJzZVxuICAgICksXG4gICAgXCJqdXN0aWZ5LWNvbnRlbnRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBqdXN0aWZ5LWNvbnRlbnQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICBiZXR3ZWVuOiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICBhcm91bmQ6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgZXZlbmx5OiBzcGFjZS1ldmVubHlcbiAgICAgIClcbiAgICApLFxuICAgIFwiYWxpZ24taXRlbXNcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBhbGlnbi1pdGVtcyxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZW5kOiBmbGV4LWVuZCxcbiAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgc3RyZXRjaDogc3RyZXRjaFxuICAgICAgKVxuICAgICksXG4gICAgXCJhbGlnbi1jb250ZW50XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogYWxpZ24tY29udGVudCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgZW5kOiBmbGV4LWVuZCxcbiAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoXG4gICAgICApXG4gICAgKSxcbiAgICBcImFsaWduLXNlbGZcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBhbGlnbi1zZWxmLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICBzdHJldGNoOiBzdHJldGNoXG4gICAgICApXG4gICAgKSxcbiAgICBcIm9yZGVyXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogb3JkZXIsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgZmlyc3Q6IC0xLFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiAxLFxuICAgICAgICAyOiAyLFxuICAgICAgICAzOiAzLFxuICAgICAgICA0OiA0LFxuICAgICAgICA1OiA1LFxuICAgICAgICBsYXN0OiA2XG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWZsZXhcbiAgICAvLyBNYXJnaW4gdXRpbGl0aWVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXNwYWNpbmdcbiAgICBcIm1hcmdpblwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbixcbiAgICAgIGNsYXNzOiBtLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICRzcGFjZXJzLFxuICAgICAgICAoXG4gICAgICAgICAgYXV0bzogYXV0b1xuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICBcIm1hcmdpbi14XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWlubGluZS1lbmQgbWFyZ2luLWlubGluZS1zdGFydCxcbiAgICAgIGNsYXNzOiBteCxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKFxuICAgICAgICAkc3BhY2VycyxcbiAgICAgICAgKFxuICAgICAgICAgIGF1dG86IGF1dG9cbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgXCJtYXJnaW4teVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi1ibG9jay1zdGFydCBtYXJnaW4tYmxvY2stZW5kLFxuICAgICAgY2xhc3M6IG15LFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICRzcGFjZXJzLFxuICAgICAgICAoXG4gICAgICAgICAgYXV0bzogYXV0b1xuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICBcIm1hcmdpbi10b3BcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tYmxvY2stc3RhcnQsXG4gICAgICBjbGFzczogbXQsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgJHNwYWNlcnMsXG4gICAgICAgIChcbiAgICAgICAgICBhdXRvOiBhdXRvXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIFwibWFyZ2luLWVuZFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi1pbmxpbmUtZW5kLFxuICAgICAgY2xhc3M6IG1lLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoJHNwYWNlcnMsIChhdXRvOiBhdXRvKSlcbiAgICApLFxuICAgIFwibWFyZ2luLWJvdHRvbVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi1ibG9jay1lbmQsXG4gICAgICBjbGFzczogbWIsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgJHNwYWNlcnMsXG4gICAgICAgIChcbiAgICAgICAgICBhdXRvOiBhdXRvXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIFwibWFyZ2luLXN0YXJ0XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWlubGluZS1zdGFydCxcbiAgICAgIGNsYXNzOiBtcyxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKCRzcGFjZXJzLCAoYXV0bzogYXV0bykpXG4gICAgKSxcbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gdXRpbGl0aWVzXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW5cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4sXG4gICAgICBjbGFzczogbSxcbiAgICAgIHZhbHVlczogJG5lZ2F0aXZlLXNwYWNlcnNcbiAgICApLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXhcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4taW5saW5lLWVuZCBtYXJnaW4taW5saW5lLXN0YXJ0LFxuICAgICAgY2xhc3M6IG14LFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4teVwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IG1hcmdpbi1ibG9jay1zdGFydCBtYXJnaW4tYmxvY2stZW5kLFxuICAgICAgY2xhc3M6IG15LFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tdG9wXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWJsb2NrLXN0YXJ0LFxuICAgICAgY2xhc3M6IG10LFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tZW5kXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWlubGluZS1lbmQsXG4gICAgICBjbGFzczogbWUsXG4gICAgICB2YWx1ZXM6ICRuZWdhdGl2ZS1zcGFjZXJzXG4gICAgKSxcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi1ib3R0b21cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4tYmxvY2stZW5kLFxuICAgICAgY2xhc3M6IG1iLFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4tc3RhcnRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBtYXJnaW4taW5saW5lLXN0YXJ0LFxuICAgICAgY2xhc3M6IG1zLFxuICAgICAgdmFsdWVzOiAkbmVnYXRpdmUtc3BhY2Vyc1xuICAgICksXG4gICAgLy8gUGFkZGluZyB1dGlsaXRpZXNcbiAgICBcInBhZGRpbmdcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBwYWRkaW5nLFxuICAgICAgY2xhc3M6IHAsXG4gICAgICB2YWx1ZXM6ICRzcGFjZXJzXG4gICAgKSxcbiAgICBcInBhZGRpbmcteFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmctaW5saW5lLWVuZCBwYWRkaW5nLWlubGluZS1zdGFydCxcbiAgICAgIGNsYXNzOiBweCxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy15XCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcGFkZGluZy1ibG9jay1zdGFydCBwYWRkaW5nLWJsb2NrLWVuZCxcbiAgICAgIGNsYXNzOiBweSxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy10b3BcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBwYWRkaW5nLWJsb2NrLXN0YXJ0LFxuICAgICAgY2xhc3M6IHB0LFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgXCJwYWRkaW5nLWVuZFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmctaW5saW5lLWVuZCxcbiAgICAgIGNsYXNzOiBwZSxcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy1ib3R0b21cIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBwYWRkaW5nLWJsb2NrLWVuZCxcbiAgICAgIGNsYXNzOiBwYixcbiAgICAgIHZhbHVlczogJHNwYWNlcnNcbiAgICApLFxuICAgIFwicGFkZGluZy1zdGFydFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHBhZGRpbmctaW5saW5lLXN0YXJ0LFxuICAgICAgY2xhc3M6IHBzLFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgXCJnYXBcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBnYXAsXG4gICAgICBjbGFzczogZ2FwLFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgXCJyb3ctZ2FwXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogcm93LWdhcCxcbiAgICAgIGNsYXNzOiByb3ctZ2FwLFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgXCJjb2x1bW4tZ2FwXCI6IChcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwcm9wZXJ0eTogY29sdW1uLWdhcCxcbiAgICAgIGNsYXNzOiBjb2x1bW4tZ2FwLFxuICAgICAgdmFsdWVzOiAkc3BhY2Vyc1xuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1zcGFjaW5nXG4gICAgLy8gVGV4dFxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy10ZXh0XG4gICAgXCJmb250LWZhbWlseVwiOiAoXG4gICAgICBwcm9wZXJ0eTogZm9udC1mYW1pbHksXG4gICAgICBjbGFzczogZm9udCxcbiAgICAgIHZhbHVlczogKG1vbm9zcGFjZTogdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSlcbiAgICApLFxuICAgIFwiZm9udC1zaXplXCI6IChcbiAgICAgIHJmczogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBmb250LXNpemUsXG4gICAgICBjbGFzczogZnMsXG4gICAgICB2YWx1ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgJGZvbnQtc2l6ZXMsXG4gICAgICAgIChcbiAgICAgICAgICB0aW55OiAkdGlueS1mb250LXNpemUsIC8vIChDKVxuICAgICAgICAgIGJpZzogJGJpZy1mb250LXNpemUsIC8vIChDKVxuICAgICAgICAgIGxhcmdlOiAkbGFyZ2UtZm9udC1zaXplLCAvLyAoQylcbiAgICAgICAgICB4bGFyZ2U6ICR4bGFyZ2UtZm9udC1zaXplLCAvLyAoQylcbiAgICAgICAgICB4eGxhcmdlOiAkeHhsYXJnZS1mb250LXNpemUgLy8gKEMpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIFwiZm9udC1zdHlsZVwiOiAoXG4gICAgICBwcm9wZXJ0eTogZm9udC1zdHlsZSxcbiAgICAgIGNsYXNzOiBmc3QsXG4gICAgICB2YWx1ZXM6IGl0YWxpYyBub3JtYWxcbiAgICApLFxuICAgIFwiZm9udC13ZWlnaHRcIjogKFxuICAgICAgcHJvcGVydHk6IGZvbnQtd2VpZ2h0LFxuICAgICAgY2xhc3M6IGZ3LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIGxpZ2h0ZXI6ICRmb250LXdlaWdodC1saWdodGVyLFxuICAgICAgICBsaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0LFxuICAgICAgICBub3JtYWw6ICRmb250LXdlaWdodC1ub3JtYWwsXG4gICAgICAgIG1lZGl1bTogJGZvbnQtd2VpZ2h0LW1lZGl1bSxcbiAgICAgICAgc2VtaWJvbGQ6ICRmb250LXdlaWdodC1zZW1pYm9sZCxcbiAgICAgICAgYm9sZDogJGZvbnQtd2VpZ2h0LWJvbGQsXG4gICAgICAgIGV4dHJhYm9sZDogJGZvbnQtd2VpZ2h0LWV4dHJhYm9sZCxcbiAgICAgICAgYm9sZGVyOiAkZm9udC13ZWlnaHQtYm9sZGVyXG4gICAgICApXG4gICAgKSxcbiAgICBcImxpbmUtaGVpZ2h0XCI6IChcbiAgICAgIHByb3BlcnR5OiBsaW5lLWhlaWdodCxcbiAgICAgIGNsYXNzOiBsaCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxOiAxLFxuICAgICAgICBpbmhlcml0OiBpbmhlcml0LCAvLyAoQylcbiAgICAgICAgc206ICRsaW5lLWhlaWdodC1zbSxcbiAgICAgICAgYmFzZTogJGxpbmUtaGVpZ2h0LWJhc2UsXG4gICAgICAgIGxnOiAkbGluZS1oZWlnaHQtbGdcbiAgICAgIClcbiAgICApLFxuICAgIFwidGV4dC1hbGlnblwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IHRleHQtYWxpZ24sXG4gICAgICBjbGFzczogdGV4dCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIGVuZDogZW5kLFxuICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgIClcbiAgICApLFxuICAgIFwidGV4dC1kZWNvcmF0aW9uXCI6IChcbiAgICAgIHByb3BlcnR5OiB0ZXh0LWRlY29yYXRpb24sXG4gICAgICB2YWx1ZXM6IG5vbmUgdW5kZXJsaW5lIGxpbmUtdGhyb3VnaFxuICAgICksXG4gICAgXCJ0ZXh0LXRyYW5zZm9ybVwiOiAoXG4gICAgICBwcm9wZXJ0eTogdGV4dC10cmFuc2Zvcm0sXG4gICAgICBjbGFzczogdGV4dCxcbiAgICAgIHZhbHVlczogbm9uZSBsb3dlcmNhc2UgdXBwZXJjYXNlIGNhcGl0YWxpemVcbiAgICApLFxuICAgIFwid2hpdGUtc3BhY2VcIjogKFxuICAgICAgcHJvcGVydHk6IHdoaXRlLXNwYWNlLFxuICAgICAgY2xhc3M6IHRleHQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgd3JhcDogbm9ybWFsLFxuICAgICAgICBub3dyYXA6IG5vd3JhcFxuICAgICAgKVxuICAgICksXG4gICAgXCJ3b3JkLXdyYXBcIjogKFxuICAgICAgcHJvcGVydHk6IHdvcmQtd3JhcCB3b3JkLWJyZWFrLFxuICAgICAgY2xhc3M6IHRleHQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgYnJlYWs6IGJyZWFrLXdvcmRcbiAgICAgICksXG4gICAgICBydGw6IGZhbHNlXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXRleHRcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtY29sb3JcbiAgICBcImNvbG9yXCI6IChcbiAgICAgIHByb3BlcnR5OiBjb2xvcixcbiAgICAgIGNsYXNzOiB0ZXh0LFxuICAgICAgbG9jYWwtdmFyczogKFxuICAgICAgICBcInRleHQtb3BhY2l0eVwiOiAxXG4gICAgICApLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICR1dGlsaXRpZXMtdGV4dC1jb2xvcnMsXG4gICAgICAgIChcbiAgICAgICAgICBcIndoaXRlXCI6IHZhcigtLSN7JHByZWZpeH13aGl0ZSksXG4gICAgICAgICAgXCJib2R5XCI6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSxcbiAgICAgICAgICBcImJvZHktc2Vjb25kYXJ5XCI6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpLFxuICAgICAgICAgIFwiYm9keS10ZXJ0aWFyeVwiOiB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3IpLFxuICAgICAgICAgIFwiYm9keS1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpLFxuICAgICAgICAgIFwibGlnaHRcIjogJHRleHQtbGlnaHQsIC8vIChjKVxuICAgICAgICAgIFwibGlnaHRlclwiOiAkdGV4dC1saWdodGVyLCAvLyAoYylcbiAgICAgICAgICBcImxpZ2h0ZXN0XCI6ICR0ZXh0LWxpZ2h0ZXN0LCAvLyAoYylcbiAgICAgICAgICBcImhlYWRpbmdcIjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpLCAvLyAoYylcbiAgICAgICAgICBcInJlc2V0XCI6IGluaGVyaXRcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgXCJ0ZXh0LW9wYWNpdHlcIjogKFxuICAgICAgY3NzLXZhcjogdHJ1ZSxcbiAgICAgIGNsYXNzOiB0ZXh0LW9wYWNpdHksXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMjU6IDAuMjUsXG4gICAgICAgIDUwOiAwLjUsXG4gICAgICAgIDc1OiAwLjc1LFxuICAgICAgICAxMDA6IDFcbiAgICAgIClcbiAgICApLFxuICAgIFwidGV4dC1jb2xvclwiOiAoXG4gICAgICBwcm9wZXJ0eTogY29sb3IsXG4gICAgICBjbGFzczogdGV4dCxcbiAgICAgIHZhbHVlczogJHV0aWxpdGllcy10ZXh0LWVtcGhhc2lzLWNvbG9yc1xuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1jb2xvclxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1saW5rc1xuICAgIFwibGluay1vcGFjaXR5XCI6IChcbiAgICAgIGNzcy12YXI6IHRydWUsXG4gICAgICBjbGFzczogbGluay1vcGFjaXR5LFxuICAgICAgc3RhdGU6IGhvdmVyLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIDEwOiAwLjEsXG4gICAgICAgIDI1OiAwLjI1LFxuICAgICAgICA1MDogMC41LFxuICAgICAgICA3NTogMC43NSxcbiAgICAgICAgMTAwOiAxXG4gICAgICApXG4gICAgKSxcbiAgICBcImxpbmstb2Zmc2V0XCI6IChcbiAgICAgIHByb3BlcnR5OiB0ZXh0LXVuZGVybGluZS1vZmZzZXQsXG4gICAgICBjbGFzczogbGluay1vZmZzZXQsXG4gICAgICBzdGF0ZTogaG92ZXIsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMTogMC4xMjVlbSxcbiAgICAgICAgMjogMC4yNWVtLFxuICAgICAgICAzOiAwLjM3NWVtXG4gICAgICApXG4gICAgKSxcbiAgICBcImxpbmstdW5kZXJsaW5lXCI6IChcbiAgICAgIHByb3BlcnR5OiB0ZXh0LWRlY29yYXRpb24tY29sb3IsXG4gICAgICBjbGFzczogbGluay11bmRlcmxpbmUsXG4gICAgICBsb2NhbC12YXJzOiAoXG4gICAgICAgIFwibGluay11bmRlcmxpbmUtb3BhY2l0eVwiOiAxXG4gICAgICApLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICR1dGlsaXRpZXMtbGlua3MtdW5kZXJsaW5lLFxuICAgICAgICAoXG4gICAgICAgICAgbnVsbDogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIFwibGluay11bmRlcmxpbmUtb3BhY2l0eVwiOiAoXG4gICAgICBjc3MtdmFyOiB0cnVlLFxuICAgICAgY2xhc3M6IGxpbmstdW5kZXJsaW5lLW9wYWNpdHksXG4gICAgICBzdGF0ZTogaG92ZXIsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTA6IDAuMSxcbiAgICAgICAgMjU6IDAuMjUsXG4gICAgICAgIDUwOiAwLjUsXG4gICAgICAgIDc1OiAwLjc1LFxuICAgICAgICAxMDA6IDFcbiAgICAgIClcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtbGlua3NcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtYmctY29sb3JcbiAgICBcImJhY2tncm91bmQtY29sb3JcIjogKFxuICAgICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsXG4gICAgICBjbGFzczogYmcsXG4gICAgICBsb2NhbC12YXJzOiAoXG4gICAgICAgIFwiYmctb3BhY2l0eVwiOiAxXG4gICAgICApLFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICR1dGlsaXRpZXMtYmctY29sb3JzLFxuICAgICAgICAoXG4gICAgICAgICAgXCJib2R5XCI6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSxcbiAgICAgICAgICBcIndoaXRlXCI6IHZhcigtLSN7JHByZWZpeH13aGl0ZSksXG4gICAgICAgICAgXCJ0cmFuc3BhcmVudFwiOiB0cmFuc3BhcmVudCxcbiAgICAgICAgICBcImJvZHktc2Vjb25kYXJ5XCI6IHJnYmEodmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSkpLFxuICAgICAgICAgIFwiYm9keS10ZXJ0aWFyeVwiOiByZ2JhKHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSkpLFxuICAgICAgICAgIFwibGlnaHRlclwiOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDYlLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpKSwgLy8gKEMpXG4gICAgICAgICAgXCJsaWdodGVzdFwiOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDEuNSUsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpLCAvLyAoQylcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgXCJiZy1vcGFjaXR5XCI6IChcbiAgICAgIGNzcy12YXI6IHRydWUsXG4gICAgICBjbGFzczogYmctb3BhY2l0eSxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICAxMDogMC4xLFxuICAgICAgICAyNTogMC4yNSxcbiAgICAgICAgNTA6IDAuNSxcbiAgICAgICAgNzU6IDAuNzUsXG4gICAgICAgIDEwMDogMVxuICAgICAgKVxuICAgICksXG4gICAgXCJzdWJ0bGUtYmFja2dyb3VuZC1jb2xvclwiOiAoXG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcixcbiAgICAgIGNsYXNzOiBiZyxcbiAgICAgIHZhbHVlczogJHV0aWxpdGllcy1iZy1zdWJ0bGVcbiAgICApLFxuICAgIC8vIHNjc3MtZG9jcy1lbmQgdXRpbHMtYmctY29sb3JcbiAgICBcImdyYWRpZW50XCI6IChcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWltYWdlLFxuICAgICAgY2xhc3M6IGJnLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIGdyYWRpZW50OiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtaW50ZXJhY3Rpb25cbiAgICBcInVzZXItc2VsZWN0XCI6IChcbiAgICAgIHByb3BlcnR5OiB1c2VyLXNlbGVjdCxcbiAgICAgIHZhbHVlczogYWxsIGF1dG8gbm9uZVxuICAgICksXG4gICAgXCJwb2ludGVyLWV2ZW50c1wiOiAoXG4gICAgICBwcm9wZXJ0eTogcG9pbnRlci1ldmVudHMsXG4gICAgICBjbGFzczogcGUsXG4gICAgICB2YWx1ZXM6IG5vbmUgYXV0b1xuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1pbnRlcmFjdGlvblxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1ib3JkZXItcmFkaXVzXG4gICAgXCJyb3VuZGVkXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItcmFkaXVzLFxuICAgICAgY2xhc3M6IHJvdW5kZWQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpLFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSksXG4gICAgICAgIDI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMzogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpLFxuICAgICAgICA0OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bCksXG4gICAgICAgIDU6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCksXG4gICAgICAgIGNpcmNsZTogNTAlLFxuICAgICAgICBwaWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsKVxuICAgICAgKVxuICAgICksXG4gICAgXCJyb3VuZGVkLXRvcFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1cyBib3JkZXItc3RhcnQtZW5kLXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLXRvcCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cyksXG4gICAgICAgIDA6IDAsXG4gICAgICAgIDE6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSxcbiAgICAgICAgMjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpLFxuICAgICAgICAzOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZyksXG4gICAgICAgIDQ6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXhsKSxcbiAgICAgICAgNTogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKSxcbiAgICAgICAgY2lyY2xlOiA1MCUsXG4gICAgICAgIHBpbGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXBpbGwpXG4gICAgICApXG4gICAgKSxcbiAgICBcInJvdW5kZWQtZW5kXCI6IChcbiAgICAgIHByb3BlcnR5OiBib3JkZXItc3RhcnQtZW5kLXJhZGl1cyBib3JkZXItZW5kLWVuZC1yYWRpdXMsXG4gICAgICBjbGFzczogcm91bmRlZC1lbmQsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpLFxuICAgICAgICAwOiAwLFxuICAgICAgICAxOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSksXG4gICAgICAgIDI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMzogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpLFxuICAgICAgICA0OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bCksXG4gICAgICAgIDU6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bCksXG4gICAgICAgIGNpcmNsZTogNTAlLFxuICAgICAgICBwaWxsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsKVxuICAgICAgKVxuICAgICksXG4gICAgXCJyb3VuZGVkLWJvdHRvbVwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLWVuZC1lbmQtcmFkaXVzIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzLFxuICAgICAgY2xhc3M6IHJvdW5kZWQtYm90dG9tLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pLFxuICAgICAgICAyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cyksXG4gICAgICAgIDM6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSxcbiAgICAgICAgNDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGwpLFxuICAgICAgICA1OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpLFxuICAgICAgICBjaXJjbGU6IDUwJSxcbiAgICAgICAgcGlsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbClcbiAgICAgIClcbiAgICApLFxuICAgIFwicm91bmRlZC1zdGFydFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLWVuZC1zdGFydC1yYWRpdXMgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1cyxcbiAgICAgIGNsYXNzOiByb3VuZGVkLXN0YXJ0LFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSxcbiAgICAgICAgMDogMCxcbiAgICAgICAgMTogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pLFxuICAgICAgICAyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cyksXG4gICAgICAgIDM6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSxcbiAgICAgICAgNDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGwpLFxuICAgICAgICA1OiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpLFxuICAgICAgICBjaXJjbGU6IDUwJSxcbiAgICAgICAgcGlsbDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbClcbiAgICAgIClcbiAgICApLFxuICAgIFwicm91bmRlZC1zdGFydC10b3BcIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXMsXG4gICAgICBjbGFzczogcm91bmRlZC1zdGFydC10b3AsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgbnVsbDogJGJvcmRlci1yYWRpdXNcbiAgICAgIClcbiAgICApLFxuICAgIFwicm91bmRlZC1zdGFydC1ib3R0b21cIjogKFxuICAgICAgcHJvcGVydHk6IGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzLFxuICAgICAgY2xhc3M6IHJvdW5kZWQtc3RhcnQtYm90dG9tLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6ICRib3JkZXItcmFkaXVzXG4gICAgICApXG4gICAgKSxcbiAgICBcInJvdW5kZWQtZW5kLXRvcFwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXMsXG4gICAgICBjbGFzczogcm91bmRlZC1lbmQtdG9wLFxuICAgICAgdmFsdWVzOiAoXG4gICAgICAgIG51bGw6ICRib3JkZXItcmFkaXVzXG4gICAgICApXG4gICAgKSxcbiAgICBcInJvdW5kZWQtZW5kLWJvdHRvbVwiOiAoXG4gICAgICBwcm9wZXJ0eTogYm9yZGVyLWVuZC1lbmQtcmFkaXVzLFxuICAgICAgY2xhc3M6IHJvdW5kZWQtZW5kLWJvdHRvbSxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICBudWxsOiAkYm9yZGVyLXJhZGl1c1xuICAgICAgKVxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy1ib3JkZXItcmFkaXVzXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXZpc2liaWxpdHlcbiAgICBcInZpc2liaWxpdHlcIjogKFxuICAgICAgcHJvcGVydHk6IHZpc2liaWxpdHksXG4gICAgICBjbGFzczogbnVsbCxcbiAgICAgIHZhbHVlczogKFxuICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICBpbnZpc2libGU6IGhpZGRlblxuICAgICAgKVxuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy12aXNpYmlsaXR5XG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxzLXppbmRleFxuICAgIFwiei1pbmRleFwiOiAoXG4gICAgICBwcm9wZXJ0eTogei1pbmRleCxcbiAgICAgIGNsYXNzOiB6LFxuICAgICAgdmFsdWVzOiAkemluZGV4LWxldmVsc1xuICAgICksXG4gICAgLy8gc2Nzcy1kb2NzLWVuZCB1dGlscy16aW5kZXhcbiAgICAvLyAqQ3VzdG9tIFV0aWxpdGllc1xuICAgIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbHMtcm90YXRlXG4gICAgXCJyb3RhdGVcIjogKFxuICAgICAgcHJvcGVydHk6IHRyYW5zZm9ybSxcbiAgICAgIGNsYXNzOiByb3RhdGUsXG4gICAgICB2YWx1ZXM6IChcbiAgICAgICAgMDogdmFyKC0tI3skcHJlZml4fXJvdGF0ZS0wLCByb3RhdGUoMGRlZykpLFxuICAgICAgICA5MDogdmFyKC0tI3skcHJlZml4fXJvdGF0ZS05MCwgcm90YXRlKDkwZGVnKSksXG4gICAgICAgIDE4MDogdmFyKC0tI3skcHJlZml4fXJvdGF0ZS0xODAsIHJvdGF0ZSgxODBkZWcpKSxcbiAgICAgICAgMjcwOiB2YXIoLS0jeyRwcmVmaXh9cm90YXRlLTI3MCwgcm90YXRlKDI3MGRlZykpLFxuICAgICAgICBuOTA6IHZhcigtLSN7JHByZWZpeH1yb3RhdGUtbjkwLCByb3RhdGUoLTkwZGVnKSksXG4gICAgICAgIG4xODA6IHZhcigtLSN7JHByZWZpeH1yb3RhdGUtbjE4MCwgcm90YXRlKC0xODBkZWcpKSxcbiAgICAgICAgbjI3MDogdmFyKC0tI3skcHJlZml4fXJvdGF0ZS1uMjcwLCByb3RhdGUoLTI3MGRlZykpXG4gICAgICApXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLXJvdGF0ZVxuICAgIC8vIHNjc3MtZG9jcy1zdGFydCB1dGlscy1mbGV4LWJhc2lzXG4gICAgXCJjdXJzb3JcIjogKFxuICAgICAgcHJvcGVydHk6IGN1cnNvcixcbiAgICAgIGNsYXNzOiBjdXJzb3IsXG4gICAgICB2YWx1ZXM6IHBvaW50ZXIgbW92ZSBncmFiXG4gICAgKSxcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHV0aWxzLWZsZXgtYmFzaXNcbiAgKSxcbiAgJHV0aWxpdGllc1xuKTtcbi8vIHN0eWxlbGludC1lbmFibGUgQHN0eWxpc3RpYy9udW1iZXItbGVhZGluZy16ZXJvXG5cbi8vICpCb3JkZXJzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIEJvcmRlcmVkIHJvd3Ncbi5yb3ctYm9yZGVyZWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3NePVwiY29sLVwiXSxcbiAgPiBbY2xhc3MqPVwiIGNvbC1cIl0sXG4gID4gW2NsYXNzXj1cImNvbCBcIl0sXG4gID4gW2NsYXNzKj1cIiBjb2wgXCJdLFxuICA+IFtjbGFzcyQ9XCIgY29sXCJdLFxuICA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDFweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJsb2NrLXNpemU6IDA7XG4gICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDFweCBzb2xpZCAkYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBpbnNldC1ibG9jay1lbmQ6IC0xcHg7XG4gICAgICBpbnNldC1pbmxpbmU6IDA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgJGJvcmRlcmVkLXJvdy1ib3JkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaW5saW5lLXNpemU6IDA7XG4gICAgICBpbnNldC1ibG9jazogMDtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogLTFweDtcbiAgICB9XG4gIH1cblxuICAmLnJvdy1ib3JkZXItbGlnaHQge1xuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzc149XCJjb2wtXCJdLFxuICAgID4gW2NsYXNzKj1cIiBjb2wtXCJdLFxuICAgID4gW2NsYXNzXj1cImNvbCBcIl0sXG4gICAgPiBbY2xhc3MqPVwiIGNvbCBcIl0sXG4gICAgPiBbY2xhc3MkPVwiIGNvbFwiXSxcbiAgICA+IFtjbGFzcz1cImNvbFwiXSB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXktMTAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGV4dC1ib2R5LXNlY29uZGFyeVtocmVmXSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkYm9keS1zZWNvbmRhcnktY29sb3ItaG92ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGV4dC1saWdodCB7XG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LWxpZ2h0ZXIge1xuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRib2R5LXNlY29uZGFyeS1jb2xvci1ob3ZlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1saWdodGVzdCB7XG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LXBhcGVyIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgIWltcG9ydGFudDtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyB0ZXh0LWJvZHkgaG92ZXIgY29sb3Jcbi50ZXh0LWJvZHksXG4udGV4dC1oZWFkaW5nIHtcbiAgJltocmVmXTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vICpNaXNjXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIExheW91dCBjb250YWluZXJzXG4uY29udGFpbmVyLXAteCB7XG4gIHBhZGRpbmctaW5saW5lOiAkY29udGFpbmVyLXBhZGRpbmcteC1zbSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwYWRkaW5nLWlubGluZTogJGNvbnRhaW5lci1wYWRkaW5nLXggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29udGFpbmVyLW0tbngge1xuICBtYXJnaW4taW5saW5lOiAtJGNvbnRhaW5lci1wYWRkaW5nLXgtc20gIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgbWFyZ2luLWlubGluZTogLSRjb250YWluZXItcGFkZGluZy14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1wLXkge1xuICAmOm5vdChbY2xhc3NePVwicHQtXCJdLCBbY2xhc3MqPVwiIHB0LVwiXSkge1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6ICRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOm5vdChbY2xhc3NePVwicGItXCJdLCBbY2xhc3MqPVwiIHBiLVwiXSkge1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiAkY29udGFpbmVyLXBhZGRpbmcteSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb250YWluZXItbS1ueSB7XG4gICY6bm90KFtjbGFzc149XCJtdC1cIl0sIFtjbGFzcyo9XCIgbXQtXCJdKSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAtJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6bm90KFtjbGFzc149XCJtYi1cIl0sIFtjbGFzcyo9XCIgbWItXCJdKSB7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogLSRjb250YWluZXItcGFkZGluZy15ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmljb24tYmFzZSB7XG4gIEBpbmNsdWRlIGljb24tYmFzZSgpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gaWNvbiBzaXplc1xuQGVhY2ggJGtleSwgJHZhbHVlIGluICRpY29uLXNpemVzIHtcbiAgLmljb24tI3ska2V5fSB7XG4gICAgJixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgaWNvbi1iYXNlKCR2YWx1ZSAhaW1wb3J0YW50KTtcbiAgICB9XG4gIH1cbn1cblxuLmljb24teHN7XG4gICYsXG4gICY6OmJlZm9yZSB7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1zaXplLXhzKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS14cyk7XG4gIH1cbn1cblxuLmljb24tc217XG4gICYsXG4gICY6OmJlZm9yZSB7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1zaXplLXNtKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS1zbSk7XG4gIH1cbn1cblxuLmljb24tbWR7XG4gICYsXG4gICY6OmJlZm9yZSB7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS1tZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1zaXplLW1kKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS1tZCk7XG4gIH1cbn1cblxuLmljb24tbGd7XG4gICYsXG4gICY6OmJlZm9yZSB7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS1sZyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1zaXplLWxnKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS1sZyk7XG4gIH1cbn1cblxuLmljb24teGx7XG4gICYsXG4gICY6OmJlZm9yZSB7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS14bCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1zaXplLXhsKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZS14bCk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsXG4uY2VsbC1maXQge1xuICBpbmxpbmUtc2l6ZTogLjElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG46ZGlyKHJ0bCkge1xuICAuc2NhbGVYLW4xLXJ0bCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudHJhbnNsYXRlLW1pZGRsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRyYW5zbGF0ZS1taWRkbGUteCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgIWltcG9ydGFudDtcbiAgfVxuICAucm90YXRlIHtcbiAgICAtLSN7JHByZWZpeH1yb3RhdGUtOTA6IHJvdGF0ZSgtOTBkZWcpO1xuICAgIC0tI3skcHJlZml4fXJvdGF0ZS0yNzA6IHJvdGF0ZSgtMjcwZGVnKTtcbiAgICAtLSN7JHByZWZpeH1yb3RhdGUtbjkwOiByb3RhdGUoOTBkZWcpO1xuICAgIC0tI3skcHJlZml4fXJvdGF0ZS1uMjcwOiByb3RhdGUoMjcwZGVnKTtcbiAgfVxufVxuIiwiLy8gS2V5ZnJhbWVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gaWNvbnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIGljb24tYmFzZSgkc2l6ZTogdmFyKC0tI3skcHJlZml4fWljb24tc2l6ZSkpIHtcbiAgYmxvY2stc2l6ZTogJHNpemU7XG4gIGZvbnQtc2l6ZTogJHNpemU7XG4gIGlubGluZS1zaXplOiAkc2l6ZTtcbn1cbiIsIi8qIFRoZSBjb2xvci1zY2hlbWUgQ1NTIHByb3BlcnR5IGh0dHBzOi8vd2ViLmRldi9jb2xvci1zY2hlbWUvICovXG46cm9vdHtcbiAgLy8gdmFyaWFibGUgcHJlZml4XG4gIC0tcHJlZml4OiAjeyRwcmVmaXh9O1xuXG4gIC0tI3skcHJlZml4fXB1cmUtYmxhY2s6ICN7JHB1cmUtYmxhY2t9O1xuICAtLSN7JHByZWZpeH1wdXJlLWJsYWNrLXJnYjogI3skcHVyZS1ibGFjay1yZ2J9O1xuXG4gIC8vIEljb25zIHNpemluZ1xuICAtLSN7JHByZWZpeH1pY29uLXNpemU6ICN7JGljb24tc2l6ZX07XG4gIC0tI3skcHJlZml4fWljb24tc2l6ZS14czogI3skaWNvbi1zaXplLXhzfTtcbiAgLS0jeyRwcmVmaXh9aWNvbi1zaXplLXNtOiAjeyRpY29uLXNpemUtc219O1xuICAtLSN7JHByZWZpeH1pY29uLXNpemUtbWQ6ICN7JGljb24tc2l6ZS1tZH07XG4gIC0tI3skcHJlZml4fWljb24tc2l6ZS1sZzogI3skaWNvbi1zaXplLWxnfTtcbiAgLS0jeyRwcmVmaXh9aWNvbi1zaXplLXhsOiAjeyRpY29uLXNpemUteGx9O1xuXG4gIEBmdW5jdGlvbiBjYWxjdWxhdGUtY29udHJhc3QoJGNvbG9yKSB7XG4gICAgQHJldHVybiBpZihsaWdodG5lc3MoJGNvbG9yKSA+IDc1JSwgdmFyKC0tI3skcHJlZml4fWJsYWNrKSwgdmFyKC0tI3skcHJlZml4fXdoaXRlKSk7XG4gIH1cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGN1c3RvbS10aGVtZS1jb2xvcnMge1xuICAgIC8vIENvbnN0cnVjdCBDU1MgdmFyaWFibGUgbmFtZXMgd2l0aCBTYXNzIGludGVycG9sYXRpb25cbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tY29udHJhc3Q6ICN7Y2FsY3VsYXRlLWNvbnRyYXN0KCR2YWx1ZSl9O1xuICB9XG59XG5cbjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC8vIGdsb2JhbCBjdXN0b20gdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWJnLWxhYmVsLXRpbnQtYW1vdW50OiAjeyRiZy1sYWJlbC10aW50LWFtb3VudH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdWJ0bGUtYW1vdW50OiAjeyRib3JkZXItc3VidGxlLWFtb3VudH07XG4gIC0tI3skcHJlZml4fWJhc2UtY29sb3I6ICN7JGJsYWNrfTtcbiAgLS0jeyRwcmVmaXh9YmFzZS1jb2xvci1yZ2I6ICN7JGJhc2UtcmdifTtcbiAgLS0jeyRwcmVmaXh9cGFwZXItYmc6ICN7JHBhcGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFwZXItYmctcmdiOiAjeyRwYXBlci1iZy1yZ2J9O1xuXG4gIC0tI3skcHJlZml4fW1pbi1jb250cmFzdC1yYXRpbzogI3skbWluLWNvbnRyYXN0LXJhdGlvfTtcblxuICAvLyBCb3gtc2hhZG93IHZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy14czogI3skYm94LXNoYWRvdy14c307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctc206ICN7JGJveC1zaGFkb3ctc219O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnOiAjeyRib3gtc2hhZG93LWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy14bDogI3skYm94LXNoYWRvdy14bH07XG5cbiAgLS0jeyRwcmVmaXh9ZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdzogI3skZmxvYXRpbmctY29tcG9uZW50LXNoYWRvd307XG5cbiAgLy8gVE9ETzogQ2hlY2tJbkJTNiAtIEEgbmV3IHZhcmlhYmxlIGhhcyBiZWVuIGNyZWF0ZWQgYmVjYXVzZSB0aGUgYCRsaW5rLWNvbG9yYCBTQ1NTICAje3RvLXJnYigkbGluay1jb2xvcil9IHZhcmlhYmxlIHdhcyBiZWluZyB1c2VkLCBhbmQgY2hhbmdpbmcgdGhlIGNvbG9yIGRpZCBub3QgcmVmbGVjdCB0aGUgdXBkYXRlLiBUaGlzIG5ldyB2YXJpYWJsZSBlbnN1cmVzIHRoYXQgZnV0dXJlIGNvbG9yIGNoYW5nZXMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LlxuICAtLSN7JHByZWZpeH1jdXN0b20tbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuXG4gIC8vIE5hdmJhclxuICAtLSN7JHByZWZpeH1uYXZiYXItYmc6ICN7JG5hdmJhci1iZ307XG4gIC0tI3skcHJlZml4fW5hdmJhci1ib3gtc2hhZG93OiAjeyRuYXZiYXItYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fW5hdmJhci1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1iZ307XG5cbiAgLy8gTWVudVxuICAtLSN7JHByZWZpeH1tZW51LWhlYWRlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcblxuXG4gIC8vIFRhYnMgJiBQaWxsc1xuICAtLSN7JHByZWZpeH1uYXYtYm94LXNoYWRvdzogI3skbmF2LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1uYXYtYm9yZGVyLWNvbG9yOiAjeyRuYXYtYm9yZGVyLWNvbG9yfTtcblxufVxuXG5bZGF0YS1icy10aGVtZT1cImRhcmtcIl0ge1xuICBAZnVuY3Rpb24gY2FsY3VsYXRlLWNvbnRyYXN0KCRjb2xvcikge1xuICAgIEByZXR1cm4gaWYobGlnaHRuZXNzKCRjb2xvcikgPiA3NSUsIHZhcigtLSN7JHByZWZpeH1ibGFjayksIHZhcigtLSN7JHByZWZpeH13aGl0ZSkpO1xuICB9XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtZGFyayB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWNvbnRyYXN0OiAje2NhbGN1bGF0ZS1jb250cmFzdCgkdmFsdWUpfTtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ3JheXMtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYi1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAvLyBnbG9iYWwgY3VzdG9tIHZhcmlhYmxlc1xuICAgIC0tI3skcHJlZml4fWJnLWxhYmVsLXRpbnQtYW1vdW50OiAjeyRiZy1sYWJlbC10aW50LWFtb3VudC1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3JkZXItc3VidGxlLWFtb3VudDogI3skYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFya307XG4gICAgLS0jeyRwcmVmaXh9YmFzZS1jb2xvcjogI3skYmFzZS1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1iYXNlLWNvbG9yLXJnYjogI3skYmFzZS1yZ2ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9cGFwZXItYmc6ICN7JHBhcGVyLWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXBhcGVyLWJnLXJnYjogI3skcGFwZXItYmctcmdiLWRhcmt9O1xuXG4gICAgLy8gQm94LXNoYWRvdyB2YXJpYWJsZXNcbiAgICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93LWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJveC1zaGFkb3cteHM6ICN7JGJveC1zaGFkb3cteHMtZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbTogI3skYm94LXNoYWRvdy1zbS1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWxnOiAjeyRib3gtc2hhZG93LWxnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJveC1zaGFkb3cteGw6ICN7JGJveC1zaGFkb3cteGwtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAjeyRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93LWRhcmt9O1xuICB9XG59XG5cbi8qXG4/IHN0eWxlcyBzcGVjaWZpY2FsbHkgZm9yIGFwZXgtY2hhcnQgZGFyayB2YXJpYW50ICovXG4uYXBleGNoYXJ0cy10aGVtZS1kYXJrIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1kYXJrIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGdyYXktMjAwLWRhcmt9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93LWRhcmt9O1xuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yLWRhcmt9O1xuICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9cGFwZXItYmc6ICN7JHBhcGVyLWJnLWRhcmt9O1xuICAtLSN7JHByZWZpeH1iYXNlLWNvbG9yOiAjeyRiYXNlLWRhcmt9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9O1xufVxuIiwiLyogVGhlIGNvbG9yLXNjaGVtZSBDU1MgcHJvcGVydHkgaHR0cHM6Ly93ZWIuZGV2L2NvbG9yLXNjaGVtZS8gKi9cblxuOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJdIHtcbiAgQGlmICgkYm9yZGVyZWQtc3R5bGUgPT0gdHJ1ZSl7XG4gICAgLyogQm9yZGVyZWQgU2tpbiBWYXJpYWJsZXMgKi9cbiAgICAmW2RhdGEtc2tpbj1cImJvcmRlcmVkXCJde1xuICAgICAgLS0jeyRwcmVmaXh9Ym9keS1iZzogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKTtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci1iZzogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKTtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci1ib3gtc2hhZG93OiBub25lO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgICAtLSN7JHByZWZpeH1tZW51LWJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICAgIC0tI3skcHJlZml4fW1lbnUtaG9yaXpvbnRhbC1tZW51LWJveC1zaGFkb3c6IDAgMCAwIDFweCAjeyRib3JkZXItY29sb3J9O1xuICAgICAgLS0jeyRwcmVmaXh9bWVudS1ob3Jpem9udGFsLW1lbnUtc3ViLWJveC1zaGFkb3c6IDAgMCAwIDFweCAjeyRib3JkZXItY29sb3J9O1xuXG4gICAgICAtLXRhZ2lmeS1kcm9wZG93bi1ib3gtc2hhZG93OiBub25lO1xuICAgICAgLS10YWdpZnktZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuXG4gICAgICAubGF5b3V0LW5hdmJhci5uYXZiYXItZGV0YWNoZWQge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5mb290ZXJ7XG4gICAgICAgIC0tI3skcHJlZml4fWZvb3Rlci1ib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIEFjY29yZGlvblxuICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gICAgICB9XG5cbiAgICAgIC8vIEJ1dHRvblxuICAgICAgLmJ0biB7XG4gICAgICAgIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIERyb3Bkb3duXG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgICAgIH1cblxuICAgICAgLy8gbW9kYWxcbiAgICAgIC5tb2RhbDpub3QoLm1vZGFsLXRyYW5zcGFyZW50KSAubW9kYWwtY29udGVudHtcbiAgICAgICAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAgICAgfVxuXG4gICAgICAvLyBvZmZjYW52YXNcbiAgICAgIC5vZmZjYW52YXMge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgICAgIH1cbiAgICAgIDpkaXIocnRsKSB7XG4gICAgICAgIC5vZmZjYW52YXMtc3RhcnQge1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kOiAjeyRib3JkZXItd2lkdGh9ICN7JGJvcmRlci1zdHlsZX0gdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm9mZmNhbnZhcy1lbmQge1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6ICN7JGJvcmRlci13aWR0aH0gI3skYm9yZGVyLXN0eWxlfSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50b2FzdCxcbiAgICAgIC5icy10b2FzdC50b2FzdCB7XG4gICAgICAgIC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgICAgIH1cbiAgICAgIC5ub3R5Zl9fdG9hc3Qge1xuICAgICAgICAmLm5vdHlmX19zdWNjZXNzLFxuICAgICAgICAmLm5vdHlmX19lcnJvcixcbiAgICAgICAgJi5ub3R5Zl9faW5mbyxcbiAgICAgICAgJi5ub3R5Zl9fd2FybmluZyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUYWJzICYgUGlsbHNcbiAgICAgIC0tI3skcHJlZml4fW5hdi1ib3gtc2hhZG93OiBub25lO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG5cbiAgICAgIC8vIFBhZ2luYXRpb25cbiAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3gtc2hhZG93LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLy8gQ2FyZFxuICAgICAgLmNhcmQge1xuICAgICAgICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6IDBweCAwcHggMHB4IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gICAgICAgIC0tI3skcHJlZml4fWNhcmQtaG92ZXItYm94LXNoYWRvdzogMHB4IDBweCAwcHggdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIC5jYXJkLWdyb3VwIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gcG9wb3ZlclxuICAgICAgLnBvcG92ZXI6bm90KC5jdXN0b20tcG9wb3Zlcikge1xuICAgICAgICAtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gYXZhdGFyXG4gICAgICAuYXZhdGFyIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gc2hlcGhlcmRcbiAgICAgIC5zaGVwaGVyZC1lbGVtZW50IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gc3dlZXRhbGVydDJcbiAgICAgIC5zd2FsMi1jb250YWluZXIgLnN3YWwyLXBvcHVwIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gYXBleGNoYXJ0c1xuICAgICAgLmFwZXhjaGFydHMtY2FudmFzIC5hcGV4Y2hhcnRzLXRvb2x0aXAge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBzbGlkZXJzXG4gICAgICAubm9VaS10YXJnZXQgLm5vVWktdG9vbHRpcCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIHRoaXJkLXBhcnR5IGxpYnJhcmllc1xuICAgICAgLnFsLXRvb2xiYXIgLnFsLXBpY2tlci1vcHRpb25zLFxuICAgICAgLnFsLXNub3cgLnFsLXRvb2x0aXAsXG4gICAgICAuZmxhdHBpY2tyLWNhbGVuZGFyLFxuICAgICAgLmRhdGVyYW5nZXBpY2tlcixcbiAgICAgIC51aS10aW1lcGlja2VyLXdyYXBwZXIsXG4gICAgICAucGNyLWFwcCxcbiAgICAgIC5icy1zdGVwcGVyOm5vdCgud2l6YXJkLW1vZGVybiksXG4gICAgICAuYnMtc3RlcHBlci53aXphcmQtbW9kZXJuIC5icy1zdGVwcGVyLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3R5bGUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBkcm9wem9uZVxuICAgICAgLmR6LXByZXZpZXcge1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBLYW5iYW5cbiAgICAgIC5hcHAta2FuYmFuIC5rYW5iYW4td3JhcHBlciAua2FuYmFuLWJvYXJkIC5rYW5iYW4taXRlbSB7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gc2VsZWN0ICYgdGFnc1xuICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9c2VsZWN0LWRyb3Bkb3duLWJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgICAgICAgLS0jeyRwcmVmaXh9c2VsZWN0LWRyb3Bkb3duLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIGF1dGhlbnRpY2F0aW9uXG4gICAgICAuYXV0aGVudGljYXRpb24td3JhcHBlciAuYXV0aGVudGljYXRpb24tYmcge1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC50d2l0dGVyLXR5cGVhaGVhZCAudHQtbWVudSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogI3skYm9yZGVyLXdpZHRofTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AaWYgKCRib3JkZXJlZC1zdHlsZSA9PSB0cnVlKSB7XG4gIC8qIEJvcmRlcmVkIFNraW4gVmFyaWFibGVzICovXG4gIFtkYXRhLXNraW49XCJib3JkZXJlZFwiXSB7XG4gICAgW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICAgIC0tI3skcHJlZml4fW1lbnUtaG9yaXpvbnRhbC1tZW51LWJveC1zaGFkb3c6IDAgMCAwIDFweCAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgICAtLSN7JHByZWZpeH1tZW51LWhvcml6b250YWwtbWVudS1zdWItYm94LXNoYWRvdzogMCAwIDAgMXB4ICN7JGJvcmRlci1jb2xvci1kYXJrfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFJlYm9vdCAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG5jYXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbn1cblxuLy8gVE9ETzogY2hlY2tpbmJzNiAtIGEgbmV3IHZhcmlhYmxlIGhhcyBiZWVuIGNyZWF0ZWQgYmVjYXVzZSB0aGUgJGxpbmstY29sb3Igc2NzcyB2YXJpYWJsZSB3YXMgYmVpbmcgdXNlZCxhbmQgY2hhbmdpbmcgdGhlIGNvbG9yIGRpZCBub3QgcmVmbGVjdCB0aGUgdXBkYXRlLiB0aGlzIG5ldyB2YXJpYWJsZSBlbnN1cmVzIHRoYXQgZnV0dXJlIGNvbG9yIGNoYW5nZXMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LlxuYSB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y3VzdG9tLWxpbmstY29sb3IpO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1jdXN0b20tbGluay1jb2xvcikgODAlLCB2YXIoLS0jeyRwcmVmaXh9YmFzZS1jb2xvcikpO1xuICB9XG4gICY6bm90KFtocmVmXSkge1xuICAgICYsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogQXV0b2ZpbGwgaW5wdXQgYmcgYW5kIHRleHQgY29sb3IgaXNzdWUgb24gZGlmZmVyZW50IE9TIGFuZCBicm93c2VycyAqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LWludGVybmFsLWF1dG9maWxsLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0ICFpbXBvcnRhbnQ7XG59XG5cbmgxIHtcbiAgbGluZS1oZWlnaHQ6ICRoMS1saW5lLWhlaWdodDtcbn1cblxuaDIge1xuICBsaW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xufVxuXG5oMyB7XG4gIGxpbmUtaGVpZ2h0OiAkaDMtbGluZS1oZWlnaHQ7XG59XG5cbmg0IHtcbiAgbGluZS1oZWlnaHQ6ICRoNC1saW5lLWhlaWdodDtcbn1cblxuaDUge1xuICBsaW5lLWhlaWdodDogJGg1LWxpbmUtaGVpZ2h0O1xufVxuXG5oNiB7XG4gIGxpbmUtaGVpZ2h0OiAkaDYtbGluZS1oZWlnaHQ7XG59XG5cbmltZ1tkYXRhLWFwcC1saWdodC1pbWddW2RhdGEtYXBwLWRhcmstaW1nXSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4iLCIvKiBUeXBlICovXG5cbi5saXN0LWlubGluZSxcbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG59XG5cbi5saXN0LWlubGluZS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4taW5saW5lOiAwICRsaXN0LWlubGluZS1wYWRkaW5nO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG4gICAgLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1mb290ZXItY29sb3ItZGFyaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFZhcmlhYmxlc1xuXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyAoQykgQ3VzdG9tIHZhcmlhYmxlcyBmb3IgZXh0ZW5kZWQgY29tcG9uZW50cyBvZiBib290c3RyYXAgb25seVxuXG4vLyAhIF92YXJpYWJsZS1kYXJrLnNjc3MgZmlsZSBvdmVycmlkZXMgX3ZhcmlhYmxlLnNjc3MgZmlsZS5cblxuLy8gQ29sb3JzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlLWRhcms6ICNmZmYgIWRlZmF1bHQ7XG4kYmxhY2stZGFyazogIzJmMzM0OSAhZGVmYXVsdDtcbiRiYXNlLWRhcms6ICNlMWRlZjUgIWRlZmF1bHQ7XG5cbi8vIEluc3RlYWQgb2YgdXNpbmcgYSBjYXJkIGJnLCB1c2UgYSBwYXBlciBiZy5cbiRwYXBlci1iZy1kYXJrOiAjMmYzMzQ5ICFkZWZhdWx0OyAvLyAoQylcbiRwYXBlci1iZy1yZ2ItZGFyazogI3t0by1yZ2IoJHBhcGVyLWJnLWRhcmspfSAhZGVmYXVsdDsgLy8gKEMpXG4kYmFzZS1yZ2ItZGFyazogI3t0by1yZ2IoJGJhc2UtZGFyayl9ICFkZWZhdWx0OyAvLyAoQylcblxuJGdyYXktMjUtZGFyazogIzMzMzc0ZCAhZGVmYXVsdDsgLy8gKEMpXG4kZ3JheS01MC1kYXJrOiAjM2EzZDUzICFkZWZhdWx0OyAvLyAoQylcbiRncmF5LTc1LWRhcms6ICMzZDQxNTcgIWRlZmF1bHQ7IC8vIChDKVxuJGdyYXktMTAwLWRhcms6ICM1MzU4NzYgIWRlZmF1bHQ7XG4kZ3JheS0yMDAtZGFyazogIzQ0NDg1ZSAhZGVmYXVsdDtcbiRncmF5LTMwMC1kYXJrOiAjNjQ2NjdkICFkZWZhdWx0O1xuJGdyYXktNDAwLWRhcms6ICM3Njc3OGUgIWRlZmF1bHQ7XG4kZ3JheS01MDAtZGFyazogIzkyOTNhZSAhZGVmYXVsdDtcbiRncmF5LTYwMC1kYXJrOiAjOWE5YWIwICFkZWZhdWx0O1xuJGdyYXktNzAwLWRhcms6ICNhY2FiYzEgIWRlZmF1bHQ7XG4kZ3JheS04MDAtZGFyazogI2JkYmNkMyAhZGVmYXVsdDtcbiRncmF5LTkwMC1kYXJrOiAjY2ZjZGU0ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5cy1kYXJrOiAoXG4gIFwiMjVcIjogJGdyYXktMjUtZGFyayxcbiAgXCI1MFwiOiAkZ3JheS01MC1kYXJrLFxuICBcIjc1XCI6ICRncmF5LTc1LWRhcmssXG4gIFwiMTAwXCI6ICRncmF5LTEwMC1kYXJrLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAtZGFyayxcbiAgXCIzMDBcIjogJGdyYXktMzAwLWRhcmssXG4gIFwiNDAwXCI6ICRncmF5LTQwMC1kYXJrLFxuICBcIjUwMFwiOiAkZ3JheS01MDAtZGFyayxcbiAgXCI2MDBcIjogJGdyYXktNjAwLWRhcmssXG4gIFwiNzAwXCI6ICRncmF5LTcwMC1kYXJrLFxuICBcIjgwMFwiOiAkZ3JheS04MDAtZGFyayxcbiAgXCI5MDBcIjogJGdyYXktOTAwLWRhcmtcbikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlLWRhcms6ICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvLWRhcms6ICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlLWRhcms6ICM3MzY3ZjAgIWRlZmF1bHQ7XG4kcGluay1kYXJrOiAjZTgzZThjICFkZWZhdWx0O1xuJHJlZC1kYXJrOiAjZmY0YzUxICFkZWZhdWx0O1xuJG9yYW5nZS1kYXJrOiAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdy1kYXJrOiAjZmY5ZjQzICFkZWZhdWx0O1xuJGdyZWVuLWRhcms6ICMyOGM3NmYgIWRlZmF1bHQ7XG4kdGVhbC1kYXJrOiAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW4tZGFyazogIzAwYmFkMSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnktZGFyazogJHB1cnBsZS1kYXJrICFkZWZhdWx0O1xuJHNlY29uZGFyeS1kYXJrOiAjODA4MzkwICFkZWZhdWx0O1xuJHN1Y2Nlc3MtZGFyazogJGdyZWVuLWRhcmsgIWRlZmF1bHQ7XG4kaW5mby1kYXJrOiAkY3lhbi1kYXJrICFkZWZhdWx0O1xuJHdhcm5pbmctZGFyazogJHllbGxvdy1kYXJrICFkZWZhdWx0O1xuJGRhbmdlci1kYXJrOiAkcmVkLWRhcmsgIWRlZmF1bHQ7XG4kbGlnaHQtZGFyazogIzQ5NGE1ZCAhZGVmYXVsdDtcbiRkYXJrLWRhcms6ICM2YjZjOWQgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrOiAkZ3JheS01MDAtZGFyayAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzLWRhcms6IChcbiAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LWRhcmssXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktZGFyayxcbiAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLWRhcmssXG4gIFwiaW5mb1wiOiAkaW5mby1kYXJrLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmctZGFyayxcbiAgXCJkYW5nZXJcIjogJGRhbmdlci1kYXJrLFxuICBcImxpZ2h0XCI6ICRsaWdodC1kYXJrLFxuICBcImRhcmtcIjogJGRhcmstZGFyayxcbiAgXCJncmF5XCI6ICRncmF5LWRhcmtcbikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4kdGhlbWUtY29sb3JzLXJnYi1kYXJrOiBtYXAtbG9vcCgkdGhlbWUtY29sb3JzLWRhcmssIHRvLXJnYiwgXCIkdmFsdWVcIikgIWRlZmF1bHQ7XG5cbi8vIFR5cG9ncmFwaHlcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvci1kYXJrOiAkZ3JheS02MDAtZGFyayAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVtb3ZlIHRoaXMgdmFyaWFibGUgbm90IHVzZWQgaW4gZGFyayB0aGVtZVxuJGJvZHktYmctZGFyazogIzI1MjkzYyAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtZGFyay12YXJpYWJsZXNcbiRsaWdodC10ZXh0LWVtcGhhc2lzLWRhcms6ICRncmF5LTcwMC1kYXJrICFkZWZhdWx0O1xuJGRhcmstdGV4dC1lbXBoYXNpcy1kYXJrOiAkYmFzZS1kYXJrICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLXRleHQtZGFyay12YXJpYWJsZXNcblxuJGJnLWxhYmVsLXRpbnQtYW1vdW50LWRhcms6IDg0JSAhZGVmYXVsdDsgLy8gKEMpXG4kYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFyazogNjElICFkZWZhdWx0OyAvLyAoQylcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS1kYXJrLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlLWRhcms6IHNoYWRlLWNvbG9yKCRwcmltYXJ5LWRhcmssICRiZy1sYWJlbC10aW50LWFtb3VudC1kYXJrLCAkcGFwZXItYmctZGFyaykgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJnLXN1YnRsZS1kYXJrOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LWRhcmssICRiZy1sYWJlbC10aW50LWFtb3VudC1kYXJrLCAkcGFwZXItYmctZGFyaykgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGUtZGFyazogc2hhZGUtY29sb3IoJHN1Y2Nlc3MtZGFyaywgJGJnLWxhYmVsLXRpbnQtYW1vdW50LWRhcmssICRwYXBlci1iZy1kYXJrKSAhZGVmYXVsdDtcbiRpbmZvLWJnLXN1YnRsZS1kYXJrOiBzaGFkZS1jb2xvcigkaW5mby1kYXJrLCAkYmctbGFiZWwtdGludC1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlLWRhcms6IHNoYWRlLWNvbG9yKCR3YXJuaW5nLWRhcmssICRiZy1sYWJlbC10aW50LWFtb3VudC1kYXJrLCAkcGFwZXItYmctZGFyaykgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZS1kYXJrOiBzaGFkZS1jb2xvcigkZGFuZ2VyLWRhcmssICRiZy1sYWJlbC10aW50LWFtb3VudC1kYXJrLCAkcGFwZXItYmctZGFyaykgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlLWRhcms6IHNoYWRlLWNvbG9yKCRsaWdodC1kYXJrLCAkYmctbGFiZWwtdGludC1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlLWRhcms6IHNoYWRlLWNvbG9yKCRkYXJrLWRhcmssICRiZy1sYWJlbC10aW50LWFtb3VudC1kYXJrLCAkcGFwZXItYmctZGFyaykgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLWRhcmstdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLWRhcmstdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlLWRhcms6IHNoaWZ0LWNvbG9yKCRwcmltYXJ5LWRhcmssICRib3JkZXItc3VidGxlLWFtb3VudC1kYXJrLCAkcGFwZXItYmctZGFyaykgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUtZGFyazogc2hpZnQtY29sb3IoJHNlY29uZGFyeS1kYXJrLCAkYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZS1kYXJrOiBzaGlmdC1jb2xvcigkc3VjY2Vzcy1kYXJrLCAkYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZS1kYXJrOiBzaGlmdC1jb2xvcigkaW5mby1kYXJrLCAkYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZS1kYXJrOiBzaGlmdC1jb2xvcigkd2FybmluZy1kYXJrLCAkYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlLWRhcms6IHNoaWZ0LWNvbG9yKCRkYW5nZXItZGFyaywgJGJvcmRlci1zdWJ0bGUtYW1vdW50LWRhcmssICRwYXBlci1iZy1kYXJrKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlLWRhcms6IHNoaWZ0LWNvbG9yKCRsaWdodC1kYXJrLCAkYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZS1kYXJrOiBzaGlmdC1jb2xvcigkZGFyay1kYXJrLCAkYm9yZGVyLXN1YnRsZS1hbW91bnQtZGFyaywgJHBhcGVyLWJnLWRhcmspICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtZGFyay12YXJpYWJsZXNcblxuLy8gQm9keVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYm9keS1jb2xvci1kYXJrOiAkZ3JheS03MDAtZGFyayAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcms6ICRncmF5LTQwMC1kYXJrICFkZWZhdWx0O1xuJGJvZHktc2Vjb25kYXJ5LWJnLWRhcms6ICRncmF5LTQwMC1kYXJrICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktY29sb3ItZGFyazogcmdiYSgkYm9keS1jb2xvci1kYXJrLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZy1kYXJrOiBtaXgoJGdyYXktMTAwLWRhcmssICRib2R5LWJnLWRhcmssIDkwJSkgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYWxlcnQtYm9yZGVyLXNjYWxlLWRhcms6IC04NCUgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3Itc2NhbGUtZGFyazogMCUgIWRlZmF1bHQ7XG5cbiRib3JkZXItY29sb3ItZGFyazogJGdyYXktMjAwLWRhcmsgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJHNoYWRvdy1iZy1kYXJrOiAjMTMxMTIwICFkZWZhdWx0OyAvLyAoQylcbiRib3gtc2hhZG93LWRhcms6IDAgLjE4NzVyZW0gLjc1cmVtIDAgcmdiYSgkc2hhZG93LWJnLWRhcmssIC4yKSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXhzLWRhcms6IDAgLjA2MjVyZW0gLjM3NXJlbSAwIHJnYmEoJHNoYWRvdy1iZy1kYXJrLCAuMTYpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc20tZGFyazogMCAuMTI1cmVtIC41cmVtIDAgcmdiYSgkc2hhZG93LWJnLWRhcmssIC4xOCkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZy1kYXJrOiAwIC4yNXJlbSAxLjEyNXJlbSAwIHJnYmEoJHNoYWRvdy1iZy1kYXJrLCAuMjIpICFkZWZhdWx0O1xuJGJveC1zaGFkb3cteGwtZGFyazogMCAuMzEyNXJlbSAxLjg3NXJlbSAwIHJnYmEoJHNoYWRvdy1iZy1kYXJrLCAuMjQpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIGJveC1zaGFkb3ctdmFyaWFibGVzXG5cbiRmbG9hdGluZy1jb21wb25lbnQtYm9yZGVyLWNvbG9yLWRhcms6IHJnYmEoJHdoaXRlLWRhcmssIC4wNSkgIWRlZmF1bHQ7IC8vIChDKVxuJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3ctZGFyazogMCAuMzFyZW0gMS4yNXJlbSAwIHJnYmEoJGJsYWNrLWRhcmssIC40KSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vICogVHlwb2dyYXBoeVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kaGVhZGluZ3MtY29sb3ItZGFyazogJGdyYXktOTAwLWRhcmsgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3ItZGFyazogLjc1ICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3ItZGFyazogLjc1ICFkZWZhdWx0O1xuXG4vLyBBY2NvcmRpb25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGFjY29yZGlvbi1idXR0b24tY29sb3ItZGFyazogJGhlYWRpbmdzLWNvbG9yLWRhcmsgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3ItZGFyazogJGhlYWRpbmdzLWNvbG9yLWRhcmsgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi1jb2xvci1kYXJrOiAkaGVhZGluZ3MtY29sb3ItZGFyayAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3ItZGFyazogJGhlYWRpbmdzLWNvbG9yLWRhcmsgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2cgaWQ9J2J4LWNoZXZyb24tZG93biclM2UlM2NwYXRoIGlkPSdWZWN0b3InIGQ9J00xMy41Nzc1IDcuNzQ0MTdMOS45OTk5NyAxMS4zMjE3TDYuNDIyNDcgNy43NDQxN0w1LjI0NDE0IDguOTIyNUw5Ljk5OTk3IDEzLjY3ODNMMTQuNzU1OCA4LjkyMjVMMTMuNTc3NSA3Ljc0NDE3WicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yLWRhcmt9JyBmaWxsLW9wYWNpdHk9JzAuOScvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyazogJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWN1c3RvbS1idXR0b24taWNvbi1kYXJrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yLWRhcmt9JyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBkPSdNMTkgMTFoLTZWNWgtMnY2SDV2Mmg2djZoMnYtNmg2eiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7IC8vIChDKVxuJGFjY29yZGlvbi1jdXN0b20tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcms6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3ItZGFya30nIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J001IDExaDE0djJINXonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0OyAvLyAoQylcblxuLy8gRm9ybXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGlucHV0LWJvcmRlci1jb2xvci1kYXJrOiBjb2xvci1taXgoaW4gc3JnYiwgJGJhc2UtZGFyayAyMiUsICRibGFjay1kYXJrKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3ItZGFyazogcmdiYSgkYmFzZS1kYXJrLCAuMjMpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvci1kYXJrOiAkaW5wdXQtYm9yZGVyLWNvbG9yLWRhcmsgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB3aWR0aD0nMjInIGhlaWdodD0nMjInIHZpZXdCb3g9JzAgMCAyMiAyMicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2cgZmlsdGVyPSd1cmwoJTIzYSknJTNlJTNjY2lyY2xlIGN4PScxMicgY3k9JzExJyByPSc4LjUnIGZpbGw9JyN7JHdoaXRlLWRhcmt9Jy8lM2UlM2MvZyUzZSUzY2RlZnMlM2UlM2NmaWx0ZXIgaWQ9J2EnIHg9JzAnIHk9JzAnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgZmlsdGVyVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InJTNlJTNjZmVGbG9vZCBmbG9vZC1vcGFjaXR5PScwJyByZXN1bHQ9J0JhY2tncm91bmRJbWFnZUZpeCcvJTNlJTNjZmVDb2xvck1hdHJpeCBpbj0nU291cmNlQWxwaGEnIHZhbHVlcz0nMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAnIHJlc3VsdD0naGFyZEFscGhhJy8lM2UlM2NmZU9mZnNldCBkeT0nMicvJTNlJTNjZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPScyJy8lM2UlM2NmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAwLjE4MDM5MiAwIDAgMCAwIDAuMTQ5MDIgMCAwIDAgMCAwLjIzOTIxNiAwIDAgMCAwLjE2IDAnLyUzZSUzY2ZlQmxlbmQgaW4yPSdCYWNrZ3JvdW5kSW1hZ2VGaXgnIHJlc3VsdD0nZWZmZWN0MV9kcm9wU2hhZG93XzY0ODhfMzI2NCcvJTNlJTNjZmVCbGVuZCBpbj0nU291cmNlR3JhcGhpYycgaW4yPSdlZmZlY3QxX2Ryb3BTaGFkb3dfNjQ4OF8zMjY0JyByZXN1bHQ9J3NoYXBlJy8lM2UlM2MvZmlsdGVyJTNlJTNjL2RlZnMlM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcms6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAgMjJcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGQ9XCJNMTAuOTk5OSAxMi4wNzQzTDE1LjUzNzQgNy41MzY3NkwxNi44MzM2IDguODMyOTJMMTAuOTk5OSAxNC42NjY2TDUuMTY2MjYgOC44MzI5Mkw2LjQ2MjQzIDcuNTM2NzZMMTAuOTk5OSAxMi4wNzQzWlwiIGZpbGw9XCIjeyR3aGl0ZS1kYXJrfVwiIGZpbGwtb3BhY2l0eT1cIjAuOVwiLz48L3N2Zz4nKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pbmRpY2F0b3ItZGFyazogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMlwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk0xMC45OTk5IDEyLjA3NDNMMTUuNTM3NCA3LjUzNjc2TDE2LjgzMzYgOC44MzI5MkwxMC45OTk5IDE0LjY2NjZMNS4xNjYyNiA4LjgzMjkyTDYuNDYyNDMgNy41MzY3NkwxMC45OTk5IDEyLjA3NDNaXCIgZmlsbD1cIiN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9XCIgZmlsbC1vcGFjaXR5PVwiMC45XCIvPjwvc3ZnPicpICFkZWZhdWx0OyAvLyAoQylcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnMtZGFya1xuJGZvcm0tdmFsaWQtY29sb3ItZGFyazogJHN1Y2Nlc3MtZGFyayAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrOiAkc3VjY2Vzcy1kYXJrICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1jb2xvci1kYXJrOiAkZGFuZ2VyLWRhcmsgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvci1kYXJrOiAkZGFuZ2VyLWRhcmsgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9ycy1kYXJrXG5cbi8vIE1vZGFsc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kbW9kYWwtYmFja2Ryb3AtYmctZGFyazogIzE3MTkyNSAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5LWRhcms6IC42ICFkZWZhdWx0O1xuXG4vLyBPZmZjYW52YXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJG9mZmNhbnZhcy1iYWNrZHJvcC1iZy1kYXJrOiAkbW9kYWwtYmFja2Ryb3AtYmctZGFyayAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eS1kYXJrOiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eS1kYXJrICFkZWZhdWx0O1xuXG4vLyBMaXN0IGdyb3VwXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGUtZGFyazogLTcwJSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tYmctaG92ZXItc2NhbGUtZGFyazogMTAlICFkZWZhdWx0OyAvLyAoQylcblxuLy8gVG9vbHRpcHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiR0b29sdGlwLWJnLWRhcms6ICNmN2Y0ZmYgIWRlZmF1bHQ7XG5cbi8vIENsb3NlXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4kYnRuLWNsb3NlLWNvbG9yLWRhcms6ICRiYXNlLWRhcmsgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yLWRhcms6ICRkYXJrLWRhcmsgIWRlZmF1bHQ7XG4iLCIvKiBUYWJsZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIGlvcyBmaXggZm9yIGRyb2Rvd24tbWVudSBiZWluZyBjbGlwcGVkIG9mZiB3aGVuIHVzZWQgaW4gdGFibGVzICovXG4uaW9zIC50YWJsZSB0ciA+IHRkIC5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBGaXJlZm94IGZpeCBmb3IgdGFibGUgaGVhZCBib3JkZXIgYm90dG9tICovXG4udGFibGUge1xuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgfVxuICB0ciB7XG4gICAgPiB0ZCB7XG4gICAgICAuZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG4taWNvbixcbiAgLmJ0bjpub3QoW2NsYXNzKj1cImJ0bi1cIl0pIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRpbmcgc3R5bGVcbiAgdGgge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgJjpub3QoLnRhYmxlLWJvcmRlcmxlc3MpOm5vdCguZGF0YVRhYmxlKSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKTtcbiAgfVxuXG4gIC8vIFJlbW92ZWQgbGVmdCBwYWRkaW5nIGZyb20gdGhlIGZpcnN0IGNvbHVtbiBhbmQgcmlnaHQgcGFkZGluZyBmcm9tIHRoZSBsYXN0IGNvbHVtblxuICAmLnRhYmxlLWZsdXNoLXNwYWNpbmcge1xuICAgIHRoZWFkLFxuICAgIHRib2R5IHtcbiAgICAgIHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICAgIHRyID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBmb3IgdGFibGUgaW5zaWRlIGNhcmRcbiAgLmNhcmQgJiB7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgfVxuXG4gICYudGFibGUtZGFyayxcbiAgLnRhYmxlLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRhYmxlLWxpZ2h0LFxuICAudGFibGUtbGlnaHQge1xuICAgIGJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgfVxuICAmLnRhYmxlLXNtIHtcbiAgICB0aGVhZCB0ciB0aCB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiAkdGFibGUtaGVhZC1wYWRkaW5nLXktc207XG4gICAgfVxuICB9XG4gIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAxcmVtO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMXJlbTtcbiAgfVxufVxuXG4vKiBjbGFzcyBmb3IgdG8gcmVtb3ZlIHRhYmxlIGJvcmRlciBib3R0b20gKi9cbi50YWJsZS1ib3JkZXItYm90dG9tLTAge1xuICB0cjpsYXN0LWNoaWxkIHtcbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUT0RPOiBDaGVja0luQlM2IFJldmlldyB0aGUgYHRhYmxlLXZhcmlhbnRzYCBtaXhpbiBpbiBCb290c3RyYXAgNiBhbmQgdXBkYXRlIG91ciBvdmVycmlkZXMgaWYgbmVlZGVkIHRvIHJlZmxlY3QgYW55IGNoYW5nZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKSwgLjIpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICN7JHRhYmxlLWhvdmVyLWJnLWZhY3Rvci1hbW91bnR9LCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICN7JHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yLWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZykpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZykgICN7JHRhYmxlLWJvcmRlci1mYWN0b3ItYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKSk7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICN7JHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3ItYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKSk7XG4gICAgQGlmICRzdGF0ZSA9PSBcImRhcmtcIiBvciAkc3RhdGUgPT0gXCJsaWdodFwiIHtcbiAgICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKSAzLjUlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpKTtcbiAgICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpIDIuOSUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1iZykpO1xuICAgICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKSA0JSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnKSk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC50YWJsZSB7XG4gICAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAjeyR0YWJsZS1ob3Zlci1iZy1mYWN0b3ItZGFya30pO1xuICAgICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksICN7JHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3ItZGFya30pO1xuICAgIH1cbiAgICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAgICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIExhYmVsc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uZm9ybS1sYWJlbCxcbi5jb2wtZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG59XG4uY29sLWZvcm0tbGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKiBEZWZhdWx0ICh2ZXJ0aWNhbCApIGZvcm0gbGFiZWwgc2l6ZSAqL1xuLmZvcm0tbGFiZWwtbGcge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5mb3JtLWxhYmVsLXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xufVxuIiwiLyogRm9ybSBUZXh0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4iLCIvKiBGb3JtIGNvbnRyb2xcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmZvcm0tY29udHJvbCB7XG4gIC8qXG4gID8gRm9ybSBjb250cm9sIChhbGwgc2l6ZSkgcGFkZGluZyBjYWxjIGR1ZSB0byBib3JkZXIgaW5jcmVhc2Ugb24gZm9jdXMgKi9cbiAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15IC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctaW5saW5lOiBjYWxjKCRpbnB1dC1wYWRkaW5nLXggLSAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcblxuICAvLyBmb3JtIGlucHV0IHBsYWNlaG9sZGVyIGFuaW1hdGlvblxuICAmOjpwbGFjZWhvbGRlcixcbiAgJjpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2UgLjJzKTtcbiAgfVxuXG4gIC8vIGJvcmRlciBjb2xvciBvbiBob3ZlciBzdGF0ZSB3aGVuIGVsZW1lbnQgbm90IGluIGZvY3VzIG9yIGRpc2FibGVkXG4gICY6aG92ZXIge1xuICAgICY6bm90KDpmb2N1cyk6bm90KC50YWdpZnktLWZvY3VzKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG4gIC8vICEgRklYOiB3aXphcmQtZXggaW5wdXQgdHlwZSBudW1iZXIgcGxhY2Vob2xkZXIgYWxpZ24gaXNzdWVcbiAgJlt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAuaW5wdXQtZ3JvdXAgJiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgICBtaW4tYmxvY2stc2l6ZTogMi4zNzVyZW07XG4gICAgfVxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBtaW4tYmxvY2stc2l6ZTogM3JlbTtcbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLXNtICYge1xuICAgICAgbWluLWJsb2NrLXNpemU6IDEuODc1cmVtO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgICAgIDpkaXIocnRsKSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMsXG4gIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCxcbiAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgJi5pcy1pbnZhbGlkLFxuICAmLmlzLXZhbGlkIHtcbiAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15IC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoJGlucHV0LXBhZGRpbmcteCAtICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGgpO1xuICAgICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3JkZXItd2lkdGggMCAwICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15LWxnIC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoJGlucHV0LXBhZGRpbmcteC1sZyAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgICY6Zm9jdXMsXG4gICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkLFxuICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICAgJi5pcy1pbnZhbGlkLFxuICAgICYuaXMtdmFsaWQge1xuICAgICAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15LWxnIC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gICAgICBwYWRkaW5nLWlubGluZTogY2FsYygkaW5wdXQtcGFkZGluZy14LWxnIC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICAgICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ibG9jazogKC0kaW5wdXQtcGFkZGluZy15LWxnIC0gLjA2MjVyZW0pO1xuICAgICAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15LWxnICsgLjA2MjVyZW0pO1xuICAgIH1cbiAgfVxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15LXNtIC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoJGlucHV0LXBhZGRpbmcteC1zbSAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgICY6Zm9jdXMsXG4gICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkLFxuICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICAgJi5pcy1pbnZhbGlkLFxuICAgICYuaXMtdmFsaWQge1xuICAgICAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15LXNtIC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gICAgICBwYWRkaW5nLWlubGluZTogY2FsYygkaW5wdXQtcGFkZGluZy14LXNtIC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICAgICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ibG9jazogKC0kaW5wdXQtcGFkZGluZy15LXNtIC0gLjA2MjVyZW0pO1xuICAgICAgcGFkZGluZy1ibG9jazogY2FsYygkaW5wdXQtcGFkZGluZy15LXNtICsgLjA2MjVyZW0pO1xuICAgIH1cbiAgfVxuICAmLmF1dG9zaXple1xuICAgIGZpZWxkLXNpemluZzogY29udGVudDtcbiAgICBtaW4tYmxvY2stc2l6ZTogJGF1dG96aXNlLW1pbi1oZWlnaHQ7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgfVxufVxuXG4vKiBSVEwgKi9cbjpkaXIocnRsKSB7XG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl0ge1xuICAgIHRleHQtYWxpZ246IGVuZDtcbiAgfVxufVxuIiwiLyogU2VsZWN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5mb3JtLXNlbGVjdCB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIHBhZGRpbmctYmxvY2s6IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nIC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXggLSAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgb3B0Z3JvdXAsXG4gIG9wdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKTtcbiAgfVxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICB9XG4gICY6aG92ZXIge1xuICAgICY6bm90KDpmb2N1cyk6bm90KDpkaXNhYmxlZCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pbmRpY2F0b3IpO1xuICB9XG4gICY6Zm9jdXMsXG4gICY6Zm9jdXMtd2l0aGluLFxuICAud2FzLXZhbGlkYXRlZCAmOmludmFsaWQsXG4gIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICYuaXMtaW52YWxpZCxcbiAgJi5pcy12YWxpZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRoO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAtIDFweCkgY2VudGVyO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAtICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGgpO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgLSAkaW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRoKTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy14IC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gIH1cbiAgJi5mb3JtLXNlbGVjdC1sZyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG4gICAgbWluLWJsb2NrLXNpemU6ICRpbnB1dC1oZWlnaHQtbGc7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnIC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZyAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgICY6Zm9jdXMsXG4gICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkLFxuICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICAgJi5pcy1pbnZhbGlkLFxuICAgICYuaXMtdmFsaWQge1xuICAgICAgcGFkZGluZy1ibG9jazogY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnIC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnIC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG4gICYuZm9ybS1zZWxlY3Qtc20ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgIG1pbi1ibG9jay1zaXplOiAkaW5wdXQtaGVpZ2h0LXNtO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbSAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc20gLSAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgICAmOmZvY3VzLFxuICAgIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCxcbiAgICAud2FzLXZhbGlkYXRlZCAmOnZhbGlkLFxuICAgICYuaXMtaW52YWxpZCxcbiAgICAmLmlzLXZhbGlkIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbSAtICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGgpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbSAtICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxuICAmW211bHRpcGxlXTpmb2N1cyB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAuODc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogUlRMICovXG46ZGlyKHJ0bCkge1xuICAuZm9ybS1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gICAgJjpmb2N1cyxcbiAgICAud2FzLXZhbGlkYXRlZCAmOmludmFsaWQsXG4gICAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgICAmLmlzLWludmFsaWQsXG4gICAgJi5pcy12YWxpZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAtIDFweCkgY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4vKiBEYXJrIFRoZW1lICovXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWRpc2FibGVkLWluZGljYXRvci1kYXJrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIENoZWNrYm94ZXMgYW5kIFJhZGlvc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctaW5saW5lOiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0IDA7XG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogaW5saW5lLXN0YXJ0O1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgfVxuICAmLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IDAgJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBmbG9hdDogaW5saW5lLWVuZDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgfVxuICB9XG59XG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZzogI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2stc2hhZG93LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpO1xuICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJveC1zaGFkb3c6IDAgLjEyNXJlbSAuMzc1cmVtIDAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1zaGFkb3ctY29sb3IpLCAuMyk7XG4gIGN1cnNvcjogJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yO1xuICAmOmRpc2FibGVkIHtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnOiAjeyRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLWJnfTtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLWJnO1xuICB9XG4gICY6Y2hlY2tlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYm94LXNoYWRvdyk7XG4gIH1cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYm94LXNoYWRvdyk7XG4gIH1cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuXG4vKiBPbmx5IGZvciBjaGVja2JveCBhbmQgcmFkaW8gKG5vdCBmb3IgYnMgZGVmYXVsdCBzd2l0Y2gpXG4/IC5kdC1jaGVja2JveGVzLWNlbGwgY2xhc3MgaXMgdXNlZCBmb3IgRGF0YVRhYmxlcyBjaGVja2JveGVzICovXG4uZm9ybS1jaGVjazpub3QoLmZvcm0tc3dpdGNoKSxcbi5kdC1jaGVja2JveGVzLWNlbGwge1xuICAuZm9ybS1jaGVjay1pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICY6bm90KDpjaGVja2VkKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IC43NXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgbWFyZ2luLWlubGluZTogMCAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDtcbn1cblxuLy8gU3dpdGNoZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgOmRpcihydGwpICYge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb24tcnRsO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc3dpdGNoLWJnO1xuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc3dpdGNoLWJveC1zaGFkb3c7XG4gICAgfVxuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICB9XG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIH1cbiAgfVxufVxuXG4vKiBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGZvcm0gY2hlY2sgKi9cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkY3VzdG9tLXRoZW1lLWNvbG9ycykge1xuICAuZm9ybS1jaGVjay0jeyRzdGF0ZX0ge1xuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stc2hhZG93LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gICAgfVxuICAgICYuY3VzdG9tLW9wdGlvbi5jaGVja2VkIHtcbiAgICAgIC0tI3skcHJlZml4fWN1c3RvbS1vcHRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFJhbmdlIHNlbGVjdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uZm9ybS1yYW5nZSB7XG4gIC8vIENocm9tZSBzcGVjaWZpY1xuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdztcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjJzLCBib3gtc2hhZG93IC4ycyBlYXNlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjVyZW0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMTYpO1xuICAgIH1cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC44MTI1cmVtIHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgLjE2KTtcbiAgICB9XG4gIH1cblxuICAvLyBNb3ppbGxhIHNwZWNpZmljXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3c7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4ycywgYm94LXNoYWRvdyAuMnMgZWFzZSk7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAuNXJlbSByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC4xNik7XG4gICAgfVxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjgxMjVyZW0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMTYpO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLyogSW5wdXQgZ3JvdXBzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbiR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiICFkZWZhdWx0O1xuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiAkdmFsaWRhdGlvbi1tZXNzYWdlcyArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi10b29sdGlwKVwiICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLWZlZWRiYWNrKVwiO1xufVxuXG4vKiBVc2luZyA6Zm9jdXMtd2l0aGluIHRvIGFwcGx5IGZvY3VzL3ZhbGlkYXRpb24gYm9yZGVyIGFuZCBzaGFkb3cgdG8gZGVmYXVsdCBhbmQgbWVyZ2VkIGlucHV0LWdyb3VwICovXG4uaW5wdXQtZ3JvdXAge1xuICAtLSN7JHByZWZpeH1pbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICN7JGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWlucHV0LWdyb3VwLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yfTtcbiAgJjpoYXMoLmZvcm0tY2hlY2staW5wdXQpOm5vdCg6aGFzKC5kcm9wZG93bi10b2dnbGUpKSB7XG4gICAgei1pbmRleDogMTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIElucHV0IGdyb3VwIChEZWZhdWx0KVxuICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5mbGF0cGlja3Itd3JhcHBlciB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgaW5saW5lLXNpemU6IDElO1xuICAgIG1pbi1pbmxpbmUtc2l6ZTogMDtcbiAgfVxuICA+IC5mbGF0cGlja3Itd3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIC5mbGF0cGlja3ItaW5wdXQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLFxuICAuZm9ybS1zZWxlY3QsXG4gIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAmOmZvY3VzLFxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbiAgJixcbiAgLndhcy12YWxpZGF0ZWQgJjpoYXMoOmludmFsaWQpLFxuICAud2FzLXZhbGlkYXRlZCAmOmhhcyg6dmFsaWQpIHtcbiAgICAuZm9ybS1jb250cm9sLFxuICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgICYsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpmb2N1cy13aXRoaW4sXG4gICAgICAud2FzLXZhbGlkYXRlZCAmOmludmFsaWQsXG4gICAgICAud2FzLXZhbGlkYXRlZCAmOnZhbGlkLFxuICAgICAgJi5pcy1pbnZhbGlkLFxuICAgICAgJi5pcy12YWxpZCB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoJGlucHV0LXBhZGRpbmcteSAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYygkaW5wdXQtcGFkZGluZy14IC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkLFxuICAgICAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgICAgICYuaXMtaW52YWxpZCxcbiAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXgpIGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1ibG9jazogY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy15IC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgLSAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgICAgICA6ZGlyKHJ0bCkgJiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXgpIGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmlucHV0LWdyb3VwLXNtLFxuICAud2FzLXZhbGlkYXRlZCAmLmlucHV0LWdyb3VwLXNtOmhhcyg6aW52YWxpZCksXG4gIC53YXMtdmFsaWRhdGVkICYuaW5wdXQtZ3JvdXAtc206aGFzKDp2YWxpZCkge1xuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgJixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAgIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCxcbiAgICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICAgICAmLmlzLWludmFsaWQsXG4gICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGlucHV0LXBhZGRpbmcteS1zbTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoJGlucHV0LXBhZGRpbmcteC1zbSAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgJixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAgIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCxcbiAgICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICAgICAmLmlzLWludmFsaWQsXG4gICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtKSBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtIC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gICAgICAgIDpkaXIocnRsKSAmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbSkgY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuaW5wdXQtZ3JvdXAtbGcsXG4gIC53YXMtdmFsaWRhdGVkICYuaW5wdXQtZ3JvdXAtbGc6aGFzKDppbnZhbGlkKSxcbiAgLndhcy12YWxpZGF0ZWQgJi5pbnB1dC1ncm91cC1sZzpoYXMoOnZhbGlkKSB7XG4gICAgLmZvcm0tY29udHJvbCxcbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkLFxuICAgICAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgICAgICYuaXMtaW52YWxpZCxcbiAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAkaW5wdXQtcGFkZGluZy15LWxnO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYygkaW5wdXQtcGFkZGluZy14LWxnIC0gJGlucHV0LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkLFxuICAgICAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgICAgICYuaXMtaW52YWxpZCxcbiAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGcpIGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1ibG9jazogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGcgLSAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgOmRpcihydGwpICYge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnKSBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBibG9jay1zaXplOiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5pbnB1dC1ncm91cC1sZyB7XG4gICAgJixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgfVxuICB9XG4gICYuaW5wdXQtZ3JvdXAtc20ge1xuICAgICYsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuICAgIH1cbiAgICAmLFxuICAgIC53YXMtdmFsaWRhdGVkICYuaW5wdXQtZ3JvdXAtc206aGFzKDppbnZhbGlkKSxcbiAgICAud2FzLXZhbGlkYXRlZCAmLmlucHV0LWdyb3VwLXNtOmhhcyg6dmFsaWQpIHtcbiAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICYsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICAgICAud2FzLXZhbGlkYXRlZCAmOmludmFsaWQsXG4gICAgICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQsXG4gICAgICAgICYuaXMtaW52YWxpZCxcbiAgICAgICAgJi5pcy12YWxpZCB7XG4gICAgICAgICAgcGFkZGluZy1ibG9jazogJGlucHV0LXBhZGRpbmcteS1zbTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZTogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgJixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXG4gICAgICAgIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCxcbiAgICAgICAgLndhcy12YWxpZGF0ZWQgJjp2YWxpZCxcbiAgICAgICAgJi5pcy1pbnZhbGlkLFxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc20pIGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc20gLSAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICA6ZGlyKHJ0bCkgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNhbGMoJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbSkgY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IDpub3QoOmZpcnN0LWNoaWxkLCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0KS5kcm9wZG93bi10b2dnbGUjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgfVxuICA+IC5mb3JtLWNvbnRyb2wgKyAuYnRuOmhhcygrIC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0KSN7JHZhbGlkYXRpb24tbWVzc2FnZXN9LFxuICA+IC5mb3JtLWNvbnRyb2wgfiAuYnRuOmxhc3QtY2hpbGQjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLTEgKiAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvKlxuICA/IEluZm8gOmZvY3VzLXdpdGhpbiB0byBhcHBseSBmb2N1cy92YWxpZGF0aW9uIGJvcmRlciBhbmQgc2hhZG93IHRvIGRlZmF1bHQgYW5kIG1lcmdlZCBpbnB1dCAmIGlucHV0LWdyb3VwICovXG4gICY6Zm9jdXMtd2l0aGluLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtYm9yZGVyLXdpZHRoICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgICAmOm5vdCguaW5wdXQtZ3JvdXAtbWVyZ2UpIHtcbiAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAuZm9ybS1zZWxlY3QsXG4gICAgICAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgICAgIC5idG4sXG4gICAgICAuZm9ybS1jb250cm9sOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3JkZXItd2lkdGggMCAwICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmhhcy12YWxpZGF0aW9uOm5vdCguaW5wdXQtZ3JvdXAtbWVyZ2UpIHtcbiAgICAgIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCxcbiAgICAgIC5mb3JtLXNlbGVjdC5pcy1pbnZhbGlkLFxuICAgICAgLmlucHV0LWdyb3VwLXRleHQ6aGFzKH4gLmlzLWludmFsaWQpLFxuICAgICAgLmJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2w6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJvcmRlci13aWR0aCAwIDAgIHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLXRleHQsXG4gICAgLmZvcm0tY29udHJvbCxcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbnB1dCBncm91cCBtZXJnZVxuICAmLmlucHV0LWdyb3VwLW1lcmdlIHtcbiAgICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICB9XG4gICAgJjpub3QoLmRpc2FibGVkKSA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguYnRuKTpub3QoLmRyb3Bkb3duLW1lbnUgKyAuZm9ybS1jb250cm9sKTpub3QoLmJ0biArIC5mb3JtLWNvbnRyb2wpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygkaW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRoIC0gNHB4KTtcbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLXRleHQsXG4gICAgLmZvcm0tY29udHJvbCxcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgJixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5mbGF0cGlja3Itd3JhcHBlciB7XG4gICAgICAuZmxhdHBpY2tyLWlucHV0IHtcbiAgICAgICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6bm90KDpmb2N1cyk6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC5mbGF0cGlja3ItaW5wdXQge1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAuZmxhdHBpY2tyLWlucHV0IHtcbiAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAuZmxhdHBpY2tyLWlucHV0IHtcbiAgICAgICAgICBib3JkZXItaW5saW5lLWVuZDogMDtcbiAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICY6Zm9jdXMge1xuICAgICAgLmZsYXRwaWNrci13cmFwcGVyIHtcbiAgICAgICAgLmZsYXRwaWNrci1pbnB1dCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgbWFyZ2luLWlubGluZTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdW5kZWQgcGlsbCBvcHRpb25cbiAgJi5yb3VuZGVkLXBpbGwge1xuICAgIC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmZvcm0tc2VsZWN0LFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvciBkaXNhYmxlZCBpbnB1dCBncm91cFxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmlucHV0LWdyb3VwLXRleHQsXG4gICAgLmZvcm0tY29udHJvbCxcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aW5wdXQtZ3JvdXAtZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtZGlzYWJsZWQtaW5kaWNhdG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIHZhbGlkYXRpb24gYm9yZGVyIHJhZGl1cyBpc3N1ZVxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IC5pbnB1dC1ncm91cC10ZXh0OmZpcnN0LWNoaWxkLFxuICAgID4gLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG4vKiBpbnB1dC1ncm91cC10ZXh0IGljb24gc2l6ZSAqL1xuLmlucHV0LWdyb3VwLXRleHQge1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gIC8qIEFkZGluZyB0cmFuc2l0aW9uIChPbiBmb2N1cyBib3JkZXIgY29sb3IgY2hhbmdlKSAqL1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQge1xuICAuaWNvbi1iYXNle1xuICAgIGJsb2NrLXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgaW5saW5lLXNpemU6IDEuMzc1cmVtO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgLmljb24tYmFzZXtcbiAgICBibG9jay1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGlubGluZS1zaXplOiAxLjEyNXJlbTtcbiAgfVxufVxuXG4vKiBSVEwgdGhlbWUgKi9cbjpkaXIoUnRsKSB7XG4gIC5pbnB1dC1ncm91cCB7XG4gICAgPiA6bm90KDpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuICAgID4gLmJ0bjpoYXMoICsgLmJ0bikjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuLyogRGFyayBUaGVtZSAqL1xuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC0tI3skcHJlZml4fWlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogI3skaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgICAgLS0jeyRwcmVmaXh9aW5wdXQtZ3JvdXAtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgICAmLmRpc2FibGVkLFxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWRpc2FibGVkLWluZGljYXRvci1kYXJrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogRmxvYXRpbmcgTGFiZWxzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIERpc3BsYXkgcGxhY2Vob2xkZXIgb24gZm9jdXMgKi9cbi5mb3JtLWZsb2F0aW5nIHtcbiAgPiBsYWJlbCB7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICB9XG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmZvcm0tY29udHJvbDpmb2N1czpub3QoOnBsYWNlaG9sZGVyLXNob3duKSxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tc2VsZWN0OmZvY3VzOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiAgICB9XG4gIH1cbn1cblxuOmRpcihydGwpIHtcbiAgLmZvcm0tZmxvYXRpbmcge1xuICAgID4gbGFiZWwge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgIH1cbiAgICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICAgID4gLmZvcm0tc2VsZWN0LFxuICAgID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIH4gbGFiZWwge1xuICAgICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybS1ydGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBWYWxpZGF0aW9uIHN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiBDdXJyZW50bHkgc3VwcG9ydGVkIGZvciBmb3JtLXZhbGlkYXRpb24gYW5kIGpxLXZhbGlkYXRpb24gKi9cbmZvcm0ge1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkYXRpb24tc2hhZG93OiBub25lO1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkYXRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG4gIC5lcnJvcjpub3QobGkpOm5vdChpbnB1dCkge1xuICAgIGNvbG9yOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogLjI1cmVtO1xuICB9XG4gIC5mb3JtLWxhYmVsIHtcbiAgICAmLmludmFsaWQsXG4gICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsIC40KTtcbiAgICB9XG4gIH1cblxuICAmLndhcy12YWxpZGF0ZWQgOmludmFsaWQsXG4gIC5pcy1pbnZhbGlkLFxuICAmLndhcy12YWxpZGF0ZWQgc2VsZWN0OmludmFsaWQsXG4gICYud2FzLXZhbGlkYXRlZCBzZWxlY3Q6aW52YWxpZCArIC5kcm9wZG93bi10b2dnbGUsXG4gICYud2FzLXZhbGlkYXRlZCBzZWxlY3Q6aW52YWxpZCB+IC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgc2VsZWN0LmlzLWludmFsaWQsXG4gIHNlbGVjdC5pcy1pbnZhbGlkICsgLmRyb3Bkb3duLXRvZ2dsZSxcbiAgc2VsZWN0LmlzLWludmFsaWQgfiAuc2VsZWN0Mi1jb250YWluZXIsXG4gICYud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXA6aGFzKDppbnZhbGlkKSxcbiAgLmlucHV0LWdyb3VwOmhhcyguaXMtaW52YWxpZCksXG4gIC5pbnB1dC1ncm91cCAuaXMtaW52YWxpZCxcbiAgJi53YXMtdmFsaWRhdGVkIC50YWdpZnk6aGFzKCsgOmludmFsaWQpLFxuICAudGFnaWZ5OmhhcygrIC5pcy1pbnZhbGlkKSB7XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi53YXMtdmFsaWRhdGVkIDp2YWxpZCxcbiAgLmlzLXZhbGlkLFxuICAmLndhcy12YWxpZGF0ZWQgc2VsZWN0OnZhbGlkLFxuICAmLndhcy12YWxpZGF0ZWQgc2VsZWN0OnZhbGlkICsgLmRyb3Bkb3duLXRvZ2dsZSxcbiAgJi53YXMtdmFsaWRhdGVkIHNlbGVjdDp2YWxpZCB+IC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgc2VsZWN0LmlzLXZhbGlkLFxuICBzZWxlY3QuaXMtdmFsaWQgKyAuZHJvcGRvd24tdG9nZ2xlLFxuICBzZWxlY3QuaXMtdmFsaWQgfiAuc2VsZWN0Mi1jb250YWluZXIsXG4gIC5pbnB1dC1ncm91cDpoYXMoLmlzLXZhbGlkKSxcbiAgJi53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cDpoYXMoOnZhbGlkKSxcbiAgLmlucHV0LWdyb3VwIC5pcy12YWxpZCxcbiAgJi53YXMtdmFsaWRhdGVkIC50YWdpZnk6aGFzKCsgOnZhbGlkKSxcbiAgLnRhZ2lmeTpoYXMoKyAuaXMtdmFsaWQpIHtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkYXRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6bm90KC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sKTppbnZhbGlkLFxuICAmLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDpub3QoLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wpOnZhbGlkLFxuICAuZm9ybS1jb250cm9sOm5vdCguaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCkuaXMtaW52YWxpZCxcbiAgLmZvcm0tY29udHJvbDpub3QoLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wpLmlzLXZhbGlkLFxuICAmLndhcy12YWxpZGF0ZWQgLmZvcm0tc2VsZWN0Om5vdCguaW5wdXQtZ3JvdXAgLmZvcm0tc2VsZWN0KTppbnZhbGlkLFxuICAmLndhcy12YWxpZGF0ZWQgLmZvcm0tc2VsZWN0Om5vdCguaW5wdXQtZ3JvdXAgLmZvcm0tc2VsZWN0KTp2YWxpZCxcbiAgLmZvcm0tc2VsZWN0Om5vdCguaW5wdXQtZ3JvdXAgLmZvcm0tc2VsZWN0KS5pcy1pbnZhbGlkLFxuICAuZm9ybS1zZWxlY3Q6bm90KC5pbnB1dC1ncm91cCAuZm9ybS1zZWxlY3QpLmlzLXZhbGlkIHtcbiAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLWJvcmRlci1jb2xvcik7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLXNoYWRvdyk7XG4gICAgICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3JkZXItd2lkdGggMCAwIHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQsXG4gICYud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCxcbiAgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCxcbiAgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQge1xuICAgICYsXG4gICAgJjpjaGVja2VkLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWRhdGlvbi1zaGFkb3cpO1xuICAgIH1cbiAgfVxuICAmLndhcy12YWxpZGF0ZWQgLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQsXG4gICYud2FzLXZhbGlkYXRlZCAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQsXG4gIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkLFxuICAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQge1xuICAgICY6aW52YWxpZCxcbiAgICAmLmlzLWludmFsaWQsXG4gICAgJjp2YWxpZCxcbiAgICAmLmlzLXZhbGlkIHtcbiAgICAgICYsXG4gICAgICAmOmNoZWNrZWQsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWRhdGlvbi1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGlucHV0IGdyb3VwXG4gICYud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXA6aGFzKDppbnZhbGlkKSxcbiAgLmlucHV0LWdyb3VwOmhhcyguaXMtaW52YWxpZCksXG4gICYud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXA6aGFzKDp2YWxpZCksXG4gIC5pbnB1dC1ncm91cDpoYXMoLmlzLXZhbGlkKSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWJvcmRlci13aWR0aCB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLWJvcmRlci1jb2xvcik7XG4gICAgLmlucHV0LWdyb3VwLXRleHQsXG4gICAgLmZvcm0tY29udHJvbCB+IC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmZvcm0tY29udHJvbDpob3ZlcixcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgJixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAgICYuaXMtaW52YWxpZCxcbiAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWRhdGlvbi1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWRhdGlvbi1zaGFkb3cpO1xuICAgIH1cbiAgICAuZmxhdHBpY2tyLXdyYXBwZXIge1xuICAgICAgLmZsYXRwaWNrci1pbnB1dCB7XG4gICAgICAgICYsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICAgICAmLmlzLWludmFsaWQsXG4gICAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwOmhhcyg6aW52YWxpZCksXG4gIC5pbnB1dC1ncm91cDpoYXMoLmlzLWludmFsaWQpIHtcbiAgICB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuICAgIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwOmhhcyg6dmFsaWQpLFxuICAuaW5wdXQtZ3JvdXA6aGFzKC5pcy12YWxpZCkge1xuICAgIH4gLnZhbGlkLWZlZWRiYWNrLFxuICAgIH4gLnZhbGlkLXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gdGFnaWZ5XG4gICYud2FzLXZhbGlkYXRlZCAudGFnaWZ5OmhhcygrIGlucHV0OmludmFsaWQpLFxuICAmLndhcy12YWxpZGF0ZWQgLnRhZ2lmeTpoYXMoKyBpbnB1dDp2YWxpZCksXG4gIC50YWdpZnk6aGFzKCsgaW5wdXQuaXMtaW52YWxpZCksXG4gIC50YWdpZnk6aGFzKCsgaW5wdXQudmFsaWQpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci13aWR0aDogJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLXNoYWRvdyk7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBCb290c3RyYXAgc2VsZWN0XG4gIC5ib290c3RyYXAtc2VsZWN0IC5zZWxlY3RwaWNrZXIuaXMtaW52YWxpZCArIC5kcm9wZG93bi10b2dnbGUsXG4gICYud2FzLXZhbGlkYXRlZCAuYm9vdHN0cmFwLXNlbGVjdCAuc2VsZWN0cGlja2VyOmludmFsaWQgKyAuZHJvcGRvd24tdG9nZ2xlLFxuICAuYm9vdHN0cmFwLXNlbGVjdCAuc2VsZWN0cGlja2VyLmlzLXZhbGlkICsgLmRyb3Bkb3duLXRvZ2dsZSxcbiAgJi53YXMtdmFsaWRhdGVkIC5ib290c3RyYXAtc2VsZWN0IC5zZWxlY3RwaWNrZXI6dmFsaWQgKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWRhdGlvbi1zaGFkb3cpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoJGlucHV0LXBhZGRpbmcteSAtICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGgpO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKCRpbnB1dC1wYWRkaW5nLXggLSAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgICAmOjphZnRlciB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLSN7JHByZWZpeH1ib290c3RyYXAtc2VsZWN0LWFycm93LXBvc2l0aW9uKSAtICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlbGVjdDJcbiAgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQgfiAuc2VsZWN0Mi1jb250YWluZXIsXG4gICYud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZCB+IC5zZWxlY3QyLWNvbnRhaW5lcixcbiAgLmZvcm0tc2VsZWN0LmlzLXZhbGlkIH4gLnNlbGVjdDItY29udGFpbmVyLFxuICAmLndhcy12YWxpZGF0ZWQgLmZvcm0tc2VsZWN0OnZhbGlkIH4gLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcbiAgICAgICYsXG4gICAgICAmLnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyxcbiAgICAgICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4ge1xuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZGF0aW9uLXNoYWRvdyk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fXNlbGVjdC1oZWlnaHQpIC0gJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAtIHZhcigtLSN7JHByZWZpeH1zZWxlY3QtYm9yZGVyLXdpZHRoKSk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYygkZm9ybS1zZWxlY3QtcGFkZGluZy14IC0gdmFyKC0tI3skcHJlZml4fXNlbGVjdC1ib3JkZXItd2lkdGgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLSN7JHByZWZpeH1zZWxlY3QtbXVsdGlwbGUtcGFkZGluZy15KSAtIHZhcigtLSN7JHByZWZpeH1zZWxlY3QtYm9yZGVyLXdpZHRoKSk7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9c2VsZWN0LW11bHRpcGxlLXBhZGRpbmcteCkgLSB2YXIoLS0jeyRwcmVmaXh9c2VsZWN0LWJvcmRlci13aWR0aCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnV0dG9uc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uYnRuIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3ctcmdiOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdy1yZ2I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogMCAuMTI1cmVtIC4zNzVyZW0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3ctcmdiKSwgLjMpO1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAuMTI1cmVtIC4zNzVyZW0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuMyk7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6IDAgLjEyNXJlbSAuMzc1cmVtIHJnYmEodmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93LXJnYiksIC4zKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpO1xuXG4gIC5idG4tZ3JvdXAgJixcbiAgLmlucHV0LWdyb3VwICYge1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YnRuLWdyb3VwLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItY29sb3IpO1xuICB9XG4gIC5idG4tZ3JvdXAtdmVydGljYWwgJiB7XG4gICAgYm9yZGVyLWJsb2NrLWVuZDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1ibG9jay1zdGFydDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi53YXZlcy1lZmZlY3Q6bm90KC53YXZlcy1saWdodCkge1xuICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJ0bi13YXZlcy1lZmZlY3QtY29sb3IpLCAuMikgMCxcbiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4td2F2ZXMtZWZmZWN0LWNvbG9yKSwgLjMpIDQwJSxcbiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4td2F2ZXMtZWZmZWN0LWNvbG9yKSwgLjQpIDUwJSxcbiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4td2F2ZXMtZWZmZWN0LWNvbG9yKSwgLjUpIDYwJSxcbiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH13aGl0ZS1yZ2IpLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmU6bm90KFtjbGFzcyo9XCJidG4tbGFiZWwtXCJdKSxcbiAgJjpmaXJzdC1jaGlsZDphY3RpdmU6bm90KFtjbGFzcyo9XCJidG4tbGFiZWwtXCJdKSxcbiAgJi5hY3RpdmU6bm90KFtjbGFzcyo9XCJidG4tbGFiZWwtXCJdKSxcbiAgJi5zaG93IHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXQ6ZGlzYWJsZWQgJiB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1iZzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICB9XG5cbiAgLyogVGFibGUgQWN0aW9uIERyb3Bkb3duIGZpeCAqL1xuICAmOm5vdChbY2xhc3MqPVwiYnRuLVwiXSk6YWN0aXZlLFxuICAmOm5vdChbY2xhc3MqPVwiYnRuLVwiXSkuYWN0aXZlLFxuICAmOm5vdChbY2xhc3MqPVwiYnRuLVwiXSkuc2hvdyxcbiAgJjpub3QoW2NsYXNzKj1cImJ0bi1cIl0pIHtcbiAgICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLyogQnV0dG9ucyBWYXJpYW50ICovXG5cbiAgLyogTGFiZWwgKi9cbiAgJltjbGFzcyo9XCJidG4tbGFiZWwtXCJdIHtcbiAgICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogbm9uZTtcbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgICAgLS0jeyRwcmVmaXh9YnRuLWJnOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZyk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJi5zaG93IHtcbiAgICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qIE91dGxpbmUgKi9cbiAgJltjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0ge1xuICAgICY6bm90KDpmb2N1cykge1xuICAgICAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6IG5vbmU7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcblxuICAgIC5iYWRnZSB7XG4gICAgICAtLSN7JHByZWZpeH1iYWRnZS1iZy1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgICAtLSN7JHByZWZpeH1iYWRnZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgfVxuXG4gICAgJjpob3ZlciAuYmFkZ2UsXG4gICAgJjpmb2N1czpob3ZlciAuYmFkZ2UsXG4gICAgJjpmb2N1czpub3QoOmhvdmVyKSAuYmFkZ2UsXG4gICAgJjphY3RpdmUgLmJhZGdlLFxuICAgICYuYWN0aXZlIC5iYWRnZSxcbiAgICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gICAgICAmOm5vdChbY2xhc3MqPVwiYmFkZ2Utb3V0bGluZVwiXSkge1xuICAgICAgICAtLSN7JHByZWZpeH1iYWRnZS1iZy1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgICAgIC0tI3skcHJlZml4fWJhZGdlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJhZGdlLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJ0bi13aGl0ZSB7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWJnOiB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH13aGl0ZSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmxhY2spO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fWJ0bi1iZyk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3ctcmdiOiB2YXIoLS0jeyRwcmVmaXh9d2hpdGUtcmdiKTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdy1yZ2I6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdy1yZ2IpO1xuICB9XG5cbiAgLyogVGV4dCAqL1xuICAmW2NsYXNzKj1cImJ0bi10ZXh0LVwiXSB7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogbm9uZTtcbiAgICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogbm9uZTtcbiAgICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAgIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICZbY2xhc3MqPVwiYnRuLVwiXTphY3RpdmU6bm90KFtjbGFzcyo9XCJidG4tdGV4dFwiXSk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICAmW2NsYXNzKj1cImJ0bi1cIl0uYWN0aXZlOm5vdChbY2xhc3MqPVwiYnRuLXRleHRcIl0pOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xMzVzIGVhc2UtaW4tb3V0KTtcbiAgfVxuICAmOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoW2NsYXNzKj1cImJ0bi10ZXh0LVwiXSkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMDEpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xMzVzIGVhc2UtaW4tb3V0KTtcbiAgfVxufVxuXG4vKiBCYWRnZSB3aXRoaW4gYnV0dG9uICovXG4uYnRuIC5iYWRnZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG59XG5cbmxhYmVsLmJ0biB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG59XG5cbi8qIEJ1dHRvbiBTaXplcyAqL1xuXG4uYnRuLXhsIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXkteGwsICRidG4tcGFkZGluZy14LXhsLCAkYnRuLWZvbnQtc2l6ZS14bCwgJGJ0bi1ib3JkZXItcmFkaXVzLXhsKTtcbn1cblxuLmJ0bi1zbSB7XG4gIGxpbmUtaGVpZ2h0OiAkYnRuLWxpbmUtaGVpZ2h0LXNtO1xufVxuXG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXkteHMsICRidG4tcGFkZGluZy14LXhzLCAkYnRuLWZvbnQtc2l6ZS14cywgJGJ0bi1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLyogSWNvbiBidXR0b24gKi9cblxuLmJ0bi1pY29uIHtcbiAgJGJ0bi1pY29uLXNpemUteGw6ICgkYnRuLWZvbnQtc2l6ZS14bCAqICRidG4tbGluZS1oZWlnaHQteGwpICsgKCRidG4tcGFkZGluZy15LXhsICogMik7XG4gICRidG4taWNvbi1mb250LXNpemUteGw6ICRidG4tZm9udC1zaXplLXhsICogJGJ0bi1saW5lLWhlaWdodC14bDtcbiAgJGJ0bi1pY29uLXNpemUtbGc6ICgkYnRuLWZvbnQtc2l6ZS1sZyAqICRidG4tbGluZS1oZWlnaHQtbGcpICsgKCRidG4tcGFkZGluZy15LWxnICogMik7XG4gICRidG4taWNvbi1mb250LXNpemUtbGc6ICRidG4tZm9udC1zaXplLWxnICogJGJ0bi1saW5lLWhlaWdodC1sZztcbiAgJGJ0bi1pY29uLXNpemU6ICgkYnRuLWZvbnQtc2l6ZSAqICRidG4tbGluZS1oZWlnaHQpICsgKCRidG4tcGFkZGluZy15ICogMik7XG4gICRidG4taWNvbi1mb250LXNpemU6ICRidG4tZm9udC1zaXplICogJGJ0bi1saW5lLWhlaWdodDtcbiAgJGJ0bi1pY29uLXNpemUtc206ICgkYnRuLWZvbnQtc2l6ZS1zbSAqICRidG4tbGluZS1oZWlnaHQtc20pICsgKCRidG4tcGFkZGluZy15LXNtICogMik7XG4gICRidG4taWNvbi1mb250LXNpemUtc206ICRidG4tZm9udC1zaXplLXNtO1xuICAkYnRuLWljb24tc2l6ZS14czogKCRidG4tZm9udC1zaXplLXhzICogJGJ0bi1saW5lLWhlaWdodC14cykgKyAoJGJ0bi1wYWRkaW5nLXkteHMgKiAyKTtcbiAgJGJ0bi1pY29uLWZvbnQtc2l6ZS14czogJGJ0bi1mb250LXNpemUteHM7XG4gICRib3JkZXJzLXdpZHRoOiBjYWxjKCN7JGJ0bi1ib3JkZXItd2lkdGh9ICogMik7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgYmxvY2stc2l6ZTogY2FsYygjeyRidG4taWNvbi1zaXplfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgZm9udC1zaXplOiAkYnRuLWljb24tZm9udC1zaXplO1xuICBpbmxpbmUtc2l6ZTogY2FsYygjeyRidG4taWNvbi1zaXplfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcblxuICAuaWNvbi1iYXNle1xuICAgIEBpbmNsdWRlIGljb24tYmFzZSgkYnRuLWljb24tZm9udC1zaXplKTtcbiAgfVxuXG4gICYuYnRuLXhsIHtcbiAgICBibG9jay1zaXplOiBjYWxjKCN7JGJ0bi1pY29uLXNpemUteGx9ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICAgIGlubGluZS1zaXplOiBjYWxjKCN7JGJ0bi1pY29uLXNpemUteGx9ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICAgIC5pY29uLWJhc2Uge1xuICAgICAgQGluY2x1ZGUgaWNvbi1iYXNlKCRidG4taWNvbi1mb250LXNpemUteGwpO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLWxnIHtcbiAgICBibG9jay1zaXplOiBjYWxjKCN7JGJ0bi1pY29uLXNpemUtbGd9ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICAgIGZvbnQtc2l6ZTogJGJ0bi1pY29uLWZvbnQtc2l6ZS1sZztcbiAgICBpbmxpbmUtc2l6ZTogY2FsYygjeyRidG4taWNvbi1zaXplLWxnfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgICAuaWNvbi1iYXNlIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFzZSgkYnRuLWljb24tZm9udC1zaXplLWxnKTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1zbSB7XG4gICAgYmxvY2stc2l6ZTogY2FsYygjeyRidG4taWNvbi1zaXplLXNtfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgICBmb250LXNpemU6ICRidG4taWNvbi1mb250LXNpemUtc207XG4gICAgaW5saW5lLXNpemU6IGNhbGMoI3skYnRuLWljb24tc2l6ZS1zbX0gKyAjeyRib3JkZXJzLXdpZHRofSk7XG4gICAgLmljb24tYmFzZSB7XG4gICAgICBAaW5jbHVkZSBpY29uLWJhc2UoJGJ0bi1mb250LXNpemUtc20pO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLXhzIHtcbiAgICBibG9jay1zaXplOiBjYWxjKCN7JGJ0bi1pY29uLXNpemUteHN9ICsgI3skYm9yZGVycy13aWR0aH0pO1xuICAgIGZvbnQtc2l6ZTogJGJ0bi1pY29uLWZvbnQtc2l6ZS14cztcbiAgICBpbmxpbmUtc2l6ZTogY2FsYygjeyRidG4taWNvbi1zaXplLXhzfSArICN7JGJvcmRlcnMtd2lkdGh9KTtcbiAgICAuaWNvbi1iYXNlIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFzZSgkYnRuLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuICB9XG59XG5cbi8qIExpbmsgYnV0dG9ucyAqL1xuLmJ0bi5idG4tbGluayB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLmJ0bi1waW5uZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAxLjI1cmVtO1xuICBpbnNldC1pbmxpbmUtZW5kOiAxLjIzcmVtO1xufVxuXG4vKiBCdXR0b24gZm9jdXMgKi9cbmJ1dHRvbjpmb2N1cyxcbmJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBidXR0b24gKi9cblxuLyogVGhlICRjdXN0b20tdGhlbWUtY29sb3JzIHZhcmlhYmxlIGlzIHVzZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGNvbG9ycyBmb3IgdGhlIHNvY2lhbCBidXR0b25zXG4gY29tZSBmcm9tIGEgc2VwYXJhdGUgYXJyYXkuIFRvIGFjaGlldmUgdGhpcywgYm90aCB0aGUgJGN1c3RvbS1jb2xvcnMgYW5kICR0aGVtZS1jb2xvcnNcbiBhcnJheXMgYXJlIG1lcmdlZCBpbiB0aGUgX2NvbG9yLnNjc3MgZmlsZS4gKi9cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkY3VzdG9tLXRoZW1lLWNvbG9ycykge1xuICAvKiBEZWZhdWx0ICovXG4gIC5idG4tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1idG4tYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6IGNvbG9yLW1peChpbiBzUkdCLCAjeyRjb2xvci1jb250cmFzdC1kYXJrfSAjeyRidG4taG92ZXItYmctc2hhZGUtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6IGNvbG9yLW1peChpbiBzUkdCLCAjeyRjb2xvci1jb250cmFzdC1kYXJrfSAjeyRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93LXJnYjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1yZ2IpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3ctcmdiOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzUkdCLCAjeyRjb2xvci1jb250cmFzdC1kYXJrfSAjeyRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAtLSN7JHByZWZpeH1idG4td2F2ZXMtZWZmZWN0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gIH1cblxuICAvKiBMYWJlbCAqL1xuICAuYnRuLWxhYmVsLSN7JHN0YXRlfXtcbiAgICAtLSN7JHByZWZpeH1idG4tY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWJ0bi1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgI3skYnRuLWxhYmVsLXRpbnQtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAjeyRidG4tbGFiZWwtYWN0aXZlLXNoYWRlLWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAjeyRidG4tbGFiZWwtYWN0aXZlLXNoYWRlLWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3ctcmdiOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1idG4tZ3JvdXAtYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAjeyRidG4tbGFiZWwtYm9yZGVyLXRpbnQtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgIC0tI3skcHJlZml4fWJ0bi13YXZlcy1lZmZlY3QtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKTtcbiAgfVxuXG4gIC8qIE91dGxpbmUgKi9cbiAgLmJ0bi1vdXRsaW5lLSN7JHN0YXRlfXtcbiAgICAtLSN7JHByZWZpeH1idG4tY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWJ0bi1iYWRnZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpICN7JGJ0bi1vdXRsaW5lLXRpbnQtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAjeyRidG4tb3V0bGluZS10aW50LWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLXdhdmVzLWVmZmVjdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1yZ2IpO1xuICB9XG5cbiAgLyogVGV4dCAqL1xuICAuYnRuLXRleHQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1idG4tY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLXdhdmVzLWVmZmVjdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1yZ2IpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgI3skYnRuLXRleHQtaG92ZXItdGludC1hbW91bnR9LCB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KSk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgI3skYnRuLXRleHQtYWN0aXZlLXRpbnQtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZyk7XG4gICAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgfVxufVxuXG4vKiBEYXJrIFRoZW1lICovXG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIEBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkY3VzdG9tLXRoZW1lLWNvbG9ycykge1xuICAgICAgLmJ0bi1sYWJlbC0jeyRzdGF0ZX0ge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwiZ2l0aHViXCIgb3IgJHN0YXRlID09IFwic2xhY2tcIiB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgICAgICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgNjAlLCB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KSk7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSA0MCUsIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAgICAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSA0MCUsIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmJ0bi10ZXh0LSN7JHN0YXRlfSB7XG4gICAgICAgIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pICN7JGJ0bi10ZXh0LWhvdmVyLXNoYWRlLWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpO1xuICAgICAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkgI3skYnRuLXRleHQtYWN0aXZlLXNoYWRlLWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpO1xuICAgICAgICBAaWYgJHN0YXRlID09IFwiZ2l0aHViXCIgb3IgJHN0YXRlID09IFwic2xhY2tcIiB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgICAgICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pIDI1JSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSk7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkgNTAlLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpKTtcbiAgICAgICAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkgNTAlLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpKTtcbiAgICAgICAgICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgICAgICAtLSN7JHByZWZpeH1idG4tZ3JvdXAtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgICAgICAtLSN7JHByZWZpeH1idG4td2F2ZXMtZWZmZWN0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0LXJnYik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIERyb3Bkb3duc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmRyb3Bkb3duLW1lbnUge1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdyk7XG5cbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxuICA+IGxpOm5vdCguZGlzYWJsZWQpID4gYTpub3QoLmRyb3Bkb3duLWl0ZW0pLmFjdGl2ZSxcbiAgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcik7XG4gIH1cblxuICAvKiBNZWdhIGRyb3Bkb3duIGluc2lkZSB0aGUgZHJvcGRvd24gbWVudSAqL1xuICAubWVnYS1kcm9wZG93biA+ICYge1xuICAgIGluc2V0LWlubGluZTogMDtcbiAgfVxufVxuXG4uYnRuLXhzLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBAaW5jbHVkZSBjYXJldC1kb3duKC40NWVtKTtcbn1cblxuLyogU3BsaXQgZHJvcGRvd25zICovXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wZW5kICY6OmFmdGVyIHtcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuICB9XG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuICB9XG59XG5cbi8qIERyb3Bkb3duIGl0ZW0gbGluZSBoZWlnaHQgKi9cbi5kcm9wZG93bi1pdGVtIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1cykpO1xuICBsaTpub3QoOmZpcnN0LWNoaWxkKSAmLFxuICAuZHJvcGRvd24tbWVudSAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDJweDtcbiAgfVxuICAmLndhdmVzLWVmZmVjdCB7XG4gICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMikgMCxcbiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC4zKSA0MCUsXG4gICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgLjUpIDYwJSxcbiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH13aGl0ZS1yZ2IpLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cbiAgJi50ZXh0LWRhbmdlcjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBIaWRkZW4gZHJvcGRvd24gdG9nZ2xlIGFycm93ICovXG4uZHJvcGRvd24tdG9nZ2xlLmhpZGUtYXJyb3csXG4uZHJvcGRvd24tdG9nZ2xlLWhpZGUtYXJyb3cgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1zdGFydCB7XG4gICAgICAtLSN7JHByZWZpeH1wb3NpdGlvbjogc3RhcnQ7XG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIGluc2V0LWlubGluZTogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLSN7JHByZWZpeH1wb3NpdGlvbjogZW5kO1xuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICBpbnNldC1pbmxpbmU6IGF1dG8gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiBncm91cHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmJ0bi1ncm91cCB7XG4gIC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1c307XG5cbiAgJi5idG4tZ3JvdXAtc20ge1xuICAgIC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1cy1zbX07XG4gIH1cbiAgJi5idG4tZ3JvdXAteHMge1xuICAgIC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1cy14c307XG4gIH1cbiAgJi5idG4tZ3JvdXAtbGcge1xuICAgIC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1cy1sZ307XG4gIH1cbiAgJi5idG4tZ3JvdXAteGwge1xuICAgIC0tI3skcHJlZml4fWJ0bi1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1cy14bH07XG4gIH1cblxuICA+IDpub3QoLmJ0bi1jaGVjazpmaXJzdC1vZi10eXBlKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoI3skYnRuLWJvcmRlci13aWR0aH0gKiAtMSk7XG4gIH1cbiAgJjpoYXMoPiAuZHJvcGRvd24tdG9nZ2xlKSAuYnRuW2NsYXNzKj1cImJ0bi1sYWJlbC1cIl0ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKCN7JGJ0bi1ib3JkZXItd2lkdGh9ICogLTEpO1xuICB9XG4gICY6bm90KC5idG4tZ3JvdXAtdmVydGljYWwpIHtcblxuICAgID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgICA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OmZpcnN0LWNoaWxkLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbiAgICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnRuLWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gICAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbiAgICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgYm9yZGVyLWVuZC1lbmQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICAgID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gICAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgICBib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgICA+IDpub3QoLmJ0bi1jaGVjazpmaXJzdC1jaGlsZCkgKyAuYnRuLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoI3skYnRuLWJvcmRlci13aWR0aH0gKiAtMSk7XG4gICAgfVxuICAgIC5idG46bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5idG46Zmlyc3QtY2hpbGQsXG4gICAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbiAgICA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgICA+IC5idG46bGFzdC1jaGlsZCxcbiAgICA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0Omxhc3QtY2hpbGQsXG4gICAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTcGxpdCBidXR0b25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCxcbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmlucHV0LWdyb3VwLWxnIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi14bCArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsXG4uYnRuLWdyb3VwLXhsID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLWlubGluZTogLjkyZW07XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmlucHV0LWdyb3VwLXNtIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1pbmxpbmU6IC42ZW07XG59XG5cbi5idG4teHMgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LFxuLmJ0bi1ncm91cC14cyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1pbmxpbmU6IC41ZW07XG59XG5cbi8vIFNpemluZ1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uYnRuLWdyb3VwLXhzID4gLmJ0biB7XG4gIEBleHRlbmQgLmJ0bi14cztcbn1cblxuLmJ0bi1ncm91cC14bCA+IC5idG4ge1xuICBAZXh0ZW5kIC5idG4teGw7XG59XG5cbi8qIEJ1dHRvbiBncm91cHMgYm9yZGVyICovXG5cbi5idG4tZ3JvdXA6bm90KC5idG4tZ3JvdXAtdmVydGljYWwpID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZCA+IC5idG46bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwID4gLmJ0bjpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6Zmlyc3QtY2hpbGQsXG46bm90KC5idG4tZ3JvdXAsIC5pbnB1dC1ncm91cCkgPiAuYnRuLWdyb3VwOm5vdCguYnRuLWdyb3VwLXZlcnRpY2FsKSA+IC5idG46bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZCA+IC5idG46bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idG4tZ3JvdXA6bm90KC5idG4tZ3JvdXAtdmVydGljYWwpID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1vZi10eXBlLFxuLmlucHV0LWdyb3VwID4gLmJ0bjpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1vZi10eXBlLFxuOm5vdCguYnRuLWdyb3VwLCAuaW5wdXQtZ3JvdXApID4gLmJ0bi1ncm91cDpub3QoLmJ0bi1ncm91cC12ZXJ0aWNhbCkgPiAuYnRuOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpsYXN0LW9mLXR5cGUsXG4uaW5wdXQtZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQgPiAuYnRuOm5vdChbY2xhc3MqPVwiYnRuLW91dGxpbmUtXCJdKTpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItaW5saW5lLWVuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwLXZlcnRpY2FsOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6Zmlyc3QtY2hpbGQsXG46bm90KC5idG4tZ3JvdXAtdmVydGljYWwsIC5pbnB1dC1ncm91cCkgPiAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cC12ZXJ0aWNhbDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoW2NsYXNzKj1cImJ0bi1vdXRsaW5lLVwiXSk6bGFzdC1vZi10eXBlLFxuOm5vdCguYnRuLWdyb3VwLXZlcnRpY2FsLCAuaW5wdXQtZ3JvdXApID4gLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KFtjbGFzcyo9XCJidG4tb3V0bGluZS1cIl0pOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1ibG9jay1lbmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuIiwiLyogTmF2XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5uYXYge1xuICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAubmF2LWl0ZW0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgJjpub3QoLm5hdi1waWxscyl7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm5hdi1zbSxcbiAgLm5hdi1zbSA+ICYge1xuICAgIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15LXNtfTtcbiAgICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteC1zbX07XG4gICAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplOiAjeyRmb250LXNpemUtc219O1xuICAgIC0tI3skcHJlZml4fW5hdi1saW5rLWxpbmUtaGVpZ2h0OiAjeyRuYXYtbGluay1saW5lLWhlaWdodC1zbX07XG4gIH1cblxuICAmLm5hdi1sZyxcbiAgLm5hdi1sZyA+ICYge1xuICAgIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15LWxnfTtcbiAgICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteC1sZ307XG4gICAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplOiAjeyRmb250LXNpemUtbGd9O1xuICAgIC0tI3skcHJlZml4fW5hdi1saW5rLWxpbmUtaGVpZ2h0OiAjeyRuYXYtbGluay1saW5lLWhlaWdodC1sZ307XG4gIH1cbn1cblxuLyogbmF2IHRhYnMgc2hhZG93ICovXG4ubmF2LXRhYnMtc2hhZG93IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWJveC1zaGFkb3cpO1xuICAuY2FyZCAmIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8qIFRhYiBhbmQgcGlsbHMgc3R5bGUgKi9cbi5uYXYtdGFicyxcbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICAmOm5vdCgubmF2LWZpbGwpOm5vdCgubmF2LWp1c3RpZmllZCkgLm5hdi1saW5rIHtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJG5hdi1zcGFjZXI7XG4gIH1cbn1cblxuLnRhYi1jb250ZW50Om5vdCguZG9jLWV4YW1wbGUtY29udGVudCkge1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteTtcbiAgLnRhYi1wYW5lIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgbGluZWFyIC4xcyk7XG4gICAgOmRpcihydGwpICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICAgIH1cbiAgICAmLnNob3cge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIGVhc2Utb3V0IC4ycyAuMXMpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBGb3Igc2Nyb2xsYWJsZSBuYXZzL3RhYnMvcGlsbHMgKi9cbi5uYXYtc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICBvdmVyZmxvdzogYXV0bztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGlubGluZS1zaXplOiAxMDAlO1xufVxuXG4ubmF2LXRhYnN7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLnRhYi1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBibG9jay1zaXplOiAycHg7XG4gICAgLm5hdi1hbGlnbi1sZWZ0ICYsXG4gICAgLm5hdi1hbGlnbi1yaWdodCAmIHtcbiAgICAgIGlubGluZS1zaXplOiAycHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvKiBXaWRnZXQgVGFicyAqL1xuICAmLndpZGdldC1uYXYtdGFicyB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAubmF2LWxpbmsge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIGRhc2hlZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgYmxvY2stc2l6ZTogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgaW5saW5lLXNpemU6IDExMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDFyZW07XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbXBvbmVudC1ob3Zlci1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1iZyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGFiLXdpZGdldC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBUYWIgbGluayAqL1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAmLndhdmVzLWVmZmVjdCB7XG4gICAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC4yKSAwLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMykgNDAlLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuNCkgNTAlLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuNSkgNjAlLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9d2hpdGUtcmdiKSwgMCkgNzAlXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yIGluc2V0O1xuICAgICAgLm5hdi1hbGlnbi10b3AgJiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IgaW5zZXQ7XG4gICAgICB9XG4gICAgICAubmF2LWFsaWduLWJvdHRvbSAmIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yIGluc2V0O1xuICAgICAgfVxuICAgICAgLm5hdi1hbGlnbi1sZWZ0ICYge1xuICAgICAgICBib3gtc2hhZG93OiAtMnB4IDAgMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yIGluc2V0O1xuICAgICAgICA6ZGlyKHJ0bCkgJiB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IDAgMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yIGluc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubmF2LWFsaWduLXJpZ2h0ICYge1xuICAgICAgICBib3gtc2hhZG93OiAycHggMCAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IgaW5zZXQ7XG4gICAgICAgIDpkaXIocnRsKSAmIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAtMnB4IDAgMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yIGluc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctYmxvY2s6ICRuYXYtcGlsbHMtcGFkZGluZy15O1xuICAgIHBhZGRpbmctaW5saW5lOiAkbmF2LXBpbGxzLXBhZGRpbmcteDtcbiAgICAmOm5vdCguYWN0aXZlKXtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgJi53YXZlcy1lZmZlY3Qge1xuICAgICAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgLjIpIDAsXG4gICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMykgNDAlLFxuICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgLjQpIDUwJSxcbiAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC41KSA2MCUsXG4gICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9d2hpdGUtcmdiKSwgMCkgNzAlXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgLjEyNXJlbSAuMzc1cmVtIDAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMyk7XG4gICAgfVxuICB9XG4gICYgLm5hdi1pdGVtIC5uYXYtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1ob3Zlci1iZztcbiAgICBib3JkZXItYmxvY2stZW5kOiBub25lO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICB9XG4gIH4gLnRhYi1jb250ZW50IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fW5hdi1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4vKiBUb3AsIFJpZ2h0LCBCb3R0b20gJiBMZWZ0IFRhYmJlZCBwYW5lbHMgKi9cblxuLm5hdi1hbGlnbi10b3AsXG4ubmF2LWFsaWduLXJpZ2h0LFxuLm5hdi1hbGlnbi1ib3R0b20sXG4ubmF2LWFsaWduLWxlZnQge1xuICA+IC50YWItY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogJG5hdi10YWJzLWJnO1xuICB9XG4gIC5uYXYtdGFicyB7XG4gICAgYmFja2dyb3VuZDogJG5hdi10YWJzLWJnO1xuICB9XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgPiAubmF2LFxuICA+IGRpdiA+IC5uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJjpoYXMoLm5hdi10YWJzKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50KTtcbiAgfVxufVxuXG4ubmF2LWFsaWduLXJpZ2h0LFxuLm5hdi1hbGlnbi1sZWZ0IHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgPiAubmF2LFxuICA+IGRpdiA+IC5uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6IDA7XG4gIH1cblxuICA+IC5uYXYubmF2LXBpbGxzIC5uYXYtaXRlbTpub3QoOmxhc3QtY2hpbGQpLFxuICA+IGRpdiA+IC5uYXYubmF2LXBpbGxzIC5uYXYtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYmxvY2s6IDAgJG5hdi1zcGFjZXIgIWltcG9ydGFudDtcbiAgICBtYXJnaW4taW5saW5lOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICA+IC50YWItY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIC50YWItcGFuZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICAgICAgJi5zaG93IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBUb3AgdGFicyAqL1xuLm5hdi1hbGlnbi10b3Age1xuICAudGFiLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAubmF2LXRhYnMge1xuICAgIGJvcmRlci1ibG9jay1lbmQ6ICRib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICYgLm5hdi1saW5rOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYmxvY2stZW5kOiAycHggc29saWQgJG5hdi1waWxscy1saW5rLWhvdmVyLWJnICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJsb2NrLWVuZDogY2FsYygkbmF2LWxpbmstcGFkZGluZy15IC0gLjEyNXJlbSk7XG4gICAgfVxuICAgICYubmF2LWxnIC5uYXYtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGMoJG5hdi1saW5rLXBhZGRpbmcteS1sZyAtIC4xMjVyZW0pO1xuICAgIH1cbiAgICAmLm5hdi1zbSAubmF2LWxpbms6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIHBhZGRpbmctYmxvY2stZW5kOiBjYWxjKCRuYXYtbGluay1wYWRkaW5nLXktc20gLSAuMTEyNXJlbSk7XG4gICAgfVxuICB9XG4gIC5uYXYtcGlsbHMgfiAudGFiLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuLm5hdi1hbGlnbi10b3AsXG4ubmF2LWFsaWduLWJvdHRvbSxcbi5jYXJkIHtcbiAgPiAudGFiLWNvbnRlbnQge1xuICAgIC50YWItcGFuZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICAgICAgOmRpcihydGwpICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gICAgICB9XG4gICAgICAmLnNob3cge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAubmF2Lm5hdi1waWxscyAubmF2LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRuYXYtc3BhY2VyO1xuICB9XG59XG5cbi8qIFJpZ2h0IHRhYnMgKi9cbi5uYXYtYWxpZ24tcmlnaHQge1xuICAudGFiLWNvbnRlbnQge1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC5uYXYtdGFicyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogJGJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgLnRhYi1zbGlkZXIge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgICB+IC50YWItY29udGVudCB7XG4gICAgICAuY2FyZCAmIHtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICYgLm5hdi1saW5rOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAycHggc29saWQgJG5hdi1waWxscy1saW5rLWhvdmVyLWJnICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYygkbmF2LWxpbmstcGFkZGluZy14IC0gLjEyNXJlbSk7XG4gICAgfVxuICAgICYubmF2LWxnIC5uYXYtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoJG5hdi1saW5rLXBhZGRpbmcteC1sZyAtIC4xMjVyZW0pO1xuICAgIH1cbiAgICAmLm5hdi1zbSAubmF2LWxpbms6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCRuYXYtbGluay1wYWRkaW5nLXgtc20gLSAuMTI1cmVtKTtcbiAgICB9XG4gIH1cblxuICA+IC5uYXYgLm5hdi1pdGVtLFxuICA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuICB9XG4gIC5uYXYtbGluayB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgdGV4dC1hbGlnbjogZW5kO1xuICB9XG4gIC5uYXYtcGlsbHMgfiAudGFiLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cbi8qIEJvdHRvbSB0YWJzICovXG4ubmF2LWFsaWduLWJvdHRvbSB7XG4gIC50YWItY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICB9XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICA+IC5uYXYgLm5hdi1pdGVtLFxuICA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYmxvY2s6IDA7XG4gIH1cblxuICA+IC5uYXYsXG4gID4gZGl2ID4gLm5hdiB7XG4gICAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogMDtcbiAgICBib3JkZXItYmxvY2stc3RhcnQ6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG4gIH1cbiAgLm5hdi10YWJzIHtcbiAgICBib3JkZXItYmxvY2stc3RhcnQ6ICRib3JkZXItd2lkdGggc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIC50YWItc2xpZGVyIHtcbiAgICAgIGluc2V0LWJsb2NrLWVuZDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmIC5uYXYtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAycHggc29saWQgJG5hdi1waWxscy1saW5rLWhvdmVyLWJnICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCRuYXYtbGluay1wYWRkaW5nLXkgLSAuMTI1cmVtKTtcbiAgICB9XG4gICAgJi5uYXYtbGcgLm5hdi1saW5rOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCRuYXYtbGluay1wYWRkaW5nLXktbGcgLSAuMTI1cmVtKTtcbiAgICB9XG4gICAgJi5uYXYtc20gLm5hdi1saW5rOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCRuYXYtbGluay1wYWRkaW5nLXktc20gLSAuMTEyNXJlbSk7XG4gICAgfVxuICB9XG4gIC5uYXYtcGlsbHMgfiAudGFiLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG4vKiBMZWZ0IHRhYnMgKi9cbi5uYXYtYWxpZ24tbGVmdCB7XG4gIC50YWItY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICB9XG4gIC5uYXYtdGFicyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH4gLnRhYi1jb250ZW50IHtcbiAgICAgIC5jYXJkICYge1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICBib3JkZXItaW5saW5lLWVuZDogJGJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcbiAgICAmIC5uYXYtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDJweCBzb2xpZCAkbmF2LXBpbGxzLWxpbmstaG92ZXItYmcgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYygkbmF2LWxpbmstcGFkZGluZy14IC0gLjEyNXJlbSk7XG4gICAgfVxuICAgICYubmF2LWxnIC5uYXYtbGluazpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKCRuYXYtbGluay1wYWRkaW5nLXgtbGcgLSAuMTI1cmVtKTtcbiAgICB9XG4gICAgJi5uYXYtc20gLm5hdi1saW5rOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoJG5hdi1saW5rLXBhZGRpbmcteC1zbSAtIC4xMjVyZW0pO1xuICAgIH1cbiAgfVxuICA+IC5uYXYgLm5hdi1pdGVtLFxuICA+IGRpdiA+IC5uYXYgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuICB9XG4gIC5uYXYtbGluayB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgfVxuICAubmF2LXBpbGxzIH4gLnRhYi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKCRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQpO1xuICB9XG4gICY6aGFzKC5uYXYtdGFicykge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsIi8qIE5hdmJhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLmxheW91dC1uYXZiYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7XG59XG4ubGF5b3V0LW5hdmJhci1maXhlZCB7XG4gIC53aW5kb3ctc2Nyb2xsZWR7XG4gICAgLmxheW91dC1uYXZiYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIE1lZ2EgZHJvcGRvd25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ubWVnYS1kcm9wZG93biB7XG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgfVxufVxuLm5hdmJhciB7XG4gICYuYmctYm9keS10ZXJ0aWFyeSB7XG4gICAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDQwJSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSk7XG4gICAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yKSA3MCUsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpO1xuICAgIC5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gICAgfVxuICAgIC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zm9jdXMpLFxuICAgIC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDMwJSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSk7XG4gICAgfVxuICB9XG4gICYuYmctd2hpdGUge1xuICAgIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wdXJlLWJsYWNrKSAjeyRiZy1sYWJlbC10aW50LWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH13aGl0ZSkpO1xuICAgIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXB1cmUtYmxhY2spO1xuICAgIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wdXJlLWJsYWNrKSA0MCUsIHZhcigtLSN7JHByZWZpeH13aGl0ZSkpO1xuICAgIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wdXJlLWJsYWNrKTtcbiAgICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wdXJlLWJsYWNrKTtcbiAgICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9cHVyZS1ibGFjaykgI3skYmctbGFiZWwtdGludC1hbW91bnR9LCB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpKTtcbiAgfVxuICAmW2NsYXNzKj1cImJnLVwiXTpub3QoLmJnLWJvZHktdGVydGlhcnksIC5iZy13aGl0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYmcpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBuYXZiYXIgKi9cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5uYXZiYXIuYmctI3skc3RhdGV9IHtcbiAgICBAaWYgJHN0YXRlID09IFwibGlnaHRcIiB7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItYmc6IHJnYmEodmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1yZ2IpLCAuODgpO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yKSA0MCUsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9YmFzZS1jb2xvcikgNzAlLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWJnOiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKSwgLjg4KTtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpICN7JGJnLWxhYmVsLXRpbnQtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpIDYwJSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAjeyRiZy1sYWJlbC10aW50LWFtb3VudH0sIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENhcmRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5jYXJkIHtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ob3Zlci1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93LWxnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItYm90dG9tLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaG92ZXItYm9yZGVyLWJvdHRvbS1jb2xvcjogI3skY2FyZC1ib3JkZXItY29sb3J9O1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93KTtcblxuICAuY2FyZC1oZWFkZXIgKyAuY2FyZC1ib2R5LFxuICAuY2FyZC1oZWFkZXIgKyAuY2FyZC1jb250ZW50ID4gLmNhcmQtYm9keTpmaXJzdC1vZi10eXBlLFxuICAuY2FyZC1oZWFkZXIgKyAuY2FyZC1mb290ZXIsXG4gIC5jYXJkLWJvZHkgKyAuY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDA7XG4gIH1cblxuICAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWZvb3RlciB7XG4gICAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgfVxuXG4gIC5mZWF0dXJlZC1kYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIH1cblxuICAuY2FyZC1saW5rIHtcbiAgICArIC5jYXJkLWxpbmsge1xuICAgICAgbWFyZ2luLWlubGluZTogJGNhcmQtc3BhY2VyLXggMDtcbiAgICB9XG4gIH1cblxuICBociB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvKiBDYXJkIFN0YXRpc3RpY3Mgc3BlY2lmaWMgc2VwYXJhdG9yICovXG4gIC5jYXJkLXNlcGFyYXRvciB7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ibG9jay1lbmQ6ICRjYXJkLXNwYWNlci15O1xuICAgIH1cbiAgfVxuXG4gIC8qIExpc3QgZ3JvdXBzICovXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci1ibG9jay1lbmQtd2lkdGg6ICRib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgcGFkZGluZy1pbmxpbmU6ICRjYXJkLXNwYWNlci14O1xuICAgIH1cbiAgfVxuXG4gIC8qIENhcmQgV2lkZ2V0IFNlcGFyYXRvciAqL1xuXG4gIC5jYXJkLXdpZGdldC1zZXBhcmF0b3Itd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAuY2FyZC13aWRnZXQtc2VwYXJhdG9yIHtcbiAgICAgICAgLmNhcmQtd2lkZ2V0LTIuYm9yZGVyLWVuZCB7XG4gICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIC5jYXJkLXdpZGdldC1zZXBhcmF0b3Ige1xuICAgICAgICAuY2FyZC13aWRnZXQtMS5ib3JkZXItZW5kLFxuICAgICAgICAuY2FyZC13aWRnZXQtMi5ib3JkZXItZW5kLFxuICAgICAgICAuY2FyZC13aWRnZXQtMy5ib3JkZXItZW5kIHtcbiAgICAgICAgICBib3JkZXItYmxvY2stZW5kOiAxcHggc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICBib3JkZXItaW5saW5lLWVuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIGNvbG9yIGJvcmRlciBib3R0b20gYW5kIHNoYWRvdyBpbiBjYXJkICovXG4gICZbY2xhc3MqPVwiY2FyZC1ib3JkZXItc2hhZG93LVwiXSB7XG4gICAgYm9yZGVyLWJsb2NrLWVuZDogbm9uZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJkLXRyYW5zaXRpb24pO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBibG9jay1zaXplOiAkY2FyZC1zcGFjZXIteTtcbiAgICAgIGJvcmRlci1ibG9jay1lbmQ6IC4xMjVyZW0gc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWJvdHRvbS1jb2xvcik7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJkLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1jYXJkLWhvdmVyLWJveC1zaGFkb3cpO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWhvdmVyLWJvcmRlci1ib3R0b20tY29sb3IpO1xuICAgICAgICBib3JkZXItYmxvY2stZW5kLXdpZHRoOiAuMTg3NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBjYXJkIGhvdmVyIGJvcmRlciBjb2xvciAqL1xuICAmW2NsYXNzKj1cImNhcmQtaG92ZXItYm9yZGVyLVwiXSxcbiAgW2NsYXNzKj1cImNhcmQtaG92ZXItYm9yZGVyLVwiXSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcmQtdHJhbnNpdGlvbik7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLmNvbGxhcHNlID4gLmNhcmQtYm9keSxcbiAgLmNvbGxhcHNpbmcgPiAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICB9XG59XG5cbi8qIGFkZGluZyBjbGFzcyB3aXRoIGNhcmQgYmFja2dyb3VuZCBjb2xvciAqL1xuLmJnLWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG59XG5cbi8qIENhcmQgaGVhZGVyIGVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLmNhcmQtaGVhZGVyLmhlYWRlci1lbGVtZW50cyxcbi5jYXJkLXRpdGxlLmhlYWRlci1lbGVtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG59XG5cbi5jYXJkLWhlYWRlci1lbGVtZW50cyxcbi5jYXJkLXRpdGxlLWVsZW1lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICYgKyAmLFxuICA+ICogKyAqIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAuMjVyZW07XG4gIH1cbn1cblxuLmNhcmQtdGl0bGUge1xuICAmOm5vdCg6aXMoaDEsIGgyLCBoMywgaDQsIGg1LCBoNikpIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB9XG59XG5cbi8qIEhvcml6b250YWwgY2FyZCByYWRpdXMgaXNzdWUgZml4XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLmNhcmQtaW1nLWxlZnQsXG4uY2FyZC1pbWctcmlnaHQge1xuICBibG9jay1zaXplOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5jYXJkLWltZy1sZWZ0IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLmNhcmQtaW1nLXJpZ2h0IHtcbiAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIENhcmQgZ3JvdXBcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4uY2FyZC1ncm91cCB7XG4gIC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdzogI3skY2FyZC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93KTtcbiAgICAuY2FyZCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICAgfVxuICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgIC5jYXJkLWhlYWRlcixcbiAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuICAgICAgJjppcyg6bGFzdC1jaGlsZCkge1xuICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjppcyg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIENhcmQgYWN0aW9uICovXG4uY2FyZC1hY3Rpb24ge1xuICAvKiBFeHBhbmQgY2FyZChmdWxsc2NyZWVuKSAqL1xuICAmLmNhcmQtZnVsbHNjcmVlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgYmxvY2stc2l6ZTogMTAwJTtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBpbnNldDogMDtcbiAgfVxuXG4gIC8qIEFsZXJ0ICovXG4gIC5jYXJkLWFsZXJ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5O1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuXG4gICAgLmFsZXJ0IHtcbiAgICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8qIENhcmQgaGVhZGVyICovXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgJi5jb2xsYXBzZWQge1xuICAgICAgYm9yZGVyLWJsb2NrLWVuZDogMDtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC5jYXJkLWFjdGlvbi10aXRsZSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLjVyZW07XG4gICAgfVxuICAgIC5jYXJkLWFjdGlvbi1lbGVtZW50IHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIEJsb2NrIFVJIGxvYWRlciAqL1xuICAubm90aWZsaXgtYmxvY2sge1xuXG4gICAgaDUge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgICAgIG1hcmdpbi1ibG9jazogMXJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb2xsYXBzZSA+IC5jYXJkLWJvZHksXG4gIC5jb2xsYXBzaW5nID4gLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogMDtcbiAgfVxufVxuXG4vKiBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGJvcmRlciBib3R0b20gYW5kIHNoYWRvdyBpbiB0aGUgY2FyZCAqL1xuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuY2FyZC1ib3JkZXItc2hhZG93LSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItc3VidGxlLWFtb3VudCksIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAtLSN7JHByZWZpeH1jYXJkLWhvdmVyLWJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICB9XG4gIC5jYXJkLWhvdmVyLWJvcmRlci0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpICN7JGNhcmQtaG92ZXItYm9yZGVyLXNjYWxlfSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICB9XG59XG4iLCIvLyBBY2NvcmRpb25zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4uYWNjb3JkaW9uIHtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnKTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiBub25lO1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLXNoYWRvdy13aWR0aDogMDtcblxuICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoJGFjY29yZGlvbi1wYWRkaW5nLXggKyAuMjVyZW0pO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgICAgIG1hc2staW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogMTAwJSAxMDAlO1xuICAgIH1cbiAgICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG1hc2staW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFjY29yZGlvbi1ib2R5IHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYygkYWNjb3JkaW9uLWJvZHktcGFkZGluZy14ICsgLjI1cmVtKTtcbiAgfVxuICAmLmFjY29yZGlvbi13aXRob3V0LWFycm93IHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cbiAgJjpub3QoLmFjY29yZGlvbi1jdXN0b20tYnV0dG9uKTpub3QoLmFjY29yZGlvbi1hcnJvdy1sZWZ0KSB7XG4gICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIGJvcmRlci1ibG9jay1zdGFydDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogJHNwYWNlciAqIC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE91dGxpbmUgdmFyaWFudFxuICAmW2NsYXNzKj1cImFjY29yZGlvbi1vdXRsaW5lLVwiXSB7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1ib3gtc2hhZG93OiBub25lO1xuICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogdHJhbnNwYXJlbnQ7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogdHJhbnNwYXJlbnQ7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLWJvcmRlci13aWR0aH07XG4gIH1cblxuICAvLyBCb3JkZXJlZCB3aXRoIEJhY2tncm91bmQgdmFyaWFudFxuICAmW2NsYXNzKj1cImJvcmRlci1iYWNrZ3JvdW5kLVwiXSB7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1ib3gtc2hhZG93OiBub25lO1xuICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICB9XG5cbiAgLy8gU29saWQgQWNjb3JkaW9uIFdpdGggQWN0aXZlIEJvcmRlclxuICAmW2NsYXNzKj1cImFjY29yZGlvbi1ib3JkZXItc29saWQtXCJdIHtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm94LXNoYWRvdzogbm9uZTtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLWJvcmRlci13aWR0aH07XG4gICAgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkYWNjb3JkaW9uLWJ1dHRvbi1pY29uLCBcIiN7JGFjY29yZGlvbi1pY29uLWNvbG9yfVwiLCBDVVJSRSksIFwiI1wiLCBcIiUyM1wiKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3gtc2hhZG93KTtcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgJiArIC5hY2NvcmRpb24tY29sbGFwc2UgLmFjY29yZGlvbi1ib2R5IHtcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICB9XG59XG5cbi8qIEFjY29yZGlvbiBib3JkZXIgcmFkaXVzICovXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAmOjphZnRlcntcbiAgICBtYXJnaW4taW5saW5lLWVuZDogaW5pdGlhbDtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICB9XG4gICY6bm90KC5jb2xsYXBzZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtYmcpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLXNoYWRvdy13aWR0aCkpIDAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xuICB9XG4gICYuY29sbGFwc2VkIHtcbiAgICAmOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgOmRpcihydGwpICYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIGFycm93IGxlZnQgKi9cblxuLmFjY29yZGlvbi1hcnJvdy1sZWZ0IHtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJveC1zaGFkb3c6IG5vbmU7XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYm94LXNoYWRvdzogbm9uZTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6IGNhbGMoI3skYWNjb3JkaW9uLXBhZGRpbmcteX0gKyAuMDYyNXJlbSk7XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14OiAwO1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6IGNhbGMoI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy15fSArIC4wNjI1cmVtKTtcbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICY6bm90KC5jb2xsYXBzZWQpIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgbWFzay1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb24pO1xuICAgICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5jb2xsYXBzZWQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yKTtcbiAgICAgIGJsb2NrLXNpemU6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGlubGluZS1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IDAgLjlyZW07XG4gICAgICBtYXNrLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uKSk7XG4gICAgfVxuICB9XG4gIC5hY2NvcmRpb24taGVhZGVyICsgLmFjY29yZGlvbi1jb2xsYXBzZSAuYWNjb3JkaW9uLWJvZHkge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKCN7JGFjY29yZGlvbi1wYWRkaW5nLXh9ICsgLjA2MjVyZW0pO1xuICB9XG59XG5cbi8qIEFjY29yZGlvbiBjdXN0b20gYnV0dG9uICovXG5cbi5hY2NvcmRpb24tY3VzdG9tLWJ1dHRvbiB7XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3gtc2hhZG93OiBub25lO1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJveC1zaGFkb3c6IG5vbmU7XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZzogI2ZhZmFmYTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtYmc6ICNmYWZhZmE7XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy15OiBjYWxjKCN7JGFjY29yZGlvbi1wYWRkaW5nLXl9ICsgLjAycmVtKTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLXNoYWRvdy13aWR0aDogI3skYWNjb3JkaW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tY3VzdG9tLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWN1c3RvbS1idXR0b24tYWN0aXZlLWljb24pfTtcbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAuYWNjb3JkaW9uLWJvZHkge1xuICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteTtcbiAgICB9XG4gIH1cbn1cblxuLyogR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydCAqL1xuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmFjY29yZGlvbi1oZWFkZXItI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgfVxuICAuYWNjb3JkaW9uLWJvcmRlci1iYWNrZ3JvdW5kLSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpIHZhcigtLSN7JHByZWZpeH1iZy1sYWJlbC10aW50LWFtb3VudCksIHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pKTtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSB2YXIoLS0jeyRwcmVmaXh9YmctbGFiZWwtdGludC1hbW91bnQpLCB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KSk7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gIH1cbiAgLmFjY29yZGlvbi1vdXRsaW5lLSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gIH1cbiAgLmFjY29yZGlvbi1zb2xpZC0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgfVxuICAuYWNjb3JkaW9uLWJvcmRlci1zb2xpZC0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgdmFyKC0tI3skcHJlZml4fWJnLWxhYmVsLXRpbnQtYW1vdW50KSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSkpO1xuICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICB9XG59XG5cbi8qIERhcmsgVGhlbWUgKi9cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAmOm5vdChbY2xhc3MqPVwiYWNjb3JkaW9uLWJvcmRlci1iYWNrZ3JvdW5kLVwiXSwgW2NsYXNzKj1cImFjY29yZGlvbi1ib3JkZXItc29saWQtXCJdLCBbY2xhc3MqPVwiYWNjb3JkaW9uLXNvbGlkLVwiXSkge1xuICAgICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWNvbG9yLWRhcmt9O1xuICAgICAgfVxuICAgICAgJjpub3QoW2NsYXNzKj1cImFjY29yZGlvbi1oZWFkZXItXCJdLCBbY2xhc3MqPVwiYWNjb3JkaW9uLWJvcmRlci1iYWNrZ3JvdW5kLVwiXSwgW2NsYXNzKj1cImFjY29yZGlvbi1ib3JkZXItc29saWQtXCJdLCBbY2xhc3MqPVwiYWNjb3JkaW9uLXNvbGlkLVwiXSkge1xuICAgICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvci1kYXJrfTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi1jdXN0b20tYnV0dG9uIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICMzNTNhNTI7XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1iZzogIzM1M2E1MjtcbiAgICAgIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gICAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tY3VzdG9tLWJ1dHRvbi1pY29uLWRhcmspfTtcbiAgICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tY3VzdG9tLWJ1dHRvbi1hY3RpdmUtaWNvbi1kYXJrKX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCcmVhZGNydW1ic1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5cbi5icmVhZGNydW1iIHtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1jb2xvcjogI3skYnJlYWRjcnVtYi1jb2xvcn07XG59XG5cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1jb2xvcik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I7XG4gICAgfVxuICB9XG4gIC5pY29uLWJhc2UuYnJlYWRjcnVtYi1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcik7XG4gIH1cbn1cblxuLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUgYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYi1jdXN0b20taWNvbiAuYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBSVExcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG46ZGlyKHJ0bCkge1xuICAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICAmICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXggMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZH1cIjtcbiAgICAgICAgZmxvYXQ6IGlubGluZS1zdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDAgJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg7XG4gICAgICB9XG4gICAgfVxuICAgIC5pY29uLWJhc2UuYnJlYWRjcnVtYi1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFBhZ2luYXRpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnBhZ2luYXRpb24ge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJveC1zaGFkb3ctY29sb3I6ICN7JHBhZ2luYXRpb24tYm94LXNoYWRvdy1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24td2F2ZXMtZWZmZWN0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpO1xuICAmW2NsYXNzKj1cInBhZ2luYXRpb24tb3V0bGluZS1cIl0ge1xuICAgIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi13YXZlcy1lZmZlY3QtY29sb3IpLCAuMikgMCxcbiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi13YXZlcy1lZmZlY3QtY29sb3IpLCAuMykgNDAlLFxuICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXdhdmVzLWVmZmVjdC1jb2xvciksIC40KSA1MCUsXG4gICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24td2F2ZXMtZWZmZWN0LWNvbG9yKSwgLjUpIDYwJSxcbiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIDApIDcwJVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucGFnZS1pdGVtOm5vdCguYWN0aXZlKSAucGFnZS1saW5rLFxuICAgICYgbGkgPiBhOm5vdCgucGFnZS1saW5rKSB7XG4gICAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnOiB0cmFuc3BhcmVudDtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JGdyYXktMTAwfTtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yKTtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAje3JnYmEoJGJsYWNrLCAuMjIpfTtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmc6ICN7JGdyYXktMTAwfTtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yKTtcbiAgICB9XG4gIH1cbiAgJi5wYWdpbmF0aW9uLWxnIHtcbiAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZTogI3skZm9udC1zaXplLWxnfTtcbiAgfVxuICAmLnBhZ2luYXRpb24tc20ge1xuICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplOiAjeyRmb250LXNpemUtc219O1xuICB9XG4gIC5wYWdlLWl0ZW06bm90KC5kaXNhYmxlZCwgLmFjdGl2ZSkgLnBhZ2UtbGluayxcbiAgJiBsaSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssXG4gICYgbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgIGJveC1zaGFkb3c6IDAgLjEyNXJlbSAuMjVyZW0gMCByZ2JhKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJveC1zaGFkb3ctY29sb3IpLCAuNCk7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gIH1cbiAgJjpub3QoW2NsYXNzKj1cInBhZ2luYXRpb24tb3V0bGluZS1cIl0pIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIC5wYWdlLWl0ZW0gLnBhZ2UtbGluayxcbiAgICAmIGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgICAgJi53YXZlcy1lZmZlY3Q6bm90KC53YXZlcy1saWdodCkge1xuICAgICAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXdhdmVzLWVmZmVjdC1jb2xvciksIC4yKSAwLFxuICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXdhdmVzLWVmZmVjdC1jb2xvciksIC4zKSA0MCUsXG4gICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24td2F2ZXMtZWZmZWN0LWNvbG9yKSwgLjQpIDUwJSxcbiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi13YXZlcy1lZmZlY3QtY29sb3IpLCAuNSkgNjAlLFxuICAgICAgICAgICAgICByZ2JhKCRibGFjaywgMCkgNzAlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnaW5hdGlvbiBzaGFwZXMgKyBib3JkZXIgbGVzc1xuICAmLnBhZ2luYXRpb24tc3F1YXJlIC5wYWdlLWl0ZW0gYSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxuICAmLnBhZ2luYXRpb24tcm91bmQgLnBhZ2UtaXRlbSBhIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gIH1cbiAgJi5wYWdpbmF0aW9uLXJvdW5kZWQgLnBhZ2UtaXRlbSBhIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmLnBhZ2luYXRpb24tc20ucGFnaW5hdGlvbi1yb3VuZGVkIC5wYWdlLWl0ZW0gYSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIH1cbiAgJi5wYWdpbmF0aW9uLWxnLnBhZ2luYXRpb24tcm91bmRlZCAucGFnZS1pdGVtIGEge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICB9XG59XG5cbi8qIFBhZ2luYXRpb24gZGlzYWJsZWQgc3R5bGUgKi9cbi5wYWdlLWl0ZW0ge1xuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBvcGFjaXR5OiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIFBhZ2luYXRpb24gYmFzaWMgc3R5bGUgKi9cbi5wYWdlLWxpbmssXG4ucGFnZS1saW5rID4gYSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWJsb2NrLXNpemU6XG4gICAgY2FsYyhcbiAgICAgICN7XCIjeygkZm9udC1zaXplLWJhc2UgKiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCkgKyAoJHBhZ2luYXRpb24tcGFkZGluZy15ICogMil9ICsgY2FsYygjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0gKiAyKVwifVxuICAgICk7XG4gIG1pbi1pbmxpbmUtc2l6ZTpcbiAgICBjYWxjKFxuICAgICAgI3tcIiN7KCRmb250LXNpemUtYmFzZSAqICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0KSArICgkcGFnaW5hdGlvbi1wYWRkaW5nLXggKiAxLjkyMyl9ICsgY2FsYygjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0gKiAyKVwifVxuICAgICk7XG59XG5cbi8qIFNpemluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiBQYWdpbmF0aW9uIExhcmdlICovXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rLFxuLnBhZ2luYXRpb24tbGcgPiBsaSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgbWluLWJsb2NrLXNpemU6XG4gICAgY2FsYyhcbiAgICAgICN7XCIjeygkZm9udC1zaXplLWJhc2UgKiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodCkgKyAoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnICogMi4zMyl9ICsgY2FsYygjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0gKiAyKVwifVxuICAgICk7XG4gIG1pbi1pbmxpbmUtc2l6ZTpcbiAgICBjYWxjKFxuICAgICAgI3tcIiN7KCRmb250LXNpemUtYmFzZSAqICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0KSArICgkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcgKiAxLjYxNSl9ICsgY2FsYygjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0gKiAyKVwifVxuICAgICk7XG59XG5cbi5wYWdpbmF0aW9uLWxnID4gLnBhZ2UtaXRlbSB7XG4gICYuZmlyc3QsXG4gICYubGFzdCxcbiAgJi5uZXh0LFxuICAmLnByZXYsXG4gICYucHJldmlvdXMge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgcGFkZGluZy1pbmxpbmU6ICRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZyAtIC4wODQ1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vKiBQYWdpbmF0aW9uIFNtYWxsICovXG4ucGFnaW5hdGlvbi1zbSAucGFnZS1saW5rLFxuLnBhZ2luYXRpb24tc20gPiBsaSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgbWluLWJsb2NrLXNpemU6XG4gICAgY2FsYyhcbiAgICAgICN7XCIjeygkZm9udC1zaXplLXNtICogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQpICsgKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSAqIDIpfSArIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogMilcIn1cbiAgICApO1xuICBtaW4taW5saW5lLXNpemU6XG4gICAgY2FsYyhcbiAgICAgICN7XCIjeygkZm9udC1zaXplLXNtICogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQpICsgKCRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSAqIDIuMzU2KX0gKyBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIDIpXCJ9XG4gICAgKTtcbn1cblxuLnBhZ2luYXRpb24tc20gPiAucGFnZS1pdGVtIHtcbiAgJi5maXJzdCxcbiAgJi5sYXN0LFxuICAmLm5leHQsXG4gICYucHJldixcbiAgJi5wcmV2aW91cyB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20gLSAuMTA1NXJlbTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20gLSAuMTA1NXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyogQWRkIHNwYWNpbmcgYmV0d2VlbiBwYWdpbmF0aW9uIGl0ZW1zICovXG4ucGFnZS1pdGVtICsgLnBhZ2UtaXRlbSAucGFnZS1saW5rLFxuLnBhZ2luYXRpb24gbGkgKyBsaSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgLnBhZ2luYXRpb24tc20gJiB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLjI1cmVtO1xuICB9XG4gIC5wYWdpbmF0aW9uLWxnICYge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC41cmVtO1xuICB9XG59XG5cbi8qIFJUTCBwYWdpbmF0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIEFkZCBzcGFjaW5nIGJldHdlZW4gcGFnaW5hdGlvbiBpdGVtcyAqL1xuOmRpcihydGwpIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0gLnBhZ2UtbGluayxcbiAgLnBhZ2luYXRpb24gbGkgPiBhOm5vdCgucGFnZS1saW5rKSB7XG4gICAgbWFyZ2luLWlubGluZTogMCAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmLmZpcnN0LFxuICAgICYubGFzdCxcbiAgICAmLm5leHQsXG4gICAgJi5wcmV2LFxuICAgICYucHJldmlvdXMge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIC5pY29uLWJhc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogRGFyayB0aGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvci1kYXJrfTtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmc6ICN7JGdyYXktNzUtZGFya307XG4gICAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcik7XG4gICAgICAmW2NsYXNzKj1cInBhZ2luYXRpb24tb3V0bGluZS1cIl0ge1xuICAgICAgICAucGFnZS1pdGVtOm5vdCguYWN0aXZlKSAucGFnZS1saW5rLFxuICAgICAgICAmIGxpID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgICAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAje3JnYmEoJHdoaXRlLWRhcmssIC4yMil9O1xuICAgICAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JGdyYXktNzUtZGFya307XG4gICAgICAgICAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmcpO1xuICAgICAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1vZGlmaWVyc1xuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgICYucGFnaW5hdGlvbi0jeyRzdGF0ZX0ge1xuICAgICAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgICAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm94LXNoYWRvdy1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1yZ2IpO1xuICAgICAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi13YXZlcy1lZmZlY3QtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKTtcbiAgICB9XG4gICAgJi5wYWdpbmF0aW9uLW91dGxpbmUtI3skc3RhdGV9IHtcbiAgICAgIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgICAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi13YXZlcy1lZmZlY3QtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLW1vZGlmaWVyc1xuIiwiLy8gQmFkZ2VzXG4vLyA/IEJvb3RzdHJhcCB1c2UgYmctbGFiZWwtdmFyaWFudCBhbmQgYmcgY29sb3IgZm9yIHNvbGlkIGFuZCBsYWJlbCBzdHlsZSwgaGVuY2Ugd2UgaGF2ZSBub3QgY3JlYXRlZCBtaXhpbiBmb3IgdGhhdC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmJhZGdlIHtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXdpZHRoOiAjeyRiYWRnZS1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYmctY29sb3I6ICN7JGJhZGdlLWJnLWNvbG9yfTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXN0eWxlKSB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJhZGdlLWJnLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1cy1zbX07XG4gIC0tI3skcHJlZml4fWJhZGdlLWdsb3ctc2hhZG93LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpO1xuXG4gIC8vIGJhZGdlIG91dGxpbmUgc3R5bGVcbiAgJltjbGFzcyo9XCJiYWRnZS1vdXRsaW5lXCJdIHtcbiAgICAtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItd2lkdGg6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXg6ICN7Y2FsYygkYmFkZ2UtcGFkZGluZy14IC0gLjA2MjVyZW0pfTtcbiAgICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXk6ICN7Y2FsYygkYmFkZ2UtcGFkZGluZy15IC0gLjA2MjVyZW0pfTtcbiAgfVxuXG4gIC8vIGJhZGdlIGdsb3cgc3R5bGVcbiAgJi5iZy1nbG93W2NsYXNzKj1cImJnLVwiXSB7XG4gICAgYm94LXNoYWRvdzogMCAuMTI1cmVtIC4xODhyZW0gIDAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtZ2xvdy1zaGFkb3ctY29sb3IpLCAuMyk7XG4gIH1cbn1cblxuLyogQmFkZ2UgQ2VudGVyIFN0eWxlICovXG5cbi5iYWRnZS1jZW50ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDNweDtcbiAgYmxvY2stc2l6ZTogI3skYmFkZ2UtaGVpZ2h0fTtcbiAgaW5saW5lLXNpemU6ICN7JGJhZGdlLXdpZHRofTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemU6ICN7JGJhZGdlLWNlbnRlci1mb250LXNpemV9O1xuICAuaWNvbi1iYXNlIHtcbiAgICBAaW5jbHVkZSBpY29uLWJhc2UoLjg3NXJlbSk7XG4gIH1cbn1cblxuLyogRG90cyBTdHlsZSAqL1xuXG4uYmFkZ2UuYmFkZ2UtZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gIG1hcmdpbjogMDtcbiAgYmxvY2stc2l6ZTogLjVyZW07XG4gIGlubGluZS1zaXplOiAuNXJlbTtcbn1cblxuLyogTm90aWZpY2F0aW9ucyAqL1xuXG4uYmFkZ2UuYmFkZ2Utbm90aWZpY2F0aW9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBpbnNldC1ibG9jay1zdGFydDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTMwJSk7XG5cbiAgOmRpcihydGwpICZ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtMzAlKTtcbiAgfVxuXG4gICY6bm90KC5iYWRnZS1jZW50ZXIpIHtcbiAgICBmb250LXNpemU6IC41ODJyZW07XG4gICAgbGluZS1oZWlnaHQ6IC43NXJlbTtcbiAgICBwYWRkaW5nLWJsb2NrOiAuMDVyZW07XG4gICAgcGFkZGluZy1pbmxpbmU6IC4ycmVtO1xuICB9XG4gIC5idG5bY2xhc3MqPVwiYnRuLVwiXSAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIDpkaXIocnRsKSAme1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cbn1cblxuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYmFkZ2Utb3V0bGluZS0jeyRzdGF0ZX0sXG4gIC5idG5bY2xhc3MqPVwiLW91dGxpbmVcIl0gLmJhZGdlLW91dGxpbmUtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1iYWRnZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgfVxuICAuYmctI3skc3RhdGV9LmJnLWdsb3cge1xuICAgIC0tI3skcHJlZml4fWJhZGdlLWdsb3ctc2hhZG93LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gIH1cbn1cbiIsIi8vIEFsZXJ0c1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vKiBBbGVydCBpY29uIHN0eWxlcyAqL1xuLmFsZXJ0IHtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ocjogdmFyKC0tI3skcHJlZml4fWJsYWNrKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtaWNvbi1jb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtaWNvbi1iZzogdmFyKC0tI3skcHJlZml4fWJsYWNrKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY2xvc2UtaWNvbjogdmFyKC0tI3skcHJlZml4fWJsYWNrKTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAmW2NsYXNzKj1cImFsZXJ0LVwiXSB7XG4gICAgaHIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWhyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtaHIpO1xuICAgIH1cbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWxpbmstaG92ZXItY29sb3IpO1xuICAgIH1cbiAgfVxuICAuYWxlcnQtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1pY29uLWJnKTtcbiAgICBibG9jay1zaXplOiAkYWxlcnQtaWNvbi1zaXplO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtaWNvbi1jb2xvcik7XG4gICAgaW5saW5lLXNpemU6ICRhbGVydC1pY29uLXNpemU7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRzcGFjZXI7XG4gIH1cblxuICAmW2NsYXNzKj1cImFsZXJ0LXNvbGlkLVwiXSB7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWhyOiB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWljb24tYmc6IHZhcigtLSN7JHByZWZpeH13aGl0ZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY2xvc2UtaWNvbjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbiAgICAuYWxlcnQtaWNvbiB7XG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy14cztcbiAgICB9XG4gIH1cbn1cblxuLyogQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb24gKi9cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRhbGVydC1wYWRkaW5nLXg7XG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWNsb3NlLWljb24pO1xuICAgIGJsb2NrLXNpemU6IC44MTI1cmVtO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBpbmxpbmUtc2l6ZTogLjgxMjVyZW07XG4gICAgaW5zZXQtaW5saW5lOiBhdXRvIDA7XG4gICAgbWFyZ2luLWJsb2NrOiBjYWxjKCN7JGFsZXJ0LXBhZGRpbmcteX0gKiAxLjM1KTtcbiAgICBtYXJnaW4taW5saW5lOiBjYWxjKCN7JGFsZXJ0LXBhZGRpbmcteH0gKiAxLjE1KTtcbiAgICBtYXNrLWltYWdlOiBzdHItcmVwbGFjZSgkYnRuLWNsb3NlLWJnLCBcIiN7JGJ0bi1jbG9zZS1jb2xvcn1cIiwgY3VycmVudENvbG9yKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogMTAwJSAxMDAlO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1tb2RpZmllcnNcblxuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydFxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmFsZXJ0LSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWNsb3NlLWljb246IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWhyOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1pY29uLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgfVxuICAuYWxlcnQtc29saWQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtaWNvbi1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gIH1cbiAgLmFsZXJ0LW91dGxpbmUtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY2xvc2UtaWNvbjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1ocjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtaWNvbi1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtaWNvbi1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtbW9kaWZpZXJzXG4iLCIvKiBQcm9ncmVzc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ucHJvZ3Jlc3Mge1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItc2hhZG93LWNvbG9yOiAjeyRwcm9ncmVzcy1iYXItc2hhZG93LWNvbG9yfTtcbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItc2hhZG93LWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbiAgfVxuXG4gICY6aGFzKDpvbmx5LWNoaWxkKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAucHJvZ3Jlc3MtYmFyOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAucHJvZ3Jlc3MtYmFyOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG4vKiBSVExcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuOmRpcihydGwpIHtcbiAgLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKHJnYmEodmFyKC0tI3skcHJlZml4fXdoaXRlLXJnYiksIC4xNSksIC00NWRlZyk7XG4gIH1cblxuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG59XG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5wcm9ncmVzcy1iYXIuYmctI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItc2hhZG93LWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKSwgLjMpO1xuICB9XG59XG4iLCIvKiBMaXN0IGdyb3Vwc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiBMaXN0IEdyb3VwIE1peGluICovXG4ubGlzdC1ncm91cCB7XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtdGltZWxpbmUtYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSk7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiBjYWxjKCRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15IC0gMXB4KTtcbiAgfVxuICAmOm5vdChbY2xhc3MqPVwibGlzdC1ncm91cC1mbHVzaFwiXSkgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15IC0gMXB4KTtcbiAgfVxuICAmW2NsYXNzKj1cImxpc3QtZ3JvdXAtZmx1c2hcIl0gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTtcbiAgfVxuICAmW2NsYXNzKj1cImxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZFwiXSAubGlzdC1ncm91cC1pdGVtIHtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKCRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15IC0gMXB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBUaW1lbGluZSBDU1NcbiAgJi5saXN0LWdyb3VwLXRpbWVsaW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgICBibG9jay1zaXplOiAxMDAlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGlubGluZS1zaXplOiAxcHg7XG4gICAgICBpbnNldC1ibG9jazogMDtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogLjJyZW07XG4gICAgfVxuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMS4yNXJlbTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC10aW1lbGluZS1iZyk7XG4gICAgICAgIGJsb2NrLXNpemU6IDdweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaW5saW5lLXNpemU6IDdweDtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IC0zLjVweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgICBoMSxcbiAgICAuaDEsXG4gICAgaDIsXG4gICAgLmgyLFxuICAgIGgzLFxuICAgIC5oMyxcbiAgICBoNCxcbiAgICAuaDQsXG4gICAgaDUsXG4gICAgLmg1LFxuICAgIGg2LFxuICAgIC5oNiB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgIH1cbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgfVxuICB9XG4gIC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICB9XG59XG5cbi8qIFJUTFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG46ZGlyKHJ0bCkge1xuICAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG5cblxuICAgIC8vIExpc3QgZ3JvdXAgaG9yaXpvbnRhbCBSVEwgc3R5bGVcblxuICAgICYubGlzdC1ncm91cC1ob3Jpem9udGFsIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMXB4O1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgJi5saXN0LWdyb3VwLWhvcml6b250YWwtc20ge1xuICAgICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgJi5saXN0LWdyb3VwLWhvcml6b250YWwtbWQge1xuICAgICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgJi5saXN0LWdyb3VwLWhvcml6b250YWwtbGcge1xuICAgICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgJi5saXN0LWdyb3VwLWhvcml6b250YWwteGwge1xuICAgICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogMXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICYubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCB7XG4gICAgICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmxpc3QtZ3JvdXAge1xuICAgICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogI3skZ3JheS05MDAtZGFya307XG4gICAgfVxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtdGltZWxpbmUtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLXRpbWVsaW5lLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCIvKiBUb2FzdHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmJzLXRvYXN0W2NsYXNzXj1cImJnLVwiXSxcbi5icy10b2FzdFtjbGFzcyo9XCIgYmctXCJdIHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpO1xuICAtLSN7JHByZWZpeH10b2FzdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbn1cblxuLnRvYXN0IHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtYmFzZX07XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xufVxuXG4udG9hc3QuYnMtdG9hc3Qge1xuICB6LWluZGV4OiAkemluZGV4LXRvYXN0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYmcpICFpbXBvcnRhbnQ7XG59XG5cbi50b2FzdC1jb250YWluZXIge1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6IDg7XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGg6IDFweDtcbiAgLmJ0bi1jbG9zZSB7XG4gICAgbWFyZ2luLWlubGluZTogJHRvYXN0LXBhZGRpbmcteCAkdG9hc3QtcGFkZGluZy14ICogLS41O1xuICB9XG59XG5cbi8qIEJvb3RzdHJhcCBUb2FzdHMgRXhhbXBsZSAqL1xuLnRvYXN0LWV4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jay1zdGFydDogNC4xcmVtO1xuICBpbnNldC1pbmxpbmU6IGF1dG8gLjVyZW07XG59XG5cbi8qIFBsYWNlbWVudCBUb2FzdCBleGFtcGxlICovXG4udG9hc3QtcGxhY2VtZW50LWV4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG4gICAgLnRvYXN0IHtcbiAgICAgICY6bm90KFtjbGFzcyo9XCJiZy1cIl0pe1xuICAgICAgICAuYnRuLWNsb3Nle1xuICAgICAgICAgIC0tI3skcHJlZml4fWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0ICovXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYnMtdG9hc3R7XG4gICAgJi5iZy0jeyRzdGF0ZX0ge1xuICAgICAgLS0jeyRwcmVmaXh9dG9hc3QtYmc6IHJnYmEodmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1yZ2IpLCAuODUpO1xuICAgICAgLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdzogMCAuMjVyZW0gMXJlbSByZ2JhKHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tcmdiKSwgLjQpO1xuICAgIH1cbiAgfVxufVxuIiwiLyogTW9kYWxzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIE1vZGFsIFNoYWRvdyAqL1xuLm1vZGFsLWNvbnRlbnQge1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdyk7XG59XG5cbi5tb2RhbCB7XG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IC42MTRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXhzKTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyM3B4LCAtMjVweCk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjIzcyBlYXNlIC4xcyk7XG5cbiAgICAvKiBGb3IgaG92ZXIgZWZmZWN0IG9mIGNsb3NlIGJ0biAqL1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwcHgsIC0yMHB4KTtcbiAgICAgIDpkaXIocnRsKSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjZweCwgLTIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmV7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpO1xuICAgICAgYmxvY2stc2l6ZTogLjY4NzVyZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaW5saW5lLXNpemU6IC42ODc1cmVtO1xuICAgICAgbWFzay1pbWFnZTogc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGJ0bi1jbG9zZS1iZywgXCIjeyRidG4tY2xvc2UtY29sb3J9XCIsIGN1cnJlbnRDb2xvciksIFwiI1wiLCBcIiUyM1wiKTtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXNpemU6IDEwMCUgMTAwJTtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5idG4tY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogJG1vZGFsLWRpYWxvZy1tYXJnaW4gLSAuNjg3NXJlbTtcbiAgICB9XG4gIH1cblxuICAvKiBtb2RhbCBmb290ZXIgKi9cbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogJG1vZGFsLWZvb3Rlci1wYWRkaW5nO1xuICAgID4gKiB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gICEgcmVtb3ZlIGNsb3NlIGJ1dHRvbiBhbmltYXRpb24gJiBzaGFkb3cgZm9yIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSwgLm1vZGFsLWZ1bGxzY3JlZW4sIC5tb2RhbC10b3AgbW9kYWwgKi9cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlLFxuICAubW9kYWwtZnVsbHNjcmVlbixcbiAgJi5tb2RhbC10b3Age1xuICAgIC5idG4tY2xvc2Uge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gIH1cbn1cblxuLyogT25ib2FyZGluZyBNb2RhbHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLm1vZGFsLW9uYm9hcmRpbmcge1xuICAuY2xvc2UtbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAuODVyZW07XG4gICAgb3BhY2l0eTogJGJ0bi1jbG9zZS1vcGFjaXR5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAkYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICB9XG4gIC5vbmJvYXJkaW5nLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMnJlbTtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgfVxuXG4gIC8vIENhcm91c2VsIEluc2lkZSBNb2RhbFxuICAuY2Fyb3VzZWwgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGluc2V0LWJsb2NrLWVuZDogLTEwcHg7XG4gICAgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgaW5zZXQtYmxvY2s6IGF1dG8gLjc1cmVtO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgOmRpcihydGwpICYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMXJlbTtcbiAgICA6ZGlyKHJ0bCkgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAxcmVtO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIDpkaXIocnRsKSAmIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IGF1dG87XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLm9uYm9hcmRpbmctaG9yaXpvbnRhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIC5vbmJvYXJkaW5nLW1lZGlhIHtcbiAgICAgIG1hcmdpbjogMnJlbTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICB9XG4gIH1cblxufVxuXG4vKiBUb3AgbW9kYWxzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5tb2RhbC10b3Age1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLyogVHJhbnNwYXJlbnQgbW9kYWxzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLm1vZGFsLXRyYW5zcGFyZW50IHtcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBtaW4tYmxvY2stc2l6ZTogMTAwdmg7XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICB9XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICBzdHItcmVwbGFjZShcbiAgICAgICAgc3RyLXJlcGxhY2Uoc3RyLXJlcGxhY2UoJGJ0bi1jbG9zZS1iZywgXCIjeyRidG4tY2xvc2UtY29sb3J9XCIsICR3aGl0ZSksIFwiI1wiLCBcIiUyM1wiKSxcbiAgICAgICAgXCJmaWxsLW9wYWNpdHk9JzAuNSdcIixcbiAgICAgICAgXCJmaWxsLW9wYWNpdHk9JzEnXCJcbiAgICAgICk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgICA6ZGlyKHJ0bCkgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKCRtb2RhbC1pbm5lci1wYWRkaW5nICogLTIpO1xuICAgIH1cbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmctYmxvY2s6ICRidG4tY2xvc2UtcGFkZGluZy15O1xuICAgIHBhZGRpbmctaW5saW5lOiAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogTW9kYWwgU2ltcGxlIChNb2RhbCBFeGFtcGxlcylcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ubW9kYWwtc2ltcGxlIHtcbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1zaW1wbGUtcGFkZGluZztcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIHBhZGRpbmc6IGNhbGMoJG1vZGFsLXNpbXBsZS1wYWRkaW5nICogLjUpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogLSgkbW9kYWwtc2ltcGxlLXBhZGRpbmcgLSAkbW9kYWwtc2ltcGxlLWNsb3NlLXBvc2l0aW9uKTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAtKCRtb2RhbC1zaW1wbGUtcGFkZGluZyAtICRtb2RhbC1zaW1wbGUtY2xvc2UtcG9zaXRpb24pO1xuICAgIDpkaXIocnRsKSAmIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IC0oJG1vZGFsLXNpbXBsZS1wYWRkaW5nICsgJG1vZGFsLXNpbXBsZS1jbG9zZS1wb3NpdGlvbiAqIDIpO1xuICAgIH1cblxuICAgIC8vIEZvciBzbWFsbCBzY3JlZW4gc2V0IHRvcCwgbGVmdC9yaWdodCAwIHAtMywgIHAtbWQtNVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IC0uNzVyZW07XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAtLjc1cmVtO1xuICAgICAgOmRpcihydGwpICYge1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtKCRtb2RhbC1zaW1wbGUtcGFkZGluZyArICRtb2RhbC1zaW1wbGUtY2xvc2UtcG9zaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBSZWZlciAmIEVhcm4gTW9kYWwgRXhhbXBsZSAqL1xuLm1vZGFsLXJlZmVyLWFuZC1lYXJuIHtcbiAgLm1vZGFsLXJlZmVyLWFuZC1lYXJuLXN0ZXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIGJsb2NrLXNpemU6IDg4cHg7XG4gICAgaW5saW5lLXNpemU6IDg4cHg7XG5cbiAgICAuaWNvbi1iYXNlIHtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFzZSgyLjVyZW0pO1xuICAgIH1cbiAgfVxufVxuXG4vKiBBZGQgbmV3IGFkZHJlc3MgbW9kYWwgKi9cbi5tb2RhbC1hZGQtbmV3LWFkZHJlc3Mge1xuICAuY3VzdG9tLW9wdGlvbi1pY29uOm5vdCguY2hlY2tlZCkgc3ZnIHtcbiAgICBzdHJva2U6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbiAgfVxuICAuY3VzdG9tLW9wdGlvbi1pY29uLmNoZWNrZWQgc3ZnIHtcbiAgICBzdHJva2U6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgfVxufVxuXG4vKiBTaGFyZSBwcm9qZWN0IG1vZGFsICovXG4ubW9kYWwtc2hhcmUtcHJvamVjdCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qIE1vZGFsIEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiBTbGlkZSBmcm9tIFRvcCAqL1xuLm1vZGFsLXRvcC5mYWRlIC5tb2RhbC1kaWFsb2csXG4ubW9kYWwtdG9wIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4ubW9kYWwtdG9wLnNob3cgLm1vZGFsLWRpYWxvZyxcbi5tb2RhbC10b3AgLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogVHJhbnNwYXJlbnQgKi9cbi5tb2RhbC10cmFuc3BhcmVudC5mYWRlIC5tb2RhbC1kaWFsb2csXG4ubW9kYWwtdHJhbnNwYXJlbnQgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjUsIC41KTtcbn1cblxuLm1vZGFsLXRyYW5zcGFyZW50LnNob3cgLm1vZGFsLWRpYWxvZyxcbi5tb2RhbC10cmFuc3BhcmVudCAubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbn1cblxuLyogUmVzcG9uc2l2ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgLm1vZGFsLW9uYm9hcmRpbmcgLm9uYm9hcmRpbmctaG9yaXpvbnRhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgLm1vZGFsIHtcbiAgICAubW9kYWwtZGlhbG9nOm5vdCgubW9kYWwtZnVsbHNjcmVlbikge1xuICAgICAgcGFkZGluZy1ibG9jazogMDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAuNzVyZW07XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2cubW9kYWwtc20ge1xuICAgIG1heC1pbmxpbmUtc2l6ZTogJG1vZGFsLXNtO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC1pbmxpbmUtc2l6ZTogJG1vZGFsLXhsO1xuICB9XG59XG5cbi8qIERhcmsgdGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5tb2RhbC1iYWNrZHJvcCB7XG4gICAgICAtLSN7JHByZWZpeH1iYWNrZHJvcC1iZzogI3skbW9kYWwtYmFja2Ryb3AtYmctZGFya307XG4gICAgICAtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5OiAjeyRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5LWRhcmt9O1xuICAgIH1cbiAgfVxufVxuXG4vKiBSVEwgbW9kZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG46ZGlyKHJ0bCkge1xuICAubW9kYWw6bm90KC5tb2RhbC10b3ApIC5tb2RhbC1oZWFkZXIgLmJ0bi1jbG9zZSB7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogJG1vZGFsLWRpYWxvZy1tYXJnaW4gLSAzLjU1cmVtO1xuICB9XG59XG4iLCIvKiBUb29sdGlwc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5cbi8qIE9wZW4gbW9kYWwgdG9vbHRpcCB6LWluZGV4ICovXG4ubW9kYWwtb3BlbiAudG9vbHRpcCB7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwgKyAyO1xufVxuXG4udG9vbHRpcC1pbm5lciB7XG4gIGJveC1zaGFkb3c6ICR0b29sdGlwLWJveC1zaGFkb3c7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xufVxuXG5bY2xhc3NePVwidG9vbHRpcC1cIl0sXG5bY2xhc3NePVwidG9vbHRpcC1cIl0gPiAudG9vbHRpcHtcbiAgJi5icy10b29sdGlwLWF1dG8ge1xuICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PVwidG9wXCJdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1iZyk7XG4gICAgfVxuICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PVwibGVmdFwiXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWJnKTtcbiAgICB9XG4gICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9XCJib3R0b21cIl0gLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSB7XG4gICAgICBib3JkZXItYmxvY2stZW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1iZyk7XG4gICAgfVxuXG4gICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9XCJyaWdodFwiXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1pbmxpbmUtZW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIERhcmsgdGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC50b29sdGlwIHtcbiAgICAgIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmctZGFya307XG4gICAgfVxuICB9XG59XG5cbi8qIFJUTFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG46ZGlyKHJ0bCkge1xuXG4gIC5icy10b29sdGlwLWF1dG8ge1xuICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PVwicmlnaHRcIl0ge1xuICAgICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1iZyk7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9XCJsZWZ0XCJdIHtcbiAgICAgIC50b29sdGlwLWFycm93IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICAgICAgYm9yZGVyLWlubGluZS1lbmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWJnKTtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLW1vZGlmaWVyc1xuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAudG9vbHRpcC50b29sdGlwLSN7JHN0YXRlfSwgLnRvb2x0aXAtI3skc3RhdGV9ID4gLnRvb2x0aXAge1xuICAgIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgIC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1tb2RpZmllcnNcbiIsIi8qIFBvcG92ZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5tb2RhbC1vcGVuIC5wb3BvdmVyIHtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbCArIDE7XG59XG4ucG9wb3Zlcjpub3QoLmN1c3RvbS1wb3BvdmVyKSB7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnOiB0cmFuc3BhcmVudDtcbiAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aDogMDtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogMDtcbiAgfVxuICAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICAgIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gIH1cbn1cbi5wb3BvdmVyOmhhcyhbY2xhc3NePVwicG9wb3Zlci1cIl0pOm5vdCguY3VzdG9tLXBvcG92ZXIpIHtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogdHJhbnNwYXJlbnQ7XG4gIC5wb3BvdmVyLWJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4ucG9wb3ZlcjpoYXMoW2NsYXNzXj1cInBvcG92ZXItaGVhZGVyLVwiXSkge1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcjogI3skcG9wb3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbn1cblxuLnBvcG92ZXIge1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAvLyBQb3BvdmVyIGhlYWRlciBwYWRkaW5nIGFuZCBmb250LXNpemVcbiAgLnBvcG92ZXItaGVhZGVyIHtcbiAgICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XG4gICAgcGFkZGluZy1ibG9jay1lbmQ6IDA7XG5cbiAgfVxuXG4gIC8vIFBvcG92ZXIgYm9keSBwYWRkaW5nXG4gIC5wb3BvdmVyLWJvZHkge1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6ICRzcGFjZXI7XG4gIH1cbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmOm5vdCguY3VzdG9tLXBvcG92ZXIpLmJzLXBvcG92ZXItYXV0byB7XG4gICAgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIC0tI3skcHJlZml4fXBvcG92ZXItYmc6ICN7cmdiYSh2YXIoLS0jeyRwcmVmaXh9d2hpdGUtcmdiKSwgLjEpfTtcbiAgICB9XG4gICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9XCJib3R0b21cIl0gPiB7XG4gICAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYmxvY2stZW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFtkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0gJiB7XG4gICAgJi5wb3BvdmVyLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9cG9wb3Zlci1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yKSA5MCUsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBjdXN0b20gcG9wb3ZlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLmN1c3RvbS1wb3BvdmVyIHtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGg6IDIwMHB4O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteDogMXJlbTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteTogLjVyZW07XG4gIC5wb3BvdmVyLWhlYWRlciB7XG4gICAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgfVxufVxuXG4vKiBEYXJrXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5wb3BvdmVyOm5vdCguY3VzdG9tLXBvcG92ZXIpIC5wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuICAgICAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXI6ICN7cmdiYSh2YXIoLS0jeyRwcmVmaXh9d2hpdGUtcmdiKSwgLjA1KX07XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItbW9kaWZpZXJzXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAucG9wb3ZlciB7XG4gICAgJi5wb3BvdmVyLSN7JHN0YXRlfSB7XG4gICAgICAtLSN7JHByZWZpeH1wb3BvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCk7XG4gICAgICAmID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnBvcG92ZXItaGVhZGVyLSN7JHN0YXRlfSB7XG4gICAgICAucG9wb3Zlci1oZWFkZXIsXG4gICAgICAmLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnQ9XCJib3R0b21cIl0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICAgICAgICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgICAgIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgIH1cbiAgICAgICYgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICAgICAgICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci1tb2RpZmllcnNcbiIsIi8vIENhcm91c2VsXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5jYXJvdXNlbCB7XG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0uY2Fyb3VzZWwtaXRlbS1zdGFydCB7XG4gICAgaDEsXG4gICAgLmgxLFxuICAgIGgyLFxuICAgIC5oMixcbiAgICBoMyxcbiAgICAuaDMsXG4gICAgaDQsXG4gICAgLmg0LFxuICAgIGg1LFxuICAgIC5oNSxcbiAgICBoNixcbiAgICAuaDYge1xuICAgICAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uY2Fyb3VzZWwuY2Fyb3VzZWwtZGFyayB7XG4gIC5jYXJvdXNlbC1pdGVtLFxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICAgIGgxLFxuICAgIC5oMSxcbiAgICBoMixcbiAgICAuaDIsXG4gICAgaDMsXG4gICAgLmgzLFxuICAgIGg0LFxuICAgIC5oNCxcbiAgICBoNSxcbiAgICAuaDUsXG4gICAgaDYsXG4gICAgLmg2IHtcbiAgICAgIGNvbG9yOiAkY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5bZGF0YS1icy10aGVtZT1cImRhcmtcIl0ge1xuICAuY2Fyb3VzZWw6bm90KC5jYXJvdXNlbC1kYXJrKSAuY2Fyb3VzZWwtY2FwdGlvbixcbiAgJi5jYXJvdXNlbDpub3QoLmNhcm91c2VsLWRhcmspIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8qIFNwaW5uZXJzICovXG5cbi8qIExhcmdlIHNpemUgKi9cbi5zcGlubmVyLWJvcmRlci1sZyxcbi5zcGlubmVyLWdyb3ctbGcge1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtbGd9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtbGd9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRoLWxnfTtcbn1cblxuLyogV2l0aGluIGJ1dHRvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uYnRuIHtcbiAgLnNwaW5uZXItYm9yZGVyLFxuICAuc3Bpbm5lci1ncm93IHtcbiAgICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogMWVtO1xuICAgIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6IDFlbTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogLS4wNjI1cmVtO1xuICB9XG5cbiAgLnNwaW5uZXItYm9yZGVyIHtcbiAgICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogLjE1ZW07XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlci1ydGwge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIH1cbn1cblxuLyogUlRMICovXG46ZGlyKHJ0bCkge1xuICAuc3Bpbm5lci1ib3JkZXIge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWJvcmRlci1ydGw7XG4gIH1cbn1cbiIsIi8qIE9mZmNhbnZhc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ub2ZmY2FudmFzIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93KTtcbiAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIC5idG4tY2xvc2Uge1xuICAgICAgcGFkZGluZzogLjQ0cmVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAuODc1cmVtO1xuICAgICAgbWFyZ2luLWJsb2NrOiAoJG9mZmNhbnZhcy1wYWRkaW5nLXkgKiAtLjUpICgkb2ZmY2FudmFzLXBhZGRpbmcteCAqIC0uNSk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvICgkb2ZmY2FudmFzLXBhZGRpbmcteSAqIC4xNjcpO1xuICAgIH1cbiAgfVxuICAmLm9mZmNhbnZhcy1zdGFydCB7XG4gICAgaW5zZXQtaW5saW5lOiAwIGF1dG87XG4gIH1cbiAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICBpbnNldC1pbmxpbmU6IGF1dG8gMDtcbiAgfVxufVxuXG4vLyBSVExcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbjpkaXIocnRsKSB7XG4gIC5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLWVuZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuXG4vLyBEYXJrIHRoZW1lXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAub2ZmY2FudmFzLWJhY2tkcm9wIHtcbiAgICAgIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmctZGFyaywgJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5LWRhcmspO1xuICAgIH1cbiAgfVxufVxuIiwiJGNvbG9yLWNsYXNzZXM6ICRjdXN0b20tdGhlbWUtY29sb3JzICFkZWZhdWx0O1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3ItY2xhc3NlcyB7XG4gIC5iZy1sYWJlbC0jeyRjb2xvcn0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpIHZhcigtLSN7JHByZWZpeH1iZy1sYWJlbC10aW50LWFtb3VudCksIHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0pKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIGNvbG9yOiBSR0JBKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSksIHZhcigtLSN7JHByZWZpeH1iZy1sYWJlbC10aW50LWFtb3VudCkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gICAgLy9UT0RPOiB0aGlzIHV0aWxpdHkgaXMgbm90IHVzZWQgaW4gdGhlIG1hc3Rlciwgd2lsbCBiZSByZWZhY3RvcmVkIGluIHRoZSBtYXN0ZXItbWF0ZXJpYWxcbiAgICAmLmJnLWxhYmVsLWhvdmVyIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9KSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1jb250cmFzdCkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9yLWNsYXNzZXMge1xuICAgICAgLmJnLWxhYmVsLSN7JGNvbG9yfSB7XG4gICAgICAgIEBpZiAkY29sb3IgPT0gXCJkYXJrXCIge1xuICAgICAgICAgIGNvbG9yOiBSR0JBKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSksIHZhcigtLSN7JHByZWZpeH1iZy1sYWJlbC10aW50LWFtb3VudCkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeDogXCJcIiwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gVXNlIGN1c3RvbSBDU1MgdmFyaWFibGUgbmFtZSBpZiBwcmVzZW50LCBvdGhlcndpc2UgZGVmYXVsdCB0byBgY2xhc3NgXG4gICAgJGNzcy12YXJpYWJsZS1uYW1lOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSk7XG5cbiAgICAvLyBTdGF0ZSBwYXJhbXMgdG8gZ2VuZXJhdGUgcHNldWRvLWNsYXNzZXNcbiAgICAkc3RhdGU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBzdGF0ZSksIG1hcC1nZXQoJHV0aWxpdHksIHN0YXRlKSwgKCkpO1xuXG4gICAgJGluZml4OiBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgc3RyLXNsaWNlKCRpbmZpeCwgMSwgMSkgPT0gXCItXCIsIHN0ci1zbGljZSgkaW5maXgsIDIpLCAkaW5maXgpO1xuXG4gICAgLy8gRG9uJ3QgcHJlZml4IGlmIHZhbHVlIGtleSBpcyBudWxsIChlLmcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMb29wIG92ZXIgZWFjaCBicmVha3BvaW50XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuXG4gIC8vIEdlbmVyYXRlIG1lZGlhIHF1ZXJ5IGlmIG5lZWRlZFxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHJmcykgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAvLyBUaGVuIGNoZWNrIGlmIHRoZSB1dGlsaXR5IG5lZWRzIHByaW50IHN0eWxlc1xuICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCBwcmludCkgPT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCBcIi1wcmludFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbW1vblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kdWktc3Rhci1zaXplOiAxLjFlbSAhZGVmYXVsdDtcbiR1aS1zdGFycy1zcGFjZXI6IC0uMWVtICFkZWZhdWx0O1xuJHVpLXN0YXItZmlsbGVkLWNvbG9yOiAkeWVsbG93ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgKGN1c3RvbSBuYXZiYXIpXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4kbmF2YmFyLWhlaWdodDogMy41cmVtICFkZWZhdWx0O1xuJG5hdmJhci1zdWdnZXN0aW9uLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJG5hdmJhci1zdWdnZXN0aW9uLWhlaWdodDogMjhyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXN1Z2dlc3Rpb24tYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMnJlbSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29udGVudC1oZWlnaHQ6IDI0LjA4cmVtICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1pY29uLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDglLCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpKSAhZGVmYXVsdDtcbiRuYXZiYXItbm90aWZpY2F0aW9ucy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci1ub3RpZmljYXRpb25zLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJG5hdmJhci1zZWFyY2gtc2hhZG93OiAwIC4yNXJlbSAuNXJlbSAtLjI1cmVtIHJnYmEoJGJsYWNrLCAuNDIpICFkZWZhdWx0O1xuXG4vLyBNZW51XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRtZW51LXdpZHRoOiAxNi4yNXJlbSAhZGVmYXVsdDtcbiRtZW51LWNvbGxhcHNlZC13aWR0aDogNC4zNzVyZW0gIWRlZmF1bHQ7XG4kbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQ6IHhsICFkZWZhdWx0O1xuXG4kbWVudS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJG1lbnUtaXRlbS1zcGFjZXI6IC4zNzVyZW0gIWRlZmF1bHQ7XG4kbWVudS1saW5rLXNwYWNlci14OiAuNXJlbSAhZGVmYXVsdDtcblxuJG1lbnUtdmVydGljYWwtbGluay1tYXJnaW4teDogLjc1cmVtICFkZWZhdWx0O1xuJG1lbnUtdmVydGljYWwtbGluay1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJG1lbnUtdmVydGljYWwtbGluay1wYWRkaW5nLXg6IC43NXJlbSAhZGVmYXVsdDtcbiRtZW51LXZlcnRpY2FsLWhlYWRlci1tYXJnaW4teTogLjVyZW0gIWRlZmF1bHQ7XG4kbWVudS12ZXJ0aWNhbC1oZWFkZXItbWFyZ2luLXg6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kbWVudS12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15OiAuNXJlbSAhZGVmYXVsdDtcbiRtZW51LXZlcnRpY2FsLW1lbnUtbGV2ZWwtc3BhY2VyOiAuNXJlbSAhZGVmYXVsdDtcblxuJG1lbnUtaG9yaXpvbnRhbC1zcGFjZXIteDogLjM3NXJlbSAhZGVmYXVsdDtcbiRtZW51LWhvcml6b250YWwtaXRlbS1zcGFjZXI6IC4yNXJlbSAhZGVmYXVsdDtcbiRtZW51LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJG1lbnUtaG9yaXpvbnRhbC1saW5rLXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcbiRtZW51LWhvcml6b250YWwtbWVudS1saW5rLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG4kbWVudS1ob3Jpem9udGFsLW1lbnUtbGV2ZWwtc3BhY2VyOiAyLjc1cmVtICFkZWZhdWx0O1xuJG1lbnUtaG9yaXpvbnRhbC1tZW51LWJveC1zaGFkb3c6IDAgLjA2MjVyZW0gLjI1cmVtIDAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRtZW51LWhvcml6b250YWwtbWVudS1zdWItYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGcpICFkZWZhdWx0O1xuXG4kbWVudS1zdWItd2lkdGg6ICRtZW51LXdpZHRoICFkZWZhdWx0O1xuJG1lbnUtY29udHJvbC13aWR0aDogMi4yNXJlbSAhZGVmYXVsdDtcbiRtZW51LWNvbnRyb2wtYXJyb3ctc2l6ZTogLjVyZW0gIWRlZmF1bHQ7XG5cbiRtZW51LWljb24tZXhwYW5kZWQtd2lkdGg6IDEuMzc1cmVtICFkZWZhdWx0O1xuJG1lbnUtaWNvbi1leHBhbmRlZC1sZWZ0LXNwYWNlcjogMi4yNXJlbSAhZGVmYXVsdDtcbiRtZW51LWljb24tZXhwYW5kZWQtZm9udC1zaXplOiAxLjM3NXJlbSAhZGVmYXVsdDtcbiRtZW51LWljb24tZXhwYW5kZWQtc3BhY2VyOiAuNXJlbSAhZGVmYXVsdDtcblxuJG1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3MgIWRlZmF1bHQ7XG5cbiRtZW51LWJnOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpICFkZWZhdWx0O1xuJG1lbnUtYmctcmdiOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmctcmdiKSAhZGVmYXVsdDtcbiRtZW51LWNvbG9yOiAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kbWVudS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRtZW51LWNvbG9yKX0gIWRlZmF1bHQ7XG4kbWVudS1ob3Zlci1iZzogJGdyYXktNTAgIWRlZmF1bHQ7XG4kbWVudS1ob3Zlci1jb2xvcjogJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJG1lbnUtYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7XG4kbWVudS1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWNvbnRyYXN0KSAhZGVmYXVsdDtcbiRtZW51LWJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFkZWZhdWx0O1xuJG1lbnUtZGl2aWRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cblxuJG1lbnUtbWF4LWxldmVsczogNSAhZGVmYXVsdDtcblxuLy8gRm9vdGVyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblxuJGZvb3Rlci1iZzogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAhZGVmYXVsdDtcbiRmb290ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRmb290ZXItYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJGZvb3Rlci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGZvb3Rlci10ZXh0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KSAhZGVmYXVsdDtcbiRmb290ZXItbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rLWRpc2FibGVkLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDQwJSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSkgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmstYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7XG4kZm9vdGVyLWJyYW5kLWNvbG9yOiAkZm9vdGVyLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1icmFuZC1ob3Zlci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsICN7JGZvb3Rlci1saW5rLWFjdGl2ZS1jb2xvcn0gI3skYmctbGFiZWwtdGludC1hbW91bnR9LCB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpKSAhZGVmYXVsdDtcbiRmb290ZXItYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cteGwpICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gT3B0aW9uc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kY3VzdG9tLW9wdGlvbi1wYWRkaW5nOiAxLjA2N2VtICFkZWZhdWx0O1xuJGN1c3RvbS1vcHRpb24tY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1vcHRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRjdXN0b20tb3B0aW9uLWJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY3VzdG9tLW9wdGlvbi1pbWFnZS1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRjdXN0b20tb3B0aW9uLWJvcmRlci1ob3Zlci1jb2xvcjogJGlucHV0LWhvdmVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gU3dpdGNoZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHN3aXRjaC1mb250LXNpemU6IC42MjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWJvcmRlci1yYWRpdXM6IDMwcmVtICFkZWZhdWx0O1xuXG4kc3dpdGNoLXdpZHRoOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLXdpZHRoLXNtOiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtd2lkdGgtbGc6IDMuMjVyZW0gIWRlZmF1bHQ7XG5cbiRzd2l0Y2gtaGVpZ2h0OiAxLjM1cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtc206IDEuMTI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQtbGc6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRzd2l0Y2gtbGFiZWwtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kc3dpdGNoLWxhYmVsLWZvbnQtc2l6ZS1zbTogJGZvbnQtc2l6ZS14cyAhZGVmYXVsdDtcbiRzd2l0Y2gtbGFiZWwtZm9udC1zaXplLWxnOiAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kc3dpdGNoLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kc3dpdGNoLWxhYmVsLWxpbmUtaGVpZ2h0LXNtOiAxLjYgIWRlZmF1bHQ7XG4kc3dpdGNoLWxhYmVsLWxpbmUtaGVpZ2h0LWxnOiAxLjQ3ICFkZWZhdWx0O1xuXG4kc3dpdGNoLXNwYWNlci14OiAuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLXNwYWNlci15OiAuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWd1dHRlcjogLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWlubmVyLXNwYWNlcjogLjI1cmVtICFkZWZhdWx0O1xuJHN3aXRjaC1pbm5lci1zcGFjZXItc206IC4xN3JlbSAhZGVmYXVsdDtcblxuJHN3aXRjaC1zcXVhcmUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRzd2l0Y2gtbGFiZWwtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKSAhZGVmYXVsdDtcbiRzd2l0Y2gtbGFiZWwtZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHN3aXRjaC1kaXNhYmxlZC1vcGFjaXR5OiAuNDUgIWRlZmF1bHQ7XG5cbiRzd2l0Y2gtb2ZmLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDYwJSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSkgIWRlZmF1bHQ7XG4kc3dpdGNoLW9mZi1iZzogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yKSA2JSwgdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSkgIWRlZmF1bHQ7XG4kc3dpdGNoLW9mZi1ib3JkZXI6ICRzd2l0Y2gtb2ZmLWJnICFkZWZhdWx0O1xuJHN3aXRjaC1ob2xkZXItYmc6IHZhcigtLSN7JHByZWZpeH13aGl0ZSkgIWRlZmF1bHQ7XG4kc3dpdGNoLWhvbGRlci1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXhzKSAhZGVmYXVsdDtcbiRzd2l0Y2gtZm9jdXMtYm94LXNoYWRvdzogJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHN3aXRjaC1ib3gtc2hhZG93LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpICFkZWZhdWx0O1xuXG4vLyBBdmF0YXJzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIChIZWlnaHQgJiBXaWR0aCwgRm9udCBTaXplLCBzdGF0dXMgaW5kaWNhdG9yIHBvc2l0aW9uKVxuXG4kYXZhdGFyLXNpemU6IDIuNXJlbSAhZGVmYXVsdDsgLyogRGVmYXVsdCAqL1xuJGF2YXRhci1zaXplczogKFxuICB4czogKDEuNXJlbSwgLjYyNXJlbSwgMXB4KSxcbiAgc206ICgycmVtLCAuODEyNXJlbSwgMnB4KSxcbiAgbWQ6ICgzcmVtLCAxLjEyNXJlbSwgM3B4KSxcbiAgbGc6ICgzLjVyZW0sIDEuNXJlbSwgNHB4KSxcbiAgeGw6ICg0cmVtLCAxLjg3NXJlbSwgNXB4KVxuKSAhZGVmYXVsdDtcblxuJGF2YXRhci1ncm91cC1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgIWRlZmF1bHQ7XG4kYXZhdGFyLWluaXRpYWwtYmc6ICNlZWVkZjAgIWRlZmF1bHQ7XG5cbi8vIFRpbWVsaW5lXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4kdGltZWxpbmUtbGluZS1ib3JkZXItc3R5bGVzOiAoXG4gIHNvbGlkOiBzb2xpZCxcbiAgZG90dGVkOiBkb3R0ZWQsXG4gIGRhc2hlZDogZGFzaGVkLFxuICBoaWRkZW46IG5vbmVcbikgIWRlZmF1bHQ7XG5cbiR0aW1lbGluZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGltZWxpbmUtaW5kaWNhdG9yLXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kdGltZWxpbmUtcG9pbnQtc2l6ZTogLjc1cmVtICFkZWZhdWx0O1xuJHRpbWVsaW5lLXBvaW50LWluZGljYXRvci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJHRpbWVsaW5lLXBvaW50LWluZGljYXRvci1iZzogdmFyKC0tI3skcHJlZml4fXByaW1hcnktYmctc3VidGxlKSAhZGVmYXVsdDtcbiR0aW1lbGluZS1lbmQtaW5kaWNhdG9yLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJHRpbWVsaW5lLXBvaW50LWluZGljYXRvci1iZy1zY2FsZTogODglICFkZWZhdWx0O1xuXG4kdGltZWxpbmUtaXRlbS1pY29uLWZvbnQtc2l6ZTogLjg1cmVtICFkZWZhdWx0O1xuJHRpbWVsaW5lLWl0ZW0tbWluLWhlaWdodDogNHJlbSAhZGVmYXVsdDtcbiR0aW1lbGluZS1pdGVtLXBhZGRpbmcteDogMHJlbSAhZGVmYXVsdDtcbiR0aW1lbGluZS1pdGVtLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG4kdGltZWxpbmUtaXRlbS1iZy1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKSAhZGVmYXVsdDtcbiR0aW1lbGluZS1pdGVtLWJvcmRlci1yYWRpdXM6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJHRpbWVsaW5lLWV2ZW50LXRpbWUtc2l6ZTogLjg1cmVtICFkZWZhdWx0O1xuJHRpbWVsaW5lLWV2ZW50LXRpbWUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLyBUZXh0IERpdmlkZXJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiRkaXZpZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Z3JheS0yMDApICFkZWZhdWx0O1xuXG4kZGl2aWRlci1tYXJnaW4teTogMXJlbSAhZGVmYXVsdDtcbiRkaXZpZGVyLW1hcmdpbi14OiAwICFkZWZhdWx0O1xuJGRpdmlkZXItdGV4dC1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG4kZGl2aWRlci10ZXh0LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcblxuJGRpdmlkZXItZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFBpY2tlcnMgLSBmb3IgYWxsIHRoZSBwaWNrZXJzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRwaWNrZXItYmc6IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgIWRlZmF1bHQ7XG4kcGlja2VyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kcGlja2VyLWJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbiRwaWNrZXItcGFkZGluZzogLjVyZW0gIWRlZmF1bHQ7XG4kcGlja2VyLXNwYWNlcjogLjEyNXJlbSAhZGVmYXVsdDtcbiRwaWNrZXItYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcGlja2VyLWJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwaWNrZXItYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwaWNrZXItYXJyb3ctd3JhcHBlci1zaXplOiAxLjg3NXJlbSAhZGVmYXVsdDtcbiRwaWNrZXItYXJyb3ctc2l6ZTogLjQ1cmVtICFkZWZhdWx0O1xuJHBpY2tlci1hcnJvdy1iZzogdmFyKC0tI3skcHJlZml4fWdyYXktNzUpICFkZWZhdWx0O1xuJHBpY2tlci1hcnJvdy1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHBpY2tlci1oZWFkZXItc2l6ZTogMy4yNXJlbSAhZGVmYXVsdDtcbiRwaWNrZXItaGVhZGVyLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG4kcGlja2VyLWhlYWRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpICFkZWZhdWx0O1xuJHBpY2tlci1zZWxlY3QtYmc6IHZhcigtLSN7JHByZWZpeH1ncmF5LTEwMCkgIWRlZmF1bHQ7XG4kcGlja2VyLXNlbGVjdC13aWR0aDogMy4xMjVyZW0gIWRlZmF1bHQ7XG4kcGlja2VyLXNlbGVjdC10aW1lci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBpY2tlci1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGlja2VyLXRpbWVyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHBpY2tlci10aW1lci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHBpY2tlci1jZWxsLXNpemU6IDIuMjVyZW0gIWRlZmF1bHQ7XG4kcGlja2VyLWNlbGwtcGFkZGluZzogLjVyZW0gIWRlZmF1bHQ7XG4kcGlja2VyLWNlbGwtYm9yZGVyLXJhZGl1czogNTByZW0gIWRlZmF1bHQ7XG4kcGlja2VyLWNlbGwtYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7XG4kcGlja2VyLWNlbGwtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1jb250cmFzdCkgIWRlZmF1bHQ7XG4kcGlja2VyLWNlbGwtYWN0aXZlLXNoYWRvdzogMCAuMTI1cmVtIC4zNzVyZW0gMCByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC4zKSAhZGVmYXVsdDtcbiRwaWNrZXItY2VsbC1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fWdyYXktNTApICFkZWZhdWx0O1xuJHBpY2tlci1jZWxsLXRvZGF5LWJnOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJHBpY2tlci1jZWxsLXRvZGF5LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWRlZmF1bHQ7XG4kcGlja2VyLXJhbmdlLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJHBpY2tlci1yYW5nZS1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSkgIWRlZmF1bHQ7XG4kcGlja2VyLXdpZHRoOiAoJHBpY2tlci1jZWxsLXNpemUgKiA3KSArICgkcGlja2VyLXBhZGRpbmcgKiAyKSAhZGVmYXVsdDtcbiRwaWNrZXItemluZGV4OiAkemluZGV4LW1lbnUtZml4ZWQgLSA2ICFkZWZhdWx0O1xuIiwiOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJde1xuICAtLSN7JHByZWZpeH1uYXZiYXItc2VhcmNoLXNoYWRvdzogI3skbmF2YmFyLXNlYXJjaC1zaGFkb3d9O1xuXG4gIC8qIE1lbnUgKi9cbiAgLS0jeyRwcmVmaXh9bWVudS1iZzogI3skbWVudS1iZ307XG4gIC0tI3skcHJlZml4fW1lbnUtYmctcmdiOiAjeyRtZW51LWJnLXJnYn07XG4gIC0tI3skcHJlZml4fW1lbnUtY29sb3I6ICN7JG1lbnUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1tZW51LWNvbG9yLXJnYjogI3skbWVudS1jb2xvci1yZ2J9O1xuICAtLSN7JHByZWZpeH1tZW51LWhvdmVyLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDYlLCB2YXIoLS0jeyRwcmVmaXh9bWVudS1iZykpO1xuICAtLSN7JHByZWZpeH1tZW51LWhvdmVyLWNvbG9yOiAjeyRtZW51LWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bWVudS1zdWItYWN0aXZlLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDglLCB2YXIoLS0jeyRwcmVmaXh9bWVudS1iZykpO1xuICAtLSN7JHByZWZpeH1tZW51LXN1Yi1hY3RpdmUtY29sb3I6ICN7JG1lbnUtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tZW51LWFjdGl2ZS1jb2xvcjogI3skbWVudS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1tZW51LWFjdGl2ZS1iZzogI3skbWVudS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1tZW51LWhvcml6b250YWwtYWN0aXZlLWJnOiAje3ZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSl9O1xuICAtLSN7JHByZWZpeH1tZW51LWJveC1zaGFkb3c6ICN7JG1lbnUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fW1lbnUtZGl2aWRlci1jb2xvcjogI3t2YXIoLS0jeyRwcmVmaXh9d2hpdGUpfTtcbiAgLS0jeyRwcmVmaXh9bWVudS13aWR0aDogI3skbWVudS13aWR0aH07XG4gIC0tI3skcHJlZml4fW1lbnUtY29sbGFwc2VkLXdpZHRoOiAjeyRtZW51LWNvbGxhcHNlZC13aWR0aH07XG4gIC0tI3skcHJlZml4fW1lbnUtaXRlbS1zcGFjZXI6ICN7JG1lbnUtaXRlbS1zcGFjZXJ9O1xuICAtLSN7JHByZWZpeH1tZW51LXZlcnRpY2FsLWxpbmstcGFkZGluZy15OiAjeyRtZW51LXZlcnRpY2FsLWxpbmstcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteDogI3skbWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW1lbnUtdmVydGljYWwtbWVudS1saW5rLXBhZGRpbmcteTogI3skbWVudS12ZXJ0aWNhbC1tZW51LWxpbmstcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bWVudS12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlcjogI3skbWVudS12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlcn07XG4gIC0tI3skcHJlZml4fW1lbnUtaG9yaXpvbnRhbC1tZW51LWJveC1zaGFkb3c6ICN7JG1lbnUtaG9yaXpvbnRhbC1tZW51LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1tZW51LWhvcml6b250YWwtbWVudS1zdWItYm94LXNoYWRvdzogI3skbWVudS1ob3Jpem9udGFsLW1lbnUtc3ViLWJveC1zaGFkb3d9O1xufVxuLy8hIEZJWDogQWRkZWQgZGF0YS1zZW1pZGFyay1tZW51IGF0dHJpYnV0ZSB0byBhdm9pZCBzZW1pIGRhcmsgbWVudSBmbGlja2VyIGVmZmVjdCBvbiBwYWdlIGxvYWRcbltkYXRhLXNlbWlkYXJrLW1lbnU9XCJ0cnVlXCJdLFxuW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJde1xuICAtLSN7JHByZWZpeH1tZW51LWJnOiAjeyRtZW51LWJnLWRhcmt9O1xuICAtLSN7JHByZWZpeH1tZW51LWJnLXJnYjogI3skbWVudS1iZy1yZ2J9O1xuICAtLSN7JHByZWZpeH1tZW51LWFjdGl2ZS1iZzogI3skbWVudS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1tZW51LWhvcml6b250YWwtYWN0aXZlLWJnOiAjeyRwcmltYXJ5LWJnLXN1YnRsZS1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9bWVudS1jb2xvcjogI3skbWVudS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9bWVudS1jb2xvci1yZ2I6ICN7JG1lbnUtY29sb3ItcmdiLWRhcmt9O1xuICAtLSN7JHByZWZpeH1tZW51LWhvdmVyLWJnOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fWJhc2UtY29sb3IpIDYlLCB2YXIoLS0jeyRwcmVmaXh9bWVudS1iZykpO1xuICAtLSN7JHByZWZpeH1tZW51LWhvdmVyLWNvbG9yOiAjeyRtZW51LWNvbG9yLWRhcmt9O1xuICAtLSN7JHByZWZpeH1tZW51LXN1Yi1hY3RpdmUtYmc6IGNvbG9yLW1peChpbiBzUkdCLCB2YXIoLS0jeyRwcmVmaXh9YmFzZS1jb2xvcikgOCUsIHZhcigtLSN7JHByZWZpeH1tZW51LWJnKSk7XG4gIC0tI3skcHJlZml4fW1lbnUtc3ViLWFjdGl2ZS1jb2xvcjogI3skbWVudS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9bWVudS1ib3gtc2hhZG93OiAjeyRtZW51LWJveC1zaGFkb3ctZGFya307XG4gIC0tI3skcHJlZml4fW1lbnUtZGl2aWRlci1jb2xvcjogI3skbWVudS1kaXZpZGVyLWNvbG9yfTtcbn1cbiIsIi8qIEFwcCBPdmVybGF5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5hcHAtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAuNSk7XG4gIGluc2V0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlLWluLW91dDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICYuc2hvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC41KTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIEBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gICAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRtb2RhbC1iYWNrZHJvcC1iZywgLjYpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBJRSBGaXhlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAvKiBGaXggSUUgcGFyZW50IGNvbnRhaW5lciBoZWlnaHQgYnVnIHdoZW4gY29udGFpbmluZyBpbWFnZSB3aXRoIGZsdWlkIHdpZHRoICovXG4gIC5jYXJkLFxuICAuY2FyZC1ib2R5LFxuICAubWVkaWEsXG4gIC5mbGV4LWNvbHVtbixcbiAgLnRhYi1jb250ZW50IHtcbiAgICBtaW4tYmxvY2stc2l6ZTogMXB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBibG9jay1zaXplOiBhdXRvO1xuICAgIG1pbi1ibG9jay1zaXplOiAxcHg7XG4gIH1cbn1cblxuLyogQ29udGFpbmVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCxcbi5jb250YWluZXIteHhsIHtcbiAgcGFkZGluZy1pbmxpbmU6ICRjb250YWluZXItcGFkZGluZy14LXNtO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwYWRkaW5nLWlubGluZTogJGNvbnRhaW5lci1wYWRkaW5nLXg7XG4gIH1cbn1cblxuLyogQnV5IG5vdyBzZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4uYnV5LW5vdyB7XG4gIC5idG4tYnV5LW5vdyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbWVudS1maXhlZDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAyMHB4IDFweCAkZGFuZ2VyO1xuICAgIGluc2V0LWJsb2NrLWVuZDogM3JlbTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAkY29udGFpbmVyLXBhZGRpbmcteDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIENvbW1vblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5AaW1wb3J0IFwiLi4vX2Jvb3RzdHJhcC1leHRlbmRlZC9pbmNsdWRlXCI7XG5cbi8qIExpbmUgQ2xhbXAgd2l0aCBlbGxpcHNpc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4kY2xhbXAtbnVtYmVyczogKFxuICBcIjFcIjogMSxcbiAgXCIyXCI6IDIsXG4gIFwiM1wiOiAzXG4pICFkZWZhdWx0O1xuXG5AZWFjaCAkY2xhbXAtY2xhc3MsICRjbGFtcC12YWx1ZSBpbiAkY2xhbXAtbnVtYmVycyB7XG4gIC5saW5lLWNsYW1wLSN7JGNsYW1wLWNsYXNzfSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGNsYW1wLXZhbHVlO1xuICB9XG59XG5cbi8qIEJhY2tncm91bmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnVpLWJnLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gMCUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4udWktYmctb3ZlcmxheS1jb250YWluZXIsXG4udWktYmctdmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi51aS1iZy1vdmVybGF5LWNvbnRhaW5lciAudWktYmctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGluc2V0OiAwO1xufVxuIiwiLyogTWVudVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tZW51LWJnKTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9bWVudS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC5hcHAtYnJhbmQge1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKGNhbGMoI3t2YXIoLS0jeyRwcmVmaXh9bWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCl9ICogMikgLSAuMjVyZW0pO1xuICAgIC5hcHAtYnJhbmQtdGV4dCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1YiBtZW51IGl0ZW0gbGluayBidWxsZXRcbiAgLm1lbnUtc3ViID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbmsge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1jb2xvcik7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxLjFyZW07XG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMyAxMmE5IDkgMCAxIDAgMTggMGE5IDkgMCAxIDAtMTggMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIEBpbmNsdWRlIGljb24tYmFzZSguNzVyZW0pO1xuICAgICAgLmxheW91dC1ob3Jpem9udGFsICYge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDEuMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA/IEhpZGUgYnVsbGV0IGZyb20gZmlyc3QgY2hpbGQgb25seSBhcyB3ZSBkaXNwbGF5IGljb24gaW5zdGVhZCAoaG9yaXpvbnRhbClcbiAgJi5tZW51LWhvcml6b250YWwgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtID4gLm1lbnUtc3ViID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbmt7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRtZW51LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYubWVudS1ob3Jpem9udGFsIC5tZW51LXN1YiAubWVudS1pdGVtIC5tZW51LWxpbmsge1xuICAgIG1pbi1ibG9jay1zaXplOiAyLjM3NXJlbTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJG1lbnUtaG9yaXpvbnRhbC1tZW51LWxldmVsLXNwYWNlcjtcbiAgfVxuXG4gIC8qIFBlcmZlY3QgU2Nyb2xsYmFyICovXG4gIC5wc19fdGh1bWIteSxcbiAgLnBzX19yYWlsLXkge1xuICAgIGlubGluZS1zaXplOiAuMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHNfX3JhaWwteTpob3ZlcixcbiAgLnBzX19yYWlsLXk6Zm9jdXMsXG4gIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyxcbiAgLnBzX19yYWlsLXk6aG92ZXIgPiAucHNfX3RodW1iLXksXG4gIC5wc19fcmFpbC15OmZvY3VzID4gLnBzX190aHVtYi15LFxuICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xuICAgIGlubGluZS1zaXplOiAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHMucHMtLWFjdGl2ZS15ID4gLnBzX19yYWlsLXkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgLnBzX19yYWlsLXkge1xuICAgIGluc2V0LWlubGluZTogYXV0byAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wc19fdGh1bWIteSxcbiAgLnBzX19yYWlsLXkucHMtLWNsaWNraW5nID4gLnBzX190aHVtYi15IHtcbiAgICBvcGFjaXR5OiAuMztcbiAgfVxufVxuXG4ubWVudS1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYmxvY2stc2l6ZTogMTAwJTtcblxuICA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWNsb3NpbmcgLm1lbnUtaXRlbS5vcGVuIC5tZW51LXN1YixcbiAgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1jbG9zaW5nIC5tZW51LWl0ZW0ub3BlbiAubWVudS10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1jb2xvcik7XG4gIH1cblxuICA+IC5tZW51LWhlYWRlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1tZW51LWNvbG9yLXJnYiksIC41KTtcbiAgfVxufVxuXG4ubWVudS1pbm5lci1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS0jeyRwcmVmaXh9bWVudS1iZykgNDElLCByZ2JhKHZhcigtLSN7JHByZWZpeH1tZW51LWJnLXJnYiksIC4xMSkgOTUlLCByZ2JhKHZhcigtLSN7JHByZWZpeH1tZW51LWJnLXJnYiksIDApKTtcbiAgYmxvY2stc2l6ZTogM3JlbTtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAkbmF2YmFyLWhlaWdodCAtICgoJG5hdmJhci1oZWlnaHQgLSAzcmVtKSAqIC41KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC5sYXlvdXQtbmF2YmFyLWZ1bGwgJiB7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gIH1cbn1cblxuLyogTWVudSBpdGVtICovXG5cbi5tZW51LWl0ZW0ge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICYubWVudS1pdGVtLWFuaW1hdGluZyB7XG4gICAgdHJhbnNpdGlvbjogYmxvY2stc2l6ZSAkbWVudS1hbmltYXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7XG4gIH1cbiAgJi5hY3RpdmUgPiAubWVudS1saW5rOm5vdCgubWVudS10b2dnbGUpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC43KSAwJSwgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpIDEwMCUpO1xuICAgIDpkaXIocnRsKSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMjcwZGVnLCByZ2JhKHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXJnYiksIC43KSAwJSwgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpIDEwMCUpO1xuICAgIH1cbiAgICBib3gtc2hhZG93OiAwIC4xMjVyZW0gLjM3NXJlbSAwIHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgLjMpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG5cbi8qIEhvcml6b250YWwgTWVudVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4ubWVudS5tZW51LWhvcml6b250YWwge1xuXG4gIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbSA+IC5tZW51LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbmsubWVudS10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgLjcpIDAlLCB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgMTAwJSk7XG4gICAgOmRpcihydGwpICYge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0yNzBkZWcsIHJnYmEodmFyKC0tI3skcHJlZml4fXByaW1hcnktcmdiKSwgLjcpIDAlLCB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgMTAwJSk7XG4gICAgfVxuICAgIGJveC1zaGFkb3c6IDAgLjEyNXJlbSAuMzc1cmVtIDAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMyk7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tZW51LWFjdGl2ZS1jb2xvcik7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1lbnUtYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubWVudS1pbm5lciA+IC5tZW51LWl0ZW17XG4gICAgbWFyZ2luLWJsb2NrOiAkbWVudS1ob3Jpem9udGFsLWxpbmstcGFkZGluZy15O1xuICAgIG1hcmdpbi1pbmxpbmU6IDA7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAkbWVudS1pdGVtLXNwYWNlciAqIC41O1xuICAgIH1cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRtZW51LWl0ZW0tc3BhY2VyICogLjU7XG4gICAgfVxuICAgIC5tZW51LXN1YiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fW1lbnUtaG9yaXpvbnRhbC1tZW51LXN1Yi1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtaXRlbSxcbi5tZW51LWhlYWRlcixcbi5tZW51LWRpdmlkZXIsXG4ubWVudS1ibG9jayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubWVudS1oZWFkZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRtZW51LWFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgLm1lbnUtaGVhZGVyLXRleHQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLyogTWVudSBJY29uICovXG4ubWVudS1pY29uIHtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgYmxvY2stc2l6ZTogJG1lbnUtaWNvbi1leHBhbmRlZC1mb250LXNpemU7XG4gIGZvbnQtc2l6ZTogJG1lbnUtaWNvbi1leHBhbmRlZC1mb250LXNpemU7XG4gIGlubGluZS1zaXplOiAkbWVudS1pY29uLWV4cGFuZGVkLWZvbnQtc2l6ZTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6ICRtZW51LWljb24tZXhwYW5kZWQtc3BhY2VyO1xuICAubWVudTpub3QoLm1lbnUtbm8tYW5pbWF0aW9uKSAmIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4taW5saW5lLWVuZCAkbWVudS1hbmltYXRpb24tZHVyYXRpb24gZWFzZTtcbiAgfVxuXG4gIC5tZW51LWxpbmsge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRtZW51LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgfVxuICAubWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIHRyYW5zZm9ybTtcbiAgfVxufVxuXG4vKiBNZW51IGxpbmsgKi9cbi5tZW51LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG5cbiAgLm1lbnUtaXRlbS5kaXNhYmxlZCAmIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgPiA6bm90KC5tZW51LWljb24pIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tZW51LWxpbmssXG4ubWVudS1ob3Jpem9udGFsLXByZXYsXG4ubWVudS1ob3Jpem9udGFsLW5leHQge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW1lbnUtY29sb3IpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1ob3Zlci1jb2xvcik7XG4gIH1cbn1cblxuLm1lbnUtaXRlbS5kaXNhYmxlZCAubWVudS1saW5rLFxuLm1lbnUtaG9yaXpvbnRhbC1wcmV2LmRpc2FibGVkLFxuLm1lbnUtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgb3BhY2l0eTogLjY7XG59XG5cbi8qIFN1YiBtZW51ICovXG4ubWVudS1zdWIge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG5cbiAgLm1lbnUtaXRlbS5vcGVuID4gJiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4vKiBNZW51IHRvZ2dsZSBvcGVuL2Nsb3NlIGFycm93ICovXG4ubWVudS10b2dnbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1lbnUtY29sb3IpO1xuICBjb250ZW50OiBcIlwiO1xuICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtOSA2bDYgNmwtNiA2Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IDEwMCUgMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBAaW5jbHVkZSBpY29uLWJhc2UoJG1lbnUtaWNvbi1leHBhbmRlZC1mb250LXNpemUpO1xuICA6ZGlyKHJ0bCkgJiB7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTE1IDZsLTYgNmw2IDYnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cblxuLyogTWVudSBkaXZpZGVyICovXG4ubWVudS1kaXZpZGVyIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYmxvY2stc3RhcnQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1kaXZpZGVyLWNvbG9yKTtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG59XG5cblxuLyogVmVydGljYWwgTWVudVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5tZW51LXZlcnRpY2FsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBtZW51IGV4cGFuZCBjb2xsYXBzZSBhbmltYXRpb25cbiAgJjpub3QoLm1lbnUtbm8tYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogaW5saW5lLXNpemUgJG1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICB9XG5cbiAgJixcbiAgLm1lbnUtYmxvY2ssXG4gIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbSxcbiAgLm1lbnUtaW5uZXIgPiAubWVudS1oZWFkZXIge1xuICAgIGlubGluZS1zaXplOiB2YXIoLS0jeyRwcmVmaXh9bWVudS13aWR0aCk7XG4gIH1cblxuICAubWVudS1pbm5lciB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgID4gLm1lbnUtaXRlbSB7XG4gICAgICBtYXJnaW4tYmxvY2s6IHZhcigtLSN7JHByZWZpeH1tZW51LWl0ZW0tc3BhY2VyKSAwO1xuICAgICAgbWFyZ2luLWlubGluZTogMDtcblxuICAgICAgLyogbWVudS1saW5rIHNwYWNpbmcgKi9cbiAgICAgIC5tZW51LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAkbWVudS12ZXJ0aWNhbC1saW5rLW1hcmdpbi14O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLm1lbnUtaXRlbSAubWVudS1saW5rLFxuICAubWVudS1ibG9jayB7XG4gICAgcGFkZGluZy1ibG9jazogdmFyKC0tI3skcHJlZml4fW1lbnUtdmVydGljYWwtbGluay1wYWRkaW5nLXkpO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS0jeyRwcmVmaXh9bWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCk7XG4gIH1cbiAgLm1lbnUtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAkbWVudS12ZXJ0aWNhbC1oZWFkZXItbWFyZ2luLXggLjM3NXJlbTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYygkbWVudS12ZXJ0aWNhbC1saW5rLW1hcmdpbi14ICogMik7XG4gIH1cbiAgLm1lbnUtaXRlbSAubWVudS1saW5rIHtcbiAgICBmb250LXNpemU6ICRtZW51LWZvbnQtc2l6ZTtcbiAgICBtaW4tYmxvY2stc2l6ZTogMzhweDtcbiAgICA+IGRpdjpub3QoLmJhZGdlKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDY3O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LWl0ZW0ge1xuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoI3t2YXIoLS0jeyRwcmVmaXh9bWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCl9ICsgI3skY2FyZXQtd2lkdGggKiAzLjJ9KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS0jeyRwcmVmaXh9bWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG5cbiAgICAgIH1cbiAgICB9XG4gICAgJjpub3QoLmFjdGl2ZSk6bm90KC5vcGVuKSAubWVudS1saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tZW51LWhvdmVyLWJnKTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSA+IC5tZW51LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1zdWItYWN0aXZlLWJnKTtcbiAgICB9XG4gICAgJi5hY3RpdmU6bm90KC5vcGVuKSA+IC5tZW51LWxpbms6bm90KC5tZW51LXRvZ2dsZSk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LWl0ZW0ub3Blbjpub3QoLm1lbnUtaXRlbS1jbG9zaW5nKSA+IC5tZW51LWxpbms6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICA6ZGlyKHJ0bCkgJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtZGl2aWRlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYmxvY2s6ICRtZW51LWxpbmstc3BhY2VyLXg7XG4gIH1cblxuICAubWVudS1zdWIge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgbWFyZ2luLWJsb2NrOiAkbWVudS1pdGVtLXNwYWNlciAwO1xuICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICB9XG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICAubGF5b3V0LWhvcml6b250YWwgJiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxheW91dC1ob3Jpem9udGFsICYge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgbWFyZ2luLWJsb2NrOiAkbWVudS1pdGVtLXNwYWNlciAwO1xuICAgICAgbWFyZ2luLWlubGluZTogMDtcbiAgICB9XG4gIH1cblxuICAubWVudS1pY29uIHtcbiAgICBpbmxpbmUtc2l6ZTogJG1lbnUtaWNvbi1leHBhbmRlZC13aWR0aDtcbiAgfVxuXG4gIC5tZW51LWhvcml6b250YWwtd3JhcHBlciB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuXG4gIH4gLm1lbnUtbW9iaWxlLXRvZ2dsZXJ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAubGF5b3V0LW5hdmJhci1oaWRkZW4gJiB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB6LWluZGV4OiAxMDY3O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnkpO1xuICAgICAgaW5zZXQtYmxvY2stZW5kOiBjYWxjKCN7JGNvbnRhaW5lci1wYWRkaW5nLXh9ICogMik7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6ICRjb250YWluZXItcGFkZGluZy14O1xuICAgIH1cbiAgfVxuXG4gIC8vIExldmVsc1xuICAkbWVudS1maXJzdC1sZXZlbC1zcGFjZXI6ICRtZW51LXZlcnRpY2FsLWxpbmstcGFkZGluZy14ICsgJG1lbnUtaWNvbi1leHBhbmRlZC13aWR0aCArICRtZW51LWljb24tZXhwYW5kZWQtc3BhY2VyO1xuXG4gIC5tZW51LXN1YiAubWVudS1saW5rIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJG1lbnUtZmlyc3QtbGV2ZWwtc3BhY2VyO1xuICB9XG5cbiAgLy8gTWVudSBsZXZlbHMgbG9vcCBmb3IgcGFkZGluZyBsZWZ0L3JpZ2h0XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1lbnUtbWF4LWxldmVscyB7XG4gICAgJHNlbGVjdG9yOiBcIlwiO1xuXG4gICAgQGZvciAkbCBmcm9tIDEgdGhyb3VnaCAkaSB7XG4gICAgICAkc2VsZWN0b3I6IFwiI3skc2VsZWN0b3J9IC5tZW51LXN1YlwiO1xuICAgIH1cbiAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtaG9yaXpvbnRhbCkgJiB7XG4gICAgICAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0ge1xuICAgICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgIC5tZW51LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRtZW51LWZpcnN0LWxldmVsLXNwYWNlciArICgkbWVudS12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlciAqICgkaSkpIC0gLjIyNTtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJG1lbnUtaWNvbi1leHBhbmRlZC1sZWZ0LXNwYWNlciArICgkbWVudS12ZXJ0aWNhbC1tZW51LWxldmVsLXNwYWNlciAqICRpKSAtIDEuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogVmVydGljYWwgTWVudSBDb2xsYXBzZWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuQG1peGluIGxheW91dC1tZW51LWNvbGxhcHNlZCgpIHtcbiAgaW5saW5lLXNpemU6IHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCk7XG5cbiAgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtIHtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tI3skcHJlZml4fW1lbnUtY29sbGFwc2VkLXdpZHRoKTtcbiAgfVxuXG4gIC5tZW51LWlubmVyID4gLm1lbnUtaGVhZGVyLFxuICAubWVudS1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlubGluZS1zaXplOiB2YXIoLS0jeyRwcmVmaXh9bWVudS13aWR0aCk7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tI3skcHJlZml4fW1lbnUtY29sbGFwc2VkLXdpZHRoKTtcbiAgICBwYWRkaW5nLWlubGluZTogJG1lbnUtaWNvbi1leHBhbmRlZC1zcGFjZXIgY2FsYyhjYWxjKHZhcigtLSN7JHByZWZpeH1tZW51LXZlcnRpY2FsLWxpbmstcGFkZGluZy14KSAqIDIpIC0gJG1lbnUtaWNvbi1leHBhbmRlZC1zcGFjZXIpO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLm1lbnUtaGVhZGVyLXRleHQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgICAgYmxvY2stc2l6ZTogMXB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGlubGluZS1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA1MCU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiBjYWxjKHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCkgKiAuNjYpKTtcbiAgICB9XG4gIH1cbiAgLmFwcC1icmFuZCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoI3skbWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteH0gKyAuMzhyZW0pO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAuM3MgZWFzZS1pbi1vdXQpO1xuICB9XG4gIC5tZW51LWlubmVyID4gLm1lbnUtaGVhZGVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmxvY2stc2l6ZTogLjA2MjVyZW07XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtIGRpdjpub3QoLm1lbnUtYmxvY2spIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0gPiAubWVudS1zdWIsXG4gIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5vcGVuID4gLm1lbnUtc3ViIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbSA+IC5tZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmOm5vdCgubGF5b3V0LW1lbnUtaG92ZXIpIHtcbiAgICAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0gPiAubWVudS1saW5rLFxuICAgIC5tZW51LWlubmVyID4gLm1lbnUtYmxvY2ssXG4gICAgLm1lbnUtaW5uZXIgPiAubWVudS1oZWFkZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKCN7JG1lbnUtdmVydGljYWwtbGluay1wYWRkaW5nLXh9ICsgI3skY2FyZXQtd2lkdGggKiAxLjJ9KTtcbiAgICB9XG4gIH1cblxuICAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0gPiAubWVudS1saW5rIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4vKiBPbmx5IGZvciBtZW51IGV4YW1wbGUgKi9cbi5tZW51LWNvbGxhcHNlZDpub3QoOmhvdmVyKSB7XG4gIEBpbmNsdWRlIGxheW91dC1tZW51LWNvbGxhcHNlZCgpO1xufVxuXG4vKiBIb3Jpem9udGFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5tZW51LWhvcml6b250YWwge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcblxuICAubWVudS1pbm5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgID4gLm1lbnUtaXRlbS5hY3RpdmUgPiAubWVudS1saW5rLm1lbnUtdG9nZ2xlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgIH1cbiAgICAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbms6bm90KC5tZW51LXRvZ2dsZSkge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgfVxuICAgIC5tZW51LWl0ZW17XG4gICAgICAmOm5vdCgubWVudS1pdGVtLWNsb3NpbmcpID4gLm1lbnUtc3ViLFxuICAgICAgJi5vcGVuID4gLm1lbnUtdG9nZ2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1lbnUtYmcpO1xuICAgICAgfVxuICAgICAgJi5hY3RpdmUgPiAubWVudS1saW5rLm1lbnUtdG9nZ2xle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bWVudS1zdWItYWN0aXZlLWJnKTtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tZW51LXN1Yi1hY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgICAgJjpob3ZlciA+IC5tZW51LWxpbmt7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tZW51LWhvdmVyLWJnKTtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tZW51LWhvdmVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudS1pdGVtIC5tZW51LWxpbmsge1xuICAgIHBhZGRpbmctYmxvY2s6ICRtZW51LWhvcml6b250YWwtbGluay1wYWRkaW5nLXk7XG4gICAgcGFkZGluZy1pbmxpbmU6ICRtZW51LWhvcml6b250YWwtbGluay1wYWRkaW5nLXg7XG4gIH1cblxuICAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbms6bm90KC5tZW51LXRvZ2dsZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1tZW51LWhvcml6b250YWwtYWN0aXZlLWJnKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgJjo6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LWl0ZW0gLm1lbnUtdG9nZ2xlIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoI3skbWVudS1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14fSArICN7JGNhcmV0LXdpZHRoICogM30pO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IGNhbGMoI3skbWVudS1ob3Jpem9udGFsLWxpbmstcGFkZGluZy14fSAtICN7LjJyZW19KTtcbiAgICB9XG4gIH1cblxuICAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0gPiAubWVudS10b2dnbGUge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgOmRpcihydGwpICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmxvY2stc2l6ZTogJG1lbnUtdmVydGljYWwtaGVhZGVyLW1hcmdpbi15O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDEwMCU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gIH1cblxuICAubWVudS1pbm5lciA+IC5tZW51LWl0ZW06bm90KC5tZW51LWl0ZW0tY2xvc2luZykub3BlbiAubWVudS1pdGVtLm9wZW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tZW51LXN1YiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICAgIGlubGluZS1zaXplOiAkbWVudS1zdWItd2lkdGg7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygkbWVudS1ob3Jpem9udGFsLWl0ZW0tc3BhY2VyICsgJG1lbnUtaXRlbS1zcGFjZXIpO1xuICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgcGFkZGluZy1ibG9jazogMXB4O1xuICAgICAgcGFkZGluZy1pbmxpbmU6ICRtZW51LWxpbmstc3BhY2VyLXg7XG4gICAgICAmLm9wZW4gLm1lbnUtbGluayA+IGRpdjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJsb2NrLXNpemU6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGlubGluZS1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IC0xLjA2MjVyZW07XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LXN1YiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMDAlO1xuICAgIH1cblxuICAgIC5tZW51LWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiAkbWVudS1ob3Jpem9udGFsLW1lbnUtbGluay1wYWRkaW5nLXk7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtaW5uZXIgPiAubWVudS1pdGVtIHtcbiAgICAubWVudS1zdWIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICAgID4gLm1lbnUtc3ViIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogJG1lbnUtdmVydGljYWwtaGVhZGVyLW1hcmdpbi15O1xuICAgICAgLm1lbnUtc3ViIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiAkbWVudS1ob3Jpem9udGFsLXNwYWNlci14O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6bm90KC5tZW51LW5vLWFuaW1hdGlvbikgLm1lbnUtaW5uZXIgLm1lbnUtaXRlbS5vcGVuIC5tZW51LXN1YiB7XG4gICAgYW5pbWF0aW9uOiBtZW51RHJvcGRvd25TaG93ICRtZW51LWFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtaG9yaXpvbnRhbC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleDogMCAxIDEwMCU7XG4gIGlubGluZS1zaXplOiAwO1xuXG4gIC5tZW51Om5vdCgubWVudS1uby1hbmltYXRpb24pICYgLm1lbnUtaW5uZXIge1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG4gIH1cbn1cblxuLm1lbnUtaG9yaXpvbnRhbC1wcmV2LFxuLm1lbnUtaG9yaXpvbnRhbC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIGlubGluZS1zaXplOiAkbWVudS1jb250cm9sLXdpZHRoO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYmxvY2stc2l6ZTogJG1lbnUtY29udHJvbC1hcnJvdy1zaXplO1xuICAgIGJvcmRlci1ibG9jay1zdGFydDogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGlubGluZS1zaXplOiAkbWVudS1jb250cm9sLWFycm93LXNpemU7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbn1cblxuLm1lbnUtaG9yaXpvbnRhbC1wcmV2OjphZnRlciB7XG4gIGJvcmRlci1pbmxpbmUtZW5kOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuXG4gIDpkaXIocnRsKSAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4ubWVudS1ob3Jpem9udGFsLW5leHQ6OmFmdGVyIHtcbiAgYm9yZGVyLWlubGluZS1zdGFydDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKSByb3RhdGUoMzE1ZGVnKTtcblxuICA6ZGlyKHJ0bCkgJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC0zMTVkZWcpO1xuICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhtZW51RHJvcGRvd25TaG93KSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtLjVyZW0pO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbiIsIi8qIExheW91dHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmxheW91dC1jb250YWluZXIge1xuICBtaW4tYmxvY2stc2l6ZTogMTAwdmg7XG59XG5cbi5sYXlvdXQtd3JhcHBlcixcbi5sYXlvdXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbn1cblxuLmxheW91dC1tZW51LW9mZmNhbnZhcyAubGF5b3V0LXdyYXBwZXIsXG4ubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzIC5sYXlvdXQtd3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIERpc3BsYXkgbWVudSB0b2dnbGUgb24gbmF2YmFyIGZvciAubGF5b3V0LW1lbnUtb2ZmY2FudmFzLCAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzICovXG5cbi5sYXlvdXQtbWVudS1vZmZjYW52YXMgLmxheW91dC1uYXZiYXIgLmxheW91dC1tZW51LXRvZ2dsZSxcbi5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMgLmxheW91dC1uYXZiYXIgLmxheW91dC1tZW51LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhpZGUgbWVudSBjbG9zZSBpY29uIGZyb20gbGFyZ2Ugc2NyZWVuIGZvciAubGF5b3V0LW1lbnUtb2ZmY2FudmFzLCAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzICovXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1lbnUtY29sbGFwc2VkLWxheW91dC1icmVha3BvaW50KSB7XG4gIC5sYXlvdXQtbWVudS1vZmZjYW52YXMgLmxheW91dC1tZW51IC5sYXlvdXQtbWVudS10b2dnbGUsXG4gIC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMgLmxheW91dC1tZW51IC5sYXlvdXQtbWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxheW91dC1ob3Jpem9udGFsIC5sYXlvdXQtcGFnZSAubWVudS1ob3Jpem9udGFsIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9bWVudS1ob3Jpem9udGFsLW1lbnUtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmxheW91dC1wYWdlLFxuLmNvbnRlbnQtd3JhcHBlcixcbi5jb250ZW50LXdyYXBwZXIgPiAqLFxuLmxheW91dC1tZW51IHtcbiAgbWluLWJsb2NrLXNpemU6IDFweDtcbn1cblxuLmxheW91dC1uYXZiYXIsXG4uY29udGVudC1mb290ZXIge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmxheW91dC1wYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAwO1xuXG4gIC8vIFdpdGhvdXQgbWVudVxuICAubGF5b3V0LXdpdGhvdXQtbWVudSAmIHtcbiAgICBwYWRkaW5nLWlubGluZTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb250ZW50LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyogQ29udGVudCBiYWNrZHJvcCAqL1xuLmNvbnRlbnQtYmFja2Ryb3Age1xuICAvKiB6LWluZGV4OiAxIChsYXlvdXQgc3RhdGljKSAqL1xuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKDEsICRtb2RhbC1iYWNrZHJvcC1iZywgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpO1xuXG4gIC8vIHotaW5kZXg6IDEwIChsYXlvdXQgZml4ZWQpXG4gIC5sYXlvdXQtbWVudS1maXhlZCAmIHtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gIC8vIHotaW5kZXg6IDkgKGxheW91dC1ob3Jpem9udGFsKVxuICAubGF5b3V0LWhvcml6b250YWwgJjpub3QoLmZhZGUpIHtcbiAgICB6LWluZGV4OiA5O1xuXG4gICAgLyogSG9yaXpvbnRhbCBmaXggZm9yIHNlYXJjaCBiYWNrZ3JvdW5kIHdpdGggb3BhY2l0eSAqL1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAkbmF2YmFyLWhlaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5mYWRlIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG4vKiBMYXlvdXQgTmF2YmFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8vIExheW91dCBuYXZiYXIgc2VhcmNoIGlucHV0XG5AbWl4aW4gc2VhcmNoSW5wdXRDb250YWluZXIge1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoY2FsYygxMDAlIC0gbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIFwieHhsXCIpKSAqIC41KTtcbn1cblxuLy8gTGF5b3V0IG5hdmJhciBzZWFyY2ggY2xvc2UgaWNvblxuQG1peGluIHNlYXJjaElucHV0SWNvblRvZ2dsZXIge1xuICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKGNhbGMoMTAwJSAtIG1hcC1nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcInh4bFwiKSArIDVyZW0pICogLjUpO1xufVxuXG4vLyBMYXlvdXQgc3RpY2t5IHN0eWxlXG4uc3RpY2t5LWVsZW1lbnQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB6LWluZGV4OiA4O1xuICBtYXJnaW4taW5saW5lLWVuZDogLTFweDtcbiAgLndpbmRvdy1zY3JvbGxlZCAmIHtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxuICAubGF5b3V0LW5hdmJhci1maXhlZCAmIHtcbiAgICBpbnNldC1ibG9jay1zdGFydDogY2FsYygkbmF2YmFyLWhlaWdodCArICRzcGFjZXIgLSAuMzc1cmVtKTtcbiAgfVxuICAubGF5b3V0LW1lbnUtZml4ZWQgLmxheW91dC1ob3Jpem9udGFsICYge1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKCRuYXZiYXItaGVpZ2h0ICogMiAtIC4yNXJlbSk7XG4gIH1cbiAgLmxheW91dC1tZW51LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC1ob3Jpem9udGFsICYge1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAkbmF2YmFyLWhlaWdodDtcbiAgfVxufVxuXG4ubGF5b3V0LW5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGJsb2NrLXNpemU6ICRuYXZiYXItaGVpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICBwYWRkaW5nLWJsb2NrOiAuNXJlbTtcblxuICAubmF2YmFyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLm5hdmJhci1uYXYtcmlnaHQge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cblxuICAvLyBTdHlsZSBmb3IgZGV0YWNoZWQgbmF2YmFyXG4gICYubmF2YmFyLWRldGFjaGVkIHtcbiAgICAvKiBDb250YWluZXIgbGF5b3V0IG1heC13aWR0aCAqL1xuICAgICRjb250YWluZXIteHhsOiBtYXAtZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgeHhsKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSk7XG5cbiAgICAvKiBOYXZiYXIgc3RhdGljICovXG4gICAgaW5saW5lLXNpemU6IGNhbGMoMTAwJSAtIGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAyKSk7XG4gICAgbWFyZ2luLWJsb2NrOiAkc3BhY2VyIDA7XG4gICAgcGFkZGluZy1ibG9jazogMDtcbiAgICBwYWRkaW5nLWlubGluZTogI3skY2FyZC1zcGFjZXIteH07XG4gICAgJi5jb250YWluZXIteHhsIHtcbiAgICAgIG1heC1pbmxpbmUtc2l6ZTogY2FsYygjeyRjb250YWluZXIteHhsfSAtIGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAyKSk7XG4gICAgfVxuXG4gICAgLy8gTmF2YmFyIGZpeGVkXG4gICAgLmxheW91dC1uYXZiYXItZml4ZWQgJiB7XG4gICAgICBpbmxpbmUtc2l6ZTogY2FsYygxMDAlIC0gY2FsYygjeyRjb250YWluZXItcGFkZGluZy14fSAqIDIpIC0gdmFyKC0tI3skcHJlZml4fW1lbnUtd2lkdGgpKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4bCkge1xuICAgICAgICBpbmxpbmUtc2l6ZTogY2FsYygxMDAlIC0gY2FsYygjeyRjb250YWluZXItcGFkZGluZy14fSAqIDIpKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIGlubGluZS1zaXplOiBjYWxjKDEwMCUgLSBjYWxjKCN7JGNvbnRhaW5lci1wYWRkaW5nLXgtc219ICogMikpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5sYXlvdXQtbmF2YmFyLWZpeGVkIC5tb2RhbC1vcGVuICYsXG4gICAgLmxheW91dC1uYXZiYXItZml4ZWQuc3dhbDItc2hvd24gJiB7XG4gICAgICBpbmxpbmUtc2l6ZTogY2FsYygxMDAlIC0gY2FsYygjeyRjb250YWluZXItcGFkZGluZy14fSAqIDIpIC0gI3tjYWxjKCRtZW51LXdpZHRoICsgdmFyKC0tI3skcHJlZml4fXNjcm9sbGJhci13aWR0aCkpfSk7XG4gICAgfVxuICAgIC5sYXlvdXQtbmF2YmFyLWZpeGVkLmxheW91dC1tZW51LWNvbGxhcHNlZCAmIHtcbiAgICAgIGlubGluZS1zaXplOiBjYWxjKDEwMCUgLSBjYWxjKCN7JGNvbnRhaW5lci1wYWRkaW5nLXh9ICogMikgLSB2YXIoLS0jeyRwcmVmaXh9bWVudS1jb2xsYXBzZWQtd2lkdGgpKTtcbiAgICB9XG4gICAgLmxheW91dC1tZW51LWNvbGxhcHNlZCAmLFxuICAgIC5sYXlvdXQtd2l0aG91dC1tZW51ICYge1xuICAgICAgaW5saW5lLXNpemU6IGNhbGMoMTAwJSAtIGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAyKSk7XG4gICAgfVxuICAgICYuYmctbmF2YmFyLXRoZW1lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fXBhcGVyLWJnLXJnYiksIC44OCk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LWhvcml6b250YWwpICYge1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDE0NyU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDExMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2YmFyIGN1c3RvbSBkcm9wZG93blxuICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAuYmFkZ2Utbm90aWZpY2F0aW9ucyB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogN3B4O1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTNweDtcbiAgICB9XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1pbi1pbmxpbmUtc2l6ZTogJG5hdmJhci1kcm9wZG93bi13aWR0aDtcbiAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgbWluLWJsb2NrLXNpemU6IDIuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAuNXJlbTtcbiAgICAgIH1cbiAgICAgIC5sYXN0LWxvZ2luIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOb3RpZmljYXRpb25zXG4gICAgJi5kcm9wZG93bi1ub3RpZmljYXRpb25zIHtcbiAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLWxpc3Qge1xuICAgICAgICBtYXgtYmxvY2stc2l6ZTogJG5hdmJhci1kcm9wZG93bi1jb250ZW50LWhlaWdodDtcbiAgICAgICAgLmRyb3Bkb3duLW5vdGlmaWNhdGlvbnMtaXRlbSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6ICRuYXZiYXItbm90aWZpY2F0aW9ucy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZTogJG5hdmJhci1ub3RpZmljYXRpb25zLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICAgICAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLWFjdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRyb3Bkb3duLW5vdGlmaWNhdGlvbnMtYXJjaGl2ZSBpLFxuICAgICAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLWFyY2hpdmUgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE5vdGlmaWNhdGlvbiBkZWZhdWx0IG1hcmtlZCBhcyByZWFkL3VucmVhZFxuICAgICAgICAgICYubWFya2VkLWFzLXJlYWQge1xuICAgICAgICAgICAgLmRyb3Bkb3duLW5vdGlmaWNhdGlvbnMtcmVhZCxcbiAgICAgICAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLWFyY2hpdmUge1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERyb3Bkb3duIG5vdGlmaWNhdGlvbiB1bnJlYWQgYmFkZ2UgYmcgY29sb3JcbiAgICAgICAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLXJlYWQgc3BhbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOm5vdCgubWFya2VkLWFzLXJlYWQpIHtcbiAgICAgICAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLWFyY2hpdmUge1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gTm90aWZpY2F0aW9uIGhvdmVyIG1hcmtlZCBhcyByZWFkL3VucmVhZFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJi5tYXJrZWQtYXMtcmVhZCB7XG4gICAgICAgICAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLXJlYWQsXG4gICAgICAgICAgICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLWFyY2hpdmUge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bm90KC5tYXJrZWQtYXMtcmVhZCkge1xuICAgICAgICAgICAgICAuZHJvcGRvd24tbm90aWZpY2F0aW9ucy1hcmNoaXZlIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2hvcnRjdXRzXG4gICAgJi5kcm9wZG93bi1zaG9ydGN1dHMge1xuICAgICAgLmRyb3Bkb3duLXNob3J0Y3V0cy1saXN0IHtcbiAgICAgICAgbWF4LWJsb2NrLXNpemU6ICRuYXZiYXItZHJvcGRvd24tY29udGVudC1oZWlnaHQ7XG4gICAgICB9XG4gICAgICAuZHJvcGRvd24tc2hvcnRjdXRzLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWhvdmVyLWJnO1xuICAgICAgICB9XG4gICAgICAgIC5kcm9wZG93bi1zaG9ydGN1dHMtaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taWNvbi1iZztcbiAgICAgICAgICBibG9jay1zaXplOiAzLjEyNXJlbTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgICAgICAgIGlubGluZS1zaXplOiAzLjEyNXJlbTtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGEsXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZHJvcGRvd24tdXNlciB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIG1pbi1pbmxpbmUtc2l6ZTogMTRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltjbGFzcyo9XCJiZy1cIl06bm90KC5iZy1uYXZiYXItdGhlbWUpIHtcbiAgICAubmF2LWl0ZW0ge1xuICAgICAgLmlucHV0LWdyb3VwLXRleHQsXG4gICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH13aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtZW51LWNvbGxhcHNlZC1sYXlvdXQtYnJlYWtwb2ludCkge1xuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgICYuZHJvcGRvd24ge1xuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC5sYXN0LWxvZ2luIHtcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIC5uYXYtaXRlbS5kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGZsb2F0OiBpbmxpbmUtc3RhcnQ7XG5cbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBpbmxpbmUtc2l6ZTogOTIlO1xuICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogLjlyZW07XG4gICAgICAgICAgbWluLWlubGluZS1zaXplOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC10b2dnbGVyIHtcbiAgICAuYWEtRGV0YWNoZWRTZWFyY2hCdXR0b24ge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgfVxuICB9XG4gIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctYmxvY2s6IC40OTdyZW07XG4gIH1cbn1cblxuLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBOYXZiYXIgcmVxdWlyZSBoaWdoIHotaW5kZXggYXMgd2UgdXNlIHotaW5kZXggZm9yIG1lbnUgc2xpZGUtb3V0IGZvciBiZWxvdyBsYXJnZSBzY3JlZW4gKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgLmxheW91dC1uYXZiYXIge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbWVudS1maXhlZDtcbiAgfVxufVxuXG4vKiBMYXlvdXQgTWVudVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLmxheW91dC1tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgYTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC5tZW51IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgJi5tZW51LXZlcnRpY2FsIHtcbiAgICB+IC5sYXlvdXQtcGFnZSB7XG4gICAgICAmLndpbmRvdy1zY3JvbGxlZCB7XG4gICAgICAgIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDIwMCUpIGJsdXIoNnB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1wYXBlci1iZy1yZ2IpLCAuODgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIExheW91dCBDb250ZW50IG5hdmJhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ubGF5b3V0LWNvbnRlbnQtbmF2YmFyIHtcbiAgLmxheW91dC1wYWdlIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaW5saW5lLXNpemU6IDA7XG4gICAgbWF4LWlubGluZS1zaXplOiAxMDAlO1xuICAgIG1pbi1pbmxpbmUtc2l6ZTogMDtcbiAgfVxuXG4gIC5jb250ZW50LXdyYXBwZXIge1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICB9XG59XG5cbi8qIExheW91dCBOYXZiYXIgZnVsbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ubGF5b3V0LW5hdmJhci1mdWxsIHtcbiAgLmxheW91dC1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgICAmOm5vdCgubGF5b3V0LWhvcml6b250YWwpIC5tZW51LWlubmVyIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogLjc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LXdyYXBwZXIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgaW5saW5lLXNpemU6IDA7XG4gICAgbWF4LWlubGluZS1zaXplOiAxMDAlO1xuICAgIG1pbi1pbmxpbmUtc2l6ZTogMDtcbiAgfVxuXG4gICYubGF5b3V0LWhvcml6b250YWwgLmxheW91dC1uYXZiYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYmcpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcik7XG5cbiAgICAvLyBBbGdvbGlhIHNlYXJjaCBwbGFjZWhvbGRlciBzdHlsZVxuICAgIC5hYS1EZXRhY2hlZFNlYXJjaEJ1dHRvblBsYWNlaG9sZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5zZWFyY2gtdG9nZ2xlciB7XG4gICAgICAuYWEtRGV0YWNoZWRTZWFyY2hCdXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBZGp1c3QgY29udGVudCBiYWNrZHJvcCB6LWluZGV4IGFzIHBlciBsYXlvdXQgbmF2YmFyIGZ1bGxcbiAgLmNvbnRlbnQtYmFja2Ryb3Age1xuICAgIC8vIHN0YXRpYyBsYXlvdXRcbiAgICAmLnNob3cge1xuICAgICAgei1pbmRleDogOTtcblxuICAgICAgLy8gZml4ZWQvZml4ZWQtb2ZmY2FudmFzIGxheW91dFxuICAgICAgLmxheW91dC1tZW51LWZpeGVkICYsXG4gICAgICAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzICYge1xuICAgICAgICB6LWluZGV4OiAxMDc2O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBUb2dnbGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmxheW91dC1tZW51LXRvZ2dsZSB7XG4gIC8vIFVwZGF0ZWQgbWVudSB0b2dnbGUgaWNvbiBmb3IgbWVudSBleHBhbmRlZCBhbmQgY29sbGFwc2VkXG4gIC5tZW51LXRvZ2dsZS1pY29uIHtcbiAgICBibG9jay1zaXplOiAxLjI1cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaW5saW5lLXNpemU6IDEuMjVyZW07XG4gICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMiclM0UlM0NwYXRoIGQ9J00xMSAxMmExIDEgMCAxIDAgMiAwYTEgMSAwIDEgMC0yIDAnLyUzRSUzQ3BhdGggZD0nTTMgMTJhOSA5IDAgMSAwIDE4IDBhOSA5IDAgMSAwLTE4IDAnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogMTAwJSAxMDAlO1xuICAgIC5sYXlvdXQtbWVudS1jb2xsYXBzZWQgJiB7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMyAxMmE5IDkgMCAxIDAgMTggMGE5IDkgMCAxIDAtMTggMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG4gIH1cbn1cblxuLyogQ29sbGFwc2VkIGxheW91dCAoRGVmYXVsdCBzdGF0aWMgYW5kIHN0YXRpYyBvZmYtY2FudmFzIG1lbnUpXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1lbnUtY29sbGFwc2VkLWxheW91dC1icmVha3BvaW50KSB7XG4gIC8qIE1lbnUgc3R5bGUgKi9cblxuICAubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LW1lbnUtaG92ZXIsIC5sYXlvdXQtbWVudS1vZmZjYW52YXMsIC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMpIHtcbiAgICAubGF5b3V0LW1lbnUgLm1lbnUtdmVydGljYWwsXG4gICAgLmxheW91dC1tZW51Lm1lbnUtdmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbGF5b3V0LW1lbnUtY29sbGFwc2VkICgpO1xuICAgIH1cbiAgfVxuXG4gIC8qIE1lbnUgcG9zaXRpb24gKi9cblxuICAubGF5b3V0LW1lbnUtaG92ZXIubGF5b3V0LW1lbnUtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LW1lbnUge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC1jYWxjKHZhcigtLSN7JHByZWZpeH1tZW51LXdpZHRoKSArIHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCkpO1xuICAgICAgLmxheW91dC1tZW51LXRvZ2dsZSAuaWNvbi1iYXNlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICAgIDpkaXIocnRsKSAmIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBPZmYtY2FudmFzIGxheW91dCAoTGF5b3V0IENvbGxhcHNlZClcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgLmxheW91dC1tZW51LWNvbGxhcHNlZC5sYXlvdXQtbWVudS1vZmZjYW52YXMge1xuICAgIC5sYXlvdXQtbWVudSB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bWVudS13aWR0aCkgKiAtMSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBGaXhlZCBvZmYtY2FudmFzIGxheW91dCAoTGF5b3V0IEZpeGVkKVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtZW51LWNvbGxhcHNlZC1sYXlvdXQtYnJlYWtwb2ludCkge1xuICAvKiBNZW51IGFuZCBGaXhlZCBvZmYtY2FudmFzICovXG4gIC5sYXlvdXQtbWVudS1maXhlZCxcbiAgLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcyB7XG4gICAgLmxheW91dC1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGluc2V0LWJsb2NrOiAwO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgbWFyZ2luLWlubGluZTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8qIE1lbnUgY29sbGFwc2VkICovXG4gIC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMubGF5b3V0LW1lbnUtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LW1lbnUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gIH1cblxuICAvKiBNZW51IGV4cGFuZGVkICovXG4gIC5sYXlvdXQtbWVudS1maXhlZDpub3QoLmxheW91dC1tZW51LWNvbGxhcHNlZCksXG4gIC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXM6bm90KC5sYXlvdXQtbWVudS1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LXBhZ2Uge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLSN7JHByZWZpeH1tZW51LXdpZHRoKTtcbiAgICB9XG4gIH1cblxuICAvKiBNZW51IGNvbGxhcHNlZCAqL1xuICAubGF5b3V0LW1lbnUtZml4ZWQubGF5b3V0LW1lbnUtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LXBhZ2Uge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cbi8qIFJlc2V0IHBhZGRpbmdzIChmb3Igbm9uIGZpeGVkIGVudGl0aWVzKSAqL1xuaHRtbDpub3QoLmxheW91dC1uYXZiYXItZml4ZWQsIC5sYXlvdXQtbWVudS1maXhlZCwgLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1wYWdlLFxuaHRtbDpub3QoLmxheW91dC1uYXZiYXItZml4ZWQpIC5sYXlvdXQtY29udGVudC1uYXZiYXIgLmxheW91dC1wYWdlIHtcbiAgcGFkZGluZy1ibG9jay1zdGFydDogMCAhaW1wb3J0YW50O1xufVxuaHRtbDpub3QoLmxheW91dC1mb290ZXItZml4ZWQpIC5jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nLWJsb2NrLWVuZDogMCAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG1lbnUtY29sbGFwc2VkLWxheW91dC1icmVha3BvaW50KSB7XG4gIC5sYXlvdXQtbWVudS1maXhlZCAubGF5b3V0LXdyYXBwZXIubGF5b3V0LW5hdmJhci1mdWxsIC5sYXlvdXQtbWVudSxcbiAgLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcyAubGF5b3V0LXdyYXBwZXIubGF5b3V0LW5hdmJhci1mdWxsIC5sYXlvdXQtbWVudSB7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KC5sYXlvdXQtbmF2YmFyLWZpeGVkKSAubGF5b3V0LW5hdmJhci1mdWxsIC5sYXlvdXQtcGFnZSB7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIEhpZGRlbiBuYXZiYXIgbGF5b3V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4ubGF5b3V0LW5hdmJhci1oaWRkZW4ge1xuICAubGF5b3V0LW5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBGaXhlZCBuYXZiYXIgbGF5b3V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5sYXlvdXQtbmF2YmFyLWZpeGVkIHtcbiAgLmxheW91dC1uYXZiYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICBpbnNldC1pbmxpbmU6IDA7XG4gIH1cbiAgLmNvbnRhaW5lci1wLXkge1xuICAgICY6bm90KFtjbGFzc149XCJwdC1cIl0pOm5vdChbY2xhc3MqPVwiIHB0LVwiXSkge1xuICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogJGNvbnRhaW5lci1wYWRkaW5nLXkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LWhvcml6b250YWwpIC5sYXlvdXQtcGFnZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAxO1xuICBiYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDIwMCUpIGJsdXIoMTBweCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgNzAlKSA0NCUsIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgNDMlKSA3MyUsIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgMCUpKTtcbiAgYmxvY2stc2l6ZTogNC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICBtYXNrOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tI3skcHJlZml4fWJvZHktYmcpLCB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgMTglLCB0cmFuc3BhcmVudCAxMDAlKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgLyogRml4IG5hdmJhciB3aXRoaW4gTmF2YmFyIEZ1bGwgbGF5b3V0IGluIGZpeGVkIG1vZGUgKi9cbiAgLmxheW91dC1tZW51LWZpeGVkIC5sYXlvdXQtbmF2YmFyLWZ1bGwgLmxheW91dC1uYXZiYXIsXG4gIC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW5hdmJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgIGluc2V0LWlubGluZTogMDtcbiAgfVxuXG4gIC8qIEZpeCBuYXZiYXIgd2l0aGluIENvbnRlbnQgTmF2YmFyIGxheW91dCBpbiBmaXhlZCBtb2RlIC0gTWVudSBleHBhbmRlZCAqL1xuICAubGF5b3V0LW5hdmJhci1maXhlZDpub3QoLmxheW91dC1tZW51LWNvbGxhcHNlZCksXG4gIC5sYXlvdXQtbWVudS1maXhlZC5sYXlvdXQtbmF2YmFyLWZpeGVkOm5vdCgubGF5b3V0LW1lbnUtY29sbGFwc2VkKSxcbiAgLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcy5sYXlvdXQtbmF2YmFyLWZpeGVkOm5vdCgubGF5b3V0LW1lbnUtY29sbGFwc2VkKSB7XG4gICAgLmxheW91dC1jb250ZW50LW5hdmJhcjpub3QoLmxheW91dC13aXRob3V0LW1lbnUpIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tI3skcHJlZml4fW1lbnUtd2lkdGgpO1xuICAgIH1cblxuICAgICYuc3dhbDItc2hvd24sXG4gICAgJiAubW9kYWwtb3BlbiB7XG4gICAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmxheW91dC1uYXZiYXIge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoJG1lbnUtd2lkdGggLSB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6ZGlyKHJ0bCkuc3dhbDItc2hvd24sXG4gICAgJjpkaXIocnRsKSAubW9kYWwtb3BlbiB7XG4gICAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmxheW91dC1uYXZiYXIge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoJG1lbnUtd2lkdGggKyB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogSG9yaXpvbnRhbCBMYXlvdXQgd2hlbiBtZW51IGZpeGVkICovXG4gIC5sYXlvdXQtbWVudS1maXhlZC5zd2FsMi1zaG93bixcbiAgLmxheW91dC1tZW51LWZpeGVkIC5tb2RhbC1vcGVuIHtcbiAgICAubGF5b3V0LWhvcml6b250YWwgLmxheW91dC1uYXZiYXIsXG4gICAgLmxheW91dC1ob3Jpem9udGFsIC5sYXlvdXQtbWVudS1ob3Jpem9udGFsIHtcbiAgICAgIGlubGluZS1zaXplOiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgfVxuICB9XG4gIDpkaXIocnRsKS5sYXlvdXQtbWVudS1maXhlZC5zd2FsMi1zaG93bixcbiAgOmRpcihydGwpLmxheW91dC1tZW51LWZpeGVkIC5tb2RhbC1vcGVuIHtcbiAgICAubGF5b3V0LWhvcml6b250YWwgLmxheW91dC1uYXZiYXIge1xuICAgICAgaW5saW5lLXNpemU6IGNhbGMoMTAwJSArIHZhcigtLSN7JHByZWZpeH1zY3JvbGxiYXItd2lkdGgpKTtcbiAgICB9XG4gIH1cblxuICAubGF5b3V0LW1lbnUtZml4ZWQ6bm90KC5sYXlvdXQtbmF2YmFyLWhpZGRlbikgLmxheW91dC1ob3Jpem9udGFsIC5sYXlvdXQtcGFnZSAubWVudS1ob3Jpem9udGFsLFxuICAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzOm5vdCgubGF5b3V0LW5hdmJhci1oaWRkZW4pIC5sYXlvdXQtaG9yaXpvbnRhbCAubGF5b3V0LXBhZ2UgLm1lbnUtaG9yaXpvbnRhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAkbmF2YmFyLWhlaWdodDtcbiAgfVxuXG4gIC5sYXlvdXQtbWVudS1maXhlZDpub3QoLmxheW91dC1uYXZiYXItaGlkZGVuKSAubGF5b3V0LWhvcml6b250YWwgLmxheW91dC1wYWdlIC5tZW51LWhvcml6b250YWwgKyBbY2xhc3MqPVwiY29udGFpbmVyLVwiXSxcbiAgLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhczpub3QoLmxheW91dC1uYXZiYXItaGlkZGVuKSAubGF5b3V0LWhvcml6b250YWwgLmxheW91dC1wYWdlIC5tZW51LWhvcml6b250YWwgKyBbY2xhc3MqPVwiY29udGFpbmVyLVwiXSB7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogY2FsYygkY29udGFpbmVyLXBhZGRpbmcteSArIDMuOHJlbSkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIExheW91dCBmaXhlZCBub3Qgb2ZmLWNhbnZhcyAtIE1lbnUgY29sbGFwc2VkICovXG5cbiAgLmxheW91dC1uYXZiYXItZml4ZWQubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LW1lbnUtb2ZmY2FudmFzLCAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzKSxcbiAgLmxheW91dC1tZW51LWZpeGVkLmxheW91dC1uYXZiYXItZml4ZWQubGF5b3V0LW1lbnUtY29sbGFwc2VkIHtcbiAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tI3skcHJlZml4fW1lbnUtY29sbGFwc2VkLXdpZHRoKTtcbiAgICB9XG5cbiAgICAmLnN3YWwyLXNob3duLFxuICAgICYgLm1vZGFsLW9wZW4ge1xuICAgICAgLmxheW91dC1jb250ZW50LW5hdmJhcjpub3QoLmxheW91dC13aXRob3V0LW1lbnUpIC5sYXlvdXQtbmF2YmFyOmhhcyguY29udGFpbmVyLXh4bCksXG4gICAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmxheW91dC1uYXZiYXI6aGFzKC5jb250YWluZXItZmx1aWQpIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCkgLSB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmxheW91dC1uYXZiYXI6aGFzKC5jb250YWluZXItZmx1aWQpIHtcbiAgICAgICAgaW5saW5lLXNpemU6IGNhbGMoMTAwJSAtIGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAyKSAtIHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCkgLSB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6ZGlyKHJ0bCkuc3dhbDItc2hvd24sXG4gICAgJjpkaXIocnRsKSAubW9kYWwtb3BlbiB7XG4gICAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmxheW91dC1uYXZiYXI6aGFzKC5jb250YWluZXIteHhsKSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bWVudS1jb2xsYXBzZWQtd2lkdGgpICsgdmFyKC0tI3skcHJlZml4fXNjcm9sbGJhci13aWR0aCkpO1xuICAgICAgfVxuICAgICAgLmxheW91dC1jb250ZW50LW5hdmJhcjpub3QoLmxheW91dC13aXRob3V0LW1lbnUpIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgICAgaW5saW5lLXNpemU6IGNhbGMoMTAwJSAtIGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAyKSAtIHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCkgLSB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmxheW91dC1uYXZiYXI6aGFzKC5jb250YWluZXItZmx1aWQpIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1tZW51LWNvbGxhcHNlZC13aWR0aCkgKyB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIEZpeGVkIGZvb3RlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAuY29udGVudC1mb290ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk7XG4gIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lOiAwO1xufVxuXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtaG9yaXpvbnRhbCkgLmNvbnRlbnQtZm9vdGVyIC5mb290ZXItY29udGFpbmVyLFxuLmxheW91dC1mb290ZXItZml4ZWQgLmxheW91dC13cmFwcGVyLmxheW91dC1ob3Jpem9udGFsIC5jb250ZW50LWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb290ZXItYmcpO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWJveC1zaGFkb3cpO1xufVxuXG4ubGF5b3V0LWZvb3Rlci1maXhlZCAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtaG9yaXpvbnRhbCkgLmNvbnRlbnQtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBwYWRkaW5nLWlubGluZTogMS41cmVtO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1lbnUtY29sbGFwc2VkLWxheW91dC1icmVha3BvaW50KSB7XG4gIC8qIEZpeGVkIGZvb3RlciAtIE1lbnUgZXhwYW5kZWQgKi9cbiAgLmxheW91dC1mb290ZXItZml4ZWQ6bm90KC5sYXlvdXQtbWVudS1jb2xsYXBzZWQpIHtcbiAgICAubGF5b3V0LXdyYXBwZXI6bm90KC5sYXlvdXQtd2l0aG91dC1tZW51KSAuY29udGVudC1mb290ZXIge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS0jeyRwcmVmaXh9bWVudS13aWR0aCk7XG4gICAgfVxuXG4gICAgJi5zd2FsMi1zaG93bixcbiAgICAmIC5tb2RhbC1vcGVuIHtcbiAgICAgIC5sYXlvdXQtd3JhcHBlciAuY29udGVudC1mb290ZXI6aGFzKC5jb250YWluZXItZmx1aWQpIHtcbiAgICAgICAgaW5saW5lLXNpemU6IGNhbGMoMTAwJSAtICN7JG1lbnUtd2lkdGh9IC0gdmFyKC0tI3skcHJlZml4fXNjcm9sbGJhci13aWR0aCkpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmRpcihydGwpLnN3YWwyLXNob3duLFxuICAgICY6ZGlyKHJ0bCkgLm1vZGFsLW9wZW4ge1xuICAgICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmNvbnRlbnQtZm9vdGVyOmhhcyguY29udGFpbmVyLXh4bCkge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoI3skbWVudS13aWR0aH0gKyB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgICAubGF5b3V0LXdyYXBwZXIgLmNvbnRlbnQtZm9vdGVyOmhhcyguY29udGFpbmVyLWZsdWlkKSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bWVudS13aWR0aCkgKyB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogRml4ZWQgZm9vdGVyIC0gTWVudSBjb2xsYXBzZWQgKi9cbiAgLmxheW91dC1mb290ZXItZml4ZWQubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LW1lbnUtb2ZmY2FudmFzLCAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzKSB7XG4gICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmNvbnRlbnQtZm9vdGVyIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tI3skcHJlZml4fW1lbnUtY29sbGFwc2VkLXdpZHRoKTtcbiAgICB9XG5cbiAgICAmLnN3YWwyLXNob3duLFxuICAgICYgLm1vZGFsLW9wZW4ge1xuICAgICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmNvbnRlbnQtZm9vdGVyOmhhcyguY29udGFpbmVyLXh4bCkge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoJG1lbnUtY29sbGFwc2VkLXdpZHRoIC0gdmFyKC0tI3skcHJlZml4fXNjcm9sbGJhci13aWR0aCkpO1xuICAgICAgfVxuICAgICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmNvbnRlbnQtZm9vdGVyOmhhcyguY29udGFpbmVyLWZsdWlkKSB7XG4gICAgICAgIGlubGluZS1zaXplOiBjYWxjKDEwMCUgLSAkbWVudS1jb2xsYXBzZWQtd2lkdGggLSB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJG1lbnUtY29sbGFwc2VkLXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmRpcihydGwpLnN3YWwyLXNob3duLFxuICAgICY6ZGlyKHJ0bCkgLm1vZGFsLW9wZW4ge1xuICAgICAgLmxheW91dC13cmFwcGVyOm5vdCgubGF5b3V0LXdpdGhvdXQtbWVudSkgLmNvbnRlbnQtZm9vdGVyIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKCRtZW51LWNvbGxhcHNlZC13aWR0aCArIHZhcigtLSN7JHByZWZpeH1zY3JvbGxiYXItd2lkdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogU21hbGwgc2NyZWVucyBsYXlvdXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtZW51LWNvbGxhcHNlZC1sYXlvdXQtYnJlYWtwb2ludCkge1xuICAubGF5b3V0LW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGJsb2NrLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMCAhaW1wb3J0YW50O1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1pbmxpbmU6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB3aWxsLWNoYW5nZTpcbiAgICAgIHRyYW5zZm9ybSxcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtO1xuXG4gICAgOmRpcihydGwpICZ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cblxuXG4gICAgLmxheW91dC1tZW51LWV4cGFuZGVkICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5sYXlvdXQtbWVudS1leHBhbmRlZCBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmxheW91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG4gICAgYmxvY2stc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICBpbnNldC1pbmxpbmU6IDA7XG4gICAgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7XG5cbiAgICAubGF5b3V0LW1lbnUtZXhwYW5kZWQgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAubGF5b3V0LW1lbnUtMTAwdmggLmxheW91dC1tZW51LFxuICAubGF5b3V0LW1lbnUtMTAwdmggLmxheW91dC1vdmVybGF5IHtcbiAgICBibG9jay1zaXplOiAxMDBkdmggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kcmFnLXRhcmdldCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMzY7XG4gICAgYmxvY2stc2l6ZTogMTAwJTtcbiAgICBpbmxpbmUtc2l6ZTogNDBweDtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cbn1cblxuLyogWi1JbmRleGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIE5hdmJhciAoZml4ZWQpICovXG5ib2R5Om5vdCgubW9kYWwtb3Blbikge1xuICAubGF5b3V0LW5hdmJhci1mdWxsIC5sYXlvdXQtbmF2YmFyIHtcbiAgICB6LWluZGV4OiAkemluZGV4LW1lbnUtZml4ZWQ7XG4gIH1cblxuICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbmF2YmFyIHtcbiAgICB6LWluZGV4OiAkemluZGV4LW1lbnUtZml4ZWQgLSA1O1xuICB9XG59XG5cbi8vIEZvb3RlciAoZml4ZWQpXG5cbi8qIE1lbnUgaG9yaXpvbnRhbCAqL1xuLmxheW91dC1tZW51LWhvcml6b250YWwge1xuICB6LWluZGV4OiA5O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG1lbnUtY29sbGFwc2VkLWxheW91dC1icmVha3BvaW50KSB7XG4gIC5sYXlvdXQtbWVudSB7XG4gICAgei1pbmRleDogJHppbmRleC1sYXlvdXQtbW9iaWxlO1xuICB9XG5cbiAgLmxheW91dC1vdmVybGF5IHtcbiAgICB6LWluZGV4OiAkemluZGV4LWxheW91dC1tb2JpbGUgLSAxO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1lbnUtY29sbGFwc2VkLWxheW91dC1icmVha3BvaW50KSB7XG4gIC8vIERlZmF1bHQgZXhwYW5kZWRcblxuICAvKiBOYXZiYXIgZnVsbCBsYXlvdXQgKi9cbiAgLmxheW91dC1uYXZiYXItZnVsbCB7XG4gICAgLmxheW91dC1uYXZiYXIge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuXG4gICAgLmxheW91dC1tZW51IHtcbiAgICAgIHotaW5kZXg6IDk7XG4gICAgfVxuICB9XG5cbiAgLyogQ29udGVudCBOYXZiYXIgbGF5b3V0ICovXG4gIC5sYXlvdXQtY29udGVudC1uYXZiYXIge1xuICAgIC5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIHotaW5kZXg6IDk7XG4gICAgfVxuXG4gICAgLmxheW91dC1tZW51IHtcbiAgICAgIHotaW5kZXg6IDExO1xuICAgIH1cbiAgfVxuXG4gIC8qIENvbGxhcHNlZCAqL1xuXG4gIC5sYXlvdXQtbWVudS1jb2xsYXBzZWQ6bm90KC5sYXlvdXQtbWVudS1vZmZjYW52YXMsIC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMpIHtcbiAgICAvLyBOYXZiYXIgZnVsbCBsYXlvdXRcbiAgICAmLmxheW91dC1tZW51LWhvdmVyIC5sYXlvdXQtbmF2YmFyLWZ1bGwgLmxheW91dC1tZW51IHtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtbWVudS1maXhlZCAtIDUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBDb250ZW50IE5hdmJhciBsYXlvdXRcbiAgICAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbWVudSB7XG4gICAgICB6LWluZGV4OiAkemluZGV4LW1lbnUtZml4ZWQgKyA1ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRml4ZWRcblxuICAvKiBOYXZiYXIgZnVsbCBsYXlvdXQgKi9cbiAgLmxheW91dC1tZW51LWZpeGVkIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LW5hdmJhci1mdWxsIC5sYXlvdXQtbWVudSxcbiAgLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcyBib2R5Om5vdCgubW9kYWwtb3BlbikgLmxheW91dC1uYXZiYXItZnVsbCAubGF5b3V0LW1lbnUge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbWVudS1maXhlZCAtIDU7XG4gIH1cblxuICAvKiBDb250ZW50IE5hdmJhciBsYXlvdXQgKi9cbiAgLmxheW91dC1uYXZiYXItZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtY29udGVudC1uYXZiYXIgLmxheW91dC1tZW51LFxuICAubGF5b3V0LW1lbnUtZml4ZWQgYm9keTpub3QoLm1vZGFsLW9wZW4pIC5sYXlvdXQtY29udGVudC1uYXZiYXIgLmxheW91dC1tZW51LFxuICAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzIGJvZHk6bm90KC5tb2RhbC1vcGVuKSAubGF5b3V0LWNvbnRlbnQtbmF2YmFyIC5sYXlvdXQtbWVudSB7XG4gICAgei1pbmRleDogJHppbmRleC1tZW51LWZpeGVkO1xuICB9XG59XG5cbi8qIFRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIERpc2FibGUgbmF2YmFyIGxpbmsgaG92ZXIgdHJhbnNpdGlvbiAqL1xuLmxheW91dC1tZW51LWxpbmstbm8tdHJhbnNpdGlvbiB7XG4gIC5sYXlvdXQtbWVudSAubWVudS1saW5rLFxuICAubGF5b3V0LW1lbnUtaG9yaXpvbnRhbCAubWVudS1saW5rIHtcbiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogRGlzYWJsZSBuYXZiYXIgbGluayBob3ZlciB0cmFuc2l0aW9uICovXG4ubGF5b3V0LW5vLXRyYW5zaXRpb24gLmxheW91dC1tZW51LFxuLmxheW91dC1uby10cmFuc2l0aW9uIC5sYXlvdXQtbWVudS1ob3Jpem9udGFsIHtcbiAgJixcbiAgJiAubWVudSxcbiAgJiAubWVudS1pdGVtIHtcbiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtZW51LWNvbGxhcHNlZC1sYXlvdXQtYnJlYWtwb2ludCkge1xuICAubGF5b3V0LXRyYW5zaXRpb25pbmcge1xuICAgIC5sYXlvdXQtb3ZlcmxheSB7XG4gICAgICBhbmltYXRpb246IG1lbnVBbmltYXRpb24gJG1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIH1cblxuICAgIC5sYXlvdXQtbWVudSB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OlxuICAgICAgICB0cmFuc2Zvcm0sXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtZW51LWNvbGxhcHNlZC1sYXlvdXQtYnJlYWtwb2ludCkge1xuICAubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LXRyYW5zaXRpb25pbmcsIC5sYXlvdXQtbWVudS1vZmZjYW52YXMsIC5sYXlvdXQtbWVudS1maXhlZCwgLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcykgLmxheW91dC1tZW51IHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWFyZ2luLWlubGluZS1zdGFydCwgbWFyZ2luLWlubGluZS1lbmQsIGlubGluZS1zaXplO1xuICB9XG5cbiAgLmxheW91dC10cmFuc2l0aW9uaW5nIHtcbiAgICAmLmxheW91dC1tZW51LW9mZmNhbnZhcyAubGF5b3V0LW1lbnUge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJG1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTpcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydCxcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQsXG4gICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtbWVudS1maXhlZCxcbiAgICAmLmxheW91dC1tZW51LWZpeGVkLW9mZmNhbnZhcyB7XG4gICAgICAubGF5b3V0LXBhZ2Uge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHBhZGRpbmctaW5saW5lLXN0YXJ0LCBwYWRkaW5nLWlubGluZS1lbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtbWVudS1maXhlZCB7XG4gICAgICAubGF5b3V0LW1lbnUge1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmxpbmUtc2l6ZSAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMge1xuICAgICAgLmxheW91dC1tZW51IHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJG1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OlxuICAgICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxheW91dC1uYXZiYXItZml4ZWQgLmxheW91dC1jb250ZW50LW5hdmJhciAubGF5b3V0LW5hdmJhcixcbiAgICAmLmxheW91dC1mb290ZXItZml4ZWQgLmNvbnRlbnQtZm9vdGVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRtZW51LWFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGluc2V0LWlubGluZS1zdGFydCwgaW5zZXQtaW5saW5lLWVuZDtcbiAgICB9XG5cbiAgICAmOm5vdCgubGF5b3V0LW1lbnUtb2ZmY2FudmFzLCAubGF5b3V0LW1lbnUtZml4ZWQsIC5sYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMpIC5sYXlvdXQtbWVudSB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbWVudS1hbmltYXRpb24tZHVyYXRpb247XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXJnaW4taW5saW5lLXN0YXJ0LCBtYXJnaW4taW5saW5lLWVuZCwgaW5saW5lLXNpemU7XG4gICAgfVxuICB9XG59XG5cbi8qIERpc2FibGUgdHJhbnNpdGlvbnMvYW5pbWF0aW9ucyBpbiBJRSAxMC0xMSAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLm1lbnUsXG4gIC5sYXlvdXQtbWVudSxcbiAgLmxheW91dC1wYWdlLFxuICAubGF5b3V0LW5hdmJhcixcbiAgLmNvbnRlbnQtZm9vdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgfVxuICAubGF5b3V0LW92ZXJsYXkge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhtZW51QW5pbWF0aW9uKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5O1xuICB9XG59XG5cbi8qIERhcmsgdGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5sYXlvdXQtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjeyRtb2RhbC1iYWNrZHJvcC1iZy1kYXJrfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEFsZ29saWEgU2VhcmNoIFN0eWxlc1xuXG4vLyBWYXJpYWJsZXNcbiRzZWFyY2gtd2lkdGg6IDYwMHB4O1xuJHNlYXJjaC1tYXgtaGVpZ2h0OiAzMi45Mzc1cmVtO1xuJHNlYXJjaC13aWR0aC1tZDogNDUwcHg7XG4kc2VhcmNoLXdpZHRoLXNtOiA5MCU7XG5cbi8vIE1peGluc1xuQG1peGluIHNlYXJjaC1yZXNwb25zaXZlLXdpZHRoKCR3aWR0aCkge1xuICBpbmxpbmUtc2l6ZTogJHdpZHRoO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoNTAlIC0gY2FsYygkd2lkdGggLyAyKSk7XG59XG5cbi8vIERldGFjaGVkIFNlYXJjaCBCdXR0b25cbi5hYS1EZXRhY2hlZFNlYXJjaEJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGdhcDogMXJlbTtcbiAgLmFhLURldGFjaGVkU2VhcmNoQnV0dG9uUGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4uYWEtSW5wdXRXcmFwcGVyIHtcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpO1xuICB9XG59XG5cbi5hYS1EZXRhY2hlZFNlYXJjaEJ1dHRvbkljb24sXG4uYWEtU3VibWl0QnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiAtM3B4O1xuICAgIG1hc2staW1hZ2U6IHZhcigtLXN2Zyk7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDEwMCUgMTAwJTtcbiAgICAtLXN2ZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTEwIDE4YTcuOTUgNy45NSAwIDAgMCA0Ljg5Ny0xLjY4OGw0LjM5NiA0LjM5NmwxLjQxNC0xLjQxNGwtNC4zOTYtNC4zOTZBNy45NSA3Ljk1IDAgMCAwIDE4IDEwYzAtNC40MTEtMy41ODktOC04LThzLTggMy41ODktOCA4czMuNTg5IDggOCA4bTAtMTRjMy4zMDkgMCA2IDIuNjkxIDYgNnMtMi42OTEgNi02IDZzLTYtMi42OTEtNi02czIuNjkxLTYgNi02Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG4gIC5hYS1TdWJtaXRJY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5hYS1EZXRhY2hlZFNlYXJjaEJ1dHRvbkljb24ge1xuICAmOjpiZWZvcmUge1xuICAgIGJsb2NrLXNpemU6IDI0cHg7XG4gICAgaW5saW5lLXNpemU6IDI0cHg7XG4gIH1cbn1cblxuLmFhLVN1Ym1pdEJ1dHRvbiB7XG4gICY6OmJlZm9yZSB7XG4gICAgYmxvY2stc2l6ZTogMjRweDtcbiAgICBpbmxpbmUtc2l6ZTogMjRweDtcbiAgfVxufVxuXG4uYWEtRGV0YWNoZWRTZWFyY2hCdXR0b25RdWVyeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sYXlvdXQtd3JhcHBlcjpub3QoLmxheW91dC1ob3Jpem9udGFsKSAuYWEtRGV0YWNoZWRTZWFyY2hCdXR0b25QbGFjZWhvbGRlcltoaWRkZW5dIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyogU2VhcmNoIEhlYWRpbmdzICovXG4uc2VhcmNoLWhlYWRpbmdzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKTtcbiAgZm9udC1zaXplOiAuNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAuOHB4O1xuICBsaW5lLWhlaWdodDogLjg3NXJlbTtcbiAgbWFyZ2luLWJsb2NrOiAxcmVtIC41cmVtO1xuICBtYXJnaW4taW5saW5lOiAwO1xuICBwYWRkaW5nLWJsb2NrOiAwO1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLnN1Z2dlc3Rpb24tc2VjdGlvbiAmIHtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBtYXJnaW4tYmxvY2s6IC41cmVtO1xuICB9XG59XG5cbi8qIFN1Z2dlc3Rpb24gSXRlbXMgKi9cbi5zdWdnZXN0aW9uLWl0ZW1zIHtcbiAgLnN1Z2dlc3Rpb24taXRlbSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbiAgICBnYXA6IC41cmVtO1xuICAgIHBhZGRpbmctYmxvY2s6IC41NDNyZW07XG4gICAgcGFkZGluZy1pbmxpbmU6IDFyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0sXG4gICAgJi5zdWdnZXN0aW9uLWl0ZW0tZm9jdXNlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LWJnLXN1YnRsZSk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBEZXRhY2hlZCBPdmVybGF5ICovXG4uYWEtRGV0YWNoZWRPdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5OTk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4zNSk7XG4gIGJsb2NrLXNpemU6IDEwMHZoO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuXG4gIC5hYS1EZXRhY2hlZENvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZyk7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDRyZW07XG4gICAgbWF4LWJsb2NrLXNpemU6ICRzZWFyY2gtbWF4LWhlaWdodDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgICBAaW5jbHVkZSBzZWFyY2gtcmVzcG9uc2l2ZS13aWR0aCgkc2VhcmNoLXdpZHRoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgQGluY2x1ZGUgc2VhcmNoLXJlc3BvbnNpdmUtd2lkdGgoJHNlYXJjaC13aWR0aC1tZCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBpbmxpbmUtc2l6ZTogJHNlYXJjaC13aWR0aC1zbTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtY29udHJvbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgaW5saW5lLXNpemU6IDEwMCU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOjotbXMtY2xlYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYWEtTGlzdCB7XG4gICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIH1cblxuICAuYWEtSW5wdXRXcmFwcGVyUHJlZml4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuYWEtU3VibWl0QnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogLjdyZW07XG4gIH1cblxuICAjYXV0b2NvbXBsZXRlLTAtaW5wdXQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyLjVyZW07XG4gIH1cblxuICAuYWEtRm9ybSxcbiAgLmFhLUlucHV0V3JhcHBlciB7XG4gICAgaW5saW5lLXNpemU6IDEwMCU7XG4gIH1cbiAgLmFhLUZvcm0ge1xuICAgIHBhZGRpbmctYmxvY2s6IDEuMnJlbTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogLjdyZW07XG4gIH1cblxuICAuYWEtRGV0YWNoZWRDYW5jZWxCdXR0b24uYnRuLXNlYXJjaC1jbG9zZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGdhcDogMXJlbTtcbiAgICBpbmxpbmUtc2l6ZTogOHJlbTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAxLjVyZW07XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAxLjVyZW07XG4gIH1cblxuICAuYWEtU291cmNlSGVhZGVyIHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiAuNXJlbTtcbiAgfVxuXG4gIC5hYS1Tb3VyY2U6bGFzdC1jaGlsZCB7XG4gICAgLmFhLUxpc3Qge1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAuNXJlbTtcbiAgICB9XG4gIH1cbiAgLmFhLUl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSk7XG4gICAgbWFyZ2luLWlubGluZTogLjVyZW07XG4gICAgPiBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgICB9XG4gICAgICBoNiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLml0ZW0td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogLjVyZW07XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgOmRpcihydGwpICYge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1ncmF5LTUwKTtcbiAgICAgIHN2ZyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpO1xuICAgICAgZ2FwOiAuNXJlbTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IC41NDNyZW07XG4gICAgICBwYWRkaW5nLWlubGluZTogMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnNlYXJjaC1uby1yZXN1bHRzLXdyYXBwZXIge1xuICBibG9jay1zaXplOiAyOC43NXJlbTtcbn1cbiIsIi8qIEFwcCBCcmFuZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLmFwcC1icmFuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG5cbiAgLmFwcC1icmFuZC10ZXh0IHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAuNzVyZW07XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRtZW51LWFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcbiAgfVxuXG5cbiAgLmxheW91dC1tZW51LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuYXBwLWJyYW5kLWltZ3tcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYXBwLWJyYW5kLWltZy1jb2xsYXBzZWR7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLy8gRm9yIGNvdmVyIGF1dGggcGFnZXNcbi5hdXRoLWNvdmVyLWJyYW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBpbnNldC1ibG9jay1zdGFydDogMi41cmVtO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6ICRzcGFjZXIgKiAxLjU7XG59XG4uYXBwLWJyYW5kLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBBcHAgYnJhbmQgd2l0aCB2ZXJ0aWNhbCBtZW51XG4ubWVudS12ZXJ0aWNhbCAuYXBwLWJyYW5kIHtcbiAgcGFkZGluZy1pbmxpbmU6ICRtZW51LXZlcnRpY2FsLWxpbmstcGFkZGluZy14ICsgLjYyNXJlbSAkbWVudS12ZXJ0aWNhbC1saW5rLXBhZGRpbmcteCArIC4yNXJlbTtcbn1cblxuLyogQXBwIGJyYW5kIHdpdGggdmVydGljYWwgbWVudSAqL1xuLm1lbnUtaG9yaXpvbnRhbCAuYXBwLWJyYW5kLFxuLm1lbnUtaG9yaXpvbnRhbCAuYXBwLWJyYW5kICsgLm1lbnUtZGl2aWRlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbWVudS1jb2xsYXBzZWQtbGF5b3V0LWJyZWFrcG9pbnQpIHtcbiAgLy8gLmxheW91dC1tZW51LWNvbGxhcHNlZDpub3QoLmxheW91dC1tZW51LWhvdmVyLCAubGF5b3V0LW1lbnUtb2ZmY2FudmFzLCAubGF5b3V0LW1lbnUtZml4ZWQtb2ZmY2FudmFzKSAubGF5b3V0LW1lbnUge1xuICAubGF5b3V0LW1lbnUtY29sbGFwc2VkOm5vdCgubGF5b3V0LW1lbnUtaG92ZXIpIC5sYXlvdXQtbWVudSxcbiAgLm1lbnUtY29sbGFwc2VkOm5vdCg6aG92ZXIpIC5hcHAtYnJhbmQge1xuICAgIC5hcHAtYnJhbmQtbG9nbyB+IC5hcHAtYnJhbmQtdGV4dHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIC5hcHAtYnJhbmQtaW1ne1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmFwcC1icmFuZC1pbWctY29sbGFwc2Vke1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvKiBDdXN0b20gT3B0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4vKiBDdXN0b20gb3B0aW9uICovXG4uY3VzdG9tLW9wdGlvbiB7XG4gIC0tI3skcHJlZml4fWN1c3RvbS1vcHRpb24tYm9yZGVyLWNvbG9yOiAjeyRjdXN0b20tb3B0aW9uLWJvcmRlci1jb2xvcn07XG4gIGJvcmRlcjogJGN1c3RvbS1vcHRpb24tYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jdXN0b20tb3B0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgJjpob3Zlcjpub3QoLmNoZWNrZWQpIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tb3B0aW9uLWJvcmRlci1ob3Zlci1jb2xvcjtcbiAgfVxuICAmOm5vdCguY3VzdG9tLW9wdGlvbi1pbWFnZSkge1xuICAgIG1hcmdpbjogc3VidHJhY3QoJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCwgJGN1c3RvbS1vcHRpb24tYm9yZGVyLXdpZHRoKTtcbiAgfVxuXG4gICYuY2hlY2tlZCB7XG4gICAgLS0jeyRwcmVmaXh9Y3VzdG9tLW9wdGlvbi1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgbWFyZ2luOiAwO1xuICAgIC5jdXN0b20tb3B0aW9uLWhlYWRlciAuaWNvbi1iYXNlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJi5jdXN0b20tb3B0aW9uLWltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1vcHRpb24taW1hZ2UtYm9yZGVyLXdpZHRoO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgLmN1c3RvbS1vcHRpb24tYm9keSB7XG4gICAgICBpbWcge1xuICAgICAgICBibG9jay1zaXplOiAxMDAlO1xuICAgICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyByYWRpb1xuICAgICYuY3VzdG9tLW9wdGlvbi1pbWFnZS1yYWRpbyB7XG4gICAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gY2hlY2tib3hcbiAgICAmLmN1c3RvbS1vcHRpb24taW1hZ2UtY2hlY2sge1xuICAgICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAxcmVtO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLW9wdGlvbi1jb250ZW50IHtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgfVxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xLjEyO1xuICB9XG5cbiAgLy8gQ3VzdG9tIG9wdGlvbiBiYXNpY1xuICAmLmN1c3RvbS1vcHRpb24tYmFzaWMge1xuICAgIC5jdXN0b20tb3B0aW9uLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogJGN1c3RvbS1vcHRpb24tcGFkZGluZztcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkY3VzdG9tLW9wdGlvbi1wYWRkaW5nICsgJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCArIC42NWVtO1xuICAgIH1cblxuICAgIC5jdXN0b20tb3B0aW9uLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmctYmxvY2stZW5kOiAuNDM3NXJlbTtcbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1vcHRpb24tYm9keSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgfVxuXG4gIC8vIEN1c3RvbSBvcHRpb24gd2l0aCBpY29uXG4gICYuY3VzdG9tLW9wdGlvbi1pY29uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICYuY2hlY2tlZCB7XG4gICAgICAuaWNvbi1iYXNlLFxuICAgICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICAuaWNvbi1iYXNlLFxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgIH1cbiAgICAuY3VzdG9tLW9wdGlvbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6ICRjdXN0b20tb3B0aW9uLXBhZGRpbmc7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1vcHRpb24tYm9keSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IC41cmVtO1xuICAgICAgLmljb24tYmFzZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tYmFzZSgxLjc1cmVtKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IC41cmVtO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBibG9jay1zaXplOiAxLjc1cmVtO1xuICAgICAgICBpbmxpbmUtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5jdXN0b20tb3B0aW9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIG9wdGlvbiBsYWJlbFxuICAmLmN1c3RvbS1vcHRpb24tbGFiZWwuY2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1yZ2IpLCAuMTIpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgLmN1c3RvbS1vcHRpb24taGVhZGVyIHNwYW4sXG4gICAgLmN1c3RvbS1vcHRpb24tdGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN3aXRjaGVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5zd2l0Y2gge1xuICAtLSN7JHByZWZpeH1zd2l0Y2gtYmc6ICN7JHN3aXRjaC1vZmYtYmd9O1xuICAtLSN7JHByZWZpeH1zd2l0Y2gtY29sb3I6ICN7JHN3aXRjaC1vZmYtY29sb3J9O1xuICAtLSN7JHByZWZpeH1zd2l0Y2gtYm9yZGVyLWNvbG9yOiAjeyRzd2l0Y2gtb2ZmLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fXN3aXRjaC1ib3gtc2hhZG93OiAjeyRmb3JtLXN3aXRjaC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9c3dpdGNoLWhvbGRlci1iZzogI3skc3dpdGNoLWhvbGRlci1iZ307XG4gIC0tI3skcHJlZml4fXN3aXRjaC1ob2xkZXItc2hhZG93OiAjeyRzd2l0Y2gtaG9sZGVyLXNoYWRvd307XG4gIC0tI3skcHJlZml4fXN3aXRjaC1ib3gtc2hhZG93LWNvbG9yOiAjeyRzd2l0Y2gtYm94LXNoYWRvdy1jb2xvcn07XG5cbiAgLyogQ2hlY2tlZCBzdGF0ZSAqL1xuICAuc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXRvZ2dsZS1zbGlkZXIge1xuICAgIC0tI3skcHJlZml4fXN3aXRjaC1iZzogdmFyKC0tI3skcHJlZml4fXByaW1hcnkpO1xuICAgIC0tI3skcHJlZml4fXN3aXRjaC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByaW1hcnktY29udHJhc3QpO1xuICAgIC0tI3skcHJlZml4fXN3aXRjaC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KTtcbiAgICAtLSN7JHByZWZpeH1zd2l0Y2gtYm94LXNoYWRvdzogMCAuMTI1cmVtIC4zNzVyZW0gMCByZ2JhKHZhcigtLSN7JHByZWZpeH1zd2l0Y2gtYm94LXNoYWRvdy1jb2xvciksIC4zKTtcbiAgfVxuXG4gICZbY2xhc3MqPVwic3dpdGNoLW91dGxpbmUtXCJdLFxuICAmLnN3aXRjaC1vdXRsaW5lIHtcbiAgICAtLSN7JHByZWZpeH1zd2l0Y2gtYmc6IHRyYW5zcGFyZW50O1xuICAgIC0tI3skcHJlZml4fXN3aXRjaC1ib3gtc2hhZG93OiBub25lO1xuICAgIC0tI3skcHJlZml4fXN3aXRjaC1ob2xkZXItYmc6ICN7JHN3aXRjaC1vZmYtYmd9O1xuICAgIC0tI3skcHJlZml4fXN3aXRjaC1ob2xkZXItc2hhZG93OiBub25lO1xuXG4gICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgIC5zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlciB7XG4gICAgICAtLSN7JHByZWZpeH1zd2l0Y2gtYmc6IHRyYW5zcGFyZW50O1xuICAgICAgLS0jeyRwcmVmaXh9c3dpdGNoLWJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG4gICYuc3dpdGNoLW91dGxpbmUge1xuICAgIC8vIENoZWNrZWQgc3RhdGVcbiAgICAuc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXRvZ2dsZS1zbGlkZXIge1xuICAgICAgLS0jeyRwcmVmaXh9c3dpdGNoLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgICAtLSN7JHByZWZpeH1zd2l0Y2gtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgICAtLSN7JHByZWZpeH1zd2l0Y2gtaG9sZGVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeSk7XG4gICAgfVxuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRzd2l0Y2gtYm9yZGVyLXJhZGl1cyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLWlubGluZS1lbmQ6ICRzd2l0Y2gtc3BhY2VyLXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJjpoYXMoLnN3aXRjaC1pbnB1dDpkaXNhYmxlZCkge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICBAaW5jbHVkZSB0ZW1wbGF0ZS1zd2l0Y2gtc2l6ZS1iYXNlKFxuICAgIFwiXCIsXG4gICAgJHN3aXRjaC13aWR0aCxcbiAgICAkc3dpdGNoLWhlaWdodCxcbiAgICAkc3dpdGNoLWZvbnQtc2l6ZSxcbiAgICAkc3dpdGNoLWxhYmVsLWZvbnQtc2l6ZSxcbiAgICAkc3dpdGNoLWxhYmVsLWxpbmUtaGVpZ2h0LFxuICAgICRzd2l0Y2gtaW5uZXItc3BhY2VyXG4gICk7XG5cbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgJi5pcy1pbnZhbGlkIH4gLnN3aXRjaC1sYWJlbCxcbiAgICAud2FzLXZhbGlkYXRlZCAmOmludmFsaWQgfiAuc3dpdGNoLWxhYmVsIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICAgICYuaXMtdmFsaWQgfiAuc3dpdGNoLWxhYmVsLFxuICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQgfiAuc3dpdGNoLWxhYmVsIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgICAmLmlzLWludmFsaWQgfiAuc3dpdGNoLXRvZ2dsZS1zbGlkZXIsXG4gICAgLndhcy12YWxpZGF0ZWQgJjppbnZhbGlkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyIHtcbiAgICAgIC0tI3skcHJlZml4fXN3aXRjaC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgJi5pcy12YWxpZCB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlcixcbiAgICAud2FzLXZhbGlkYXRlZCAmOnZhbGlkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyIHtcbiAgICAgIC0tI3skcHJlZml4fXN3aXRjaC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICAgICYuaXMtaW52YWxpZDpjaGVja2VkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyLFxuICAgIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZDpjaGVja2VkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyIHtcbiAgICAgIC0tI3skcHJlZml4fXN3aXRjaC1iZzogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcik7XG4gICAgICAtLSN7JHByZWZpeH1zd2l0Y2gtYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJi5pcy12YWxpZDpjaGVja2VkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyLFxuICAgIC53YXMtdmFsaWRhdGVkICY6dmFsaWQ6Y2hlY2tlZCB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlciB7XG4gICAgICAtLSN7JHByZWZpeH1zd2l0Y2gtYmc6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yKTtcbiAgICAgIC0tI3skcHJlZml4fXN3aXRjaC1ib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiBJbnB1dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDtcblxuICAud2FzLXZhbGlkYXRlZCAmOmludmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4gIC53YXMtdmFsaWRhdGVkICY6aW52YWxpZCB+IC52YWxpZC10b29sdGlwLFxuICAmLmlzLWludmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4gICYuaXMtaW52YWxpZCB+IC52YWxpZC10b29sdGlwLFxuICAud2FzLXZhbGlkYXRlZCAmOnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuICAud2FzLXZhbGlkYXRlZCAmOnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsXG4gICYuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4gICYuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLyogVG9nZ2xlIHNsaWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uc3dpdGNoLXRvZ2dsZS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1zd2l0Y2gtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkc3dpdGNoLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c3dpdGNoLWJnKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXN3aXRjaC1ib3gtc2hhZG93KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zd2l0Y2gtY29sb3IpO1xuICBmb250LXNpemU6ICRzd2l0Y2gtZm9udC1zaXplO1xuICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaW5zZXQtaW5saW5lLXN0YXJ0LCBpbnNldC1pbmxpbmUtZW5kLCBiYWNrZ3JvdW5kLCBib3gtc2hhZG93O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXN3aXRjaC1ob2xkZXItYmcpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1zd2l0Y2gtaG9sZGVyLXNoYWRvdyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICAgIGluc2V0LWlubGluZTogOCUgYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGluc2V0LWlubGluZS1zdGFydCwgaW5zZXQtaW5saW5lLWVuZCwgYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vKiBMYWJlbCBzd2l0Y2hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnN3aXRjaC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogJHN3aXRjaC1sYWJlbC1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAkc3dpdGNoLWd1dHRlcjtcbiAgfVxufVxuXG4vKiBDaGVja2VkIC8gVW5jaGVja2VkIHN0YXRlcyAqL1xuLnN3aXRjaC1vZmYsXG4uc3dpdGNoLW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBibG9jay1zaXplOiAxMDAlO1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBpbnNldC1pbmxpbmUtc3RhcnQsIGluc2V0LWlubGluZS1lbmQ7XG59XG5cbi5zd2l0Y2gtb24ge1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xMDAlO1xuXG4gIC5zd2l0Y2gtaW5wdXQ6bm90KDpjaGVja2VkKSB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlciAmIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLnN3aXRjaC1vZmYge1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG59XG5cbi8qIENoZWNrZWQgc3RhdGUgKi9cbi5zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlciB7XG4gICY6OmFmdGVyIHtcbiAgICBpbnNldC1pbmxpbmU6IDk1JSBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAtNTAlKTtcbiAgICA6ZGlyKHJ0bCkgJiB7XG4gICAgICBpbnNldC1pbmxpbmU6IDk0JSBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTUwJSk7XG4gICAgfVxuICB9XG4gIC5zd2l0Y2gtb24ge1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gIC5zd2l0Y2gtb2ZmIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMDAlO1xuICB9XG59XG5cbi8qIFN0YWNrZWQgc3dpdGNoZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnN3aXRjaGVzLXN0YWNrZWQge1xuICBAaW5jbHVkZSBjbGVhcmZpeCAoKTtcblxuICAuc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiAkc3dpdGNoLXNwYWNlci15O1xuICAgIH1cbiAgfVxufVxuXG4vKiBTcXVhcmVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnN3aXRjaC1zcXVhcmUsXG4uc3dpdGNoLXNxdWFyZSAuc3dpdGNoLXRvZ2dsZS1zbGlkZXIge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRzd2l0Y2gtc3F1YXJlLWJvcmRlci1yYWRpdXMpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cbi5zd2l0Y2gtc3F1YXJlIC5zd2l0Y2gtdG9nZ2xlLXNsaWRlcjo6YWZ0ZXIge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKGNhbGMoI3skc3dpdGNoLXNxdWFyZS1ib3JkZXItcmFkaXVzfSAtIDJweCkpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cbi8qIERpc2FibGVkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi5zd2l0Y2gtaW5wdXQ6ZGlzYWJsZWQge1xuICB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlciB7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG5cbiAgfiAuc3dpdGNoLWxhYmVsIHtcbiAgICBjb2xvcjogJHN3aXRjaC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuXG4vKiBTd2l0Y2ggU2l6ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuQGluY2x1ZGUgdGVtcGxhdGUtc3dpdGNoLXNpemUoXG4gIFwic21cIixcbiAgJHN3aXRjaC13aWR0aC1zbSxcbiAgJHN3aXRjaC1oZWlnaHQtc20sXG4gICRzd2l0Y2gtZm9udC1zaXplLFxuICAkc3dpdGNoLWxhYmVsLWZvbnQtc2l6ZS1zbSxcbiAgJHN3aXRjaC1sYWJlbC1saW5lLWhlaWdodC1zbSxcbiAgJHN3aXRjaC1pbm5lci1zcGFjZXItc21cbik7XG5AaW5jbHVkZSB0ZW1wbGF0ZS1zd2l0Y2gtc2l6ZShcbiAgXCJsZ1wiLFxuICAkc3dpdGNoLXdpZHRoLWxnLFxuICAkc3dpdGNoLWhlaWdodC1sZyxcbiAgJHN3aXRjaC1mb250LXNpemUsXG4gICRzd2l0Y2gtbGFiZWwtZm9udC1zaXplLWxnLFxuICAkc3dpdGNoLWxhYmVsLWxpbmUtaGVpZ2h0LWxnXG4pO1xuXG4vKiBWYWxpZGF0aW9uIHN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uc3dpdGNoIC52YWxpZC1mZWVkYmFjayxcbi5zd2l0Y2ggLmludmFsaWQtZmVlZGJhY2sge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogJHN3aXRjaC1ndXR0ZXI7XG59XG5cbi8qIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQgKi9cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5zd2l0Y2gtI3skc3RhdGV9IHtcbiAgICAuc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXRvZ2dsZS1zbGlkZXIge1xuICAgICAgLS0jeyRwcmVmaXh9c3dpdGNoLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fXN3aXRjaC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgICAgLS0jeyRwcmVmaXh9c3dpdGNoLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgIC0tI3skcHJlZml4fXN3aXRjaC1ib3gtc2hhZG93LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXJnYik7XG4gICAgfVxuICB9XG4gIC5zd2l0Y2gtb3V0bGluZS0jeyRzdGF0ZX0ge1xuICAgIC5zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlciB7XG4gICAgICAtLSN7JHByZWZpeH1zd2l0Y2gtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0pO1xuICAgICAgLS0jeyRwcmVmaXh9c3dpdGNoLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gICAgICAtLSN7JHByZWZpeH1zd2l0Y2gtaG9sZGVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN3aXRjaGVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiB0ZW1wbGF0ZS1zd2l0Y2gtc2l6ZS1iYXNlKFxuICAkc2l6ZSxcbiAgJHdpZHRoLFxuICAkaGVpZ2h0LFxuICAkZm9udC1zaXplLFxuICAkZm9ybS1sYWJlbC1mb250LXNpemUsXG4gICRsYWJlbC1saW5lLWhlaWdodCxcbiAgJGlubmVyLXNwYWNlclxuKSB7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGFiZWwtbGluZS1oZWlnaHQ7XG4gIG1pbi1ibG9jay1zaXplOiAkaGVpZ2h0O1xuXG4gICRkZWx0YTogMDtcbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZm9ybS1sYWJlbC1mb250LXNpemUgKiAkbGFiZWwtbGluZS1oZWlnaHQ7XG4gIC5zd2l0Y2gtaW5wdXQgfiAuc3dpdGNoLWxhYmVsIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJHdpZHRoICsgJHN3aXRjaC1ndXR0ZXI7XG4gIH1cblxuICAuc3dpdGNoLXRvZ2dsZS1zbGlkZXIge1xuICAgIGJsb2NrLXNpemU6ICRoZWlnaHQgLSAoJGRlbHRhICogMik7XG4gICAgaW5saW5lLXNpemU6ICR3aWR0aDtcbiAgICBsaW5lLWhlaWdodDogJGhlaWdodDtcblxuICAgIC5pY29uLWJhc2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgaWNvbi1iYXNlKCRmb3JtLWxhYmVsLWZvbnQtc2l6ZSk7XG5cbiAgICAgIEBpZiAkc2l6ZSA9PSBcImxnXCIge1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogLTJweDtcbiAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gXCJzbVwiIHtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IC0ycHg7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IC0xLjlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3dpdGNoLWxhYmVsIHtcbiAgICBAaWYgKCRsaW5lLWhlaWdodC1jb21wdXRlZCA8ICRoZWlnaHQpIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAoJGhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgKiAuNTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2gtdG9nZ2xlLXNsaWRlcjo6YWZ0ZXIge1xuICAgIGJsb2NrLXNpemU6IGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgLSAkaW5uZXItc3BhY2VyICogMikpO1xuICAgIGlubGluZS1zaXplOiBjZWlsKHJlbS10by1weCgkaGVpZ2h0IC0gJGlubmVyLXNwYWNlciAqIDIpKTtcbiAgfVxuXG4gIC5zd2l0Y2gtb24ge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKCRpbm5lci1zcGFjZXIgLyAyKSAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgfVxuXG4gIC5zd2l0Y2gtb2ZmIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gIH1cbn1cblxuLy8gU3dpdGNoIHNpemVcbkBtaXhpbiB0ZW1wbGF0ZS1zd2l0Y2gtc2l6ZShcbiAgJHNpemUsXG4gICR3aWR0aCxcbiAgJGhlaWdodCxcbiAgJGZvbnQtc2l6ZSxcbiAgJGZvcm0tbGFiZWwtZm9udC1zaXplLFxuICAkbGFiZWwtbGluZS1oZWlnaHQsXG4gICRpbm5lci1zcGFjZXI6ICRzd2l0Y2gtaW5uZXItc3BhY2VyXG4pIHtcbiAgLnN3aXRjaC0jeyRzaXplfSB7XG4gICAgQGluY2x1ZGUgdGVtcGxhdGUtc3dpdGNoLXNpemUtYmFzZShcbiAgICAgICRzaXplLFxuICAgICAgJHdpZHRoLFxuICAgICAgJGhlaWdodCxcbiAgICAgICRmb250LXNpemUsXG4gICAgICAkZm9ybS1sYWJlbC1mb250LXNpemUsXG4gICAgICAkbGFiZWwtbGluZS1oZWlnaHQsXG4gICAgICAkaW5uZXItc3BhY2VyXG4gICAgKTtcbiAgfVxufVxuIiwiLyogQXZhdGFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbi8qIEF2YXRhciBTdHlsZXMgKi9cbi5hdmF0YXIge1xuICAtLSN7JHByZWZpeH1hdmF0YXItc2l6ZTogI3skYXZhdGFyLXNpemV9O1xuICAtLSN7JHByZWZpeH1hdmF0YXItZ3JvdXAtYm9yZGVyOiAjeyRhdmF0YXItZ3JvdXAtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YXZhdGFyLWluaXRpYWwtaW5saW5lOiAzcHg7XG4gIC0tI3skcHJlZml4fWF2YXRhci1pbml0aWFsLWJnOiAjeyRhdmF0YXItaW5pdGlhbC1iZ307XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tI3skcHJlZml4fWF2YXRhci1zaXplKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tI3skcHJlZml4fWF2YXRhci1zaXplKTtcblxuICAuYXZhdGFyLWluaXRpYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWF2YXRhci1pbml0aWFsLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXdoaXRlKTtcbiAgICBmb250LXNpemU6IHZhcigtLSN7JHByZWZpeH1hdmF0YXItaW5pdGlhbCk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgaW5zZXQ6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICYuYXZhdGFyLW9ubGluZSxcbiAgJi5hdmF0YXItb2ZmbGluZSxcbiAgJi5hdmF0YXItYXdheSxcbiAgJi5hdmF0YXItYnVzeSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgIGJsb2NrLXNpemU6IGNhbGModmFyKC0tI3skcHJlZml4fWF2YXRhci1zaXplKSAqIC4yKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS0jeyRwcmVmaXh9d2hpdGUpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGlubGluZS1zaXplOiBjYWxjKHZhcigtLSN7JHByZWZpeH1hdmF0YXItc2l6ZSkgKiAuMik7XG4gICAgICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS0jeyRwcmVmaXh9YXZhdGFyLWluaXRpYWwtaW5saW5lKTtcbiAgICB9XG4gIH1cbiAgaW1nIHtcbiAgICBibG9jay1zaXplOiAxMDAlO1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICB9XG5cbiAgJi5hdmF0YXItb25saW5lOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MpO1xuICB9XG5cbiAgJi5hdmF0YXItb2ZmbGluZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJi5hdmF0YXItYXdheTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH13YXJuaW5nKTtcbiAgfVxuXG4gICYuYXZhdGFyLWJ1c3k6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKTtcbiAgfVxufVxuXG4vKiBQdWxsIHVwIGF2YXRhciBzdHlsZSAqL1xuLnB1bGwtdXAge1xuICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDMwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHNjYWxlKDEuMDIpO1xuICB9XG59XG5cblxuQGVhY2ggJHNpemUsICR2YWx1ZXMgaW4gJGF2YXRhci1zaXplcyB7XG4gIC5hdmF0YXItI3skc2l6ZX0ge1xuICAgIC0tI3skcHJlZml4fWF2YXRhci1zaXplOiAje250aCgkdmFsdWVzLCAxKX07XG4gICAgLS0jeyRwcmVmaXh9YXZhdGFyLWluaXRpYWw6ICN7bnRoKCR2YWx1ZXMsIDIpfTtcbiAgICAtLSN7JHByZWZpeH1hdmF0YXItaW5pdGlhbC1pbmxpbmU6ICN7bnRoKCR2YWx1ZXMsIDMpfTtcbiAgfVxufVxuXG4vKiBBdmF0YXIgR3JvdXAgU0NTUyAqL1xuLmF2YXRhci1ncm91cCB7XG4gIC5hdmF0YXIge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0uOHJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgIGltZyxcbiAgICAuYXZhdGFyLWluaXRpYWwge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tI3skcHJlZml4fWF2YXRhci1ncm91cC1ib3JkZXIpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgZWFzZTtcbiAgICB9XG4gIH1cblxuICAvLyBBdmF0YXIgR3JvdXAgU2l6aW5nc1xuICAuYXZhdGFyLXhzIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtLjY1cmVtO1xuICB9XG5cbiAgLmF2YXRhci1zbSB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLS43NXJlbTtcbiAgfVxuXG4gIC5hdmF0YXItbWQge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0uOXJlbTtcbiAgfVxuXG4gIC5hdmF0YXItbGcge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xLjVyZW07XG4gIH1cblxuICAuYXZhdGFyLXhsIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMS43NXJlbTtcbiAgfVxufVxuXG4vKiBBdmF0YXIgZGFyayBjc3MgKi9cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC8qIEF2YXRhciBTdGF0dXMgaW5kaWNhdGlvbiAqL1xuICAgIC5hdmF0YXIge1xuICAgICAgLS0jeyRwcmVmaXh9YXZhdGFyLWluaXRpYWwtYmc6ICMzNzNiNTA7XG4gICAgICAmLmF2YXRhci1vbmxpbmUsXG4gICAgICAmLmF2YXRhci1vZmZsaW5lLFxuICAgICAgJi5hdmF0YXItYXdheSxcbiAgICAgICYuYXZhdGFyLWJ1c3kge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogVGltZWxpbmVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLnRpbWVsaW5lIHtcbiAgLS0jeyRwcmVmaXh9dGltZWxpbmUtcG9pbnQtaW5kaWNhdG9yLWNvbG9yOiAjeyR0aW1lbGluZS1wb2ludC1pbmRpY2F0b3ItY29sb3J9O1xuICAtLSN7JHByZWZpeH10aW1lbGluZS1wb2ludC1pbmRpY2F0b3ItYmc6ICN7JHRpbWVsaW5lLXBvaW50LWluZGljYXRvci1iZ307XG4gIC0tI3skcHJlZml4fXRpbWVsaW5lLWV2ZW50LXRpbWUtY29sb3I6ICN7JHRpbWVsaW5lLWV2ZW50LXRpbWUtY29sb3J9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG4gIGlubGluZS1zaXplOiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICY6bm90KC50aW1lbGluZS1jZW50ZXIpIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogLjVyZW07XG4gIH1cbiAgLnRpbWVsaW5lLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAuNXJlbTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIFRpbWVsaW5lIEl0ZW1cbiAgLnRpbWVsaW5lLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxLjRyZW07XG5cbiAgICAudGltZWxpbmUtZXZlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGltZWxpbmUtaXRlbS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZyk7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIG1pbi1ibG9jay1zaXplOiAkdGltZWxpbmUtaXRlbS1taW4taGVpZ2h0O1xuICAgICAgcGFkZGluZy1ibG9jazogJHRpbWVsaW5lLWl0ZW0tcGFkZGluZy15ICR0aW1lbGluZS1pdGVtLXBhZGRpbmcteSAtIC4xNjI1O1xuICAgICAgcGFkZGluZy1pbmxpbmU6ICR0aW1lbGluZS1pdGVtLXBhZGRpbmcteDtcblxuICAgICAgLnRpbWVsaW5lLWV2ZW50LXRpbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGltZWxpbmUtZXZlbnQtdGltZS1jb2xvcik7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRpbWVsaW5lLWV2ZW50LXRpbWUtc2l6ZTtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDEuMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaW1lbGluZSBQb2ludCBJbmRpY2F0b3JcblxuICAgIC50aW1lbGluZS1pbmRpY2F0b3IsXG4gICAgLnRpbWVsaW5lLWluZGljYXRvci1hZHZhbmNlZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10aW1lbGluZS1wb2ludC1pbmRpY2F0b3ItYmcpO1xuICAgICAgYmxvY2stc2l6ZTogJHRpbWVsaW5lLWluZGljYXRvci1zaXplO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZyk7XG4gICAgICBpbmxpbmUtc2l6ZTogJHRpbWVsaW5lLWluZGljYXRvci1zaXplO1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xcmVtO1xuXG4gICAgICAvLyBJY29uc1xuICAgICAgLmljb24tYmFzZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGltZWxpbmUtcG9pbnQtaW5kaWNhdG9yLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaW1lbGluZSBJbmRpY2F0b3JcbiAgICAmIFtjbGFzcyo9XCJ0aW1lbGluZS1pbmRpY2F0b3ItXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRpbWVsaW5lLXBvaW50LWluZGljYXRvci1jb2xvcik7XG4gICAgfVxuXG4gICAgLy8gRm9yIGFkdmFuY2VkIFRpbWVsaW5lIEluZGljYXRvciBCYWNrZ3JvdW5kXG4gICAgLnRpbWVsaW5lLWluZGljYXRvci1hZHZhbmNlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFwZXItYmcpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZyk7XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLXBvaW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10aW1lbGluZS1wb2ludC1pbmRpY2F0b3ItY29sb3IpO1xuICAgICAgYmxvY2stc2l6ZTogJHRpbWVsaW5lLXBvaW50LXNpemU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZyk7XG4gICAgICBpbmxpbmUtc2l6ZTogJHRpbWVsaW5lLXBvaW50LXNpemU7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogLS4zOHJlbTtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dGltZWxpbmUtcG9pbnQtaW5kaWNhdG9yLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICB9XG5cbiAgICAvLyBUcmFuc3BhcmVudCBUaW1lbGluZSBJdGVtXG4gICAgJi50aW1lbGluZS1pdGVtLXRyYW5zcGFyZW50IHtcbiAgICAgIC50aW1lbGluZS1ldmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBpbnNldC1ibG9jay1zdGFydDogLS45cmVtO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaW1lbGluZSBvdXRsaW5lXG4gICYudGltZWxpbmUtb3V0bGluZSB7XG4gICAgLnRpbWVsaW5lLWl0ZW0ge1xuICAgICAgLnRpbWVsaW5lLXBvaW50IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tI3skcHJlZml4fXRpbWVsaW5lLXBvaW50LWluZGljYXRvci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYXBlci1iZyk7XG4gICAgICAgIG91dGxpbmU6IHVuc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRpbWVsaW5lIENlbnRlclxuICAmLnRpbWVsaW5lLWNlbnRlciB7XG4gICAgLnRpbWVsaW5lLWl0ZW0ge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBpbmxpbmUtc2l6ZTogNTAlO1xuXG4gICAgICAmLnRpbWVsaW5lLWl0ZW0tbGVmdCxcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKTpub3QoLnRpbWVsaW5lLWl0ZW0tbGVmdCwgLnRpbWVsaW5lLWl0ZW0tcmlnaHQpIHtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCAkdGltZWxpbmUtYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBmbG9hdDogaW5saW5lLXN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMCAyLjI1cmVtO1xuXG4gICAgICAgIC50aW1lbGluZS1ldmVudCB7XG4gICAgICAgICAgLnRpbWVsaW5lLWV2ZW50LXRpbWUge1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTEwLjJyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpbWVsaW5lLXBvaW50IHtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLS4zcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudGltZWxpbmUtaXRlbS1yaWdodCxcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6bm90KC50aW1lbGluZS1pdGVtLWxlZnQsIC50aW1lbGluZS1pdGVtLXJpZ2h0KSB7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCAkdGltZWxpbmUtYm9yZGVyLWNvbG9yO1xuICAgICAgICBmbG9hdDogaW5saW5lLWVuZDtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMnB4O1xuICAgICAgICBwYWRkaW5nLWJsb2NrLWVuZDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMi4yNXJlbTtcblxuICAgICAgICAudGltZWxpbmUtZXZlbnQtdGltZSB7XG4gICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMTAuMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC50aW1lbGluZS50aW1lbGluZS1jZW50ZXIgLnRpbWVsaW5lLWl0ZW0ge1xuICAgICYudGltZWxpbmUtaXRlbS1sZWZ0LFxuICAgICY6bnRoLW9mLXR5cGUob2RkKTpub3QoLnRpbWVsaW5lLWl0ZW0tbGVmdCwgLnRpbWVsaW5lLWl0ZW0tcmlnaHQpIHtcbiAgICAgIC50aW1lbGluZS1pbmRpY2F0b3Ige1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoMTAwJSAtIGNhbGMoI3skdGltZWxpbmUtaW5kaWNhdG9yLXNpemV9LyAyKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIFRvIENoYW5nZSBUaW1lbGluZSBDZW50ZXIncyBBbGlnbm1lbnQgb20gc21hbGwgU2NyZWVuICovXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAudGltZWxpbmUge1xuICAgICYudGltZWxpbmUtY2VudGVyIHtcbiAgICAgIC50aW1lbGluZS1lbmQtaW5kaWNhdG9yIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMnB4O1xuICAgICAgfVxuXG4gICAgICAudGltZWxpbmUtaXRlbSB7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtZW5kOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBpbmxpbmUtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDMuNXJlbSAxLjVyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCAkdGltZWxpbmUtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGltZWxpbmUtZXZlbnQge1xuICAgICAgICAgIC50aW1lbGluZS1ldmVudC10aW1lIHtcbiAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAtMS40cmVtO1xuICAgICAgICAgICAgaW5zZXQtaW5saW5lOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gIC50aW1lbGluZSB7XG4gICAgLnRpbWVsaW5lLWhlYWRlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC50aW1lbGluZSB7XG4gICAgLnRpbWVsaW5lLXBvaW50LSN7JHN0YXRlfSwgLnRpbWVsaW5lLWluZGljYXRvci0jeyRzdGF0ZX0ge1xuICAgICAgLS0jeyRwcmVmaXh9dGltZWxpbmUtcG9pbnQtaW5kaWNhdG9yLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KTtcbiAgICAgIC0tI3skcHJlZml4fXRpbWVsaW5lLXBvaW50LWluZGljYXRvci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIH1cbiAgfVxufVxuIiwiLyogRGl2aWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uZGl2aWRlciB7XG4gIC0tI3skcHJlZml4fWRpdmlkZXItY29sb3I6ICN7JGRpdmlkZXItY29sb3J9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJsb2NrOiAkZGl2aWRlci1tYXJnaW4teTtcbiAgbWFyZ2luLWlubGluZTogJGRpdmlkZXItbWFyZ2luLXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAuZGl2aWRlci10ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGRpdmlkZXItZm9udC1zaXplO1xuICAgIHBhZGRpbmctYmxvY2s6ICRkaXZpZGVyLXRleHQtcGFkZGluZy15O1xuICAgIHBhZGRpbmctaW5saW5lOiAkZGl2aWRlci10ZXh0LXBhZGRpbmcteDtcblxuICAgIC5pY29uLWJhc2Uge1xuICAgICAgQGluY2x1ZGUgaWNvbi1iYXNlKCRkaXZpZGVyLWljb24tc2l6ZSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1ibG9jay1zdGFydDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwdnc7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAxMDAlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLnRleHQtc3RhcnQge1xuICAgIC5kaXZpZGVyLXRleHQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi50ZXh0LWVuZCB7XG4gICAgLmRpdmlkZXItdGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi50ZXh0LXN0YXJ0LWNlbnRlciB7XG4gICAgLmRpdmlkZXItdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0yNSU7XG4gICAgfVxuICB9XG5cbiAgJi50ZXh0LWVuZC1jZW50ZXIge1xuICAgIC5kaXZpZGVyLXRleHQge1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogLTI1JTtcbiAgICB9XG4gIH1cblxuICAvLyBEb3R0ZWQgRGl2aWRlclxuICAmLmRpdmlkZXItZG90dGVkIC5kaXZpZGVyLXRleHQ6OmJlZm9yZSxcbiAgJi5kaXZpZGVyLWRvdHRlZCAuZGl2aWRlci10ZXh0OjphZnRlcixcbiAgJi5kaXZpZGVyLWRvdHRlZDo6YmVmb3JlLFxuICAmLmRpdmlkZXItZG90dGVkOjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZGl2aWRlci1jb2xvcik7XG4gIH1cblxuICAvLyBEYXNoZWQgRGl2aWRlclxuICAmLmRpdmlkZXItZGFzaGVkIC5kaXZpZGVyLXRleHQ6OmJlZm9yZSxcbiAgJi5kaXZpZGVyLWRhc2hlZCAuZGl2aWRlci10ZXh0OjphZnRlcixcbiAgJi5kaXZpZGVyLWRhc2hlZDo6YmVmb3JlLFxuICAmLmRpdmlkZXItZGFzaGVkOjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZGl2aWRlci1jb2xvcik7XG4gIH1cblxuICAvLyBGb3IgVmVydGljYWwgRGl2aWRlclxuICAmLmRpdmlkZXItdmVydGljYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiB1bnNldDtcbiAgICBibG9jay1zaXplOiAxMDAlO1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgdmFyKC0tI3skcHJlZml4fWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldC1ibG9jazogMCA1MCU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgaW5zZXQtYmxvY2s6IDUwJSAwO1xuICAgIH1cblxuICAgIC8vIERhc2hlZCBWZXJ0aWNhbCBEaXZpZGVyXG4gICAgJi5kaXZpZGVyLWRhc2hlZCB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG90dGVkIFZlcnRpY2FsIERpdmlkZXJcbiAgICAmLmRpdmlkZXItZG90dGVkIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IGRvdHRlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyguYmFkZ2UtZGl2aWRlci1iZykge1xuICAgICAgJjo6YWZ0ZXIsXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDQ5JTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gRm9yIFZlcnRpY2FsIERpdmlkZXIgdGV4dFxuICAgIC5kaXZpZGVyLXRleHQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBhZGRpbmc6IC41MTI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhcGVyLWJnKTtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdW5zZXQ7XG4gICAgICB9XG5cbiAgICAgIC8vIEZvciBjYXJkIHN0YXRpc3RpY3MgU2FsZXMgT3ZlcnZpZXcgZGl2aWRlclxuICAgICAgLmJhZGdlLWRpdmlkZXItYmcge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ncmF5LTUwKTtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpO1xuICAgICAgICBmb250LXNpemU6IGNhbGMoJGRpdmlkZXItZm9udC1zaXplIC0gLjE4NzVyZW0pO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKCRkaXZpZGVyLXRleHQtcGFkZGluZy14IC0gLjY4N3JlbSk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKCRkaXZpZGVyLXRleHQtcGFkZGluZy14IC0gLjc0OHJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5kaXZpZGVyLSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9ZGl2aWRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfSk7XG4gIH1cbn1cbiIsIi8qIEZvb3RlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uZm9vdGVyIHtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWNvbG9yOiAjeyRmb290ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb290ZXItYmc6ICN7JGZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fWZvb3Rlci1ib3JkZXItd2lkdGg6ICN7JGZvb3Rlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1mb290ZXItYm9yZGVyLWNvbG9yOiAjeyRmb290ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLXRleHQtY29sb3I6ICN7JGZvb3Rlci10ZXh0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstY29sb3I6ICN7JGZvb3Rlci1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstaG92ZXItY29sb3I6ICN7JGZvb3Rlci1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGZvb3Rlci1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRmb290ZXItbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb290ZXItYnJhbmQtY29sb3I6ICN7JGZvb3Rlci1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvb3Rlci1icmFuZC1ob3Zlci1jb2xvcjogI3skZm9vdGVyLWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWJveC1zaGFkb3c6ICN7JGZvb3Rlci1ib3gtc2hhZG93fTtcblxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWZvb3Rlci1jb2xvcik7XG5cbiAgLmZvb3Rlci1icmFuZHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWZvb3Rlci1icmFuZC1jb2xvcik7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAmLmNvbnRlbnQtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICBibG9jay1zaXplOiA1NHB4O1xuICB9XG5cbiAgLmZvb3Rlci10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWZvb3Rlci10ZXh0LWNvbG9yKTtcbiAgfVxuXG4gIC5mb290ZXItbGlua3tcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb290ZXItbGluay1jb2xvcik7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstaG92ZXItY29sb3IpO1xuICAgIH1cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cbiAgJi5iZy1mb290ZXItdGhlbWUge1xuICAgIC0tI3skcHJlZml4fWZvb3Rlci1icmFuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB9XG4gICYuYmctd2hpdGUge1xuICAgIC0tI3skcHJlZml4fWZvb3Rlci1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9Zm9vdGVyLXRleHQtY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH1mb290ZXItbGluay1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstaG92ZXItY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH1mb290ZXItbGluay1hY3RpdmUtY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH1mb290ZXItYnJhbmQtY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcbiAgfVxufVxuXG4vKiBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGZvb3RlciAqL1xuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmZvb3Rlci5iZy0jeyRzdGF0ZX0ge1xuICAgIEBpZiAkc3RhdGUgPT0gXCJsaWdodFwiIHtcbiAgICAgIC0tI3skcHJlZml4fWZvb3Rlci1icmFuZC1ob3Zlci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1iYXNlLWNvbG9yKSA3MCUsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykpO1xuICAgICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbiAgICAgIC0tI3skcHJlZml4fWZvb3Rlci1saW5rLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRpbmctY29sb3IpO1xuICAgICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gICAgICAtLSN7JHByZWZpeH1mb290ZXItbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICAgICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWJyYW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC0tI3skcHJlZml4fWZvb3Rlci1icmFuZC1ob3Zlci1jb2xvcjogY29sb3ItbWl4KGluIHNSR0IsIHZhcigtLSN7JHByZWZpeH1wYXBlci1iZykgI3skYmctbGFiZWwtdGludC1hbW91bnR9LCB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KSk7XG4gICAgICAtLSN7JHByZWZpeH1mb290ZXItbGluay1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgIC0tI3skcHJlZml4fWZvb3Rlci10ZXh0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWNvbnRyYXN0KTtcbiAgICAgIC0tI3skcHJlZml4fWZvb3Rlci1saW5rLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCkgI3skYmctbGFiZWwtdGludC1hbW91bnR9LCB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9KSk7XG4gICAgICAtLSN7JHByZWZpeH1mb290ZXItYnJhbmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tY29udHJhc3QpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIERhcmsgVGhlbWUgKi9cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgICAgIC5mb290ZXIuYmctI3skc3RhdGV9IHtcbiAgICAgICAgQGlmICRzdGF0ZSA9PSBcImRhcmtcIiB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Zm9vdGVyLWJyYW5kLWhvdmVyLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXB1cmUtYmxhY2spICN7JGJnLWxhYmVsLXRpbnQtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCkpO1xuICAgICAgICAgIC0tI3skcHJlZml4fWZvb3Rlci1saW5rLWhvdmVyLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tI3skcHJlZml4fXB1cmUtYmxhY2spICN7JGJnLWxhYmVsLXRpbnQtYW1vdW50fSwgdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1jb250cmFzdCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
